Простейший калькулятор на Pascal

Написать программу, в которой вводятся два числа-операнда x и y и знак арифметической операции (+, –, /, *). Вычислить результат z в зависимости от знака.

Предусмотреть реакции на возможный неверный знак операции, а также на ввод y=0 при делении.

Организовать возможность многократных вычислений без перезагрузки программы (то есть построить цикл). В качестве символа прекращения вычислений принять '0'.

Алгоритм решения задачи:

  1. Вводим знак. Если он является символом '0', то прерываем цикл.
  2. Если введенный символ — арифметическая операция, запрашиваем два числа и выполняем вычисления в зависимости от введенного знака.
  3. Иначе сообщаем о некорректном вводе знака.

Программа на языке Паскаль:

var
    x, y, z: real;
    sign: char;

begin
    while True do begin

        write('sign: ');
        readln(sign);

        if sign = '0' then
            break;

        if sign in ['+','-','*','/'] then begin

            write('x = ');
            readln(x);
            write('y = ');
            readln(y);

            case sign of

                '+': begin
                    z := x + y;
                    writeln(z:5:2)
                end;

                '-': begin
                    z := x - y;
                    writeln(z:5:2);
                end;

                '*': begin
                    z := x * y;
                    writeln(z:5:2);
                end;

                '/':
                    if y <> 0 then begin
                        z := x / y;
                        writeln(z:5:2)
                    end
                    else
                        writeln('Division by zero!');
            end;
        end
        else
            writeln('Bad sign!');
        writeln;
    end;
end.

Пример работы программы:

sign: +
x = 8.123
y = -3.5
 4.62

sign: /
x = 3.4
y = 2.75
 1.24

sign: /
x = 3
y = 0
Division by zero!

sign: $
Bad sign!

sign: 0