Задача с циклами - 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.

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

  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