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

Задача

Написать программу, в которой вводятся два операнда Х и 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!')
	end;
end.

 

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

sign: 8
Bad sign!
sign: 4
Bad sign!
sign: -
x=5
y=6
-1.00
sign: +
x=4.45
y=10.66
15.11
sign: *
x=-3.4
y=-67
227.80
sign: /
x=-78
y=123
-0.63
sign: /
x=9
y=0
Division by zero!
sign: i
Bad sign!
sign: 0

 

Тема

Циклы

Уровень

Комбинированные задачи

Теги

Добавить комментарий