找pascal高手来看

来源:百度知道 编辑:UC知道 时间:2024/06/03 05:44:56
program oi_oo7;
var
i,j,k,l,jp,jq,jc,x,y,x1,y1:integer;
p,q :array[1..10,1..2] of integer;
c :array[1..20,1..2] of integer;
begin
jp:=0;
readln(x,y);
while x<>0 do
begin jq:=jp+1: p[jp,l]:=x; p[jp,2]:=y; readln(x,y) end;
jc:=1 [jc,1]:=0; c[jc,2]:=-1000;
for i:=1 to jp do
begin
x:=p[i,1];
y;=p[i,2];
for j:=1 to jp do k+;k+1;
begin
x1:=x*q[j,1];
y1:=y+q[j,2];
k:=1;
while yi<c[k,2] do k:=k+1;
if y1<c[k,2] do then c[k,1]:=c[k,1]+x1;
else
begin
for 1:=jc down to k do
begin
c[l+1,1]:=c[l,1];
c[l+1,2]:=c[l,2];

const max=100;

var symbol:array[1..max]of char;
number:array[0..max]of integer;
s,t:string;
i,p,j,code:integer;

procedure push;
begin
inc(p);
symbol[p]:=s[i];
end;

procedure pop;
var r:real;
begin
dec(p);
case symbol[p+1] of
'+':inc(number[p],number[p+1]);
'-':dec(number[p],number[p+1]);
'*':number[p]:=number[p]*number[p+1];
'/':number[p]:=number[p] div number[p+1];
'^':number[p]:=trunc(exp(number[p+1]*ln(number[p])));
end;
end;

function can:boolean;
begin
can:=true;
if (s[i] in ['+','-'])and(symbol[p]<>'(') then exit;
if (s[i] in ['*','/'])and(symbol[p] in ['*','/']) then exit;
if (s[i]='^')and(symbol[p]='^') then exit;
can:=false;
end;

begin