请问这句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 {如超一页,要暂停分页显示}是什么意思?

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个数据,再停住,再等你按回车……