incluidos todos, que no lo habĂ­a hecho antes
[PL2.git] / p.cfg
1 modulo pila
2 inst clase Elemento
3 {
4    oculto entero e;
5    consultar() dev entero
6    {
7       dev e;
8    }
9    modificar(entero n)
10    {
11       escribir(n);
12       e:=n;
13    }
14 }
15 //clase pila
16 inst clase Pila
17 {
18    oculto formacion 100 Elemento almacen;
19    oculto entero cima;
20    iniciar()
21    {
22       cima := 0;
23    }
24    estaLlena() dev logico
25    {
26       si (cima = 100) entonces
27             dev cierto;
28       sino
29             dev falso;
30       finsi
31    }
32    apilar(Elemento elem)
33    {
34       si (no estaLlena()) entonces
35             cima := cima + 1;
36             almacen[cima] := elem;
37       finsi
38     }
39     estaVacia() dev logico
40     {
41         si (cima = 0) entonces
42                dev cierto;
43         sino
44                dev falso;
45         finsi
46     }
47     desapilar() dev Elemento
48     {
49         si (no estaVacia()) entonces
50                 cima := cima - 1;
51                 dev almacen[cima+1];
52         sino
53                dev almacen[cima];
54         finsi
55     }
56 }
57 clase Programa
58 {
59       inicio()
60       {
61          Elemento e;
62          Pila p;
63          entero i;
64          p := crear(Pila);
65          p.iniciar();
66          i:=1;
67          mientras (i<=10) hacer
68              e := crear(Pila);
69              e.modificar(i);
70              p.apilar(e);
71              p.algo();
72              i:=i+1.0;
73          finmientras
74                 }
75       
76  }