Exercícios do Projeto de algoritmos

Este espaço será Reservado a feitura e desenvolvimento do projeto Algoritmo

Exercícios

vamos começar a desenvolver os exercícios.

Exercício 1

O que vem a ser um algoritmo?

Resposta:

   Um algoritmo é uma sequência lógica e finita de instruções que são executadas para resolver um problema ou realizar uma tarefa específica. Essas instruções são geralmente expressas em termos de uma linguagem de programação ou em linguagem natural.

   Os algoritmos são usados em uma ampla variedade de aplicações, desde a computação e a ciência da computação até a matemática, a engenharia e outras áreas. Eles são usados para resolver problemas complexos, como classificação de dados, ordenação, busca, otimização e muito mais.

   Um exemplo simples de algoritmo é a receita de um bolo. A receita contém uma sequência lógica e finita de instruções que devem ser seguidas na ordem correta para produzir um bolo. Da mesma forma, os algoritmos de computação seguem uma sequência lógica de instruções para executar uma tarefa específica, como ordenação de dados ou busca por informações.

Exercício 2

Segundo o livro da referência, quais são as etapas para a construção de um algoritmo?

Resposta:

Identificar o problema: A primeira etapa é entender claramente qual é o problema que se deseja resolver ou a tarefa que se deseja realizar. É importante identificar quais são as entradas necessárias e quais são as saídas esperadas.

Definir as entradas: Depois de identificar o problema, é importante definir quais são as entradas necessárias para resolver o problema ou realizar a tarefa. As entradas podem ser dados, informações ou condições que afetam o processo.

Definir as saídas: É importante definir quais são as saídas esperadas do algoritmo. As saídas podem ser resultados, respostas ou informações que foram processadas.

Definir a lógica: Nesta etapa, é importante definir a lógica do algoritmo, ou seja, as etapas que serão executadas para resolver o problema ou realizar a tarefa. A lógica deve ser clara, lógica e completa.

Testar o algoritmo: Depois de criar o algoritmo, é importante testá-lo para garantir que ele esteja funcionando corretamente. Os testes podem ser realizados usando diferentes entradas e verificando se as saídas correspondem ao esperado.

Refinar o algoritmo: Se os testes revelarem problemas ou limitações no algoritmo, é importante refinar o algoritmo para corrigir esses problemas e melhorar a sua eficiência e desempenho.

Implementar o algoritmo: Finalmente, o algoritmo pode ser implementado em uma linguagem de programação específica ou em outra forma de representação para ser executado em um computador ou outro dispositivo.

Exercício 3

Quais são os passos para a construção de um algoritmo?

Resposta:

Entender o problema: O primeiro passo é entender claramente o problema que o algoritmo deve resolver. Isso envolve identificar os requisitos e as limitações do problema, bem como as informações necessárias para resolvê-lo.

Identificar as entradas e saídas: Em seguida, é preciso identificar quais são os dados de entrada necessários para o algoritmo e o que ele deve produzir como saída. Isso pode incluir informações como números, texto, imagens, entre outros.

Projetar a solução: Com base nas informações identificadas nas etapas anteriores, é preciso projetar a solução para o problema. Isso envolve identificar os passos específicos que o algoritmo deve seguir para chegar à solução, bem como os métodos e estruturas de dados que serão usados.

Escrever o algoritmo: Com a solução projetada, é possível escrever o algoritmo usando uma linguagem de programação. Isso envolve codificar os passos identificados na etapa anterior de maneira clara e precisa.

Testar e depurar: Depois de escrever o algoritmo, é importante testá-lo para garantir que ele funcione corretamente. Isso envolve executar o algoritmo com diferentes entradas e verificar se a saída está correta. Se houver erros, é necessário depurá-los para corrigi-los.

Otimizar: Se o algoritmo estiver funcionando corretamente, é possível otimizá-lo para melhorar sua eficiência e desempenho. Isso envolve fazer mudanças no algoritmo para torná-lo mais rápido ou usar menos recursos.

Documentar: Por fim, é importante documentar o algoritmo para que outras pessoas possam entendê-lo e usá-lo no futuro. Isso pode envolver escrever comentários no código, criar documentação técnica ou fornecer exemplos de uso.

Exercício 4

Faça um algoritmo, apresentando cada passo, para ao seguinte problema:um homem precisa atravessar um rio com um barco que possui capacidade somente para carregar ele mesmo e mais uma de suas três cargas, que são um lobo, uma cabra e um repolho. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas? Escreva os passos necessários mostrando a resposta, ou seja, indicando todas as ações necessárias para efetuar uma travessia segura.

Resposta:

Informações do exercício: Homem, Barco, Lobo, Bode e Alface

Ações necessárias para atravessar o rio e não perder as cargas

Objetivo final: Atravessar todas as cargas, até ao outro lado da margem do Rio.

Algoritmo

inicio
 
      O homem, o lobo, a cabra e o repolho em uma margem do rio.
      O homem deve começar levando a cabra para a outra margem
      deixando o lobo e o repolho na margem de partida.
      O homem deve retornar sozinho para a margem de partida.
      O homem deve agora levar o lobo para a outra margem, 
      deixando a cabra na margem de chegada.
      O homem deve retornar com a cabra para a margem de partida,
      deixando o lobo na margem de chegada.
      O homem deve agora levar o repolho para a outra margem, 
      deixando a cabra na margem de partida.
      O homem deve retornar sozinho para a margem de partida.
      O homem deve levar a cabra para a margem de chegada, 
      completando assim a travessia segura.

fim

Exercício 5

Faça um algoritmo, apresentado cada passo, para ao seguinte problema: três jesuítas e três canibais precisam atravessar um rio; para tal dispõem de um barco com capacidade para duas pessoas. Por medidas de segurança, não se deve permitir que em alguma margem a quantidade de jesuítas seja inferior a de canibais. Qual a solução para efetuar a travessia com segurança? Elabore os passos de forma a mostrar a resposta, indicando as ações que concretizam a resolução deste problema.

Resposta:

Informações do exercício: Três Jesuítas, Barco, Três Canibais

Ações necessárias para atravessar o rio com a devida segurança

Objetivo final: Atravessar todos os três Jesuítas e os três canibais até ao outro lado da margem do Rio.

Algoritmo

    inicio
    
    Dois jesuítas cruzam o rio. 
    Um jesuíta e dois canibais permanecem na margem.
    Um jesuíta retorna para a margem inicial e dois canibais cruzam o rio.          
    Um jesuíta e um canibal permanecem na margem.
    Dois jesuítas cruzam o rio. 
    Três canibais permanecem na margem.
    Um jesuíta retorna para a margem inicial e dois canibais cruzam o rio. 
    Dois jesuítas e um canibal permanecem na margem.
    Dois jesuítas cruzam o rio. 
    Dois canibais permanecem na margem.
    Um jesuíta retorna para a margem inicial e dois canibais cruzam o rio. 
    Um jesuíta e dois canibais permanecem na margem.
    Dois jesuítas cruzam o rio.
    
    fim
    
    

Exercício 6

Criar três variáveis que contenham números e apresentar o resultado da soma das combinações dois a dois destes três números. Por exemplo, se forem lidos A, B e C, mostrar A + B, A + C, B + C.

# Definir as três variáveis

a <- 2
b <- 3
c <- 5

# Mostrar o resultado da soma das combinações dois a dois

cat("A + B =", a + b, "\n")
## A + B = 5
cat("A + C =", a + c, "\n")
## A + C = 7
cat("B + C =", b + c, "\n")
## B + C = 8

Exercício 7

Faça um programa em RStudio para criar duas variáveis A e B e trocar seus valores. Ex: Entrada: A=6 e B=8 Saída: A=8 e B=6

# Definir as variáveis A e B

A <- 6
B <- 8

# Trocar os valores das variáveis

mod <- A
A <- B
B <- mod

# Imprimir as variáveis após a troca

cat("A =", A, "\n")
## A = 8
cat("B =", B, "\n")
## B = 6

Exercício 8

Faça um programa em RStudio para converter uma temperatura de Fahrenheit para Centígrados. C = (F - 32) * ( 5 / 9 ).

# Pedir ao usuário para inserir a temperatura em Fahrenheit

fahrenheit <- readline(prompt = "Insira a temperatura em Fahrenheit: ")
## Insira a temperatura em Fahrenheit:
# Converter a temperatura para Centígrados

centigrados <- (as.numeric(fahrenheit) - 32) * (5/9)

# Exibir a temperatura em Centígrados

cat("A temperatura em Centígrados é:", round(centigrados, 2), "°C\n")
## A temperatura em Centígrados é: NA °C

Exercício 9

Faça um programa em RStudio que crie uma variável X e calcule:

  1. X^3 - 4

  2. O resto da divisão de X / 3

  3. X^B + 2

  4. Raiz quadrada de X^2

# Define o valor de X

X <- 5

# a) X^3 - 4

resultado_a <- X^3 - 4

# b) O resto da divisão de X / 3

resultado_b <- X %% 3

# c) X^B + 2, onde B = 2

B <- 2

resultado_c <- X^B + 2

# d) Raiz quadrada de X^2

resultado_d <- sqrt(X^2)

# Imprime os resultados

cat("a) X^3 - 4 = ", resultado_a, "\n")
## a) X^3 - 4 =  121
cat("b) Resto da divisão de X / 3 = ", resultado_b, "\n")
## b) Resto da divisão de X / 3 =  2
cat("c) X^B + 2, onde B = 2 = ", resultado_c, "\n")
## c) X^B + 2, onde B = 2 =  27
cat("d) Raiz quadrada de X^2 = ", resultado_d, "\n")
## d) Raiz quadrada de X^2 =  5

Exercício 10

Faça um programa em RStudio que crie 11 variáveis com os valores abaixo, calcule a soma e mostre-a no final.

Ex. lista de números: 3, 5, 7, 4, 3, 2, 1, 9, 12, 15, 9 |Soma dos números = 70. Agora calcule a média desses números |Média = 70 / 11 = 6,3636.

Repita o exercício com um vetor armazenando os valores.

# criar as 11 variáveis com os valores

lista1 <- 3
lista2 <- 5
lista3 <- 7
lista4 <- 4
lista5 <- 3
lista6 <- 2
lista7 <- 1
lista8 <- 9
lista9 <- 12
lista10 <- 15
lista11 <- 9

# calcular a soma dos números

soma <- lista1 + lista2 + lista3 + lista4 + lista5 + lista6 + lista7 + lista8 + lista9 + lista10 + lista11

# mostrar a soma na tela

cat("Soma dos números =", soma, "\n")
## Soma dos números = 70
# calcular a média dos números

media <- soma / 11

# mostrar a média na tela

cat("Média =", round(media, 4))
## Média = 6.3636

Exercício 11

Faça um programa em RStudio que calcule o fatorial de um número.

# Criando a função para calcular o fatorial

fatorial <- function(n) {
  if (n == 0) {
    return (1)
  } else {
    resultado <- 1
    for (i in 1:n) {
      resultado <- resultado * i
    }
    return (resultado)
  }
}

# Testando a função com o número 7

fatorial(7)
## [1] 5040

Exercício 12

Crie uma matriz 4x4. Uma matriz no R comporta somente um tipo de dado (número, texto ou boleano). O comando para criar a matriz é

matriz <- matrix(data = 1, nrow = 4, ncol = 4, byrow = TRUE)

Exercício 13

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

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

Exercício 14

Transforme essa matriz em um data.frame Um data.frame é uma estrutura de dados similar a matriz que pode conter dados diferentes em suas variáveis. Lembre-se que também chamamos as colunas de variáveis e as linhas de registros. Uma variável (coluna) não pode conter dados de formas diferentes (textos e números, por exemplo). Ou todas as linhas dessa variável são números, ou todas são texto, ou ainda, boleanos.

Utilize o comando “df <- as.data.frame(x)”

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

df1 <- as.data.frame (criandomatriz)

Exercício 15

Utilizando os comandos de repetição e decisão (se for necessário), calcule:

  1. a média de uma coluna da matriz do exercício “13)”.

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

  3. A média de todas as linhas da matriz do exercício “13)”.

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

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

  6. A soma da diagonal principal da matriz.

  7. A soma da diagonal secundária da matriz (desafio).

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

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

soma_coluna <- 0

for(linha in 1:4){
  for(coluna in 1:4){
    if(coluna == 2){ 
      soma_coluna <- soma_coluna + matriz[linha, coluna]
    }
  }
}

media_coluna <- soma_coluna/linha

media_coluna
## [1] 8
# b) A média de todas as colunas da matriz do exercício “13)”.

v_soma_colunas <- rep(0,4) 

for(linha in 1:4){
  for(coluna in 1:4){
    v_soma_colunas[coluna] <- v_soma_colunas[coluna] + matriz[linha, coluna]
  }
}

v_soma_colunas
## [1] 28 32 36 40
media_colunas <- v_soma_colunas/linha
media_colunas
## [1]  7  8  9 10
# c) A média de todas as linhas da matriz do exercício “13)”.

v_soma_linhas <- rep(0,4) 

for(linha in 1:4){
  for(coluna in 1:4){
    v_soma_linhas[linha] <- v_soma_linhas[linha] + matriz[linha, coluna]
  }
}

v_soma_linhas
## [1] 10 26 42 58
media_linhas <- v_soma_linhas/coluna

media_linhas
## [1]  2.5  6.5 10.5 14.5
# d)    A média dos números pares de todas as colunas da matriz do exercício “13)”.

v_soma_npar_colunas <- rep(0,4) # repete 4 vezes o valor 0

for(linha in 1:4){
  for(coluna in 1:4){
    if(matriz[linha, coluna]%%2 == 0){
      v_soma_npar_colunas[coluna] <- v_soma_npar_colunas[coluna] + matriz[linha, coluna]}
  }
}

v_soma_npar_colunas
## [1]  0 32  0 40
media_npar_colunas <- v_soma_npar_colunas/linha

media_npar_colunas
## [1]  0  8  0 10
# e) A média dos números ímpares de todas as linhas da matriz do exercício “13)”.

v_soma_nimpar_linhas <- rep(0,4) # repete 4 vezes o valor 0

cont <- rep(0,4)

for(linha in 1:4){
  for(coluna in 1:4){
    if(matriz[linha, coluna]%%2 != 0){
      v_soma_nimpar_linhas[linha] <- v_soma_nimpar_linhas[linha] + matriz[linha, coluna]
      cont[linha] <- cont[linha] +1}
  }
}

v_soma_nimpar_linhas
## [1]  4 12 20 28
media_nimpar_linhas <- rep(0,4)

for(linha in 1:dim(matriz)[1]){
  if(cont[linha] != 0){
    media_nimpar_linhas[linha] <- v_soma_nimpar_linhas[linha]/cont[linha]}
  else{
    media_nimpar_linhas[linha] <- 0
  }
}

media_nimpar_linhas
## [1]  2  6 10 14
# f) A soma da diagonal principal da matriz.

soma_diagonal <- 0

for(linha in 1:4){
  for(coluna in 1:4){
    if(linha == coluna){
      soma_diagonal <- soma_diagonal + matriz[linha, coluna]}
  }
}

soma_diagonal
## [1] 34
# g) A soma da diagonal secundária da matriz (desafio).


soma_diagonal_secundaria <- 0

for(linha in 1:4){
  for(coluna in 1:4){
    if((linha + coluna) == 5){
      soma_diagonal_secundaria <- soma_diagonal_secundaria + matriz[linha, coluna]}
  }
}

soma_diagonal_secundaria
## [1] 34

Exercício 16

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

  1. a média de uma coluna da matriz do exercício “14)”.

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

  3. A média de todas as linhas da matriz do exercício “14)”.

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

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

  6. A soma da diagonal principal da matriz.

  7. A soma da diagonal secundária da matriz (desafio).

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

df2 <- as.data.frame(matriz)

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

soma_coluna <- 0

for(linha in 1:dim(df2)[1]){
  for(coluna in 1:dim(df2)[2]){
    if(coluna == 2){ # serão somados somente os valores da coluna 2
      soma_coluna <- soma_coluna + df2[linha, coluna]
    }
  }
}

# A média da coluna é a soma da coluna dividido pela quantidade de linhas dessa coluna

media_coluna <- soma_coluna/dim(df2)[1]

media_coluna
## [1] 8
# b) A média de todas as colunas da matriz do exercício “14)”.

v_soma_colunas <- rep(0,dim(df2)[1]) # repete 4 vezes o valor 0

for(linha in 1:dim(df2)[1]){
  for(coluna in 1:dim(df2)[2]){
    v_soma_colunas[coluna] <- v_soma_colunas[coluna] + df2[linha, coluna]
  }
}

v_soma_colunas
## [1] 28 32 36 40
media_colunas <- v_soma_colunas/linha
media_colunas
## [1]  7  8  9 10
# c) A média de todas as linhas da matriz do exercício “14)”.


v_soma_linhas <- rep(0,4) 

for(linha in 1:4){
  for(coluna in 1:4){
    v_soma_linhas[linha] <- v_soma_linhas[linha] + matriz[linha, coluna]
  }
}

v_soma_linhas
## [1] 10 26 42 58
media_linhas <- v_soma_linhas/coluna

media_linhas
## [1]  2.5  6.5 10.5 14.5
# d)    A média dos números pares de todas as colunas da matriz do exercício “14)”.

v_soma_npar_colunas <- rep(0,4) 

for(linha in 1:4){
  for(coluna in 1:4){
    if(matriz[linha, coluna]%%2 == 0){
      v_soma_npar_colunas[coluna] <- v_soma_npar_colunas[coluna] + matriz[linha, coluna]}
  }
}

v_soma_npar_colunas
## [1]  0 32  0 40
media_npar_colunas <- v_soma_npar_colunas/linha

media_npar_colunas
## [1]  0  8  0 10
# e)    A média dos números ímpares de todas as linhas da matriz do exercício “14)”.

v_soma_nimpar_linhas <- rep(0,4) 
cont <- rep(0,4)

for(linha in 1:4){
  for(coluna in 1:4){
    if(matriz[linha, coluna]%%2 != 0){
      v_soma_nimpar_linhas[linha] <- v_soma_nimpar_linhas[linha] + matriz[linha, coluna]
      cont[linha] <- cont[linha] +1}
  }
}

v_soma_nimpar_linhas
## [1]  4 12 20 28
media_nimpar_linhas <- rep(0,4)

for(linha in 1:dim(matriz)[1]){
  if(cont[linha] != 0){
    media_nimpar_linhas[linha] <- v_soma_nimpar_linhas[linha]/cont[linha]}
  else{
    media_nimpar_linhas[linha] <- 0
  }
}

media_nimpar_linhas
## [1]  2  6 10 14
# f) A soma da diagonal principal da matriz.

soma_diagonal <- 0

for(linha in 1:4){
  for(coluna in 1:4){
    if(linha == coluna){
      soma_diagonal <- soma_diagonal + matriz[linha, coluna]}
  }
}

soma_diagonal
## [1] 34
# g) A soma da diagonal secundária da matriz (desafio).


soma_diagonal_secundaria <- 0

for(linha in 1:4){
  for(coluna in 1:4){
    if((linha + coluna) == 5){
      soma_diagonal_secundaria <- soma_diagonal_secundaria + matriz[linha, coluna]}
  }
}

soma_diagonal_secundaria
## [1] 34

Exercício 17

Faça um programa em RStudio que crie uma matriz VALOR 6x6 e calcule a soma de cada uma das linhas da matriz. Os valores das somas calculadas devem ser armazenados em um vetor RESULTADO de tamanho 6. Ao final do programa o vetor deve ser impresso.

# Criando uma matriz VALOR 6x6 com números aleatórios entre 1 e 10

VALOR <- matrix(data = 1:36, nrow = 6, ncol = 6, byrow = TRUE)

# Calculando a soma de cada uma das linhas e armazenando em um vetor RESULTADO

RESULTADO <- rowSums(VALOR)

# Imprimindo o vetor RESULTADO

print(RESULTADO)
## [1]  21  57  93 129 165 201

Exercício 18

Faça um programa em RStudio que crie um data.frame D 5x5 e calcule a média dos valores armazenados na diagonal principal e a soma dos valores armazenados na diagonal secundária.

matrixx <- matrix(data = 1:25, nrow = 5, ncol = 5, byrow = TRUE)

df <- as.data.frame(matrixx)

# MÉDIA DOS VALORES ARMAZENADOS NA DIAGONAL PRINCIPAL

dfaa1.1 <- 1

dfaa2.2 <- 7

dfaa3.3 <- 13

dfaa4.4 <- 19

dfaa5.5 <- 25


SOMA <-  dfaa1.1 + dfaa2.2 + dfaa3.3 + dfaa4.4 + dfaa5.5 

MEDIA <- SOMA/5

# VALORES ARMAZENADOS NA DIAGONAL SECUNDÁRIA

dfaa5.5 <- 5
dfaa4.4 <- 9
dfaa3.2 <- 13
dfaa2.1 <- 17
dfaa1.4 <- 21

SOMA3 <- dfaa5.5 + dfaa4.4 + dfaa3.2 + dfaa2.1 + dfaa1.4

Exercício 19

Faça um programa em RStudio que crie um data.frame D 4x4, que contenha números entre 0 e 100, e calcule e imprima:

  1. A média dos valores pares armazenados no data.frame;

  2. A quantidade de elementos com valor maior que 50;

  3. A média dos valores ímpares menores que 30 armazenados no data.frame;

  4. A soma dos valores das colunas ímpares.

  5. O maior e o menor valor armazenado.

# criando um data.frame D 4x4 com valores aleatórios entre 0 e 100

set.seed(123)

D <- data.frame(matrix(sample(0:100, 20, replace = TRUE), nrow = 4))

colnames(D) <- c("A", "B", "C", "D")

# calculando a média dos valores pares

media_pares <- mean(D[D %% 2 == 0])

# calculando a quantidade de elementos maiores que 50

maiores_50 <- sum(D > 50)

# calculando a média dos valores ímpares menores que 30

media_impares <- mean(D[D %% 2 != 0 & D < 30])

# calculando a soma dos valores das colunas ímpares

soma_colunas_impares <- sum(D[, c(TRUE, FALSE)])

# encontrando o maior e o menor valor

maior_valor <- max(D)
menor_valor <- min(D)

# imprimindo os resultados

cat("Média dos valores pares: ", media_pares, "\n")
## Média dos valores pares:  63.71429
cat("Quantidade de elementos maiores que 50: ", maiores_50, "\n")
## Quantidade de elementos maiores que 50:  11
cat("Média dos valores ímpares menores que 30: ", media_impares, "\n")
## Média dos valores ímpares menores que 30:  13
cat("Soma dos valores das colunas ímpares: ", soma_colunas_impares, "\n")
## Soma dos valores das colunas ímpares:  686
cat("Maior valor armazenado: ", maior_valor, "\n")
## Maior valor armazenado:  100
cat("Menor valor armazenado: ", menor_valor, "\n")
## Menor valor armazenado:  8

Exercício 20

Faça um programa em RStudio que com base no salário de um funcionário (criado por vocês), calcule e mostre o seu salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre seu salário base e paga 10% de imposto sobre o salário base.

# Definindo o salário base do funcionário

salario_base <- 5000

# Calculando a gratificação de 5% sobre o salário base

gratificacao <- salario_base * 5/100

# Calculando o valor dos impostos de 10% sobre o salário base

impostos <- salario_base * 10/100

# Calculando o salário a receber

salario_a_receber <- salario_base + gratificacao - impostos

# Exibindo o resultado

cat("O salário a receber é:", salario_a_receber)
## O salário a receber é: 4750

Exercício 21

Faça um programa em RStudio para calcular o salário mensal final de um vendedor. As seguintes informações determinam esse valor:

  1. salário fixo: R$ 3.000,00

  2. total de vendas por ele efetuadas: R$ 25.000,00

  3. percentual que ele recebe sobre o total de vendas (5%)

  4. IRPF de 7,5% sobre o salário fixo

  5. INSS de 11% sobre o salário fixo mais a comissão de vendas

# Definir as informações do vendedor

salario_fixo <- 3000
total_vendas <- 25000
percentual_comissao <- 0.05
irpf <- 0.075
inss <- 0.11

# Calcular a comissão sobre as vendas

comissao_vendas <- total_vendas * percentual_comissao

# Calcular o salário bruto mensal

salario_bruto <- salario_fixo + comissao_vendas

# Calcular o valor do IRPF

valor_irpf <- salario_fixo * irpf

# Calcular o valor do INSS

valor_inss <- (salario_fixo + comissao_vendas) * inss

# Calcular o salário líquido mensal

salario_liquido <- salario_bruto - valor_irpf - valor_inss

# Imprimir o salário mensal final

cat("O salário mensal final do vendedor é R$", round(salario_liquido, 2), "\n")
## O salário mensal final do vendedor é R$ 3557.5

Exercício 22

Faça um programa em RStudio para efetuar a estimativa da quantidade de litros de cerveja consumida por um determinado bloco durante o carnaval. Outras informações:

• o bloco tem 1000 pessoas; • cada pessoa consome em média 3 latões; • considerar que uma caixa de cerveja tem 12 latões; • sabe-se que cada latão tem 473 ml e que 1 litro tem 1000 ml; • considerar que o carnaval são quatro dias;

Qual a quantidade de caixas de cerveja consumidas durante um dia? E durante os cinco dias? Supondo que cada caixa custa R$ 42,00 e é vendida a R$ 84,00 (R$ 7,00 cada lata), informar o o consumo em litros do bloco e o lucro auferido.

# Definindo variáveis

n_pessoas <- 1000

media_consumo <- 3

latoes_por_caixa <- 12

ml_por_latao <- 473

ml_por_litro <- 1000

dias_carnaval <- 5

preco_custo_caixa <- 42

preco_venda_caixa <- 84


# Calcular o consumo total em litros

litros_total <- n_pessoas * media_consumo * ml_por_latao / ml_por_litro * dias_carnaval


# Calcular a quantidade de caixas de cerveja consumidas em um dia

caixas_por_dia <- (n_pessoas * media_consumo) / latoes_por_caixa


# Calcular a quantidade de caixas de cerveja consumidas em cinco dias

caixas_cinco_dias <- caixas_por_dia * dias_carnaval


# Calcular o lucro auferido

lucro_por_caixa <- preco_venda_caixa - preco_custo_caixa

lucro_total <- lucro_por_caixa * caixas_cinco_dias


# Imprimir resultados

cat("Quantidade de caixas de cerveja consumidas por dia:", round(caixas_por_dia, 2), "\n")
## Quantidade de caixas de cerveja consumidas por dia: 250
cat("Quantidade de caixas de cerveja consumidas em cinco dias:", round(caixas_cinco_dias, 2), "\n")
## Quantidade de caixas de cerveja consumidas em cinco dias: 1250
cat("Consumo total de cerveja em litros:", round(litros_total, 2), "\n")
## Consumo total de cerveja em litros: 7095
cat("Lucro auferido em cinco dias:", round(lucro_total, 2))
## Lucro auferido em cinco dias: 52500

Exercício 23

Dois times de futebol fizeram uma disputa entre eles e jogaram 10 partidas. Os resultados de cada jogo foram armazenados em uma matriz JOGO 10x2, onde cada linha representa um jogo e cada coluna um time. Faça um programa em RStudio que calcule a média de gols realizados por cada time.

# Criando a matriz de resultados dos jogos

jogo <- matrix(c(2, 1, 2, 2, 0, 2, 2, 1, 0, 0, 1, 0, 2, 2, 1, 1, 1, 1, 0, 2), nrow = 10, ncol = 2)

# Calculando a média de gols realizados por cada time

media_time1 <- mean(jogo[,1])

media_time2 <- mean(jogo[,2])

# Imprimindo o resultado na tela

cat("Média de gols do time 1: ", media_time1, "\n")
## Média de gols do time 1:  1.2
cat("Média de gols do time 2: ", media_time2, "\n")
## Média de gols do time 2:  1.1