Parcial FADA Univalle
Parcial FADA Univalle
Parcial FADA Univalle
Para la anterior expresión complete los tipos de la usando la representación simple vista en clase.
Tabla 2. Utilice la hoja de procedimientos para reali-
zar las operaciones necesarias haciendo uso del nom- 2. (20 puntos) ¿Cuáles son los valores de a,b y c, al
bramiento de variables indicado. finalizar la expresión?, completa la Tabla 4.
1
Para la siguiente expresión:
O b j e t o o1 :
c l a s s p1 extends object
field a
field b
field c
method i n i t i a l i z e ( f , g , h )
begin
set a = f ;
set b = g;
set c = h;
0
end
method s e t V a l o r ( p , q )
begin
s e t a = +(a , p ) ;
s e t b = +(b , q ) ;
s e t c = +(c , + ( p , q ) ) ;
send s e l f ge tVa lor ( a , b )
end
method g e t V a l o r ( p , q )
l i s t (+( a , p ) , +(b , q ) , c )
.
c l a s s p2 e x t e n d s p1
field d
field e O b j e t o o2 :
method i n i t i a l i z e ( k , l , m)
begin
s u p e r i n i t i a l i z e ( k , l ,m) ;
s e t d = +(k , l ) ;
s e t e = +(k ,m) ;
0
end
method g e t V a l o r (m, n )
l i s t (+(d ,m) , +(e , n ) )
c l a s s p3 e x t e n d s p2
field f
method i n i t i a l i z e ( k , l , m)
begin
s u p e r i n i t i a l i z e ( k , l ,m) ;
s e t f = −(+(k , l ) ,m) ;
0
end
method g e t V a l o r (m, n ) .
l i s t (+( f ,m) , −( f , n ) )
let O b j e t o o3 :
o1 = new p1 ( 4 , 3 , 1 )
o2 = new p2 ( 5 , 4 , 2 )
o3 = new p3 ( 3 , 4 , 2 )
in
let
a = s e n d o1 setValor (1 ,2)
b = s e n d o2 setValor (3 ,2)
c = s e n d o3 setValor (4 ,5)
in
list (a , b, c)
2
Variable/Expresión Paso por Valor Paso por Referencia
a
b
c
(p c b a q)
+(a, c)
Variable Valor
a
b
c
Tabla 4: Objetos