Поиск наименьшего среди положительных и наибольшего среди отрицательных значений из N целых чисел
Другие предметы

Найти наименьшее среди положительных и наибольшее среди отрицательных значений из N целых чисел (программа на языке

Найти наименьшее среди положительных и наибольшее среди отрицательных значений из N целых чисел (программа на языке Паскаль).
Верные ответы (1):
  • Sonya_9993
    Sonya_9993
    33
    Показать ответ
    Предмет вопроса: Поиск наименьшего среди положительных и наибольшего среди отрицательных значений из N целых чисел

    Объяснение: Для решения данной задачи на языке Паскаль можно использовать следующий алгоритм:

    1. Объявите переменные `наименьшее` и `наибольшее` и инициализируйте их значениями `MAXINT` и `MININT` соответственно. `MAXINT` - это максимальное значение целого числа, а `MININT` - это минимальное значение целого числа.

    2. Введите значение переменной `N` - количество чисел, которые нужно сравнить.

    3. Начните цикл, который будет выполняться `N` раз.

    4. Внутри цикла введите очередное целое число, например, `x`.

    5. Проверьте, является ли `x` положительным числом. Если да, то сравните его со значением переменной `наименьшее`. Если `x` меньше значения `наименьшее`, то присвойте переменной `наименьшее` значение `x`.

    6. Проверьте, является ли `x` отрицательным числом. Если да, то сравните его со значением переменной `наибольшее`. Если `x` больше значения `наибольшее`, то присвойте переменной `наибольшее` значение `x`.

    7. После завершения цикла выведите значения переменных `наименьшее` и `наибольшее`.

    Демонстрация:
    pascal
    program Наименьшее_среди_положительных_и_наибольшее_среди_отрицательных;

    const
    MAXINT = High(Integer); // Максимальное значение целого числа
    MININT = Low(Integer); // Минимальное значение целого числа

    var
    N, x, наименьшее, наибольшее: Integer;
    i: Integer;

    begin
    Write("Введите количество чисел: ");
    Readln(N);

    наименьшее := MAXINT;
    наибольшее := MININT;

    for i := 1 to N do
    begin
    Write("Введите число ", i, ": ");
    Readln(x);

    if x > 0 then
    begin
    if x < наименьшее then
    наименьшее := x;
    end
    else if x < 0 then
    begin
    if x > наибольшее then
    наибольшее := x;
    end;
    end;

    Writeln("Наименьшее среди положительных: ", наименьшее);
    Writeln("Наибольшее среди отрицательных: ", наибольшее);

    Readln;
    end.


    Совет: Перед выполнением алгоритма, рекомендуется провести тестовый прогон и выполнить несколько итераций вручную на бумаге, чтобы лучше понимать, какие значения будут наименьшими среди положительных и наибольшими среди отрицательных.

    Задание: Напишите программу на Паскале, которая находит наименьший положительный и наибольший отрицательный элемент из 10 целых чисел.
Написать свой ответ: