М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
nonikc1
nonikc1
08.10.2021 10:48 •  Информатика

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

👇
Ответ:
IoneAngel
IoneAngel
08.10.2021

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)

4,5(44 оценок)
Ответ:
ffghh1gfdd
ffghh1gfdd
08.10.2021
ответ: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( )

Примеры работ:
Напишите калькулятор, который считывает с пользовательского ввода три строки: первое число, второе ч
Напишите калькулятор, который считывает с пользовательского ввода три строки: первое число, второе ч
4,4(30 оценок)
Открыть все ответы
Ответ:
лика03481
лика03481
08.10.2021
Const   n = 5; var   i: integer;   a: array[1..n * 2 + 1] of integer; begin   writeln('исходный массив: ');   for i : = 1 to 2 * n do   begin       a[i] : = random(99) + 1;       write(a[i] : 5);   end;   for i : = 2 * n + 1 downto n + 1 do       a[i] : = a[i - 1];   a[n + 1] : = 0;   writeln();   writeln('полученный массив: ');   for i : = 1 to 2 * n + 1 do       write(a[i] : 5); end.
4,8(26 оценок)
Ответ:
mridrazov
mridrazov
08.10.2021
Пусть а - число правильных ответов, с - число неправильных ответов. тогда число вопросов, на которые ответы даны не были - 25-а-с 5*а-9*с=40 с у нас больше либо равно 1, тогда делаем методом подстановки, не забывая, что а - обязательно целое число. с=1 5а-9=40, 5а=49, а - число не целое, значит, не подходит. с=2 5а-18=40, 5а=58, а - число не целое, значит, не подходит. с=3 5а-27=40, 5а=67, а - число не целое, значит, не подходит. с=4 5а-36=40, 5а=76, а - число не целое, значит, не подходит. с=5 5а-45=40, 5а=85, откуда а =17. ответ: 17.
4,5(65 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ