Basic Pascal Tutorial/Chapter 3/FOR..DO/zh CN: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Basic Pascal Tutorial/Chapter 3/FOR..DO/zh CN
| Old | New | Line | |
|---|---|---|---|
| 1 | + | 3Da - FOR..DO循环 (原作者: Tao Yue, 状态: 未更改) | |
| 2 | + | ||
| 3 | + | 循环是指重复执行某动作,直至满足某些条件。 | |
| 4 | + | ||
| 5 | + | 有三种类型的循环: | |
| 6 | + | ||
| 7 | + | - 固定重复 - 重复固定的次数 | |
| 8 | + | - 先判断 - 测试一个布尔表达式,如果为真,则进入循环 | |
| 9 | + | - 后判断 - 先进入循环,判断布尔表达式为真,则继续循环 | |
| 10 | + | ||
| 11 | + | 在Pascal中,已知循环次数,使用for循环: | |
| 12 | + | ||
| 13 | + | ``` pascal | |
| 14 | + | for 索引 := 开始(小) to 结束(大) do | |
| 15 | + | 语句; | |
| 16 | + | ``` | |
| 17 | + | ||
| 18 | + | 索引必须是有序数据类型,它可以在循环体内计算,但你不能更改索引值。示例: | |
| 19 | + | ||
| 20 | + | ``` pascal | |
| 21 | + | sum := 0; | |
| 22 | + | for count := 1 to 100 do | |
| 23 | + | sum := sum + count; | |
| 24 | + | ``` | |
| 25 | + | ||
| 26 | + | 计算机会使用较长的时间来计算总和,[数学家高斯](http://zh.wikipedia.org/wiki/%E5%8D%A1%E7%88%BE%C2%B7%E5%BC%97%E9%87%8C%E5%BE%B7%E9%87%8C%E5%B8%8C%C2%B7%E9%AB%98%E6%96%AF)有更快的方式来计算总和。(`1+100=101,2+99=101`,...看出规则吗?有100个数字,所以重复50次。`101*50=5050`。这可不是高等数学,来源属于高斯可能是杜撰的。) | |
| 27 | + | ||
| 28 | + | <b>在使用`for-to-do`时,初始值必须小于结束值,要不然循环不会执行! | |
| 29 | + | ||
| 30 | + | 更不能在循环体内修改索引值,否则会造成编译错误。 | |
| 31 | + | ||
| 32 | + | 也不能更改开始与结束值(因为,并不会按着你想的那样循环)。</b> | |
| 33 | + | ||
| 34 | + | 如果你想递减式循环,你可以使用`for-downto-do`: | |
| 35 | + | ||
| 36 | + | ``` pascal | |
| 37 | + | for 索引 := 开始(大) downto 结束(小) do | |
| 38 | + | statement; | |
| 39 | + | ``` | |
| 40 | + | ||
| 41 | + | 在Pascal中,for循环自增量(步长)为1。 | |
| 42 | + | ||
| 43 | + | | | | | | |
| 44 | + | |----|----|----| | |
| 45 | + | | [[Basic Pascal Tutorial/Chapter 3/CASE/zh CN|上一页]] | [[Basic Pascal Tutorial/Contents/zh CN|目录]] | [[Basic Pascal Tutorial/Chapter 3/WHILE..DO/zh CN|下一页]] | | |
| 46 | + | ||
| 47 | + | --- | |
| 48 | + | *From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 3/FOR..DO/zh CN", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
