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