Брзо и понављајте док петља (са примерима)

У овом чланку ћете научити да креирате и понављате… вхиле петље у Свифт програмирању.

У претходном чланку смо сазнали за фор-ин петљу за покретање скупа задатака одређени број пута. У овом чланку ћете научити да користите whileи repeat… whileкао алтернативу фор-ин петљи када је број итерација непознат.

Петља вхиле извршава скуп наредби све док услов не постане false. Ове врсте петљи је најбоље користити када број итерација није познат пре него што прва итерација започне. Свифт пружа две врсте вхиле петљи:

1. Брзо док петљате

Ова петља процењује своје стање на почетку сваког проласка кроз петљу.

Синтакса вхиле петље је:

 while (TestExpression) ( // statements )

Како вхиле петља ради?

То TestExpressionје логички израз.

Ако TestExpressionсе процењује на true,

  • извршавају се изрази унутар вхиле петље.
  • и TestExpressionпоново се процењује.

Овај процес траје све док се TestExpressionне процени false. Ако TestExpressionпроцени на false, вхиле петља се прекида.

Дијаграм тока вхиле Лооп

Пример 1: Вхиле Лооп

 var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true while (currentLevel <= finalLevel) ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) print("outside of while loop")

Када покренете програм, излаз ће бити:

 Прешли сте ниво 0 Прошли сте ниво 1 Прошли сте ниво 2 Прошли сте ниво 3 Прошли сте ниво 4 Прешли сте ниво 5 изван вхиле петље 

У горе наведеном програму променљива цуррентЛевел и финалЛевел иницијализују се на 0, а константна гамеЦомплетед иницијализује се у true.

У свакој итерацији вхиле петље проверава стање currentLevel <= finalLevel. Ако се услов врати true, наредбе унутар вхиле петље се извршавају, иначе се петља завршава.

Кораци извршења
Понављање Услов (цуррентЛевел <= финалЛевел) Оутпут
1 0 <= 5 (тачно) Прешли сте ниво 0
2 1 <= 5 (тачно) Прешли сте ниво 1
3 2 <= 5 (тачно) Прешли сте ниво 2
4 3 <= 5 (тачно) Прешли сте ниво 3
5 4 <= 5 (тачно) Прешли сте ниво 4
6 5 <= 5 (тачно) Прешли сте ниво 5
7 6 <= 5 (нетачно) изван вхиле петље

2. Понављајте док петљате

Ова петља процењује своје стање на крају сваког проласка кроз петљу. Понављање… вхиле петља је слично петљи вхиле са једном кључном разликом. Тело репеат … вхиле петље се извршава једном пре него што се провери тест израз.

Синтакса понављања … вхиле петље је:

 repeat ( // statements… ) while (testExpression)

Како поновити … док петља ради?

Тело репеат … вхиле петље се извршава једном (пре провере пробног израза). Тек тада се проверава тестЕкпрессион.

Ако се тестЕкпрессион процени на тачно, извршавају се изрази унутар тела петље и тестЕкпрессион се поново процењује. Овај процес траје све док се тестЕкпрессион не процени на false.

Када је тестЕкпрессион false, понављање… вхиле петља се завршава.

Дијаграм тока понављања … док се понавља

Пример 2: Поновите док петља

 var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true repeat ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) while (currentLevel <= finalLevel) print("outside of repeat while loop") 

Када покренете програм, излаз ће бити:

 Прешли сте ниво 0 Прошли сте ниво 1 Прошли сте ниво 2 Прошли сте ниво 3 Прошли сте ниво 4 Прошли сте ниво 5 изван понављања вхиле петље 

У горњем примеру, први пут се извршавају изрази унутар петље. А за следећу итерацију проверава стање currentLevel <= finalLevel.

Ако се услов врати true, наредбе унутар вхиле петље се извршавају, иначе се петља завршава.

Кораци извршења
Понављање Услов (цуррентЛевел <= финалЛевел) Оутпут
1 0 <= 5 (тачно) Прешли сте ниво 0
2 1 <= 5 (тачно) Прешли сте ниво 1
3 2 <= 5 (тачно) Прешли сте ниво 2
4 3 <= 5 (тачно) Прешли сте ниво 3
5 4 <= 5 (тачно) Прешли сте ниво 4
6 5 <= 5 (тачно) Прешли сте ниво 5
7 6 <= 5 (нетачно) изван понављања вхиле петље

Иако су оба whileи repeat whileпетље имају исте кораке извршења, стање currentLevel <= finalLevel на repeat whileпетљи извршава тек након извршења изјаве у њој.

Али у while, стање се проверава на почетку пре него што изврши изјаве унутар њега.

3. Бесконачно док петља

Ако се тест израз никада не израчуна false, тело whileи repeat… whileпетље се извршава бесконачно много пута.

Пример 3: Бесконачно док петља

 while (true) ( print("Hello, World!") )
 repeat ( print("Hello, World!") ) while (true)

Када покренете програм, излаз ће бити:

Здраво Свете! Здраво Свете!…

Када покренете програм, обе петље извршавају print("Hello, World!")наредбу бесконачно много пута. Дакле, можете видети континуирани излаз Здраво, Свет! у конзоли.

Занимљиви Чланци...