我正在寻找关于编写和设计循环的好教程。我了解循环的基础知识,但嵌套循环给我带来了很多麻烦。为了给你和想法,下面的模式对我来说有点难以理解。
1
12
123
1234
12345
123456
我正在寻找关于编写和设计循环的好教程。我了解循环的基础知识,但嵌套循环给我带来了很多麻烦。为了给你和想法,下面的模式对我来说有点难以理解。
1
12
123
1234
12345
123456
循环
循环是一种使一组指令能够多次执行的结构。有几种循环结构:
零个或多个
这些循环在迭代开始时进行检查,因此将执行 0 次或更多次。while 循环就是一个例子。
一个或多个
这些循环在迭代结束时进行检查,因此将至少执行一次。do while 循环就是一个例子。
带计数器的循环
这些循环有一个计数器,可以从某个数字计数到另一个数字。该数字可以在循环内使用(例如访问数组的字段)。
带有迭代器的循环
这些循环使用迭代器来循环某个结构。
无尽的循环
这些循环没有尽头。但是当然没有什么是永远的,所以循环通常包含一个隐藏的机制。
嵌套循环
如果您了解单循环,嵌套循环可能会很困难。但是您需要一次专注于一个循环。让我们举个例子:
1
12
123
1234
12345
123456
好的,让我们先看看线条。
通常:第 n 行从 1 到 n 计数。
太好了,不,我们有单独的线路。但是现在让我们看看所有的行。
嗯,所以我们可以使用外循环的循环计数器作为内循环的n:
for n = 1 to 6
s = ''
for i = 1 to n // use the loopcounter of the outer loop
s = s + char(i)
end for
out s
end for
查看:
在一般(语言中立)术语中,基本逻辑非常简单。更复杂的地方是内部循环是否提前终止以及中断的方式。它可能会导致外循环移动到下一个值,或者它也可能完全退出外循环。
学习这一点的最好方法是尝试不同的情况以查看它们的行为,并阅读退出循环的方法。
我不记得在学习编程时看过任何以“循环设计”为中心的教程。如果您刚开始处理不同的问题和算法,您将掌握循环。寻找矩阵问题,例如,您将需要嵌套循环......
我不知道有任何关于这个主题的教程,但我建议你试试谷歌。此外,您能够弄清楚您的示例这一事实可能意味着您不需要教程,而是需要练习。当您第一次遇到嵌套循环时,它们有些令人费解。您可能还想查找与recursion相关的参考/教程,这是一个相关概念。记住,熟能生巧!
查看麻省理工学院课程资料。还可以考虑订阅 Safari,这是一种获得一些好的学习书籍的廉价方式。
这个MIT 课程指向Python wiki 上的 Loops。
我发现在纸上解决它,列出变量有助于了解它是如何工作的。
declare
s varchar2(10);
begin
for n in 1..5 loop
s:='';
for i in 1..n loop
s:=s||(i);
end loop;
dbms_output.put_line(s);
end loop;
end;