1 PRIMEIRA LISTA DE EXERCICÍOS(CICLO 1)

1.1 Professor: ADRIANO

1.2 Matricula: 202900004

1.3 Disciplina: Programação no Rstudio/Rmarkdown

1.3.1 exercicio

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 <- 8
b <- 7
c <- 4

a + b
## [1] 15
a + c
## [1] 12
b + c
## [1] 11

1.3.2 Exercicio

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 

x <- a
a <- b
b <- x


a + b
## [1] 14
b - a
## [1] -2
a /b 
## [1] 1.333333
b*a
## [1] 48

1.3.3 Exercicio

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

celsius <- 0
fahr <- 0

celsius <- (fahr-32)*(5/9)
celsius
## [1] -17.77778

1.4 Exercicio

Escrever um algoritmo que defina um número X e calcule:
### a) X^3 - 4
### b) O resto da divisão de X / 3
### c)X^(x/3) + 2
### d) Raiz quadrada de X^2

X <- 2+3

X^3-4
## [1] 121
X%%3
## [1] 2
X^2
## [1] 25
rm(X)

1.5 Exercicio

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.

vetor <- c(1:11)
vetor[1] + vetor[2] + vetor[3]
## [1] 6
for (i in 1:11) {
    print (i)}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
## [1] 11
for (i in 1:11) {
  print (i)}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
## [1] 11
vetor <- c(100:200)
soma <- 0
for (i in 1:101) {
  soma <- soma + vetor[i]}

soma
## [1] 15150
vetor <- c(1:5)
mult <- 1
for (i in 1:5) {
  mult <- mult * vetor[i]}
mult
## [1] 120
vetor <- c(100:200)
media <- 101
for (i in 1:101) {
  media <- media / vetor[i]}

media
## [1] 1.195188e-217

1.6 Exercicio

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

vetor <- c(1:10)
vetor
##  [1]  1  2  3  4  5  6  7  8  9 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
soma <- 0
cont <- 0

for (i in 1:10){
  soma <- soma + vetor[i]
  cont <- cont + 1
  }

media <- soma/cont
media
## [1] 5.5
rm(soma,cont,media,vetor,i)

2 Exercicio

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 <- 10
y <- 1

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

3 Exercicio

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

x <- 10
y <- 1

if (x <= y) {print ("x é menor ou igual a y")} 

4 Exercicio

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

vetor <- c(1:10)

soma <- 0

for (i in c(1:5)) {
  if(i%%2 == 0){
    soma <- soma + vetor[i]
}
}
soma
## [1] 6

5 Exercicio

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

factorial(5)
## [1] 120

6 Exercicio

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:16, nrow = 4, ncol = 4, byrow = FALSE)
x[2,2]
## [1] 6
for ( i in 1:4)
  for(j in 1:4) {
    print (x[i,j])
  }
## [1] 1
## [1] 5
## [1] 9
## [1] 13
## [1] 2
## [1] 6
## [1] 10
## [1] 14
## [1] 3
## [1] 7
## [1] 11
## [1] 15
## [1] 4
## [1] 8
## [1] 12
## [1] 16

7 Exercicio

Agora, crie uma matriz com a sequência de 1 a 16.

matriz <- matrix(data= 1:16, nrow = 4, ncol = 4, byrow = TRUE)
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

8 Exercicio

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

matriz <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = FALSE)
matriz[1,3] <- 25

df <- as.data.frame(matriz)
df [1,3]
## [1] 25
df[1,1] 
## [1] 1
df[2,1]
## [1] 2
df[1,2]
## [1] 5

9 Exercicio

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

matriz <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = FALSE)
soma <- 0 
dim(matriz) 
## [1] 4 4
dim(matriz)[1] 
## [1] 4
for (i in 1:4)
  print(matriz [i,1])
## [1] 1
## [1] 2
## [1] 3
## [1] 4
media <- soma/dim(matriz)[1] 
media
## [1] 0

10 Segunda etapa do ciclo 1

10.1 exercicios

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.

sal_fixo <- 5000
tot_vendas <- 20000
perc_vendas <- 0.05
perc_inss <- 0.11
perc_irpf <- 0.27

comissao <- perc_vendas*tot_vendas
val_inss <- perc_inss*sal_fixo
tot_rend <- sal_fixo+ comissao - val_inss
val_irpf <- tot_rend*perc_irpf

sal <- tot_rend - val_irpf
sal
## [1] 3978.5
print("bilhete de pagamento /n/n")
## [1] "bilhete de pagamento /n/n"

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

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

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

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

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

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

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

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

12 exercicios

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.

12.1 Qual será o lucro do comerciante considerando que:

12.1.1 a) Ele compre as garrafas avulsas e venda cada garrafa a R$ 15,00.

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

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

Consumidores <-5000
consumo_clien <- 2000 
engradado <- 14400  
Quant_garrafa <- 8 
Valor_eng <- 180  

#A)

venda_gar15 <-15

Lucro_venda <- venda_gar15 - Quant_garrafa
Lucro_venda 
## [1] 7
#B)

Eng_ven15 <- 360

Lucro_eng <- Eng_ven15 - Valor_eng
Lucro_eng 
## [1] 180
#C)

Copo500 <- 15
copo <- 0.20

lucro_copo500 <- 15+0.20-6.80
lucro_copo500
## [1] 8.4
Lucro_total <- Lucro_venda + Lucro_eng + lucro_copo500
Lucro_total
## [1] 195.4

13 Exercicio

Elabore um data.frame com as seguintes informação:

13.0.1 Faça funções para calcular:

13.0.2 a) A média de cada aluno (CR)

13.0.3 b) A média de cada disciplina.

13.0.4 c) A média final da turma.

13.0.5 d) O aluno com média mais alta.

13.0.6 e) A lista de alunos reprovados, por disciplina

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]
  }
}

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