Для решения задачи на языке Паскаль, мы напишем программу, которая будет выполнять следующие шаги:
- Открывать файл для чтения, чтобы получить доступ к числам.
- Проходить по всем числам в файле, проверяя, являются ли они положительными и четными.
- Если число удовлетворяет условиям, мы будем обновлять минимальное и максимальное значения.
- После завершения чтения файла, записывать результаты в другой файл.
- Обрабатывать случай, когда четных положительных чисел нет.
Вот пример реализации программы:
program MinMaxEvenNumbers;
var
inputFile, outputFile: TextFile;
number, minEven, maxEven: Integer;
hasEven: Boolean;
begin
// Открываем входной файл для чтения
AssignFile(inputFile, 'input.txt');
Reset(inputFile);
// Инициализируем переменные
minEven := MaxInt; // Берем максимальное возможное значение
maxEven := -1; // Берем минимальное возможное значение
hasEven := False; // Флаг для проверки наличия четных положительных чисел
// Читаем числа из файла
while not Eof(inputFile) do
begin
ReadLn(inputFile, number);
// Проверяем, является ли число положительным и четным
if (number > 0) and (number mod 2 = 0) then
begin
hasEven := True; // Нашли хотя бы одно четное положительное число
// Обновляем минимальное и максимальное значения
if number < minEven then
minEven := number;
if number > maxEven then
maxEven := number;
end;
end;
// Закрываем входной файл
CloseFile(inputFile);
// Открываем выходной файл для записи
AssignFile(outputFile, 'output.txt');
Rewrite(outputFile);
// Записываем результаты в выходной файл
if hasEven then
begin
WriteLn(outputFile, 'Минимальное четное положительное число: ', minEven);
WriteLn(outputFile, 'Максимальное четное положительное число: ', maxEven);
end
else
begin
WriteLn(outputFile, 'Четные положительные числа не найдены.');
end;
// Закрываем выходной файл
CloseFile(outputFile);
end.
Пояснение кода:
Работа с файлами: Мы используем AssignFile
, Reset
и Rewrite
для работы с текстовыми файлами. Reset
открывает файл для чтения, а Rewrite
создает новый файл для записи.
Проверка условий: Условия (number > 0)
и (number mod 2 = 0)
используются для проверки, является ли число положительным и четным соответственно.
Хранение результатов: Мы храним минимальное и максимальное четные числа в переменных minEven
и maxEven
. При этом, minEven
инициализируется максимальным возможным значением, а maxEven
— минимальным.
Вывод результата: В зависимости от наличия четных положительных чисел, мы либо записываем их минимальное и максимальное значения в выходной файл, либо сообщение о том, что такие числа не найдены.
Таким образом, программа решает поставленную задачу, обрабатывая входной файл и записывая результаты в выходной файл.