Primer paso para la referencia adelantada, guarda las declaraciones de tipos en una...
[PL2.git] / prueba1
1 modulo pila\r
2 \r
3 importacion: modulo1, modulo2\r
4 exportacion:\r
5 inst clase Elemento\r
6 {\r
7    oculto entero e;\r
8    oculto Pila a;\r
9    \r
10    consultar() dev entero\r
11    {\r
12       dev e;\r
13    }\r
14    modificar(entero n)\r
15    {\r
16       e := n;\r
17    }  \r
18 }\r
19 \r
20 // Pila con 100 elementos como maximo \r
21 inst clase Pila  \r
22 {\r
23    oculto formacion 100 Elemento almacen;\r
24    oculto entero cima;\r
25    \r
26    iniciar()\r
27    {\r
28         cima := 0;\r
29    }\r
30 \r
31    estaLlena() dev logico\r
32    {\r
33         si (cima = 100) entonces\r
34                 dev cierto;\r
35         sino\r
36                 dev falso;\r
37         finsi\r
38    }\r
39 \r
40    apilar(Elemento elem)\r
41    {\r
42       si (no estaLlena( ) ) entonces\r
43                 cima := cima + 1 + 2;\r
44                 almacen[cima] := elem;\r
45           finsi   \r
46    }   \r
47    \r
48    estaVacia() dev logico\r
49    {\r
50         si (cima = 0) entonces\r
51                 dev cierto;\r
52         sino\r
53                 dev falso;\r
54         finsi\r
55    }\r
56    \r
57    desapilar() dev Elemento\r
58    {\r
59       si (no estaVacia()) entonces \r
60                 cima := cima - 1;\r
61                 dev almacen[cima+1];\r
62         sino\r
63                 dev almacen[cima];\r
64         finsi\r
65    }   \r
66 }\r
67 \r
68 \r
69 clase Programa\r
70 {\r
71 inicio()\r
72 {\r
73         Elemento e;\r
74         Pila p;\r
75         entero i;\r
76         p:=crear(Pila);\r
77         p.iniciar();\r
78       i :=1;\r
79       mientras (i<=10) hacer\r
80             e := crear(Elemento);\r
81           e.modificar(i);\r
82           p.apilar(e);\r
83           i:=i+1;\r
84        finmientras\r
85 }}\r
86 \r
87 implementacion:\r
88 inst clase tal\r
89 {\r
90 inicio()\r
91 {\r
92         Elemento e;\r
93         Pila p;\r
94         entero i;\r
95         p:=crear(Pila);\r
96         p.iniciar();\r
97       i :=1;\r
98       mientras (i<=10) hacer\r
99             e := crear(Elemento);\r
100           e.modificar(i);\r
101           p.apilar(e);\r
102           i:=i+1;\r
103        finmientras\r
104 }\r
105 }