Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π¦ΠΈΠΊΠ»Ρ‹ Π² языкС 1Π‘ 8.3, 8.2 (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…)

Π¦ΠΈΠΊΠ»Ρ‹ Π² языкС 1Π‘ 8.3, 8.2 (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…)

ВступайтС Π² мою Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ программиста.
Π’ Π½Π΅ΠΉ ΠΌΡ‹ обсуТдаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² 1Π‘.

2017-12-18T22:10:00+00:00Π”Π°Ρ‚Π° Если ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π¦ΠΈΠΊΠ»Ρ‹
Π”ΠΈΠ°Π»ΠΎΠ³ΠΈ ОписаниСВипов ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°ΡΠ‘ΠΈΡΡ‚Π΅ΠΌΠ° ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ БоотвСтствиС
БписокЗначСний Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ЀайловаяБистСма Π€ΠΎΡ€ΠΌΠ°Ρ‚

ΠžΠ±Ρ‰ΠΈΠ΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Запросы ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π‘ΠΌ. ΡƒΡ€ΠΎΠΊ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎ Ρ†ΠΈΠΊΠ»Π°ΠΌ Π² 1Π‘ (Ρ‡Π°ΡΡ‚ΡŒ 1)
Π‘ΠΌ. ΡƒΡ€ΠΎΠΊ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎ Ρ†ΠΈΠΊΠ»Π°ΠΌ Π² 1Π‘ (Ρ‡Π°ΡΡ‚ΡŒ 2)
Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² Π²ΠΈΠ΄Π΅ тСстовой Π±Π°Π·Ρ‹ (ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ)
Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ с дСмонстрациСй выполнСния ΠΊΠΎΠ΄Π°

ΠŸΠΎΠ»Π½Ρ‹ΠΉ синтаксис (Π½Π°ΠΆΠΌΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ)

Π¦ΠΈΠΊΠ» Для

ОписаниС:

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° Для ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для цикличСского повторСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², находящихся Π²Π½ΡƒΡ‚Ρ€ΠΈ конструкции Π¦ΠΈΠΊΠ» – ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°.

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ выполнСния Ρ†ΠΈΠΊΠ»Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 1 присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ автоматичСски увСличиваСтся ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ Ρ†ΠΈΠΊΠ»Π°. Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Π° приращСния счСтчика ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π²Π½Π° 1.

Π¦ΠΈΠΊΠ» выполняСтся, ΠΏΠΎΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2. УсловиС выполнСния Ρ†ΠΈΠΊΠ»Π° всСгда провСряСтся Π² Π½Π°Ρ‡Π°Π»Π΅, ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ†ΠΈΠΊΠ»Π°.

Бинтаксис:

Для <Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ> = <Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 1> По <Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2> Π¦ΠΈΠΊΠ»
    // ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
    [ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ;]
    // ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
    [ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ;]
    // ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (счСтчика Ρ†ΠΈΠΊΠ»Π°), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ автоматичСски увСличиваСтся Π½Π° 1 ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°. Π’Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ счСтчик Ρ†ΠΈΠΊΠ»Π°.
Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 1ЧисловоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Π΄Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, присваиваСмоС счСтчику Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ Ρ†ΠΈΠΊΠ»Π°.
ΠŸΠΎΠ‘ΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ связка для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2.
Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2МаксимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Ρ†ΠΈΠΊΠ»Π°. Когда пСрСмСнная Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ становится большС Ρ‡Π΅ΠΌ Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π° Для прСкращаСтся.
Π¦ΠΈΠΊΠ»ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Π¦ΠΈΠΊΠ» Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ значСния Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2.
//Β ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².
ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° Π² любой Ρ‚ΠΎΡ‡ΠΊΠ΅. ПослС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π·Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°.
ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒΠΠ΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π³Π΄Π΅ производится вычислСниС ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий выполнСния Ρ†ΠΈΠΊΠ»Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° Π·Π° Π½ΠΈΠΌ, Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ.
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ структуру ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π°.
Β Β 

Π¦ΠΈΠΊΠ» Для КаТдого

ОписаниС:

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для цикличСского ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° возвращаСтся Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. ΠžΠ±Ρ…ΠΎΠ΄ осущСствляСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Π½Ρ‹ всС элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Бинтаксис:

Для КаТдого <Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ_1> Из <Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ_2> Π¦ΠΈΠΊΠ»
    // ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
    [ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ;]
    // ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
    [ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ;]
    // ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ_1ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ элСмСнта ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.
Π˜Π·Π‘ΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ связка для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ_2.
Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ_2
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ этой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ Имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ_1.
Π¦ΠΈΠΊΠ»ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Π¦ΠΈΠΊΠ» Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.
//Β ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².
ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° Π² любой Ρ‚ΠΎΡ‡ΠΊΠ΅. ПослС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π·Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°.
ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒΠΠ΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π³Π΄Π΅ производится вычислСниС ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий выполнСния Ρ†ΠΈΠΊΠ»Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° Π·Π° Π½ΠΈΠΌ, Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ.
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ структуру ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π°.
Β Β 

Цикл Пока

ОписаниС:

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° Пока ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для цикличСского повторСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², находящиСся Π²Π½ΡƒΡ‚Ρ€ΠΈ конструкции Π¦ΠΈΠΊΠ» – ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°. Π¦ΠΈΠΊΠ» выполняСтся, ΠΏΠΎΠΊΠ° логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ Π˜ΡΡ‚ΠΈΠ½Π°. УсловиС выполнСния Ρ†ΠΈΠΊΠ»Π° всСгда провСряСтся Π²Π½Π°Ρ‡Π°Π»Π΅, ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ†ΠΈΠΊΠ»Π°.

Бинтаксис:

Пока <ЛогичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> Π¦ΠΈΠΊΠ»
    // ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
    [ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ;]
    // ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
    [ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ;]
    // ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

ЛогичСскоС выраТСниСЛогичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
Π¦ΠΈΠΊΠ»ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Π¦ΠΈΠΊΠ», Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ, ΠΏΠΎΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ логичСского выраТСния Ρ€Π°Π²Π΅Π½ Π˜ΡΡ‚ΠΈΠ½Π°.
//Β ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².
ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° Π² любой Ρ‚ΠΎΡ‡ΠΊΠ΅. ПослС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π·Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°.
ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒΠΠ΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π³Π΄Π΅ производится вычислСниС ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий выполнСния Ρ†ΠΈΠΊΠ»Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° Π·Π° Π½ΠΈΠΌ, Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ.
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ структуру ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π°.

ОглавлСниС (Π½Π°ΠΆΠΌΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ)

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅
ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠšΠΎΠ΄(Команда)
Β 
Β Β Β Β /// Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² 1с 8.3, 8.2
Β 
    // Для Π¦ΠΈΠΊΠ»
    Для Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 1 По 5 Π¦ΠΈΠΊΠ»
        Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ); // 1 2 3 4 5
    ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;
Β 
    // Для КаТдого Π¦ΠΈΠΊΠ»
Β 
    Π”Π½ΠΈ = Новый Массив();
    Π”Π½ΠΈ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ПонСдСльник");
    Π”Π½ΠΈ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π’Ρ‚ΠΎΡ€Π½ΠΈΠΊ");
    Π”Π½ΠΈ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π‘Ρ€Π΅Π΄Π°");
Β 
    Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из Π”Π½ΠΈ Π¦ΠΈΠΊΠ»
        Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚); // ПонСдСльник Π’Ρ‚ΠΎΡ€Π½ΠΈΠΊ Π‘Ρ€Π΅Π΄Π°
    ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;
Β 
    // Пока Цикл
    Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 0;
    Пока Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ < Π”Π½ΠΈ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() Π¦ΠΈΠΊΠ»        
        Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π”Π½ΠΈ[Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ]); // ПонСдСльник Π’Ρ‚ΠΎΡ€Π½ΠΈΠΊ Π‘Ρ€Π΅Π΄Π°
        Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ + 1;     
    ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;     
Β 
Β Β Β Β /// Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Π² 1с 8.3, 8.2     
Β 
    Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = Π”Π½ΠΈ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1;     
    Пока Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ >= 0 Π¦ΠΈΠΊΠ»
        Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π”Π½ΠΈ[Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ]); // Π‘Ρ€Π΅Π΄Π° Π’Ρ‚ΠΎΡ€Π½ΠΈΠΊ ПонСдСльник
        Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ - 1;
    ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;
Β 
Β Β Β Β /// Как ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² 1с 8.3, 8.2
Β 
    Для Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 1 По 5 Π¦ΠΈΠΊΠ»
        Если Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ > 2 Π’ΠΎΠ³Π΄Π°
            ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ;
        ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;
        Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ); // 1 2
    ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;
Β 
Β Β Β Β /// Как ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² 1с 8.3, 8.2
Β 
    Для Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 1 По 5 Π¦ΠΈΠΊΠ»
        Если Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ <> 3 Π’ΠΎΠ³Π΄Π°
            ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ;
        ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;
Β 
        Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ); // 3
    ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;   
Β 
ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹
Β 
/// Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² Π²ΠΈΠ΄Π΅ тСстовой Π±Π°Π·Ρ‹ (ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ)

Π¦ΠΈΠΊΠ»Ρ‹ Π² языкС 1Π‘ 8.3, 8.2 (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…)

Π”Π°Ρ‚Π° Если ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π¦ΠΈΠΊΠ»Ρ‹
Π”ΠΈΠ°Π»ΠΎΠ³ΠΈ ОписаниСВипов ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°ΡΠ‘ΠΈΡΡ‚Π΅ΠΌΠ° ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ БоотвСтствиС
БписокЗначСний Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ЀайловаяБистСма Π€ΠΎΡ€ΠΌΠ°Ρ‚

ΠžΠ±Ρ‰ΠΈΠ΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Запросы ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π‘ ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Милькин (ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ ΡˆΠΊΠΎΠ»Ρ‹ 1Π‘ программистов ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ обновлятора).

Как ΠΏΠΎΠΌΠΎΡ‡ΡŒ сайту: расскаТитС (ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π½ΠΈΠΆΠ΅) ΠΎ Π½Ρ‘ΠΌ своим Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ Π²Ρ‹ внСсСтС сущСствСнный Π²ΠΊΠ»Π°Π΄ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ сайта. На сайтС Π½Π΅Ρ‚ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹, Π½ΠΎ Ρ‡Π΅ΠΌ большС людСй ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ‚Π΅ΠΌ большС сил Ρƒ мСня для Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

НаТмитС ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ:

helpme1c.ru

Ρ†ΠΈΠΊΠ»Ρ‹ Π² 1Π‘ Ρ‡Π°ΡΡ‚ΡŒ 2

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠŸΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ вСрсия ΡƒΡ€ΠΎΠΊΠ°, ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ.

Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° сайт ΠΊΠ°ΠΊ ΡƒΡ‡Π΅Π½ΠΈΠΊ

Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΡƒΡ‡Π΅Π½ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ ΡˆΠΊΠΎΠ»Ρ‹

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ язык программирования 1Π‘ 8.3 для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов: Ρ†ΠΈΠΊΠ»Ρ‹ Π² 1Π‘ Ρ‡Π°ΡΡ‚ΡŒ 2

Автор ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΈ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ ΡˆΠΊΠΎΠ»Ρ‹:Β Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Милькин

На ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ занятии ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² языкС 1Π‘ Ρ†ΠΈΠΊΠ»ΠΎΠ²: Π¦ΠΈΠΊΠ» Для.

БСгодня нас ΠΆΠ΄Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²ΠΈΠ΄ Ρ†ΠΈΠΊΠ»Π°: Π¦ΠΈΠΊΠ» Пока.

Цикл Пока

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Ρ†ΠΈΠΊΠ»Π° выглядит Ρ‚Π°ΠΊ:

Пока ЛогичСскоСВыраТСниС Π¦ΠΈΠΊΠ»
  Команда1();
  Команда2();
  ...
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ словами Π¦ΠΈΠΊΠ» ΠΈ ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°Β Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠΊΠ° ЛогичСскоСВыраТСниС Ρ€Π°Π²Π½ΠΎ Π˜ΡΡ‚ΠΈΠ½Π΅.

Π’ качСствС логичСского выраТСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любоС условиС. Пока это условиС Π²Π΅Ρ€Π½ΠΎ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π²Π½ΠΎ Π˜ΡΡ‚ΠΈΠ½Π°) Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Ρ†ΠΈΠΊΠ»Π΅ повторяСтся снова ΠΈ снова, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ условиС пСрСстало Π±Ρ‹Ρ‚ΡŒ Π²Π΅Ρ€Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.

РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° чисСл ΠΎΡ‚ 1 Π΄ΠΎ 10, с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π¨Π°Π³ = 1;
Пока Шаг <= 10 Цикл
    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π¨Π°Π³);
    Π¨Π°Π³ = Π¨Π°Π³ + 1;
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ встрСтив Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ выполняСт Π΅Ρ‘ Ρ‚Π°ΠΊ:

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ выполнСния Ρ†ΠΈΠΊΠ»Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ

  • ΠŸΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ сопоставит ΠΈΠΌΠ΅Π½ΠΈ Π¨Π°Π³ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎΠ΅ 1.
  • Π’Π°ΠΊ ΠΊΠ°ΠΊ имя Π¨Π°Π³ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС Ρ€Π°Π²Π½ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ — условиС Ρ†ΠΈΠΊΠ»Π° Π²Π΅Ρ€Π½ΠΎ (Π¨Π°Π³ <= 10) — ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ имя Π¨Π°Π³Β Π΄ΠΎ 2.
  • Имя Π¨Π°Π³ Ρ€Π°Π²Π½ΠΎ 2, Π½ΠΎ условиС Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π²Π΅Ρ€Π½ΠΎ, поэтому ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 2 ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ имя Π¨Π°Π³ Π΄ΠΎ 3.
  • Имя Π¨Π°Π³ Ρ€Π°Π²Π½ΠΎ 10, условиС Ρ†ΠΈΠΊΠ»Π° всё Π΅Ρ‰Ρ‘ Π²Π΅Ρ€Π½ΠΎ — ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 10 ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ имя Π¨Π°Π³ Π΄ΠΎ 11.
  • Π‘Ρ‚ΠΎΠΏ! УсловиС Ρ†ΠΈΠΊΠ»Π° пСрСстало Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π¨Π°Π³ (Π²Π΅Ρ€Π½Π΅Π΅ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 11) большС 10. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ†ΠΈΠΊΠ»Π° большС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ.

Π—Π°Π΄Π°Π½ΠΈΠ΅ β„–23.Β Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ числа ΠΎΡ‚ 10 Π΄ΠΎ 100.

НС Ρ‚ΠΎΡ€ΠΎΠΏΠΈΡ‚Π΅ΡΡŒ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚! Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½ΠΈΠ΅ сами.

ΠžΡ‚Π²Π΅Ρ‚

Π¨Π°Π³ = 10;
Пока Шаг <= 100 Цикл
    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π¨Π°Π³);
    Π¨Π°Π³ = Π¨Π°Π³ + 1;
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Напоминаю, Ρ‡Ρ‚ΠΎ всС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π’Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΡƒΡ€ΠΎΠΊΠ°, ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ находятся здСсь.

А ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ сколько Ρ€Π°Π· выполнятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹:

НС Ρ‚ΠΎΡ€ΠΎΠΏΠΈΡ‚Π΅ΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅! Π’Π΅Π΄ΡŒ это, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅, бСсконСчныС Ρ†ΠΈΠΊΠ»Ρ‹. ΠšΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡Π°Π² Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ — Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ закончатся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… логичСскоС условиС всСгда Ρ€Π°Π²Π½ΠΎ Π˜ΡΡ‚ΠΈΠ½Π°.

А Π²ΠΎΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ смСло ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅:

Π’Π΅Π΄ΡŒ эти Ρ†ΠΈΠΊΠ»Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ бСсполСзных. Они Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ выполнятся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… логичСскоС условиС всСгда Ρ€Π°Π²Π½ΠΎ Π›ΠΎΠΆΡŒ.

Π—Π°Π΄Π°Π½ΠΈΠ΅ β„–24.Β ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран числа ΠΎΡ‚ 10 Π΄ΠΎ 1, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡΒ Π¦ΠΈΠΊΠ» Пока. Π’Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΡƒΡ€ΠΎΠΊΠ°, ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ находятся здСсь. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€ΠΎΠ²Π½ΠΎ ΠΏΡΡ‚ΡŒ строк.

НиТС ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠΏΡ€Π°Π²ΠΈΡ‚Π΅ΡΡŒ с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

helpme1c.ru

Π¦ΠΈΠΊΠ»Ρ‹ Π² 1Π‘

Алгоритмы ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ цикличСскоС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… дСйствий. 1Π‘ Π² этом случаС Π½Π΅ являСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. Π¦ΠΈΠΊΠ»Ρ‹ Π² 1Π‘ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚:

  • ΠŸΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ элСмСнты справочника;
  • Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ области ΠΌΠ°ΠΊΠ΅Ρ‚Π°;
  • Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ дСйствия с Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²;
  • И ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π’ΠΈΠΏΡ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ²

Π’ 1Π‘ принято Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² зависимости ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π° слов, входящих Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

  1. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Β«ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°ΡΒ» ΠΈΠ· Β«ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉΒ»;
  2. Для Β«ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°ΡΒ» = «Нач. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» По «Кон. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»;
  3. Пока Β«Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Β».

Рассмотрим ΠΈΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ·

Π­Ρ‚ΠΎΡ‚ ΠΎΠ±Ρ…ΠΎΠ΄Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ элСмСнтов справочника, сток Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ). Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° послСдний элСмСнт ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½. Π’ строкС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Ρ‹:

  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ;
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

НаиболСС часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π°Ρ ошибка Π² этом случаС ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° рис.1

Рис.1

Π§Π°Ρ‰Π΅ всСго ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° программист Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, справочником) ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ (Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ().

Для  ΠΏΠΎ

Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² строку, Π² этом случаС Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚:

  1. Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ – ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°;
  2. ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ;
  3. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², входящих Π² Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° пСрСмСнная Π½Π΅ сравняСтся ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· Π½Π΅ прСвысит ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈ этом ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° 1. ЗначСния ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ шага.

Вакая конструкция ΠΎΡ‡Π΅Π½ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частСй.

ΠŸΡ€ΠΈ использовании Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Ρ‡ΠΈΠΊΠ° Π²Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ количСство строк Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части ΠΈ индСкс ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ взятой строки. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 1, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ(). Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0 ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ()-1. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ (Рис.2).

Рис.2

Пока

Π—Π΄Π΅ΡΡŒ всСго ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ – логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Ρ†ΠΈΠΊΠ»Π° провСряСтся Π½Π° ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ.  Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ ΠΎΠ±Ρ…ΠΎΠ΄.

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях провСряСмоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ постоянно Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π˜ΡΡ‚ΠΈΠ½Π°, Ρ‚Π΅ΠΌ самым ΠΎΠ±Ρ…ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ бСсконСчноС количСство Ρ€Π°Π·, подвСшивая систСму.

Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² прСрывания выполнСния.

Иногда ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ ситуация, ΠΊΠΎΠ³Π΄Π° ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ провСряСмого выраТСния Π½Π΅ наступит Π½ΠΈΠΊΠΎΠ³Π΄Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ бСсполСзным поискам ошибки Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ выполнСния Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш

Если Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ(), Ρ‚ΠΎ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅Π³ΠΎ выполнСния, Π½Π°ΠΆΠ°Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш Ctrl+PauseBreakΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π’ этом случаС Π² ΠΎΠΊΠ½Π΅ сообщСний Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° строка (Рис.3).

Рис.3

Π’ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ нСприятных послСдствий своСй Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, программистам ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈΡƒΡ‡ΠΈΡ‚ΡŒ сСбя Π² Ρ‚Π΅Π»ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ.

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ

Достаточно часто Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ остановку Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ссли выполняСтся Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ условиС. Π—Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π² Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ.

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ записанный Π² ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ выдСляСтся красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ.

ΠŸΠ΅Ρ€Π΅ΡΠΊΠ°ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π°

Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π² Ρ†ΠΈΠΊΠ»Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ условия ΠΈ Π² случаС, Ссли это условиС Π½Π΅ выполняСтся, ΠΏΡ€ΠΎΡΠΊΠ°ΠΊΠΈΠ²Π°Ρ‚ΡŒ основной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Π’Π°ΠΊΠΈΠ΅ конструкции ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ двумя способами:

  • Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ способС ΠΌΡ‹ ставим условиС ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ конструкции Если Π’ΠΎΠ³Π΄Π° ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ прописываСм исполняСмый ΠΊΠΎΠ΄, Ссли условиС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, ΠΊΠΎΠ΄ соотвСтствСнно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ минусом Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° достаточно Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠ° ΠΈ Π² случаС большого количСства условий Π»Π΅Π³ΠΊΠΎ ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ, Π³Π΄Π΅ бСрСтся Π½Π°Ρ‡Π°Π»ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ «Если» ΠΈ Π³Π΄Π΅ заканчиваСтся Π΄Ρ€ΡƒΠ³ΠΎΠ΅;
  • Π“ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, Π³Π΄Π΅ вмСсто утвСрТдСния условия бСрСтся Π΅Π³ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ (вмСсто Ρ€Π°Π²Π½ΠΎ, бСрСтся Π½Π΅Ρ€Π°Π²Π½ΠΎ ΠΈ Ρ‚.Π΄.) ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ конструкции ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ;

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β«ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒΒ» Π² Ρ‚Π΅Π»Π΅ ΠΊΠΎΠ΄Π° выдСляСтся красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈ пСрСносит Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° Π² Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ.


blog.it-terminal.ru

ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ простых конструкций Π² 1Π‘

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠŸΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ вСрсия ΡƒΡ€ΠΎΠΊΠ°, ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ.

Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° сайт ΠΊΠ°ΠΊ ΡƒΡ‡Π΅Π½ΠΈΠΊ

Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΡƒΡ‡Π΅Π½ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ ΡˆΠΊΠΎΠ»Ρ‹

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ язык программирования 1Π‘ 8.3 для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов: ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ простых конструкций Π² 1Π‘

Автор ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΈ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ ΡˆΠΊΠΎΠ»Ρ‹:Β Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Милькин

На ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… ΡƒΡ€ΠΎΠΊΠ°Ρ… ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π°, ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΡƒΠ·Π½Π°Π»ΠΈ Π΄Π²Π° Π²ΠΈΠ΄Π° Ρ†ΠΈΠΊΠ»ΠΎΠ².

Всё это Π±Ρ‹Π»ΠΈ достаточно простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… использовалась какая-Ρ‚ΠΎ ΠΎΠ΄Π½Π° основная конструкция языка (ΠΈΠ»ΠΈ условная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ»). Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Ρ‚Π°ΠΊ Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚. Π’ Π½ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ всё сразу ΠΈ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·. БСгодня ΠΌΡ‹ научимся ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ простыС конструкции языка 1Π‘ вмСстС.

ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ простых конструкций языка 1Π‘

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΡƒΡΡ‚ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ†ΠΈΠΊΠ»Π°:

Для Π¨Π°Π³1 = 1 По 2 Π¦ΠΈΠΊΠ»
    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π¨Π°Π³1);	
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;
Β 
Для Π¨Π°Π³2 = 1 По 3 Π¦ΠΈΠΊΠ»
    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π¨Π°Π³2);
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π­Ρ‚ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π½Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ‹ ΠΈ ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° вывСдутся числа ΠΎΡ‚ 1 Π΄ΠΎ 2, Π° Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ — ΠΎΡ‚ 1 Π΄ΠΎ 3.

А Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ Π²Π»ΠΎΠΆΠΈΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π²Π½ΡƒΡ‚Ρ€ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ? Π’ΠΎΡ‚ Ρ‚Π°ΠΊ:

Для Π¨Π°Π³1 = 1 По 2 Π¦ΠΈΠΊΠ»
Β 
    Для Π¨Π°Π³2 = 1 По 3 Π¦ΠΈΠΊΠ»
Β 
        Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ЗначСния Ρ€Π°Π²Π½Ρ‹: " + Π¨Π°Π³1 + " " + Π¨Π°Π³2);
Β 
    ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;
Β 
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Если Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚ΠΎ получатся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

ЗначСния Ρ€Π°Π²Π½Ρ‹: 1 1
ЗначСния Ρ€Π°Π²Π½Ρ‹: 1 2
ЗначСния Ρ€Π°Π²Π½Ρ‹: 1 3
ЗначСния Ρ€Π°Π²Π½Ρ‹: 2 1
ЗначСния Ρ€Π°Π²Π½Ρ‹: 2 2
ЗначСния Ρ€Π°Π²Π½Ρ‹: 2 3

Как Π²ΠΈΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ выполнСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. И Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ.

Π£ нас Π΅ΡΡ‚ΡŒ внСшний Ρ†ΠΈΠΊΠ» ΠΎΡ‚ 1 Π΄ΠΎ 2. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ всё, Ρ‡Ρ‚ΠΎ находится Ρƒ Π½Π΅Π³ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ словами Π¦ΠΈΠΊΠ» ΠΈ ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π° выполнится 2 Ρ€Π°Π·Π°. А Ρƒ Π½Π΅Π³ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ этими словами находится Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ†ΠΈΠΊΠ» ΠΎΡ‚ 1 Π΄ΠΎ 3, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя содСрТит ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ.

Π˜Ρ‚ΠΎΠ³ΠΎ такая Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ выполняСтся Ρ†Π΅Π»Ρ‹Ρ… 6 Ρ€Π°Π·. Π¨Π΅ΡΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ 2 * 3 = 6.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ мСняСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π¨Π°Π³1 ΠΈ Π¨Π°Π³2. Π’Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΡƒΡ€ΠΎΠΊΠ°, ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ находятся здСсь. Π’ Π½Π°Ρ‡Π°Π»Π΅ Π¨Π°Π³1 Ρ€Π°Π²Π΅Π½ 1, Π° Π¨Π°Π³2 мСняСтся ΠΎΡ‚ 1 Π΄ΠΎ 3. Π—Π°Ρ‚Π΅ΠΌ Π¨Π°Π³1 ΡƒΠΆΠ΅ Ρ€Π°Π²Π΅Π½ 2 (ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π°) ΠΈ снова Π¨Π°Π³2 мСняСтся ΠΎΡ‚ 1 Π΄ΠΎ 3.

Π—Π°Π΄Π°Π½ΠΈΠ΅ β„–27. По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π¨Π°Π³1, Π¨Π°Π³2 ΠΈ Π¨Π°Π³3 соотвСтствСнно ΠΎΡ‚ 1 Π΄ΠΎ 10, ΠΎΡ‚ 10 Π΄ΠΎ 20 ΠΈ ΠΎΡ‚ 20 Π΄ΠΎ 30. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, посмотритС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

Π­Ρ‚Π°Π»ΠΎΠ½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π‘Π½Π°Ρ‡Π°Π»Π° пишСм ΠΊΠΎΠ΄ сами, провСряСм Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ (ΠΊΠ°ΠΊ ΠΈ всС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· ΡƒΡ€ΠΎΠΊΠΎΠ²), Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ свСряСмся

Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° сайт ΠΊΠ°ΠΊ ΡƒΡ‡Π΅Π½ΠΈΠΊ


ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ ΡˆΠΊΠΎΠ»Ρ‹

Π—Π°Π΄Π°Π½ΠΈΠ΅ β„–28. НайдитС всС ΠΏΠ°Ρ€Ρ‹ Ρ†Π΅Π»Ρ‹Ρ… (Π² Ρ‚ΠΎΠΌ числС ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ…) чисСл Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΎΡ‚ 1 Π΄ΠΎ 9 ΠΊΠ°ΠΆΠ΄ΠΎΠ΅, сумма ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π²Π½Π° 10. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это Π½Π° листочкС. Π‘Π΅Π· ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π”ΠΎΠ»ΠΆΠ½ΠΎ получится 9 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Β ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° я подскаТу: 1 + 9 = 10 ΠΈ 9 + 1 = 10. ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ 7 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ сами.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ? ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ я ΠΏΠΎΠΊΠ°ΠΆΡƒ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ ΡΠ°ΠΌΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π·Π° вас.

Для Π¨Π°Π³1 = 1 По 9 Π¦ΠΈΠΊΠ»
Β 
    Для Π¨Π°Π³2 = 1 По 9 Π¦ΠΈΠΊΠ»
Β 
        Если Π¨Π°Π³1 + Π¨Π°Π³2 = 10 Π’ΠΎΠ³Π΄Π°
Β 
            Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(" " + Π¨Π°Π³1 + " + " + Π¨Π°Π³2 + " = 10");
Β 
        ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;
Β 
    ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;
Β 
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠœΡ‹ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ ΠΎΠ΄Π½ΠΎ число Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΎΡ‚ 1 Π΄ΠΎ 9 (Π¨Π°Π³1). И Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΎΡ‚ 1 Π΄ΠΎ 9 (Π¨Π°Π³2). Π’Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΡƒΡ€ΠΎΠΊΠ°, ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ находятся здСсь. А Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ числа для складывания Π½Π°ΠΌΒ Π½ΡƒΠΆΠ½Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ — ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ†ΠΈΠΊΠ» Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ условной конструкциСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΊΠΈΠ΅ числа, сумма ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π²Π½Π° 10.

ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ тСст

Вопросы Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

Для Π¨Π°Π³1 = 1 По 3 Π¦ΠΈΠΊΠ»
    Для Π¨Π°Π³2 = 4 По 5 Π¦ΠΈΠΊΠ»
        Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(" " + Π¨Π°Π³1 + " " + Π¨Π°Π³2);
    ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Β ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π½Π°ΠΉΠ΄Π΅Ρ‚ всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π΄Π²ΡƒΡ… чисСл ΠΎΡ‚ 1 Π΄ΠΎ 30, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π²Π½ΠΎ 30.

Как всСгда Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π²Ρ‹Π΄Π°Π΅Ρ‚ Π²Π΅Ρ€Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

ΠŸΡ€ΠΈΠ²ΠΎΠΆΡƒ ΠΎΡ‚Π²Π΅Ρ‚ Π½ΠΈΠΆΠ΅, Π½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠΏΡ€Π°Π²ΠΈΡ‚Π΅ΡΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

helpme1c.ru

Π¦ΠΈΠΊΠ» (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) β€” ВикипСдия

Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. Π¦ΠΈΠΊΠ». ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ†ΠΈΠΊΠ»Π° While.

Π¦ΠΈΠΊΠ»Β β€” Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ конструкции Π² высокоуровнСвых языках программирования, прСдназначСнная для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ исполнСния Π½Π°Π±ΠΎΡ€Π° инструкций. Π’Π°ΠΊΠΆΠ΅ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ любая ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ исполняСмая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ инструкций, организованная Π»ΡŽΠ±Ρ‹ΠΌ способом (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ условного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°).

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ инструкций, прСдназначСнная для ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ исполнСния, называСтся Ρ‚Π΅Π»ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π°. Π•Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° называСтся ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅, Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ итСрация ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, называСтся условиСм Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ»ΠΈ условиСм окончания Ρ†ΠΈΠΊΠ»Π° (Π»ΠΈΠ±ΠΎ условиСм продолТСния Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ интСрпрСтируСтся Π΅Π³ΠΎ ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΡΡ‚ΡŒΒ β€” ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ продолТСния Ρ†ΠΈΠΊΠ»Π°). ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, хранящая Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, называСтся счётчиком ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ просто счётчиком Ρ†ΠΈΠΊΠ»Π°. Π¦ΠΈΠΊΠ» Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ содСрТит счётчик, счётчик Π½Π΅ обязан Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Β β€” условиС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… измСняСмых Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ внСшними условиями (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, наступлСниСм ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ), Π² послСднСм случаС счётчик ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ.

ИсполнСниС любого Ρ†ΠΈΠΊΠ»Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ условия Π²Ρ‹Ρ…ΠΎΠ΄Π°, исполнСниС Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков программирования прСдоставляСт срСдства для досрочного управлСния Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° нСзависимо ΠΎΡ‚ истинности условия Π²Ρ‹Ρ…ΠΎΠ΄Π° (Π² языкС Π‘ΠΈΒ β€” break) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ (Π² языкС Π‘ΠΈΒ β€” continue).

БСзусловныС Ρ†ΠΈΠΊΠ»Ρ‹[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Иногда Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ†ΠΈΠΊΠ»Ρ‹, Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ прСдусмотрСн Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ бСзусловными, ΠΈΠ»ΠΈ бСсконСчными. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… синтаксичСских срСдств для создания бСсконСчных Ρ†ΠΈΠΊΠ»ΠΎΠ², Π²Π²ΠΈΠ΄Ρƒ ΠΈΡ… нСтипичности, языки программирования Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚, поэтому Ρ‚Π°ΠΊΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструкций, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для создания ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… (ΠΈΠ»ΠΈ условных) Ρ†ΠΈΠΊΠ»ΠΎΠ². Для обСспСчСния бСсконСчного повторСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия Π² Ρ‚Π°ΠΊΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ Π»ΠΈΠ±ΠΎ отсутствуСт (Ссли позволяСт синтаксис, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ†ΠΈΠΊΠ»Π΅ LOOP ... END LOOP языка Ада), Π»ΠΈΠ±ΠΎ замСняСтся константным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ (while true do ... Π² ПаскалС). Π’ языкС Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†ΠΈΠΊΠ» for(;;) с Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ сСкциями ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ» while (1).

Π¦ΠΈΠΊΠ» с прСдусловиСм[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π¦ΠΈΠΊΠ» с прСдусловиСм — Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся, ΠΏΠΎΠΊΠ° истинно Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ условиС, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΎΠΌ. Π­Ρ‚ΠΎ условиС провСряСтся Π΄ΠΎ выполнСния Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°, поэтому Ρ‚Π΅Π»ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π½ΠΈ Ρ€Π°Π·Ρƒ (Ссли условиС с самого Π½Π°Ρ‡Π°Π»Π° Π»ΠΎΠΆΠ½ΠΎ). Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… языков программирования рСализуСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ while, ΠΎΡ‚ΡΡŽΠ΄Π° Π΅Π³ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅Β β€” while-Ρ†ΠΈΠΊΠ». На языкС Pascal Ρ†ΠΈΠΊΠ» с прСдусловиСм ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

while <условиС> do
begin   
  <Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°> 
end;

На языкС Π‘ΠΈ:

while (<условиС>) {
   <Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°>
}

Π¦ΠΈΠΊΠ» с постусловиСм[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π¦ΠΈΠΊΠ» с постусловиСм — Ρ†ΠΈΠΊΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ условиС провСряСтся послС выполнСния Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. ΠžΡ‚ΡΡŽΠ΄Π° слСдуСт, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Π»ΠΎ всСгда выполняСтся хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π’ языкС Паскаль этот Ρ†ΠΈΠΊΠ» Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ repeat..until; Π² Π‘ΠΈΒ β€” do…while.

На языкС Pascal Ρ†ΠΈΠΊΠ» с постусловиСм ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄::

repeat
    <Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°>
until <условиС Π²Ρ‹Ρ…ΠΎΠ΄Π°>

На языкС Π‘ΠΈ:

do {
    <Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°>
} while (<условиС продолТСния Ρ†ΠΈΠΊΠ»Π°>)

Π’ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²ΠΊΠ΅ условия Ρ†ΠΈΠΊΠ»Π° с постусловиСм Π² Ρ€Π°Π·Π½Ρ‹Ρ… языках Π΅ΡΡ‚ΡŒ различия. Π’ ПаскалС ΠΈ языках, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΎΡ‚ Π½Π΅Π³ΠΎ, условиС Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° трактуСтся ΠΊΠ°ΠΊ условиС Π²Ρ‹Ρ…ΠΎΠ΄Π° (Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° условиС истинно, Π² русской Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ‚Π°ΠΊΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΅Ρ‰Ρ‘ Β«Ρ†ΠΈΠΊΠ» Π΄ΠΎΒ»), Π° Π² Π‘ΠΈ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ…Β β€” ΠΊΠ°ΠΊ условиС продолТСния (Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° условиС Π»ΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Β«Ρ†ΠΈΠΊΠ» ΠΏΠΎΠΊΠ°Β»).

Π¦ΠΈΠΊΠ» с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ· сСрСдины[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π¦ΠΈΠΊΠ» с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ· сСрСдины — Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ общая Ρ„ΠΎΡ€ΠΌΠ° условного Ρ†ΠΈΠΊΠ»Π°. БинтаксичСски Ρ‚Π°ΠΊΠΎΠΉ Ρ†ΠΈΠΊΠ» оформляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Ρ‘Ρ… конструкций: Π½Π°Ρ‡Π°Π»Π° Ρ†ΠΈΠΊΠ»Π°, ΠΊΠΎΠ½Ρ†Π° Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Π½Π°Ρ‡Π°Π»Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начинаСтся Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°, конструкция ΠΊΠΎΠ½Ρ†Π°Β β€” Ρ‚ΠΎΡ‡ΠΊΡƒ, Π³Π΄Π΅ Ρ‚Π΅Π»ΠΎ заканчиваСтся. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ†ΠΈΠΊΠ» заканчиваСтся ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаётся Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° конструкциСй ΠΊΠΎΠ½Ρ†Π° Ρ†ΠΈΠΊΠ»Π°. ЕстСствСнно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ†ΠΈΠΊΠ» выполнился Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ бСзусловно, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ условия Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Ρ†ΠΈΠΊΠ»Π° ΠΎΡ‚ рассмотрСнных Π²Ρ‹ΡˆΠ΅ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°, располоТСнная послС Π½Π°Ρ‡Π°Π»Π° Ρ†ΠΈΠΊΠ»Π° ΠΈ Π΄ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π°, выполняСтся всСгда (Π΄Π°ΠΆΠ΅ Ссли условиС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° истинно ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ), Π° Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°, находящаяся послС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π°, Π½Π΅ выполняСтся ΠΏΡ€ΠΈ послСднСй ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Π›Π΅Π³ΠΊΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ· сСрСдины ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ†ΠΈΠΊΠ» с прСдусловиСм (размСстив ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°), ΠΈ Ρ†ΠΈΠΊΠ» с постусловиСм (размСстив ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°).

Π§Π°ΡΡ‚ΡŒ языков программирования содСрТит ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ конструкции для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ· сСрСдины. Π’Π°ΠΊ, Π² языкС Ада для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция LOOP ... END LOOP ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° EXIT ΠΈΠ»ΠΈ EXIT WHEN:

LOOP
  ... Π§Π°ΡΡ‚ΡŒ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°
  EXIT WHEN <условиС Π²Ρ‹Ρ…ΠΎΠ΄Π°>;
  ... Π§Π°ΡΡ‚ΡŒ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°
  IF <условиС Π²Ρ‹Ρ…ΠΎΠ΄Π°> THEN 
    EXIT; 
  END;
  ... Π§Π°ΡΡ‚ΡŒ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°
END LOOP:

Π—Π΄Π΅ΡΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любоС количСство ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΎΠ±ΠΎΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². Π‘Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ EXIT WHEN ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° провСряСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ условиС Π²Ρ‹Ρ…ΠΎΠ΄Π°, Π° просто EXITΒ β€” ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° производится Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² слоТного условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

Π’ Ρ‚Π΅Ρ… языках, Π³Π΄Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… конструкций Π½Π΅ прСдусмотрСно, Ρ†ΠΈΠΊΠ» с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ· сСрСдины ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ смодСлирован с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого условного Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° (Ρ‚Π°ΠΊΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ break Π² Π‘ΠΈ, exit Π² Π’ΡƒΡ€Π±ΠΎ ПаскалС ΠΈΒ Ρ‚.Β ΠΏ.), Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° goto.

Π¦ΠΈΠΊΠ» со счётчиком (ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ» для)[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π¦ΠΈΠΊΠ» со счётчиком — Ρ†ΠΈΠΊΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ нСкоторая пСрСмСнная измСняСт своё Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ значСния с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ шагом, ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° выполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… языков программирования рСализуСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ for, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ указываСтся счётчик (Ρ‚Π°ΠΊ называСмая «пСрСмСнная Ρ†ΠΈΠΊΠ»Π°Β»), Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ количСство ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² (ΠΈΠ»ΠΈ Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счётчика) ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, шаг, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ измСняСтся счётчик. НапримСр, Π² языкС ΠžΠ±Π΅Ρ€ΠΎΠ½-2 Ρ‚Π°ΠΊΠΎΠΉ Ρ†ΠΈΠΊΠ» ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

 FOR vΒ := b TO e BY s DO
   ... Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°
 END 

здСсь vΒ β€” счётчик, bΒ β€” Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счётчика, eΒ β€” Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счётчика, sΒ β€” шаг).

НСоднозначСн вопрос ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ эта пСрСмСнная использовалась ΠΊΠ°ΠΊ счётчик. НапримСр, Ссли Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° языкС Паскаль встрСтится конструкция Π²ΠΈΠ΄Π°:

i := 100;
for i := 0 to 9 do
begin
  ... Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°
end;
k := i;

Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΈΡ‚ΠΎΠ³Π΅ присвоСно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ k: 9, 10, 100, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅? А Ссли Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ досрочно? ΠžΡ‚Π²Π΅Ρ‚Ρ‹ зависят ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, увСличиваСтся Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счётчика послС послСднСй ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ измСняСт Π»ΠΈ транслятор это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ вопрос: Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° счётчику Π±ΡƒΠ΄Π΅Ρ‚ явно присвоСно Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅? Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ языки программирования Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ вопросы ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ счётчика Ρ‡Ρ‘Ρ‚ΠΊΠΎ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ПаскалС, стандарт языка Π½Π΅ опрСдСляСт Π½ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ значСния счётчика, Π½ΠΈ послСдствий Π΅Π³ΠΎ явного измСнСния Π² Ρ†ΠΈΠΊΠ»Π΅, Π½ΠΎ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ счётчик явно ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ПаскалС, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ эту Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ, ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… систСмах ΠΈ использовании Ρ€Π°Π·Π½Ρ‹Ρ… трансляторов.

Радикально Ρ€Π΅ΡˆΡ‘Π½ вопрос Π² языках Ада ΠΈ Kotlin: счётчик считаСтся описанным Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π°, ΠΈ Π²Π½Π΅ Π΅Π³ΠΎ просто Π½Π΅ сущСствуСт. Π”Π°ΠΆΠ΅ Ссли имя счётчика Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π² качСствС счётчика ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ пСрСмСнная. Π‘Ρ‡Ρ‘Ρ‚Ρ‡ΠΈΠΊΡƒ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ явно ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ значСния, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π°.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ конструкция Π½Π° АдС:

i := 100;
for i in (0..9) loop
  ... Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°
end loop;
k := i;

И Π½Π° ΠšΠΎΡ‚Π»ΠΈΠ½Π΅:

val i = 100;
for (i in 0..9){
    ... Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°
}
val k = i;

внСшнС аналогичная Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌΡƒ Ρ†ΠΈΠΊΠ»Ρƒ Π½Π° ПаскалС, трактуСтся ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ k Π±ΡƒΠ΄Π΅Ρ‚ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 100, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ пСрСмСнная i, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π²Π½Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ счётчику i, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаётся ΠΈ измСняСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°. ПодобноС обособлСниС счётчика ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ бСзопасно: Π½Π΅ трСбуСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ описаниС для Π½Π΅Π³ΠΎ ΠΈ минимальна Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ случайных ошибок, связанных со случайным Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ†ΠΈΠΊΠ»Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Если программисту трСбуСтся Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ†ΠΈΠΊΠ» со счётчиком, Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, сущСствуСт Π»ΠΈ пСрСмСнная с ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ Π²Ρ‹Π±Ρ€Π°Π» Π² качСствС счётчика, Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ описаниС Π½ΠΎΠ²ΠΎΠ³ΠΎ счётчика Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Π½Π΅ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ, Π½ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ «свободных» счётчиков. Он просто ΠΏΠΈΡˆΠ΅Ρ‚ Ρ†ΠΈΠΊΠ» с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-счётчиком, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΠΌΡƒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ ΠΈΠΌΡ‘Π½ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚.

Π¦ΠΈΠΊΠ» со счётчиком всСгда ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ условный Ρ†ΠΈΠΊΠ», ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ счётчику присваиваСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° условиСм Π²Ρ‹Ρ…ΠΎΠ΄Π° являСтся достиТСниС счётчиком ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ значСния; ΠΊ Ρ‚Π΅Π»Ρƒ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈ этом добавляСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ измСнСния счётчика Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ шаг. Однако ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ†ΠΈΠΊΠ»Π° со счётчиком ΠΌΠΎΠ³ΡƒΡ‚ эффСктивнСС Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ процСссорныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ².

Никлаус Π’ΠΈΡ€Ρ‚ ΠΎΠ΄Π½ΠΎ врСмя Π½Π°Π·Ρ‹Π²Π°Π» Ρ†ΠΈΠΊΠ» со счётчиком Β«ΠΌΠ°Ρ€Π³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΒ», утвСрТдая, Ρ‡Ρ‚ΠΎ такая конструкция являСтся излишнСй ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΈΠ· синтаксиса языков программирования ΠΊΠ°ΠΊ нСсистСмная. Π’ соотвСтствии с этим прСдставлСниСм Π² языкС программирования ΠžΠ±Π΅Ρ€ΠΎΠ½ Ρ†ΠΈΠΊΠ»Π° со счётчиком Π½Π΅ Π±Ρ‹Π»ΠΎ. Однако Π² языкС ΠžΠ±Π΅Ρ€ΠΎΠ½-2, созданном Π’ΠΈΡ€Ρ‚ΠΎΠΌ ΠΈ ΠœΡ‘ΡΡΠ΅Π½Π±Ρ‘ΠΊΠΎΠΌ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠžΠ±Π΅Ρ€ΠΎΠ½Π°, Ρ†ΠΈΠΊΠ» со счётчиком FOR появился снова Π² интСрСсах практичСского удобства использования[1].

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΎΡ‚ Π½Π΅Π³ΠΎ, Ρ†ΠΈΠΊΠ» for, нСсмотря Π½Π° ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Ρ†ΠΈΠΊΠ»Π° со счётчиком, Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ являСтся Ρ†ΠΈΠΊΠ»ΠΎΠΌ с прСдусловиСм. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π² Π‘ΠΈ конструкция Ρ†ΠΈΠΊΠ»Π°:

for (i = 0; i < 10; ++i)
{
  ... Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° 
}

фактичСски прСдставляСт собой Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ записи конструкции[2]:

i = 0;
while (i < 10)
{
  ... Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° 
  ++i;
}

Π’ΠΎ Π΅ΡΡ‚ΡŒ Π² конструкции for сначала ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°, Π·Π°Ρ‚Π΅ΠΌΒ β€” условиС продолТСния ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, выполняСмая послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° нСкоторая опСрация (это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ счётчика; это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΊΠ° указатСля ΠΈΠ»ΠΈ какая-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ посторонняя опСрация). Для языков Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ просто: пСрСмСнная-счётчик Π²Π΅Π΄Ρ‘Ρ‚ сСбя ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ прСдсказуСмо ΠΈ ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° сохраняСт своё послСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

БовмСстный Ρ†ΠΈΠΊΠ»[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π° являСтся Ρ†ΠΈΠΊΠ», Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ мноТСства, Π±Π΅Π· явного указания порядка пСрСчислСния этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’Π°ΠΊΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ совмСстными (Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ просмотра) ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ запись инструкции Π²ΠΈΠ΄Π°: Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ X для всСх элСмСнтов, входящих Π²ΠΎ мноТСство MΒ». БовмСстный Ρ†ΠΈΠΊΠ», тСорСтичСски, Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ опрСдСляСт, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС опСрация Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ элСмСнтам мноТСства, хотя ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ языки программирования, разумССтся, ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ порядок ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ исполнСния Ρ†ΠΈΠΊΠ»Π° Π·Π° счёт ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ доступа Π½Π΅ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ программистом, Π° Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎΠΌ порядкС. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ возмоТности ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ распараллСливаниС выполнСния совмСстного Ρ†ΠΈΠΊΠ»Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ опСрация ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ выполняСтся Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… модулях для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ логичСски ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° остаётся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.

БовмСстныС Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках программирования (C#, Eiffel, Java, JavaScript, Perl, Python, PHP, LISP, Tcl ΠΈ Π΄Ρ€.)Β β€” ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΏΠΎ всСм элСмСнтам Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° трСбуСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (ΠΈΠ»ΠΈ ссылка Π½Π° Π½Π΅Π³ΠΎ). Π’ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках программирования синтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½:

C++:

for (type &item : set) //поддСрТиваСтся, начиная со стандарта C++11
{
    //использованиС item
}

C#:

foreach (type item in set) 
{
    //использованиС item
}

Delphi:

for item in [1..100] do
begin
  //ИспользованиС item (Π Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»Π°ΡΡŒ Π² Delphi 2010) 
end;

Perl (строгий порядок Β«ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΄ΠΎ послСднСго»):

foreach (@set) 
{
    #использованиС $_
}
# ΠΈΠ»ΠΈ
for (@set) 
{
    #использованиС $_
}
# ΠΈΠ»ΠΈ
foreach $item (@set) 
{
    #использованиС $item
}

Eiffel:

across set as cursor loop
    -- использованиС cursor.item
end

Java:

for (type item : set) 
{
    //использованиС item
}

JavaScript:

for (txtProperty in objObject)
  {
  /*
  использованиС:
  objObject [txtProperty]
  */
  }

PHP:

foreach ($arr as $item) {
    /* использованиС $item*/
}
//ΠΈΠ»ΠΈ
foreach ($arr as $key=>$value) {
    /* использованиС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ индСкса $key ΠΈ Π΅Π³ΠΎ значСния $value*/
}

Visual Basic.NET:

For Each item As type In set
    'использованиС item
Next item

Windows PowerShell:

foreach ($item in $set) {
  # ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с $item
} 

ΠΈΠ»ΠΈ

$set | ForEach-Object {
  # ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с $_
}

Python

for item in iterator_instance:
    # использованиС item

МногиС языки программирования, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π² своём синтаксисС цикличСскиС конструкции, ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ спСцифичСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ порядок Ρ€Π°Π±ΠΎΡ‚Ρ‹ этих конструкций: ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Досрочный Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Команда досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° примСняСтся, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ условиС Π²Ρ‹Ρ…ΠΎΠ΄Π° Π΅Ρ‰Ρ‘ Π½Π΅ достигнуто. Π’Π°ΠΊΠΎΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° обнаруТиваСтся ошибка, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ дальнСйшая Ρ€Π°Π±ΠΎΡ‚Π° Ρ†ΠΈΠΊΠ»Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла.

Команда досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ называСтся EXIT ΠΈΠ»ΠΈ break, Π° Π΅Ρ‘ дСйствиС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° (goto) Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, нСпосрСдствСнно ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π·Π° Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ эта ΠΊΠΎΠΌΠ°Π½Π΄Π° находится. Π’Π°ΠΊ, Π² языкС Π‘ΠΈ Π΄Π²Π° Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ:

// ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° break
while(<условиС>) {
  ... ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
  if (<ошибка>) break;
  ... ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
}
... ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

// Аналогичный Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π±Π΅Π· break
while(<условиС>) {
  ... ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
  if (<ошибка>) goto break_label;
  ... ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ 
}
break_label:
... ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’ ΠΎΠ±ΠΎΠΈΡ… случаях, Ссли Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° выполнится условиС <ошибка>, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ Β«ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, ΠΏΠΎ сути, просто маскируСт бСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄, ΠΎΠ΄Π½Π°ΠΊΠΎ использованиС break ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, Ρ‡Π΅ΠΌ goto, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ break Ρ‡Ρ‘Ρ‚ΠΊΠΎ Π·Π°Π΄Π°Π½ΠΎ языком, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π½Π΅Π΅ опасно (Π½Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вСроятности ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΊΠΈ). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, явный досрочный Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² структурного программирования.

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ нСпосрСдствСнно находится. Π’ рядС языков программирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π°, ΠΎΠ½ позволяСт Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² (см. Π½ΠΈΠΆΠ΅). Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Ρ†ΠΈΠΊΠ», ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ трСбуСтся Π²Ρ‹ΠΉΡ‚ΠΈ, помСчаСтся ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, Π° Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° указываСтся эта ΠΌΠ΅Ρ‚ΠΊΠ°.

ΠŸΡ€ΠΎΠΏΡƒΡΠΊ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π”Π°Π½Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ примСняСтся, ΠΊΠΎΠ³Π΄Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. ΠŸΡ€ΠΈ этом сам Ρ†ΠΈΠΊΠ» ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½, условия продолТСния ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π’ языкС Π‘ΠΈ ΠΈ Π΅Π³ΠΎ языках-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ… Π² качСствС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ continue Π² конструкции Ρ†ΠΈΠΊΠ»Π°. ДСйствиС этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ бСзусловному ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ Π½Π° строку Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π·Π° послСднСй Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. НапримСр, ΠΊΠΎΠ΄ Π½Π° Π‘ΠΈ, находящий сумму элСмСнтов массива ΠΈ сумму всСх ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов массива, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

int arr[ARRSIZE];
...
// Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ всСх ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…
// элСмСнтов массива arr с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ continue.
int sum_all = 0;
int sum_pos = 0;
for (int i = 0 ; i < ARRSIZE; ++i)
{
    sum_all += arr[i];
    if (arr[i] <= 0) continue;
    sum_pos += arr[i];
}

// Аналогичный ΠΊΠΎΠ΄ c goto
int sum_all = 0;
int sum_pos = 0;
for (int i = 0 ; i < ARRSIZE; ++i)
{
    sum_all += arr[i];
    if (arr[i] <= 0) goto cont_label;
    sum_pos += arr[i];
cont_label:
}

Из Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ясно Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ continue: ΠΎΠ½ просто ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π° послСднюю ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°, пропуская Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ суммирования, Ссли ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ элСмСнт массива Π½Π΅ удовлСтворяСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² sum_pos накапливаСтся сумма лишь ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов массива.

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния структурного программирования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΈ продолТСния ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡ… дСйствиС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ смодСлировано чисто структурными срСдствами. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎ мнСнию ряда Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠΊΠΎΠ² программирования (Π² частности, ЭдсгСра ДСйкстры), сам Ρ„Π°ΠΊΡ‚ использования Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ нСструктурных срСдств, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ классичСский бСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ любая ΠΈΠ· Π΅Π³ΠΎ спСциализированных Ρ„ΠΎΡ€ΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ break ΠΈΠ»ΠΈ continue, являСтся ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ нСдостаточно ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ часто являСтся записью ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ, Ρ€Π°Π½Π΅Π΅ сформулированного Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСцСлСсообразно ΠΏΠΎ чисто тСхничСским ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½Π° структурныС конструкции часто оказываСтся нСэффСктивной ΠΈΠ»ΠΈ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠΉ. НапримСр, Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ break ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записан Ρ‚Π°ΠΊ:

// Досрочный Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π±Π΅Π· break
bool flag = false; // Ρ„Π»Π°Π³ досрочного Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ
while(<условиС> && !flag) {
  ... ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
  if (<ошибка>) {
    flag = true;
  } else {
    ... ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
  }
}
... ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π›Π΅Π³ΠΊΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ, Ρ€Π°Π·Π½ΠΈΡ†Π° лишь Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² мСстС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ вмСсто нСпосрСдствСнного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° устанавливаСтся Ρ„Π»Π°Π³ досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСтся ΠΏΠΎΠ·ΠΆΠ΅ Π² ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΌ условии продолТСния Ρ†ΠΈΠΊΠ»Π°. Однако для ΠΎΡ‚ΠΊΠ°Π·Π° ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ описаниС Ρ„Π»Π°Π³Π° ΠΈ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Β«Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΈΠ΅Β» Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ досрочном Π²Ρ‹Ρ…ΠΎΠ΄Π΅ принимаСтся Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, Π° выполняСтся Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ стала Π½ΠΈ ΠΏΡ€ΠΎΡ‰Π΅, Π½ΠΈ ΠΊΠΎΡ€ΠΎΡ‡Π΅, Π½ΠΈ понятнСС.

НСсколько ΠΈΠ½Π°Ρ‡Π΅ обстоит Π΄Π΅Π»ΠΎ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Она, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΈ СстСствСнно замСняСтся Π½Π° условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. НапримСр, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ суммирования массива ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

int arr[ARRSIZE];
...
// Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ всСх ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…
// элСмСнтов массива arr с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ continue
int sum_all = 0;
int sum_pos = 0;
for (int i = 0 ; i < ARRSIZE; ++i)
{
    sum_all += arr[i];
    if (arr[i] > 0) // УсловиС Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅!
    {
      sum_pos += arr[i];
    }
}

Как Π²ΠΈΠ΄ΠΈΠΌ, достаточно Π±Ρ‹Π»ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ провСряСмоС условиС Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° Π² условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. МоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° стала ΠΊΠΎΡ€ΠΎΡ‡Π΅ (Π·Π° счёт удалСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ) ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π»ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅ (ΠΈΠ· ΠΊΠΎΠ΄Π° нСпосрСдствСнно Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΡΡƒΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты).

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, использованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅ с условиСм (while-Ρ†ΠΈΠΊΠ»Π΅) ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ: Ссли Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°, ΠΊΠ°ΠΊ это часто Π±Ρ‹Π²Π°Π΅Ρ‚, Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ измСнСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…) Ρ†ΠΈΠΊΠ»Π°, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ пропустит ΠΈ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚ΠΎΠΆΠ΅, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ (Π² зависимости ΠΎΡ‚ условия, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ происходит пропуск) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊ, Ссли Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ†ΠΈΠΊΠ» for Π½Π° while, получится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

int arr[ARRSIZE];
...
int sum_all = 0;
int sum_pos = 0;
int i = 0;
while (i < ARRSIZE) // Π¦ΠΈΠΊΠ» внСшнС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ for ...
{
    sum_all += arr[i];
    if (arr[i] <= 0) continue;
    sum_pos += arr[i];
    ++i; // ... Π½ΠΎ эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ continue 
         // ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° зациклится
}

НСсмотря Π½Π° свою ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языковыС конструкции, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ, особСнно, досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому ΠΎΠ½ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² соврСмСнных языках программирования.

БущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Π’Π°ΠΊΠΎΠΉ Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ†ΠΈΠΊΠ»Ρƒ, Π² Ρ‚Π΅Π»ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ Π²Π»ΠΎΠΆΠ΅Π½, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Ρ†ΠΈΠΊΠ», Π² Ρ‚Π΅Π»Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сущСствуСт Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ», Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ внСшним ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡƒ. Π’Π½ΡƒΡ‚Ρ€ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Ρ†ΠΈΠΊΠ», образуя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ влоТСнности, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ ограничиваСтся.

ПолноС число исполнСний Ρ‚Π΅Π»Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ произвСдСния числа ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΈ всСх Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ†ΠΈΠΊΠ»ΠΎΠ². НапримСр, взяв Ρ‚Ρ€ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π° Ρ†ΠΈΠΊΠ»Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎ 10 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 10 исполнСний Ρ‚Π΅Π»Π° для внСшнСго Ρ†ΠΈΠΊΠ»Π°, 100 для Ρ†ΠΈΠΊΠ»Π° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня ΠΈ 1000 Π² самом Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ Ρ†ΠΈΠΊΠ»Π΅.

Одна ΠΈΠ· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈΒ β€” организация досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Π½ΠΈΡ…. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках программирования Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ досрочного Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° (break Π² Π‘ΠΈ, exit Π² Π’ΡƒΡ€Π±ΠΎ ПаскалС, last Π² Perl ΠΈΒ Ρ‚.Β ΠΏ.), Π½ΠΎ ΠΎΠ½, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, обСспСчиваСт Π²Ρ‹Ρ…ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Ρ‚ΠΎΠ³ΠΎ уровня, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹Π·Π²Π°Π½. Π’Ρ‹Π·ΠΎΠ² Π΅Π³ΠΎ ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этого Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π°, внСшний ΠΆΠ΅ Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π°Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠΉ, Π½ΠΎ ΠΎΠ½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ слоТной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ прСрывания Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… условиях, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅.

РСшСний ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² нСсколько.

  • ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉΒ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° goto для Π²Ρ‹Ρ…ΠΎΠ΄Π° Π² Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, нСпосрСдствСнно ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π·Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ. Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ критикуСтся сторонниками структурного программирования, ΠΊΠ°ΠΊ ΠΈ всС конструкции, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ использования goto. НСкоторыС языки программирования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠœΠΎΠ΄ΡƒΠ»Π°-2, просто Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, ΠΈ Π² Π½ΠΈΡ… подобная конструкция Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°.
  • ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°Β β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ срСдства Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»ΠΎΠ², Π² случаС нСобходимости устанавливая ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. НСдостаток — услоТнСниС ΠΊΠΎΠ΄Π°, сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅. ИдСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всё дСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ досрочно, ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΈ для досрочного Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (Ссли Ρ‚Π°ΠΊΠΎΠΉ Π΅ΡΡ‚ΡŒ Π² языкС программирования). Π’ языкС Π‘ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Π° Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Π½Π΅Ρ‘ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° return. НСдостаток — Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π½Π΅ всСгда логичСски обосновано, ΠΈ Π½Π΅ всС языки ΠΈΠΌΠ΅ΡŽΡ‚ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ срСдства досрочного Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.
  • Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ имССтся сСйчас Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков высокого уровня. Π’ этом случаС Π² Π½Π΅ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΉ ситуации ΠΊΠΎΠ΄ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ Π²ΠΎΠ·Π±ΡƒΠΆΠ΄Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π° Π±Π»ΠΎΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠ΅Ρ‰Ρ‘Π½ вСсь Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ», ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ. НСдостаток — рСализация ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρ‚Π°ΠΊΠΎΠ²Π°, Ρ‡Ρ‚ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ. ΠŸΡ€Π°Π²Π΄Π°, Π² соврСмСнных условиях это Π½Π΅ особСнно Π²Π°ΠΆΠ½ΠΎ: практичСски потСря ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΡΡ‚ΠΎΠ»ΡŒ ΠΌΠ°Π»Π°, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ лишь для ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • НаконСц, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ языковыС срСдства для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’Π°ΠΊ, Π² языкС Ада программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ» (Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°) ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ досрочного Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ эту ΠΌΠ΅Ρ‚ΠΊΡƒ. Π’Ρ‹Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ Π½Π΅ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π° ΠΈΠ· всСх Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Π΄ΠΎ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ[3]. Π―Π·Ρ‹ΠΊ PHP прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ число ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² послС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ breakΒ β€” Ρ‚Π°ΠΊ break 2 ΠΏΡ€Π΅Ρ€Π²Ρ‘Ρ‚ сам Ρ†ΠΈΠΊΠ» ΠΈ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΠΉ Π½Π°Π΄ Π½ΠΈΠΌ, Π° break 1 эквивалСнтно простой записи ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ break[4].

Π¦ΠΈΠΊΠ»Ρ‹ с нСсколькими охраняСмыми вСтвями[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π¦ΠΈΠΊΠ» ДСйкстры[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π’ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ программирования извСстна Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π°, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π°ΡΡΡ ΠΎΡ‚ «классичСских», Ρ„ΠΎΡ€ΠΌΠ° цикличСской конструкции, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«Ρ†ΠΈΠΊΠ» ДСйкстры», ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ЭдсгСра ДСйкстры, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΅Ρ‘ описавшСго. Π’ классичСском дСйкстровском описании Ρ‚Π°ΠΊΠΎΠΉ Ρ†ΠΈΠΊΠ» выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 do
   P1 β†’ S1,
     …
   Pn β†’ Sn
 od

Π—Π΄Π΅ΡΡŒ doΒ β€” ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ Π½Π°Ρ‡Π°Π»Π° конструкции Ρ†ΠΈΠΊΠ»Π°, odΒ β€” ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ конструкции Ρ†ΠΈΠΊΠ»Π°, PiΒ β€” i-Π΅ ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰Π΅Π΅ условиС (логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истинно» ΠΈΠ»ΠΈ Β«Π»ΠΎΠΆΠ½ΠΎΒ»), SiΒ β€” i-я охраняСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°. Π¦ΠΈΠΊΠ» состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Ρ‚Π²Π΅ΠΉ (охраняСмых Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ), каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдставляСт собой ΠΏΠ°Ρ€Ρƒ ΠΈΠ· ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰Π΅Π³ΠΎ условия (ΠΈΠ»ΠΈ, ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ, Β«ΠΎΡ…Ρ€Π°Π½Ρ‹Β») ΠΈ охраняСмой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (понятно, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТной).

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° ДСйкстры Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ происходит вычислСниС ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΡ… условий. Если хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ… истинно, выполняСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ охраняСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°, послС Ρ‡Π΅Π³ΠΎ начинаСтся новая итСрация (Ссли истинны нСсколько ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΡ… условий, выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° охраняСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°). Если всС ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠ΅ условия Π»ΠΎΠΆΠ½Ρ‹, Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. НСтрудно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» ДСйкстры с ΠΎΠ΄Π½ΠΈΠΌ ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠΌ условиСм ΠΈ ΠΎΠ΄Π½ΠΎΠΉ охраняСмой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ прСдставляСт собой, ΠΏΠΎ сути, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» с прСдусловиСм (Ρ†ΠΈΠΊΠ» Β«ΠΏΠΎΠΊΠ°Β»).

Π₯отя Ρ†ΠΈΠΊΠ» ДСйкстры Π±Ρ‹Π» ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Ρ‘Π½ Π΅Ρ‰Ρ‘ Π² 1970-Ρ… Π³ΠΎΠ΄Π°Ρ…, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… конструкций для Π΅Π³ΠΎ создания Π² языках программирования Π½Π΅ содСрТится. ЕдинствСнным ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ стал Π½Π΅Π΄Π°Π²Π½ΠΎ созданный ΠžΠ±Π΅Ρ€ΠΎΠ½-07Β β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, явно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» с нСсколькими охраняСмыми вСтвями. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Ρ†ΠΈΠΊΠ» ДСйкстры ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±Π΅Π· Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ смодСлирован с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… конструкций структурных языков программирования. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… способов Π½Π° языкС Ада:

loop
  if P1 then 
    S1;
    ...
  elsif Pn then 
    Sn;
  else
    exit;
  end if;
end loop;

Π—Π΄Π΅ΡΡŒ P1β€”PnΒ β€” ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠ΅ условия, Π° S1β€”SnΒ β€” ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ охраняСмыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π¦ΠΈΠΊΠ» ДСйкстры ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… спСцифичСских ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ вычислСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… цикличСских конструкций. НапримСр, этим Ρ†ΠΈΠΊΠ»ΠΎΠΌ СстСствСнно прСдставляСтся ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Β β€” каТдая Π²Π΅Ρ‚Π²ΡŒ соотвСтствуСт ΠΎΠ΄Π½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°, охраняСмыС условия строятся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π»Π°ΡΡŒ Π²Π΅Ρ‚Π²ΡŒ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°, Π° ΠΊΠΎΠ΄ охраняСмой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ обСспСчиваСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ вычислСний Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ состоянии ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ истинным ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰Π΅Π΅ условиС Π½ΡƒΠΆΠ½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ).

Π¦ΠΈΠΊΠ» Β«ΠΏΠ°ΡƒΠΊΒ»[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄]

Π›Π΅Π³ΠΊΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» ДСйкстры Π½Π΅ содСрТит явного условия продолТСния ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ Π½Π΅ всСми Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠΊΠ°ΠΌΠΈ программирования рассматриваСтся ΠΊΠ°ΠΊ Π±Π»Π°Π³ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° услоТнённая конструкция Ρ†ΠΈΠΊΠ»Π° ДСйкстры, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«Ρ†ΠΈΠΊΠ»-‘ΠΏΠ°ΡƒΠΊ’Β». Π’ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠ½Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 do
   P1β†’S1,
     …
   Pn→Sn
 out
   Q1β†’T1,
     …
   Qn→Tn
 else
   E
 od

Π—Π΄Π΅ΡΡŒ послС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° out Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π²Π΅Ρ‚Π²ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, состоящиС ΠΈΠ· условий Π²Ρ‹Ρ…ΠΎΠ΄Π° Qi ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ti. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²Π΅Ρ‚Π²ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ else с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ E.

Π¦ΠΈΠΊΠ»-‘ΠΏΠ°ΡƒΠΊ’ выполняСтся Ρ‚Π°ΠΊ:

  • Π’Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠ΅ условия. Если сущСствуСт истинноС ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰Π΅Π΅ условиС, выполняСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ охраняСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°.
  • Π’Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ условия Π²Ρ‹Ρ…ΠΎΠ΄Π°. Если сущСствуСт истинноС условиС Π²Ρ‹Ρ…ΠΎΠ΄Π°, выполняСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° заканчиваСтся. Если всС условия Π²Ρ‹Ρ…ΠΎΠ΄Π° Π»ΠΎΠΆΠ½Ρ‹, начинаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ итСрация, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π±Ρ‹Π»ΠΎ истинным хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΡ… условий.
  • Если Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ оказались Π»ΠΎΠΆΠ½Ρ‹ΠΌΠΈ ΠΈ всС ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠ΅ условия, ΠΈ всС условия Π²Ρ‹Ρ…ΠΎΠ΄Π°, выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ E, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° прСрываСтся.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ†ΠΈΠΊΠ»Π°-‘ΠΏΠ°ΡƒΠΊΠ°’ позволяСт ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ строго ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ условия выполнСния Ρ†ΠΈΠΊΠ»Π°. Богласно тСорСтичСским полоТСниям, Π²Π΅Ρ‚Π²ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ прСкращСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΠΊΠ»Π° (всС Ρ‚Π°ΠΊΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²Π΅Ρ‚Π²Π΅ΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ с явным условиСм), ΠΎΠ½Π° слуТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Ρ†ΠΈΠΊΠ» Π½Π°Ρ‡Π°Π» Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ΡˆΡ‚Π°Ρ‚Π½ΠΎ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ лишь Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ошибки ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π°.

Π₯отя явной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ синтаксиса для этого Ρ†ΠΈΠΊΠ»Π° Π½Π΅ сущСствуСт Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ языкС программирования, Ρ†ΠΈΠΊΠ»-‘ΠΏΠ°ΡƒΠΊ’, ΠΊΠ°ΠΊ ΠΈ Ρ†ΠΈΠΊΠ» ДСйкстры, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ смодСлирован с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… структурных конструкций.

эквивалСнтными прСобразованиями исходного ΠΊΠΎΠ΄Π°
компилятором

ru.wikipedia.org