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:

  1. x³ - 4
x<- 4
resultado_a <- (4^3)- 4
print(resultado_a)
## [1] 60
  1. O resto da divisão de X / 3
X <- 4
resultado_b <-x %% 3
print(resultado_b)
## [1] 1
  1. X(x/3)+2
X<-4
resuldado_c <- X * ( X/3) + 2
print(resuldado_c)
## [1] 7.333333
  1. Raiz quadrada de x²
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"
  1. A média de todas as colunas da matriz do exercício “18)”.
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"
  1. A média de todas as linhas da matriz do exercício “18)”.
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"
  1. A média dos números pares de todas as colunas da matriz do exercício “18)”.
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
    }
    
  }
  
}
  1. A média dos números ímpares de todas as linhas da matriz do exercício “18)”.
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"
  1. A soma da diagonal principal da matriz.
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"
  1. A soma da diagonal secundária da matriz (desafio).
# 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"
  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
  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.
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
  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) {
  
  # 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"

```