For/ru: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | - | ||
| 2 | 1 | [[Keyword/ru|Ключевое слово]] **for** используется вместе с "[[To/ru|to]]"\\"[[Downto/ru|downto]]" и "[[Do/ru|do]]" для выполнения цикла, в котором значение управляющей переменной на каждом шаге увеличивается или уменьшается на 1: | |
| 3 | 2 | ||
| 4 | 3 | `FOR `*`control_variable`*` := `*`start`*` `[[To/ru|TO]]` `*`final`*` DO `*`statement`* | |
| 5 | 4 | ||
| 6 | 5 | в котором *control_variable* увеличивается на 1 на каждом шаге выполнения цикла до тех пор, пока её значение не будет больше или равно *final* или | |
| 7 | 6 | ||
| 8 | 7 | `FOR `*`control_variable`*` := `*`start`*` `[[Downto/ru|DOWNTO]]` `*`final`*` DO `*`statement`* | |
| 9 | 8 | ||
| 10 | 9 | в котором *control_variable* уменьшается на 1 на каждом шаге выполнения цикла до тех пор, пока её значение не будет меньше или равно *final* | |
| 11 | 10 | ||
| 12 | 11 | где *control_variable* - переменная, которая должна быть установлена в значение *start*. Управляющая переменная увеличивается или уменьшается на 1 на каждом шаге цикла до тех пор, пока её значение не достигнет или превысит значения *final*. | |
| 13 | 12 | ||
| 14 | 13 | ``` pascal | |
| 15 | 14 | For I:=1 To 100 Do statement; | |
| 16 | 15 | ``` | |
| 17 | 16 | ||
| 18 | 17 | (повторяет *statement* сто раз, увеличивая значение **I** от 1 до 100) | |
| 19 | 18 | ||
| 20 | 19 | ``` pascal | |
| 21 | 20 | for I:=100 downto 1 do ''statement''; | |
| 22 | 21 | ``` | |
| 23 | 22 | ||
| 24 | 23 | (повторяет *statement* сто раз, уменьшая значение **I** от 100 до 1) | |
| 25 | 24 | ||
| 26 | 25 | - Цикл FOR будет выполнять только один единственный оператор, следующий за ним. Для выполнения большего количества операторов необходимо заключить их в блок [[Begin/ru|Begin]]/[[End/ru|End]]. | |
| 27 | 26 | - Если в цикле **for..to** значение *start* больше значения *final*, то цикл не выполнится | |
| 28 | 27 | - Если в цикле **for..downto** значение *start* меньше значения *final*, то цикл не выполнится | |
| 29 | 28 | ||
| 30 | 29 | После выполнения цикла значение *control_variable* будет равно *final*. Если цикл не выполнился, то значение *control_variable* не изменится. | |
| 31 | 30 | ||
| 32 | 31 | - вы можете использовать [[Type/ru|types]] вместо чисел. | |
| 33 | 32 | ||
| 34 | 33 | ## См. также | |
| 35 | 34 | ||
| 36 | 35 | - [[Example: Why the loop variable should be of signed type]] | |
| 37 | 36 | ||
| 38 | 37 | --- | |
| 39 | 38 | *From the Free Pascal wiki, page "For/ru", as it stood on 2020-02-15 after a change by Trev, 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).* |
