![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 17.05.2011
Сообщений: 2
|
![]()
ребята помогите пожалуйста ошибки исправить, и дороботать, если надо. как еще сделать вывод отрицательных чисел? Большое спасибо за ранее
![]() ![]() PROGRAM CALCULIATOR; USES CRT; CONST A=['1','2','3','4','5','6','7','0']; B=['=','-','/','*']; VAR C,N,M,D,W,E,T,Y,X,O,I,P,J: REAL; S,L,K,R,G: STRING; BEGIN CLRSCR; L:=''; K:=''; C:=0; D:=1; W:=1; E:=0; WRITELN('Calc vipolnil Poslov'); N:=1; REPEAT READ(S); IF S IN A THEN L:=L+S; ELSE IF S IN B THEN BEGIN K:=L; CASE S OF '+': R:='+'; '-': R:='-'; '*': R:='*'; '/': R:='/'; END; ELSE IF S:='=' THEN C:=1; ELSE WRITELN('VVEDENNOE CHISLO NE PODHODIT'); UNTIL C>=1; FOR N:=LENGTH(K) DOWNTO 1 DO BEGIN FOR M:=1 TO D DO W:=W*8; VAL(K; VAR T; VAR CODE: INTEGER); E:=E+T*W; D:=D+1; END; W:=1; D:=1; N:=1; S:=''; FOR N:=LENGTH(L) DOWNTO 1 DO BEGIN FOR M:=1 TO D DO W:=W*8; VAL(L; VAR Y; VAR CODE: INTEGER); X:=X+Y*W; D:=D+1; END; CASE R OF '+': O:=E+X; '-': O:=E-X; '*': O:=E*X; '/': O:=E/X; WHILE O>8 DO BEGIN I:=O TRUNC 8; P:=O INT 8; O:=O-P; SIR(P;G) S:=S+G; END; FOR J:=LENGTH(S) DOWNTO 1 DO WRITE(S[J]); END. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Новый двухкнопочный калькулятор для новой операционной системы. Пишем новые программы для BolgenOS. | Ecosasha | Софт | 16 | 06.06.2010 13:32 |
Калькулятор, системы исчисления | Илья Лаури | Помощь студентам | 1 | 05.06.2010 19:30 |
Калькулятор | Ekaterina90 | Помощь студентам | 0 | 18.05.2010 11:02 |
Калькулятор для 8-ой системы | Sasuke-cun | Общие вопросы Delphi | 4 | 02.12.2009 16:01 |
обьясните пожалуйста как переводить числа с восьмеричной системы в десятиричную... | ksena_holy | Помощь студентам | 7 | 06.07.2009 14:42 |