Для решения этой задачи на языке PascalABC.NET, нам нужно найти минимальное положительное число из заданного набора чисел. Если положительных чисел нет, то нужно вывести 0. Вот пример кода, который выполняет эту задачу:
program MinPositiveNumber;
var
N, i, num: Integer;
minPositive: Integer;
hasPositive: Boolean;
begin
Write('Введите количество чисел N: ');
ReadLn(N);
minPositive := MaxInt; // Инициализируем минимальное положительное число максимальным целым числом
hasPositive := False; // Флаг, указывающий на наличие положительных чисел
WriteLn('Введите ', N, ' чисел:');
for i := 1 to N do
begin
Read(num); // Читаем следующее число
if num > 0 then // Проверяем, является ли число положительным
begin
hasPositive := True; // Устанавливаем флаг
if num < minPositive then // Если текущее число меньше текущего минимума
minPositive := num; // Обновляем минимум
end;
end;
if hasPositive then
WriteLn('Минимальное положительное число: ', minPositive)
else
WriteLn(0); // Если положительных чисел не было
end.
Пояснение работы программы:
- Мы инициируем переменные, включая
minPositive, которая изначально устанавливается в максимальное значение целого числа, чтобы мы могли затем сравнивать ее с найденными положительными числами. - Используем цикл для ввода N чисел.
- Каждое число проверяется на положительность. Если число положительное и меньше чем текущее минимальное, мы обновляем значение
minPositive. - После завершения цикла делаем проверку: если было найдено хотя бы одно положительное число, выводим минимальное positive number; иначе выводим 0.
Этот простой и эффективный алгоритм поможет вам решить задачу! Если у вас есть дополнительные вопросы или нужна помощь с другой темой, не стесняйтесь спрашивать!