profile

Опубликовано 5 лет назад по предмету Информатика от JuliaVanina

Напишите пожалуйста самый простой вариант, без массивов  с помощью цикла! (Первый год изучения паскаля)

 

Напишите программу, которая в последовательности целых чисел определяет разность максимального и минимального чисел. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность) . 
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: разность максимального и минимального чисел.

  1. Ответ
    Ответ дан Alphaeus

    Program JuliaVanina;
    uses crt;
    var
      r,min,max: real;
      k:integer;
    begin
      writeln('*** alphaues is thinking... ***');
      writeln('***          OK             ***');
      min:=0;
      max:=0;
      k:=0;
      r:=1;
      writeln('Введите ненулевое число, не превышающее 30000 по модулю');
      writeln('(или введите 0 для конца последовательности) ');
      while (r<>0) and (k<1000) do
        begin
          write('Ввод:');  
          readln (r);
          if abs(r)<30000 then
              begin
                if min>r then min:=r;
                if max<r then max:=r;
                k:=k+1;  
              end
            else
              begin
                writeln ('вы ввели слишком большое по модулю число');
                writeln ('Это число не будет учтено');
              end;
        end;
      writeln();
      writeln('Всего введено ',k-1,' чисел');
      writeln('Разность min и max составляет ',max-min);
    end.

     

    Проверено - работает на Паскаль АВС

Войдите или зарегистрируйтесь, чтобы добавить ответ или свой вопрос на сайт


Другие вопросы
Хаааа
Математика - 3 недели назад
Хаааа
Математика - 3 недели назад