Задача с циклами - Free Pascal

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

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

Народ помогите решить такую задачу: Пользователь вводит числа (3, 4 или 5) до ввода символа "e" или "E". Вывести среднее число этих чисел и уведомление, если от 3 до 4 то одно, от 4 до 5 другое, если среднее равно 5 то третье уведомление. После этого если вводится символ "q" или "Q" то происходит выход из программы иначе - программа повторяется.

Решение задачи: «Задача с циклами»

textual
Листинг программы
  1. uses
  2.     Crt, SysUtils;
  3. var
  4.     sum, count: LongWord;
  5.     ans1, ans2: Char;
  6.     avr: Single;
  7. begin
  8.     repeat
  9.         ClrScr();
  10.         count := 0;
  11.         sum := 0;
  12.         repeat
  13.             Write('Input 3, 4, 5 or e: ');
  14.             ans2 := ReadKey;
  15.             WriteLn;
  16.             //защиту от дурака писать лень, но там всего пару ифов
  17.             if Not(ans2 in ['e', 'E'])
  18.             then
  19.             begin
  20.                 Inc(count);
  21.                 Inc(sum, StrToInt(ans2));
  22.             end;
  23.         until (ans2 in ['e', 'E']);
  24.         if (count <> 0)
  25.         then
  26.         begin
  27.             avr := sum / count;
  28.             Write('avr=', avr:0:3);
  29.             if (avr < 4)
  30.             then
  31.                 WriteLn(' in [3..4)')
  32.             else
  33.                 if (avr < 5)
  34.                 then
  35.                     WriteLn(' in [4..5)')
  36.                 else
  37.                     WriteLn(' in [5]');
  38.         end
  39.         else
  40.             WriteLn('No one number!');
  41.         Write('Press q for exit or any else to continue: ');
  42.         ans1 := ReadKey; WriteLn;
  43.     until (ans1 in ['q', 'Q']);
  44. end.

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

  1. Объявлены переменные: sum, count - LongWord; ans1, ans2 - Char; avr - Single;
  2. Повторяющийся блок кода, который выполняется до тех пор, пока пользователь не введет 'e' или 'E'.
  3. В этом блоке кода происходит подсчет количества введенных чисел и их суммы.
  4. После выхода из цикла, проверяется значение переменной count. Если она не равна нулю, то вычисляется среднее значение и выводится на экран.
  5. Если среднее значение меньше 4, то выводится сообщение [3..4).
  6. Если среднее значение меньше 5, но больше или равно 4, то выводится сообщение [4..5).
  7. Если среднее значение равно 5, то выводится сообщение [5].
  8. Если count равно нулю, то выводится сообщение No one number!.
  9. Запросится ключ нажатия клавиши.
  10. Повторяющийся блок кода, который выполняется до тех пор, пока пользователь не нажмет 'q' или 'Q'.

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


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

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

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

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

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

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