Local: Centro Universitátio Celso Lisboa
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 <- 4
B <- 2
C <- 8
A + B
## [1] 6
A + C
## [1] 12
B + C
## [1] 10
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 <- 5
B <- 3
Aux <- A
A <- B
B <- Aux
print(A)
## [1] 3
print(B)
## [1] 5
Exercício 3
- Converter uma temperatura de Fahrenheit para Centígrados. C = (F -
32)*(5 / 9).
F <- 86
C <- (F - 32)*(5 / 9)
cat(" Temperatura em Celsius:", C)
## Temperatura em Celsius: 30
print(C)
## [1] 30
Exercício 4
- Escrever um algoritmo que defina um número X e calcule:
- X^3- 4
- O resto da divisão de X / 3
- X^(x/3) + 2
- Raiz quadrada de X^2
X <- 6
item_a <- X^3-4
item_b <- X %% 3
item_c <- X^(X / 3) + 2
item_d <- sqrt(X^2)
print(item_a)
## [1] 212
print(item_b)
## [1] 0
print(item_c)
## [1] 38
print(item_d)
## [1] 6
Exercício 5
- Crie um vetor númerico com os números de 1 a 10 e armazene-o em uma
variável chamada “números”. Em seguida, imprima o vetor.
números <- 1:10
print(números)
## [1] 1 2 3 4 5 6 7 8 9 10
Exercício 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" , "terca" , "quarta" , "quinta" , "sexta" , "sábado" , "domingo")
print(dias)
## [1] "segunda" "terca" "quarta" "quinta" "sexta" "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 (númerico) e cidade natal (caracter). Armazene o data-frame em uma
variável chamada “pessoas” e imprima-o.
pessoas <- data.frame(nome= c ("Tauane", "Sérgio", "Renato"), idade= c(21, 44 ,23), cidade= c("Fortaleza", "São Paulo", "Rio de Janeiro"))
print(pessoas)
## nome idade cidade
## 1 Tauane 21 Fortaleza
## 2 Sérgio 44 São Paulo
## 3 Renato 23 Rio de Janeiro
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 númericos para elas. Em seguida,
realize comparações entre ela (utilize TODOS os operadores de comparação
(<, >, >=, <=, ==, !=).
rm(list = ls())
x <- 4
y <- 7
z <- 3
y > x
## [1] TRUE
y < x
## [1] FALSE
z >= y
## [1] FALSE
x <= z
## [1] FALSE
x == y
## [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”, “número”, e “bairro” e atribua valores (texto) para
elas. Em seguida concatene essas variáveis em uma terceira chamada
“endereço”.
rm(list = ls())
rua <- "Estrada Intendente Magalhães"
numero <- "812"
bairro <- "Bento Ribeiro"
endereço <- paste(rua, numero, bairro, sep = ",")
Exercício 11
- Elabore um algoritmo que:
- Crie um vetor com uma sequência de 10 números.
- Faça um loop para calcular a soma dos números do vetor.
- Utilize o comando “vetor <- c(1:10)” para criar o vetor.
- Utilize o comando “for( i in 1:10) { …comandos}” para realizar a
soma.
- 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 <- c(1:10)
soma <- 0
for(i in 1:10) {
soma <- soma + vetor[i]
}
print(paste("A soma dos números é : ", soma))
## [1] "A soma dos números é : 55"
Exercício 12
- A partir do exercício anterior, faça a média dos valores contidos no
vetor.
vetor <- c(1:10)
soma <- 0
for(i in 1:10) {soma <- soma + vetor[i]}
media <- soma / 10
print(paste("soma total:", soma))
## [1] "soma total: 55"
print(paste("média dos valores:", media))
## [1] "média dos valores: 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”.
x <- 5
y <- 6
if(x > y) {
print("x é maior que y")} else { print("y é maior que x")}
## [1] "y é maior que x"
Exercício 14
- Repita o exercício “7)” realizando os seguintes ajustes:
- Substitua o sinal de maior (“>”) pelo de menor ou igual (“<=”)
e ajuste dos dizeres da reposta.
x <- 5
y <- 6
if(x <= y) { print("x é menor ou igual a y")} else { print ("x é maior que y")}
## [1] "x é menor ou igual a y"
Exercício 15
- A partir do exercício “5)”, faça a soma somente dos números
pares.
- 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”.
- Utilize o comando de decisão “if” para saber se o número é par ou
ímpar.
numeros <- c(1:10)
soma_pares <-0
for (i in 1:10) { if (numeros[i] %% 2 == 0) { soma_pares <- soma_pares +numeros[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 <- 4
fatorial <- 1
for (i in 1:n) { fatorial <- fatorial * i }
print(fatorial)
## [1] 24
Exercício 17
- Crie uma matriz 4x4.
- Uma matriz no R comporta somente um tipo de dado (número, texto ou
boleano).
- 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.
matriz <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)
print(matriz)
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
## [4,] 13 14 15 16
Exercício 19
- Transforme essa matriz em um data.frame
- Um data.frame é uma estrutura de dados similar a matriz que pode
conter dados diferentes em suas variáveis.
- Lembre-se que também chamamos as colunas de variáveis e as linhas de
registros.
- 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.
- Utilize o comando “df <- as.data.frame(x)”
x <- matrix(1 : 16, nrow = 4, ncol = 4)
df <- as.data.frame(x)
print(df)
## V1 V2 V3 V4
## 1 1 5 9 13
## 2 2 6 10 14
## 3 3 7 11 15
## 4 4 8 12 16
Exercício 20
- Utilizando os comandos de repetição e decisão (se for necessário),
calcule:
- a média de uma coluna da matriz do exercício “12)”.
- A média de todas as colunas da matriz do exercício “12)”.
- A média de todas as linhas da matriz do exercício “12)”.
- A média dos números pares de todas as colunas da matriz do exercício
“12)”.
- A média dos números ímpares de todas as linhas da matriz do
exercício “12)”.
- A soma da diagonal principal da matriz.
- A soma da diagonal secundária da matriz (desafio).
#matriz
x <- matrix(data = 1 : 16, nrow = 4, ncol = 4, byrow = TRUE)
#a)
soma_col1 <- 0
for(i in 1 : 4) { soma_col1 <- soma_col1 + x[i, 1] }
media_a <- soma_col1 / 4
print(media_a)
## [1] 7
#b)
medias_colunas <- numeric(4)
for(j in 1 : 4) { soma_temp <- 0
for(i in 1 : 4) { soma_temp <- soma_temp + x[i, j]}
medias_colunas[j] <- soma_temp / 4 }
print(medias_colunas)
## [1] 7 8 9 10
#c)
medias_linhas <- numeric(4)
for(i in 1 : 4) { soma_temp <- 0
for(j in 1 : 4) { soma_temp <- soma_temp + x[i, j]}
medias_linhas[i] <- soma_temp / 4}
print(medias_linhas)
## [1] 2.5 6.5 10.5 14.5
#d)
soma_pares <- 0
cont_pares <- 0
for(i in 1 : 4) {
for(j in 1 : 4) {
if(x[i, j] %% 2 == 0) { soma_pares <- soma_pares + x[i, j]
cont_pares <- cont_pares + 1 }}}
media_d <- soma_pares / cont_pares
print(media_d)
## [1] 9
#e)
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_e <- soma_impares / cont_impares
print(media_e)
## [1] 8
#f)
soma_diag_principal <- 0
for(i in 1 : 4) {
soma_diag_principal <- soma_diag_principal + x[i, i] }
print(soma_diag_principal)
## [1] 34
#g)
soma_diag_secundaria <- 0
n <- 4
for(i in 1:n) { soma_diag_secundaria <- soma_diag_secundaria + x[i, (n - i + 1)]}
print(soma_diag_secundaria)
## [1] 34
Exercício 21
- Repita o exercício “14)” com os dados do data.frame do exercício
“13)”.
df_comparação <- data.frame(valor_x = 10, valor_y = 20)
if(df_comparação$valor_x <= df_comparação$valor_y) {
print("o valor de x é menor ou igual ao valor de y") } else {
print("O valor de x é maior que o valor de y")}
## [1] "o valor de x é menor ou igual ao valor de y"
Exercício 22
- Crie um loop for que imprime os números de 1 a 10
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
Exercício 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.
original <- c(1 : 100)
pares <- c()
for(num in original) {
if(num %% 2 == 0) {
pares <- c(pares, num)}
}
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
Exercício 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).
maior_elemento <- function(vetor) {
maior <- vetor[1]
for(i in 2:length(vetor)) {
if(vetor[i] > maior) {
maior <- vetor[i] }}
return(maior)
}