Laço While
Parte da seção Fundamentos do Journey de R da Coddy. Lição 39 de 78.
Enquanto um for loop itera por uma sequência predefinida, um while loop continua sendo executado enquanto uma condição permanecer TRUE. Isso é útil quando você não sabe antecipadamente quantas vezes precisa repetir algo.
count <- 1
while (count <= 3) {
print(count)
count <- count + 1
}Saída:
[1] 1
[1] 2
[1] 3O loop verifica a condição count <= 3 antes de cada iteração. Quando count se torna 4, a condição é FALSE, e o loop para.
Importante: Você deve atualizar a variável dentro do loop. Sem count <- count + 1, a condição seria sempre TRUE, criando um loop infinito que nunca termina.
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total)Saída:
[1] 15Este exemplo soma os números de 1 a 5, resultando em 15. O loop while é ideal quando o ponto de parada depende de uma condição, e não de uma sequência fixa.
Desafio
FácilLeia um número n da entrada. Use um loop while para calcular e imprimir a soma de todos os números de 1 a n.
Comece com uma variável para acompanhar o total acumulado e outra variável como contador. Continue adicionando ao total enquanto o contador for menor ou igual a n, incrementando o contador a cada iteração.
Após a conclusão do loop, imprima a soma final usando print().
Por exemplo, se a entrada for 5, a saída deverá ser:
[1] 15Isso ocorre porque 1 + 2 + 3 + 4 + 5 = 15.
Experimente você mesmo
# Ler entrada
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# Inicializar variáveis
total <- 0
counter <- 1
# TODO: Escreva seu loop while abaixo para calcular a soma de 1 até n
# Imprimir o resultado
print(total)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 lógicos (AND, OR)Operadores lógicos - Parte 2 (NOT)Revisão - Lógica simplesLógica vetorizada - Parte 1Lógica vetorizada - Parte 27Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz2Variáveis e Tipos de Dados
Tipo de Dado NuméricoTipo de Dado InteiroTipo de Dado CaractereTipo de Dado LógicoVerificando Tipos de DadosConvenções de NomenclaturaValores Ausentes: NARecapitulação - Criação de Variáveis8Laços
Laço ForLaço WhileBreakNext (Continue)Revisão - FatorialGeração de Sequências (seq, :)Laços AninhadosRevisão - Entrada Dinâmica3Operadores - Parte 1
Operadores aritméticosDivisão inteira e móduloOperadores de atribuiçãoRevisão - Matemática simplesOperadores de comparação6Entrada e saída básicas
Imprimir saídacat para saídaSaída com variáveisLendo entrada com readline()Noções básicas de conversão de tiposRecapitulação - Calculadora de idadeRecapitulação - Verdadeiro ou falso9Funções
Declarando uma FunçãoArgumentos de FunçãoValores de RetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores de Parâmetros PadrãoPratique por conta própria: Compilador de R online