pascal 阅读程序

pascal 阅读程序
Program ex303;
Const
NN=7;
Type
Arr1=array[0..30] of char;
var
s:arr1;
k,p:integer;
Function fun(s:arr1; a:char;n:integer):integer;
var
j:integer;
begin
j:=n;
while (a0) do dec(j);
fun:=j;
end;
begin
for k:=1 to NN do
s[k]:=chr(ord('A')+2*k+1);
k:=fun(s,'M',NN);
writeln(k);
end.
解释一下各语句的意义,图中红色语句的把意义和执行后的详细情况(对程序各部分数值等的改变)也说明。
如果回答的好的我还会+悬赏
Program ex303;
Const
NN=7; //NN的值
Type
Arr1=array[0..30] of char;
var
s:arr1;
k,p:integer;
Function fun(s:arr1; a:char;n:integer):integer;
var
j:integer;
begin
j:=n; {j被赋成7,指州腔派向数组末尾}
while (a0) do dec(j);{如果查找字母比s[j]这个字母小,就把j减1,循环直到查找字母比s[j]大或等于,或者j=0}
fun:=j; {返回j的值}
end;
begin
for k:=1 to NN do
s[k]:=chr(ord('A')+2*k+1);{s[k]被赋成ASCII码为圆答(字母A的ASCII码+2*k+1)的字母,执行完应是这样的 s=(D,F,H,J,L,N,P)}
k:=fun(s,'M',NN); {利用函数查找M按字母表顺序排列应在s数组中的册贺位置}
writeln(k); {输出这一位置}
end.
Program ex303;
Const
NN=7;
Type
Arr1=array[0..30] of char;
var
s:arr1;
k,p:integer;
Function fun(s:arr1; a:char;n:integer):integer;
var
j:integer;
begin
j:=n;
while (a0) do dec(j);
fun:=j;
end;
begin
for k:=1 to NN do
s[k]:=chr(ord('A')+2*k+1);
k:=fun(s,'M',NN);
writeln(k);
end.
编译通过昌森敬,耐慎春塌但无运行结果!
← 上一篇: 下一篇: →