Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
michel510

Duvidas com Pascal

Recommended Posts

bom dia a todos! estou começando estudar pascal, ate agora foi bem mas quando chegou nesse:

Obter a idade, a altura e o sexo (masculino, feminino) de 100 pessoas. Fazer um algoritmo que calcule e escreva:

• a maior idade;

• a menor altura dos homens;

• a maior altura das mulheres;

• a média das idades maiores que 18.

Quem puder me ajudar agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites
bom dia a todos! estou começando estudar pascal, ate agora foi bem mas quando chegou nesse:

Obter a idade, a altura e o sexo (masculino, feminino) de 100 pessoas. Fazer um algoritmo que calcule e escreva:

• a maior idade;

• a menor altura dos homens;

• a maior altura das mulheres;

• a média das idades maiores que 18.

Quem puder me ajudar agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • valeu galera mas acho que consegui

    Program letra_r;

    var mi,idade,cont,valor,soma:integer;

    altura,media,maior,menor:real;

    sexo:char;

    Begin

    cont:=1;

    mi:=0;

    menor:=5000;

    maior:=0;

    repeat

    write('Qual a sua idade: ');

    readln(idade);

    write('Qual a sua altura: ');

    readln(altura);

    write('Qual o sexo: (M-masculino/F-femenino)');

    readln(sexo);

    writeln('');

    writeln('');

    if (sexo='m') or (sexo='M')then

    begin

    if altura<menor then

    menor:=altura;

    end;

    if (sexo='f') or (sexo='F') then

    begin

    if altura>maior then

    maior:=altura;

    end;

    if idade>mi then

    mi:=idade;

    if idade>18 then

    begin

    soma:=soma+idade;

    valor:=valor+1;

    media:=soma/valor;

    end;

    cont:=cont+1;

    until cont>5;

    writeln('A maior idade e', mi,' anos');

    writeln('A homem com menor altura tem ', menor:2:2,' de altura');

    writeln('A mulher mais alta tem ', maior:2:2,' de altura');

    writeln('A media de idades e de ', media:2:2);

    End.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    valeu galera mas acho que consegui

    Program letra_r;

    var mi,idade,cont,valor,soma:integer;

    altura,media,maior,menor:real;

    sexo:char;

    Begin

    cont:=1;

    mi:=0;

    menor:=5000;

    maior:=0;

    repeat

    write('Qual a sua idade: ');

    readln(idade);

    write('Qual a sua altura: ');

    readln(altura);

    write('Qual o sexo: (M-masculino/F-femenino)');

    readln(sexo);

    writeln('');

    writeln('');

    if (sexo='m') or (sexo='M')then

    begin

    if altura<menor then

    menor:=altura;

    end;

    if (sexo='f') or (sexo='F') then

    begin

    if altura>maior then

    maior:=altura;

    end;

    if idade>mi then

    mi:=idade;

    if idade>18 then

    begin

    soma:=soma+idade;

    valor:=valor+1;

    media:=soma/valor;

    end;

    cont:=cont+1;

    until cont>5;

    writeln('A maior idade e', mi,' anos');

    writeln('A homem com menor altura tem ', menor:2:2,' de altura');

    writeln('A mulher mais alta tem ', maior:2:2,' de altura');

    writeln('A media de idades e de ', media:2:2);

    End.

    Olá,

    Certinho...

    Só uns conceitos que podem ser revisados:

    1) Seleção (ifs) do sexo informado

    Sobre esse trecho:

      [COLOR="Red"]if (sexo='m') or (sexo='M')then[/COLOR]
    begin
    if altura<menor then
    menor:=altura;
    end;
    [COLOR="Red"]if (sexo='f') or (sexo='F') then[/COLOR]
    begin
    if altura>maior then
    maior:=altura;
    end;

    Na hora de verificar o sexo informado, você está utilizando dois ifs que são "mutualmente exclusivos entre si', ou seja, só pode ser um ou outro. Não dá para o sexo ser "masculino" e "feminino" ao mesmo tempo. Logo você poderia (deve) suar "if/else".

    2) Cálculo de média

    Sobre esse trecho:

      if idade>18 then
    begin
    soma:=soma+idade;
    valor:=valor+1;
    [COLOR="Red"]media:=soma/valor;[/COLOR]
    end;

    Você está calculando a média em cada rodada, mas deveria calcular uma vez só. (a não ser que você estivesse, por exemplo, exibido a cada rodada, que não é o caso).

    Calcule a média uma vez, depois de ter coletado todos os dados. (fora do laço de repetição).

    3) Escolha do tipo de iteração a ser usada

    Existem 3 tipos de laços de repetição: while, repeat e for. Cada um com suas particularidades. No caso, como você está utilizando um laço com uma quantidade de repetições fixas (5), e não utilizando uma outra condição que poderia ser mudada durante os loops, o mais correto seria usar o for. Já que ele é mais apropriado.

    OBS.: Essa escolha do tipo de iteração não é tão determinante assim, mas no meu ponto de vista seria mais correto usar o for.

    ***

    Só mais um comentário: experimente não informar nenhum usuário do sexo masculino...

    No aguardo

    Abraços

    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






    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

    ×