jueves, 14 de marzo de 2013

ejemplo de lifo

/*ejercicio con pila (lifo)*/


var 
    aux, pila: vector [100] numerico
    x, tope, opc, num, sw: numerico
inicio
cls()
    imprimir ("opcion")
    imprimir ("\n1, ingresar, 2. eliminar, 3. salir")
    tope=0
    repetir
       leer (opc)
       si (opc==1){
          si (tope==0 or tope<100){
             tope=tope+1
             imprimir ("\ndigite un numero")
             leer (pila[tope])
             sino 
                imprimir ("\nla pila esta llena")
            }
          sino 
             si (opc==2){
                si (tope==0){
                   imprimir ("\nla fila esta bacida")
                   sino
                      imprimir ("\ndigite valor a eliminar")
leer (num)
sw=0
x=1
                      mientras (sw==0 and x<=tope){
                         si(pila[x]==num){
                            sw=1
                           }
                         x=x+1
                        }
                      si (sw==0){
                         imprimir ("\ndato no se encuentra en la pila")
                         sino 
                            x=1
                            mientras (tope>0){
                               si (pila[tope] <> num){
                                  aux[x]=pila[tope]
                                  x=x+1
                                 }
pila[tope]=0
                               tope=tope-1
                              }
                            mientras (x>0){
                               tope=tope+1
                               pila[tope]=aux[x]
                               x=x-1
                              }
                        }           
                  }
               }
         }
    imprimir ("\n opcion")
    hasta (opc==3)
fin

No hay comentarios:

Publicar un comentario