Простейший калькулятор
Написать программу, в которой вводятся два числа-операнда x и y и знак арифметической операции (+, –, /, *). Вычислить результат z в зависимости от знака.
Предусмотреть реакции на возможный неверный знак операции, а также на ввод y=0 при делении.
Организовать возможность многократных вычислений без перезагрузки программы (то есть построить цикл). В качестве символа прекращения вычислений принять '0'.
Алгоритм решения задачи:
- Вводим знак. Если он является символом '0', то прерываем цикл.
- Если введенный символ - арифметическая операция, запрашиваем два числа и выполняем вычисления в зависимости от введенного знака.
- Иначе сообщаем о некорректном вводе знака.
Программа на языке Паскаль:
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