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

  1. Utilize o comando de decisão “if” para saber se o número é par ou ímpar.
# 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