Representaciones gráficas y Mundos Virtuales infinitos en las

Anuncio
!"#$"%"&'()*+&"%,-$./*)(%,0,12&3+%,4*$'2(5"%,*&/*&*'+%,"&,5(%,
6$.)'*)(%,3",!"#$"%&%'()*+,)$('%+-+./*'(#*%0,
!
"#$%!&'()(#!*+,-+!.+/#!
012#3!4%!567#-'82(9+!
:6(;%-$(4+4!4%!<;(%4#!
=>3!??@@A!<;(%4#B!C1+(6!
%D'+()E!!"#$"%!&'()*'+,'(-&!
!
!
!
!"%27"&,
!
&6! %)! %$FG%'+! 4%! 1-892(9+$! 4%! )+! +$(H6+2G-+! 4%!
!"#$"%&%'()*+,)$('%+-+./*'(#*%,+$%!I+!(69#-1#-+4#!)+!
H%6%-+9(J6! 4%! -%1-%$%62+9(#6%$! H-87(9+$! /! 4%!
0/%12"334+ /! #'2"334+ 1+-+! )+! %6$%K+6L+! 4%! )+$!
4(7%-%62%$! 9+-+92%-M$2(9+$! 4%! %$2%! 2(1#! 4%! )%6HG+N%$E!
7G69(#6%$! 4%! #-4%6! $G1%-(#-B! %;+)G+9(J6! 1%-%L#$+B!
1#)('#-7($'#B! ;+-(+,)%$! )JH(9+$B! $+2($7+99(J6! 4%!
-%$2-(99(#6%$B! %293! *+! G2()(L+9(J6! 4%! ;#9+,G)+-(#$!
OP*! %$2864+-E! CQ.! 1+-+! H-87(9#$! /! O?0! 1+-+!
-%+)(4+4! ;(-2G+)! 1%-'(2%! 4($1#6%-! 4%! 6G'%-#$+$!
I%--+'(%62+$! 4%! ;($G+)(L+9(J63! *+! (69#-1#-+9(J6! 4%!
%$2%! 2(1#! 4%! %N%-9(9(#$! 1G%4%! 7+9()(2+-! )+! %6$%K+6L+! /!
'#2(;+9(J6!4%!)#$!%$2G4(+62%$3!!
89! :&'$+32))*;&,
*+! +$(H6+2G-+!5"#$"%&%'()*+6)$('%+-+7/*'(#*%,!
$%! ('1+-2%! 9#'#! #12+2(;+! 4%! R! 9-S4(2#$! %6! )+$!
2(2G)+9(#6%$! 4%! 56H%6(%-#! TS96(9#! 4%! 567#-'82(9+! 4%!
.%$2(J6! /! 4%! C($2%'+$! %6! )+! :6(;%-$(4+4! 4%! <;(%4#3!
&)! -%$2#! 4%! +$(H6+2G-+$! 4%! 1-#H-+'+9(J6! 4%! 4(9I+!
2(2G)+9(J6!$%!9%62-+!%6!)%6HG+N%$!('1%-+2(;#$E!>+$9+)B!
=B!=UU!/!"+;+3!&$2+!+$(H6+2G-+!%$B!1#-!2+62#B!%)!1-('%-!
/! %6! 'G9I+$! #9+$(#6%$B! V6(9#! 9#62+92#! FG%! )#$!
%$2G4(+62%$! 4%! %$2+$! 2(2G)+9(#6%$! 2(%6%6! 9#6! )#$!
)%6HG+N%$!4%9)+-+2(;#$3!!0+4#!$G!9+-892%-!#12+2(;#B!)+!
$G1%-;(;%69(+!4%!)+!+$(H6+2G-+!4%1%64%!4%)!6V'%-#!4%!
+)G'6#$!'+2-(9G)+4#$3!W1+-2%!4%!)+!4(7(9G)2+4!4%!G6+!
+$(H6+2G-+! 4%! 1-#H-+'+9(J6B! )+! %)%99(J6! 4%! )#$!
%$2G4(+62%$! $%! ;%! 9#64(9(#6+4+! 1#-! #2-#$! +$1%92#$!
-%)+9(#6+4#$! 9#6! %$2%! 2(1#! 4%! )%6HG+N%$E! %62#-6#$! 4%!
1-#H-+'+9(J6! -G4('%62+-(#$B! %$9+$%L! 4%! $($2%'+$!
H-87(9#$! 4%! 4%1G-+9(J6! /! 2-+L+B! 9+-%69(+! 4%! )(,-%-M+$B!
4(7(9G)2+4! 1+-+! %6)+L+-! 9#6! )(,-%-M+$! %$9-(2+$! %6! #2-#$!
)%6HG+N%$B!%293!=#6!%)!7(6!4%!+'1)(+-!)+!'#2(;+9(J6!4%!
)#$!%$2G4(+62%$!/!%)!+)9+69%!4%!)+!+$(H6+2G-+B!4%$4%!%)!
9G-$#!X@@YZ@X!$%!I+!(69#-1#-+4#!+)!1-#/%92#!50&[5O!
\Y_BY]^!FG%!1%-$(HG%!)+!%6$%K+6L+!+!2-+;S$!4%!562%-6%2!
4%!)%6HG+N%$!4%!1-#H-+'+9(J63!!
*+! %;+)G+9(J6! 4%! )+! +$(H6+2G-+! $%! -%+)(L+!
7G64+'%62+)'%62%!'%4(+62%!)+!-%+)(L+9(J6!4%!2-+,+N#$!
4%! 1-#H-+'+9(J63! *#$! %6G69(+4#$! 4%! %$2#$! 2-+,+N#$!
$(HG%6!G6!%$FG%'+!4%!1-%$%62+9(J6!H-+4G+)!,+$+4#!%6!
)+!2+`#6#'M+!4%!#,N%2(;#$!9#H6(2(;#$!\YX^E!%6!1-('%-!
)GH+-! $%! 1-%$%62+! G6! 1-#H-+'+! 9#--%92#! FG%! )#$!
%$2G4(+62%$!4%,%6!9#'1()+-!/!%N%9G2+-3!C%HG(4+'%62%B!
$%!)%$!1(4%!)+!-%+)(L+9(J6!4%!'#4(7(9+9(#6%$!1+-+!FG%!
4%'G%$2-%6!FG%!9#'1-%64%6!%)!1-#H-+'+!/!+4FG(%-+6!
1#-!('(2+9(J6!G6+!I+,()(4+4!,8$(9+!4%!9#6$2-G99(J6!4%!
1-#H-+'+$3! [(6+)'%62%B! $%! )%$! $#)(9(2+! +! )#$!
%$2G4(+62%$! )+! 9-%+9(J6! 4%! 1-#H-+'+$! FG%! 4%,%6!
9#6$2-G(-!1#-!$G!9G%62+3!!
&6! %$2%! +-2M9G)#! $%! 4%$9-(,%! %)! %$FG%'+! 4%!
1-892(9+$!G2()(L+4#!/!FG%!$%!,+$+!1-(69(1+)'%62%!%6!)+!
H%6%-+9(J6! 4%! 7(9I%-#$! OP*! FG%! (69)G/%6! H-87(9#$!
,(4('%6$(#6+)%$!%6!CQ.!/!'G64#$!;(-2G+)%$!%6!O?03!
&)!+-2M9G)#!9#'(%6L+!9#6!G6!-%1+$#!+!)#$!;#9+,G)+-(#$!
OP*! G2()(L+4#$3! W! 9#62(6G+9(J6! $%! 1-%$%62+! %)!
%N%-9(9(#! ,8$(9#! FG%! 9#6$($2%! %6! -%1-%$%62+9(#6%$!
H-87(9+$! 4%! 7G69(#6%$! /! 1%-'(2%! '+6(1G)+-! %)!
9#69%12#! 4%! 7G69(#6%$! 4%! #-4%6! $G1%-(#-3! &6! )+!
$%99(J6! _! $%! %$2G4(+! )+! %$2-G92G-+! -%9G-$(;+! 4%!
0/%12"333!&6!)+!$%99(J6!]!$%!1-%$%62+6!)#$!#'2"334+/!)+!
$%99(J6! R! $%! 1-%$%62+! )+! H%6%-+9(J6! 4%! 'G64#$!
;(-2G+)%$! (67(6(2#$! '%4(+62%! %;+)G+9(J6! 1%-%L#$+3! &6!
)+!$%99(J6!A!$%!4%$9-(,%!)+!9-%+9(J6!4%!2(1#$!4%!4+2#$!
1#)('J-7(9#$3! *+! $%99(J6! a! 4%$9-(,%! )+! G2()(L+9(J6! 4%!
9+-+92%-M$2(9+$! 1-#1(+$! 4%! )+! 1-#H-+'+9(J6! )JH(9+!
b%$1%9(+)'%62%! )+! G2()(L+9(J6! 4%! ;+-(+,)%$! )JH(9+$! /!
*#81323"&(*(4&#c! /! )+! $(HG(%62%!$%99(J6! $%! 9%62-+! %6!
)+! G2()(L+9(J6! 4%! 1-#H-+'+9(J6! )JH(9+! 9#6!
-%$2-(99(#6%$3! [(6+)'%62%! $%! -%$G'%6! )#$! 1-(69(1+)%$!
2-+,+N#$! -%)+9(#6+4#$! /! $%! 4%2+))+6! )+$! 1-(69(1+)%$!
9#69)G$(#6%$!/!)M6%+$!4%!(6;%$2(H+9(J6!7G2G-+$3!!!
<=>,
6$+-$(7()*;&?,(5-+$*'7+%,0,"%'$2)'2$(%,3",3('+%,
!
@+'()*;&9, W! )#! )+-H#! 4%)! +-2M9G)#! $%! G2()(L+6!
7-+H'%62#$! 4%! 9J4(H#! 9%4:3,,+ /! 5"#,#$;+ C%! $G1#6%!
FG%! %)! )%92#-! 2(%6%! )(H%-#$! 9#6#9('(%62#$! 4%! )+!
$(62+`($! 4%! +',#$! )%6HG+N%$3! T+',(S6! $%! $G1#6%!
9(%-2#!9#6#9('(%62#!4%!;#9+,G)+-(#$!OP*3!!
1%-'(2%! +)'+9%6+-! %6! G6! 7(9I%-#! CQ.! )+!
-%1-%$%62+9(J6!H-87(9+!4%!G6+!7G69(J63!
!
plotF ::(Double!.+)#!-/!01$'*2!3456/
plotF f fn = writeFile fn (plot f)
7!+1886.+)#!-!.+)#!-/!01$'*2
plot f = gen “svg” (plotPs ps)
where
plotPs
= concat . map mkline
&)! )%6HG+N%! OP*! \?^! $%! %$28! 9#6;(-2(%64#! %6! G6!
mkline (x,x')= line (p x) (p x') c
%$2864+-! 4%! (62%-9+',(#! /! -%1-%$%62+9(J6! 4%!
ps
= zip ls (tail ls)
ls
= [0..sizeX]
(67#-'+9(J6!%6!562%-6%23!>G%$2#!FG%!%6!%)!+92G+)!1)+6!
p x
= (x0+x, sizeY - f x)
A9! 4+)(B25($*+%,C1D,
4%!%$2G4(#$!6#!$%!('1+-2%!4(9I#!)%6HG+N%!%6!6(6HG6+!
+$(H6+2G-+B! $%! I+! 9#6$(4%-+4#! FG%! )+! G2()(L+9(J6! 4%!
;#9+,G)+-(#$!OP*!1G%4%!$%-!G6+!,G%6+!#1#-2G6(4+4!
1+-+!FG%!)#$!%$2G4(+62%$!'+6%N%6!4(9I#!%$2864+-3!!
:6#! 4%! )#$! 1-('%-#$! %N%-9(9(#$! 1)+62%+4#$! %$! )+!
9#6$2-G99(J6!4%!G6+!)(,-%-M+!4%!7G69(#6%$!FG%!1%-'(2+!
H%6%-+-! 7(9I%-#$! OP*3! &$2+! )(,-%-M+B! FG%! )#$!
%$2G4(+62%$! 9#6$2-G/%6B! 1%-'(2(-8! G2()(L+-! G6+! ,+$%!
9#'V6! %6! %)! -%$2#! 4%! 1-892(9+$! FG%! 7+9()(2+! )+!
H%6%-+9(J6! 4%! 7(9I%-#$! 9#6! ;#9+,G)+-(#$! OP*!
%$1%9M7(9#$3!!
*+! )(,-%-M+! 9#62(%6%! )+$! $(HG(%62%$! 7G69(#6%$!
,8$(9+$E!
!! vacio e as genera un %)%'%62#!;+9M#!
e!9#6!+2-(,G2#$!as
!! gen e es genera un %)%'%62#!e 9#6!
$G,%)%'%62#$!es
!! genAs e as es H%6%-+!G6!%)%'%62#!e
9#6!+2-(,G2#$!as /!$G,%)%'%62#$!es
:6#!4%!)#$!;#9+,G)+-(#$!OP*!%$1%9M7(9#$!FG%!$%!
G2()(L+-8! %$! %)! )%6HG+N%! CQ.! bC9+)+,)%! Q%92#-!
.-+1I(9$c! FG%! $%! %$28! 9#6;(-2(%64#! %6! %)! 1-(69(1+)!
%$2864+-!
4%!
-%1-%$%62+9(J6!
4%!
H-87(9#$!
,(4('%6$(#6+)%$!;%92#-(+)%$!%6!562%-6%23!!
W$('($'#B! %)! )%6HG+N%! QdP*! b<("2/%,+ =3%,(2-+
>#13,,(*$+6%*$/%$3c!$%!1G%4%!9#6$(4%-+-!%)!1-(69(1+)!
%$2864+-! 4%! -%1-%$%62+9(J6! 4%! 'G64#$! ;(-2G+)%$! %6!
562%-6%23! C(6! %',+-H#B! %$2%! )%6HG+N%! %$! +62%-(#-! +!
OP*!/!6#!$(HG%B!1#-!2+62#B!$G!$(62+`($3!0%$4%!%)!+K#!
X@@@B! %)! 9#6$#-9(#! e%,?0! I+! 4($%K+4#! %)!
;#9+,G)+-(#! O?0! FG%! 1G%4%! 9#6$(4%-+-$%! G6+! 6G%;+!
;%-$(J6!4%!QdP*!+4+12+4+!+!OP*3!
E9! F2&)*+&"%,3",+$3"&,%2#"$*+$G,
!"#$"%"&'()*+&"%,-$./*)(%,
&)!$%HG64#!2-+,+N#!1-892(9#!FG%!$%!1)+62%+!9#6$($2%!%6!
)+! -%1-%$%62+9(J6! H-87(9+! 4%! 7G69(#6%$3! W! )#$!
%$2G4(+62%$! $%! )%$! 1-%$%62+! )+! 7G69(J6! 1)#2[, FG%!
line (x,y) (x',y') c =
vacio "line"
[(“x1”,show x) ,(“y1”,show y),
(“x2”,show x'),(“y2”,show y')]
sizeX = 500; sizeY = 500; x0 = 10
<,$S-;%$%! FG%! 7!+19! -%+)(L+! +99(#6%$! 4%!
&62-+4+ZC+)(4+3! T-+4(9(#6+)'%62%B! )#$! 9G-$#$! FG%!
%6$%K+6! %)! )%6HG+N%! 9%4:3,,+ 2%64M+6! +! -%2-+$+-! )+!
1-%$%62+9(J6! 4%)! $($2%'+! 4%! &62-+4+ZC+)(4+! '%4(+62%!
'J6+4+$3! =-%%'#$! FG%! G6+! 1-%$%62+9(J6! H-+4G+)!
1%-'(2%! %;(2+-! '+)%62%64(4#$! 1#$2%-(#-%$B! /+! FG%! %6!
9+$#! 9#62-+-(#B! 'G9I#$! %$2G4(+62%$! 9#6$(4%-+,+6!
%`2-+K+! )+! 1#$2%-(#-! (62-#4G99(J6! 4%! %7%92#$! )+2%-+)%$!
%6!G6!)%6HG+N%!FG%!9#6$(4%-+,+6!!/"#;++
&)! 9J4(H#! 4%! )+! 7G69(J6! 7!+15 $(-;%! 9#'#!
%N%'1)#! 4%! G2()(L+9(J6! 4%! )#$! 9#',(6+4#-%$!
-%9G-$(;#$!:'7;5<"7;5=+!>$B!%293!9+-+92%-M$2(9#$!
4%)!)%6HG+N%!9%4:3,,3!
&6! %$2%! 2-+,+N#! 1-892(9#B! )#$! %N%-9(9(#$! FG%! $%!
1-#1#6%6! +! )#$! %$2G4(+62%$! G2()(L+6! %)! 9#69%12#! 4%!
7G69(#6%$! 4%! #-4%6! $G1%-(#-B! 9)+;%! 4%)! 1+-+4(H'+!
7G69(#6+)3! W$MB! 1#-! %N%'1)#B! $%! $#)(9(2+! +)! %$2G4(+62%!
FG%!9#6$2-G/+!G6+!7G69(J6!7!+1?->'"!FG%!%$9-(,+!%6!
G6! 7(9I%-#! )+! -%1-%$%62+9(J6! 4%! 4#$! 7G69(#6%$! /! )+!
7G69(J6!'%4(+!4%!+',+$3!>#-!%N%'1)#B!%6!)+!7(HG-+!Y!
$%! -%1-%$%62+! )+! '%4(+! 4%! )+$! 7G69(#6%$! 6@A5 BC5 DE5
F5&'*5A/!/!6@A5BC5DE5G5&H$15A/(!!
*+!$#)G9(J6!4%)!%N%-9(9(#!%6!9%4:3,,+1G%4%!$%-E!
!
media f g = plotF (\x!(f x + g x)/2)
:C,H+$&(3(%,3",I&%"J(&K(,L&*M"$%*'($*(,3",5(,:&/+$7.'*)(,
<=8
!
[(HG-+!Y3!d%1-%$%62+9(J6!4%!4#$!7G69(#6%$!/!$G!'%4(+!
&)! %N%'1)#! +62%-(#-! 4%7(6%! G6! 0/%12"33+ 7#-'+4#!
1#-! )+! $G,4(;($(J6! %6! 9G+2-#! 9G+4-+62%$B! 4#$! -#N#$! /!
4#$! ;%-4%$! 4($1G%$2#$! %6! 4(+H#6+)3! &6! )+! 7(HG-+! X!
1G%4%! #,$%-;+-$%! G6+! -%1-%$%62+9(J6! 4%)! FG+42-%%!
-IJK3!!
*+!;($G+)(L+9(J6!4%!0/%12"334+$%!-%+)(L+!'%4(+62%!
G6+!$%69())+!7G69(J6!FG%!H%6%-+!G6!7(9I%-#!%6!7#-'+2#!
CQ.! G2()(L+64#! )+$! 7G69(#6%$! @%'(#B! $3*A+ /! $3*B4+
('1)%'%62+4+$!1#-!)#$!%$2G4(+62%$!1+-+!)+!H%6%-+9(J6!
4%!4#9G'%62#$!OP*3!
!
<9! N*#+%,3",3('+%,$")2$%*M+%G,1/%23"445,
*+! $(HG(%62%! G6(4+4! 4(4892(9+! $%! 9%62-+! %6! )+!
1-%$%62+9(J6! 4%! 2S96(9+$! 4%! 4%7(6(9(J6! 4%! 2(1#$!
-%9G-$(;#$! /! $G! '+6(1G)+9(J63! T-+4(9(#6+)'%62%B! )#$!
2-+,+N#$!1-892(9#$!%6!%$2+!$%99(J6!$%!-%+)(L+,+6!9#6!%)!
2(1#!1-%4%7(6(4#!)($2+!/!9#6!G6!2(1#!4%!4+2#$!4%7(6(4#!
1#-! )#$! +)G'6#$! 1+-+! -%1-%$%62+-! 8-,#)%$! ,(6+-(#$3!
*#$! %$2G4(+62%$! 2(%6%6! $%-(+$! 4(7(9G)2+4%$! 1+-+!
9#'1-%64%-! )#$! 1-#9%$#$! -%9G-$(;#$! /! $%! $(%62%6!
I+,(2G+)'%62%! 1#9#! '#2(;+4#$! 1#-! %$2%! 2(1#! 4%!
%N%-9(9(#$! \fBYa^3! >+-+! (62%62+-! +G'%62+-! $G!
'#2(;+9(J6! $%! 2-+,+N+-8! 9#6! 0/%12"334+ \YA^+ FG%! $#6!
%$2-G92G-+$! -%9G-$(;+$! FG%! 1%-'(2%6! -%1-%$%62+-!
('8H%6%$! /! 2(%6%6! 6G'%-#$+$! +1)(9+9(#6%$! 1-892(9+$3!
&6! G6! 0/%12"33+ )+$! 7(HG-+$! $%! -%1-%$%62+6! '%4(+62%!
G6!V6(9#!9#)#-!#!)+!$G,4(;($(J6!4%!9G+2-#!9G+4-+62%$!
FG%!$#6!+!$G!;%L!0/%12"3343!*+!H%6%-+)(L+9(J6!4%!)#$!
0/%12"334+ +)! %$1+9(#! 2-(4('%6$(#6+)! $%! 4%6#'(6+!
#'2"33+ /+! FG%! 9+4+! $G,4(;($(J6! $%! -%+)(L+! %6! #9I#!
#'2"3343!&$2+$!%$2-G92G-+$!$#6!+'1)(+'%62%!G2()(L+4+$!
%6!%)!9+'1#!4%!)+!(67#-'82(9+!H-87(9+!/+!FG%!1%-'(2%6!
#12('(L+-! )+! -%1-%$%62+9(J6! (62%-6+! 4%! %$9%6+$! /! )+$!
,+$%$! 4%! 4+2#$! 2-(4('%6$(#6+)%$! 1+-+! $($2%'+$! 4%!
(67#-'+9(J6!H%#H-87(9+3!!
&6! g+$h%))B! G6! FG+42-%%! 1G%4%! -%1-%$%62+-$%!
'%4(+62%!%)!$(HG(%62%!2(1#!4%!4+2#$E!
data Color = RGB Int Int Int
data QT = B Color
| D QT QT QT QT
!
:6!%N%'1)#!4%!FG+42-%%!$%-M+!
ejQT = D r g g (D r g g r)
where r = B (RGB 255 0 0)
g = B (RGB 0 255 0)
!
!
[(HG-+!X3!&N%'1)#!4%!?/%12"33!
type Punto = (Int,Int)
type Dim
= (Punto,Int)
verqt::QT!IO ()
verqt q = writeFile “qtree.svg”
(gen “svg” (ver ((0,0),500) q))
ver::Dim!QT!String
ver ((x,y),d) (B c) =
rect (x,y) (x+d+1,y+d+1) c
ver ((x,y),d) (D ul ur dl dr) =
let d2 = d `div` 2
in
if d <= 0 then “”
else ver ((x,y),d2)
ul ++
ver ((x+d2,y),d2)
ur ++
ver ((x,y+d2),d2)
dl ++
ver ((x+d2,y+d2),d2) dr
rect::Punto!Punto!Color!String
rect (x,y) (x',y') (RGB r g b) =
vacio "rect"
[(“x”,show x),(“y”,show y),
(“height”,show (abs (x - x'))),
(“width”, show (abs (y - y'))),
(“fill”, “rgb(”++show r++ “,”++
show g ++“,”++
show b ++“,”)]
<=A,
6$+-$(7()*;&?,(5-+$*'7+%,0,"%'$2)'2$(%,3",3('+%,
!
=9! 6'3"445+0,72&3+%,M*$'2(5"%,
O9! IM(52()*;&,7/538(*+3(&49+12&3+%,*&/*&*'+%,
:6!#'2""33+%$!G6+!H%6%-+)(L+9(J6!4%!G6!0/%12"33!1+-+!
-%1-%$%62+9(#6%$! 2-(4('%6$(#6+)%$E! +)! $G,4(;(4(-! 9+4+!
9+-+! 4%! G6! 9G,#! %6! 9G+2-#! 1+-2%$! $%! #,2(%6%6! #9I#!
9G,#$3!*+!-%1-%$%62+9(J6!4%!#'2"334+%6!9%4:3,,!1#4-M+!
$%-!)+!$(HG(%62%E!
!
:6+! 4%! )+$! 1-(69(1+)%$! 9+-+92%-M$2(9+$! 4%)! )%6HG+N%!
g+$h%))!%$!)+!%;+)G+9(J6!1%-%L#$+!FG%!1%-'(2%!4%7(6(-!
+)H#-(2'#$!FG%!'+6(1G)+6!%$2-G92G-+$!1#2%69(+)'%62%!
(67(6(2+$3! *+! %;+)G+9(J6! 1%-%L#$+! 1G%4%! 2+',(S6!
9#6$(4%-+-$%!G6!2(1#!4%!%;+)G+9(J6!C/428(*+2(&3!%6!)+!
FG%! %)! $($2%'+! 6#! %;+)V+! )#$! +-HG'%62#$! 4%! G6+!
7G69(J6! I+$2+! FG%! -%+)'%62%! 6%9%$(2+! $G! ;+)#-3! &)!
1-#H-+'+4#-! 1G%4%! 4%7(6(-! /! '+6(1G)+-! 0/%12"334+
(67(6(2#$3!>#-!%N%'1)#B!%$!1#$(,)%!4%7(6(-E!
data OT =
|
|
|
Vacio
Cubo Color
Esfera Color
D OT OT OT OT OT OT OT OT
where v
e
r
g
Vacio
Esfera (RGB 0 0 255)
Cubo
(RGB 255 0 0)
Cubo
(RGB 0 255 0)
!
inf :: OT
*+! -%1-%$%62+9(J6! +62%-(#-! (64(9+! FG%! G6! #'2"33+ inf = D inf v s v v v r inf
1G%4%! %$2+-! ;+9M#B! $%-! G6! 9G,#! #! G6+! %$7%-+! 9#6! G6! where v = Vacio
s = Esfera (RGB 0 0 255)
4%2%-'(6+4#!9#)#-B!#!G6+!4(;($(J6!%6!#9I#!#'2"3343!
r = Cubo
(RGB 255 0 0)
:6!%N%'1)#!4%!#'2"33!$%-M+E!
!
<,$S-;%$%!FG%!%)!#'2"33!$%!4%7(6%!%6!7G69(J6!4%!$M!
ejOT :: OT
ejOT = D v e e v r v v g
'($'#3!CG!;($G+)(L+9(J6!$%!1-%$%62+!%6!)+!7(HG-+!_3!+
=
=
=
=
!
W!)#$!%$2G4(+62%$!$%!)%$!1-%$%62+!)+!7G69(J6!
wOT :: OT ! FileName ! IO ()
!
FG%!2#'+!9#'#!+-HG'%62#$!G6!#'2"33A+G6!6#',-%!
4%! 7(9I%-#! /! %$9-(,%! %6! 4(9I#! 7(9I%-#! G6+!
-%1-%$%62+9(J6! %6! O?0! 4%)! #'2"333! &6! )+! 7(HG-+! ?! $%!
!
[(HG-+!_3!D'2"33!(67(6(2#!
1-%$%62+! G6+! 1+62+))+! 9+12G-+4+! 4%! )+! -%1-%$%62+9(J6!
!
4%)!#92"33! %N<T!%6!-%+)(4+4!;(-2G+)3!WG6FG%!%6!)+!7(HG-+!
.-+9(+$! +! )+! %;+)G+9(J6! 1%-%L#$+B! %$! 1#$(,)%!
$%! -%1-%$%62+! G6+! ;%-$(J6! ('1-%$+B! %)! $($2%'+! H%6%-+!
G6! '#4%)#! ;(-2G+)! %6! %)! FG%! )#$! %$2G4(+62%$! 1G%4%6! 4%7(6(-! 7G69(#6%$! FG%! '+6(1G)%6! 'G64#$! ;(-2G+)%$!
(67(6(2#$3! >#-! %N%'1)#B! )+! 7G69(J6! $-7'1-5 2#'+!
6+;%H+-3!
9#'#!+-HG'%62#!G6!#'2"33+/!H%6%-+!G6!6G%;#!#'2"33+
`!-%1(2(%64#!%6!9+4+!9G+4-+62%!%)!#'2"33!`3!
!!
repite :: OT ! OT
repite x = D x x x x x x x
W)! +1)(9+-! )+! 7G69(J6! -%1(2%! +)! #'2"33! (67! $%!
#,2%64-M+!%)!-%$G)2+4#!4%!)+!7(HG-+!]3!
!
[(HG-+!?3!&N%'1)#!4%!D'2"33+
!
!
!
!
:C,H+$&(3(%,3",I&%"J(&K(,L&*M"$%*'($*(,3",5(,:&/+$7.'*)(,
<=E
!
[(HG-+!R3!?/%12"33+4%!+)2G-+$!
[(HG-+!]3!d%1%2(9(J6!4%!G6!D'2"33!(67(6(2#!
!
!
P9! 6+5*7+$/*%7+,#($(7Q'$*)+G,1/%23"445,3",
(5'2$(%,
&)! $($2%'+! 4%! 2(1#$! 4%)! )%6HG+N%! 9%4:3,,! +4'(2%! )+!
G2()(L+9(J6! 4%! 1#)('#-7($'#! 1+-+'S2-(9#3! *+$! )($2+$!
$#6! %)! %N%'1)#! 2-+4(9(#6+)! 4%! 2(1#$! 4%! 4+2#$!
1#)('J-7(9#3! WG6FG%! )#$! 0/%12"334! 2-+4(9(#6+)%$!
9#62(%6%6! %6! 9+4+! 9G+4-+62%! (67#-'+9(J6! 4%)! 9#)#-B!
1#4-M+! %$2G4(+-$%! G6+! H%6%-+)(L+9(J6! FG%! 9#62G;(%$%!
%6! 9+4+! 9G+4-+62%! (67#-'+9(J6! 4%! G6! 2(1#! %+ FG%! $%!
1+$+!9#'#!1+-8'%2-#3!*+!6G%;+!4%7(6(9(J6!$%-M+E!
data QT a = B a
| D (QT a) (QT a)
(QT a) (QT a)
!
!
&)! )%6HG+N%! 9%4:3,,+ 7+9()(2+! /! 1-#'G%;%! )+!
G2()(L+9(J6! 4%! 7G69(#6%$! H%6S-(9+$3! *+! 7G69(J6! .#,1"+
%$! %N%'1)#! 4%! 7G69(J6! H%6S-(9+! 1-%4%7(6(4+! 1+-+! %)!
9+$#! 4%! )+$! )($2+$;+ &$2+! 7G69(J6! 1G%4%! 2+',(S6!
4%7(6(-$%!1+-+!%)!2(1#!4%!4+2#$!0/%12"33E!
foldQT::
(b!b!b!b!b)!(a!b)!QT a! b
foldQT f g (B x) = g x
foldQT f g (D a b c d) =
f (foldQT f g a) (foldQT f b)
(foldQT f g c) (foldQT f d)
!
&$!1#$(,)%!4%7(6(-!'V)2(1)%$!7G69(#6%$!+!1+-2(-!4%!
.#,1?F3!>#-!%N%'1)#B!1+-+!9+)9G)+-!)+!)($2+!4%!;+)#-%$!
4%!G6!0/%12"33+1G%4%!4%7(6(-$%E!
!
valores
valores
(\a
*#$! 0/%12"334! 9#6! (67#-'+9(J6! 4%! 9#)#-! $%-M+6!
(\x
;+)#-%$!4%!2(1#!JK5L+!+$3!!
:: QT a ! [a]
= foldQT
b c d ! a ++ b ++ c ++ d)
! [x])
*+! H%6%-+)(L+9(J6! +62%-(#-! 1%-'(2%! 4%7(6(-! #2-#$!
*+! 1-#7G64(4+4! 4%! G6! 0/%12"33! 1G%4%! 4%7(6(-$%!
%N%'1)#$! 4%! 0/%12"334A+ 9#'#! )#$! FG%! 9#62(%6%6! %6!
9#'#E!
9+4+!9G+4-+62%!(67#-'+9(J6!4%!)+!+)2G-+!bG6!;+)#-!4%!
2(1#! 9!+"1c3! &$2#$! 0/%12"334+ 1G%4%6! G2()(L+-$%! 1+-+! profundidad :: QT a ! Int
)+!-%1-%$%62+9(J6!4%!+)2G-+$!4%!2%--%6#$3!>#-!%N%'1)#! profundidad = foldQT
(\a b c d ! 1 + maximum [a,b,c,d])
%)!$(HG(%62%!0/%12"33E!
qta :: QT
qta = D x
where x
a
b
c
Float
x x x
= D b c a b
= B 0
= B 10
= B 20
!
$%!-%1-%$%62+!%6!)+!7(HG-+!R3!
(\_ ! 1)
!
*++ 7G69()*+ .#,1?F+ 1%-2%6%9%! +)! 9#6NG62#! 4%!
7G69(#6%$! FG%! -%9#--%6! /! 2-+6$7#-'+6! G6+! %$2-G92G-+!
-%9G-$(;+! %6!G6!;+)#-3!&$2+$! 7G69(#6%$!$%!4%6#'(6+6!
2+',(S6!'%2%&#".(4&#4+/!$#6!%$2G4(+4+$!%6!%)!9+'1#!
4%!)+!1-#H-+'+9(J6!H%6S-(9+!\X^3!!
!
!
!
!
<=<,
6$+-$(7()*;&?,(5-+$*'7+%,0,"%'$2)'2$(%,3",3('+%,
!
R9! @+,3"'"$7*&*%7+G,S"&"$()*;&,3",
:/%23"445+"&,#$+-$(7()*;&,5;-*)(,
:6+! 4%! )+$! 4(7(9G)2+4%$! 4%! )+! +$(H6+2G-+! %$! )+!
(62-#4G99(J6!4%!)#$!1+-+4(H'+$!7G69(#6+)!/!)JH(9#!%6!
G6! ,-%;%! %$1+9(#! 4%! 2(%'1#3! &6! )+! +92G+)(4+4! $%!
%'1)%+6B!+4%'8$B!4#$!)%6HG+N%$!4(7%-%62%$E!9%4:3,,+/!
5"#,#$3! >+-+! 7+9()(2+-! %)! 9+',(#! %62-%! 1+-+4(H'+$! /!
)%6HG+N%$B! $%! I+! #12+4#! 1#-! $#)(9(2+-! 1-892(9+$! 4%!
1-#H-+'+9(J6! 'G/! $('()+-%$! 4%! ! 7#-'+! FG%! )#$!
+)G'6#$! 1G%4+6! #,$%-;+-! '8$! 9)+-+'%62%! )+$!
4(7%-%69(+$!%62-%!+',#$3!
0%!%$2+!7#-'+B!)#$!1-('%-#$!2-+,+N#$!1-892(9#$!%6!
)+! 1+-2%! 4%! 1-#H-+'+9(J6! )JH(9+! ;G%);%6! +! %`+'(6+-!!
$#,-%!%)!2%'+!4%!)#$!0/%12"334;!!
:6+! 9+-+92%-M$2(9+! $#,-%$+)(%62%! 4%! )+!
1-#H-+'+9(J6! )JH(9+! %$! )+! 1#$(,()(4+4! 4%! 4%7(6(-!
1-%4(9+4#$! 6#D4%2%-'(6($2+$! FG%! +4'(2%6! ;+-(+$!
$#)G9(#6%$!#,2%6(4+$!1#-!G%':2"%':(*$;!!
&$! 1#$(,)%! 4%7(6(-! %)! 1-%4(9+4#! M+!6N&;JD;JO/!
FG%!$%!9G'1)%!9G+64#! JO!%$!%)!0/%12"33+7#-'+4#!1#-!
-%))%6+-!%)!0/%12"33+JD!9#6!)#$!9#)#-%$!4%!)+!)($2+!N&3!
col(Xs,b(_),b(X)):-elem(X,Xs).
col(Xs,d(A,B,C,D),d(E,F,G,H)):col(Xs,A,E),col(Xs,B,F),
col(Xs,C,G),col(Xs,D,H).
!
[(HG-+!A3!C#)G9(J6!4%)!1-#,)%'+!4%!9#)#-%+4#!
!
:6+! $#)G9(J6! 4(-%92+! G2()(L+64#! 1-#H-+'+9(J6!
)JH(9+! 9#6$($2%! $('1)%'%62%! %6! H%6%-+-! 2#4#$! )#$!
1#$(,)%$! FG+42-%%$! /! 9#'1-#,+-! )+! 9#64(9(J6! 4%! 6#!
+4/+9%69(+!'%4(+62%!%)!1-%4(9+4#!*+L+!+$85
noColor(b(_)).
noColor(d(A,B,C,D)):noColor(A), noColor(B),
noColor(C), noColor(D),
right(A,Ar),left(B,Bl),diff(Ar,Bl),
right(C,Cr),left(D,Dl),diff(Cr,Dl),
down(A,Ad),up(C,Cu),diff(Ad,Cu),
down(B,Bd),up(D,Du),diff(Bd,Du).
up(b(X),l(X)).
up(d(A,B,_,_),f(X,Y)):-up(A,X),
!
up(B,Y).
4#64%! -!-<6N;N&/! %$! G6! 1-%4(9+4#! 1-%4%7(6(4#!
down(b(X),l(X)).
FG%! $%! 9G'1)%! $(! O! %$! G6! %)%'%62#! 4%! )+! )($2+! O$3!
<,$S-;%$%!FG%!+)!-%))%6+-!G6!FG+42-%%!9#6!4#$!9#)#-%$! down(d(_,_,C,D),f(X,Y)):-down(C,X),
down(D,Y).
$%!#,2(%6%6!;+-(+$!-%$1G%$2+$3!
left(b(X),l(X)).
!
?-col([0,1],d(b(_),b(_),b(_),b(_)),V).
V = d(b(0),b(0),b(0),b(0)) ;
V = d(b(0),b(0),b(0),b(1)) ;
V = d(b(0),b(0),b(1),b(0)) ;
V = d(b(0),b(0),b(1),b(1)) ;
. . .
:6! 1-#,)%'+! 9)8$(9#! %6! %)! 9+'1#! +)H#-M2'(9#! %$!
%)!4%!9#)#-%+-!G6!'+1+!4%!-%H(#6%$!9#6!G6+!$%-(%!4%!
9#)#-%$!4%!7#-'+!FG%!6(6HG6+!-%H(J6!+4/+9%62%!2%6H+!
%)! '($'#! 9#)#-3! &)! 1-#,)%'+! 1G%4%! 1)+62%+-$%! 1+-+!
9#)#-%+-! 0/%12"334;+ &6! )+! 7(HG-+! A! $%! 1-%$%62+! G6+!
1#$(,)%! $#)G9(J6! +)! 9#)#-%+-! G6! 0/%12"33+ FG%!
-%1-%$%62+!G6!-#',#3!
left(d(A,_,C,_),f(X,Y)):-left(A,X),
left(C,Y).
right(b(X),l(X)).
right(d(_,B,_,D),f(X,Y)):-right(B,X),
right(D,Y).
diff(l(X),l(Y)):-X\=Y.
diff(l(X),f(A,B)):notElem(X,A),
notElem(X,B).
diff(f(A,B),l(X)):-notElem(X,A),
notElem(X,B).
diff(f(A,B),f(C,D)):-diff(A,C),
diff(B,D).
notElem(X,l(Y)):-X\=Y.
notElem(X,f(A,B)):-notElem(X,A),
notElem(X,B).
T9! 6$+-$(7()*;&,)+&,$"%'$*))*+&"%,
*#$! )%6HG+N%$! 4%9)+-+2(;#$! #7-%9%6! G6! '+-9#! (4%+)!
1+-+! )+! 1-#H-+'+9(J6! ,+$+4+! %6! -%$2-(99(#6%$!
:C,H+$&(3(%,3",I&%"J(&K(,L&*M"$%*'($*(,3",5(,:&/+$7.'*)(,
<==
!
b'#*42"%(*2+ !"#$"%&&(*$c3! WG6FG%! G6+! 1-%$%62+9(J6!
%6!1-#7G64(4+4!$%!$+)4-M+!4%)!8',(2#!4%!)+!+$(H6+2G-+B!
I%'#$! 9#6$(4%-+4#! (62%-%$+62%! 1-%$%62+-! +! )#$!
%$2G4(+62%$! G6+! ,-%;%! (62-#4G99(J6! +! %$2+! 4($9(1)(6+!
/+! FG%! 1+-+! 'G9I#$! 4%! %))#$B! $%-8! %)! V6(9#!
+9%-9+'(%62#! %6! 2#4+! $G! 9+--%-+! G6(;%-$(2+-(+3!
=#62(6G+64#! 9#6! %)! 2%'+! 4%! )#$! 0/%12"334A+ $%!
1-%$%62+! G6+! $#)G9(J6! 4%)! 1-#,)%'+! 4%! 9#)#-%+-! G6!
0/%12"33+ G2()(L+64#! )+$! %`2%6$(#6%$! 4%! 1-#H-+'+9(J6!
)JH(9+! 9#6! 4#'(6(#$! 7(6(2#$! $#1#-2+4+$! 1#-! +)HG6#$!
$($2%'+$! >-#)#H3! &6! 9#69-%2#B! +! 9#62(6G+9(J6! $%!
1-%$%62+!G6!1-%4(9+4#! M+!L5 FG%!-%))%6+!G6!0/%12"33+
9#6! )#$! ;+)#-%$! 2#'+4#$! 4%! G6! 4#'(6(#! \PBi^3! C%!
G2()(L+!)+!$(62+`($!4%!=*>b[0c!('1)%'%62+4#!%6!.i:!
>-#)#H!\]^3!!
)+$! 9+1+9(4+4%$! 4%! %$2%! 2(1#! 4%! )%6HG+N%$3! =+,%!
4%$2+9+-!%)!)(,-#!4%!2%`2#!%$9-(2#!1#-!>3!gG4+h!\Y@^!%6!
%)!FG%!$%!1-%$%62+!G6+!(62-#4G99(J6!+!)+!1-#H-+'+9(J6!
7G69(#6+)! (69)G/%64#! %N%'1)#! -%)+9(#6+4#$! 9#6!
$($2%'+$! 'G)2('%4(+3! &6! %)! )(,-#! $%! G2()(L+6! ;+-(+$!
)(,-%-M+$!%$1%9M7(9+$!FG%!1%-'(2%6!H%6%-+-!/!;($G+)(L+-!
)#$! 4(;%-$#$! %N%-9(9(#$! 1-#1G%$2#$3! *+! %$2-+2%H(+!
$%HG(4+!%6!%$2%!+-2M9G)#!%$!$('()+-!%6!%)!#,N%2(;#B!1%-#!
4(7(%-%! %6! )+! 7#-'+! 4%! ;($G+)(L+-! )+$! 9#6$2-G99(#6%$!
H-87(9+$3!C%!I+!#12+4#!1#-!G2()(L+-!;#9+,G)+-(#$!OP*!
FG%! $%! %$286! 9#6;(-2(%64#! %6! %$2864+-%$! %6! $G$!
-%$1%92(;#$! 9+'1#$3! &$2+! 2S96(9+! $G1#6%! ;+-(+$!
;%62+N+$E! %`($2%69(+! 4%! '+/#-! 6V'%-#! 4%!
I%--+'(%62+$! 4%! ;($G+)(L+9(J6B! 1#-2+,()(4+4! %62-%!
1)+2+7#-'+$! %! (64%1%64%69(+! 4%! )(,-%-M+$! %$1%9M7(9+$3!
W4%'8$B! )#$! %$2G4(+62%$! %'1)%+6! 2%96#)#HM+$! OP*!
colC(M,N,b(_),b(X)):-fd_domain(X,M,N).
%$2864+-!FG%!1G%4%6!$%-!,%6%7(9(#$+$!%6!#2-#$!9+'1#$!
colC(M,N,d(A,B,C,D),d(E,F,G,H)):4%!$G!2-+/%92#-(+!1-#7%$(#6+)3!
col(M,N,A,E),col(M,N,B,F),
col(M,N,C,G),col(M,N,D,H).
*+$! -%1-%$%62+9(#6%$! 4%9)+-+2(;+$! 4%! 0/%12"334!
*+! 6G%;+! ;%-$(J6! 4%! 6#=#)#-! G2()(L+64#! 7G%-#6! %$2G4(+4+$! %6! \_BaBYfBXY^3! d%9(%62%'%62%B! =3!
-%$2-(99(#6%$!$%-M+E!
<h+$+h(! \YR^! 2#'+! 9#'#! 1G62#! 4%! 1+-2(4+! )+!
-%1-%$%62+9(J6! %6! g+$h%))! 4%! G6! 0/%12"33+ 1+-+!!
noColorC(b(_)).
4%7(6(-! G6+! ('1)%'%62+9(J6! %7(9(%62%! 4%! '+2-(9%$!
noColorC(d(A,B,C,D)):9G+4-+4+$!
'%4(+62%!
2(1#$!
+6(4+4#$3!
CG!
noColorC(A), noColorC(B),
noColorC(C), noColorC(D),
('1)%'%62+9(J6! '+62(%6%! )+! 9#6$($2%69(+! 4%! )+!
right(A,Ar),left(B,Bl),diffC(Ar,Bl),
-%1-%$%62+9(J6!H-+9(+$!+)!$($2%'+!4%!2(1#$!4%!g+$h%))3!!
right(C,Cr),left(D,Dl),diffC(Cr,Dl),
&6! %)! 9+'1#! ('1%-+2(;#! %`($2%6! ;+-(#$! 2-+,+N#$!
down(A,Ad),up(C,Cu),diffC(Ad,Cu),
down(B,Bd),up(D,Du),diffC(Bd,Du).
\ABYYBY?^! FG%! -%$+)2+6! )+! G2()(L+9(J6! 4%! 0/%12"334+
9#'#!,G%6#$!%N%'1)#$!4%!1-892(9+$!4%!1-#H-+'+9(J6B!
diffC(l(X),l(Y)):-X #\= Y.
9%62-864#$%! 7G64+'%62+)'%62%! %6! $G! +1)(9+9(J6! 1+-+!
diffC(l(X),f(A,B)):-notElemC(X,A),
9#'1-('(-! ('8H%6%$3! &6! \R^! $%! 4%$9-(,%6! 4(;%-$#$!
notElemC(X,B).
diffC(f(A,B),l(X)):-notElemC(X,A),
+)H#-(2'#$!4%!9#)#-%+4#!4%!0/%12"334+/!$G!+1)(9+9(J6!
notElemC(X,B).
1-892(9+! %6! )+! 1)+6(7(9+9(J6! 4%! 9#'1G2+9(#6%$!
diffC(f(A,B),f(C,D)):-diffC(A,C),
1+-+)%)+$3!
diffC(B,D).
notElemC(X,l(Y)):-X #\= Y.
notElemC(X,f(A,B)):-notElemC(X,A),
notElemC(X,B).
!
<,$S-;%$%! FG%! )+! ('1)%'%62+9(J6! %$!
1-892(9+'%62%! (HG+)! +! )+! 1-%$%62+4+! %6! )+! $%99(J6!
+62%-(#-! /+! FG%! $#)+'%62%! $%! I+! $G$2(2G(4#! %)!
1-%4(9+4#!j@Pk!1#-!%)!1-%4(9+4#!jQ@Pk3!C(6!%',+-H#B!
%)! +)H#-(2'#! ,+$+4#! %6! -%$2-(99(#6%$! #,2(%6%! G6+!
$#)G9(J6! 1+-+! il?! %6! @3@Y$H! '(%62-+$! FG%! %)!
+)H#-(2'#!4%!)+!$%99(J6!+62%-(#-!2+-4+,+!A_3]$H3!
889!V+&)52%*;&,0,DW&"(%,3",'$(B(U+,
&)! 1-%$%62%! +-2M9G)#!1-#1#6%! G6!%$FG%'+! 4%! 2-+,+N#$!
1-892(9#$! FG%! 1-%2%64%! 1#2%69(+-! )+! ;($G+)(L+9(J6!
H-87(9+!4%!)#$!-%$G)2+4#$!+!)+!;%L!FG%!$%!%`1)#-+6!)+$!
4(;%-$+$!9+-+92%-M$2(9+$!4%!)#$!)%6HG+N%$!4%9)+-+2(;#$3!
WG6FG%!6#!$%!I+!-%+)(L+4#!G6!%$2G4(#!$($2%'82(9#!4%!
)+! -%+99(J6! 4%! )#$! %$2G4(+62%$! +62%! %$2%! %$FG%'+B!
1G%4%! +7(-'+-$%! FG%! )+$! 1-('%-+$! ('1-%$(#6%$! $#6!
+)2+'%62%! 1#$(2(;+$B! 9#6! G6! 1#-9%62+N%! 4%! +,+64#6#!
4%! )+! +$(H6+2G-+! 6#2+,)%'%62%! (67%-(#-! +)! 4%! 9G-$#$!
+62%-(#-%$3! C(6! %',+-H#B! %$2%! 2(1#! 4%! +7(-'+9(#6%$!
8>9!N$(B(U+,$"5()*+&(3+,
4%,%-M+! 9#62-+$2+-$%! 4%! G6+! 7#-'+! -(HG-#$+!
*+! %`(HG+! G2()(L+9(J6! 4%! )#$! )%6HG+N%$! 4%9)+-+2(;#$! 9#'1-#,+64#B! 1#-! %N%'1)#B! FG%! )#$! %$2G4(+62%$!
\X@^!I+!))%;+4#!+!;+-(#$!'(%',-#$!4%!%$2+!9#'G6(4+4! %`1G%$2#$! +! %$2%! 2(1#! 4%! %6$%K+6L+! -%+)'%62%!
+!)+!,V$FG%4+!4%!+1)(9+9(#6%$!+2-+92(;+$!FG%!-%$+)2%6! -%$G%);%6!'%N#-!#2-#$!1-#,)%'+$!4%!1-#H-+'+9(J63!!
<=O,
6$+-$(7()*;&?,(5-+$*'7+%,0,"%'$2)'2$(%,3",3('+%,
!
*+! H%6%-+9(J6! 4%! 'G64#$! ;(-2G+)%$! I+! $G1G%$2#! \Y@^! >3! gG4+hB! FI3+ 9%4:3,,+ P'I##,+ #.+ QR!"344(#*E+
G6! +)(9(%62%! %6! )+! (6;%$2(H+9(J6! 4%)! H-G1#! 50&[5O!
63%"*(*$+ 7/*'2(#*%,+ 5"#$"%&&(*$+ 2I"#/$I+
\Y_BY]^3! &62-%! )+$! 7G2G-+$! )M6%+$! 4%! (6;%$2(H+9(J6! $%!
>/,2(&31(%A+=+',-(4H%!:6(;3!>-%$$B!X@@@!
%69G%62-+! %)! %$2G4(#! 4%! 9#'G6(4+4%$! ;(-2G+)%$! 2(1#! \YY^! d3! "('S6%LD>%-($B! C3! pIG-(B! P3! >+2(K#D
B'2(@3H#",14+\Y^!4#64%!)#$!%$2G4(+62%$!1G%4+6!;($(2+-!
P+-2M6%LB! B11(*$+ G"3%12I+ 2#+ VPW+ %*1+ VPN+
)+!9#'G6(4+4B!9-%+-!$G$!1-#1(#$!'G64#$!/!9#6;%-$+-!
'#/"434+ 2I"#/$I+ @(4/%,+ %*1+ (*23"%'2(@3+
9#6!#2-#$!%$2G4(+62%$!'%4(+62%!'I%2;!
!"#$"%&&(*$+!"#X3'24A+W=P!C5.=C&!mG))%2(6!
?YbYcB!P+-L#B!Yfff!
\YX^! "3! p++$,q))B! QR!,#"(*$+ 1(1%'2('+ &#13,4+ .#"+
!"/"$"&)*(%,
!"#$"%&&(*$A+ i#-$h! 567#-'+2(hhDp#67%-+6$%B!
gqH$h#)%6!5!WH4%-B!Yffa!!
\Y^! W92(;%e#-)4$B!18H(6+!e%,E!
\Y?^! C3! pIG-(B! g3! g$GB! L*23"%'2(@3+ 5%':%$34+ .#"+
!!!!!!!!!!!!R1178SSTTT("M1',-T+$!>&(M+<!
,3%"*(*$+ (&%$3+ '#&!"344(#*+ %,$#"(2I&4B! W=P!
\X^! d3! m+9hI#G$%B! >3! "+6$$#6B! "3! "%G-(6HB! *3!
C5.=C&!mG))%2(6!?Xb?cB!C%123!X@@@!
P%%-2%6$B! J3*3"('+ 5"#$"%&&(*$+ K+ B*+
L*2"#1/'2(#*A+
W4;+69%4!
[G692(#6+)! \Y_^! "3&3! *+,-+B! "3P3! P#-+)%$B! d3! TG--+4#B!
5,%2%.#"&%+ 13+ 3*43Y%*Z%+ 13+ ,3*$/%X34+ 13+
>-#H-+''(6HB! *%92G-%! i#2%$! (6! =#'1G2%-!
!"#$"%&%'()*+ %+ 2"%@[4+ 13+ L*23"*32E+ 5"#-3'2#+
C9(%69%B!;#)!YR@aB!C3!Cn(%-$2-+B!>3!g%6-(FG%$B!"3!
L13.(RA+ "#-6+4+$! 4%! &6$%K+6L+! :6(;%-$(2+-(+! 4%!
i3!<)(;%(-+!b&4$cB!Yfff!
567#-'82(9+B!"&i:5DX@@XB!=89%-%$B!"G63!X@@X!
\?^! T3! m-+/B! "3! >+#)(B! =3! P3! C1%-,%-HDP9oG%%6B!
&`2%6$(,)%!
'+-hG1!
)+6HG+H%!
bY3@cB! \Y]^! "3&3!*+,-+B!"3!P3!P#-+)%$B!W3!P3![%-6864%LB!g3!
C+H+$2%HG(B!B+J3*3"('+3863%"*(*$+
R1178SSTTT(TU(+$2SKVSVWLBA<!B!<92!X@@@!
>/,2(!%"%1($&+5"#$"%&&(*$+6%*$/%$3+
\_^! [3! e3! mG-2#6B! "3! .3! p#))(+$3! 7/*'2(#*%,+
P-423&E+LTQ7L\+5"#X3'2B!W=P!?_2I!C5.=C&!
!"#$"%&&(*$+ M(2I+ 0/%12"334;+ 5&&&! C#72n+-%B!
T%9I6(9+)!C/'1#$(G'!#6!=#'1G2%-!C9(%69%!
RbYcEf@DfAB!&6%-#B!Yfaf!
&4G9+2(#6B!d%6#B!i%;+4+B!:CWB![%,-%-#!X@@?!
\]^! >3! =#4#H6%2! +64! 03! 0(+L3! =#'1()(6H!
=#6$2-+(62$! (6! =*>b[0c3! C#/"*%,+ #.+ 6#$('+ \YR^!! =I-($! <h+$+h(B! 7"#&+ 7%42+ 3R!#*3*2(%2(#*+ 2#+
P0/%"3+>%2"('34E+B*+%1@3*2/"3+(*+F-!34B!W=P!
5"#$"%&&(*$B!Q#)3!XAB!i#3!?B!"G6%!YffR!
C5.>*Wi! i#2(9%$! ?_bfcB! 562)3! =#67%-%69%! #6!
\R^! 03! &11$2%(6B! P3! e3! m%-6B! m3! gG29I(6H$B!
[G692(#6+)!>-#H-+''(6HB!113!XaD?]B!Yfff!
B,$#"(2I&4+
.#"+
'#,#"(*$+
0/%12"334A+
\YA^! g+6+6! C+'%2! FI3+ 0/%12"33+ %*1+ "3,%231+
W)H#-(2I'(9+B!?XbYcB!&6%3!NOON!!
I(3"%"'I('%,+ 1%2%+ 42"/'2/"34;+ W=P! =#'1G2(6H!
\A^! "3! m3! [%6n(9h! "-3B! =3! i#--($B! "3! e()h%$B!
CG-;%/$B!YRbXcE!YaADXR@B!"G6(#!Yfa_3!
P'(3*2(.('+ QR!3"(&3*2%2(#*+ @(%+ 2I3+ >%2'I(*$+
J%&3AC5.=C&! mG))%2(6! ?_bYcB! ??2I! C5.=C&! \Ya^! "3C%H+)B! Q&!("('%,+ 42/1(34+ #.+ ./*'2(#*%,+
!"#$"%&&(*$+ ,3%"*3"4+ 3@%,/%2(*$+ "3'/"4(@3+
T%9I6(9+)! C/'1#$(G'! #6! =#'1G2%-! C9(%69%!
./*'2(#*4A+ 56$2-G92(#6+)! C9(%69%! XXB! ?a]D_YYB!
&4G9+2(#6B!P+-L#B!X@@X!
Yff]!
\a^! "3!03![-%6$B!03!C3!e($%B!P+2-(`!(6;%-$(#6!G$(6H!
FG+42-%%$! ('1)%'%62%4! (6! H#7%-3! T%9I6(9+)! \Yf^! C3! &4%)'+6! +64! &3! CI+1(-#B! ?/%12"334+ (*+
'#*'/""3*2+ !"#,#$B! >-#93! 562)3! =#67%-%69%! #6!
d%1#-2! _??B! =#'1G2%-! C9(%69%! 0%1+-2'%62B!
>+-+))%)!>-#9%$$(6HB!Yfa]B!113!]__D]]Y!
564(+6+!:6(;%-$(2/B!P+/#!Yff]!
\f^! "3! .##4B! >3! m-6+B! S#@('3+ T(..('/,2(34+ M(2I+ \X@^! >3! e+4)%-B! HI-+ *#+ #*3+ /434+ ./*'2(#*%,+
!"#$"%&&(*$+ ,%*$/%$34UA! W=P! C5.>*Wi!
"3'/"4(#*E+ T#+ $"%!I('%,+ =3!"343*2%2(#*4+ 9#,1+
i#2(9%$!??bacE!X?DXAB!WH#$2#B!Yffa!
2I3+ 4#,/2(#*UB! &G-#1%+6! =#67%-%69%! #6!
W-2(7(9(+)! 562%))(H%69%! (6! &4G9+2(#6B! *($,#+B! \XY^! 03! e($%B! >%2"(R+ %,$#"(2I&4+ /4(*$+ 0/%12"334;!
T%9I6(9+)! d%1#-2! ?]AB! =#'1G2%-! C9(%69%!
>#-2GH+)B!<923BYffR!
0%1+-2'%62B! 564(+6+! :6(;%-$(2/B! "G63B! YffX
!
Descargar