Ir ao conteúdo
  • Cadastre-se

Como montar esse algoritmo usando o visual g


Posts recomendados

Galera estou com duvida de como montar esse programa no Visual G, alguém me ajuda..

 

Utilizando o VisualG, construa um algoritmo usando a estrutura de repetição PARA, que:

 

1.       Será executada 8 vezes usando o PARA;

2.       Receba o nome, a altura e o peso e armazene nas variáveis nome, altura e peso respectivamente. A variável nome deve ser do tipo literal e as variáveis altura e peso devem ser do tipo inteiro. As informações sobre altura devem ser fornecidas em centímetros, exemplo: se o indivíduo tem 1,80 m, deve-se colocar 180.

3.       Calcula o IMC(Índice de Massa Corpórea) usando a fórmula: peso/(altura * altura) e armazena em uma variável chamada formula.

4.       Armazene em uma variável chamada imc, as seguintes informações conforme o valor da variável formula:

a.       Se o valor de formula for menor que 18,5, a variável imc recebe “Abaixo do peso ideal”

b.      Se o valor de formula for maior que 18,5 e menor que 24,9, a variável imc recebe “Peso ideal”

c.       Se o valor de formula for maior que 25,0 e menor que 29,9, a variável imc recebe “Sobrepeso”

d.      Se o valor de formula for maior que 30,0 e menor que 34,9, a variável imc recebe “Obesidade grau I”

e.      Se o valor de formula for maior que 35,0 e menor que 39,9, a variável imc recebe “Obesidade grau II”

f.        Se o valor de formula for maior que 40,0, a variável imc recebe “Obesidade grau III”

5.       Mostra na tela o nome do indivíduo e qual é o seu IMC(Variável imc)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

eu to tentando fazer mas nao ta dando certo.

algoritmo "semnome"
// Função :
// Autor :
// Data : 19/04/2016

// Seção de Declarações
var
nome: literal
peso, altura: inteiro
i: inteiro
imc: literal
formula: real


inicio
// Seção de Comandos
para i de 1 ate 8 passo 1 faca
   escreval("Digite seu nome")
   leia(nome)

   escreval("Informe sua altura em centimetros: ")
   leia(altura)

   escreval("Informe seu peso: ")
   leia(peso)

   formula<- (peso/(altura*altura))
   
 escolha formula

   caso (formula<18.5)
        imc<- "Abaixo do peso ideal"

   caso((formula>18.5) e (formula<24.9))
        imc<-"Peso ideal"

   caso((formula>25.0) e (formula<29.9))
        imc<-"Sobrepeso"

    caso ((formula>30.0) e (formula<34.9))
         imc<-"Obesidade grau I"

     caso((formula>35.0) e (formula<39.9))
         imc<-"Obesidade grau II"

     outrocaso
         imc<-"Obesidade grau III"

   escreval("Senhor(a)", nome, "seu IMC é", imc)
   fimescolha
   fimpara
fimalgoritmo

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Andersonn06

  Aqui no visualg que eu tenho,  usando  caso não deu certo mesmo não, só deu certo usando

se.   E a variável literal também não foi aceita, então use a variável caractere.    E a altura tem

que ser dividida por 100, para isso precisa mudar a variável altura para Real .

Link para o comentário
Compartilhar em outros sites

Não vai funcionar, realmente. Entenda porquê:

 

A estrutura "escolha" trabalha escolhendo uma variável e os casos devem possuir um valor referente ao tipo da variável escolhida, isto é, se eu escolho a variável "formula" do tipo real, os "casos" devem possuir valores do tipo real, ou seja, números.

 

Na sua estrutura "escolha", você escolheu a variável "formula", a qual é do tipo real. Os "casos" não estão com valores reais, estão com valores do tipo lógico, porque você está usando expressões relacionais, as quais só retornam verdadeiro ou falso, como valores.

O que é uma expressões relacional?

São aquelas expressões que utilizam símbolos matemáticos, para comparar dois valores. Veja:

 

10 > 20 = Resulta no valor falso, por que dez não é maior que vinte.

 

Olhe seu código, comentado:

escolha formula // A variável formula é do tipo real

   caso (formula<18.5) //valor logico, por que você compara dois valores
        imc<- "Abaixo do peso ideal"

   caso((formula>18.5) e (formula<24.9)) //valor logico, por que você compara dois valores
        imc<-"Peso ideal"

   caso((formula>25.0) e (formula<29.9)) //valor logico, por que você compara dois valores
        imc<-"Sobrepeso"

    caso ((formula>30.0) e (formula<34.9)) //valor logico, por que você compara dois valores
         imc<-"Obesidade grau I"

     caso((formula>35.0) e (formula<39.9)) //valor logico, por que você compara dois valores
         imc<-"Obesidade grau II"

     outrocaso
         imc<-"Obesidade grau III"

   escreval("Senhor(a)", nome, "seu IMC é", imc)
   fimescolha

Nós vimos que quando se compara dois valores com expressões relacionais vai dar erro, porque a variável escolhida era real e não lógica.

Nesse caso, deve possuir algum método para usar estrutura escolha, mas vale mais a pena usar a condição "Se".

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

O escolha funciona desta forma


 

escolha formula

   caso 1 ate 18.4
      imc<- "Abaixo do peso ideal"

   caso 18.5  ate 24.9
      imc<-"Peso ideal"

   caso 25.0 ate 29.9
      imc<-"Sobrepeso"

   caso 30.0 ate 34.9
      imc<-"Obesidade grau I"

   caso 35.0 ate 39.9
      imc<-"Obesidade grau II"

   outrocaso
      imc<-"Obesidade grau III"

Espero ter ajudado.

valeu.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

andersonn06
         Esse escreval("Senhor(a) ",nome," seu IMC é ",imc) tem que ficar depois do
fimescolha e a altura tem que ser dividida por 100 para que seja em metros. 
  Faça essa divisão logo depois do leia(altura).   mude as variáveis nome e imc para
caractere e as variáveis peso e altura para real.  E os casos, coloque do jeito que
o PVeloso postou que  está certo.  

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!