0Pricing
Swift Academy · Aula

Laços while e repeat-while

Use laços baseados em condições e garanta pelo menos uma execução com repeat-while.

Laços while e repeat-while é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Boas-vindas

Quando o número de iterações não é conhecido antecipadamente, os laços `while` e `repeat-while` são a escolha certa. Veja quando e como usar cada um.

O laço while

Um laço `while` avalia sua condição *antes* de cada iteração: ```swift var count = 0 while count < 5 { print(count) count += 1 } // prints 0, 1, 2, 3, 4 ``` Se a condição for falsa inicialmente, o corpo nunca será executado.

O laço repeat-while

Um laço `repeat-while` avalia sua condição *depois* de cada iteração, garantindo pelo menos uma execução: ```swift var x = 10 repeat { print(x) x -= 3 } while x > 0 // prints 10, 7, 4, 1 ```

while versus repeat-while

Use `while` quando talvez não seja necessário executar o laço nenhuma vez. Use `repeat-while` quando for obrigatório executar pelo menos uma vez: ```swift // Reading input until valid — must try at least once: repeat { input = readLine() ?? "" } while input.isEmpty ```

Laços infinitos com while true

Um laço `while true` é executado indefinidamente até encontrar um `break`; ele é comum em laços de eventos: ```swift while true { let event = nextEvent() if event == .quit { break } handleEvent(event) } ``` Garanta sempre que exista uma condição de saída alcançável.

Exemplo de contagem regressiva

```swift var countdown = 5 while countdown > 0 { print("\(countdown)...") countdown -= 1 } print("Liftoff!") ``` Esse é um padrão clássico de laço while: diminua o valor até que a condição deixe de ser verdadeira.

Evitando laços infinitos

Erros comuns que causam laços infinitos: ```swift var i = 0 while i < 5 { print(i) // forgot i += 1 ← infinite loop! } ``` Verifique sempre se a variável do laço é atualizada e se a condição eventualmente se tornará falsa.

while com vinculação opcional

Combine `while` com vinculação opcional para processar uma sequência até encontrar nil: ```swift var items: [Int] = [1, 2, 3] while let value = items.first { print(value) items.removeFirst() } ``` Esse padrão é uma forma clara de consumir coleções de maneira destrutiva.

Exemplo de laço de jogo

```swift var lives = 3 var gameOver = false while !gameOver { let hit = Bool.random() if hit { lives -= 1 } if lives == 0 { gameOver = true } } print("Game Over") ``` Laços de jogos reais usam esse padrão para continuar em execução até que uma condição terminal seja atingida.

Laços while aninhados

Os laços while podem ser aninhados, algo comum em algoritmos de análise ou de matrizes: ```swift var row = 0 while row < 3 { var col = 0 while col < 3 { print("(\(row),\(col))", terminator: " ") col += 1 } print(); row += 1 } ```

Verificação rápida

Qual laço garante que seu corpo será executado **pelo menos uma vez**?

Recapitulação

Principais pontos: • `while condition { }`: verifica antes de cada execução; pode nunca ser executado • `repeat { } while condition`: verifica depois; executa pelo menos uma vez • `while true { ... break }`: padrão para laços de eventos • Garanta sempre que a variável do laço avance em direção ao término • Combine `while` com vinculação opcional para consumir sequências de forma clara Próximo: percorrendo coleções com `for-in`.

Perguntas Frequentes

A aula “Laços while e repeat-while” é grátis?

Sim — o texto completo de “Laços while e repeat-while” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Laços while e repeat-while”?

Use laços baseados em condições e garanta pelo menos uma execução com repeat-while. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Swift Academy?

Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Laços while e repeat-while”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Swift Academy?

Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Laços for-in com intervalos
  2. Laços while e repeat-while
  3. Iteração de coleções com for-in
  4. break, continue e instruções rotuladas
← Voltar para Swift Academy