Objetivo: Identificar los conceptos, tipos y manejadores de eventos para su utilización en el desarrollo de aplicaciones bajo el paradigma de programación orientada a eventos.
RD Unidad 2: Transmisión de datos. El mundo del TCP/IP y direccionamiento iPv4
POE Unidad 1: Introducción a la programación visual y de eventos
1. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 1
23/04/2022
Introducción a la
programación visual y de
eventos
Unidad 1
Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo
para uso de los cursos de Programación Orientada a Eventos
2. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 2
23/04/2022
Objetivo general de la Unidad 1
Identificar los conceptos, tipos y manejadores de
eventos para su utilización en el desarrollo de
aplicaciones bajo el paradigma de programación
orientada a eventos.
3. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 3
23/04/2022
Contenido
• Paradigmas de programación.
• Paradigma orientado a eventos: definición,
estructura, características y tipos de
eventos.
• Paradigma de la Programación Visual.
• Lenguajes de programación visual y
orientada a eventos.
4. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 4
23/04/2022
Paradigma
Término común en el vocabulario científico y en
expresiones epistemológicas cuando se hacía
necesario hablar de modelos o patrones.
5. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 5
23/04/2022
Paradigmas de Lenguajes
• Se reconoce generalmente 4 paradigmas
de programación:
– Imperativo (Estructurado)
– Aplicativo (Funcional)
– Orientado a Objetos
– Lógico
6. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 6
23/04/2022
Lenguajes Imperativos
• Su objetivo es entender y definir el estado de
la máquina (conjunto de posiciones de
memorias, cada una conteniendo un valor).
• Lenguajes orientados a instrucciones
• El programa consiste en elaborar un conjunto
de instrucciones para que la máquina llegue
a la respuesta.
• Ejemplos: C, Fortran, Pascal, Cobol
• Sintaxis: S1, S2, S3, S4, …
7. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 7
23/04/2022
Lenguajes Imperativos
• Programación: serie de pasos (input,
cálculo, ouput).
• Elementos: abstracción procedural,
asignación, loops, secuencias,
condicionales.
8. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 8
23/04/2022
Lenguajes Funcionales
• Su objetivo es entender la función que
produciría la respuesta deseada.
• Es orientada hacia la composición de
funciones.
• Programar consiste en construir la función
que halle la respuesta.
• Ejemplos: ML, Lisp, Scheme, Haskell
• Sintaxis: F1(F2(F3(x)))
9. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 9
23/04/2022
Lenguajes Funcionales
• Programación: colección de funciones que
se combinan en formas complejas para
construir nuevas funciones.
• Elementos: alto orden, composición,
recursión.
10. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 10
23/04/2022
Orientados a Objetos
• Su objetivo es modelar el problema con
elementos similares a los realmente
presentes.
• Programar significa generar objetos que
intercambian mensajes entre si para
resolver un problema.
• Ejemplos: Smalltalk, C++, Java, Squeak,
C#
• Sintáxis: O1 ->mensaje-> O2.
11. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 11
23/04/2022
Orientados a Objetos
• Lenguajes imperativos que unen diseños
aplicativos con sentencias imperativas.
• Sintaxis: Conjunto de objetos (clases)
conteniendo datos (concepto imperativo) y
métodos (conceptos aplicativos).
• Programación: colección de objetos que
interactúan pasándose mensajes que
transforman estados.
• Elementos: modelado de objetos, clases,
herencia, encapsulamiento.
12. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 12
23/04/2022
Lenguajes Lógicos
• Definen reglas para decidir cuando la
respuesta ha sido alcanzada.
• Utiliza un conjunto de reglas para deducir
los atributos de la respuesta.
• Ejemplos: Prolog
• Sintaxis: Regla -> Conclusión
13. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 13
23/04/2022
Contenido
• Paradigmas de programación.
• Paradigma orientado a eventos: definición,
estructura, características y tipos de
eventos.
• Paradigma de la Programación Visual.
• Lenguajes de programación visual y
orientada a eventos.
14. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 14
23/04/2022
POE: Definición
• Es un paradigma de programación en el
que la estructura y la ejecución de los
programas van determinados por los
sucesos o acciones que ocurren en el
sistema, definidos por el usuario o por el
propio sistema.
15. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 15
23/04/2022
POE: Características
• La programación orientada a eventos es muy fácil
de usar y es adecuada para aquellas personas
que tienen poco conocimiento en programación.
• Con los lenguajes orientados a eventos se pueden
realizar en poco tiempo aplicaciones sencillas y
muy funcionales, utilizando interfaces gráficas en
las que se insertan componentes o controles a los
que se le programan eventos.
• Dichos eventos permiten al usuario realizar una
serie de acciones lógicas para un determinado
programa.
16. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 16
23/04/2022
POE: Estructura
• Se manejan una serie de componentes o controles con
propiedades que se pueden cambiar para que el componente
se muestre en pantalla de forma diferente o actúe de otra
manera dentro de la aplicación.
• Para cambiar las propiedades de un componente, primero
debemos seleccionar el componente deseado en la lista de
componentes, también debemos tener en cuenta que hay
algunos valores de propiedades de algunos componentes
que no son modificables y otros que sí lo son.
• Otro aspecto a tener en cuenta en la programación orientada
a eventos es el comprender y tener bien claro el concepto de
los siguientes términos:
– Evento
– Propiedades
– Métodos
17. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 17
23/04/2022
¿Qué son los eventos?
• Un evento es un suceso o acción que ocurre en un programa,
definido por el usuario o provocado por él mismo.
• Ejemplos de Eventos que pueden ocurrir en la ejecución de un
programa:
– Clic sobre un botón
– Doble clic sobre el nombre de un fichero para abrirlo
– Arrastrar un icono
– Pulsar una tecla o una combinación de teclas
– Elegir una opción de un menú
– Escribir en una caja de texto
– Abrir una ventana
– Cerrar una ventana
– Cambiar un texto
– O simplemente mover el ratón
• Cuando se produce o dispara un evento sobre un determinado
componente, se da inicio a un conjunto de acciones
programadas por el usuario para ese evento concreto.
18. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 18
23/04/2022
¿Qué es una propiedad?
• Una propiedad es una asignación que describe
algo sobre un componente, como por ejemplo:
– Un formulario
– Un botón de comando
– Una caja de texto
– Una etiqueta
– Una imagen
– etc…
• Dependiendo de la propiedad, esta se puede
asignar en tiempo de diseño usando la ventana
Propiedades y/o en tiempo de ejecución en el
momento de programar el control.
19. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 20
23/04/2022
Contenido
• Paradigmas de programación.
• Paradigma orientado a eventos: definición,
estructura, características y tipos de
eventos.
• Paradigma de la Programación Visual.
• Lenguajes de programación visual y
orientada a eventos.
20. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 21
23/04/2022
Paradigma de la Programación Visual
• En la programación visual, los elementos del
lenguaje de programación están disponibles en
forma de bloques diseñados de manera
gráfica, por lo que también se la llama
programación gráfica.
• La apariencia y el etiquetado de los módulos
permite identificar qué tarea en el flujo del
programa pueden resolver.
• Los pictogramas sirven para orientar al usuario.
Así, no se necesitan estructuras muy complejas
ni un alto grado de abstracción.
21. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 22
23/04/2022
Paradigma de la Programación Visual
Presenta, entre otras, las siguientes
características:
• Visual: los elementos se arrastran y sueltan
en el flujo del programa para integrarlos.
• Orientado a acontecimientos: cada paso del
programa comienza cuando ocurre un
acontecimiento previamente definido.
• Imperativo: la programación consiste en una
secuencia de comandos.
• Orientado a objetos: hay objetos individuales
con tareas definidas asignadas.
22. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 23
23/04/2022
Paradigma de la Programación Visual
• Los programadores suelen utilizar elementos de
programación ya definidos, según el lenguaje de
programación visual que utilicen.
– Estos pueden registrar textos e imágenes, organizarlos de forma
lógica y modificar su apariencia o su expresión.
– Los elementos de control permiten insertar acciones que dependen
de ciertas condiciones.
– Los operadores permiten realizar enlaces y cálculos matemáticos.
– Las variables o los enlaces se pueden introducir, eliminar o
modificar.
• Los elementos de programación están diseñados para
encajar como las piezas de un puzle.
– Si los elementos no encajan lógicamente, el editor lo detecta y lo
indica con colores, como resaltándolos entonos más apagados y, a
veces, también mediante señales acústicas.
• Los elementos de programación suelen agruparse en grupos
de colores, lo que orienta al usuario a la hora de elegirlos.
23. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 24
23/04/2022
Paradigma de la Programación Visual
https://lab.open-roberta.org/
24. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 25
23/04/2022
Paradigma de la Programación Visual
• Las etiquetas de los elementos individuales y de
los procesos correspondientes
representan expresiones o acciones
humanas como “Haz...”, “Di...”, “Pulsa el botón...”
o “Espera hasta...”.
• Los elementos del programa se
ensamblan arrastrando y soltando.
– Se puede ver si los elementos gráficos se pueden
ensamblar comprobando los huecos y salientes y
viendo cuáles encajan.
– Esto permite crear secuencias de forma sencilla
e intuitiva sin necesidad de conocer un lenguaje de
programación textual.
25. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 26
23/04/2022
¿En qué se diferencia la programación
visual de la programación “normal”?
• La principal diferencia es que los programadores visuales no
tienen que lidiar con las complejidades de la sintaxis de
comandos. Tampoco se necesita aprender el
engorroso “vocabulario” de un lenguaje de programación.
• En la programación “normal”, se requiere un alto grado de
abstracción para obtener el resultado deseado a partir de las
reglas del lenguaje de programación.
• Aunque muchos editores de programación tienen la función
“Autocompletar”, para que los comandos se completen y los
procedimientos se cierren por sí mismos, los programadores
son susceptibles de cometer errores: si se olvida un carácter,
toda la tarea da error. Esto a menudo requiere una larga
búsqueda de errores.
26. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 27
23/04/2022
Ventajas de la programación visual
• Es fácil de aprender: no cuesta superar la curva de aprendizaje. Las
ideas se pueden “escribir” directamente como si fueran el código
del programa. Los símbolos claros facilitan la comprensión. Como
no hay sintaxis, no es posible cometer errores tipográficos. Esto
ayuda a los programadores a entender los conceptos básicos de los
lenguajes de programación.
• Los lenguajes de programación visual permiten realizar la
llamada programación exploratoria: se puede iniciar y desarrollar
un programa paso a paso, antes de haber ideado la solución exacta.
La funcionalidad de los pasos del programa se puede comprobar
una y otra vez. Los programadores trabajan sobre todo con
soluciones basadas en navegadores que funcionan
independientemente del sistema operativo del ordenador. Los
resultados normalmente se pueden exportar a otros lenguajes de
programación textual.
27. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 28
23/04/2022
Inconvenientes de la programación visual
• Parte de la programación gráfica está vinculada a campos de
aplicación especiales o a ciertos sistemas, hardware o
dispositivos finales.
• En general, no es posible crear elementos individuales o
insertar comentarios para otros participantes en el proyecto.
Esto hace difícil mantener una visión general, incluso con
programas de complejidad reducida.
• Además, los proyectos realizados en programación visual
solo son escalables en medida limitada, lo que dificulta su
adaptación a proyectos grandes o de rápido crecimiento.
• La ventaja de la programación exploratoria puede
convertirse rápidamente en un inconveniente en forma
de código no estructurado en los proyectos más grandes:
estos programas son difíciles de mantener y extender.
28. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 29
23/04/2022
Contenido
• Paradigmas de programación.
• Paradigma orientado a eventos: definición,
estructura, características y tipos de
eventos.
• Paradigma de la Programación Visual.
• Lenguajes de programación visual y
orientada a eventos.
29. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 30
23/04/2022
Lenguajes de programación visual
• Scratch
• Blockly
• NEPO
• Grape
• App Inventor
• Ardublock
• Pure Data
• Lego Mindstorms
30. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 31
23/04/2022
Lenguajes de programación orientada
a eventos
.NET Framework (Escritorio Windows y Web)
31. Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 32
23/04/2022
Introducción a la
programación visual y de
eventos
Unidad 1
Final de la unidad