Ir ao conteúdo
  • Cadastre-se

Programa VisuAlg


Posts recomendados

Gente preciso desenvolver um programa no VisuAlg em Portugol, que tenha um menu com opções que vá para outros programas e uma opção de sair, eu fiz mas algo está dando errado, se alguém puder identificar o erro por favor me ajudaria muito! SEGUE O ALGORITMO

Algoritmo "MENU"
Var

OPCAO,PAUSAR:CARACTER
X,FLAG:LOGICO
fc,m,ac:real
r,v,al:real
f,c,resp1,resp2,op:real
x1,x2,y1,y2, d: real
a1,a2,cresc1,cresc2,mes,pass,mes1: real

PROCEDIMENTO FORCA_CORPO
INICIO

// Seção de Comandos
repita
LIMPATELA
escreval ("Este programa irá calcular a força exercida por um corpo!")
escreval("Digite a massa do corpo:")
leia(m)
escreval("Digite a altura do corpo:")
leia(ac)
fc<-m*ac
escreval("A força exercida pelo corpo é:",fc)

escreval("PRESSIONE <ENTER> PARA CONTINUAR...")
LEIA(PAUSAR)
FIMPROCEDIMENTO

PROCEDIMENTO VOLUME_CILINDRO
INICIO

repita
LIMPATELA
escreval ("Este programa irá calcular o volume de um cilindro!")
escreval("Digite o raio do cilindro:")
leia(r)
escreval("Digite a altura do cilindro:")
leia(al)
v<-pi*r^2*al
escreval("O volume do cilindro é:",v)

escreval("PRESSIONE <ENTER> PARA CONTINUAR...")
LEIA(PAUSAR)
FIMPROCEDIMENTO

PROCEDIMENTO TRANSFORMAR_TEMP
INICIO

repita
LIMPATELA
escreval ("Digite 1 para transformar em Fahrenheit e 2 em Celsius:")
leia(op)
se(op=1)então
escreval("Digite o valor em fahrenhaint:")
leia(f)
resp1<-(f-32)/1.8
escreval("A resposta é:", resp1)
senao
escreval("Digite o valor em Celsius:")
leia(c)
resp2<-(c*1.8+32)
escreval("A resposta é:",resp2)
fimse

escreval("PRESSIONE <ENTER> PARA CONTINUAR...")
LEIA(PAUSAR)
FIMPROCEDIMENTO

PROCEDIMENTO DISTANCIA_PONTOS
INICIO
repita
      LIMPATELA
      escreval("Este programa irá calcular a distância entre dois pontos!")
escreval("Digite x1:")
leia(x1)
escreval("Digite x2:")
leia(x2)
escreval("Digite y1:")
leia(y1)
escreval("Digite y2")
leia(y2)
d<-(x2-x1)^2+(y2-y1)^2
raizq(d)
escreval("A distância entre os pontos é:",raizq(d))

escreval("PRESSIONE <ENTER> PARA CONTINUAR...")
LEIA(PAUSAR)
FIMPROCEDIMENTO

PROCEDIMENTO CRESC_ARV
INICIO

repita
       LIMPATELA
       al("Digite todos os valores em cm:")
escreva("Tamanho da primeira árvore:")
leia(a1)
escreva("Tamanho da segunda árvore:")
leia(a2)
escreva("Crescimento da primeira árvore por mês:" )
leia(cresc1)
escreva("Crescimento da segunda por mês:")
leia(cresc2)
enquanto a1<=a2 faca
a1<-a1+cresc1
a2<-a2+cresc2
mes<-mes+1
fimenquanto
a1<-a1/100
mes<-mes/12
pass<-49
mes1<-15.66666667
escreva("Meses em que a primeira árvore ultrapassará a segunda: ")
escreval(pass)
escreva("Meses que a árvore 1 vai levar para crescer 10m:")
escreva(mes1)

Inicio
 repita
  limpatela
  escreval("1 - FORÇA CORPO")
  escreval("2 - VOLUME CILINDRO")
  escreval("3 - TRANSFORMAR TEMPERATURAS")
  escreval("4 - DISTÂNCIA PONTOS")
  escreval("5- CRESCIMENTO ÁRVORES")
  escreval("6- SAIR")
  leia(opcao)
  escolha opcao
    caso 1
      FORCA_CORPO
    caso 2
      VOLUME_CILINDRO
    caso 3
      TRANSFORMAR_TEMP
    caso 4
      DISTÂNCIA_PONTOS
    caso 5
      CRESC_ARV
     fimescolha
ate opcao=5
fimalgoritmo

 

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

@laryssa     seu código está bom mas tem alguns erros, então acertei ele para rodar, mas os cálculos não sei se é bem isso,  então veja se estão certos,  e você disse, com opções para ir para outros programa ?   ou para  outras funções ?  pois se for para outros programas, no visualg não tem como fazer isso não,  só em outras linguagem como c   ou  c++    java ,etc .

aqui seu código com algumas modificações :

Algoritmo "MENU"
  Var
  OPCAO,PAUSAR:CARACTER
  X,FLAG:LOGICO
  fc,m,ac:real
  r,v,al:real
  op,b   :   inteiro
  f,c,resp1,resp2:real
  x1,x2,y1,y2, d: real
  a1,a2,cresc1,cresc2,mes,pass,mes1: real
  PROCEDIMENTO FORCA_CORPO
    INICIO
      //repita
      LIMPATELA
      escreval ("Este programa irá calcular a força exercida por um corpo!")
      escreval("Digite a massa do corpo:")
      leia(m)
      escreval("Digite a altura do corpo:")
      leia(ac)
      fc<-m*ac
      escreval("A força exercida pelo corpo é:",fc)
      escreval("PRESSIONE <ENTER> PARA CONTINUAR...")
      LEIA(PAUSAR)
  FIMPROCEDIMENTO
  PROCEDIMENTO VOLUME_CILINDRO
    INICIO
      //repita
      LIMPATELA
      escreval ("Este programa irá calcular o volume de um cilindro!")
      escreval("Digite o raio do cilindro:")
      leia(r)
      escreval("Digite a altura do cilindro:")
      leia(al)
      v<-pi*r^2*al
      escreval("O volume do cilindro é:",v)
      escreval("PRESSIONE <ENTER> PARA CONTINUAR...")
      LEIA(PAUSAR)
  FIMPROCEDIMENTO
  PROCEDIMENTO TRANSFORMAR_TEMP
    INICIO
      repita
        b := 1
        LIMPATELA
        escreval ("Digite 1 para transformar em Fahrenheit e 2 em Celsius:")
        leia(op)
        se(op=1)ENTÃO
          escreval("Digite o valor em fahrenhaint:")
          leia(f)
          resp1<-(f-32)/1.8
          escreval("A resposta é:", resp1)
        senao
          se op=2 ENTÃO
            escreval("Digite o valor em Celsius:")
            leia(c)
            resp2<-(c*1.8+32)
            escreval("A resposta é:",resp2)
          senao
            escreval("só pode ser 1 ou 2   Tecle Enter")
            b:=2
            leia(op)
          fimse
        fimse
        b:=b-1
      ate b=0
      escreval("PRESSIONE <ENTER> PARA CONTINUAR...")
      LEIA(PAUSAR)
  FIMPROCEDIMENTO
  PROCEDIMENTO DISTANCIA_PONTOS
    INICIO
      //repita
      LIMPATELA
      escreval("Este programa irá calcular a distância entre dois pontos!")
      escreval("Digite x1:")
      leia(x1)
      escreval("Digite x2:")
      leia(x2)
      escreval("Digite y1:")
      leia(y1)
      escreval("Digite y2")
      leia(y2)
      d<-(x2-x1)^2+(y2-y1)^2
      raizq(d)
      escreval("A distância entre os pontos é:",raizq(d))
      escreval("PRESSIONE <ENTER> PARA CONTINUAR...")
      LEIA(PAUSAR)
  FIMPROCEDIMENTO
  PROCEDIMENTO CRESC_ARV
    INICIO
      //repita
      LIMPATELA
      escreval("Digite todos os valores em cm:")
      escreva("Tamanho da primeira árvore:")
      leia(a1)
      escreva("Tamanho da segunda árvore:")
      leia(a2)
      escreva("Crescimento da primeira árvore por mês:" )
      leia(cresc1)
      escreva("Crescimento da segunda por mês:")
      leia(cresc2)
      se ((cresc2 > cresc1)e(a1<a2)) ENTÃO
        escreval("esse calculo está errado, vai ficar garrado nesse loop")
      fimse
      enquanto a1<=a2 faca
        a1<-a1+cresc1
        a2<-a2+cresc2
        mes<-mes+1
      fimenquanto
      a1<-a1/100
      mes<-mes/12
      pass<-49
      mes1<-15.66666667
      escreva("Meses em que a primeira árvore ultrapassará a segunda: ")
      escreval(pass)
      escreva("Meses que a árvore 1 vai levar para crescer 10m:")
      escreva(mes1)
      escreval("  Tecle Enter")
      leia(opcao)
  fimprocedimento
Inicio
  repita
    limpatela
    escreval("1 - FORÇA CORPO")
    escreval("2 - VOLUME CILINDRO")
    escreval("3 - TRANSFORMAR TEMPERATURAS")
    escreval("4 - DISTÂNCIA PONTOS")
    escreval("5 - CRESCIMENTO ÁRVORES")
    escreval("6 - SAIR")
    leia(op)
    escolha op
      caso 1
        FORCA_CORPO
      caso 2
        VOLUME_CILINDRO
      caso 3
        TRANSFORMAR_TEMP
      caso 4
        DISTÂNCIA_PONTOS
      caso 5
        CRESC_ARV
    fimescolha
  ate op=6
fimalgoritmo

 

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...