请问这句PASCAL程序什么意思?
来源:百度知道 编辑:UC知道 时间:2024/05/19 23:34:50
var i,zimu,j,k:char;
begin
repeat
writeln('input a char:');
readln(zimu);
zimu:=upcase(zimu);
until (zimu>='A') and (zimu<='Z');
for i:='A' to zimu do begin
write(' ':(ord(zimu)-ord(i))+1); {留空格}
for j:='A' to i do write(j); {顺序写字母}
for j:=pred(i) downto 'A' do write(j); {逆序写字母}
if (ord(i)-64) mod 25=0 then readln {如超一页,要暂停分页显示}
else writeln;
end;
end.
请问其中if (ord(i)-64) mod 25=0 then readln {如超一页,要暂停分页显示}是什么意思?
begin
repeat
writeln('input a char:');
readln(zimu);
zimu:=upcase(zimu);
until (zimu>='A') and (zimu<='Z');
for i:='A' to zimu do begin
write(' ':(ord(zimu)-ord(i))+1); {留空格}
for j:='A' to i do write(j); {顺序写字母}
for j:=pred(i) downto 'A' do write(j); {逆序写字母}
if (ord(i)-64) mod 25=0 then readln {如超一页,要暂停分页显示}
else writeln;
end;
end.
请问其中if (ord(i)-64) mod 25=0 then readln {如超一页,要暂停分页显示}是什么意思?
ord(i)
表示字母i的ASCII码
A的ASCII是65
所以ord(i)-64就是将字母A,B,C,D……对应为1,2,3,4……
if (ord(i)-64) mod 25表示
如果ord(i)-64是25的倍数,就读入一个回车
相当于:输出25个数据,就停住,等你按回车
再输出25个数据,再停住,再等你按回车……