Siemka
napisałem kalkulator choć nie wiem gdzie leży w tym całym programie bład niby że pokazuje że “nastos” a ja tam nic nie widze ;o ;/.
program calcRPN;
uses strings,math,crt;
var
stos:array[1..8] of real;
procedure nastos(liczba:real);
begin
stos[8]:=(stos[7]);
stos[7]:=(stos[6]);
stos[6]:=(stos[5]);
stos[5]:=(stos[4]);
stos[4]:=(stos[3]);
stos[3]:=(stos[2]);
stos[2]:=(stos[1]);
stos[1]:=liczba;
end;
procedure pokazstos;
var i:integer;
begin
for i:=1 to 8 do
writeln('stos[',i,']=',stos[i]);
end;
function zestosu():real;
var liczba:real;
begin
liczba:=stos[1];
stos[1]:=(stos[2]);
stos[2]:=(stos[3]);
stos[3]:=(stos[4]);
stos[4]:=(stos[5]);
stos[5]:=(stos[6]);
stos[6]:=(stos[7]);
stos[7]:=(stos[8]);
stos[8]:=0;
zestosu:=liczba;
end;
procedure rotstos;
var a:real;
begin
a:=stos[8];
stos[8]:=(stos[7]);
stos[7]:=(stos[6]);
stos[6]:=(stos[5]);
stos[5]:=(stos[4]);
stos[4]:=(stos[3]);
stos[3]:=(stos[2]);
stos[2]:=(stos[1]);
stos[1]:=a;
end;
procedure invrotstos;
var a:real;
begin
a:=stos[1];
stos[1]:=(stos[2]);
stos[2]:=(stos[3]);
stos[3]:=(stos[4]);
stos[4]:=(stos[5]);
stos[5]:=(stos[6]);
stos[6]:=(stos[7]);
stos[7]:=(stos[8]);
stos[8]:=a;
end;
var x:real;
a:string;
e:integer;
begin
a:='';
repeat
begin
clrscr;
writeln('Type: "quit" to quit ;)');
pokazstos;
readln(a);
Val(a,x,e);
if (e=0) then
nastos(x);
end;
until (a='quit');
end.
z góry dzieki za pomoc