
Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число,
второе число и операцию, после чего применяет операцию к введённым числам ("первое число" "операция" "второе число") и выводит результат на экран. Поддерживаемые операции: +, -, /, *, mod, pow, div, где mod — это взятие остатка от деления, pow — возведение в степень, div — целочисленное деление. Если выполняется деление и второе число равно 0, необходимо выводить строку "Деление на 0!".

Ответы на вопрос

Ответ:
a=float(input())
b=float(input())
c=input()
if c=='+': print (a + b)
if c=='-': print (a-b)
if c=='/' and b ==0.0: print("Деление на 0!")
if c=='/' and b!=0.0 : print(a/b)
if c=='*': print(a*b)
if c=='pow': print(a**b)
if c=='div' and b==0.0: print("Деление на 0!")
if c=='div' and b!=0.0: print(a//b)
if c=='mod' and b==0.0: print ("Деление на 0!")
if c=='mod' and b!=0.0: print (a%b)



Ответ:
- var a, b: real; s: string;
- begin
- readln(a);
- readln(b);
- readln(s);
- if s = '+' then write(a + b);
- if s = '-' then write(a - b);
- if s = '/' then if b <> 0 then write(a / b) else write('Деление на 0!');
- if s = '*' then write(a * b);
- if s = 'mod' then if b <> 0 then write(Round(a) mod Round(b)) else write('Деление на 0!');
- if s = 'pow' then write(power(a, b));
- if s = 'div' then if b <> 0 then write(Round(a) div Round(b)) else write('Деление на 0!');
- end.
Пояснение:
В pascal операции mod и div к вещественным типам недоступны, поэтому округляем их через Round. Можно поменять на Trunc - он возвратит только целую часть.
Однако правильнее будет делать через case:
- var a, b: real; s: string;
- begin
- readln(a);
- readln(b);
- readln(s);
- case s of
- char.ToString('+'): write(a + b);
- char.ToString('-'): write(a - b);
- char.ToString('/'): if b <> 0 then write(a / b) else write('Деление на 0!');
- char.ToString('*'): write(a * b);
- 'mod': if b <> 0 then write(Round(a) mod Round(b)) else write('Деление на 0!');
- 'pow': write(power(a, b));
- 'div': if b <> 0 then write(Round(a) div Round(b)) else write('Деление на 0!');
- end;
- end.
Пояснение:
В case '+', '-', '/', '*' воспринимаются как char, поэтому переводим их в string через стандартный метод класса char: char.ToString( )
Примеры работ:





Конечно, вот пример кода на языке Python для реализации такого калькулятора:
pythondef calculator():
try:
first_number = float(input("Введите первое число: "))
second_number = float(input("Введите второе число: "))
operation = input("Введите операцию (+, -, /, *, mod, pow, div): ")
if operation == "+":
result = first_number + second_number
elif operation == "-":
result = first_number - second_number
elif operation == "*":
result = first_number * second_number
elif operation == "/":
if second_number == 0:
print("Деление на 0!")
return
result = first_number / second_number
elif operation == "mod":
if second_number == 0:
print("Деление на 0!")
return
result = first_number % second_number
elif operation == "pow":
result = first_number ** second_number
elif operation == "div":
if second_number == 0:
print("Деление на 0!")
return
result = first_number // second_number
else:
print("Неподдерживаемая операция!")
return
print("Результат:", result)
except ValueError:
print("Ошибка: введите корректные числа!")
calculator()
Просто скопируйте этот код в среду программирования на Python и запустите. Калькулятор будет запрашивать ввод чисел и операции, а затем выводить результат.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili