Реализовать последовательный поиск в динамическом массиве целых чисел - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

2)Реализовать последовательный поиск в динамическом массиве целых чисел.

Решение задачи: «Реализовать последовательный поиск в динамическом массиве целых чисел»

textual
Листинг программы
var a:^array[1..100] of integer;
    n,i,k,x:integer;
begin
new(a);
repeat
write('Введите размер массива от 1 до 100 n=');
readln(n);
until n in [1..100];
for i:=1 to n do
 begin
  a^[i]:=1+random(100);
  write(a^[i]:4);
 end;
writeln;
write('Введите число для поиска x=');
readln(x);
i:=1;
k:=0;
while(i<=n)and(k=0) do
if a^[i]=x then k:=1
else inc(i);
if k=1 then write('Число ',x,' в массиве есть')
else write('Числа ',x,' в массиве нет')
end.

Объяснение кода листинга программы

  1. Создается переменная a типа ^array[1..100] of integer;, которая представляет собой динамический массив целых чисел размером от 1 до 100.
  2. Затем объявляются четыре переменные: n, i, k и x. Переменная n используется для хранения введенного пользователем размера массива, а переменные i, k и x используются для выполнения поиска в массиве.
  3. Выполняется цикл repeat, который продолжается до тех пор, пока введенный пользователем размер массива n находится в диапазоне от 1 до 100. В каждой итерации цикла выводится запрос на ввод размера массива, и значение размера сохраняется в переменной n.
  4. После завершения цикла repeat начинается цикл for, который выполняется от 1 до n. В каждой итерации цикла вычисляется значение индекса элемента массива, который будет заполнен следующим числом. Затем вычисляется значение числа, которое будет добавлено в массив. Это число равно 1 + random(100), где функция random(100) генерирует случайное число от 0 до 99.
  5. После завершения цикла for выводится значение a^[i] (то есть значение элемента массива с индексом i), чтобы убедиться, что добавление чисел в массив происходит корректно.
  6. Затем выводится запрос на ввод числа для поиска (x). Значение этого числа сохраняется в переменной x.
  7. Инициализируются две переменные: i и k. Переменная i устанавливается равной 1, а переменная k устанавливается равной 0.
  8. Запускается цикл while, который выполняется, пока i меньше или равно n и k равно 0.
  9. Внутри цикла while выполняется проверка условия if a^[i] = x then k := 1, что означает, что если текущий элемент массива равен искомому числу, то переменная k устанавливается равной 1.
  10. Если условие истинно, то выводится сообщение Число x в массиве есть, что означает, что искомое число найдено в массиве.
  11. Если условие ложно, то выводится сообщение Числа x в массиве нет, что означает, что искомое число не найдено в массиве.
  12. После завершения цикла while значение переменной k выводится на экран. Если значение k равно 1, то сообщение о том, что искомое число найдено, будет выведено, иначе будет выведено сообщение о том, что искомое число не найдено.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы