Нахождение элемента в масcиве - Pascal ABC
Формулировка задачи:
Условия:
1) Без процедур;
2) Массив с 10 чисел, которые пользователь вводит сам;
3) Элемент, который нужно найти, пользователь вводит сам, после ввода массива;
4) Вывести:
---если элемент есть, то его номер в массиве;
---если элемента нету, вернуться опять к вводу числа, которое нужно найти (не обязательно).
---если элемента нету, вывести, что его нету и завершить программу.
Решение задачи: «Нахождение элемента в масcиве»
textual
Листинг программы
const n=10;yn=['y','Y','н','Н']; type mas=array[1..n] of integer; var a:mas; i:byte; ai:integer; f:boolean; syn:char; begin writeln('введите исходный массив:'); for i:=1 to n do begin write('a[',i,'] = ');readln(a[i]) end; repeat write('введите элемент, который нужно найти: ');readln(ai); i:=1;f:=false; while (not f)and(i<=n) do begin if a[i]=ai then f:=true; inc(i) end; if f then writeln('номер этого элемента: ',i-1) else begin write('такого элемента нет, продолжить поиск? y/n: '); readln(syn) end; until f or (not (syn in yn)); end.
Объяснение кода листинга программы
- Создается константа n, которая определяет максимальное количество элементов в массиве.
- Создается переменная yn, которая содержит строковые значения символов
y
,Y
,н
,Н
. - Создается тип данных mas, который представляет собой массив целых чисел размером от 1 до n.
- Создается переменная a, которая инициализируется значением mas.
- Создается переменная i, которая представляет собой базовый тип данных byte (8 бит).
- Создается переменная ai, которая представляет собой целочисленное значение, которое будет использоваться для сравнения элементов массива.
- Создается переменная f, которая представляет собой логическое значение true или false, которое будет использоваться для определения, найден ли искомый элемент в массиве.
- Создается переменная syn, которая представляет собой символ, введенный пользователем для указания поиска определенного элемента.
- Выводится сообщение с просьбой ввести исходный массив. Для этого используется цикл for, который выполняется n раз, где n - это значение переменной n. В каждой итерации цикла выводится сообщение с просьбой ввести значение элемента массива a[i] и значение переменной i увеличивается на 1.
- Запускается цикл while, который выполняется до тех пор, пока значение переменной f не станет true или пока значение переменной i не превысит значение n. Внутри цикла while происходит проверка условия a[i] = ai. Если условие истинно, то значение переменной f устанавливается в true, что означает, что искомый элемент был найден. Если условие ложно, то значение переменной i увеличивается на 1.
- После завершения цикла while выводится сообщение с просьбой ввести элемент, который нужно найти.
- Проверяется значение переменной syn. Если значение syn равно
y
илиY
, то выводится сообщение с просьбой продолжить поиск. Если значение syn не равноy
илиY
, то выводится сообщение с просьбой завершить поиск. - Цикл while повторяется до тех пор, пока значение переменной f не станет true или пока значение переменной i не превысит значение n.
- Если значение переменной f становится true, то выводится сообщение с номером найденного элемента.
- Если значение переменной f остается false, то выводится сообщение о том, что искомого элемента нет в массиве.