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