Local: Centro Universitátio Celso Lisboa

Exercício 1

  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

  1. 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

  1. 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

  1. Escrever um algoritmo que defina um número X e calcule:
  1. X^3- 4
  2. O resto da divisão de X / 3
  3. X^(x/3) + 2
  4. 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

  1. 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

  1. 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

  1. 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

  1. 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

  1. 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

  1. 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

  1. Elabore um algoritmo que:
  1. Crie um vetor com uma sequência de 10 números.
  2. Faça um loop para calcular a soma dos números do vetor.
  3. Utilize o comando “vetor <- c(1:10)” para criar o vetor.
  4. Utilize o comando “for( i in 1:10) { …comandos}” para realizar a soma.
  5. 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

  1. 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

  1. 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

  1. Repita o exercício “7)” realizando os seguintes ajustes:
  1. 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

  1. A partir do exercício “5)”, faça a soma somente dos números pares.
  1. 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”.
  2. 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

  1. 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

  1. Crie uma matriz 4x4.
  1. Uma matriz no R comporta somente um tipo de dado (número, texto ou boleano).
  2. 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

  1. 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

  1. Transforme essa matriz em um data.frame
  1. Um data.frame é uma estrutura de dados similar a matriz que pode conter dados diferentes em suas variáveis.
  2. Lembre-se que também chamamos as colunas de variáveis e as linhas de registros.
  3. 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.
  4. 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

  1. Utilizando os comandos de repetição e decisão (se for necessário), calcule:
  1. a média de uma coluna da matriz do exercício “12)”.
  2. A média de todas as colunas da matriz do exercício “12)”.
  3. A média de todas as linhas da matriz do exercício “12)”.
  4. A média dos números pares de todas as colunas da matriz do exercício “12)”.
  5. A média dos números ímpares de todas as linhas da matriz do exercício “12)”.
  6. A soma da diagonal principal da matriz.
  7. 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

  1. 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

  1. 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

  1. 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

  1. 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)
}