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 <- 6
B <- 8
C <- 10
A + B
## [1] 14
A + C
## [1] 16
B + C
## [1] 18
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 ).
f_temp <- 95
C = (F - 32) * (5/9)
c_temp <- (f_temp - 32) * ( 5/9)
round(c_temp,2)
## [1] 35
Exercício 4 Escrever um algoritmo que defina um número X e calcule:
x<- 4
resultado_a <- (4^3)- 4
print(resultado_a)
## [1] 60
X <- 4
resultado_b <-x %% 3
print(resultado_b)
## [1] 1
X<-4
resuldado_c <- X * ( X/3) + 2
print(resuldado_c)
## [1] 7.333333
X <- 4
resultado_d <- sqrt(X^2)
print(resultado_d)
## [1] 4
Exercício 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.
numeros <- 1:10
print(numeros)
## [1] 1 2 3 4 5 6 7 8 9 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.
dias <-c("Segunda-feira" ,"Terça-feria" , "Quarta-feira" , " Quinta-feira" , "sexta-feira" ,"Sábado","Domingo")
print(dias)
## [1] "Segunda-feira" "Terça-feria" "Quarta-feira" " Quinta-feira"
## [5] "sexta-feira" "Sábado" "Domingo"
Exercício 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.
matriz <- matrix(1:9, nrow = 3, ncol = 3)
print(matriz)
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
Exercício 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
pessoas <-data.frame(
nomes = c("Rafael" , "Vanessa" , "João"),
idade = c(39, 39, 16),
cidade_natal = c("Rio de Janeiro", "São Paulo", "Minas Gerais")
)
print(pessoas)
## nomes idade cidade_natal
## 1 Rafael 39 Rio de Janeiro
## 2 Vanessa 39 São Paulo
## 3 João 16 Minas Gerais
Exercício 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 <- 39
y <- 40
z <- 16
x < y
## [1] TRUE
y > x
## [1] TRUE
x <= z
## [1] FALSE
y<= x
## [1] FALSE
x == z
## [1] FALSE
x != y
## [1] TRUE
Exercício 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 <- "Tabaí"
Número <- "476"
Bairro <- "Campo Grande"
endereco <- paste(Rua, Número, Bairro)
print(endereco)
## [1] "Tabaí 476 Campo Grande"
B. ALGORITMOS – ESTRUTURAS DE DECISÃO E REPETIÇÃO
Exercício 11 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. i) Utilize o comando “vetor <- c(1:10)” para criar o vetor. ii) Utilize o comando “for( i in 1:10) { …comandos}” para realizar a soma. iii) 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.
vetor <- 1:10
print(vetor)
## [1] 1 2 3 4 5 6 7 8 9 10
soma_total <- 0
for ( numero in vetor) {soma_total <- soma_total+ numero}
print(soma_total)
## [1] 55
Exercício 12 A partir do exercício anterior, faça a média dos valores contidos no vetor.
media_manual <- soma_total / length(vetor)
print(media_manual)
## [1] 5.5
Exercício 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.
x <- 20
y <- 30
if(x > y) {
print("x é maior que y")
} else {
print("y é maior x")
}
## [1] "y é maior x"
Exercício 14 Repita o exercício “13)” realizando os seguintes ajustes: a) Substitua o sinal de maior (“>”) pelo de menor ou igual (“<=”) e ajuste dos dizeres da resposta.
x <- 20
y <- 30
if (x <= y) {
print("x é maior ou igual y")
} else {
print( "x é maior y")
}
## [1] "x é maior ou igual y"
Exercício 15 A partir do exercício “11)”, 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”. b) Utilize o comando de decisão “if” para saber se o número é par (o resto é zero) ou ímpar (o resto é 1). c) Crie uma variável auxiliara para guardar o resultado da soma
vetor <- c(1:10)
soma_pares <- 0
for(i in 1:10) {
# 15-a ) verificando se o número na posição i é par
# se o resto da divisão por 2 for IGUAL a 0,ele é par
if(vetor[i]%% 2 == 0){
#somando apenas se a condição acima for verdadeira
soma_pares <- soma_pares + vetor[i]
}
}
print(soma_pares)
## [1] 30
Exercício 16 Faça um algoritmo que calcule e imprima o fatorial de um número inteiro.
n <- 7
fatorial <- 1
if ( n <0) {
print("não existe fatorial de numero negativo")
} else if (n == 0){
print(" O fatorial de 0 é 1")
}else {
#loop para multiplicar de 1 até o número n
for (i in 1:n) {
fatorial<- fatorial* i
}
# imprimindo o resultado final
print(paste("o fatorial de", n, "é", fatorial))
}
## [1] "o fatorial de 7 é 5040"
Exercício 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)
print(x)
## [,1] [,2] [,3] [,4]
## [1,] 1 1 1 1
## [2,] 1 1 1 1
## [3,] 1 1 1 1
## [4,] 1 1 1 1
Exercício 18 Agora, crie uma matriz com a sequência de 1 a 16.
x <- matrix(data = 1:16, nrow = 4, byrow = TRUE)
df <- as.data.frame(x)
print(df)
## V1 V2 V3 V4
## 1 1 2 3 4
## 2 5 6 7 8
## 3 9 10 11 12
## 4 13 14 15 16
class(df)
## [1] "data.frame"
Exercício 20 20) Utilizando os comandos de repetição e decisão, calcule: a) a média de uma coluna da matriz do exercício “18)”.
x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
soma_cool <- 0
for (i in 1:4) {
soma_cool <- soma_cool+ x[i, 1] # linha, 1 é a coluna
}
media_coll <- soma_cool/ 4
print(paste("Média da Coluna 1:", media_coll))
## [1] "Média da Coluna 1: 7"
x <-matrix(1:16, nrow = 4, byrow = TRUE)
for (j in 1:4) {
soma_cool<-soma_cool + x[i, j]
}
print(paste("Média da Coluna", j, ":", soma_cool / 4))
## [1] "Média da Coluna 4 : 21.5"
x<- matrix(1:16, nrow = 4, byrow = TRUE)
for (i in 1:4)
soma_lin <-0
for (j in 1:4) {
soma_lin <- soma_lin + x[i, j]
print(paste("Média de linha", i, ":", soma_lin / 4))
}
## [1] "Média de linha 4 : 3.25"
## [1] "Média de linha 4 : 6.75"
## [1] "Média de linha 4 : 10.5"
## [1] "Média de linha 4 : 14.5"
x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
soma_pares<-0
cont_pares <-0
for (j in 1:4) {
for (i in 1:4) {
if (x[i, j] %% 2 == 0) {
soma_pares<- soma_pares+ x [i, j]
cont_pares<-cont_pares + 1
}
}
}
x<-matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
soma_impares <- 0
cont_impares <- 0
for (i in 1:4) {
for (j in 1:4) {
if(x [i, j] %% 2 != 0){
soma_impares <- soma_impares + x [i, j]
cont_impares <- cont_impares + 1
}
}
}
media_impares <- soma_impares / cont_impares
print(paste("Média dos ímpares da matriz:" , media_impares))
## [1] "Média dos ímpares da matriz: 8"
x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
soma_diag_princ <-0
for (i in 1:4) {
soma_diag_princ<- soma_diag_princ+ x [i, i]
}
print(paste("soma da diagonal principal:" , soma_diag_princ))
## [1] "soma da diagonal principal: 34"
# g) DESAFIO: Soma da diagonal secundária
soma_diag_sec <- 0
for (i in 1:4) {
#Lógica: na linha 1 pega a coluna 4, na linha 2 a 3, etc.
# A soma dos índices i + j em uma diagonal secundária é sempre n + 1
soma_diag_sec <- soma_diag_sec+ x [i, 5 - i]
}
print(paste("Soma Diagonal Segundária", soma_diag_sec))
## [1] "Soma Diagonal Segundária 34"
for (i in 1:10) {
print(i)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
vetor_original <- 1:100
vetor_pares <- vetor_original[ vetor_original %% 2 == 0]
print(vetor_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
maior_elemento <- function(vetor) {
# Iniciamos assumindo que o primeiro elemento é o maior
maior <- vetor[1]
# Criamos um loop para percorrer os demais elementos do vetor
for (numero in vetor) {
# Se o número atual for MAIOR que o nosso "campeão" atual:
if (numero > maior) {
# O novo "campeão" passa a ser esse número
maior <- numero
}
}
# A função retorna o resultado final encontrado
return(maior)
}
# --- Testando a função ---
meu_vetor <- c(10, 5, 8, 2, 20, 15)
resultado <- maior_elemento(meu_vetor)
# Imprimindo o resultado
print(paste("O maior elemento do vetor é:", resultado))
## [1] "O maior elemento do vetor é: 20"
```