Swift while e repetir while Loop (com exemplos)

Neste artigo, você aprenderá a criar while e repetir … while loops na programação Swift.

No artigo anterior, aprendemos sobre o loop for-in para executar um conjunto de tarefas por um determinado número de vezes. Neste artigo, você aprenderá a usar whilee repeat… whilecomo alternativa ao loop for-in quando o número de iterações for desconhecido.

Um loop while executa um conjunto de instruções até que uma condição se torne false. Esses tipos de loops são mais usados ​​quando o número de iterações não é conhecido antes do início da primeira iteração. O Swift oferece dois tipos de loops while:

1. Swift while Loop

Este loop avalia sua condição no início de cada passagem pelo loop.

A sintaxe do loop while é:

 while (TestExpression) ( // statements )

Como funciona o loop while?

O TestExpressioné uma expressão booleana.

Se o TestExpressionfor avaliado para true,

  • instruções dentro do loop while são executadas.
  • e o TestExpressioné avaliado novamente.

Esse processo continua até que TestExpressionseja avaliado como false. Se o TestExpressionavaliar para false, o loop while é encerrado.

Fluxograma do loop while

Exemplo 1: While Loop

 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")

Quando você executa o programa, a saída será:

 Você passou no nível 0 Você passou no nível 1 Você passou no nível 2 Você passou no nível 3 Você passou no nível 4 Você passou no nível 5 fora do loop while 

No programa acima, a variável currentLevel e finalLevel é inicializada em 0 e a constante gameCompleted é inicializada em true.

Em cada iteração do loop while, ele verifica a condição currentLevel <= finalLevel. Se a condição retornar true, as instruções dentro do loop while são executadas, caso contrário, o loop termina.

Etapas de execução
Iteração Condição (currentLevel <= finalLevel) Resultado
1 0 <= 5 (verdadeiro) Você passou no nível 0
2 1 <= 5 (verdadeiro) Você passou no nível 1
3 2 <= 5 (verdadeiro) Você passou no nível 2
4 3 <= 5 (verdadeiro) Você passou no nível 3
5 4 <= 5 (verdadeiro) Você passou no nível 4
6 5 <= 5 (verdadeiro) Você passou no nível 5
7 6 <= 5 (falso) fora do loop while

2. Repita durante o Loop

Este loop avalia sua condição no final de cada passagem pelo loop. O loop repeat… while é semelhante ao loop while com uma diferença fundamental. O corpo de repeat… while loop é executado uma vez antes de a expressão de teste ser verificada.

A sintaxe de repeat … while loop é:

 repeat ( // statements… ) while (testExpression)

Como repetir … enquanto o loop funciona?

O corpo de repeat… while loop é executado uma vez (antes de verificar a expressão de teste). Só então, testExpression é verificado.

Se testExpression for avaliado como verdadeiro, as instruções dentro do corpo do loop serão executadas e testExpression será avaliado novamente. Esse processo continua até que testExpression seja avaliado como false.

Quando testExpression é false, o loop repeat… while termina.

Fluxograma de repetição … enquanto Loop

Exemplo 2: Repetir durante o Loop

 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") 

Quando você executa o programa, a saída será:

 Você passou no nível 0 Você passou no nível 1 Você passou no nível 2 Você passou no nível 3 Você passou no nível 4 Você passou no nível 5 fora da repetição durante o ciclo 

No exemplo acima, pela primeira vez, as instruções dentro do loop são executadas. E para a próxima iteração, ele verifica a condição currentLevel <= finalLevel.

Se a condição retornar true, as instruções dentro do loop while são executadas, caso contrário, o loop termina.

Etapas de execução
Iteração Condição (currentLevel <= finalLevel) Resultado
1 0 <= 5 (verdadeiro) Você passou no nível 0
2 1 <= 5 (verdadeiro) Você passou no nível 1
3 2 <= 5 (verdadeiro) Você passou no nível 2
4 3 <= 5 (verdadeiro) Você passou no nível 3
5 4 <= 5 (verdadeiro) Você passou no nível 4
6 5 <= 5 (verdadeiro) Você passou no nível 5
7 6 <= 5 (falso) fora da repetição while loop

Embora whilee o repeat whileloop tenham as mesmas etapas de execução, a condição currentLevel <= finalLevel no repeat whileloop é executada somente após a execução das instruções dentro dele.

Mas em while, a condição é verificada no início, antes de executar as instruções dentro dela.

3. Infinito while Loop

Se a expressão de teste nunca for avaliada como false, o corpo de whilee o repeat… whileloop será executado um número infinito de vezes.

Exemplo 3: Infinito while Loop

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

Quando você executa o programa, a saída será:

Olá Mundo! Olá Mundo!…

Quando você executa o programa, os dois loops executam a print("Hello, World!")instrução por um número infinito de vezes. Portanto, você pode ver a saída contínua Hello, World! no console.

Artigos interessantes...