Menu
Coddy logo textTech

O Laço 'do-while'

Parte da seção Fundamentos do Journey de Dart da Coddy — lição 44 de 94.

O do-while loop em Dart executa um bloco de código uma vez antes de verificar a condição, depois continua a repetir enquanto a condição for verdadeira.

Crie um loop do-while que conta de 1 a 5:

void main() {
  int count = 1;
  
  do {
    print(count);
    count++;
  } while (count <= 5);
}

Quando você executar este código, ele exibirá:

1
2
3
4
5

Diferentemente de um loop while, um loop do-while sempre executa pelo menos uma vez:

void main() {
  int number = 10;
  
  do {
    print("This will print once: $number");
    number++;
  } while (number < 5);
}

Após executar o código acima, a saída será:

This will print once: 10
challenge icon

Desafio

Iniciante

Neste desafio, você praticará o uso do loop do-while em Dart. Diferente de um loop while regular, um loop do-while sempre executa o bloco de código pelo menos uma vez antes de verificar a condição.

Sua tarefa é criar um programa que:

  1. Leia um único inteiro da entrada
  2. Use um loop do-while para imprimir todos os números da entrada até 1
  3. Após cada número, imprima se ele é par ou ímpar
  4. Continue até que o número chegue a 1
  5. Finalmente, imprima a soma de todos os números que foram exibidos

Por exemplo, se a entrada for 4, seu programa deve produzir a saída:

4 is even
3 is odd
2 is even
1 is odd
Sum: 10

Observe que cada linha mostra o número seguido de se é par ou ímpar, e a soma é impressa no final.

Folha de consulta

O laço do-while executa um bloco de código uma vez antes de verificar a condição, depois continua a repetir enquanto a condição for verdadeira.

Sintaxe básica:

do {
  // bloco de código
} while (condition);

Exemplo contando de 1 a 5:

int count = 1;

do {
  print(count);
  count++;
} while (count <= 5);

Diferente de um laço while, um laço do-while sempre executa pelo menos uma vez, mesmo se a condição for inicialmente falsa:

int number = 10;

do {
  print("This will print once: $number");
  number++;
} while (number < 5);

Experimente você mesmo

import 'dart:io';

void main() {
  // Ler entrada
  String? input = stdin.readLineSync();
  int number = int.parse(input ?? '0');
  
  // Inicializar soma
  int sum = 0;
  
  // Seu código aqui - use um loop do-while para contar regressivamente de number até 1
  // Imprimir cada número e se é par ou ímpar
  // Calcular a soma de todos os números
  
  // Imprimir a soma
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos