Написать программу, запрашивающую с клавиатуры целые числа и определяю-щую максимальное и минимальное...

Тематика Информатика
Уровень 10 - 11 классы
Паскаль программа целые числа ввод с клавиатуры максимальное значение минимальное значение завершение ввода тестирование последовательность
0

Написать программу, запрашивающую с клавиатуры целые числа и определяю-щую максимальное и минимальное из них. Окончание ввода – число 0. Протестиро-вать программу для последовательности: -3 5 6 -11 24 -1 0. ПАСКАЛЬ

avatar
задан 11 дней назад

2 Ответа

0

Программа на языке Pascal может быть написана следующим образом:

program MaxMinNumbers;

var
  num, max, min: integer;

begin
  writeln('Введите целые числа. Для завершения введите 0.');
  read(num);
  
  if num  0 then
  begin
    max := num;
    min := num;
    
    repeat
      read(num);
      
      if num  0 then
      begin
        if num > max then
          max := num;
        if num < min then
          min := num;
      end;
    until num = 0;
    
    writeln('Максимальное число: ', max);
    writeln('Минимальное число: ', min);
  end
  else
  begin
    writeln('Вы не ввели ни одного числа.');
  end;
  
end.

Для последовательности чисел -3 5 6 -11 24 -1 0 программа выведет:

Максимальное число: 24
Минимальное число: -11

avatar
ответил 11 дней назад
0

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

Вот пример программы на языке Паскаль, решающей поставленную задачу:

program FindMinMax;

var
  number: Integer;
  minNumber, maxNumber: Integer;
  firstInput: Boolean;

begin
  firstInput := True;
  
  writeln('Введите целые числа (0 для завершения ввода):');
  
  repeat
    readln(number);
    
    if number  0 then
    begin
      if firstInput then
      begin
        minNumber := number;
        maxNumber := number;
        firstInput := False;
      end
      else
      begin
        if number < minNumber then
          minNumber := number;
          
        if number > maxNumber then
          maxNumber := number;
      end;
    end;
    
  until number = 0;
  
  if not firstInput then
  begin
    writeln('Минимальное число: ', minNumber);
    writeln('Максимальное число: ', maxNumber);
  end
  else
  begin
    writeln('Вы не ввели ни одного числа.');
  end;
end.

Объяснение программы:

  1. Переменные:

    • number используется для хранения текущего введенного пользователем числа.
    • minNumber и maxNumber предназначены для хранения минимального и максимального значений соответственно.
    • firstInput — булева переменная, которая используется для отслеживания первого введенного числа. Это необходимо, чтобы правильно инициализировать minNumber и maxNumber.
  2. Цикл ввода:

    • Цикл repeat.until используется для многократного запроса ввода чисел у пользователя до тех пор, пока не будет введен 0.
    • При первом вводе (определяется с помощью firstInput) значения minNumber и maxNumber инициализируются первым введенным числом.
  3. Определение минимального и максимального значений:

    • Внутри цикла проверяется, является ли текущее число меньше minNumber или больше maxNumber, и при необходимости значения обновляются.
  4. Вывод результатов:

    • После завершения ввода программа проверяет, были ли введены какие-либо числа, и выводит минимальное и максимальное значения. Если не было введено ни одно число (кроме 0), выводится соответствующее сообщение.

Тестирование:

При вводе последовательности чисел -3, 5, 6, -11, 24, -1, 0 программа должна вывести:

  • Минимальное число: -11
  • Максимальное число: 24

Таким образом, программа корректно решает поставленную задачу.

avatar
ответил 11 дней назад

Ваш ответ

Вопросы по теме