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. |