Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Night19
Зарегистрирован: 22.12.2006 Сообщения: 2
|
Добавлено: Пт Дек 22 2006 12:31 Заголовок сообщения: Стековый калькулятор |
|
|
Помогите, пожалуйста, найти ошибку в программе стекового калькулятора или помогите наптсать новый стековый калькулятор. Большое спасибо!
Program calculator;
Const
maxStack = 250; {максимальный размер стека }
c: Integer=0;
Var
stek: array [1..maxStack] of Integer; {стек}
x: integer;
s: string;
a, b: integer;
Procedure Push; {положить на стек}
begin
if c<>maxStack then
begin
inc (c);
stek[c] := x;
writeln('pushed ', stek[c]);
end;
end;
Function Pop:integer; {вытащить из стека }
begin
if c<>0 then
begin
pop:=stek[c];
dec(c);
end;
end;
begin
writeln('введите функцию для калькулятора');
write(':');
readln(a);
writeln('введите функцию для калькулятора ');
write(':');
readln(b);
val(s, a, b);
if (b=0) and ((length(s)>1) or(s[1]<> '-')) then
push
else
case s[1] of
'+':
begin
a:=pop;
b:=pop;
x:=a+b;
push;
{ writeln(x);}
end;
'-':
begin
a:=pop;
b:=pop;
x:=a-b;
push;
{ writeln(x);}
end;
'/':
begin
a:=pop;
b:=pop;
if a=0 then
writeln ('¤Ґ«Ёвм 0 Ќ…‹њ‡џ')
else
begin
x:=b div a;
push;
{ writeln(x);}
end;
end;
'*':
begin
a:=pop;
b:=pop;
x:=a*b;
push;
{ writeln(x);}
end;
end;
writeln('x=',x);
readln;
end. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пт Дек 22 2006 12:35 Заголовок сообщения: |
|
|
1. Оформить код соответствующими тэгами
2. Возникают ли ошибки на этапе компиляции? Если да, то привести текст ошибок
3. Возникают ли ошибки во время выполнения? Если да, то привести текст ошибок
Или просто программа не работает? Тогда привести несколько примеров входных и выходных данных. _________________ Самоловских Виталий aka Kefir |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Night19
Зарегистрирован: 22.12.2006 Сообщения: 2
|
Добавлено: Пт Дек 22 2006 19:23 Заголовок сообщения: |
|
|
на не добавляет элементы на стек и не производит с ними вычисления |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пн Дек 25 2006 06:29 Заголовок сообщения: |
|
|
Откуда Вы это знаете? _________________ Самоловских Виталий aka Kefir |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|