Найти минимальное нечетное число от 1 до 30 - Free Pascal
Формулировка задачи:
Дан массив из 30 целых чисел, заданных случайным образом. Найти минимальное нечетное число от 1 до 30.
Решение задачи: «Найти минимальное нечетное число от 1 до 30»
textual
Листинг программы
min:=1; while (i<=n) and not Odd(a[min]) do Inc(min); for i:=min+1 to n do if Odd(a[i]) and (a[min]>a[i]) then min:=i; if min>n then WriteLn('Нет нечётных чисел.') else WriteLn('Min: ',a[min]);
Объяснение кода листинга программы
В данном коде на языке Free Pascal реализуется алгоритм поиска минимального нечетного числа в диапазоне от 1 до 30.
min:=1;
- инициализация переменнойmin
значением 1.while (i<=n) and not Odd(a[min]) do Inc(min);
-- Цикл прервётся, когда будет выполнено одно из условий:
i
станет большеn
, то есть будет выполнено условиеi>n
.- Будет найдено нечетное число
a[min]
.
- Условие
not Odd(a[min])
проверяет, является ли текущее минимальное число четным. - Если да, то оно не подходит, и мы увеличиваем значение
min
на единицу.
- Цикл прервётся, когда будет выполнено одно из условий:
for i:=min+1 to n do
- цикл, который будет выполняться, начиная сmin+1
и доn
.if Odd(a[i]) and (a[min]>a[i]) then min:=i;
- условие цикла проверяет, является ли текущее числоi
нечетным и меньше текущего минимального числаa[min]
.- Если это так, то текущее число
i
становится новым минимальным числом.
- Если это так, то текущее число
if min>n then WriteLn('Нет нечётных чисел.')
- проверка, не превышает ли значениеmin
n
.- Если да, то выводится сообщение
Нет нечётных чисел.
.
- Если да, то выводится сообщение
else WriteLn('Min: ',a[min]);
- вывод сообщения с минимальным нечетным числомmin
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д