#Exercicio

Exercicio 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

Exercicio 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 <- 8
B <- 6

X <- A
A <- B
B <- X

Exercicio 3

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

F <- 150
  C <- (F-32)*(5/9)

Exercicio 4

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

x <- 3
# a) x³-4
a <- (x^3)-4
# b) O resto da divisao x/3
b <- x%%3
# c) x^x/3 + 2
c <- (x^(x/3)) + 2
# d) Raiz quadrada de x²
d <- sqrt(x^2)

Exercicio 5

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.

v <- 1:10
somav <- 0
vetor <- c(1:10)
for( i in 1:10){
  soma <- somav + vetor[i]
}
vetor[i]
## [1] 10

Exercicio 6

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

median(vetor)
## [1] 5.5

Exercicio 7

###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 <- 1
y <- 2

if (x > y)
  {print("x é maior que y")
}  else
  {print("y é maior que x")}
## [1] "y é maior que x"

Exercicio 8

###Repita o exercício “7)” realizando os seguintes ajustes: #Substitua o sinal de maior (“>”) pelo de menor ou igual (“<=”) e ajuste dos dizeres da resposta.

x <- 4
y <- 2

if (x <= y)
  {print("x é menor ou igual a y")
}  else
{print("y é menor que x")}
## [1] "y é menor que x"

Exercicio 9

###A partir do exercício “5)”, faça a soma somente dos números pares.

Exercicio 10

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

mat <- 10:1

Exercicio 11, 12 e 13

###Crie uma matriz 4x4. ###Crie uma matriz 4x4 de 1 a 16 ###Transforme essa matriz em um data.frame

mat <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)

df <- as.data.frame(mat)

Exercicio 14

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

soma <- 0
media <- 0
for (i in 1:4){
    soma <- soma + mat[i,3]
  
}
soma
## [1] 36
media <- soma / dim(mat)[1]

media
## [1] 9

###A média de todas as colunas da matriz do exercício “12)”.

for(j in 1:4){
  soma <- 0
  media <- 0
  for (i in 1:4){
        soma <- soma + mat[i,j]
  }
  media <- soma / dim(mat)[1]
  cat("A média da coluna", j, " é ", media, "\n") 
}
## A média da coluna 1  é  7 
## A média da coluna 2  é  8 
## A média da coluna 3  é  9 
## A média da coluna 4  é  10

###A média de todas as colunas da matriz do exercício “12)”.

for(i in 1:4){
  soma <- 0
  media <- 0
  for (j in 1:4){
        soma <- soma + mat[i,j]
  }
  media <- soma / dim(mat)[2]
  cat("A média da linha", i, " é ", media, "\n") 
}
## A média da linha 1  é  2.5 
## A média da linha 2  é  6.5 
## A média da linha 3  é  10.5 
## A média da linha 4  é  14.5

###A média dos números pares de todas as colunas da matriz do exercício “12)”.

for(j in 1:4){
  soma <- 0
  media <- 0
  cont <- 0
  for (i in 1:4){
    if (mat[i,j]%%2 == 0){
        soma <- soma + mat[i,j]
        cont <- cont + 1
    }
  }
  if (cont == 0){
    cat("Nao existem numeros pares na coluna", j, "\n")
    
  } else {
    
  media <- soma / cont
  cat("A média da coluna", j, " é ", media, "\n") 
}}
## Nao existem numeros pares na coluna 1 
## A média da coluna 2  é  8 
## Nao existem numeros pares na coluna 3 
## A média da coluna 4  é  10

###A média dos números ímpares de todas as linhas da matriz do exercício “12)”

for(i in 1:4){
  soma <- 0
  media <- 0
  cont <- 0
  for (j in 1:4){
    if (mat[i,j]%%2 != 0){
        soma <- soma + mat[i,j]
        cont <- cont + 1
    }
  }
  if (cont == 0){
    cat("Nao existem numeros imppares na linha", i, "\n")
    
  } else {
    
  media <- soma / cont
  cat("A média da linha", i, " é ", media, "\n") 
}}
## A média da linha 1  é  2 
## A média da linha 2  é  6 
## A média da linha 3  é  10 
## A média da linha 4  é  14

Exercicio 15

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

###a média de uma coluna da matriz do exercício “12)”

soma <- 0
media <- 0
for (i in 1:4){
    soma <- soma + df[i,3]
  
}
soma
## [1] 36
media <- soma / dim(df)[1]

media
## [1] 9

A média de todas as colunas da matriz do exercício “12)”.

for(j in 1:4){
  soma <- 0
  media <- 0
  for (i in 1:4){
        soma <- soma + df[i,j]
  }
  media <- soma / dim(df)[1]
  cat("A média da coluna", j, " é ", media, "\n") 
}
## A média da coluna 1  é  7 
## A média da coluna 2  é  8 
## A média da coluna 3  é  9 
## A média da coluna 4  é  10

###A média de todas as colunas da matriz do exercício “12)”.

for(i in 1:4){
  soma <- 0
  media <- 0
  for (j in 1:4){
        soma <- soma + df[i,j]
  }
  media <- soma / dim(df)[2]
  cat("A média da linha", i, " é ", media, "\n") 
}
## A média da linha 1  é  2.5 
## A média da linha 2  é  6.5 
## A média da linha 3  é  10.5 
## A média da linha 4  é  14.5

A média dos números pares de todas as colunas da matriz do exercício “12)”.

for(j in 1:4){
  soma <- 0
  media <- 0
  cont <- 0
  for (i in 1:4){
    if (df[i,j]%%2 == 0){
        soma <- soma + df[i,j]
        cont <- cont + 1
    }
  }
  if (cont == 0){
    cat("Nao existem numeros pares na coluna", j, "\n")
  } else {
  media <- soma / cont
  cat("A média da coluna", j, " é ", media, "\n") 
  }
  }
## Nao existem numeros pares na coluna 1 
## A média da coluna 2  é  8 
## Nao existem numeros pares na coluna 3 
## A média da coluna 4  é  10

###A média dos números ímpares de todas as linhas da matriz do exercício “12)”

for(i in 1:4){
  soma <- 0
  media <- 0
  cont <- 0
  for (j in 1:4){
    if (df[i,j]%%2 != 0){
        soma <- soma + df[i,j]
        cont <- cont + 1
    }
  }
  if (cont == 0){
    cat("Nao existem numeros imppares na linha", i, "\n")
    
  } else {
    
  media <- soma / cont
  cat("A média da linha", i, " é ", media, "\n") 
}}
## A média da linha 1  é  2 
## A média da linha 2  é  6 
## A média da linha 3  é  10 
## A média da linha 4  é  14

###Prática de criação de vetores, matrizes, data frames e funções

###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 <- c(1:10)

###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","terça","quarta","quinta","sexta","sabado","domingo")
print(dias)
## [1] "segunda" "terça"   "quarta"  "quinta"  "sexta"   "sabado"  "domingo"

###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(data = 1:9, nrow = 3, ncol = 3, byrow = TRUE)
print(matriz)
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
## [3,]    7    8    9

###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

pessoas <- data.frame(Nome = c("Mateus", "Joao", "Camila"), Idade = c(12,15,19), Cidade = c("RJ", "SP", "MG"))
print(pessoas)
##     Nome Idade Cidade
## 1 Mateus    12     RJ
## 2   Joao    15     SP
## 3 Camila    19     MG

###Crie uma função chamada “fatorial” que recebe um número inteiro como argumento e retorna o fatorial desse número. Em seguida, teste a função com o número 5

x <- 10
produto <- 1
fatorial <- c(x:1)
for( i in 1:x){
  produto <- produto * fatorial[i]
  #print(produto)
  cat("i",i,"\n","produto", produto, "\n", "fatorial[i]", fatorial[i], "\n\n")
}
## i 1 
##  produto 10 
##  fatorial[i] 10 
## 
## i 2 
##  produto 90 
##  fatorial[i] 9 
## 
## i 3 
##  produto 720 
##  fatorial[i] 8 
## 
## i 4 
##  produto 5040 
##  fatorial[i] 7 
## 
## i 5 
##  produto 30240 
##  fatorial[i] 6 
## 
## i 6 
##  produto 151200 
##  fatorial[i] 5 
## 
## i 7 
##  produto 604800 
##  fatorial[i] 4 
## 
## i 8 
##  produto 1814400 
##  fatorial[i] 3 
## 
## i 9 
##  produto 3628800 
##  fatorial[i] 2 
## 
## i 10 
##  produto 3628800 
##  fatorial[i] 1
print(produto)
## [1] 3628800

###Prática com loops, listas, condicionais e funções em R.

##6. 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

##7. Crie uma lista com três elementos: um vetor numérico, um vetor de caracteres e um data frame. Armazene a lista em uma variável chamada “minha_lista” e imprima-a.

vetorN <- c(1:10)
print(vetorN)
##  [1]  1  2  3  4  5  6  7  8  9 10
Letras <- c("A","B","C","D")
print(Letras)
## [1] "A" "B" "C" "D"
data_frame <- data.frame(x = 1:4, y = c("a","b","c","d"))
minha_lista <- list(vetorN,Letras,data_frame)
print(minha_lista)
## [[1]]
##  [1]  1  2  3  4  5  6  7  8  9 10
## 
## [[2]]
## [1] "A" "B" "C" "D"
## 
## [[3]]
##   x y
## 1 1 a
## 2 2 b
## 3 3 c
## 4 4 d

##8 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.

vetor8 <- c(1:100)
for(i in 1:100){
    if (i%%2 == 0){
      print(i)
    }}      
## [1] 2
## [1] 4
## [1] 6
## [1] 8
## [1] 10
## [1] 12
## [1] 14
## [1] 16
## [1] 18
## [1] 20
## [1] 22
## [1] 24
## [1] 26
## [1] 28
## [1] 30
## [1] 32
## [1] 34
## [1] 36
## [1] 38
## [1] 40
## [1] 42
## [1] 44
## [1] 46
## [1] 48
## [1] 50
## [1] 52
## [1] 54
## [1] 56
## [1] 58
## [1] 60
## [1] 62
## [1] 64
## [1] 66
## [1] 68
## [1] 70
## [1] 72
## [1] 74
## [1] 76
## [1] 78
## [1] 80
## [1] 82
## [1] 84
## [1] 86
## [1] 88
## [1] 90
## [1] 92
## [1] 94
## [1] 96
## [1] 98
## [1] 100

##10 Crie um data frame com as informações de 3 livros: título (caracter), autor (caracter), ano de publicação (numérico) e número de páginas (numérico). Armazene o data frame em uma variável chamada “livros” e imprima-o.

livros <- data.frame(titulo = c("biblia", "cozinha em casa", "Consituição"), autor = c("Deus", "Palmirinha", "O Congresso"), ano.de.publicação = c("0", "2001", "1998"), numero.de.paginas = c("1000", "195", "498"))
print(livros)
##            titulo       autor ano.de.publicação numero.de.paginas
## 1          biblia        Deus                 0              1000
## 2 cozinha em casa  Palmirinha              2001               195
## 3     Consituição O Congresso              1998               498

###Calcular o salário mensal final de um vendedor. As seguintes informações determinam esse valor #a) salário fixo – R$ 5000,00 #b) total de vendas por ele efetuadas – R$ 20.000,00 #c) percentual que ele recebe sobre o total de vendas – 5% #d) INSS de 11% sobre o salário fixo. #e) IR de 27% sobre o total de rendimentos

salario.base <- 5000
vendas <- 20000
comissao <- vendas * 0.05
salario.bruto <- salario.base + comissao
INSS <- salario.base * 0.11
IRPF <- (salario.bruto - INSS) * 0.27
descontos <- INSS + IRPF
salario.liquido <- salario.bruto - descontos

###2) Repita o Exercício 1) calculando o salário mensal da seguinte lista abaixo.

##Vendedor 1:

Sal_fixo1 <- 1800
vendas1 <- 20000
percentual_vendas1 <- 0.05
ir1 <- 0
Salario1 <- Sal_fixo1 + (vendas1 * percentual_vendas1) - (Sal_fixo1 * ir1)

##Vendedor 2:

Sal_fixo2 <- 2500
vendas2 <- 30000
percentual_vendas2 <- 0.05
ir2 <- 0.075
Salario2 <- Sal_fixo2 + (vendas2 * percentual_vendas2) - (Sal_fixo2 * ir2)

##Vendedor 3

Sal_fixo3 <- 2500
vendas3 <- 25000
percentual_vendas3 <- 0.05
ir3 <- 0.075
Salario3 <- Sal_fixo3 + (vendas3 * percentual_vendas3) - (Sal_fixo3 * ir3)

##Vendedor 4

Sal_fixo4 <- 3000
vendas4 <- 15000
percentual_vendas4 <- 0.05
ir4 <- 0.15
Salario4 <- Sal_fixo4 + (vendas4 * percentual_vendas4) - (Sal_fixo4 * ir4)

##Vendedor 5

Sal_fixo5 <- 3500
vendas5 <- 27000
percentual_vendas5 <- 0.05
ir5 <- 0.15
Salario5 <- Sal_fixo5 + (vendas5 * percentual_vendas5) - (Sal_fixo5 * ir5)

##Vendedor 6

Sal_fixo6 <- 4000
vendas6 <- 30000
percentual_vendas6 <- 0.05
ir6 <- 0.225
Salario6 <- Sal_fixo6 + (vendas6 * percentual_vendas6) - (Sal_fixo6 * ir6)

##Vendedor 7

Sal_fixo7 <- 5000
vendas7 <- 32000
percentual_vendas7 <- 0.05
ir7 <- 0.275
Salario7 <- Sal_fixo7 + (vendas7 * percentual_vendas7) - (Sal_fixo7 * ir7)

Elabore um programa para efetuar o cálculo da quantidade de garrafas e de engradados de cerveja consumida por um determinado bloco durante o carnaval, considerando que 5000 foliões bebem cerca de 2 litros durante o desfile do bloco. Outras informações:

#considerar que um engradado de cerveja tem 24 garrafas de 600 ml #Cada garrafa custa R$ 8,00, e que o engradado custa R$ 180,00.

#Qual será o lucro do comerciante considerando que: #a) Ele compre as garrafas avulsas e venda cada garrafa a R$ 15,00. #b) Ele compre o engradado e venda cada garrafa a R$ 15,00 (ele não pode comprar fração do engradado – arredonde para menos). #c) Ele venda o copo de 500 ml a R$ 15,00 – cada copo sai a R$ 0,20.faça uma função para o lucro.

 # Foliões - 5000 cada um 2L;
# Engradado - 24*600= 14400 ml <- 144 L
total_consumido_ml <- 5000 * 2000
garrafas_vendidas <- total_consumido_ml/600
# Letra A
total_venda_garrafa <- garrafas_vendidas * 15
lucro_a <-total_venda_garrafa - (garrafas_vendidas * 8)
print(paste("Se comprar as garrafas avulsas e vender cada garrafa a R$ 15,00, o lucro será de:", lucro_a))
## [1] "Se comprar as garrafas avulsas e vender cada garrafa a R$ 15,00, o lucro será de: 116666.666666667"
# Letra B
total_engradado <- garrafas_vendidas/24
total_venda_engradado <- (694*24) * 15
lucro_b <- total_venda_engradado - (694 * 180)
print(paste("Se comprar o engradado e vender cada garrafa a R$ 15,00, o lucro será de:", lucro_b))
## [1] "Se comprar o engradado e vender cada garrafa a R$ 15,00, o lucro será de: 124920"
#Letra C
total_copo <- total_consumido_ml/500
total_venda_copo <- total_copo * 15
total_copo_garrafa <- total_copo/600
lucro_c <- total_venda_copo - (33 * 8) - (total_copo * 0.20)
print(paste("Se vende o copo de 500 ml a R$ 15,00 e cada copo sai a R$ 0,20, o lucro será de:", lucro_c))
## [1] "Se vende o copo de 500 ml a R$ 15,00 e cada copo sai a R$ 0,20, o lucro será de: 295736"
df <- data.frame (nome = c ("Aluno 1", "Aluno 2", "Aluno 3", "Aluno 4", "Aluno 5", "Aluno 6" , "Aluno 7" , "Med_Disc"), Disciplina1 = c(3, 4, 5, 6, 7, 8, 9, 0), Disciplina2 = c(10, 9, 8, 7, 6, 5, 4, 0), Disciplina3 = c(7, 8, 9, 10, 7, 8, 9, 0), media = 0)
    for (i in 1:7){
      df$media[i] <- (df$Disciplina1[i] + df$Disciplina2[i] + df$Disciplina3[i]) / 3
      for(j in 2:5){
          df[8,j] <- df[i,j] + df[8,j]
        }
    }
df[8,c(2:5)] <- df[8,c(2:5)]/7
  
maior_nota <- 0
al_maior_nota <- 0

for (i in 1:7){
  if(maior_nota < df$media[i]){
    maior_nota <- df$media[i]
    al_maior_nota <- df$nome[i]
  }
}

print(df)
##       nome Disciplina1 Disciplina2 Disciplina3    media
## 1  Aluno 1           3          10    7.000000 6.666667
## 2  Aluno 2           4           9    8.000000 7.000000
## 3  Aluno 3           5           8    9.000000 7.333333
## 4  Aluno 4           6           7   10.000000 7.666667
## 5  Aluno 5           7           6    7.000000 6.666667
## 6  Aluno 6           8           5    8.000000 7.000000
## 7  Aluno 7           9           4    9.000000 7.333333
## 8 Med_Disc           6           7    8.285714 7.095238