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