Programacion a Eventos

Embed Size (px)

Citation preview

  • 8/16/2019 Programacion a Eventos

    1/23

    Guía n° 5: Programación a eventos

    Jhonatan Andrés Ortiz Rubiano

    Centro de !ectricidad !ectrónica " #e!ecomunicaciones

    $istemas

    %nstructor 

    &iana #orres

    'ogot( &)C

    *+,-

    ContenidoIntroducción...................................................................................................2

    Guía N° 5: Programación a eventos...............................................................3

    Actividad 1.................................................................................................. 3

    Actividad 2.................................................................................................. 4

    Actividad 3................................................................................................ 15

    Concusiones................................................................................................2!

  • 8/16/2019 Programacion a Eventos

    2/23

    %ntroducción

    n esta guía vamos a rea!izar actividades en !as cua!es se re.uierese!eccionar estrategias e/ectivas 0ara a"udar a .ue !os a0rendices !asdesarro!!en) Para atender esta necesidad1 !a 0rogramación decom0utadores constitu"e una buena a!ternativa1 siem0re " cuando se !aen/o.ue a! !ogro de esta destreza " no a !a /ormación de 0rogramadores)s im0ortante insistir en esta orientación debido a .ue es un 0unto dea0o"o en !a /ormación basada en 0ro"ectos1 0ermitiéndo!e a! a0rendiz$2A1 ad.uirir conocimiento " habi!idades 0ara !a so!ución de 0rob!emas

    en e! cam0o !abora! a! cua! va en/ocada su /ormación)

  • 8/16/2019 Programacion a Eventos

    3/23

    n esta guía de a0rendiza3e1 !os a0rendices 0odr(n ad.uirir e!conocimiento en !engua3e de 0rogramación orientado a eventos1 iniciandocon !a estructura b(sica !a cua! son !os a!goritmos1 0asando 0or !a

    diagramación " 0or 4!timo !a creación de /rontend " bacend en b(sicos enso/t6are de desarro!!o1 a/ines con e! 0roceso de /ormación)

     

    Guía 2° 5: Programación a eventos

     Actividad ,7os a!goritmos son una base 0ara !a so!ución de 0rob!emas1 estosa0o"ados con e! !engua3e de 0rogramación orientada a eventos1 0ermitir(ne! desarro!!o de a0!icaciones b(sicas 0ara e! uso cotidiano en !a mi 0"mes einstituciones educativas8 basado en esto usted como a0rendiz $2A1/orm4!ese !as siguientes 0reguntas:

    9ué es un a!goritmo;

  • 8/16/2019 Programacion a Eventos

    4/23

    de! a!goritmo reso!veré muchos de estos 0rob!emas de una /orma e/icaz "en e! menor tiem0o 0osib!e)

    9s necesario su a0!icación seg4n mi 0ro"ecto /ormativo " 0roductivo;

    $i1 >u" necesario debido a como !o di3e anteriormente !a vida cotidiana est(!!ena de diversos " distintos 0rob!emas1 !os cua!es debemos reso!ver!os de!modo m(s organizado " 0r(ctico 0ara e!!o en e! cam0o /ormativo me ser(4ti! en tanto !a 0r(ctica " en !o 0roductivo daré a conocer !o 0racticado " serébastante e/icaz 0ara so!ucionar estos 0rob!emas)

    9Cu(! es e! bene/icio 0ara !a comunidad " en mi 0roceso /ormativo;

    ! bene/icio en comunidad1 sería .ue mucha gente necesitara mis servicioscomo técnico1 esto 0ara so!ucionar e/icazmente sus 0rob!emas cotidianos) ntanto !o /ormativo 0ara tener una buena /ormación debo tener c!aro cómo hacer una buena so!ución .ue se me 0resenta adem(s de e!!os debo tener c!aro unorden 0ara así tener una buena so!ución)

     Actividad *

    Pro0uesta 0ara desarro!!ar en ? horas de /ormación)

    Consu!tar:

    9ué es una variab!e;

    $on e!ementos .ue toman va!ores es0ecí/icos de un ti0o de datos concreto) 7adec!aración de una variab!e 0uede rea!izarse comenzando con var)Princi0a!mente1 e@isten dos maneras de otorgar va!ores inicia!es a variab!es:

    ,) >ediante una sentencia de asignación)*) >ediante un 0rocedimiento de entrada de datos 0or e3em0!o: BreadB)  )))

    9ué es una constante;

  • 8/16/2019 Programacion a Eventos

    5/23

    Constantes A!/anuméricas

    Constantes 7ógicas 'oo!enas

    7as constantes 0ueden ser:

    Constantes sin nombre: s una e@0resión numérica donde se 0uede uti!izardirectamente e! va!or)

    Constantes con nombre: $e hace una reserva de memoria en !a cua! se guardae! va!or .ue ser( uti!izado como constante

    9ué es una /unción;

    7as /unciones son !a e@0resión de !os a!goritmos en un !engua3e de0rogramación es0ecí/ico de !a com0utadora) #4 0uedes uti!izar !as /uncionescuando !as necesites) 2o tienes .ue reescribir !as !íneas de! códigore0resentadas 0or !a /unción cada vez .ue re.uiera de !a misma)

  • 8/16/2019 Programacion a Eventos

    6/23

  • 8/16/2019 Programacion a Eventos

    7/23

    Pueden usarse 0ara crear 0rogramas .ue contro!en e! com0ortamiento /ísico "

    !ógico de una m(.uina1 0ara e@0resar a!goritmos con 0recisión1 o como modo

    de comunicación humana)

     Actividades de a0ro0iación de! conocimiento Conce0tua!ización " #eorización)

  • 8/16/2019 Programacion a Eventos

    8/23

    9ué es un diagrama de /!u3o;

    s una re0resentación gr(/ica de un a!goritmo mediante una serie de símbo!os1.ue contienen en su interior !os 0asos de! a!goritmo1 " unas /!echas .ue !osunen indicando !a secuencia orden en !a .ue se deben e3ecutar) 7os símbo!os

    re0resentan acciones " !as /!echas e! /!u3o de! a!goritmo) 7a descri0ción de !as/unciones se 0uede rea!izar de /orma narrativa1 usando un !engua3e natura!conviene .ue sea 0arecido a! 0seudocódigo

    9Cu(! es !a simbo!ogía usada 0ara !a creación de diagrama de /!u3o;

    Proceso

    >ostrar un 0roceso o 0aso de acción) stees e! símbo!o m(s com4n en !os diagramasde /!u3o de 0rocesos " ma0as de 0rocesos

    de negocio)

    Proceso0rede/inido

    $ubrutina

  • 8/16/2019 Programacion a Eventos

    9/23

    Pre0aración

    Como dice e! nombre1 cua!.uier 0aso de!0roceso .ue es un 0roceso de 0re0araciónde cauda!1 como una 0uesta a 0unto !ao0eración)

    >anua! deO0eración

    >anua! de !as /ormas de diagrama de /!u3ode o0eraciones .ue se muestran !os 0asosde! 0roceso no est(n automatizados) n !osdiagramas de /!u3o de 0roceso de datos1esta /orma de /!u3o de datos indica unao0eración de buc!e 3unto con un símbo!o de!ímite de buc!e .ue no es com0atib!e con>icroso/t O//ice1 sino un símbo!o >anua! deO0eración de girar ,M+ ° har( e! truco)

    " Contro! de rami/icación de !os símbo!os de /!u3o

    !o6 7ine!echa1 conector

    Conectores de /!u3o !ínea de mostrar !adirección .ue e! 0roceso de !os /!u3os)

    #erminator#ermina! Puntode óva!o

    #erminators mostrar !os 0untos de inicio " /inde un 0roceso) Cuando se uti!iza como unsímbo!o en %nicio1 terminadores re0resentanun grupo de disparo, .ue estab!ece e! /!u3o

    de 0roceso en marcha)

    &ecisión

    %ndica una 0regunta o una sucursa! en e!/!u3o de! 0roceso) Por !o genera!1 una /ormade diagrama de /!u3o &ecisión se uti!izacuando ha" dos o0ciones $í N 2o1 2o N 2oGo1 etc

    Conector%ns0ección

    &iagrama de /!u3o: n !os diagramas de/!u3o1 este símbo!o sue!e ser 0e.ueHo " seuti!iza como un conector 0ara mostrar unaumento de un 0unto en e! /!u3o de 0rocesoa otro) 7os conectores son usua!mentemarcadas con !etras ma"4scu!as A1 '1 AA0ara mostrar !os 0untos de coincidenciasa!to) $on 4ti!es 0ara evitar e! /!u3o de !as!íneas .ue se cruzan otras /ormas " !íneasde /!u3o) !!os también son 4ti!es 0ara e!sa!to " de un sub0rocesos de/inidos en !azona 0ara .ue e! diagrama de /!u3o

    0rinci0a!)

  • 8/16/2019 Programacion a Eventos

    10/23

    Proceso de Asignación: n !os ma0as de0rocesos1 este símbo!o es de tamaHocom0!eto " muestra un 0unto de ins0ecciónen e! /!u3o de! 0roceso)

    [Sólo para confundir más las cosas, algunas

     personas utilizan un círculo para indicar una

    operación y un cuadrado para indicar una

    inspección. Es por eso que es importante

    incluir una clave de símbolo en el diagrama

    de flujo. 

    Conector /uera de0(gina

    uera de !a 0(gina Conector muestra !acontinuación de un organigrama de 0rocesoen otra 0(gina) Cuando se uti!izan encombinación con conectores1 !o me3or es0ara di/erenciar !as eti.uetas1 0or e3em0!o1n4meros de uso 0ara O//Page Conectores" !etras ma"4scu!as 0ara conectores) n !a0r(ctica1 !a ma"oría de !os diagramas de/!u3o só!o tiene .ue uti!izar !a /orma deconectar dos re/erencias en !a 0(gina "/uera de !a 0(gina)

    CombinaciónA!macenamiento

    &iagrama de /!u3o: >uestra !a /usión devarios 0rocesos " !a in/ormación en unaso!a)Proceso de asignación: 0or !o genera! indica.ue e! a!macenamiento de materias 0rimas)

    @tractomedición

    &iagrama de /!u3o: A0arece cuando un0roceso se divide en caminos0ara!e!os) #ambién indica una /recuencia de

    medición1 con K>K ma"4scu!a dentro de!símbo!o)Proceso de asignación: 0or !o genera! indica.ue e! a!macenamiento de 0roductosterminados)

    O 7a muestra o símbo!o !ógico cuando un0roceso se a0arta 0or !o genera! durantem(s de dos ramas) Cuando se uti!iza estesímbo!o1 es im0ortante eti.uetar !as !íneasde /!u3o sa!iente 0ara indicar !os criterios a

  • 8/16/2019 Programacion a Eventos

    11/23

    seguir cada rama)

    n resumen1 !asa!ida

    7a !ógica Resumiendo /orma de diagramade /!u3o de cone@iones se muestra cuandoconvergen varias ramas en un so!o0roceso) ! símbo!o de combinación es m(scom4n 0ara este uso1 sin embargo) stesímbo!o " e! símbo!o O son rea!mente m(sre!evantes en e! 0rocesamiento de datos dediagramas de /!u3o .ue en !os diagramas de/!u3o de! 0roceso)

    ntrada " símbo!os de sa!ida

    &atos N $

    7a /orma de diagrama de /!u3o de datos

    indica .ue !as entradas " sa!idas de un0roceso) Como ta!1 !a /orma es m(s amenudo se conoce como N $ .ue /ormauna /orma de datos)

    &ocumento

    >u" e@0!ica 0or sí mismo e! símbo!o dediagrama de /!u3o de documentos es 0arauna /ase de! 0roceso .ue 0roduce undocumento)

    >u!ti&ocumento

    %gua! .ue e! documento1 e@ce0to1 bueno1varios documentos) sta /orma no es tan deuso genera! como !a /orma de diagrama de/!u3o de documentos1 inc!uso cuando est(nim0!icados varios documentos)

    >ostrar 

    %ndica una eta0a de! 0roceso donde !ain/ormación se muestra a una 0ersona 0or e3em0!o1 !os usuarios de PC1 o0erador de !am(.uina)

    >anua! dentrada

    >anua! de !as /ormas de diagrama de /!u3ode entrada muestra !os 0asos de! 0rocesodonde se !e 0ide a! o0erador N usuario 0araobtener in/ormación .ue deben introducir manua!mente en un sistema)

    #ar3etasta es !a com0aHía de !as /ormas dediagrama de /!u3o de cinta 0er/orada) sta/orma se uti!iza raramente)

  • 8/16/2019 Programacion a Eventos

    12/23

    Per/oradas decinta

    $i eres mu" bueno en todos !osestiramientos de !a vida de una m(.uina1usted todavía 0uede tener e! uso de!símbo!o de cintas 0er/oradas se usa 0ara

    !a entrada en ordenadores antiguos "m(.uinas C2C)

     Archivo " A!macenamiento de símbo!os de in/ormación

    7os datosa!macenados

  • 8/16/2019 Programacion a Eventos

    13/23

    b Rea!izar un in/orme sobre !os conce0tos encontrados en !a investigaciónrea!izada)

    stos conce0tos encontrados me han sido de una gran a"uda debido a ac!aranbastante sobre !os conce0tos " como saber so!ucionar un 0rob!ema 0or medio

    de! a!goritmo1 muchos de estos conce0tos no eran mu" bien conocidos 0or mí10ero gracias a !a investigación de estos entiendo mucho me3or comoim0!ementar!o Por medio de !os a!goritmos)

    c ormu!e como mínimo seis a!goritmos " aumente su nive! decom0!e3idad seg4n e! a!goritmo anterior1 adiciona!mente rea!ice !osdiagramas corres0ondientes 0ara cada uno de e!!os)

    n un traba3o se 0aga a ,+ !a hora1 !a hora e@tra a ,*1 0edir !as horastraba3adas de cada em0!eado " decir cu(nto se !e 0agar( 7a 3ornada !abora!com0render( M horas) &iarias de !unes a viernes)

    $O7

  • 8/16/2019 Programacion a Eventos

    14/23

    7eo Lt

    Ca!cu!o PF Lt,5 Q,5+Q5+

    %m0rima Eresu!tadoFD1 P

    %2

    $i un vendedor rea!iza I ventas " 0or cada una de e!!as se !e da una comisiónde! ,+1 " su sue!do base es de *15++1 9cu(nto recibir( de 0ago;

    $O7

  • 8/16/2019 Programacion a Eventos

    15/23

      P/ E0ago ina!D

    %nicio EPago tota! de I artícu!os con %=A inc!uido " e! descuento de uno de e!!osD

    7eo A1 '1 C

    Ca!cu!o PtF AQA+),5 Q'Q'+),5 QCQC+),5

      P/F PtPt+)+?

    %m0rimir Eresu!tadoFD1 P/ 

    %2

    :

     Actividad I

    Consu!tar 

    9ué es 0rogramación orientada a eventos " sus conce0tos b(sicos;

    7a Programación Orientada a ventos:

    @isten distintos ti0os de 0rogramas) n !os 0rimeros tiem0os de !osordenadores !os 0rogramas eran de ti0o secuencia! también !!amados ti0obatch)

  • 8/16/2019 Programacion a Eventos

    16/23

    7os 0rogramas interactivos e@igen !a intervención de! usuario en tiem0o dee3ecución1 bien

    0ara suministrar datos1 bien 0ara indicar a! 0rograma !o .ue debe hacer 0ormedio de men4s) 7os 0rogramas interactivos !imitan " orientan !a acción de!

    usuario)Por su 0arte !os 0rogramas orientados a eventos son !os 0rogramas tí0icos deTindo6s1 ta!es como 2etsca0e1 Tord1 @ce!1 Po6erPoint " otros) Cuando unode estos 0rogramas ha arrancado1 !o 4nico .ue hace es .uedarse a !a es0erade !as acciones de! usuario1 .ue en este caso son !!amadas eventos)

    ! usuario dice si .uiere abrir " modi/icar un /ichero e@istente1 o bien comenzara crear un /ichero desde e! 0rinci0io) stos 0rogramas 0asan !a ma"or 0arte desu tiem0o es0erando !as acciones de! usuario eventos " res0ondiendo a e!!as)7as acciones .ue e! usuario 0uede rea!izar en un momento determinado son

    variadísimas1 " e@igen un ti0o es0ecia! de 0rogramación: !a 0rogramaciónorientada a eventos) ste ti0o de 0rogramación es sensib!emente m(scom0!icada .ue !a secuencia! " !a interactiva1 0ero con !os !engua3es visua!esde ho"1 se hace senci!!a " agradab!e)

    Conce0tos '(sicos &e stos:

    =2#O$:

    Ua se ha dicho .ue !as acciones de! usuario sobre e! 0rograma se !!amaneventos) $on eventos tí0icos e! c!ic sobre un botón1 e! hacer dob!e c!ic sobree! nombre de un /ichero 0ara abrir!o1 e! arrastrar un icono1 e! 0u!sar una tec!a ocombinación de tec!as1 e! e!egir una o0ción de un men41 e! escribir en una ca3ade te@to1 o sim0!emente mover e! ratón) >(s ade!ante se ver(n !os distintosti0os de eventos reconocidos 0or Tindo6s V5 " 0or =isua! 'asic) Cada vez .uese 0roduce un evento sobre un determinado ti0o de contro!1 =isua! 'asicarranca una determinada /unción o 0rocedimiento .ue rea!iza !a acción0rogramada 0or e! usuario 0ara ese evento concreto) stos 0rocedimientos se!!aman con un nombre .ue se /orma a 0artir de! nombre de! ob3eto " e! nombrede! evento1 se0arados 0or e! car(cter W1 como 0or e3em0!o t@t'o@Wc!ic1 .uees e! nombre de! 0rocedimiento .ue se ocu0ar( de res0onder a! evento c!ic en

    e! ob3eto t@t'o@)

    PROP%&A&$ U >X#O&O$:

     Adem(s de !os eventos1 !a ma"or 0arte de !os ob3etos1 como !os /ormu!arios "!os contro!es1 son suministrados con 0ro0iedades " métodos)

    $on conce0tos /undamenta!es e im0ortantes)

    Pro0iedades)

  • 8/16/2019 Programacion a Eventos

    17/23

    diseHo usando !a ventana Pro0iedades "No en tiem0o de e3ecución a!0rogramar)

     A continuación1 se describen dos e3em0!os de !as 0ro0iedades de! /ormu!ario de=isua! 'asic:

    >in'utton) sta 0ro0iedad 0uede asignarse como #R%2A&OR & O'J#O$ " en !a 'ib!ioteca='RX#O&O$:

    7os métodos son /unciones .ue también son !!amadas desde 0rograma1 0ero adi/erencia de !os 0rocedimientos no son 0rogramadas 0or e! usuario1 sino .uevienen "a 0re0rogramadas con e! !engua3e) 7os métodos rea!izan tareastí0icas1 0revisib!es " comunes 0ara todas !as a0!icaciones) de ahí .ue vengancon e! !engua3e " .ue se !ibere a! usuario de !a tarea de 0rogramar!os) Cadati0o de ob3eto o de contro! tiene sus 0ro0ios métodos)

    n genera! so!o 0ueden ser e3ecutados en tiem0os de e3ecución no en tiem0ode diseHo) A!gunos e3em0!os de métodos de /ormu!arios son e! método >O=1.ue mueve un /ormu!ario en un es0acio de dos dimensiones en !a 0anta!!a1 " e!método ZOR&R .ue sit4a e! /ormu!ario de!ante o detr(s de otras ventanas)

    7os métodos son invocados dando nombres a! ob3eto " cu"o método se est(!!amando1 !istando e! o0erador 0unto )1 " des0ués !istando e! nombre de!método) Como cua!.uier rutina !os métodos 0ueden incor0orar argumentos

    9Cu(!es son !as a0!icaciones .ue me 0ermite desarro!!ar;

    orm,)$ho6 ,

    ste método $ho6 carga " muestra un /ormu!ario1 dos acciones distintas .ue/orman ambas 0artes de! 0roceso de nacimiento o inicio a un /ormu!ario a!e3ecutar e! /ormu!ario de inicio se carga también 0rimero e! /ormu!ario "des0ués se muestra) ! método $ho6 0uede ser invocado como no moda! omoda!) >oda! signi/ica .ue no se e3ecuta ning4n código 0osterior hasta .ue e!/ormu!ario se ocu!te o se descargue) Cuando se muestra un /ormu!ario moda!no se 0uede 0roducir ninguna entrada de usuario de tec!ado o c!ic de! ratóne@ce0to 0ara !os ob3etos de! /ormu!ario moda!) $i se activa e! esti!o , uno es

    moda! " + cero es no moda!)=isua! $igni/ica =isua!)

  • 8/16/2019 Programacion a Eventos

    18/23

    Como e! nombre !o indica1 una gran 0arte de !a 0rogramación con =isua! 'asicse rea!iza visua!mente) sto signi/ica .ue durante e! tiem0o de diseHo ustedtiene !a ca0acidad de ver !a /orma en e! 0rograma se ver( a! e3ecutarse sta esuna gran venta3a sobre otros !engua3es de 0rogramación debido a .ue se tiene!a ca0acidad de cambiar " e@0erimentas con e! diseHo hasta .ue se esté

    satis/echo con !os co!ores1 0ro0orciones e im(genes .ue inc!u"a en su0rograma)

    Programas Para ! ntorno Tindo6s)

    =isua! 'asic est( orientado a !a rea!ización de 0rogramas 0ara Tindo6s10udiendo incor0orar todos !os e!ementos de este entorno in/orm(tico: ventanas1botones1 ca3as de di(!ogo " de te@to1 botones de o0ción " de se!ección1 barrasde des0!azamiento1 gr(/icos1 men4s1 etc) Pr(cticamente todos !os e!ementos deinteracción con e! usuario de !os .ue dis0one Tindo6s V5 0ueden ser0rogramados en =isua! 'asic de un modo e@traordinariamente senci!!o) nocasiones bastan unas 0ocas o0eraciones con e! ratón " !a introducción através de! tec!ado de a!gunas sentencias 0ara dis0oner de a0!icaciones contodas !as características de Tindo6s V5)

    9ué es !engua3e de 0rogramación;

  • 8/16/2019 Programacion a Eventos

    19/23

    @iste un error com4n .ue trata 0or sinónimos !os términos B!engua3e de0rogramaciónB " B!engua3e in/orm(ticoB) 7os !engua3es in/orm(ticos eng!oban a!os !engua3es de 0rogramación " a otros m(s1 como 0or e3em0!o L#>7!engua3e 0ara e! marcado de 0(ginas 6eb .ue no es 0ro0iamente un !engua3ede 0rogramación1 sino un con3unto de instrucciones .ue 0ermiten estructurar e!

    contenido de !os documentos)

    Permite es0eci/icar de manera 0recisa sobre .ué datos debe o0erar unacom0utadora1 cómo deben ser a!macenados o transmitidos " .ué accionesdebe tomar ba3o una variada gama de circunstancias) #odo esto1 a través de un!engua3e .ue intenta estar re!ativamente 0ró@imo a! !engua3e humano o natura!)

  • 8/16/2019 Programacion a Eventos

    20/23

    $o/t6are 7ibre $o/t6are 7icenciadoste ti0o de so/t6are tienen unti0o de !icencia !ibre1 a! momentode usar!os1 modi/icar!os o ena!gunos casos distribuir!os son0ermitidos a todos !os usuarios)ntre !as m(s resa!tantes !icencias!ibres 0odremos mencionar G7P !acua! est( hecha 0ara .ue e!

    usuario 0ueda modi/icar e! traba3oo 0ueda agregar!o a un 0ro"ectodonde este !aborando8 7GP7 esun ti0o m(s !ibre inc!usivecomercia!) ! tener !acaracterística de !ibre nonecesariamente .uiere decir .uees una a0!icación gratuita1 "a .uemuchos so/t6ares de este ti0o0ueden 0onerse a !a venta de

    consu!toría o servicio ane@os)

    #ambién conocido como comercia!" también 0or a!gunos usuarioscomo 0ro0ietario1 es a.ue!so/t6are .ue es de 0ro0iedad0rivada1 " e! usar!o im0!ica !ama"oría de veces un 0ago 0ara0oder obtener !a !icencia de uso)La" .ue tener en cuenta .ue

    cuando com0ramos !a !icencia1so!o ad.uirimos !os derechos deuso mas no 0odemos editar ocom0artir e! so/t6are1 a! momentode ad.uirir!o nos brindan una!icencia " esa nos identi/ica comousuarios1 mediante esta 0odemoshacer uso de! 0rograma)

  • 8/16/2019 Programacion a Eventos

    21/23

    Conc!usiones

    n conc!usión1 !os A!goritmos son !as instrucciones .ue se deben tomar 0ara

    reso!ver un 0rob!ema 0aso a 0aso1 " a.uí en este documento est( !a evidencia)

     

  • 8/16/2019 Programacion a Eventos

    22/23

  • 8/16/2019 Programacion a Eventos

    23/23