Complete um procedimento que calcula e imprime a variância do conjunto de números armazenado num vetor. O procedimento recebe dois parâmetros de entrada, um vetor de números reais e um inteiro representando o tamanho do vetor. (5,0 pts)
Fórmula da variância:
Procedimento calcVar(
,
) Inicio
Inteiro i, soma
, med, temp
, var
Para (
; i=i+1 ) Faça
soma
soma +
Fim Para
med = soma / N
Para (
;
; i=i+1 ) Faça
temp = temp + (
- med )^2
Fim Para
var = temp / N
Imprimir "A variância da distribuição é: " + var
Fim
Para (
soma
Fim Para
med = soma / N
Para (
temp = temp + (
var = temp / N
Imprimir "A variância da distribuição é: " + var
Fim
Passo 1
O que o enunciado pede:
- Completar um procedimento que calcula e imprime a variância de um conjunto de números guardados em um vetor.
- O procedimento recebe dois parâmetros: um vetor de números reais e um inteiro que é o tamanho do vetor.
Informações dadas (o que já aparece no enunciado):
- Fórmula da variância:
- Esqueleto do procedimento com espaços em branco a serem preenchidos:
- Assinatura: Procedimento calcVar(
, ) Inicio - Primeiro laço: Para (
; i=i+1 ) Faça soma soma + Fim Para - Cálculo da média: med = soma / N
- Segundo laço: Para (
; ; i=i+1 ) Faça temp = temp + ( - med )^2 Fim Para - Cálculo da variância: var = temp / N
- Impressão: Imprimir "A variância da distribuição é: " + var
- Assinatura: Procedimento calcVar(
O que precisamos definir (responder sem ambiguidade):
- Quais nomes/expressões preencher nas lacunas: assinatura (vetor e tamanho) e nos dois laços (condição de parada) e nas somas (elemento atual do vetor).
Passo 2
Entendendo a estratégia/algoritmo (passo a passo lógico, antes de codificar):
- A variância exige primeiro a média
. A média populacional é - Para obter
no código, soma-se todos os elementos do vetor e divide-se por . - Depois, calcula-se a soma dos quadrados das diferenças entre cada elemento e a média:
. - Por fim, divide-se essa soma por
para obter . - Observação prática importantíssima: para evitar divisão inteira (quando
e soma forem inteiros), as variáveis que guardam soma, média, temp e var devem ser do tipo real (ou float) — caso contrário a divisão pode truncar. Assim, declare essas variáveis como reais se o pseudocódigo permitir. No esqueleto original só aparece Inteiro i, soma = 0, med, temp = 0, var; o ideal é declararsoma,med,temp,varcomo reais.
Passo 3
Preenchendo o primeiro laço (soma dos elementos) e explicando detalhadamente:
- Índices: o enunciado usa índice começando em zero (i = 0). Isso indica que o vetor tem posições de
a . - Condição de parada do laço: deve ser
para percorrer exatamente elementos. - Em cada iteração somamos o elemento atual
à variável acumuladora soma. - Em código (linhas do laço): Para (
; ) Faça
somasoma + - Explicação numérica simples: se o vetor tem
e valores armazenados como , o laço soma produzirá soma = .
Passo 4
Calculando a média e comentando detalhes numéricos:
- Depois do primeiro laço, calculamos a média usando a fórmula média = soma dividido por
: - Lembrete: garantir que a operação seja de ponto flutuante; caso contrário, por exemplo
pode virar se feito com inteiros. Por isso medesomadevem ser reais. - Exemplo: com soma
e , med , que coincide com .
Passo 5
Preenchendo o segundo laço (soma dos quadrados das diferenças) e explicando:
- Objetivo: calcular
. - Estrutura do laço: novamente percorrer todos os índices com
até . - Em cada iteração acumulamos em
tempo valor:
temp = temp +. - Exemplo numérico: com
e , as diferenças são , quadrados , soma . Então temp fica .
Passo 6
Cálculo final da variância e impressão:
- Depois do segundo laço, a variância populacional é dada por
- Seguindo o exemplo: temp
, => var . - Por fim, imprimir a mensagem com o valor: "A variância da distribuição é: " + var.
Passo 7
Montando o procedimento completo com todas as lacunas preenchidas (mantendo a estrutura do enunciado). Atenção: todas as variáveis e números aparecem em TeX conforme solicitado.
Procedimento calcVar(
,
) Inicio
Inteiro
, soma
, med, temp
, var
Para (
;
) Faça
soma soma +
Fim Para
soma
Fim Para
med = soma /
Para (
;
;
) Faça
temp = temp +
Fim Para
temp = temp +
Fim Para
var = temp /
Imprimir "A variância da distribuição é: " + var
Fim
Resposta
Procedimento calcVar(
,
) Inicio
Inteiro
, soma
, med, temp
, var
Para (
;
) Faça
soma soma +
Fim Para
med = soma /
Para ( ;
;
) Faça
temp = temp +
soma
Fim Para
med = soma /
Para (
temp = temp +
Fim Para
var = temp /
Imprimir "A variância da distribuição é: " + var
Fim
var = temp /
Imprimir "A variância da distribuição é: " + var
Fim