Для решения задачи на языке Паскаль можно использовать цикл, который будет запрашивать у пользователя ввод чисел до тех пор, пока не будет введено число 0, сигнализирующее об окончании ввода. В процессе ввода необходимо отслеживать минимальное и максимальное значение.
Вот пример программы на языке Паскаль, решающей поставленную задачу:
program FindMinMax;
var
number: Integer;
minNumber, maxNumber: Integer;
firstInput: Boolean;
begin
firstInput := True;
writeln('Введите целые числа (0 для завершения ввода):');
repeat
readln(number);
if number 0 then
begin
if firstInput then
begin
minNumber := number;
maxNumber := number;
firstInput := False;
end
else
begin
if number < minNumber then
minNumber := number;
if number > maxNumber then
maxNumber := number;
end;
end;
until number = 0;
if not firstInput then
begin
writeln('Минимальное число: ', minNumber);
writeln('Максимальное число: ', maxNumber);
end
else
begin
writeln('Вы не ввели ни одного числа.');
end;
end.
Объяснение программы:
Переменные:
number
используется для хранения текущего введенного пользователем числа.
minNumber
и maxNumber
предназначены для хранения минимального и максимального значений соответственно.
firstInput
— булева переменная, которая используется для отслеживания первого введенного числа. Это необходимо, чтобы правильно инициализировать minNumber
и maxNumber
.
Цикл ввода:
- Цикл
repeat.until
используется для многократного запроса ввода чисел у пользователя до тех пор, пока не будет введен 0.
- При первом вводе (определяется с помощью
firstInput
) значения minNumber
и maxNumber
инициализируются первым введенным числом.
Определение минимального и максимального значений:
- Внутри цикла проверяется, является ли текущее число меньше
minNumber
или больше maxNumber
, и при необходимости значения обновляются.
Вывод результатов:
- После завершения ввода программа проверяет, были ли введены какие-либо числа, и выводит минимальное и максимальное значения. Если не было введено ни одно число (кроме 0), выводится соответствующее сообщение.
Тестирование:
При вводе последовательности чисел -3, 5, 6, -11, 24, -1, 0
программа должна вывести:
- Минимальное число:
-11
- Максимальное число:
24
Таким образом, программа корректно решает поставленную задачу.