Ir ao conteúdo
  • Cadastre-se

VisualG VisualG Modelo Bubble - sort Fila FIFO - as demais funções não são chamadas


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

Boa tarde amigos,

 

Sou iniciante em programação e no momento estou estudando FILA - FIFO e  ordenação Bubblesort.

 

Estou seguindo dois modelos de código para montar o meu próprio e em ambos eles estão parando no cadastro dos elementos e depois não chamam nenhuma outra função como lista, desempilhar e sair.

 

O que está errado que essas funções/procedimentos não aparecem que não estou vendo? 

 

Agradecendo desde já.

 

Código 1:

Algoritmo "bubblesort simples"
procedimento cadastrar()
var
inicio
   //aleatorio on
   // inteiro: de 0 a 100
   // caracter: 5 letras maiúsculas
   para i de 0 ate 4 faca
      escreva("Digite senha ", i+1, " ")
      leia(senha[i])
      //senha[i] <- randi(200)
   fimpara
   //aleatorio off
fimprocedimento
procedimento ordenar()
var
inicio
   para j de 0 ate 4 faca
      para i de 0 ate 3 faca
         se senha[i] > senha[i+1] entao
            aux <- senha[i]
            senha[i] <- senha[i+1]
            senha[i+1] <- aux
         fimse
      fimpara
   fimpara
   escreval("Vetor ordenado: ")
   listar()
fimprocedimento
procedimento listar()
var
inicio
   para i de 0 ate 4 faca
      escreva(senha[i])
   fimpara
   escreval
   escreval("<enter>")
   leia(x)
fimprocedimento
var
   senha:vetor[0..4] de inteiro
   i, j, aux, opc: inteiro
   x: caracter
inicio
   repita
      escreval("Cadastro de senhas")
      escreval("==================")
      escreval("1.Cadastrar")
      escreval("2.Ordenar")
      escreval("3.Listar")
      escreval("4.Sair")
      leia(opc)
      escolha opc
      caso 1
         cadastrar()
      caso 2
         ordenar()
      caso 3
         listar()
      fimescolha
      limpatela
   ate(opc = 4)
Fimalgoritmo

 

Código 2:

Algoritmo "bubblesort fila"

procedimento entrar_na_fila()

var

inicio
   se ultimo < 4 entao
      ultimo <- ultimo + 1
      escreva("Insira um elemento : ")
      leia(fila[ultimo])

   senao

      escreval("Fila cheia - <enter>")
      leia(x)

   fimse

fimprocedimento

//============================================

procedimento sair_da_fila()

var

inicio

   se ultimo >= 0 entao
      para j de 0 ate 4 faca

         se j < 4 entao
            fila[j] <- fila[j+1]
         senao
            fila[j] <- 0
         fimse

      fimpara

      ultimo <- ultimo - 1
      listar()
   senao
      escreval("Fila vazia - <enter>")
      leia(x)
   fimse

fimprocedimento

//============================================

procedimento limpar()
var
inicio
   para j de 0 ate 4 faca
      fila[j] <- 0
   fimpara
   ultimo <- -1
   escreval("Limpeza encerrada - <enter>")
   leia(x)
fimprocedimento
//============================================
procedimento listar()
var
inicio
   se ultimo >= 0 entao
      para j de 0 ate 4 faca
         escreva(fila[j], " ")
      fimpara
      escreval
      escreval("<enter> para continuar")
      leia(x)
   senao
      escreval("fila vazia - <enter>")
      leia(x)
   fimse
fimprocedimento
//============================================
funcao vazia():logico
var
inicio
   se(ultimo >= 0) entao
      retorne falso
   senao
      retorne verdadeiro
   fimse
fimfuncao
procedimento ordenar()
var
inicio
   para j de 0 ate 4 faca
      para i de 0 ate 3 faca
         se fila[i] > fila[i+1] entao
            aux <- fila[i]
            fila[i] <- fila[i+1]
            fila[i+1] <- aux
         fimse
      fimpara
   fimpara
   ultimo <- 4
   escreval("Vetor ordenado: ")
   listar()
fimprocedimento
//=============MENU PRINCIPAL=================
var
   fila:vetor [0..4] de inteiro
   ultimo,i, j, aux, opcao:inteiro
   x: caracter

inicio
   ultimo <- -1
   repita
      escreval("1 - Entrar na fila")
      escreval("2 - Sair da fila")
      escreval("3 - Listar")
      escreval("4 - Limpar")
      escreval("5 - Vazia")
      escreval("6 - Sair")
      escreval("7 - Ordenar")
      escreval("====================")
      escreva("Opção: ")
      leia(opcao)
      escreval("====================")
      escolha(opcao)
      caso 1
         entrar_na_fila()
      caso 2
         sair_da_fila()
      caso 3
         listar()
      caso 4
         limpar()
      caso 5
         escreval(vazia())
         escreval("<enter> para continuar")
         leia(x)
      caso 7
         ordenar()
      fimescolha
      limpatela
   ate(opcao=6)
fimalgoritmo

 

 

Link para o comentário
Compartilhar em outros sites

Para você apareceu? Porque eu tentei os dois códigos novamente e eles só me passam a opção de inserir (empilhar no código 1 e entrar na fila no código 2), mas se tento outra função eles não chamam. Nem as funções de sair do programa eles estão chamando no meu computador. 

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

  • Membro VIP
  • Solução

Sobre:

4 horas atrás, Thiago Cuter Dos Santos disse:

Sou iniciante em programação e no momento estou estudando FILA - FIFO

 

O que significa FIFO? Então, não me faz muito sentido querer ordenar! Concorda?

 

 

Sobre:

4 horas atrás, Thiago Cuter Dos Santos disse:

ordenação Bubblesort.

 

O método de ordenação contido nos códigos NÃO é um Bubble Sort. Dê também uma revisada.

 

Sobre:

5 minutos atrás, Thiago Cuter Dos Santos disse:

Para você apareceu? Porque eu tentei os dois códigos novamente e eles só me passam a opção de inserir (empilhar no código 1 e entrar na fila no código 2), mas se tento outra função eles não chamam. Nem as funções de sair do programa eles estão chamando no meu computador. 

 

Qual versão do VisualG está utilizando?

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Tem esses dois pontos ainda:

 

16 horas atrás, Simon Viegas disse:

Sobre:

20 horas atrás, Thiago Cuter Dos Santos disse:

Sou iniciante em programação e no momento estou estudando FILA - FIFO

 

O que significa FIFO? Então, não me faz muito sentido querer ordenar! Concorda?

 

Você não poderia ordenar uma fila, afinal, ela é uma FIFO.

 

 

 

 

16 horas atrás, Simon Viegas disse:

Sobre:

20 horas atrás, Thiago Cuter Dos Santos disse:

ordenação Bubblesort.

 

 

A estrutura que você postou não é um Bubble Sort. Precisaria também corrigir.

 

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

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...