Задача с циклами - Free Pascal
Формулировка задачи:
Народ помогите решить такую задачу:
Пользователь вводит числа (3, 4 или 5) до ввода символа "e" или "E". Вывести среднее число этих чисел и уведомление, если от 3 до 4 то одно, от 4 до 5 другое, если среднее равно 5 то третье уведомление. После этого если вводится символ "q" или "Q" то происходит выход из программы иначе - программа повторяется.
Решение задачи: «Задача с циклами»
textual
Листинг программы
uses Crt, SysUtils; var sum, count: LongWord; ans1, ans2: Char; avr: Single; begin repeat ClrScr(); count := 0; sum := 0; repeat Write('Input 3, 4, 5 or e: '); ans2 := ReadKey; WriteLn; //защиту от дурака писать лень, но там всего пару ифов if Not(ans2 in ['e', 'E']) then begin Inc(count); Inc(sum, StrToInt(ans2)); end; until (ans2 in ['e', 'E']); if (count <> 0) then begin avr := sum / count; Write('avr=', avr:0:3); if (avr < 4) then WriteLn(' in [3..4)') else if (avr < 5) then WriteLn(' in [4..5)') else WriteLn(' in [5]'); end else WriteLn('No one number!'); Write('Press q for exit or any else to continue: '); ans1 := ReadKey; WriteLn; until (ans1 in ['q', 'Q']); end.
Объяснение кода листинга программы
- Объявлены переменные: sum, count - LongWord; ans1, ans2 - Char; avr - Single;
- Повторяющийся блок кода, который выполняется до тех пор, пока пользователь не введет 'e' или 'E'.
- В этом блоке кода происходит подсчет количества введенных чисел и их суммы.
- После выхода из цикла, проверяется значение переменной
count
. Если она не равна нулю, то вычисляется среднее значение и выводится на экран. - Если среднее значение меньше 4, то выводится сообщение
[3..4)
. - Если среднее значение меньше 5, но больше или равно 4, то выводится сообщение
[4..5)
. - Если среднее значение равно 5, то выводится сообщение
[5]
. - Если
count
равно нулю, то выводится сообщениеNo one number!
. - Запросится ключ нажатия клавиши.
- Повторяющийся блок кода, который выполняется до тех пор, пока пользователь не нажмет 'q' или 'Q'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д