free pascal 多重循环

来源:百度知道 编辑:UC知道 时间:2024/06/09 04:40:58
就像题目说的,我不懂得理解多重循环,单个的循环可以理解,2个就不能了,就像for to 里面嵌套for to一样,请谁帮忙解释下
主要就是像是确定坐标,还有什么九宫格的还有用*画菱形的不会

for a:=1 to 10 do 第一重循环
for b:=11 to 20 do 第二重循环

这个循环,是2重循环,可以这样理解

for a:=1 to 10 do
begin
//执行语句
end;

其中的 执行语句 就是:
for b:=11 to 20 do
begin
//
end;

其实就一句话:后面的循环,都是前面循环中的执行语句之一

比如说
for a:=1 to 10 do
for b:=11 to 20 do
这就是一个双重循环
先做a为1,b为11;然后是a为1,b为12……
a为2,b为11;a为2,b为12……
……
一直到a为10,b为20
OK?

你写个:
var
i,j:integer;
begin
for i:=1 to 5 do
begin
for j:=1 to 6 do
writeln('i=',i,' j=',j);
end;
end;
完成后按Alt+F5查看输出结果

你写个:
var
i,j:integer;{定义类型}
begin
for i:=1 to 5 do{外循环,执行一次后跳到下一个循环}
begin
for j:=1 to 6 do{内循环,在外循环后执行6次(1 to 6 嘛)}
writeln('i=',i,' j=',j);{输出}
end;
end.

for i:=1 to 3 do
for j:=1 to i do
结粿 i=1 j=1
i=2 j=1 j=2
i=3 j=1 j=2 j=3