Номер §8 ПМ 4

ГДЗ по информатике 11 класс, Босова 2024, страница 107

§ ПМ Выполнение последовательного поиска

Запустите программу на выполнение в среде программирования Pascal.
В примере 3 программа вводит десять элементов целочисленного массива a[1..10] и число p, затем последовательно ищет первое вхождение p.

Решение

Откройте среду Pascal, создайте файл программы и введите текст примера со страниц –. В Free Pascal включите сокращённое вычисление логических выражений, чтобы после конца массива не вычислялось a[i]:

{$B-}
const n=;
var a: array[..n] of integer;
    i, p: integer;
begin
  writeln('Ввод значений элементов массива:');
  for i:= to n do read(a[i]);
  write('Ввод p: ');
  readln(p);
  i:=;
  while (i<=n) and (a[i]<>p) do i:=i+;
  if i=n+ then
    writeln('Искомого элемента в массиве нет')
  else
    writeln('Искомый элемент a[', i, '] = ', a[i])
end.

Сохраните файл, выполните компиляцию и запустите программу командой запуска среды. Пример входных данных: , , , , , , , , , ; затем p=. Первый цикл заполняет ячейки с индексами от до , а readln(p) получает искомое значение.

По правилу трассировки из §. записываем проверки поиска отдельно:

i a[i] a[i]<> Дальнейшее действие
да i=
да i=
да i=
да i=
да i=
нет Выход из цикла

При i= индекс допустим, но совпадение уже найдено. Проверка i=n+, то есть =, ложна, поэтому ожидается строка Искомый элемент a[] = .

Запустите программу повторно для тех же десяти элементов и p=. Ни один элемент не равен ; после просмотра a[] получим i=. Теперь выводится Искомого элемента в массиве нет. Два запуска проверяют обе ветви алгоритма.

Ответ

Пример: при p= выводится Искомый элемент a[] = ; при p= для того же массива — Искомого элемента в массиве нет.

Помогло?

Нет твоего задания?Сфоткай, и ДЗмэн решит за пару секунд.

Решить по фото