Programação no R - Aula 3

Disciplina: Lógica da programação (de computadores) e análise de dados no R

Prof. Maurício Garcia de Camargo. IO-FURG.

2025-09-12

Revendo estrutura de uma função

minha_funcao = function(input1, input2) {
… operações …
return(output)
}

  • Minha_funcao é o nome da funcão.
  • { } representam o início e o fim da função.
  • Function e return: palavras reservadas do R.
  • Operações são os cálculos que geram o output.

Estrutura de condição (if…else)

Permite executar um código quando a condição é verdadeira e outro quando é falsa.

Sintaxe:

if (condição) {
  # código se verdadeiro
} else {
  # código se falso
}

Exemplo:

idade = 16
if (idade >= 18) {
  print("Maior de idade")
} else {
  print("Menor de idade")
}

Resolução dos exercícios anteriores



Abrir Aula2_Exerc_Resolvidos.R

Operadores Lógicos

Permitem comparar expressões em que o resultado pode ser verdadeiro ou falso, implementando a lógica booleana.

Operadores Lógicos

Retorno das expressões

Exemplo de Operador &

Usado para testar se duas condições são verdadeiras ao mesmo tempo.

x <- 5
y <- 10

(x > 0) & (y > 0)      # TRUE (as duas condições são verdadeiras)
(x > 0) & (y < 0)      # FALSE (a segunda não é verdadeira)

Exemplo de Operador |

Retorna TRUE se pelo menos uma condição for verdadeira.

idade <- 17
tem_autorizacao <- TRUE

(idade >= 18) | tem_autorizacao  # TRUE (tem autorização mesmo sendo menor)
(idade >= 18) | FALSE            # FALSE (nenhuma condição é verdadeira)

Operador != (Diferente de)

Verifica se dois valores são diferentes.
Exemplo:

a <- 3
b <- 5

a != b       # TRUE  (3 é diferente de 5)
a != 3       # FALSE (3 não é diferente de 3)

Pode ser combinado com & e |:

nota <- 8
freq <- 65
(nota >= 7) & (freq != 0)  # TRUE (nota >=7 e freq diferente de 0)

Exemplo de Função com Operador Lógico

Exemplo Crie uma função que receba um número inteiro e devolva se o número está no intervalo entre 5 e 10.

f_intervalo = function(x) {
  if (x>=5 & x<=10) {
    return('SIM')
} else {
 return('NÃO')
  }
}  

Mesma função com as chaves {} abreviadas.

f_intervalo = function(x) {
  if (x>=5 & x<=10) return('SIM')
  else return('NÃO')
}  

Exercícios de Operadores Lógicos


Exercício 1 Crie uma função que receba a idade e o sexo (T ou F para masculino) de uma pessoa e determine se está em idade militar.

Exercício 2 Crie uma função que receba a nota e a frequencia em uma disciplina e devolva ‘Aprovado’ se a nota for maior que 7 e a frequência maior que 70%, caso contrário devolva ‘Reprovado’.

Exercícios de Operadores Lógicos


Exercício 3
Parecido com o anterior, porém mais completo. Crie uma função que receba 4 notas bimestrais e a frequência de um aluno. A função deve calcular a média anual do aluno e depois devolver ‘Aprovado’ ou ‘Reprovado’, da mesma maneira que o exercício anterior.

Exercícios de Operadores Lógicos


Exercício 4
Crie uma função que receba três valores (a,b e c) representando os lados de um triângulo e devolva a classificação do triângulo:
- ‘Equilátero’ se todos os lados forem iguais.
- ‘Isósceles’ se dois lados forem iguais.
- ‘Escaleno’ se todos forem diferentes.

Exercícios de Operadores Lógicos


Exercício 5 Crie uma função que receba o salário de um funcionário e o seu cargo (A ou B) e devolva o valor do aumento salarial na seguinte forma: - Cargo A: se o salário for menor que 2000, aumenta 20%. Se for maior, aumenta 10%. - Cargo B: se o salário for menor que 6000, aumenta 10%. Se for maior, aumenta 5%.

Exercícios de Operadores Lógicos


Exercício 6
Crie uma função que receba um número e determine se devolva se ele é:
- ‘Positivo e par’
- ‘Positivo e ímpar’
- ‘Negativo’
- ‘Zero’

Exercícios de Operadores Lógicos

Exercício 7. Crie uma função que receba um número inteiro e devolva TRUE or FALSE se aquele ano é bissexto ou não, sabendo que ano bissexto é aquele divisível por 4 ou divisível por 400.

Exercício 8 Crie uma função que receba três variáveis (renda, idade e score) e de termine se o banco pode realizar o empréstimo, sendo “Autorizado” se a idade for maior que 25 e a renda for maior que 3000, ou então se o score for maior que 750. Caso contrário, será “Negado”.

Exercícios de Operadores Lógicos


Exercício 9
Crie uma função que receba a altura (H) e o sexo de uma pessoa e determine seu peso ideal, baseado nas seguintes fórmulas:
- para homens (72,7 x H) - 58
- para mulheres (62,1 x H) - 44,7

Exercícios de Operadores Lógicos

Exercício 10
Crie uma função que receba os valores de pressão e glicose e devolva o resultado da avaliação de risco de infarte:
* ‘Risco alto’ se a pressão for maior que 140 e a glicose maior que 125.
* ‘Risco moderado’ se a pressão for maior que 140 ou a glicose maior que 125.
* ‘Risco baixo’ caso contrário.

Exercícios de Operadores Lógicos

Exercício 11 (Desafio!)
Crie uma função que receba o código de produto e devolva sua classificação, conforme a tabela de referência: