HIMNO DE VENEZUELA Y UNEFA
http://www.youtube.com/watch?v=ctzDAz2Aygk
Push(PILA, MAX, TOPE,DATO)
Inicio
Si (TOPE < MAX) entonces /* verifica que haya espacio */
TOPE ß TOPE +1
PILA[TOPE] ß DATO
Sino
Imprimir(“Subdesbordamiento”)
Fin si
Fin
|
Pop(PILA, TOPE, DATO)
Inicio
Si (TOPE > 0) entonces /* verifica que la pila no este vacia */
DATO ß PILA[TOPE]
TOPE ß TOPE -1
Sino
Imprimir(“Subdesbordamiento”)
Fin si
Fin
|
Inapos(EI, EPOS)
Inicio
Declarar Tope: entero
Declarar símbolo: caracter
Tope ß 0
Mientras (EI<>vacio) haga
Símbolo ß izquierda(EI,1,1) /* función que devuelve un número de caracteres a la izquierda de una cadena */
EI ß derecha(EI,2,largo(EI)) /* derecha devuelve un numero de caracteres a la derecha de una cadena, largo, devuelve la longitud de una cadena */
Selecciones símbolo
Caso “(“: Tope ß Tope +1
Pila[Tope] ß simbolo
Caso “)“: Mientras Que (Pila[Tope] <> “)” ) haga
Concatenar(EPOS, Pila[Tope])
/* Concatenar dos cadenas */
Tope ß Tope -1
Fin MQ
/* Se quita el paréntesis izquierdo de la pila y no se agrega a EPOS */
Pila[Tope] ß “”
Tope ß Tope – 1
Caso “A”,”B”,”C”,…,”Y”,”Z”: /* El símbolo es un operando */
Concatenar (EPOS, símbolo)
Caso “^”, “*”,”/”,”+”,”-“: /* el símbolo es un operador */
Mientras Que (Tope > 0 ) y
(Prioridad(símbolo) <= prioridad(Pila(Tope)) haga
Concatenar(EPOS, Pila[Tope])
Tope ß Tope -1
Fin MQ
Tope ß Tope +1
Pila[Tope] ß símbolo
Fin Seleccione
Fin MQ
Mientras Que (Tope>0) haga
Concatenar(EPOS,Pila[Tope])
Tope ß Tope -1
Fin MQ
Imprimir EPOS
Fin
|
Insertacola(COLA, MAX, FRENTE, FINAL,DATO)
Inicio
Si (FINAL < MAX) entonces /* Verificar espacio libre */
FINAL ß FINAL +1
COLA[FINAL] ß DATO
Si (FINAL = 1) ENTONCES
FRENTE ß 1
Fin si
Sino
Imprimir(“Desbordamiento”)
Fin si
Fin
|
Eliminacola(COLA, FRENTE,FINAL,DATO)
Inicio
Si (FRENTE <> 0) entonces /* verificar que la cola no este vacia */
DATO ß COLA[FRENTE]
Si (FRENTE = FINAL) entonces /* hay un solo elemento */
FRENTE ß 0
FINAL ß 0
Sino
FRENTE ß FRENTE +1
Fin si
Sino
Imprimir(“Subdesbordamiento”)
Fin si
Fin
|
Insertacircular(COLACIR, MAX, FRENTE, FINAL, DATO)
Inicio
Si ((FINAL=MAX) Y (FRENTE=1)) o ((FINAL+1)= FRENTE) entonces
Imprimir (“Desbordamiento”) /* Cola Llena */
Sino
Si (FINAL = MAX) entonces
FINAL ß 1
Sino
FINAL ß FINAL +1
Fin si
COLACIR[FINAL] ß DATO
Si (FRENTE = 0) entonces
FRENTE ß 1
Fin si
Fin si
Fin
|
Elminacircular(COLACIR, MAX, FRENTE, FINAL, DATO)
Inicio
Si (FRENTE = 0) entonces /* verifica si la cola esta vacía */
Imprimir(“Subdesbordamiento”)
Sino
DATO ß COLACIR[FRENTE]
Si (FRENTE = FINAL) entonces /* solo hay un elemento */
FRENTE ß 0
FINAL ß 0
Sino
Si (FRENTE = MAX) entonces
FRENTE ß 1
Sino
FRENTE ß FRENTE +1
Fin si
Fin si
Fin si
Fin
|