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:  
Entre para seguir isso  
laryssa

VisuAlg Programa VisuAlg

Recommended Posts

Postado (editado)

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

 

Editado por Simon Viegas
Antes de colar um códgio, favor usar a tag CODE. Pressionar "BOTÃO <>" na barra de ferramentas
  • Curtir 1

Compartilhar este post


Link para o post
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

 

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

Entre para seguir isso  





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

×