{Foi realizada uma pesquisa entre 05 habitantes de uma cidade. De
Cada habitante foram coletados os dados: idade, sexo, renda familiar e numero
de filhos. Faca um programa que leia esses dados, armazene-os em um vetor.
Calcule e mostre a media de salario entre os habitantes, a menor e a maior
idade do grupo e a quantidade de mulheres com mais de dois filhos e com renda
familiar inferior a 600.}
Program Pesquisa;
Uses CRT;
Const Max = 05;
Type Coleta = Record
Nome: string;
Idade: integer;
Sexo: char;
RendaFam: real;
NumFilhos: Integer;
end;
matrizColeta = array [ 1..Max] of Coleta;
Procedure LeColeta (Var dados: MatrizColeta; i: integer);
Begin
Writeln ('Digite os dados do Habitante');
with dados[i] do
begin
write ('Nome: '); readln (Nome);
write ('Idade: '); readln (Idade);
write ('Sexo: Digite m - Masculino e f - Feminino: '); readln (Sexo);
while (Sexo <> 'm') and (Sexo <> 'f') do
Begin
write ('Sexo: Digite m - Masculino e f - Feminino: '); readln (Sexo);
end;
write ('Renda Familiar: '); readln (RendaFam);
write ('Numero de Filhos: '); readln (NumFilhos);
writeln ('');
End;
end;
Procedure EscreveColeta (Var dados: MatrizColeta; i: integer);
Begin
Writeln ('Os Dados do habitante sao:');
with dados[i] do
Begin
writeln ('Nome:',Nome);
writeln ('Idade:',Idade);
writeln ('sexo:',Sexo);
writeln ('Renda Familiar:',rendaFam:2:2);
writeln ('Numero de Filhos:',NumFilhos);
writeln ('');
End;
End;
{Programa Principal}
Var Cont, Aux, Aux2, MenorIdade, MaiorIdade,QdMRendaInf: integer;
Coletar : MatrizColeta;
MediaSal, SomaSal, AcumSal: real;
begin
Clrscr;
Aux:= 0;
Aux2:=0;
For Cont := 1 to Max do
Begin
LeColeta (Coletar, Cont);
end;
For Cont := 1 to Max do
Begin
EscreveColeta (Coletar, Cont);
end;
for Cont:= 1 to Max do
begin
SomaSal:= SomaSal + Coletar[Cont].RendaFam;
AcumSal:= AcumSal + 1;
end;
for Cont:= 1 to Max do
begin
if (Coletar[Cont].Idade > MaiorIdade) then
begin
Aux:= MaiorIdade;
MaiorIdade:= Coletar[Cont].Idade;
coletar[Cont].Idade := Aux;
End
else begin
Aux2:= MenorIdade;
MenorIdade := Coletar[Cont].Idade;
Coletar[Cont].Idade := Aux2;
End;
End;
For Cont:= 1 to Max do
Begin
if (Coletar[Cont].Sexo = 'f' ) and (Coletar[Cont].RendaFam < 600)
Then QdMRendaInf := QdMRendaInf + 1;
End;
MediaSal := SomaSal/AcumSal;
writeln ('A media do salario entre os habitantes e:',MediaSal:2:2);
writeln ('A maior idade do Grupo e:', MaiorIdade);
writeln ('A Menor idade do Grupo e:', MenorIdade);
writeln ('Quant. Mulheres c/ mais de 2 filhos e renda < R$ 600,e:',QdMRendaInf);
Readkey;
End.
Nenhum comentário:
Postar um comentário