A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
Python.Basic-course / lesson-02 / lesson-02_1.py /
Code definitions
Code navigation index up-to-date
- Go to file T
- Go to line L
- Go to definition R
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
37 lines (34 sloc) 1.98 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Как складывать, вычитать, умножать, делить ОБЫКНОВЕННЫЕ дроби! Сумма Действия + — *:
»’1. Написать программу, которая будет складывать, вычитать, умножать или |
делить два числа. Числа и знак операции вводятся пользователем. После |
выполнения вычисления программа не должна завершаться, а должна запрашивать |
новые данные для вычислений. Завершение программы должно выполняться при вводе |
символа ‘0’ в качестве знака операции. Если пользователь вводит неверный знак |
(не «0», «+», «-«, «*», «/»), то программа должна сообщать ему об ошибке и |
снова запрашивать знак операции. Также сообщать пользователю о невозможности |
деления на ноль, если он ввел 0 в качестве делителя.»’ |
while True : |
try : |
number1 , operation , number2 = [ |
i for i in |
input ( |
‘Введите математическое выражение (число операнд число): ‘ |
). split () |
] |
except ValueError : |
print ( ‘Неправильный ввод.’ ) |
continue |
number1 = int ( number1 ) |
number2 = int ( number2 ) |
if operation == ‘0’ : |
break |
elif operation == ‘+’ : |
print ( f’ < number1 > < operation > < number2 >= < number1 + number2 >’ ) |
elif operation == ‘-‘ : |
print ( f’ < number1 > < operation > < number2 >= < number1 — number2 >’ ) |
elif operation == ‘*’ : |
print ( f’ < number1 > < operation > < number2 >= < number1 * number2 >’ ) |
elif operation == ‘/’ : |
try : |
print ( f’ < number1 > < operation > < number2 >= < number1 / number2 >’ ) |
except ZeroDivisionError : |
print ( ‘Ошибка. Деление на ноль’ ) |
Python 3 #4: арифметические операторы: сложение, вычитание, умножение, деление, степень
- Copy lines
- Copy permalink
- View git blame
Источник: github.com
Упражнения на Java: вывод суммы, умножения, вычитания, деления и остатка двух чисел
Напишите Java-программу для печати суммы (сложения), умножения, вычитания, деления и остатка двух чисел.
Тестовые данные:
Введите первое число: 125
Введите второе число: 24
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.Scanner; public class Exercise6 < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print(«Input first number: «); int num1 = in.nextInt(); System.out.print(«Input second number: «); int num2 = in.nextInt(); System.out.println(num1 + » + » + num2 + » =» + (num1 + num2)); System.out.println(num1 + » — » + num2 + » =» + (num1 — num2)); System.out.println(num1 + » x » + num2 + » =» + (num1 * num2)); System.out.println(num1 + » / » + num2 + » =» + (num1 / num2)); System.out.println(num1 + » mod » + num2 + » output»>Введите первое число: 125 Введите второе число: 24 125 + 24 = 149 125 — 24 = 101 125 х 24 = 3000 125/24 = 5 125 мод 24 = 5
Блок — схема:
Пример решения:
Java-код:
import java.util.Scanner; public class Main < public static void main(String[] args) < Scanner scanner = new Scanner(System.in); System.out.println(«Input the first number: «); int n1 = scanner.nextInt(); System.out.println(«Input the second number: «); int n2 = scanner.nextInt(); int sum = n1 + n2; int minus = n1 — n2; int multiply = n1 * n2; int subtract = n1 + n2; int divide = n1 / n2; int rnums = n1 % n2; System.out.printf(«Sum = %dnMinus = %dnMultiply = %dnSubtract = %dnDivide = %dnRemainderOf2Numbers = %dn «, sum, minus, multiply, subtract, divide, rnums); >>
Введите первое число: 6 Введите второе число: 5 Сумма = 11 Минус = 1 Умножить = 30 Вычесть = 11 Разделить = 1 RemainderOf2Numbers = 1
Блок — схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Каков уровень сложности этого упражнения?
Источник: www.kodesource.top
Задача — Простейший калькулятор — программирование на разных языках
Задача — Простейший калькулятор
— программирование на Pascal, Си, Кумир, Basic-256, Python
Написать программу, которая будет складывать, вычитать, умножать или делить два числа. Числа и знак операции вводятся пользователем. После выполнения вычисления программа не должна завершаться, а должна запрашивать новые данные для вычислений. Завершение программы должно выполняться при вводе символа ‘0’ в качестве знака операции.
Если пользователь вводит неверный знак (не ‘0’, ‘+’, ‘-‘, ‘*’, ‘/’), то программа должна сообщать ему об ошибке и снова запрашивать знак операции. Также сообщать пользователю о невозможности деления на ноль, если он ввел 0 в качестве делителя.
Запустить бесконечный цикл.
- Запросить ввод знака операции.
- Если был введен ‘0’, то прервать цикл операцией break.
- Если был введен один из знаков арифметических операций, то в зависимости от того, какой знак был введен, выполнить соответствующее ему арифметическое действие. При этом при делении проверить не был ли введен ноль. Если это так, то вывести сообщение, иначе выполнить деление.
- Иначе сообщить о неверно введенном знаке.
Pascal
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
Язык Си
main() float x,y;
char sign=’+’;
while (sign != ‘0’) printf(«Знак: «);
scanf(«%c%*c»,
if (sign == ‘0’) < break; >
if (sign == ‘+’ || sign == ‘-‘ || sign == ‘*’ || sign == ‘/’) printf(«x=»);
scanf(«%f%*c»,
printf(«y=»);
scanf(«%f%*c»,
switch (sign) case ‘+’:
printf(«%.2fn», x+y);
break;
case ‘-‘:
printf(«%.2fn», x-y);
break;
case ‘*’:
printf(«%.2fn», x*y);
break;
case ‘/’:
if (y != 0) printf(«%.2fn», x/y);
else printf(«Деление на ноль!n»);
>
>
else printf(«Неверно указан знак операцииn»);
>
> Знак: 7
Неверно указан знак операции
Знак: 3
Неверно указан знак операции
Знак: +
x=4
y=5
9.00
Знак: /
x=0
y=0
Деление на ноль!
Знак: —
x=-34.4
y=-2
-32.40
Знак: 0
При вводе данных необходимо избавиться от символа перехода на новую строку. Это делается через формат «%*c».
Python
print(«Ноль в качестве знака операции завершит работу программы»)
while True:
s = input(«Знак (+,-,*,/): «)
if s == ‘0’: break
if s in (‘+’,’-‘,’*’,’/’):
x = float(input(«x=»))
y = float(input(«y=»))
if s == ‘+’:
print(«%.2f» % (x+y))
elif s == ‘-‘:
print(«%.2f» % (x-y))
elif s == ‘*’:
print(«%.2f» % (x*y))
elif s == ‘/’:
if y != 0:
print(«%.2f» % (x/y))
else:
print(«Деление на ноль!»)
else:
print(«Неверный знак операции!») Ноль в качестве знака операции завершит работу программы
Знак (+,-,*,/): h
Неверный знак операции!
Знак (+,-,*,/): +
x=78.456
y=23.567
102.02
Знак (+,-,*,/): —
x=3.44
y=10.25
-6.81
Знак (+,-,*,/): *
x=0.012
y=-2.15
-0.03
Знак (+,-,*,/): /
x=5
y=0
Деление на ноль!
Знак (+,-,*,/): /
x=-2.3
y=5
-0.46
Знак (+,-,*,/): 0
КуМир
алг простейший калькулятор
нач
вещ x,y
сим s
нц пока да
вывод «Знак: »
ввод s
если s=’0′ то выход все
если s=’+’ или s=’-‘ или s=’*’ или s=’/’ то
вывод «x=»
ввод x
вывод «y=»
ввод y
выбор
при s=’+’: вывод x+y, нс
при s=’-‘: вывод x-y, нс
при s=’*’: вывод x*y, нс
при s=’/’:
если y=0 то вывод «Деление на ноль!», нс
иначе вывод x/y, нс
все
все
иначе
вывод «Неверный знак операции», нс
все
кц
кон Знак: +
x=5.67
y=-4
1.67
Знак: /
x=5
y=0
Деление на ноль!
Знак: )
Неверный знак операции
Знак: /
x=3
y=10
0.3
Знак: 0 Basic-256 a = 1
while a=1
input «знак: «, s$
if s$ = «0» then
a=0
else
if s$ = «+» or s$ = «-» or s$ = «*» or s$ = «/» then
input «x: «, x
input «y: «, y
if s$ = «+» then print x+y
if s$ = «-» then print x-y
if s$ = «*» then print x*y
if s$ = «/» and y <> 0 then
print x/y
else
print «Деление на ноль»
endif
else
print «Знак может быть +, -, *, /»
endif
endif
endwhile знак: /
x: 9
y: 0
Деление на ноль
знак: —
x: 9
y: -8
17
Деление на ноль
знак: /
x: 9
y: -8
-1.125
знак: 0
Нет оператора break, оператора выбора case.
Не используется if-else при выполнении арифметических операций, т.к. это сильно ухудшает читабельность программы. Хотя по логике было бы более правильно.
Обнаруживается какой-то глюк «Деление на ноль», когда его не должно быть.
Источник: ars-games.ru