Ir ao conteúdo
  • Cadastre-se

Criar uma procedure que exiba a media


Visitante: kaioavila21

Posts recomendados

Visitante: kaioavila21
 

Pessoal, estou meio perdido em como criar uma procedure que exiba a media de idade de pessoas de uma array[1..100], nessa array eu cadastro somente o ano que a pessoa nasceu.

Link para o comentário
Compartilhar em outros sites

Visitante: Sithiun
 

cara, você tá usando Pascal ou Object Pascal(POO)?

----------------------------------------------------------------------

Faz o seguinte, levando em consideração que você deve estar usando pascal, e já deve ter declarado o array das idades e uma variavel para a média na seção 'var' do programa, porque você não tenta usar uma função?

Aí você só passaria o array como parâmetro da função. A grande vantagem de usar uma função é que você pode reutilizar ela em outros programas. Eu vou bolar uma função aqui e daí eu atualizo o post.

----------------------------------------------------------------------


Program CalculoDeMedia;
const
max = 100;

var
idade : array [1..max] of integer;
media : real;
i : integer;

function mediaArray (var media:array of integer, tam:integer) : real;
var
somaMedia : integer;
begin
for i := 1 to tam do begin
somaMedia := somaMedia + media[i];
end;
mediaArray := somaMedia / max;
end;
Begin
randomize;

for i := 1 to max do;
idade [i] := random(100);

write (mediaArray(idade, max):0:4);
End.

Pronto! Para usar esta função você só precisa escrever

mediaArray(nomeDoArray, tamanhoDoArray)

e ela vai retornar a média dos numeros inseridos no array, que você pode atribuir a uma variável,

media := mediaArray(nomeDoArray, tamanhoDoArray);

ou simplesmente escrever o resultado, que foi o que eu fiz no programa de exemplo.

writeln (mediaArray(nomeDoArray, tamanhoDoArray));

Obs1.: Sempre prefira utilizar constantes nas declarações de arrays e em numeros que se repetem muito em um programa, isso torna seu código mais reutilizável, pois se você, por exemplo, quiser usar este mesmo programa para calcular a média de idade de 200 pessoas você só precisa alterar o valor da constante 'max' de 100 para 200, ao invés de alterar uma porrada de '100's soltos em meio ao código.

Obs2.: Para poder chamar a função no seu programa, você só precisa copiar a seguinte parte:


function mediaArray (var media:array of integer, tam:integer) : real;
var
somaMedia : integer;
begin
for i := 1 to tam do begin
somaMedia := somaMedia + media[i];
end;
mediaArray := somaMedia / max;
end;

e colar logo após a declaração das variáveis.

Espero que tenha resolvido.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!