Acceso a clase
[PL2.git] / prueba1
1 modulo pila\r
2 \r
3 importacion: modulo1, modulo2\r
4 exportacion:\r
5 \r
6 // Pila con 100 elementos como maximo \r
7 inst clase Pila  \r
8 {\r
9    oculto formacion 100 Elemento almacen;\r
10    //oculto Pila a;\r
11    oculto Elemento b;\r
12    oculto entero cima;\r
13    \r
14    iniciar()\r
15    {\r
16         cima := 0;\r
17         //no se por que sale 3 veces este error\r
18         a := 3;\r
19         tal.inicio();\r
20    }\r
21 \r
22    estaLlena() dev logico\r
23    {\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 }\r
58 \r
59 inst clase Elemento\r
60 {\r
61    oculto entero e;\r
62    \r
63    consultar() dev entero\r
64    {\r
65       dev e;\r
66    }\r
67    modificar(entero n)\r
68    {\r
69       e := n;\r
70    }  \r
71 }\r
72 \r
73 \r
74 clase Programa\r
75 {\r
76 inicio()\r
77 {\r
78         Elemento e;\r
79         Pila p;\r
80         entero i;\r
81         p:=crear(Pila);\r
82         p.iniciar();\r
83       i :=1;\r
84       mientras (i<=10) hacer\r
85             e := crear(Elemento);\r
86           e.modificar(i);\r
87           p.apilar(e);\r
88           i:=i+1;\r
89        finmientras\r
90 }}\r
91 \r
92 implementacion:\r
93 clase tal\r
94 {\r
95 inicio()\r
96 {\r
97         Elemento e;\r
98         Pila p;\r
99         entero i;\r
100         p:=crear(Pila);\r
101         p.iniciar();\r
102       i :=1;\r
103       mientras (i<=10) hacer\r
104             e := crear(Elemento);\r
105           e.modificar(i);\r
106           p.apilar(e);\r
107           i:=i+1;\r
108        finmientras\r
109 }\r
110 }