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