Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Ajuda com Script básico


Maztah

Pergunta

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

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 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

Link para o comentário
Compartilhar em outros 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?

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...