Определить, есть ли в последовательности число, равное первому - Pascal
Формулировка задачи:
Дана последовательность из N целых чисел. Определить, есть ли в ней число, равное первому из этой последовательности.
Помогите пожалуйста сделать циклом.
Решение задачи: «Определить, есть ли в последовательности число, равное первому»
textual
Листинг программы
var i, n, a, b: integer;
f: boolean;
begin
repeat
write('n > 1; n = ');
readln(n)
until n > 1;
f := false;
writeln('Введите числа:');
write('1: ');
readln(b);
for i := 2 to n do
begin
write(i, ': ');
readln(a);
if a = b then f := true
end;
if f
then write('В последовательности есть числа, равные первому')
else write('В последовательности нет чисел, равных первому');
readln
end.
Объяснение кода листинга программы
- Объявляются переменные:
i- для цикла;n- для хранения введенного числа, которое должно быть больше 1;aиb- для хранения чисел в последовательности;f- для хранения результата, является ли первый элемент равным какому-либо другому элементу в последовательности.
- Пользователю предлагается ввести значение переменной
n, пока оно не будет больше 1. - Устанавливается начальное значение переменной
fкакfalse. - Выводится приглашение ввести числа.
- Пользователю предлагается ввести значение переменной
b, которая является первым элементом последовательности. - В цикле от 2 до
nвыполняется:- Выводится приглашение ввести текущее число с помощью переменной
i. - Пользователь вводит значение, которое сохраняется в переменной
a. - Если значение переменной
aравно значению переменнойb, то значение переменнойfустанавливается вtrue.
- Выводится приглашение ввести текущее число с помощью переменной
- После завершения цикла, если переменная
fравнаtrue, выводится сообщениеВ последовательности есть числа, равные первому. В противном случае выводится сообщениеВ последовательности нет чисел, равных первому. - Для ожидания завершения программы пользователем выполняется операция чтения ввода.