gnr_ssa Postado Abril 29, 2007 Denunciar Share Postado Abril 29, 2007 fazer um programa para ler o nome o sexo e a idade de pessoas OBS: 1- o programa so devera ser finalizado quando o usurio digitar sim no teclado 2- antes de ser finalizado o programa devera mostrar: - quantas pessoas foram digitadas- a quantidade e percentual de pessoas do sexo masculino- a quantidade o percentual de pessoa do sexo feminino- a quantidade e o percentual de pessoas menores de 18 anos----------------------------------------------------------------------------------------------------alguém ajuda aí no que está errado, acho que calculo do percentual está errado ou e assim mesmo ???outra coisa quando digio SIM ele não sai de primeira, pede pra digitar as dados novamentes de idade e sexo para depois mstrar resultado.seila alguém pode dizer onde tou errando aí ??obrigado.program IBGE;uses crt;varidade,totalpessoas,totalmasculino,totalfeminino,menoridade: integer;percsexom,percsexof,percmidade: real;nome,sexo: string;begin clrscr;nome := 'gato';totalpessoas:=1;totalmasculino:=1;totalfeminino:=1;menoridade:=1;percsexoM:=0;percsexof:=0;percmidade:=0;while nome <> 'sim' do begin clrscr;writeln ('Digite SIM para sair do programa e mostrar resultado');writeln ('Digite o nome das pessoas');readln (nome);totalpessoas := totalpessoas+1;writeln ('Digite o sexo M para masculino e F para Feminino');readln (sexo);if (sexo = 'M') thentotalmasculino := totalmasculino+1elsetotalfeminino := totalfeminino+1;writeln ('digite sua idade');readln (idade);if idade < 18 then beginmenoridade := menoridade+1;end;percsexoM := (totalmasculino / totalpessoas) * 100;percsexoF := (totalfeminino / totalpessoas) * 100;percmidade := (menoridade / totalpessoas) * 100;end;writeln ('A quantidade de pessoas ‚: ',totalpessoas);writeln ('A quantidade de pessoas do sexo masculino ‚ ',totalmasculino);writeln ('A quantidade de pessoas do sexo femino ‚ ',totalfeminino);writeln ('A quantidade de pessoas menor de 18 anos ‚ ',menoridade);writeln ('Percentual de pessoas do sexo masculino ‚ ',percsexoM);writeln ('Percentual de pessoas do sexo femino ‚ ',percsexoF);writeln ('Percentual de pessoas menores de 18 anos ‚ ',percmidade);readln;end. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CSML sistemas Postado Abril 30, 2007 Denunciar Share Postado Abril 30, 2007 (editado) primeiro: deveria adicionar uma verificação do nome logo após o "readln(nome)"segundo: o cálculo de percentual segue a regra de três simples abaixo100 -> totalx -> valorlogox = (valor * 100) / totalonde x é o percentual do valor em relação ao total. A precedência de operadores de multiplicação e divisão pode ser considerada a mesma, portanto, sua fórmula está correta.Abraços Editado Abril 30, 2007 por CSML sistemas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 gnr_ssa Postado Abril 30, 2007 Autor Denunciar Share Postado Abril 30, 2007 primeiro: deveria adicionar uma verificação do nome logo após o "readln(nome)"segundo: o cálculo de percentual segue a regra de três simples abaixo100 -> totalx -> valorlogox = (valor * 100) / totalonde x é o percentual do valor em relação ao total. A precedência de operadores de multiplicação e divisão pode ser considerada a mesma, portanto, sua fórmula está correta.Abraçosvaleu manmas não entendi ainda, como deve ser feita essa verificação logo apost readln(nome) para o program mostrar o resultado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CSML sistemas Postado Abril 30, 2007 Denunciar Share Postado Abril 30, 2007 A verificação após o readln(nome) é para evitar que, após o usuário informar o string de escape "sim", continuem sendo solicitados outros dados... Ficaria algo como...readln (nome);if (nome = 'sim') then continue;totalpessoas := totalpessoas+1;...Dessa forma, caso seja informado "sim" para o nome, a execução é passada para a próxima iteração do "while", que, obviamente, concluirá o loop... ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 gnr_ssa Postado Abril 30, 2007 Autor Denunciar Share Postado Abril 30, 2007 Mesmo assim quando digita SIM, o programa conta como um nome recebido pede a idade e sexo, e depois que finalizacomo que faz pra quando digitar sim já mostrar direto o resultado ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CSML sistemas Postado Maio 1, 2007 Denunciar Share Postado Maio 1, 2007 Cara, o "continue" não está saltando para a próxima iteração??? Seria esta a definição deste comando...Bom, então põe "break" no lugar de "continue"... na verdade, é até o mais correto.O comando "break" encerra o loop. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
gnr_ssa
fazer um programa para ler o nome o sexo e a idade de pessoas
OBS:
1- o programa so devera ser finalizado quando o usurio digitar sim no teclado
2- antes de ser finalizado o programa devera mostrar:
- quantas pessoas foram digitadas
- a quantidade e percentual de pessoas do sexo masculino
- a quantidade o percentual de pessoa do sexo feminino
- a quantidade e o percentual de pessoas menores de 18 anos
----------------------------------------------------------------------------------------------------
alguém ajuda aí no que está errado, acho que calculo do percentual está errado ou e assim mesmo ???
outra coisa quando digio SIM ele não sai de primeira, pede pra digitar as dados novamentes de idade e sexo para depois mstrar resultado.
seila alguém pode dizer onde tou errando aí ??
obrigado.
program IBGE;
uses crt;
var
idade,totalpessoas,totalmasculino,totalfeminino,menoridade: integer;
percsexom,percsexof,percmidade: real;
nome,sexo: string;
begin clrscr;
nome := 'gato';
totalpessoas:=1;
totalmasculino:=1;
totalfeminino:=1;
menoridade:=1;
percsexoM:=0;
percsexof:=0;
percmidade:=0;
while nome <> 'sim' do begin clrscr;
writeln ('Digite SIM para sair do programa e mostrar resultado');
writeln ('Digite o nome das pessoas');
readln (nome);
totalpessoas := totalpessoas+1;
writeln ('Digite o sexo M para masculino e F para Feminino');
readln (sexo);
if (sexo = 'M') then
totalmasculino := totalmasculino+1
else
totalfeminino := totalfeminino+1;
writeln ('digite sua idade');
readln (idade);
if idade < 18 then begin
menoridade := menoridade+1;
end;
percsexoM := (totalmasculino / totalpessoas) * 100;
percsexoF := (totalfeminino / totalpessoas) * 100;
percmidade := (menoridade / totalpessoas) * 100;
end;
writeln ('A quantidade de pessoas ‚: ',totalpessoas);
writeln ('A quantidade de pessoas do sexo masculino ‚ ',totalmasculino);
writeln ('A quantidade de pessoas do sexo femino ‚ ',totalfeminino);
writeln ('A quantidade de pessoas menor de 18 anos ‚ ',menoridade);
writeln ('Percentual de pessoas do sexo masculino ‚ ',percsexoM);
writeln ('Percentual de pessoas do sexo femino ‚ ',percsexoF);
writeln ('Percentual de pessoas menores de 18 anos ‚ ',percmidade);
readln;
end.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.