Не используя массив, определить значение второго по величине элемента - Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите с комментариями в программе-С клавиатуры вводятся N. Не используя массив, определить значение второго по величине элемента.
Листинг программы
  1. var
  2. max,N,a,t,i,x: integer;
  3. begin
  4. writeln ('Введите N: ');
  5. readln (N);
  6. writeln ('Введите число: ');
  7. readln (a); //максимальное
  8. writeln ('Введите число: ');
  9. readln (max); //второй по величине
  10. if a<max then
  11. begin
  12. t:=max;
  13. max:=a;
  14. a:=t;
  15. end;
  16. for i:=3 to N do
  17. begin
  18. writeln ('Введите число: ');
  19. readln (x);
  20. if x>=a then
  21. begin
  22. max:=a;
  23. a:=x;
  24. end;
  25. if x>max then
  26. max:=x;
  27. end;
  28. writeln(max);
  29. end.

Решение задачи: «Не используя массив, определить значение второго по величине элемента»

textual
Листинг программы
  1. var
  2.     i, n: LongWord; //счётчик и количество чисел
  3.     temp, fMax, sMax: Real; //текущая переменная, первый по величине, второй по величине
  4. begin
  5.     repeat //считываем n
  6.         Write('Введите N (>1): ');
  7.         ReadLn(n);
  8.     until (n > 1); //пока он не будет удовлетворять логическим условиям задачи
  9.     Write('Введите число: '); ReadLn(fMax); //считываем число (оно единственное - поэтому и максимум)
  10.     Write('Введите число: '); ReadLn(temp); //считываем второе число
  11.     if (temp > fMax)
  12.     then //если второе больше первого
  13.     begin
  14.         sMax := fMax; //первое запоминается как второе по величине
  15.         fMax := temp; //второе - как первое
  16.     end
  17.     else //если первое было больше второго
  18.         sMax := temp; //второе - запоминается как второе же по величине
  19.     for i := 3 to n do //считываем остальные n-2 чисел
  20.     begin
  21.         Write('Введите число: '); ReadLn(temp); //запрашиваем число
  22.         if (temp > fMax)
  23.         then //если введённое больше первого максимума
  24.         begin
  25.             sMax := fMax; //переносим "старый" максимум во "второй по величине"
  26.             fMax := temp; //запоминаем новый максимум
  27.         end
  28.         else //если введённое меньше первого максимума
  29.             if (temp > sMax)
  30.             then //и введённое больше второго по величине
  31.                 sMax := temp; //запоминаем новый "второй по величине"
  32.     end;
  33.     Write('Второй максимум: ', sMax:0:4);
  34. end.

Объяснение кода листинга программы

  1. Объявление переменных:
    • i - счётчик
    • n - количество чисел
    • temp - текущее число, которое будет сравниваться с максимумами
    • fMax - переменная для хранения первого по величине числа
    • sMax - переменная для хранения второго по величине числа
  2. Цикл для ввода значения n:
    • Запрос пользователю ввести значение n (>1)
    • Считывание значения n
    • Повторять до тех пор, пока n не будет больше 1
  3. Ввод первого числа:
    • Запрос пользователю ввести число
    • Считывание значения и сохранение в переменную fMax
  4. Ввод второго числа:
    • Запрос пользователю ввести число
    • Считывание значения и сохранение в переменную temp
  5. Сравнение введенных значений:
    • Если temp больше чем fMax, то:
      • sMax присваивается значение fMax
      • fMax присваивается значение temp
    • В противном случае:
      • sMax присваивается значение temp
  6. Цикл для ввода оставшихся чисел:
    • Для каждого числа от 3 до n:
      • Запрос пользователю ввести число
      • Считывание значения и сохранение в переменную temp
      • Сравнение temp с fMax и sMax:
      • Если temp больше чем fMax, то:
        • sMax присваивается значение fMax
        • fMax присваивается значение temp
      • В противном случае, если temp больше чем sMax:
        • sMax присваивается значение temp
  7. Вывод второго по величине числа:
    • Вывод на экран значения sMax с точностью до 4 знаков после запятой. Код предназначен для ввода последовательности чисел и определения значения второго по величине элемента этой последовательности.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы