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
5Diferentemente 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: 10Desafio
InicianteNeste 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:
- Leia um único inteiro da entrada
- Use um loop
do-whilepara imprimir todos os números da entrada até 1 - Após cada número, imprima se ele é par ou ímpar
- Continue até que o número chegue a 1
- 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: 10Observe 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
}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
4Operadores Parte 2
Operadores de ComparaçãoAND LógicoOR LógicoNOT LógicoOperadores de Teste de TipoResumo - Fazendo Comparações7Trabalhando com Strings
Concatenação de StringsInterpolação de StringsStrings Multi-linhaPropriedades de StringsMétodos Básicos de Strings10Coleções - Básicos de Mapas
O que são Mapas?Criando um MapaAcessando Valores por ChavePares Chave-ValorObtendo o Tamanho do MapaObtendo as ChavesObtendo os ValoresVerificando se uma Chave Existe2Variáveis e Tipos de Dados Básicos
O que são Variáveis?StringsInteiros (int)Double (double)Booleanos (bool)Inferência de Tipo com 'var'Variáveis finalVariáveis constantesConvenções de NomenclaturaNull Safety BásicaResumo - Declarando Variáveis8Fluxo de Controle - Laços
O Laço 'for'O Laço 'while'O Laço 'do-while'Usando 'break' em LaçosUsando 'continue' em LaçosResumo - Repetindo Código3Operadores Parte 1
Operadores AritméticosDivisão InteiraOperador MóduloIncremento e DecrementoAtalhos de AtribuiçãoResumo - Cálculos Simples6Fluxo de Controle - Tomada de Decisões
A Instrução 'if'A Instrução 'else'A Instrução 'else if'Resumo - Decisões SimplesInstruções 'if' AninhadasA Instrução 'switch'9Coleções - Listas Básicas
O que são Listas?Criando uma ListaAcessando por ÍndiceObtendo o Tamanho da ListaAdicionando ElementosRemovendo ElementosVerificando se uma Lista Está VaziaIterando Sobre uma Lista12Funções Avançadas
Parâmetros Posicionais OpcionaisParâmetros NomeadosParâmetros Nomeados ObrigatóriosValores Padrão de ParâmetrosResumo - Parâmetros de Função15Projeto: Calculadora Simples
ConfigurandoDeclarando Número