编程问题 FP

来源:百度知道 编辑:UC知道 时间:2024/05/31 22:43:29
我看不懂下面这段
给我每步都解释下
var i,n,a,max,min:integer;
begin
read(n);
read(a);
max:=a;
min:=a;
for i:=1 to n-1 do
begin
read(a);
if a>max then max:=a;
if a<min then min:=a;
end;
write(max,min);
end.

本题想必是输入n个数,输出最大值和最小值。
var i,n,a,max,min:integer; {整型(-32768--32767)}
begin
read(n); {读入个数}
read(a); {读入第一个数}
max:=a;
min:=a; {首先把最大值和最小值都设为第一个数。why?若把最小值设为0,万一所有输入值都小于0呢?所以要输入数值与输入数值比较,这里把最大值和最小值都设为第一个数就是这个原因)
for i:=1 to n-1 do
begin
read(a); {读入其他数}
if a>max then max:=a;{若新数大于最大值,最大值赋为新数}
if a<min then min:=a;{若新数小于最小值,最小值赋为新数}
end;
write(max,min); {输出}
end.

每行翻译如下:
定义变量: i,n,a,max,min且每个变来那个都是integer类型,即小整数类型(范围为[-32767,32767])
开始
读入n
读入a
将max赋值为a
将min赋值为a
将i从1到n-1循环
开始
读入a
如果a>max则将max赋值为a
如果a<min则将min赋值为a
结束
打印max,min
结束

这是一个求给定的n个数中最大值和最小值的程序。