View difference between Paste ID: Hzwf7JPJ and 9kaXnSmf
SHOW: | | - or go back to the newest paste.
1-
#Калькулятор 5k
1+
uses sysutils,math;
2-
import math
2+
type
3-
print("""
3+
        TS=record
4-
			ДОБРО ПОЖАЛОВАТЬ В ЛУЧШИЙ КАЛЬКУЛЯТОР НА ПАЙТОНЕ! 
4+
        s1,s2:string;
5-
					ВЫБЕРИТЕ ДЕЙСТВИЕ:
5+
        end;
6-
	0. СЛОЖЕНИЕ, БЛЯТЬ
6+
var
7-
	1. ВЫЧИТАНИЕ, НАХУЙ
7+
fl,k,i:longint;
8-
	2. РАЗДЕЛИТЬ
8+
n,n1,n2:extended;
9-
	3. УМНОЖИТЬ
9+
ch:char;
10-
	4. ВОЗВЕСТИ В СТЕПЕНЬ (КВАДРАТ ПО-УМОЛЧАНИЮ)
10+
s,s0:string;
11-
	5. ИЗВЛЕЧЬ КВАДРАТНЫЙ КОРЕНЬ
11+
ss:TS;
12-
""")
12+
13
procedure help;
14-
#Отградился от написанной выше хуйни пропуском строки
14+
Begin
15-
choice = None
15+
if fl=0 then begin
16-
while choice not in range(0,6):
16+
writeln('Format input:');
17-
	choice = int(input('Выберите действие: '))
17+
writeln('4+5');
18-
	if choice != 'None' and choice not in range(0,6):
18+
writeln('5-9');
19-
		print('ТЫ ДОЛБАЕБ ЧТОЛИ, СУКА!? ОТ 0 ДО 6, СУКА, ВЫБЕРИ, БЛЯТЬ, ЕБУЧЕЕ ДЕЙСТВИЕ!')
19+
writeln('3*5.7');
20
writeln('8.0/7');
21-
if choice == 0:
21+
writeln('2^10');
22-
	def dodawanie(a,b):
22+
writeln('sqrt 25');
23-
		print('СУММА ЧИСЛА %d И ЧИСЛА %d РАВНА:' % (a, b), a+b)
23+
writeln('cos 0.5');
24-
	a = int(input('ВВЕДИТЕ ПЕРВОЕ ЧИСЛО: '))
24+
writeln('sin 1');
25-
	b = int(input('ВВЕДИТЕ ВТОРОЕ ЧИСЛО: '))
25+
write('>>> ');end
26-
	dodawanie(a,b)
26+
        else write('>>> ');
27
fl:=1;
28-
elif choice == 1:
28+
End;
29-
	def odejmowanie(a,b):
29+
30-
		print('РАЗНИЦА ЧИСЛА %d И ЧИСЛА %d РАВНА:' % (a, b), a-b)
30+
procedure vivod;
31-
	a = int(input('ВВЕДИТЕ ПЕРВОЕ ЧИСЛО: '))
31+
Begin
32-
	b = int(input('ВВЕДИТЕ ВТОРОЕ ЧИСЛО: '))
32+
writeln(s0);
33-
	odejmowanie(a,b)
33+
End;
34
35-
elif choice == 2:
35+
procedure probel(ss:TS);
36-
	def dzielenie(a,b):
36+
Begin
37-
		choice = int(input('ВЫ ХОТИТЕ РАЗДЕЛИТЬ С ОСТАТКОМ ИЛИ БЕЗ? ЕСЛИ ТЫ ДАУН >>> 0 БЕЗ, 1 С ОСТАТКОМ: '))
37+
n:=strtofloat(ss.s2);
38-
		if choice == 0:
38+
case ss.s1 of
39-
			print('ЧАСТНОЕ ОТ ЧИСЛА %d РАЗДЕЛЁННОГО НА ЧИСЛО %d БЕЗ ОСТАТКА РАВНО:' % (a, b), a//b)
39+
        'sqrt':n:=(sqrt(n));
40-
		else:
40+
        'cos':n:=(cos(n));
41-
			print('ЧАСТНОЕ ОТ ЧИСЛА %d РАЗДЕЛЁННОГО НА ЧИСЛО %d С ОСТАТКОМ РАВНО:' % (a, b), a/b)
41+
        'sin':n:=(sin(n));
42-
	a = int(input('ВВЕДИТЕ ДЕЛИМОЕ: '))
42+
        end;
43-
	b = int(input('ВВЕДИТЕ ДЕЛИТЕЛЬ: '))
43+
s0:=floattostr(n);
44-
	dzielenie(a,b)
44+
vivod;
45
End;
46-
elif choice == 3:
46+
47-
	def mnozenie(a,b):
47+
procedure raschot(ss:TS);
48-
		print('ПРОИЗВЕДЕНИЕ ЧИСЛА %d И ЧИСЛА %d РАВНА:' % (a, b), a*b)
48+
Begin
49-
	a = int(input('ВВЕДИТЕ ПЕРВОЕ ЧИСЛО: '))
49+
if ch=' ' then probel(ss)
50-
	b = int(input('ВВЕДИТЕ ВТОРОЕ ЧИСЛО: '))
50+
        else
51-
	mnozenie(a,b)
51+
        begin
52
n1:=strtofloat(ss.s1);
53-
elif choice == 4:
53+
n2:=strtofloat(ss.s2);
54-
	def stopien_kwadratowy(a,b):
54+
case ch of
55-
		print('ЧИСЛО %d В СТЕПЕНИ %d РАВНО:' % (a,b), a**b)
55+
        '+':n:=n1+n2;
56-
	a = int(input('ВВЕДИТЕ ЧИСЛО, КОТОРОЕ ХОТИТЕ ВОЗВЕСТИ В СТЕПЕНЬ: '))
56+
        '-':n:=n1-n2;
57-
	b = int(input('ВВЕДИТЕ СТЕПЕНЬ, В КОТОРУЮ ХОТИТЕ ВОЗВЕСТИ ЧИСЛО: '))
57+
        '*':n:=n1*n2;
58-
	stopien_kwadratowy(a,b)
58+
        '/':n:=n1/n2;
59
        '^':n:=power(n1,n2);
60-
elif choice == 5:
60+
        end;
61-
	def korzen_kwadratowy(a):
61+
s0:=floattostr(n);
62-
		print('КВАДРАТНЫЙ КОРЕНЬ ОТ ЧИСЛА %d РАВЕН:' % (a), math.sqrt(a))
62+
vivod;
63-
	a = int(input('ВВЕДИТЕ ЧИСЛО, ИЗ КОТОРОГО ХОТИТЕ ИЗВЛЕЧТЬ КВАДРАТНЫЙ КОРЕНЬ: '))
63+
        end;
64-
	korzen_kwadratowy(a)
64+
End;
65
66-
input('\nENTER ДЛЯ ВЫХОДА')
66+
function vvod:TS;
67
Begin
68
help;
69
readln(s);
70
if s='exit' then halt;
71
i:=0;ch:=#0;k:=0;
72
while i<length(s) do
73
        begin
74
        i:=i+1;
75
        if (s[i]='+')or(s[i]='-')or(s[i]='*')or(s[i]='/')or(s[i]='^')or(s[i]=' ')
76
                then begin ch:=s[i];k:=i;i:=length(s);end;
77
        end;
78
ss.s1:=copy(s,1,k-1);
79
ss.s2:=copy(s,k+1,length(s)-k);
80
vvod:=ss;
81
End;
82
83
84
85
BEGIN
86
while(true)do raschot(vvod);
87
END.