A maior rede de estudos do Brasil

Programação e Calculo Numérico: Alguém sabe resolver esta questão?

QUESTÃO 1
 
Variância e Desvio Padrão

Fonte: https://mundoeducacao.bol.uol.com.br/matematica/variancia-desvio-padrao.htm (adaptado)

Imagine a seguinte situação: o dono de uma microempresa pretende saber, em média, quantos produtos são produzidos por cada funcionário em um dia. O chefe tem conhecimento que nem todos conseguem fazer a mesma quantidade de peças, mas pede que seus funcionários façam um registro de sua produção em uma semana de trabalho. Ao fim desse período, chegou-se à seguinte tabela:

Funcionários

Quantidade de peças produzidas por dia

Segunda

Terça

Quarta

Quinta

Sexta

A

10

9

11

12

8

B

15

12

16

10

11

C

11

10

8

11

12

D

8

12

15

9

11


 

Para saber a produção média de seus funcionários, o chefe faz o cálculo da média aritmética de produção, isto é, a soma do número de peças produzido em cada dia dividida pela quantidade analisada de dias.

A partir desse cálculo, temos a produção diária média de cada funcionário. Mas se observarmos bem a tabela, veremos que há valores distantes da média. O funcionário B, por exemplo, produz uma média de 12,8 peças por dia. No entanto, houve um dia em que ele produziu 16 peças e outro dia em que ele confeccionou apenas 10 peças. Será que o processo utilizado pelo dono da empresa é suficiente para o seu propósito?

Para calcular melhor a dispersão de dados, podemos calcular a variância populacional (var) a partir da seguinte fórmula:

Calculando a variância populacional para cada funcionário, obtemos que:

var (A) = 2,0
var (B) = 5,36
var (C) = 1,84
var (D) = 6,0

A partir daí, podemos afirmar que a produção diária do funcionário é mais uniforme do que a dos demais funcionários, assim como a quantidade de peças diárias de é a mais desigual.

Como a variância pode ser afetada por valores que estão muito fora da média, podemos calcular o desvio padrão, que indica qual é o "erro" se quiséssemos substituir um dos valores coletados pelo valor da média. O desvio padrão é a raiz quadrada da variância.

dp(A) = √var (A) = √2,0 ≈ 1,41

dp(B) = √var (B) = √5,36 ≈ 2,32

dp(C) = √var (C) = √1,84 ≈ 1,36

dp(D) = √var (D) = √6,0 ≈ 2,45

Podemos ver a utilização do desvio padrão na apresentação da média aritmética, informando o quão “confiável” é esse valor. Isso é feito da seguinte forma:

média aritmética (x) ± desvio padrão (dp)

Se o dono da empresa de nosso exemplo pretende concluir seu relatório com a produção média diária de seus funcionários, ele fará da seguinte forma:

Funcionário A: 10,0 ± 1,41 peças por dia
Funcionário B: 12,8 ± 2,32 peças por dia
Funcionário C: 10,4 ± 1,36 peças por dia
Funcionário D: 11,0 ± 2,45 peças por dia

 



Mapa:

Usando os conceitos apresentados acima, crie um programa que seja executado no VisualG, que faça o seguinte:

1. Leia os valores de quantidades de peças produzidas por funcionários, por dia de semana, para 4 funcionários e 5 dias (como na tabela acima).
2. Calcule a média aritmética simples de peças por funcionário.
3. Calcule e exiba a variância populacional para cada funcionário.
4. Calcule o desvio padrão para cada funcionário.
5. Exiba a média aritmética +- desvio padrão, como no exemplo acima, para cada funcionário.


6 resposta(s) - Contém resposta de Especialista

User badge image

RD Resoluções Verified user icon

Há mais de um mês

Foram utilizados conhecimentos da pseudolinguagem de programação Visualg para a resolução desta tarefa.


Algoritmo "controleFuncionarios"

// Descrição : Programa feito para ler a quantidade de peças feitas por 4 funcionários e calcular valores à partir disto.

// Autor(a) : Victor Fernandes de Oliveira Brayner

// Data atual : 05/10/2018

Var

// Seção de Declarações das variáveis

funcionarios : vetor[1..4,1..5] de inteiro

letra: vetor[1..4] de caracter

dias: vetor[1..5] de caracter

linha, coluna : inteiro

media, variancia, desvioPadrao : real

Inicio

// Seção de Comandos, procedimento, funções, operadores, etc...

letra[1] <- "A: "

letra[2] <- "B: "

letra[3] <- "C: "

letra[4] <- "D: "

dias[1] <- "Segunda: "

dias[2] <- "Terça: "

dias[3] <- "Quarta: "

dias[4] <- "Quinta: "

dias[5] <- "Sexta: "

Escreval("Quantidade de pecas produzidas ")

para linha de 1 ate 4 faca

Escreval("Funcionario ", letra[linha])

para coluna de 1 ate 5 faca

Escreva(dias[coluna])

leia(funcionarios[linha,coluna])

fimpara

fimpara

para linha de 1 ate 4 faca

media <- 0

para coluna de 1 ate 5 faca

media <- media + funcionarios[linha,coluna]

fimpara

variancia <- (((funcionarios[linha,1] - (media/5))*(funcionarios[linha,1] - (media/5)))+((funcionarios[linha,2] - (media/5))*(funcionarios[linha,2] - (media/5)))+((funcionarios[linha,3] - (media/5))*(funcionarios[linha,3] - (media/5)))+((funcionarios[linha,4] - (media/5))*(funcionarios[linha,4] - (media/5)))+((funcionarios[linha,5] - (media/5))*(funcionarios[linha,5] - (media/5))))/5

Escreval("Funcionário ", letra[linha], media/5 , " +- ", raizq(variancia):2:2 , " peças por dia")

fimpara

Fimalgoritmo


Foram utilizados vetores e matrizes para a resolução, ao final do programa é mostrado na tela a média aritmética e o desvio padrão de cada funcionário.

Foram utilizados conhecimentos da pseudolinguagem de programação Visualg para a resolução desta tarefa.


Algoritmo "controleFuncionarios"

// Descrição : Programa feito para ler a quantidade de peças feitas por 4 funcionários e calcular valores à partir disto.

// Autor(a) : Victor Fernandes de Oliveira Brayner

// Data atual : 05/10/2018

Var

// Seção de Declarações das variáveis

funcionarios : vetor[1..4,1..5] de inteiro

letra: vetor[1..4] de caracter

dias: vetor[1..5] de caracter

linha, coluna : inteiro

media, variancia, desvioPadrao : real

Inicio

// Seção de Comandos, procedimento, funções, operadores, etc...

letra[1] <- "A: "

letra[2] <- "B: "

letra[3] <- "C: "

letra[4] <- "D: "

dias[1] <- "Segunda: "

dias[2] <- "Terça: "

dias[3] <- "Quarta: "

dias[4] <- "Quinta: "

dias[5] <- "Sexta: "

Escreval("Quantidade de pecas produzidas ")

para linha de 1 ate 4 faca

Escreval("Funcionario ", letra[linha])

para coluna de 1 ate 5 faca

Escreva(dias[coluna])

leia(funcionarios[linha,coluna])

fimpara

fimpara

para linha de 1 ate 4 faca

media <- 0

para coluna de 1 ate 5 faca

media <- media + funcionarios[linha,coluna]

fimpara

variancia <- (((funcionarios[linha,1] - (media/5))*(funcionarios[linha,1] - (media/5)))+((funcionarios[linha,2] - (media/5))*(funcionarios[linha,2] - (media/5)))+((funcionarios[linha,3] - (media/5))*(funcionarios[linha,3] - (media/5)))+((funcionarios[linha,4] - (media/5))*(funcionarios[linha,4] - (media/5)))+((funcionarios[linha,5] - (media/5))*(funcionarios[linha,5] - (media/5))))/5

Escreval("Funcionário ", letra[linha], media/5 , " +- ", raizq(variancia):2:2 , " peças por dia")

fimpara

Fimalgoritmo


Foram utilizados vetores e matrizes para a resolução, ao final do programa é mostrado na tela a média aritmética e o desvio padrão de cada funcionário.

User badge image

daniela carvalho

Há mais de um mês

Alguem conseguiu fazer?

User badge image

Cristiane Machado Vieira

Há mais de um mês

Eu também preciso desta resposta, vou tentar mais qualquer coisa volto aqui para postar Ramont

User badge image

Andre Smaira

Há mais de um mês

 

Foram utilizados conhecimentos da pseudolinguagem de programação Visualg para a resolução desta tarefa.


Algoritmo "controleFuncionarios"

// Descrição   : Programa feito para ler a quantidade de peças feitas por 4 funcionários e calcular valores à partir disto.

// Autor(a)    : Victor Fernandes de Oliveira Brayner

// Data atual  : 05/10/2018

Var

// Seção de Declarações das variáveis 

funcionarios : vetor[1..4,1..5] de inteiro

letra: vetor[1..4] de caracter

dias: vetor[1..5] de caracter

linha, coluna : inteiro

media, variancia, desvioPadrao : real

Inicio

// Seção de Comandos, procedimento, funções, operadores, etc...

letra[1] <- "A: "

letra[2] <- "B: "

letra[3] <- "C: "

letra[4] <- "D: "

dias[1] <- "Segunda: "

dias[2] <- "Terça: "

dias[3] <- "Quarta: "

dias[4] <- "Quinta: "

dias[5] <- "Sexta: "

Escreval("Quantidade de pecas produzidas ")

para linha de 1 ate 4 faca

          Escreval("Funcionario ", letra[linha])

     para coluna de 1 ate 5 faca

          Escreva(dias[coluna])

          leia(funcionarios[linha,coluna])

     fimpara

fimpara

para linha de 1 ate 4 faca

     media <- 0

     para coluna de 1 ate 5 faca

          media <- media + funcionarios[linha,coluna]

     fimpara

     variancia <- (((funcionarios[linha,1] - (media/5))*(funcionarios[linha,1] - (media/5)))+((funcionarios[linha,2] - (media/5))*(funcionarios[linha,2] - (media/5)))+((funcionarios[linha,3] - (media/5))*(funcionarios[linha,3] - (media/5)))+((funcionarios[linha,4] - (media/5))*(funcionarios[linha,4] - (media/5)))+((funcionarios[linha,5] - (media/5))*(funcionarios[linha,5] - (media/5))))/5

     Escreval("Funcionário ", letra[linha], media/5 , " +- ", raizq(variancia):2:2 , " peças por dia")

fimpara


Fimalgoritmo


Foram utilizados vetores e matrizes para a resolução, ao final do programa é mostrado na tela a média aritmética e o desvio padrão de cada funcionário.

Essa pergunta já foi respondida por um dos nossos especialistas