Ir ao conteúdo
  • Cadastre-se
Paulo antonio lima ferreir

VisualG estou fazendo uma calculadora no visual g e não sei onde está o erro nessa parte

Recommended Posts

 

algoritmo "calculadora"

// Função : calcular
// Autor : Paulo Antonio
// Data : 11/04/2018
// Seção de Declarações 
var:
n1, n2, x, resultado, temp1, temp2, op3, op4: real
menu, operacao, unidade, temperatura, sair, km, m, cm, mm: caractere
inicio
escreval ("para calculadora simples digite 1")
escreval ("para calculo de unidade de medida digite 2")
leia (menu)

//calculadora simples
escolha menu
caso "1"
   Escreval ("Escolha a operação desejada: + (SOMA) , - (SUBTRAÇÃO), / (DIVISÃO)")
   escreval ("* MULTIPLICAÇÃO, % PORCENTAGEM")
   leia (operacao)
   escolha (operacao)

   caso "+"
      escreval ("digite o primeiro valor")
      leia (n1)
      escreval ("digite o segundo valor")
      leia (n2)
      x <- (n1 + n2)
      Escreval("O resultado é:", x)
   caso "-"
      escreval ("digite o primeiro valor")
      leia (n1)
      escreval ("digite o segundo valor")
      leia (n2)
      x <- (n1 - n2)
      Escreval("O resultado é:", x)
   caso "*"
      escreval ("digite o primeiro valor")
      leia (n1)
      escreval ("digite o segundo valor")
      leia (n2)
      x <- (n1 * n2)
      Escreval("O resultado é:", x)
   caso "/"
      escreval ("digite o primeiro valor")
      leia (n1)
      escreval ("digite o segundo valor")
      leia (n2)
      se (n2 = 0) então
         escreval(" Erro - impossível dividir por zero. Refaça a operação clicando enter")
      senao
         x <- (n1 / n2)
         Escreval("O resultado é:", x)
      fimse
   caso "%"
      escreval ("digite o primeiro valor")
      leia (n1)
      escreval ("digite o segundo valor")
      leia (n2)
      x <-(n1*n2/100)
      escreval ("O resultado é:", x)
   outrocaso
      escreval(">ERRROOO< Repita a operação!")
   fimescolha

   escreval ("Deseja fazer outra operação? se sim clique enter, se não digite sair")
   leia (sair)


   //calculadora de unidades de unidades

caso "2"
   escreval ("escolha uma unidade")
   escreval("T pra Temperatura")
   escreval ("D pra distancia")
   leia (menu)
   escolha menu
      caso"T"
      escreval("DE:")
      escreval("1 Graus Celsius(°C)")
      escreval("2 Graus Kelvin(°K)")
      leia(temp1)
      escreval("PARA:")
      escreval("1 Graus Celsius(°C)")
      escreval("2 Graus kelvin(°K)")
      leia (temp2)
      escolha temperatura
      caso(temp1="1") e (temp2="2") então
         escreval("Temperatura em Graus Celsius:")
         leia(temp1)
         x<- temp1+273.15
         escreval
         escreval("Temperatura em Graus kelvin:", x )
      caso (temp1="2") e (temp2="1") então
         escreva("Temperatura em Graus kelvin:")
         leia(temp1)
         x <- temp1-273.15
         escreval
         escreval("Temperatura em Graus Celsius:", x )
      caso (temp1="2") e (temp2="2") então
         escreva("Temperatura em Graus kelvin")
         leia(temp1)
         escreval("Temperatura em Graus kelvin", x)
      outrocaso
         escreval(" >repita a operação!<")

         caso"D"
         escreval("DE:")
         escreval("1 Quilômetro(km)")
         escreval("2 Metro(m)")
         escreval("3 Centímetro(cm)")
         escreval("4 Milímetro(mm)")
         leia(op3)
         escreval("PARA:")
         escreval
         escreval("1 Quilômetro(km)")
         escreval("2 Metro(m)")
         escreval("3 Centímetro(cm)")
         escreval("4 Milímetro(mm)")
         leia(op4)
         escolha unidade
         caso (op3="1") e (op4="1") então
            escreval("Distância em Quilômetros(km):  ")
            leia(km)
            escreval("Distância em Quilômetros:  ", km, " km")
         caso(op3="1") e (op4="2") então
            escreval("Distância em Quilômetros(km):  ")
            leia(km)
            m <- km * 1000
            escreval("Distância em Metros:  ", m,"m")
         caso(op3="1") e (op4="3") então
            escreval("Distância em Quilômetros(km):  ")
            leia(km)
            cm <- km * 100000
            escreval("Distância em Centímetros:  ", cm, "cm")
         caso(op3="1") e (op4="4") então
            escreval("Distância em Quilômetros(km):  ")
            leia(km)
            mm <- km * 1000000
            escreval("Distância em Milímetros:  ", mm, " mm")
         caso(op3="2") e (op4="1") então
            escreval("Distância em Metros(m):  ")
            leia(m)
            km <- m / 1000
            escreval("Distância em Quilômetros:  ", km, " km")
         caso(op3="2") e (op4="2") então
            escreval("Distância em Metros(m):  ")
            leia(m)
            escreval("Distância em Metros:  ", m, " m")
         caso(op3="2") e (op4="3") então
            escreval("Distância em Metros(m):  ")
            leia(m)
            cm <- m * 100
            escreval("Distância em Centímetros:  ", cm, " cm")
         caso(op3="2") e (op4="4") então
            escreval("Distância em Metros(m):  ")
            leia(m)
            mm <- m * 1000
            escreval("Distância em Milímetros:  ", mm, " mm")
         caso(op3="3") e (op4="1") então
            escreval("Distância em Centímetros(cm):  ")
            leia(cm)
            km <- cm / 100000
            escreval("Distância em Quilômetros:  ", km, " km")
         caso(op3="3") e (op4="2") então
            escreval("Distância em Centímetros(cm):  ")
            leia(cm)
            m <- cm / 100
            escreval("Distância em Metros:  ", m, " m")
         caso(op3="3") e (op4="3") então
            escreval("Distância em Centímetros(cm):  ")
            leia(cm)
            escreval("Distância em Centíetros:  ", cm, " cm")
         caso(op3="3") e (op4="4") então
            escreval("Distância em Centímetros(cm):  ")
            leia(cm)
            mm <- cm * 10
            escreval("Distância em Milímetros:  ", mm, " mm")
         caso (op3="4") e (op4="1") então
            escreval("Distância em Milímetros(mm):  ")
            leia(mm)
            km <- mm / 1000000
            escreval("Distância em Quilômetros:  ", km, " km")
         caso(op3="4") e (op4= "2") então
            escreval("Distância em Milímetros(mm):  ")
            leia(mm)
            m <- mm / 1000
            escreval("Distância em Metros:  ", m, " m")
         caso(op3="4") e (op4="3") então
            escreval("Distância em Milímetros(mm):  ")
            leia(mm)
            cm <- mm / 10
            escreval("Distância em Centímetros:  ", cm, " cm")
         caso (op3="4") e (op4="4") então
            escreva("Distância em Milímetros(mm):  ")
            leia(mm)
            escreval("Distância em Milímetros:  ", mm, " mm")
            escreval(">refaça a operação<")
         fimse
      fimescolha
   fimescolha
fimescolha
fimalgoritmo

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/04/2018 às 02:45, Paulo antonio lima ferreir disse:

estou fazendo uma calculadora no visual g e não sei onde está o erro nessa parte

 

Qual erro está dando? o que acontece?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu achei bastantes erros no seu programa, mas você teve uma ótima ideia, um dos erros que eu achei foi: você colocou til nos 'então'  e eles não  tem til, "escolha caso" não tem "então" , eu também não consegui colocar mais de uma expressão no "escolha caso" então  eu resolvi optar pelo  "se". Então  agora esta funcionando da maneira correta.

algoritmo "calculadora"

// Função : calcular
// Autor : Paulo Antonio
// Data : 11/04/2018
// Seção de Declarações
var:
n1, n2, x, resultado, m, km, op3, op4, cm, mm, res: real
menu, operacao, unidade, temperatura, sair: caractere
temp1, temp2 : inteiro
procedimento mpkm(x, y: real):real
inicio
  escreval("Distância em Metros(m):  ")
  leia(m)
  km <- m / 1000
  escreval("Distância em Quilômetros:  ", km, " km")
fimprocedimento
inicio
escreval ("para calculadora simples digite 1")
escreval ("para calculo de unidade de medida digite 2")
leia (menu)

//calculadora simples
escolha menu
   caso "1"
        Escreval ("Escolha a operação desejada: + (SOMA) , - (SUBTRAÇÃO), / (DIVISÃO)")
        escreval ("* MULTIPLICAÇÃO, % PORCENTAGEM")
        leia (operacao)
   escolha (operacao)
           caso "+"
                escreval ("digite o primeiro valor")
                leia (n1)
                escreval ("digite o segundo valor")
                leia (n2)
                x <- (n1 + n2)
                Escreval("O resultado é:", x)
           caso "-"
                escreval ("digite o primeiro valor")
                leia (n1)
                escreval ("digite o segundo valor")
                leia (n2)
                x <- (n1 - n2)
                Escreval("O resultado é:", x)
           caso "*"
                escreval ("digite o primeiro valor")
                leia (n1)
                escreval ("digite o segundo valor")
                leia (n2)
                x <- (n1 * n2)
                Escreval("O resultado é:", x)
           caso "/"
                escreval ("digite o primeiro valor")
                leia (n1)
                escreval ("digite o segundo valor")
                leia (n2)
           se (n2 = 0) então
              escreval(" Erro - impossível dividir por zero. Refaça a operação clicando enter")
           senao
                x <- (n1 / n2)
                Escreval("O resultado é:", x)
           fimse
           caso "%"
                escreval ("digite o primeiro valor")
                leia (n1)
                escreval ("digite o segundo valor")
                leia (n2)
                x <-(n1*n2/100)
                escreval ("O resultado é:", x)
           outrocaso
                escreval(">ERRROOO< Repita a operação!")
   fimescolha
         escreval ("Deseja fazer outra operação? se sim clique enter, se não digite sair")
         leia (sair)


   //calculadora de unidades de unidades

caso "2"
   escreval ("escolha uma unidade")
   escreval("T pra Temperatura")
   escreval ("D pra distancia")
   leia (menu)
   escolha menu
      caso "T"
           escreval("DE:")
           escreval("1 Graus Celsius(°C)")
           escreval("2 Graus Kelvin(°K)")
           leia(temp1)
           escreval("PARA:")
           escreval("1 Graus Celsius(°C)")
           escreval("2 Graus kelvin(°K)")
           leia (temp2)
      // transformar de celsius para kelvin
      escolha temp1 e temp2
         caso 1 e 2
              escreval("Temperatura em Graus Celsius:")
              leia(temp1)
              x <- temp1 + 273.15
              escreval("Temperatura em Graus kelvin:", x )
      // transformar de kelvin para celsius
         caso 2 e 1
              escreva("Temperatura em Graus kelvin:")
              leia(temp1)
              x <- temp1 - 273.15
              escreval("Temperatura em Graus Celsius:", x)
      fimescolha
   caso "D"
         escreval("DE:")
         escreval("1 Quilômetro(km)")
         escreval("2 Metro(m)")
         escreval("3 Centímetro(cm)")
         escreval("4 Milímetro(mm)")
         leia(op3)
         escreval("PARA:")
         escreval
         escreval("1 Quilômetro(km)")
         escreval("2 Metro(m)")
         escreval("3 Centímetro(cm)")
         escreval("4 Milímetro(mm)")
         leia(op4)
                 //km para km
                 se (op3 = 1) e (op4 = 1) então
                      escreval("Distância em Quilômetros(km):  ")
                      leia(km)
                       escreval ("Distância em Quilômetros:  ", km a)
                 senao
                      //km para m
                      se (op3 = 1) e (op4 = 2) então
                         escreval("Distância em Quilômetros(km):  ")
                         leia(km)
                         m <- km * 1000
                         escreval("Distância em Metros:  ", m,"m")
                      senao
                           //km para cm
                           se (op3 = 1) e (op4 = 3) então
                              escreval("Distância em Quilômetros(km):  ")
                              leia(km)
                              cm <- km * 100000
                              escreval("Distância em Centímetros:  ", cm, "cm")
                           senao
                                //km para mm
                                se (op3 = 1) e (op4 = 4) então
                                   escreval("Distância em Quilômetros(km):  ")
                                   leia(km)
                                   mm <- km * 1000000
                                   escreval("Distância em Milímetros:  ", mm, " mm")
                                senao
                                     //m para km
                                     se (op3 = 2) e (op4 =1) então
                                        escreval("Distância em Metros(m):  ")
                                        leia(m)
                                        km <- m / 1000
                                        escreval("Distância em Quilômetros:  ", km, " km")
                                     senao
                                          //m para m
                                          se (op3 =2) e (op4 = 2) então
                                             escreval("Distância em Metros(m):  ")
                                             leia(m)
                                             escreval("Distância em Metros:  ", m, " m")
                                          senao
                                               //m para cm
                                               se (op3 = 2) e (op4 = 3) então
                                                  escreval("Distância em Metros(m):  ")
                                                  leia(m)
                                                  cm <- m * 100
                                                  escreval("Distância em Centímetros:  ", cm, " cm")
                                               senao
                                                    //m para mm
                                                    se (op3 = 2) e (op4 = 4) então
                                                       escreval("Distância em Metros(m):  ")
                                                       leia(m)
                                                       mm <- m * 1000
                                                       escreval("Distância em Milímetros:  ", mm, " mm")
                                                    senao
                                                         //cm para km
                                                         se (op3 = 3) e (op4 = 1) então
                                                            escreval("Distância em Centímetros(cm):  ")
                                                            leia(cm)
                                                            km <- cm / 100000
                                                            escreval("Distância em Quilômetros:  ", km, " km")
                                                         senao
                                                              //cm para m
                                                              se (op3 = 3 ) e (op4 = 2) então
                                                                 escreval("Distância em Centímetros(cm):  ")
                                                                 leia(cm)
                                                                 m <- cm / 100
                                                                 escreval("Distância em Metros:  ", m, " m")
                                                                 //cm para cm
                                                              senao
                                                                   //cm para cm
                                                                   se (op3 = 3 ) e (op4 = 3) então
                                                                      escreval("Distância em Centímetros(cm):  ")
                                                                      leia(cm)
                                                                      escreval("Distância em Centímetros:  ", cm, " cm")
                                                                   senao
                                                                        //cm para mm
                                                                        se (op3 = 3 ) e (op4 = 4) então
                                                                           escreval("Distância em Centímetros(cm):  ")
                                                                           leia(cm)
                                                                           mm <- cm * 10
                                                                           escreval("Distância em Milímetros:  ", mm, " mm")
                                                                           //mm para km
                                                                        senao
                                                                             //mm para km
                                                                             se (op3 = 4) e (op4 = 1) então
                                                                                escreval("Distância em Milímetros(mm):  ")
                                                                                leia(mm)
                                                                                km <- mm / 1000000
                                                                                escreval("Distância em Quilômetros:  ", km, " km")
                                                                             senao
                                                                                  //mm para m
                                                                                  se (op3 = 4 ) e (op4 = 2 ) então
                                                                                     escreval("Distância em Milímetros(mm):  ")
                                                                                     leia(mm)
                                                                                     m <- mm / 1000
                                                                                     escreval("Distância em Metros:  ", m, " m")
                                                                                     //mm para cm
                                                                                  senao
                                                                                       se (op3 = 4 ) e (op4 = 3) então
                                                                                          escreval(" Distancia em milimetros (mm): ")
                                                                                          leia(mm)
                                                                                          cm <- mm / 10
                                                                                          escreval("Distancia em centimetros: ", cm, " cm")
                                                                                       senao
                                                                                            //mm para mm
                                                                                            se (op3 = 4 ) e (op4 = 4 ) então
                                                                                               escreval("Distancia em milimetros(mm):")
                                                                                               leia(mm)
                                                                                               escreval("Distancia em milimetros: ", mm, " mm")
                                                                                               escreval(">refaça a operaçao<")
                                                                                            fimse
                                                                                       fimse
                                                                                  fimse
                                                                             fimse
                                                                        fimse
                                                                   fimse
                                                              fimse
                                                         fimse
                                                    fimse
                                               fimse
                                          fimse
                                     fimse
                                fimse
                           fimse
                      fimse
                 fimse
         fimescolha
      fimescolha
fimescolha
fimalgoritmo

  

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, o seu jeito de por o "sair" não está certo. O correto seria fazer uso do repita/ate, ou Enquanto/faca.

  • Curtir 1

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×