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
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
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
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)
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
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)
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"
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")}
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
Faça um algoritmo que calcule e imprima o fatorial de um número inteiro.
factorial(5)
## [1] 120
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
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
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
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
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"
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)
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.
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
Elabore um data.frame com as seguintes informação:
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 |