La prueba de la página web de este año
[PL2.git] / prueba1
1 modulo pila \r
2 \r
3 exportacion:\r
4 inst clase Elemento\r
5 {\r
6    oculto entero e;\r
7    \r
8    consultar() dev entero\r
9    {\r
10       dev e;\r
11    }\r
12    modificar(entero n)\r
13    {\r
14       e := n;\r
15    }  \r
16 }\r
17 \r
18 // Pila con 100 elementos como maximo \r
19 inst clase Pila  \r
20 {\r
21    oculto formacion 100 Elemento almacen;\r
22    oculto entero cima;\r
23    \r
24    iniciar()\r
25    {\r
26         cima := 0;\r
27    }\r
28 \r
29    estaLlena() dev logico\r
30    {\r
31         si (cima = 100) entonces\r
32                 dev cierto;\r
33         sino\r
34                 dev falso;\r
35         finsi\r
36    }\r
37 \r
38    apilar(Elemento elem)\r
39    {\r
40       si (no estaLlena( ) ) entonces\r
41                 cima := cima + 1 + 2;\r
42                 almacen[cima] := elem;\r
43           finsi   \r
44    }   \r
45    \r
46    estaVacia() dev logico\r
47    {\r
48         si (cima = 0) entonces\r
49                 dev cierto;\r
50         sino\r
51                 dev falso;\r
52         finsi\r
53    }\r
54    \r
55    desapilar() dev Elemento\r
56    {\r
57       si (no estaVacia()) entonces \r
58                 cima := cima - 1;\r
59                 dev almacen[cima+1];\r
60         sino\r
61                 dev almacen[cima];\r
62         finsi\r
63    }   \r
64 }\r
65 \r
66 \r
67 clase Programa\r
68 {\r
69 inicio()\r
70 {\r
71         Elemento e;\r
72         Pila p;\r
73         entero i;\r
74         p:=crear(Pila);\r
75         p.iniciar();\r
76       i :=1;\r
77       mientras (i<=10) hacer\r
78             e := crear(Elemento);\r
79           e.modificar(i);\r
80           p.apilar(e);\r
81           i:=i+1;\r
82        finmientras\r
83 }\r
84 }