Estrutura If
Parte da seção Fundamentos do Journey de R da Coddy — lição 22 de 78.
Agora que você sabe como criar expressões lógicas, é hora de fazer seus programas realmente fazerem algo com base nessas condições. A instrução if permite que seu código tome decisões.
Uma instrução if executa um bloco de código apenas quando uma condição é TRUE:
temperature <- 35
if (temperature > 30) {
print("It's hot outside!")
}Quando o R encontra uma instrução if, ele avalia a condição dentro dos parênteses. Se o resultado for TRUE, o código dentro das chaves {} é executado. Se for FALSE, o R pula esse bloco inteiramente e continua com o restante do programa.
Você pode usar qualquer expressão que resulte em um valor lógico como sua condição, incluindo os operadores de comparação e lógicos que você já aprendeu:
age <- 20
has_id <- TRUE
if (age >= 18 && has_id) {
print("Access granted")
}O código dentro das chaves só é executado quando ambas as condições são atendidas. Se age for menor que 18 ou has_id for FALSE, nada acontece.
Desafio
FácilUse uma instrução if para verificar uma condição e imprimir uma mensagem apenas quando a condição for TRUE.
Você recebeu as seguintes variáveis:
balance <- 250
withdrawal_amount <- 100
is_account_active <- TRUEEscreva uma instrução if que verifique se as seguintes condições são todas atendidas:
- A conta está ativa
- O saldo (balance) é maior ou igual ao valor do saque (withdrawal_amount)
Se ambas as condições forem TRUE, imprima a mensagem "Withdrawal approved" usando a função print().
Se as condições não forem atendidas, seu código não deve produzir nenhuma saída.
Folha de consulta
A instrução if executa um bloco de código apenas quando uma condição é TRUE:
if (condition) {
# código para executar quando a condição for TRUE
}Exemplo:
temperature <- 35
if (temperature > 30) {
print("It's hot outside!")
}Você pode usar operadores de comparação e lógicos na condição:
age <- 20
has_id <- TRUE
if (age >= 18 && has_id) {
print("Access granted")
}Se a condição for avaliada como FALSE, o bloco de código é totalmente ignorado.
Experimente você mesmo
# Variáveis fornecidas
balance <- 250
withdrawal_amount <- 100
is_account_active <- TRUE
# TODO: Escreva seu código abaixo
# Use uma instrução if para verificar se:
# 1. A conta está ativa
# 2. O saldo é maior ou igual ao valor do saque
# Se ambas as condições forem TRUE, imprima "Withdrawal approved"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)Recapitulação - Lógica SimplesLógica Vetorizada Parte 1Lógica Vetorizada Parte 27Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com um Toque Especial
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 de Repetição
Laço ForLaço WhileBreakNext (Continue)Recapitulação - FatorialGeração de Sequências (seq, :)Laços AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosDivisão Inteira e MóduloOperadores de AtribuiçãoRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com PrintCat para SaídaSaída com VariáveisLendo Entrada com readline()Básico 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âmetro Padrão