Ir ao conteúdo
  • Cadastre-se
thor2009

Preciso de ajuda até nessa quinta 28/05/09

Recommended Posts

Eu sou iniciante em pascal... falo humildemente que não consigo resolver esse exercicio que seria fácil, porém sempre me surge erros me incapacitando de resolve-lo. Peço ajuda de alguém que saiba lidar com pascal para resolver esse exercicio:

Foi feita uma pesquisa entre os 1000 habitantes de uma região para coletar os seguintes dados: sexo (0 feminino, 1 masculino), idade e altura. Faça um programa que leia as informações coletadas e mostre as seguintes informações.

a)média de idade do grupo,

b)média de altura das mulheres,

c)média de idade dos homens,

program alturamf;
uses CRT;
var
quant,cont,cont_f:integer;
sexo:string;
alt,soma_alt,cont_id,id,soma_id:real;
begin


cont_f := 0;
cont_id :=0;

soma_alt := 0;

while quant<1000 do

begin
writeln('Qual o sexo da ',cont,'o pessoa?<1> masculino ou <0> feminino');
readln(sexo);
while (sexo<>'1') and (sexo<>'0') do
begin
writeln('Sexo inválido! Digite <m> para masculino ou <f> para feminino!');
readln(sexo);
end;
writeln('Qual a altura da ',cont,'o pessoa?');
readln(alt);
while (alt<0.2) or (alt>2.5) do {obriga uma altura válida}
begin {repete até a altura ser válida}
writeln('Altura inválida! Digite uma altura entre 0.2 e 2.5!');
readln(alt);
end;

begin



end;

begin






end;


begin
cont_f := cont_f+1; {conta a quantidade de mulheres}
soma_alt := soma_alt+alt; {soma a altura feminina}
end;
end ;
clrscr;


writeln('A média de alturas entre as mulheres é :',soma_alt/cont_f:2:2);

readkey;
end.

Até agora ja consegui fazer isso... alguém consegue fazer ou terminar isso?? Preciso disso até essa quinta 28/05/09 :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

program alturamf;

uses CRT;

var

quant,cont,cont_f:integer;

sexo:string;

alt,soma_alt,cont_id,id,soma_id:real;

begin

cont_f := 0;

cont_id :=0;

soma_alt := 0;

while quant<1000 do

begin

writeln('Qual o sexo da ',cont,´'o pessoa?<1> masculino ou <0> feminino');

readln(sexo);

while (sexo<>'1') and (sexo<>'0') do

begin

writeln('Sexo inválido! Digite <m> para masculino ou <f> para feminino!');

readln(sexo);

end;

writeln('Qual a altura da ',cont,'o pessoa?');

readln(alt);

while (alt<0.2) or (alt>2.5) do {obriga uma altura válida}

begin {repete até a altura ser válida}

writeln('Altura inválida! Digite uma altura entre 0.2 e 2.5!');

readln(alt);

end;

begin

end;

begin

end;

begin

cont_f := cont_f+1; {conta a quantidade de mulheres}

soma_alt := soma_alt+alt; {soma a altura feminina}

end;

end ;

clrscr;

writeln('A média de alturas entre as mulheres é :',soma_alt/cont_f:2:2);

readkey;

end.

até agora ja consegui fazer isso... alguém consegue fazer ou terminar isso??preciso dizo até essa quinta 28/05/09 :/

Olá,

Reorganizei o código para você.

No programa basta você implementar a lógica para ler as idades, computar as estatísticas e exibir o resultado

Basicamente preencher..

cont_F, cont_M, soma_IG, soma_AF e soma_IM

e efetuar os cálculos!!!

Como são 1000, você poderia criar cadastros aleatórios (com Random()), mas isso são cenas para o próximo capítulo!!!


a)media de idade do grupo,
b)media de altura das mulheres,
c)media de idade dos homens,}
*)

program alturamf;
uses CRT;
const
{max = 1000} {contidade maxima de cadastro}
max = 5; {só para testar o programa (você vai digitar 1000 ????}
var
{dados das pessoas - nao persistentes}
sexo :char; {("M" ou "F"}
idade :{integer}byte;
altura :real;

{dados para relatorio}
cont_Cad :{integer}word; {qnt de pessoas cadastrada}
cont_F :{integer}word; {qnt do sexo feminino}
cont_M :{integer}word; {qnt do sexo masculino}
soma_IG :{integer}word; {soma das Idades do Grupo}
soma_AF :{integer}word; {soma das Aturas do sexo Feminino}
soma_IM :{integer}word; {soma das Idades do sexo Masculino}

BEGIN
{da uma formatada na tela}
ClrScr; {limpa a tela}
TextColor(15); {cor do texto com um branco mais forte}
TextBackGround(0); {cor do fundo preto (é o padrão, mas n custar né?}

[COLOR="Red"](*
{cont_f := 0;
cont_id :=0;
soma_alt := 0;}
//no begin principal, do pascal, nao precisa inicializar as variaves com "0"
//so se fosse reutilizar por exemplo}
*)[/COLOR]

while (cont_Cad<MAX) do
begin
inc(cont_Cad); {o mesmo que cont_Cad:=cont_Cad+1}

{ler o sexo da pessoa}
writeln('Qual o sexo da ',cont_Cad,'o pessoa? <1> masculino ou <0> feminino');
readln(sexo);
while (sexo<>'1') and (sexo<>'0') do
begin
writeln('Sexo invalido! Digite <m> para masculino ou <f> para feminino!');
{"m" ou "f" ???? Atencao!!! - Corrija isso!!! :)}
readln(sexo);
end;

{ler a altura da pessoa}
writeln('Qual a altura da ',cont_Cad,'o pessoa?');
readln(altura);
while (altura<0.2) or (altura>2.5) do {obriga uma altura valida}
begin {repete até a altura ser válida}
writeln('Altura invalida! Digite uma altura entre 0.2 e 2.5!');
readln(altura);
end;

[COLOR="Red"] {ler a idade da pessoa}[/COLOR]

[COLOR="Red"] {estrutura para as estatisticas}[/COLOR]

end ;

[COLOR="Red"]{exibir os dados}[/COLOR]

readkey;
end.
(*

Qualquer coisa é só postar!

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara sou novo nesse forum,e sem dúvidas algumas isso é algo muito bem organizado e planejado.

porém voltando a minha questão....

esses códigos que você botou aí são bem interessantes...mas não me mostrou nenhum resultado final lá...e gostaria que fosse mais simples entende?? para ficar mais compreensivel para mim sou leigo ainda nesse assunto :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×