Acceso a clase
[PL2.git] / pila.mod
1 modulo pila\r
2 \r
3 importacion: elemento\r
4 \r
5 exportacion: \r
6 \r
7 // Pila con 100 elementos como maximo \r
8 inst clase Pila  \r
9 {\r
10    oculto formacion 100 Elemento almacen;\r
11    //oculto Pila a;\r
12    oculto Elemento b;\r
13    oculto entero cima;\r
14    \r
15    iniciar()\r
16    {\r
17         cima := 0;\r
18    }\r
19 \r
20    estaLlena() dev logico\r
21    {\r
22    TipoErr c;\r
23    apilar1(c);\r
24         si (cima = 100) entonces\r
25                 dev cierto;\r
26         sino\r
27                 dev falso;\r
28         finsi\r
29    }\r
30 \r
31    apilar(Elemento elem)\r
32    {\r
33       si (no estaLlena( ) ) entonces\r
34                 cima := cima + 1 + 2;\r
35                 almacen[cima] := elem;\r
36           finsi   \r
37    }   \r
38    \r
39    estaVacia() dev logico\r
40    {\r
41         si (cima = 0) entonces\r
42                 dev cierto;\r
43         sino\r
44                 dev falso;\r
45         finsi\r
46    }\r
47    \r
48    desapilar() dev Elemento\r
49    {\r
50       si (no estaVacia()) entonces \r
51                 cima := cima - 1;\r
52                 dev almacen[cima+1];\r
53         sino\r
54                 dev almacen[cima];\r
55         finsi\r
56    }   \r
57 }