Реализовать последовательный поиск в динамическом массиве целых чисел - 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.
Объяснение кода листинга программы
- Создается переменная
a
типа^array[1..100] of integer;
, которая представляет собой динамический массив целых чисел размером от 1 до 100. - Затем объявляются четыре переменные:
n
,i
,k
иx
. Переменнаяn
используется для хранения введенного пользователем размера массива, а переменныеi
,k
иx
используются для выполнения поиска в массиве. - Выполняется цикл
repeat
, который продолжается до тех пор, пока введенный пользователем размер массиваn
находится в диапазоне от 1 до 100. В каждой итерации цикла выводится запрос на ввод размера массива, и значение размера сохраняется в переменнойn
. - После завершения цикла
repeat
начинается циклfor
, который выполняется от 1 доn
. В каждой итерации цикла вычисляется значение индекса элемента массива, который будет заполнен следующим числом. Затем вычисляется значение числа, которое будет добавлено в массив. Это число равно1 + random(100)
, где функцияrandom(100)
генерирует случайное число от 0 до 99. - После завершения цикла
for
выводится значениеa^[i]
(то есть значение элемента массива с индексомi
), чтобы убедиться, что добавление чисел в массив происходит корректно. - Затем выводится запрос на ввод числа для поиска (
x
). Значение этого числа сохраняется в переменнойx
. - Инициализируются две переменные:
i
иk
. Переменнаяi
устанавливается равной 1, а переменнаяk
устанавливается равной 0. - Запускается цикл
while
, который выполняется, покаi
меньше или равноn
иk
равно 0. - Внутри цикла
while
выполняется проверка условияif a^[i] = x then k := 1
, что означает, что если текущий элемент массива равен искомому числу, то переменнаяk
устанавливается равной 1. - Если условие истинно, то выводится сообщение
Число x в массиве есть
, что означает, что искомое число найдено в массиве. - Если условие ложно, то выводится сообщение
Числа x в массиве нет
, что означает, что искомое число не найдено в массиве. - После завершения цикла
while
значение переменнойk
выводится на экран. Если значениеk
равно 1, то сообщение о том, что искомое число найдено, будет выведено, иначе будет выведено сообщение о том, что искомое число не найдено.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д