Exercício 1) Dadas 3 variáveis com valores numéricos, apresentar o resultado da soma das combinações dois a dois destes três números. Por exemplo, variáveis A, B e C, mostrar A + B, A + C, B + C.
A <- 2
B <- 3
C <- 4
A + B
## [1] 5
A + C
## [1] 6
B + C
## [1] 7
Exercício 2) Definir duas variáveis A e B e trocar seus valores. Ex: Entrada: A=6 e B=8 Saída: A=8 e B=6.
A <- 6
B <- 8
Aux <- A
A <- B
B <- Aux
print (A)
## [1] 8
print (B)
## [1] 6
Exercício 3) Converter uma temperatura de Fahrenheit para Centígrados. C = (F - 32) * ( 5 / 9 ).
# Temperatura em Fahrenheit
F <- 68
# Conversão para Celsius
C <- (F - 32) * (5/9)
# Mostrar resultado
print(C)
## [1] 20
Exercicio 4) Escrever um algoritmo que defina um número X e calcule:
valores <- c(3, 6, 9)
for (X in valores) {
a <- X^3 - 4
b <- X %% 3
c_result <- X * (X/3) + 2
d <- sqrt(X^2)
print(paste("Valor de X:", X))
print(paste("a =", a))
print(paste("b =", b))
print(paste("c =", c_result))
print(paste("d =", d))
}
## [1] "Valor de X: 3"
## [1] "a = 23"
## [1] "b = 0"
## [1] "c = 5"
## [1] "d = 3"
## [1] "Valor de X: 6"
## [1] "a = 212"
## [1] "b = 0"
## [1] "c = 14"
## [1] "d = 6"
## [1] "Valor de X: 9"
## [1] "a = 725"
## [1] "b = 0"
## [1] "c = 29"
## [1] "d = 9"
Exercio 5) Crie um vetor numérico com os números de 1 a 10 e armazene-o em uma variável chamada “numeros”. Em seguida, imprima o vetor.
# Criando o vetor
numeros <- 1:10
# Loop para imprimir cada número
for (n in numeros) {
print(n)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
exercicio 6) Crie um vetor de caracteres com os nomes dos dias da semana e armazene-o em uma variável chamada “dias”. Em seguida, imprima o vetor
# Criando o vetor
dias <- c("Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo")
# Loop para imprimir cada dia
for (d in dias) {
print(d)
}
## [1] "Segunda"
## [1] "Terça"
## [1] "Quarta"
## [1] "Quinta"
## [1] "Sexta"
## [1] "Sábado"
## [1] "Domingo"
Exercio 7) Crie uma matriz 3x3 com os números de 1 a 9 e armazene-a em uma variável chamada “matriz”. Em seguida, imprima a matriz.
# Criando a matriz
matriz <- matrix(1:9, nrow = 3, ncol = 3)
# Loop para percorrer a matriz
for (i in 1:nrow(matriz)) {
for (j in 1:ncol(matriz)) {
valor <- matriz[i, j]
print(paste("Elemento [", i, ",", j, "] =", valor))
}
}
## [1] "Elemento [ 1 , 1 ] = 1"
## [1] "Elemento [ 1 , 2 ] = 4"
## [1] "Elemento [ 1 , 3 ] = 7"
## [1] "Elemento [ 2 , 1 ] = 2"
## [1] "Elemento [ 2 , 2 ] = 5"
## [1] "Elemento [ 2 , 3 ] = 8"
## [1] "Elemento [ 3 , 1 ] = 3"
## [1] "Elemento [ 3 , 2 ] = 6"
## [1] "Elemento [ 3 , 3 ] = 9"
Exercicio 8) Crie um data-frame com as informações de 3 pessoas: nome (caracter), idade (numérico) e cidade natal (caracter). Armazene o data-frame em uma variável chamada “pessoas” e imprima o.
# Criando o data frame
pessoas <- data.frame(
nome = c("Ana", "Bruno", "Carla"),
idade = c(25, 30, 22),
cidade = c("Rio de Janeiro", "São Paulo", "Belo Horizonte")
)
# Loop para imprimir apenas nome e cidade
for (i in 1:nrow(pessoas)) {
nome <- pessoas$nome[i]
cidade <- pessoas$cidade[i]
print(paste(nome, "nasceu em", cidade))
}
## [1] "Ana nasceu em Rio de Janeiro"
## [1] "Bruno nasceu em São Paulo"
## [1] "Carla nasceu em Belo Horizonte"
Exercicio 9) Limpe as variáveis que estão no sistema e em seguida crie 3 variáveis, x, y e z e atribua valores numéricos para elas. Em seguida realize comparações entre elas (utilize TODOS os operadores de comparação (<. <. >=, <=, ==, !=).
rm(list = ls())
x <- 10
y <- 5
z <- 10
# Usando if para mostrar resultados
if (x > y) {
print("x é maior que y")
}
## [1] "x é maior que y"
if (x < y) {
print("x é menor que y")
}
if (x >= z) {
print("x é maior ou igual a z")
}
## [1] "x é maior ou igual a z"
if (y <= x) {
print("y é menor ou igual a x")
}
## [1] "y é menor ou igual a x"
if (x == z) {
print("x é igual a z")
}
## [1] "x é igual a z"
if (x != y) {
print("x é diferente de y")
}
## [1] "x é diferente de y"
Exercicio 10) Limpe as variáveis que estão no sistema e em seguida crie 3 variáveis, “rua”, “numero” e “bairro” e atribua valores (texto) para elas. Em seguida concatene essas variáveis em uma terceira chamada “endereco”
rm(list = ls())
rua <- "Rua das Flores"
numero <- "123"
bairro <- "Centro"
endereco <- paste(rua, numero, bairro)
# Condição
if (endereco != "") {
print(paste("Endereço completo:", endereco))
} else {
print("Endereço vazio")
}
## [1] "Endereço completo: Rua das Flores 123 Centro"
Exercicio 11) Elabore um algoritmo que:
a) Crie um vetor com uma sequência de 10 números. b) Faça um loop para
calcular a soma dos números do vetor.
c) Utilize o comando “vetor <- c(1:10)” para criar o vetor. d)
Utilize o comando “for( i in 1:10) { …comandos}” para realizar a soma.
e) Referencie os valores do vetor com o comando: “vetor[i]”, onde “i” é
o índice referência (número) Ex. vetor: 1,2,3,4,5,6,7,8,9,10 | Soma dos
números = 55.
# Criando o vetor
vetor <- c(1:10)
# Variável para armazenar a soma
soma <- 0
# Loop para somar os valores
for (i in 1:10) {
soma <- soma + vetor[i]
}
# Resultado
print(paste("Soma dos números =", soma))
## [1] "Soma dos números = 55"
Exercicio 12) A partir do exercício anterior, faça a média dos valores contidos no vetor.
# Criando o vetor
vetor <- c(1:10)
# Variáveis
soma <- 0
# Loop para somar
for (i in 1:10) {
soma <- soma + vetor[i]
}
# Calculando a média
media <- soma / 10
# Resultado
print(paste("Média =", media))
## [1] "Média = 5.5"
Exercio 13) Crie duas variáveis, x e y. Compare se x é maior que y.
Se for, imprima “x é maior que y”, se não for, imprima “y é maior que
x”. a) A sintaxe do comando de comparação é: if (x > y) {comandos…}
else {comandos}
b) O comando print(“texto ou variável”) imprime a resposta na tela.
# Criando as variáveis
x <- 10
y <- 5
# Comparação
if (x > y) {
print("x é maior que y")
} else {
print("y é maior que x")
}
## [1] "x é maior que y"
Exercicio 14) Repita o exercício “7)” realizando os seguintes ajustes: a) Substitua o sinal de maior (“>”) pelo de menor ou igual (“<=”) e ajuste dos dizeres da resposta.
x <- 10
y <- 5
if (x <= y) {
print(paste("x é menor ou igual a y:", x, "<=", y))
} else {
print(paste("x é maior que y:", x, ">", y))
}
## [1] "x é maior que y: 10 > 5"
Exercicio 15) A partir do exercício “5)”, faça a soma somente dos números pares. a) Utilize o comando “%%” para identificar o resto da divisão. Ex: “5%%2”, cinco dividido por dois terá como resto “1”. Ou seja, o resultado dessa operação será “1”.
# Criando o vetor
vetor <- c(1:10)
# Variável acumuladora
soma <- 0
# Loop
for (i in 1:10) {
# Verificando se é par
if (vetor[i] %% 2 == 0) {
soma <- soma + vetor[i]
}
}
# Resultado
print(paste("Soma dos números pares =", soma))
## [1] "Soma dos números pares = 30"
Exercicio 16) Faça um algoritmo que calcule e imprima o fatorial de um número inteiro.
# Definindo o número
n <- 5
# Variável do fatorial
fatorial <- 1
# Loop
for (i in 1:n) {
fatorial <- fatorial * i
}
# Resultado
print(paste("Fatorial de", n, "=", fatorial))
## [1] "Fatorial de 5 = 120"
Exercicio 17) Crie uma matriz 4x4. a) Uma matriz no R comporta somente um tipo de dado (número, texto ou boleano). b) O comando para criar a matriz é “x <- matrix(data = 1, nrow = 4, ncol = 4, byrow = TRUE)”
x <- matrix(data = 1, nrow = 4, ncol = 4, byrow = TRUE)
# Percorrendo a matriz
for (i in 1:nrow(x)) {
for (j in 1:ncol(x)) {
valor <- x[i, j]
# Condição simples
if (valor == 1) {
print(paste("Posição [", i, ",", j, "] = 1"))
}
}
}
## [1] "Posição [ 1 , 1 ] = 1"
## [1] "Posição [ 1 , 2 ] = 1"
## [1] "Posição [ 1 , 3 ] = 1"
## [1] "Posição [ 1 , 4 ] = 1"
## [1] "Posição [ 2 , 1 ] = 1"
## [1] "Posição [ 2 , 2 ] = 1"
## [1] "Posição [ 2 , 3 ] = 1"
## [1] "Posição [ 2 , 4 ] = 1"
## [1] "Posição [ 3 , 1 ] = 1"
## [1] "Posição [ 3 , 2 ] = 1"
## [1] "Posição [ 3 , 3 ] = 1"
## [1] "Posição [ 3 , 4 ] = 1"
## [1] "Posição [ 4 , 1 ] = 1"
## [1] "Posição [ 4 , 2 ] = 1"
## [1] "Posição [ 4 , 3 ] = 1"
## [1] "Posição [ 4 , 4 ] = 1"
Exercicio 18) Agora, crie uma matriz com a sequência de 1 a 16.
matriz <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
for (i in 1:nrow(matriz)) {
for (j in 1:ncol(matriz)) {
valor <- matriz[i, j]
if (valor %% 2 == 0) {
print(paste("Elemento [", i, ",", j, "] =", valor, "- Par"))
} else {
print(paste("Elemento [", i, ",", j, "] =", valor, "- Ímpar"))
}
}
}
## [1] "Elemento [ 1 , 1 ] = 1 - Ímpar"
## [1] "Elemento [ 1 , 2 ] = 2 - Par"
## [1] "Elemento [ 1 , 3 ] = 3 - Ímpar"
## [1] "Elemento [ 1 , 4 ] = 4 - Par"
## [1] "Elemento [ 2 , 1 ] = 5 - Ímpar"
## [1] "Elemento [ 2 , 2 ] = 6 - Par"
## [1] "Elemento [ 2 , 3 ] = 7 - Ímpar"
## [1] "Elemento [ 2 , 4 ] = 8 - Par"
## [1] "Elemento [ 3 , 1 ] = 9 - Ímpar"
## [1] "Elemento [ 3 , 2 ] = 10 - Par"
## [1] "Elemento [ 3 , 3 ] = 11 - Ímpar"
## [1] "Elemento [ 3 , 4 ] = 12 - Par"
## [1] "Elemento [ 4 , 1 ] = 13 - Ímpar"
## [1] "Elemento [ 4 , 2 ] = 14 - Par"
## [1] "Elemento [ 4 , 3 ] = 15 - Ímpar"
## [1] "Elemento [ 4 , 4 ] = 16 - Par"
Exercicio 19) Transforme essa matriz em um data.frame a) Um data.frame é uma estrutura de dados similar a matriz que pode conter dados diferentes em suas variáveis. b) Lembre-se que também chamamos as colunas de variáveis e as linhas de registros. c) Uma variável (coluna) não pode conter dados diferentes. Ou todas as linhas dessa variável são números, ou todas são texto, ou ainda, boleanos. d) Utilize o comando “df <- as.data.frame(x)”
x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
df <- as.data.frame(x)
# Percorrendo o data frame
for (i in 1:nrow(df)) {
valor <- df[i, 1] # pegando a primeira coluna só como exemplo
if (valor %% 2 == 0) {
print(paste("Valor par:", valor))
} else {
print(paste("Valor ímpar:", valor))
}
}
## [1] "Valor ímpar: 1"
## [1] "Valor ímpar: 5"
## [1] "Valor ímpar: 9"
## [1] "Valor ímpar: 13"
Exercicio 20) Utilizando os comandos de repetição e decisão (se for necessário), calcule: a) a média de uma coluna da matriz do exercício “12)”. b) A média de todas as colunas da matriz do exercício “12)”. c) A média de todas as linhas da matriz do exercício “12)”. d) A média dos números pares de todas as colunas da matriz do exercício “12)”. e) A média dos números ímpares de todas as linhas da matriz do exercício “12)”. f) A soma da diagonal principal da matriz. g) A soma da diagonal secundária da matriz (desafio).
# Criando a matriz
matriz <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
# a) Média de uma coluna (ex: coluna 1)
soma_col <- 0
for (i in 1:4) {
soma_col <- soma_col + matriz[i,1]
}
media_col <- soma_col / 4
print(paste("Média da coluna 1 =", media_col))
## [1] "Média da coluna 1 = 7"
# b) Média de todas as colunas
for (j in 1:4) {
soma <- 0
for (i in 1:4) {
soma <- soma + matriz[i,j]
}
media <- soma / 4
print(paste("Média da coluna", j, "=", media))
}
## [1] "Média da coluna 1 = 7"
## [1] "Média da coluna 2 = 8"
## [1] "Média da coluna 3 = 9"
## [1] "Média da coluna 4 = 10"
# c) Média de todas as linhas
for (i in 1:4) {
soma <- 0
for (j in 1:4) {
soma <- soma + matriz[i,j]
}
media <- soma / 4
print(paste("Média da linha", i, "=", media))
}
## [1] "Média da linha 1 = 2.5"
## [1] "Média da linha 2 = 6.5"
## [1] "Média da linha 3 = 10.5"
## [1] "Média da linha 4 = 14.5"
# d) Média dos números pares de todas as colunas
for (j in 1:4) {
soma <- 0
cont <- 0
for (i in 1:4) {
if (matriz[i,j] %% 2 == 0) {
soma <- soma + matriz[i,j]
cont <- cont + 1
}
}
media <- soma / cont
print(paste("Média dos pares da coluna", j, "=", media))
}
## [1] "Média dos pares da coluna 1 = NaN"
## [1] "Média dos pares da coluna 2 = 8"
## [1] "Média dos pares da coluna 3 = NaN"
## [1] "Média dos pares da coluna 4 = 10"
# e) Média dos números ímpares de todas as linhas
for (i in 1:4) {
soma <- 0
cont <- 0
for (j in 1:4) {
if (matriz[i,j] %% 2 != 0) {
soma <- soma + matriz[i,j]
cont <- cont + 1
}
}
media <- soma / cont
print(paste("Média dos ímpares da linha", i, "=", media))
}
## [1] "Média dos ímpares da linha 1 = 2"
## [1] "Média dos ímpares da linha 2 = 6"
## [1] "Média dos ímpares da linha 3 = 10"
## [1] "Média dos ímpares da linha 4 = 14"
# f) Soma da diagonal principal
soma_dp <- 0
for (i in 1:4) {
soma_dp <- soma_dp + matriz[i,i]
}
print(paste("Soma da diagonal principal =", soma_dp))
## [1] "Soma da diagonal principal = 34"
# g) Soma da diagonal secundária
soma_ds <- 0
for (i in 1:4) {
soma_ds <- soma_ds + matriz[i, 5 - i]
}
print(paste("Soma da diagonal secundária =", soma_ds))
## [1] "Soma da diagonal secundária = 34"
Exercicio 21) Repita o exercício “14)” com os dados do data.frame do exercício “13)”.
# Criando o data frame
df <- data.frame(
x = c(10, 3, 7),
y = c(5, 8, 7)
)
# Loop para percorrer
for (i in 1:nrow(df)) {
x <- df$x[i]
y <- df$y[i]
# Comparação
if (x > y) {
print(paste("Linha", i, ": x é maior que y"))
} else {
print(paste("Linha", i, ": y é maior que x"))
}
}
## [1] "Linha 1 : x é maior que y"
## [1] "Linha 2 : y é maior que x"
## [1] "Linha 3 : y é maior que x"
Exercicio 22) Crie um loop for que imprime os números de 1 a 10.
for (i in 1:10) {
if (i > 0) {
print(paste("Número:", i))
}
}
## [1] "Número: 1"
## [1] "Número: 2"
## [1] "Número: 3"
## [1] "Número: 4"
## [1] "Número: 5"
## [1] "Número: 6"
## [1] "Número: 7"
## [1] "Número: 8"
## [1] "Número: 9"
## [1] "Número: 10"
Exercicio 23) Crie um vetor numérico com os números de 1 a 100. Em seguida, crie um novo vetor que contenha apenas os números pares do vetor original.
# Criando o vetor
vetor <- 1:100
# Vetor vazio para armazenar pares
pares <- c()
# Loop
for (i in 1:100) {
if (vetor[i] %% 2 == 0) {
pares <- c(pares, vetor[i])
}
}
# Resultado
print(pares)
## [1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38
## [20] 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76
## [39] 78 80 82 84 86 88 90 92 94 96 98 100
Exercicio 24) Crie uma função chamada “maior_elemento” que recebe um vetor numérico como argumento e retorna o maior elemento do vetor. Em seguida, teste a função com o vetor c(10, 5, 8, 2, 20, 15).
# Criando a função
maior_elemento <- function(vetor) {
maior <- vetor[1]
for (i in 1:length(vetor)) {
if (vetor[i] > maior) {
maior <- vetor[i]
}
}
return(maior)
}
# Testando a função
resultado <- maior_elemento(c(10, 5, 8, 2, 20, 15))
print(resultado)
## [1] 20