嵌套循环/循环控制教程

时间:2009-01-19 22:49:47

标签: loops

我正在寻找一个关于编写和设计循环的好教程。我理解循环的基础知识,但嵌套循环给我带来了很多麻烦。为了给你和想法,下面的模式对我来说很难解决。

1
12个
123个
1234
12345个
123456

7 个答案:

答案 0 :(得分:7)

<强>循环

循环是一种构造,它使一组指令可以多次执行。 有几个循环结构:

零或更多

这些循环在迭代开始时进行检查,因此将执行0次或更多次。一个while循环就是一个例子。

一个或多个

这些循环在迭代结束时进行检查,因此将至少执行一次。 do while循环就是一个例子。

带计数器的循环

这些循环有一个计数器,从一定数量到另一个数字。该数字可以在循环内使用(例如,访问数组的字段)。

使用迭代器循环

这些循环使用迭代器遍历某个结构。

无尽的循环

这些循环没有尽头。但当然没有什么是永恒的,所以循环通常包含一个隐藏的机制。

嵌套循环

如果你理解单循环,嵌套循环可能很困难。但是你需要一次关注一个循环。 让我们举个例子:

1
12
123
1234
12345
123456

好的,我们先来看看这些台词。

  • 第一行有一个1
  • 第二行从1到2
  • 计算
  • 第三行从1到3
  • 计算
  • ...

通常:第n行从1到n计数。

太棒了,不,我们有个人路线。但现在让我们来看看所有细节。

  • 第一个有n = 1
  • 第二个有n = 2
  • 第三个有n = 3
  • ...

嗯,所以我们可以使用外循环的循环计数器作为内循环中的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

答案 1 :(得分:1)

退房:

一般而言(语言中立)术语,基本逻辑非常简单。如果内循环早期终止,它可以变得更复杂。休息的方式。它可能导致外循环移动到下一个值,或者它也可能完全退出外循环。

了解这一点的最佳方法是尝试不同的案例来了解它们的行为方式,并了解退出循环的方法。

答案 2 :(得分:1)

这些怎么样:

Nested Loops

The Power of Nested Loops

或在YouTube上“SQL联接,嵌套循环以及不到6分钟内的所有内容”http://www.youtube.com/watch?v=SmDZaH855qE

答案 3 :(得分:0)

我不记得在学习编程时看到任何“循环设计”为中心的教程。 如果你刚开始处理不同的问题和算法,你将掌握循环。寻找矩阵问题,例如,你需要嵌套循环......

答案 4 :(得分:0)

我不知道有关此主题的任何教程,但我建议您尝试使用Google。此外,您能够找出您的示例的事实可能意味着您不需要教程,因为您需要练习。当您第一次遇到嵌套循环时,嵌套循环有点令人惊讶。您可能还想查找与递归相关的参考/教程,这是一个相关的概念。记住,练习是完美的!

答案 5 :(得分:0)

查看MIT Course Material。还要考虑获得Safari subscription,这是一种获得一些好学习书籍的廉价方式。

MIT course指向Loops on the python wiki

我发现在纸上进行处理,列出变量有助于了解其工作原理。

答案 6 :(得分:0)

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;