Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Maztah

(Resolvido) Ajuda com Script básico

Question

Ola a todos

Estou iniciando na programação de algorítimos por conta própria (sem curso ou professores) e resolvi me juntar a esse FORUM para recolher conhecimentos e buscar ajuda nas minhas dúvidas.

Estou fazendo um pequeno script para cálculo do peso médio. O problema é que entre homens e mulheres há uma diferença na equação. Na forma como o script se encontra hoje ele não consegue dar o resultado caso a variável SEXO contenha o valor M ou diferente de H.

Segue abaixo

algoritmo Peso_Ideal;

variáveis 

    sexo: literal;
    peso: inteiro;
    altura: real;
    ideal: real;
fim-variáveis

início
//    imprima ("Digite o seu peso: ");
//    peso:= leia();
    imprima ("Digite a sua altua :");
    altura:= leia();
    imprima ("Homem ou Mulher? (h ou m)");
    sexo:= leia();

altura:= (altura / 100);
        se sexo="h" então
            ideal:= ((72.7 * altura) - 58);
        senão 
            ideal:= ((62.1 * altura) - 44.7);
fim-se 
imprima ("Seu peso ideal é: ",ideal);

fim

PS: Sei que existem alguns tópicos semelhantes aki no forum...mas como sou meio iniciante não consegui distinguir a parte dos scripts que me servia.

Obrigado

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0
Na forma como o script se encontra hoje ele não consegue dar o resultado caso a variável SEXO contenha o valor M ou diferente de H.

No ultimo teste voce faz a rotina calcular novamente

algoritmo Peso_Ideal;

variáveis 

    sexo: literal;
    peso: inteiro;
    altura: real;
    ideal: real;
fim-variáveis

início
//    imprima ("Digite o seu peso: ");
//    peso:= leia();
    imprima ("Digite a sua altua :");
    altura:= leia();
    imprima ("Homem ou Mulher? (h ou m)");
    sexo:= leia();

altura:= (altura / 100);
        se sexo="h" ou sexo = "H" então
            ideal:= ((72.7 * altura) - 58);

        se sexo="m" ou sexo = "M" então
            ideal:= ((62.1 * altura) - 44.7);
        
        se sexo<>"h" e sexo <> "H" e sexo<>"m" e sexo <> "M"  então
            imprima ("Homem ou Mulher? (h ou m)");
            sexo:= leia();

fim-se 
imprima ("Seu peso ideal é: ",ideal);

fim

abraço

Share this post


Link to post
Share on other sites
  • 0

Brigadão pela resposta, mas.....

No ultimo teste voce faz a rotina calcular novamente

algoritmo Peso_Ideal;

variáveis 

    sexo: literal;
    peso: inteiro;
    altura: real;
    ideal: real;
fim-variáveis

início
//    imprima ("Digite o seu peso: ");
//    peso:= leia();
    imprima ("Digite a sua altua :");
    altura:= leia();
    imprima ("Homem ou Mulher? (h ou m)");
    sexo:= leia();

altura:= (altura / 100);
        se sexo="h" ou sexo = "H" então
            ideal:= ((72.7 * altura) - 58);

        se sexo="m" ou sexo = "M" então
            ideal:= ((62.1 * altura) - 44.7);
        
        se sexo<>"h" e sexo <> "H" e sexo<>"m" e sexo <> "M"  então
            imprima ("Homem ou Mulher? (h ou m)");
            sexo:= leia();

fim-se 
imprima ("Seu peso ideal é: ",ideal);

fim

abraço

não funcionou...eu inseri os FIM-SE que estavam faltando...da forma que se encontra se eu digito "h" ele pede pra digitar novamente e se eu digito "H" ele da como resultado 0(zero).

Alguma dica?

Share this post


Link to post
Share on other sites
  • 0

não me lembro como usar o comando, mas coloque uma saida para o teste que ele fizer

por exemplo e voce digitar "h" ele executa a instrução e sai fora para imprimir o resultado sem passar pelo proximo teste... a mesma coisa para o segundo teste, caso ele passe pelo primeiro , e a mesma coisa para o terceiro caso ele passe pelo primeiro e pelo segundo .. entendeu ?

ve o que acontece

abraço

Share this post


Link to post
Share on other sites
  • 0
não me lembro como usar o comando, mas coloque uma saida para o teste que ele fizer

por exemplo e voce digitar "h" ele executa a instrução e sai fora para imprimir o resultado sem passar pelo proximo teste... a mesma coisa para o segundo teste, caso ele passe pelo primeiro , e a mesma coisa para o terceiro caso ele passe pelo primeiro e pelo segundo .. entendeu ?

ve o que acontece

abraço

VLW Jhonas

Coloquei um comando IMPRIMA para saber o valor da variável SEXO e tava sempre dando "M".

Resolvi colocar o mesmo algoritmo no VisuAlg e funcionou. na verdade no meu outro post sobre visualg e portugol eu esqueci q estava usando o G-portugol q tem uma sintaxe um pouco diferente.

BRIGADÃO

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148561
    • Total Posts
      644241
×
×
  • Create New...