Jump to content
Svinnicius

[VISUALG] Erro para encerrar a execução do algoritmo

Recommended Posts

Ao sair de um procedimento e entrar em outro, ta apresentando erro quando tento finalizar o programa.

 

Var
// Seção de Declarações das variáveis 
nome: vetor [1..3]  de caractere
telef: vetor [1..3]  de caractere
ema: vetor [1..3]  de caractere
codigo,codigo_contato,codigo_contato_cheio, menu_apagar,opc, opc1: inteiro
cont, menu_mostrar,op: inteiro
procedimento principal()

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc... 
repita
escreval ("")
escreval ("=== AGENDA TELEFÔNICA ===")
escreval ("")
escreval ("1. Inserir novo contato")
escreval ("2. Apagar contato")
escreval ("3. Mostrar todos os contatos")
escreval ("4. Sair")
escreva ("Digite opcao: ")
leia (codigo)
limpatela
ate (codigo=1) ou (codigo=2) ou (codigo=3) ou (codigo=4)
escolha (codigo)

caso 1
   contato()
caso 2
   apagar()
caso 3
   mostrar()
caso 4
   interrompa
fimescolha
fimprocedimento
//---------------------- NOVO CONTATO ----------------------
procedimento contato()
inicio
para cont de 1 ate 3 faca
limpatela
escreval("== INSERIR NOVO CONTATO ==")
      escreva ("Nome: ")
      leia (nome[cont])
      escreva ("Telefone: ")
      leia (telef[cont])
      escreva ("E-mail: ")
      leia (ema[cont])
      escreval("")
      escreval("Usuario cadrastrado com sucesso")
      repita
      escreval("")
      escreval("1.Insira novo contato")
      escreval("2.Voltar ao menu")
      escreval("")
      escreva("Digite opção: ")
      leia(codigo_contato)
escolha (codigo_contato)
caso 1
escreva("")
caso 2
   interrompa
   limpatela
   principal()
outrocaso
escreval("")
escreval("Opção invalida")
escreval("")
escreval("Pressione ENTER para voltar")
leia(op)
limpatela
fimescolha
ate codigo_contato = 1
fimpara
limpatela
          escreval("")
          escreval("Lista de contato cheia")
          repita
          escreval("")
          escreval("1.Voltar ao menu")
          escreval("2.Sair")
          escreval("")
          escreval("Digite opção")
          leia(codigo_contato_cheio)
    escolha (codigo_contato_cheio)
          caso 1
          limpatela
          principal()
          caso 2
          interrompa
          outrocaso
escreval("")
escreval("Opção invalida")
escreval("")
escreval("Pressione ENTER para voltar")
leia(op)
limpatela
fimescolha
ate codigo_contato_cheio = 1
fimprocedimento


//------------------------ Apagar contato------------------------------------
procedimento apagar()
inicio
limpatela
escreval("== APAGAR CONTATO ==")
Escreval("")
escreva ("Qual contato você quer apagar? ")
Escreval("")
para cont de 1 ate 3 faca
Escreval(cont,". ",nome[cont])
fimpara
Escreval("")
Escreva("Digite opção:")
Leia(opc)
se opc >0 entao
   se opc <4 entao
nome[opc]<-""
telef[opc]<-""
ema[opc]<-""
Escreval("")
Escreval("Contato Apagado com sucesso")
repita
escreval("")
escreval("1.Apagar outro contato")
escreval("2.Voltar ao menu")
escreval("3.Sair")
escreva("Digite opção:")
leia(menu_apagar)
Escolha(menu_apagar)
caso 1
limpatela
apagar()
caso 2
limpatela
principal()
caso3
interrompa

outrocaso
escreval("")
escreval("Opção invalida")
escreval("")
escreval("Pressione ENTER para voltar")
leia(op)
senao
apagar()
fimse
fimse
fimse
fimescolha
ate menu_apagar = 3
fimprocedimento

//-------------------------- Mostrar todos os contatos ---------------------
procedimento mostrar()
inicio
limpatela
escreval("== LISTA DE CONTATOS ==")
Escreval("")
para cont de 1 ate 3 faca
Escreval(cont,". ",nome[cont])
fimpara
Escreval("")
Escreva("Digite opção:")
Leia(opc1)
se opc1 >0 entao
   se opc1 <4 entao
limpatela
Escreval("Nome: ",nome[opc1])
Escreval("Telefone: ",telef[opc1])
Escreval("E-mail: ",ema[opc1])
repita
escreval("")
escreval("1.Mostrar outro contato")
escreval("2.Voltar ao menu")
escreval("")
escreva("Digite opção:")
Leia(menu_mostrar)
Escolha(menu_mostrar)
caso 1
limpatela
mostrar()
caso 2
limpatela
principal()
outrocaso
escreval("")
escreval("Opção invalida")
escreval("")
escreval("Pressione ENTER para voltar")
leia(op)
senao
mostrar()
fimse
fimse
fimescolha
limpatela
ate menu_mostrar = 1
fimprocedimento
inicio
// Seção de Comandos
  principal()

Fimalgoritmo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By marizita
      algoritmo "semnome"
      // Função :
      // Autor :
      // Data : 17/06/2019
      // Seção de Declarações 
      var
      i,j,aux:inteiro
      Matriz_A: vetor [1..3,1..3] de inteiro
      Matriz_B: vetor [1..3,1..3] de inteiro
      matriz_C: vetor [1..3,1..3] de inteiro

      inicio
      // Seção de Comandos 
      // VETOR A
      para i de 1 ate 3 faca
           para j de 1 ate 3 faca
            escreval ("matriz A: coluna:",i,"linha:",j)
            escreval ("informe o valor da posicao: [",i,"]: [",j,"]:")
            leia(matriz_A[i,j])
         fimpara
        fimpara
        limpatela

      //VETOR B
      para i de 1 ate 3 faca
         para j de 1 ate 3 faca
            escreval ("matriz B: coluna:",i,"linha:",j)
            escreval ("informe o valor da posicao: [",i,"]: [",j,"]:")
            leia(matriz_B[i,j])
         fimpara
         fimpara
        limpatela
        
        //VETOR C
        Para i de 1 ate 3 faca
              Para j de 1 ate 3 faca
                  matriz_C [i,j] <- ( matriz_A[i,1] * matriz_B[1,j] ) + (matriz_A[i,2] * matriz_B[2,j] ) + (matriz_A[i,3] * matriz_B[3,j] )
                  Escreval("matriz_C ",i , " x ",j , " : ", matriz_C [i,j])
              Fimpara
          Fimpara
    • By danielzamignani
      Bom dia galera!
      Então, eu fiz esse algoritimo para resolver um exercicio (Faça um Programa que leia três números e mostre-os em ordem decrescente). Ele esta funcional, tudo certinho(eu acho). O que eu realmente queria saber é se existe uma forma de eu simplificar ele utilizando apenas as estruturas condicionais ou se dessa forma que eu fiz já é o mais simples possivel ?
      Valeu pela atenção pessoal!!!
      Segue o codigo criado no visualg
       
      //Faça um Programa que leia três números e mostre-os em ordem decrescente algoritmo "ex009" var n1, n2, n3: inteiro inicio escreva("Primeiro numero: ") leia(n1) escreva("Segundo numero: ") leia(n2) escreva("Terceiro numero: ") leia(n3) se (n1<n2) e (n2<n3) entao escreva(n3,n2,n1) senao se (n1<n3) e (n3<n2) entao escreva(n2,n3,n1) senao se (n2<n1) e (n1<n3) entao escreva(n3,n1,n2) senao se (n2<n3) e (n3<n1) entao escreva(n1,n3,n2) senao se (n3<n1) e (n1<n2) entao escreva(n2,n1,n3) senao se (n3<n2) e (n2<n1) entao escreva(n1,n2,n3) fimse fimse fimse fimse fimse fimse fimalgoritmo  
    • By Motta
      A outra cara do algoritmo
    • By 4ly
      O exercício propunha fazer duas funções uma para multiplicação e outra para criar uma fatorial, porém devem ser feitas usando apenas operações de soma e subtração
      bom fiz uma função para multiplicar e esta funcionando porém estou tentando utiliza-la para fazer a fatorial e o resultado sempre da zero ;-; podem me ajudar 
       
       
      algoritmo "semnome" var a,b:inteiro funcao multi(a:inteiro;b:inteiro):real var aux:real inicio se a=0 entao retorne 0 senao aux <- 0 enquanto b>0 faca aux <- aux+a b <- b-1 fimenquanto retorne aux fimse fimfuncao funcao fatorial(a:inteiro):real var fat,res:real inicio enquanto fat > 0 faca fat<-a fat <- fat - 1 res <- multi(fat,a) fimenquanto retorne res fimfuncao inicio leia(a) escreval(fatorial(a)) fimalgoritmo  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.