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.

rm(list = ls())
A <- 5; B <- 6; C <- 9
cat("A + B =", A + B, "\n")
## A + B = 11
cat("A + C =", A + C, "\n")
## A + C = 14
cat("B + C =", B + C, "\n")
## B + C = 15

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. Troca de valores entre A e B utilizando a variável auxiliar ‘Aux’.

rm(list = ls())
A <- 6
B <- 8
Aux <- A
A <- B
B <- Aux
cat("Novo valor de A:", A, "\n")
## Novo valor de A: 8
cat("Novo valor de B:", B, "\n")
## Novo valor de B: 6

Exercício 3

Converter uma temperatura de Fahrenheit para Centígrados. C = (F - 32) * ( 5 / 9 ).

rm(list = ls())
F <- 100
C <- (F - 32) * (5 / 9)
cat("Temperatura de 100°F em Celsius:", C, "°C")
## Temperatura de 100°F em Celsius: 37.77778 °C

Exercício 4

Escrever um algoritmo que defina um número X e calcule:

  1. X3 - 4

  2. O resto da divisão de X / 3

  3. X(x/3) + 2

  4. Raiz quadrada de X2

rm(list = ls())
X <- 9
cat("a) X^3 - 4 =", X^3 - 4, "\n")
## a) X^3 - 4 = 725
cat("b) Resto de X/3 =", X %% 3, "\n")
## b) Resto de X/3 = 0
cat("c) X elevado a (X/3)+2 =", X ^ ((X/3) + 2), "\n")
## c) X elevado a (X/3)+2 = 59049
cat("d) Raiz quadrada de X^2 =", sqrt(X^2), "\n")
## d) Raiz quadrada de X^2 = 9

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.

rm(list = ls())
numeros <- 1:10
print(numeros)
##  [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.

rm(list = ls())
dias <- c("Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado")
print(dias)
## [1] "Domingo" "Segunda" "Terça"   "Quarta"  "Quinta"  "Sexta"   "Sábado"

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.

rm(list = ls())
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-o.

rm(list = ls())
pessoas <- data.frame(
  Nome = c("Raphael", "Ana", "Carlos"),
  Idade = c(25, 30, 22),
  Cidade_Natal = c("Rio de Janeiro", "São Paulo", "Curitiba")
)
print(pessoas)
##      Nome Idade   Cidade_Natal
## 1 Raphael    25 Rio de Janeiro
## 2     Ana    30      São Paulo
## 3  Carlos    22       Curitiba

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 <- 10; y <- 20; z <- 10
cat("x < y:", x < y, "\n")
## x < y: TRUE
cat("x > y:", x > y, "\n")
## x > y: FALSE
cat("x >= z:", x >= z, "\n")
## x >= z: TRUE
cat("x == z:", x == z, "\n")
## x == z: TRUE
cat("x != y:", x != y, "\n")
## x != y: 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 <- "Rua das Palmeiras"; numero <- "150"; bairro <- "Centro"
endereco <- paste(rua, numero, bairro, sep = ", ")
print(endereco)
## [1] "Rua das Palmeiras, 150, Centro"

Exercício 11

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.

rm(list = ls())
vetor <- c(1:10)
soma <- 0
for (i in 1:10) {
  soma <- soma + vetor[i]
}
cat("Soma total do vetor =", soma)
## Soma total do vetor = 55

Exercício 12

A partir do exercício anterior, faça a média dos valores contidos no vetor.

rm(list = ls())
vetor <- 1:10; soma <- 0
for (i in 1:10) { soma <- soma + vetor[i] }
media <- soma / 10
cat("Média dos valores =", media)
## 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”.

  1. A sintaxe do comando de comparação é: if (x > y) {comandos…} else {comandos}

  2. O comando print(“texto ou variável”) imprime a resposta na tela.

rm(list = ls())
x <- 15; y <- 10
if (x > y) {
  print("x é maior que y")
} else {
  print("y é maior que x")
}
## [1] "x é maior que y"

Exercício 14

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 resposta.
rm(list = ls())
m <- matrix(1:9, 3, 3)
x <- m[1,1]; y <- m[3,3]
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.

  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.

rm(list = ls())
numeros <- 1:10; soma_pares <- 0
for (i in 1:10) {
  if (numeros[i] %% 2 == 0) {
    soma_pares <- soma_pares + numeros[i]
  }
}
cat("Soma apenas dos pares =", soma_pares)
## Soma apenas dos pares = 30

Exercício 16

Faça um algoritmo que calcule e imprima o fatorial de um número inteiro.

rm(list = ls())
n <- 5; fatorial <- 1
for (i in 1:n) {
  fatorial <- fatorial * i
}
cat("Fatorial de 5 é:", fatorial)
## Fatorial de 5 é: 120

Exercício 17

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)”

rm(list = ls())
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.

rm(list = ls())
matriz_16 <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)
print(matriz_16)
##      [,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

  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)”

rm(list = ls())
x <- matrix(data = 1:16, nrow = 4, ncol = 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

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

rm(list = ls())
m <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)
cat("Média da Coluna 1:", mean(m[,1]), "\n")
## Média da Coluna 1: 7
cat("Soma da Diagonal Principal:", sum(diag(m)), "\n")
## Soma da Diagonal Principal: 34
cat("Soma da Diagonal Secundária:", m[1,4] + m[2,3] + m[3,2] + m[4,1])
## Soma da Diagonal Secundária: 34

Exercício 21

Repita o exercício “14)” com os dados do data.frame do exercício “13)”.

rm(list = ls())
df <- as.data.frame(matrix(1:16, 4, 4))
x <- df[1,1]; y <- df[4,4]
if (x <= y) {
  print("x é menor ou igual a y")
}
## [1] "x é menor ou igual a y"

Exercício 22

Crie um loop for que imprime os números de 1 a 10.

rm(list = ls())
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.

rm(list = ls())
original <- 1:100; pares <- c()
for (i in 1:100) {
  if (original[i] %% 2 == 0) {
    pares <- c(pares, original[i])
  }
}
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).

rm(list = ls())
maior_elemento <- function(v) {
  maior <- v[1]
  for (i in 2:length(v)) {
    if (v[i] > maior) { maior <- v[i] }
  }
  return(maior)
}
teste <- c(10, 5, 8, 2, 20, 15)
cat("Vetor teste:", teste, "\n")
## Vetor teste: 10 5 8 2 20 15
cat("Maior elemento:", maior_elemento(teste))
## Maior elemento: 20