Задача:
Разработайте программу, которая находит минимальное и максимальное значение в списке чисел. Pascal.
План:
- Алгоритм решения
- Код программы
- Примеры входных данных и ожидаемых результатов
- Объяснение кода программы
- Блок-схема
Алгоритм решения:
-
Инициализация:
- Объявление динамического массива
numbers
для хранения чисел - Объявление переменных
min
,max
,i
иn
- Объявление динамического массива
-
Ввод данных:
- Запрос у пользователя количества элементов
n
- Установка размера массива
numbers
равнымn
- Ввод
n
чисел от пользователя и сохранение их в массивеnumbers
- Запрос у пользователя количества элементов
-
Поиск минимального и максимального значений:
- Инициализация
min
иmax
первым элементом массиваnumbers[0]
- Цикл от 1 до
n-1
:- Если текущий элемент меньше
min
, обновитьmin
- Если текущий элемент больше
max
, обновитьmax
- Если текущий элемент меньше
- Инициализация
-
Вывод результатов:
- Вывод найденного минимального значения
min
- Вывод найденного максимального значения
max
- Вывод найденного минимального значения
-
Ожидание ввода пользователя перед завершением программы
Код программы на языке Pascal:
Код Pascal
program MinMaxFinder;
var
numbers: array of integer;
min, max, i, n: integer;
begin
write('Enter the number of elements: ');
readln(n);
SetLength(numbers, n);
writeln('Enter ', n, ' numbers:');
for i := 0 to n - 1 do
begin
readln(numbers[i]);
end;
min := numbers[0];
max := numbers[0];
for i := 1 to n - 1 do
begin
if numbers[i] < min then
min := numbers[i];
if numbers[i] > max then
max := numbers[i];
end;
writeln('Minimum value: ', min);
writeln('Maximum value: ', max);
readln;
end.
Примеры входных данных и ожидаемых результатов:
Input:
Enter the number of elements: 5
Enter 5 numbers:
10
5
8
15
3
Output:
Minimum value: 3
Maximum value: 15
---
Input:
Enter the number of elements: 3
Enter 3 numbers:
-7
0
4
Output:
Minimum value: -7
Maximum value: 4
---
Input:
Enter the number of elements: 1
Enter 1 numbers:
42
Output:
Minimum value: 42
Maximum value: 42
---
Input:
Enter the number of elements: 4
Enter 4 numbers:
100
100
100
100
Output:
Minimum value: 100
Maximum value: 100
Объяснение кода программы:
-
Объявление переменных:
Объявляются динамический массивvar numbers: array of integer; min, max, i, n: integer;
numbers
и целочисленные переменныеmin
,max
,i
(счетчик) иn
(количество элементов). -
Ввод количества элементов:
Пользователю предлагается ввести количество элементов, которое сохраняется в переменнуюwrite('Enter the number of elements: '); readln(n);
n
. -
Установка размера массива:
ФункцияSetLength(numbers, n);
SetLength
устанавливает размер динамического массиваnumbers
равнымn
. -
Ввод чисел в массив:
Циклwriteln('Enter ', n, ' numbers:'); for i := 0 to n - 1 do begin readln(numbers[i]); end;
for
используется для вводаn
чисел в массивnumbers
. -
Инициализация min и max:
Переменныеmin := numbers[0]; max := numbers[0];
min
иmax
инициализируются первым элементом массива. -
Поиск минимума и максимума:
Циклfor i := 1 to n - 1 do begin if numbers[i] < min then min := numbers[i]; if numbers[i] > max then max := numbers[i]; end;
for
проходит по остальным элементам массива, обновляяmin
иmax
при нахождении меньшего или большего значения соответственно. -
Вывод результатов:
Выводятся найденные минимальное и максимальное значения.writeln('Minimum value: ', min); writeln('Maximum value: ', max);
-
Ожидание ввода перед завершением:
Программа ожидает нажатия клавиши Enter перед завершением.readln;