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:  
pablofoz

Duvida, programaçao

Recommended Posts

Bom eu queria fazer uma função que calcula o imc e diz se você esta com o peso ideal ou nao.

Meu problema é que sempre q o imc da mais que 17.1 ele diz estar Abaixo do peso.

Alguem pode me ajudar? Estou usando o Pascalzim, obrigado!

Program IMC ;

{ae(peso,altura)as(imc)}

var

peso,altura,imc:real;

Begin

read(peso,altura);

imc:=(peso)/(altura*altura);

write(imc);

if (imc <= 17 ) then

writeln(' Muito abaixo do peso')

else

if (imc >= 17.1) or (imc <= 18.49 ) then

writeln(' Abaixo do peso')

else

if (imc >= 18.5) or (imc <= 24.99 ) then

writeln(' Peso normal')

else

if (imc >= 25) or (imc <= 29.99 ) then

writeln('Acima do peso')

else

if (imc >= 30) or (imc <= 34.99 ) then

writeln(' Obesidade I')

else

if (imc >= 35) or (imc <= 39.99 ) then

writeln(' Obesidade II')

else

if (imc <= 40 ) then

writeln(' Obesidade III')

End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pablofoz,

O problema aí é o operador lógico or sendo usado nesse caso.

A condição que deve ser atendida é a que sempre que o imc for maior ou igual ao valor x E (e não OU) menor ou igual ao valor y, o resultado correspondente seja apresentado. Ou seja, um intervalo de valores é definido.

Então, troque o or por and nas condições.

E outra, se Obesidade III corresponde a um IMC maior ou igual a 40, então aquele "if (imc <= 40 ) then" tem que ser retirado dali.

NW

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom eu queria fazer uma função que calcula o imc e diz se você esta com o peso ideal ou nao.

Meu problema é que sempre q o imc da mais que 17.1 ele diz estar Abaixo do peso.

Alguem pode me ajudar? Estou usando o Pascalzim, obrigado!

Program IMC ;

{ae(peso,altura)as(imc)}

var

peso,altura,imc:real;

Begin

read(peso,altura);

imc:=(peso)/(altura*altura);

write(imc);

if (imc <= 17 ) then

writeln(' Muito abaixo do peso')

else

if (imc >= 17.1) or (imc <= 18.49 ) then

writeln(' Abaixo do peso')

else

if (imc >= 18.5) or (imc <= 24.99 ) then

writeln(' Peso normal')

else

if (imc >= 25) or (imc <= 29.99 ) then

writeln('Acima do peso')

else

if (imc >= 30) or (imc <= 34.99 ) then

writeln(' Obesidade I')

else

if (imc >= 35) or (imc <= 39.99 ) then

writeln(' Obesidade II')

else

if (imc <= 40 ) then

writeln(' Obesidade III')

End.

Olá, vamos lá:

1) Peso x Massa

Existe uma diferença entre eles (se tiver dúvidas, pesquise). No imc (Índice de "Massa" Corporal) usa a "massa" corporal, e não o peso. Na prática você pode solicitar o "peso da pessoa" mesmo, já que é "popular" (mas errado). Tecnicamente será a massa. (massa => kg, peso => N);

2) And x Or

And = "e", Or = "ou". Logo...

O IMC possui faixas... algumas delas possuem valores entre um "E" outro, e não entre um "ou" outro.

3) Diferentes tabelas

Creio eu que existem várias tabelas "oficiais" para o IMC... acho que de acordo com a idade. Pesquise algo relacionado a Organização Mundial de Saúde (OMS).

***

Qualquer dúvida é só postar

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • valeu, td certo! :)

    Editado por pablofoz

    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

    ×