Задача:
Разработайте программу, которая находит минимальное и максимальное значение в списке чисел. 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;