Download TEC EN PROG 3er CECyTE 21 ED.2021 3° SEM 2da. Rev (1) - 1-28...
Colegio de Estudios Cientícos y Tecnológicos del Estado de Baja California
Guía de Aprendizaje delProfesional Componente Módulo II Aplica metodologías de desarrollo de software con herramientas de programación visual. Submódulo I Aplica la metodología espiral con programación orientada a objetos. Submódulo II Aplica la metodología de desarrollo rápido de aplicaciones con programación orientada a eventos.
DIRECCIÓN GENERAL Av. Panamá #199, Av. #199, esquina esquina con Buenos Buenos Aires Aires Colonia Cuauhtémoc Sur Teléfonos (686) 905 56 00 al 08
Correo electrónico: capacitació
[email protected] Página web: www.cecytebc.edu.mx Programación Tercer semestre s emestre Bachillerato Tecnológico
Primera edición, 2021 Submódulo I Aplica la metodología espiral con programación orientada a objetos. María Carolina Briones Chávez Gerardo Díaz Blancas
Submódulo II Aplica la metodología de desarrollo rápido de aplicaciones con programación orientada a eventos. Lourdes Ivette Torres Ibarra Martha Amparo Monge de la Cruz
Revisión técnica: Gabriela Huerta Pérez
Diseño de portada Miguel A. González Vidales
En la realización de este material participo: Denisse Samaniego Apodaca
En la coordinación de este material: Cristhian Dario Ramírez Lagarda Jefe del Depto. de Innovación Educativa y Formación Tecnológica
IMPRESO EN MÉXICO 2021
DATOS DA TOS DE IDENTIFICACIÓN NOMBRE DEL ALUMNO: _____________________________________________________ CORREO: __________________________________________________________________ TELÉFONO: ________________________________________________________________ GRUPO: ___________________________________________________________________ GRADO: ___________________________________________________________________ PLANTEL: _________________________________________________________________
DOCENTE: _________________________________________________________________
3
CONTENIDO metodologías de desarrollo desarrollo de software con con herramientas herramientas de programació programación n visual ....... 08 Módulo II.- Aplica metodologías
Submódulo I.- Aplica la metodología espiral con programación programación orientada a objetos ..................................... .............. ....................... 09 Parcial 1. Introducció I ntroducción n ................................................................................................................................................ 09 Evaluación diagnóstica ................................................................................................................................................ 09 1.1 Paradigmas de la programación .................................................................................................................... 14 1.2 Programación Orientada a Objetos(POO) ...................................................................................... .................................................................................................... .............. 15 1.3 Clases ..................................................................................................... ................................................................................................................................................................. ............................................................ 17 1.4 Objeto ............................................................................................ .................................................................................................................................................................. ...................................................................... 17 1.5 Métodos ............................................................................................. .............................................................................................................................................................. ................................................................. 19 1.6 Introducción a Java ....................................................................................... ........................................................................................................................................... .................................................... 20 .................................................................................................................... ............................... 29 Parcial 2. Estándares de programación .....................................................................................
2.1 Diagrama UML y estándares de programación .................................................................................. 29 ................................................................................................................................................................. ............................................................ 31 2.2 Clases ..................................................................................................... 2.3 Métodos de Java .............................................................................................................................................. 34 2.4 Herencia............................................................................................................................................. 42 2.5 Polimorsmo ................................................................................................ ...................................................................................................................................................... ...................................................... 45 2.6 Instrucción condicional IF................................................................................................................................. 48 2.7 Uso del Switch .................................................................................................... ................................................................................................................................................... ............................................... 52
Parcial 3. Ciclos y arreglos ............................................................................................................................ 58 3.1 Uso del For ..................................................................................................... ......................................................................................................................................................... .................................................... 58 3.2 Ciclo While .......................................................................................... .......................................................................................................................................................... ................................................................ 61 3.3 Ciclo Do-While ............................................................................................ ................................................................................................................................................... ....................................................... 63 3.4 Arreglos Arreglos ............................................................................................................................................... ....................................................................................................................... ........................ 65 ................................................................................................. 65 3.4.1 Ventajas y Desventajas de los arreglos ............................................................................................... ............................................................................................................... .................. 66 3.4.2 Procesos que utilizan arreglos ............................................................................................. .................................................................................................................................. .......................................... 66 3.4.3 Manejo de arreglos ........................................................................................ 3.5 Tipos de arreglos ................................................................................................................................ 69 3.5.1 Arreglo Unidimensional .............................................................................................. ........................................................................................................................... ............................. 70 3.5.2 Arreglos Multidimensionales ..................................................................................................... ................................................................................................................... .............. 71 3.6 Operaciones aritméticas con arreglos unidimensionales ........................................................................... 74 3.7 Proyecto integrador ...................................................................................................... ........................................................................................................................................... ..................................... 77
MÓDULO II. Aplica metodologías de desarrollo de software con herramients de progrmación visual ......... 81 SUBMÓDULO 2. Aplica la metodología de desarrollo desarrollo rápido de aplicaciones con programa programación ción orientada a eventos .......................................................................................................................................................... 82
Parcial 1. Programa Programaión ión orientada a eventos ................................................................................................. .......................................................................................... ....... 82 ........................................................................................................................ ........................... 86 1.1 Análisis y Diseño de Sistemas ............................................................................................. 1.2 El papel de un Analista de Sistemas ................................................................................................... ................................................................................ ................... 86
.......................................................................................................... ..................... 87 1.3 Metodología de desarrollo de software ..................................................................................... 1.4 Fases del desarrollo rápido de aplicaciones (RAD) .................................................................................... 89 1.5 Introducción a la programación orientada orientada a eventos POE ................................................................. 91 1.6 Denición de Programación Orientada a Eventos ....................................................................................... 92 1.7 Interfaz de Usuario o GUI ................................................................................................. ................................................................................................................................ ............................... 94 1.8 Componentes Swing y AWT......................................................................................................... AWT................................................................................................................. ........ 95 1.9 AWT ................................................................................................. ..................................................................................................................................................................... .................................................................... 95 1.10 Component ....................................................................................................................................... 96 1.11 1.1 1 Container ........................................................................................................................................... ......................................................................................................... .................................. 96 ................................................................................................................................................................ ........................................................................... 97 1.12 Frame ..................................................................................... 1.13 Dialog ................................................................................................................................................ 97 ................................................................................................................................................................ ........................................................... 97 1.14 Panel ..................................................................................................... 1.15 Layout .............................................................................................................................................................. 98 ....................................................................................................................................................... ................................................... 98 1.16 FlowLayout .................................................................................................... 1.17 BorderLayout ..................................................................................... ................................................................................................................................................... .............................................................. 99 ....................................................................................................................................................... ............................................................. 99 1.18 CardLayout .......................................................................................... 1.19 Componentes Componentes .................................................................................................................................... ..................................................................................... ............................................... 100 1.20 Eventos Eventos ............................................................................................................................................. .............................................................................. ............................................................... 100
Parcial 2. Estructura de una aplicación gráca ............................................................................................102 2.1. Modelado de proceso ...................................................................................................................... 102 2.2. Generación de aplicaciones ............................................................................................................ 102 2.3. Pruebas y entrega entrega ............................................................................................................................ .................................................................................. .......................................... 102 2.4. Modelo RAD ..................................................................................................................................... 102 2.4.1. Ventajas ............................................................................................ .................................................................................................................................................. ...................................................... 104 2.4.2. Desventajas ..................................................................................................... ........................................................................................................................................... ...................................... 104 2.5 Programación Programación dirigida por eventos ................................................................................................... ....................... ............................................................................ 105 2.6 Detección de eventos ....................................................................................................................... 106 ............................................................................................................................................................... ......................................................................... 107 2.8 Evento ...................................................................................... 2.9 Propiedades .............................................................................................. ..................................................................................................................................................... ....................................................... 107 2.10 Métodos ............................................................................................. .......................................................................................................................................................... ............................................................. 109 2.11 2.1 1 Botones y manejo de eventos ......................................................................................................... ......................................................................... ................................ 109 .................................................................................................................................................... .................................................. 109 2.12 Formularios .................................................................................................. 2.13 Interfaz de eventos ......................................................................................................................... 110
Parcial 3. Desarrollo de aplicación .............................................................................................................. ............................................................. ................................................. 114 3.1. Uso de componentes en la aplicación SketchWare ................................................................................. 114 3.1.1. En la aplicación SketchWare SketchWare ................................................................................................... ....................................................................... ............................ 114 3.1.1.1. Elaboración de formularios en SketchWa SketchWare re ..................................................................... ................................. .................................... 115 3.1.1.2. Creación de eventos en SketchWare SketchWare .............................................................................. .............................................................................. 122 3.1.2 Uso de componentes en la aplicación con NetBeans NetBeans .............................................................. .............................................................. 127 3.1.2.1. Elaboración formularios en NetBeans NetBeans ........................................................................ ........................................................................ 129 3.1.2.2. Creación de de eventos en NetBeans NetBeans .................................................................................. .................................................................................. 142 3.2. Proyecto integrador ......................................................................................................................... 144
Anexos ............................................................................................................................................ ......................................................................................................................................................... ............. 146 146 Bibliografía .................................................................................................................................................. 147
JUSTIFICACIÓN DE LA CARRERA En el contexto nacional la formación de técnicos en: Programación es relevante porque: contribuye a la formación de personas capaces de integrarse a un mercado laboral dinámico y de alta demanda, que está a la vanguardia en el uso de la tecnología y que contribuye a la transformación digital de los sectores productivos en el país. La carrera de Técnico en Programación desarrolla en el estudiante las siguientes:
COMPETENCIAS PROFESIONALES • Desarrolla software software de aplicación con programación programación estructurada estructurada
• Aplica metodologías metodologías de desarrollo de software utilizando herramientas de programación programación visual • Desarrolla aplicaciones Web Web • Desarrolla softwa software re de aplicación Web Web con almacenamiento almacenamiento persistente de datos datos • Desarrolla aplicaciones aplicaciones para para dispositivos dispositivos móviles Facilitando al egresado su incorporación al mundo laboral en: diversos sitios de inserción como: empresas de desarrollo de software, Instituciones bancarias, Sector gubernamental, así como en los sectores productivos donde se requiera automatizar procesos mediante la implementación de software hecho a la medida o en el desarrollo de procesos productivos independientes, de acuerdo con sus intereses profesionales y necesidades de su entorno social. Para lograr las competencias el estudiante inicia la formación profesional, en el segundo semestre y la concluye en el sexto. Los primeros tres módulos de la carrera técnica tienen una duración de 272 horas cada uno, los dos últimos de 192, un total detienen 1200 horas de transdisciplinario, formación profesional. Cabe destacar que los ymódulos de formación profesional carácter por cuanto corresponden con objetos y procesos de transformación que implica la integración de saberes de distintas disciplina disciplinas. s.
Además de de lo anterior anterior,, se identican identican los los estándares estándares de competencia competencia del CONOCER CONOCER que tienen una una relación directa con la carrera: EC0160 Desarrollo de código de software EC0727 Desarrollo de aplicaciones web y móviles
EC0726 Conguración de sistemas operativos de aplicaciones y servicios EC0711 Administración de soluciones de e-learning y comercio electrónico
6
Competencias básicas sugeridas M1 Construye e interpreta modelos matemáticos C1 Identica, ordena e interpreta las ideas, deterministas C1 deterministas o aleatorios mediante la aplicación datos y conceptos explícitos e implícitos en un texto, considerando el contexto en el que se generó y en el que se recibe.
de procedimientos aritméticos, algebraicos, geométricos y variacionales, para la comprensión y análisis de situaciones reales o formales.
CE9 Diseña modelos o prototipos para M8 Interpreta tablas, grácas, mapas, diagramas resolver problemas, satisfacer necesidades o y textos con símbolos matemáticos y cientícos. demostrar principios cientícos. Genéricas sugeridas 4.1 Expresa ideas y conceptos mediante 8.2 Aporta puntos de vista con apertura y representaciones representaci ones lingüísticas, matemáticas o
grácas.
considera los de otras personas de manera
reexiva.
4.2 Aplica distintas estrategias comunicativas 8.3 Asume una actitud constructiva, congruente según quienes sean sus interlocutores, el contexto en el que se encuentra y los objetivos objeti vos que persigue.
con los conocimientos y habilidades con los que cuenta dentro de distintos equipos de trabajo.
Competencias de productividad y empleabilidad de la secretaría del trabajo y previsión social TE5 Cumplir compromisos de trabajo en AP3 Registrar y revisar información para equipo.
asegurar que sea correcta.
OL2 Diseñar y utilizar indicadores para medir PO3 Denir PO3 Denir sistemas y esquemas de trabajo. y comprobar los resultados obtenidos. OM6 Revisar las acciones llevadas a cabo EP8 Actuar responsable responsablemente mente de acuerdo con con el n de realizar mejoras y adaptarlas a las normas y disposiciones denidas en un los procedimientos.
espacio dado.
7
Módulo II Aplica metodologías de desarrollo de software con herramientas de programación visual.
Submódulo I Aplica la metodología espiral con programación orientada a objetos. No. 1 2 8
Competencia profesional Identica los elementos del paradigma de la programación orientada or ientada a objetos. Aplica el modelo de espiral para el desarrollo de software.
I
SUBMÓDULO I Aplica la metodología espiral con programación orientada a objetos
PARCIAL
1. Relaciona las columnas según corresponda.
2. Es un conjunto fnito de instrucciones o pasos que sirve para ejecutar una
tarea o resolver un problema. a) Diagrama
b) Algoritmos
c) Problema
3.- Es una representación gráfca de una sucesión de hechos u operaciones
en un sistema. a) Algoritmos
b) Problema
c) Diagrama 9
TÉCNICO EN PROGRAMACIÓN
4.- ¿Cuáles son los operadores aritméticos? a) , =, ==
b) +, - ,*, /,
c) and, or or,, not
5.- ¿Cuáles son los operadores relacionales? a) +, - ,*, /,
b) int, double, string
c) , =, !=
6.- ¿Cuáles son los operadores lógicos? a) Contador, identicad identicador, or, variable b) and, or, not
c) , =, ==
7.- ¿Cuál es el objetivo de utilizar el doble igual (==)? a) asignar el valor a una variable variable
b) comparar dos valores c) negar una
8.- Son espacios reservados en la memoria que pueden cambiar de contenido
a lo largo de la ejecución de un programa. a) constante
b) variable
c) identicado identicadorr
9.- Variable cuyo valor se incrementa o decrementa en un valor fjo.
a) acumulado acumuladorr
b) identicador
c) contador
10.- Valor que no puede ser alterado durante la ejecución del programa.
a) contador
b) identicado identicadorr
c) constante
11.- ¿Cuáles son tipos de datos numéricos? a) int, string, char
b) int, double, oat
c) char char,, string, boleano
12.- ¿Cuáles son los tipos de datos texto? a) string, char
10
b)for, string, main
c)string, char, oat
SUBMÓDULO I
PARCIAL I • Aplica la metodología espiral con programación orientada a objetos.
13. - En el siguiente pseudocódigo indica cuál será el resultado que se muestre
en pantalla: a) Escribe los números del 1 al 10 b) Escribe la tabla del 2 c) Escribe la tabla del 1
14.- En el siguiente pseudocódigo, identifca ¿cuál es el error?
a) El operador % b) La condición c) Los mensajes de salida
15. Con el pseudocódigo anterior, ¿cuál es el mensaje fnal si se da como
dato de entrada un 3? a) Impar
b) Par
c) Error
16. En el siguiente pseudocódigo indica que es lo que se ejecuta en pantalla. a) Permite que ingreses un número número y lo muestra en pantalla. b) Permite el ingreso ingreso de un número positivo, y lo muestra en pantalla. c) Muestra el número número que ingreso ingreso por teclado.
17. Estructura de tamaño tamaño fjo donde se guardan guardan datos del mismo mismo tipo, es
decir, no puedo guardar valores numéricos y booleanos al mismo tiempo. a)
variable
b) constante
c) arreglo
11 Tercer semestre
TÉCNICO EN PROGRAMACIÓN
18. En el siguiente pseudocódigo existen dos errores en el manejo del arreglo: a rreglo: a) No se debe usar el ciclo Para Para con con los arreglos y el nombre del arreglo debe ser de al menos 5 letras. b) El nombre del arreglo no se respeta a lo largo del pseudocódigo y el índice utilizado en el ciclo Para no corresponde en el mensaje de salida. Para no c) La instrucción Dimensión Dimensión no se utiliza para arreglos y el ciclo Para Para debe iniciar obligatoriamente obligatoriamente en cero.
19. Analice y describa el objetivo del siguiente código.
__________________ _________ __________________ __________________ ___________________ ___________________ __________________ _________ __________________ _________ __________________ __________________ ___________________ ___________________ __________________ _________ __________________ _________ __________________ __________________ ___________________ ___________________ __________________ _________ __________________ _________ __________________ __________________ ___________________ ___________________ __________________ _________
Nota: para la edición y ejecución del código puede utilizar: https://www.onlinegdb.com/online_c++_compiler (en navegador) DevC++ 12
(en PC), Coding C++ (en Celular)
SUBMÓDULO I
PARCIAL I • Aplica la metodología espiral con programación orientada a objetos.
20 Analice el siguiente código y realice la ejecución (corrida) manual, .-
para identifcar los valores que se generan en cada interacción, según el
objetivo del código.
Iteración
Datos SAL
Resultados NOM
1
2
3
4
5
13 Tercer semestre
TÉCNICO EN PROGRAMACIÓN
1.1 Paradigmas de la programación ¿Qué es un paradigma? Un paradigma es equivalente a un mapa. Por ejemplo, si quieres llegar de un punto "A" a un punto "B" tendrás múltiples caminos, algunos más lentos otros más rápidos, pero
al nal todos te llevarán a tudocumentados destino. En el mundo de la programación loses paradigmas son esos estilos o formas para programar, cada estilo diferente, tienen sus ventajas y desventajas, pero todos tienen el mismo resultado. Incluso
existen lenguajes que ya adoptan un paradigma en especíco, pero también otros que adoptan más de un paradigma como JavaScript , Python Python y y Java Java.. Así que un paradigma de programaci programación ón es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que unívocamente trata de resolver uno o varios problemas claramente delimitado delimitados. s. Un paradigma de programación está delimitado delimit ado en el tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la
sustituyen parcial o totalmente. Todos estos lenguajes pueden ser clasicados en una jerarquía de familias a partir del modelo que siguen para denir y operar información , es decir, que pueden ser jerarquizados según información, segú n el paradigma que siguen. Los paradigmas de programación actuales tales como el Visual, el orientado a eventos y el orientado aspecto.
Ilustración 1. Paradigmas
de la programación.
Para conocer un poco más sobre los paradigmas de programación ingresa al siguiente enlace: https://www.youtube.com/watch?v=hcuvB58hwlE
14
SUBMÓDULO I
PARCIAL I • Aplica la metodología espiral con programación orientada a objetos.
1.2 Programación Orientada a Objetos (POO) La programación orientada a objetos se puede denir como una técnica o estilo de programación que utiliza objetos como bloques esenciales de construcción. Los elementos básicos de la Programación Orientada a Objetos Objetos (POO POO)) son: objetos, mensajes, métodos y clases. La POO POO es una extensión natural de la actual tecnología de programación representa un enfoque relativamente nuevoy y distinto al tradicional basado en 4 ypilares: abstracción, herencia, polimorfsmo encapsulamiento. Abstracción. Es la capacidad de crear tipos de datos
denidos por el usuario. Es una denición de tipo que incluye datos (atributos (atributos)) y funciones (métodos (métodos)) en una sola estructura denida llamada clase. La abstracción de datos es un concepto fundamental en el diseño de un programa,
pues permite denir el dominio y la estructura de los datos (atributos atributos), ), junto con un conjunto de operaciones que tienen acceso a los mismos (métodos (métodos). ). La abstracción permite no preocuparse de los detalles accesorios, y generalizar y centrarse en los aspectos que permiten tener una visión global del problema.
Ilustración 2. La
abstracción
La abstracción se centra en las características esenciales esenciales del objeto en relación a la perspectiva del observador. Encapsulamiento. Es una característica que indica que las propiedades propias de la clase deben tener visibilidad prívate,, de esta forma se ofrece seguridad a la información prívate depositada en dichos atributos. El propósito del encapsulamiento es restringir el acceso a datos y métodos a partir de los objetos, dependiendo de
los modicadores de acceso públicos, privados o protegidos especicados para la clase correspondiente y a los cuales tenga acceso el objeto.
Ilustración 3.
El encapsulamiento oculta los detalles de la implementación de un objeto
Herencia. De acuerdo al autor, Luis Joyanes (1998), la herencia “Es la capacidad Herencia. De capacida d para crear nuevas clases de objetos que se construyen basados en clases existentes”. La herencia es una propiedad que permite a un objeto poseer propiedades de otras clases. Además, a estos nuevos objetos creados es posible asignarles nuevos atributos y métodos. La clase que puede ser heredada se denomina clase base (superclase, clase padre) y la clase que hereda se denomina clase derivada (subclase, clase hijo). Ilustración 4. Herencia simple.
15 Tercer semestre
TÉCNICO EN PROGRAMACIÓN
Polimorsmo. Este término proviene de dos raíces griegas: poli , múltiples y morsmo,, formas. Esta característica es la capacidad que objetos similares tienen morsmo para responder de diferentes formas al mismo mensaje, y permite al programador implementar múltiples formas de un mismo método, dependiendo cada una de ellas de la clase sobre la que se realice la implementac implementación. ión. Esto permite acceder a varios métodos distintos utilizando el mismo medio de acceso (el mismo nombre). El
polimorsmo está muy relacionado con la herencia. En síntesis: La abstracción es un nuevo tipo de
Ilustración 5.
Polimorfsmo.
dato denido por el programador; está compuesto por atributos
(identicadores o datos) y métodos o acciones que se realizan sobre los atributos, (identicadores denidos en una sola estructura llamada clase. CLASE = atributos + métodos El encapsulamiento permite concebir al objeto como una caja negra en la que se ha introducido toda la información relacionada con dicho objeto (tanto los datos
que almacena el objeto como los métodos que permiten manipularlos); mediante el ocultamiento se restringe el acceso a los datos y a los métodos a partir de los objetos.
Ejercicio: Características principales de la POO. INSTRUCCIONES: De acuerdo a los pilares de la POO (Abstracción, Encapsulamiento, Herencia, Polimorsmo) escribe en la línea la afrmación que corresponde a cada situación. Polimorsmo) Conjunto de alumnos. ______________________________________ Canasta de frutas. _________________________________________ Locker escolar. ___________________________________________ Borrar el pizarrón y un cuaderno. _____________________________ Imaginar las vacaciones soñadas. ____________________________ Lucir el collar que era de la abuela. ___________________________ Caminar con tu mascota. ___________________________________ La mochila con los útiles escolares. ___________________________ Pintar una casa y un dibujo. _________________________________ Donar una computadora. ____________________________________
16
SUBMÓDULO I
PARCIAL I • Aplica la metodología espiral con programación orientada a objetos.
Ejemplo: Dibujo de un paisaje ………………………………………………. Abstracción ………………………………………………. Abstracción Caja con moños…………… moños…………………………………… …………………………..….... …..…............... Encapsulamiento Hacer efectivo un testamento ………………………………........ ………………………………........ Herencia Competencia de velocidad entre una moto y un caballo…....... Polimorfsmo
1.3 Clases Una clase es un molde o plantilla que indica cómo será un objeto de dicha clase.
Existen un par de deniciones de clases que pueden ilustrar mejor su naturaleza: “Son los moldes con los que se producen los objetos.” (Deitel/Deitel ( Deitel/Deitel .) .) “Es un término técnico que se aplica a los lenguajes orientados a objetos para describir grupos de estructuras de datos caracterizados por propiedades comunes.” (Meyer .) .) Por ejemplo, en el área de la construcción, una clase podría ser el plano de una casa que indica la estructura que debe tener cada una de las casas, y los objetos son la materialización de las casas construidas a partir de dicho plano. Es por ello
que se dene a un objeto como una instancia instanc ia de una clase. Una clase se compone de atributos y métodos, y es
posible denir muchos objetos de la misma clase.
1.4 Objeto Cuando se quiere realizar un programa en un lenguaje de Programación Orientada a Objetos, lo Ilustración 6. Estructura de una clase que se trata de realizar es formar un modelo en computadora de alguna parte del mundo real. Las partes que componen al problema son objetos que pueden ser representados representado s computaciona computacionalmente. lmente. Estos objetos son la representación abstracta del problema, mismos que pueden ser organizados en categorías y una clase que describe, en forma abstracta, sus características y las actividades que éstos pueden realizar.
De tal manera que podemos denir a un objeto como una entidad que puede tener identidad, estado y comportamien comportamiento: to: La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con
otras palabras, es su identicador. El estado está compuesto de datos o informaciones, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
El comportamiento está denido por los métodos o funciones a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él. 17 Tercer semestre
TÉCNICO EN PROGRAMACIÓN
Para crear un objeto se realiza una instancia de la clase al ejecutar el método constructor de la clase con lo que se le asigna un espacio en memoria.
Ejercicio: Modelado de casos reales bajo el paradigma de la programación orientada a objetos. INSTRUCCIONES: Observa cada uno de los grupos de imágenes y clasica los objetos de acuerdo a sus características. Elabora una tabla como la que se muestra a continuación (Tabla 1) donde hay columnas representando cada uno de los tres grupos de objetos. Escribe en cada grupo las características y acciones que comparten. Participa activamente en la retroalimentación retroalimentac ión del ejercicio.
GRUPO 1
GRUPO 2
GRUPO 3
Características
Acciones Tabla 1. Clasifcación de objetos
Ilustración 7. Grupo de objetos 1
Ilustración 9. Grupo de objetos 3
Ilustración 8. Grupo de objetos 2
18
SUBMÓDULO I
PARCIAL I • Aplica la metodología espiral con programación orientada a objetos.
Ejercicio: Elementos principales de un objeto y su comunicación. INSTRUCCIONES: Analizar las situaciones (a,b,c) y realizar INSTRUCCIONES: Analizar realizar una una descripción paso a paso (algoritmo) de la forma en que se envían y reciben los mensajes al momento de hacer una llamada al objeto. Situación 1: Marcar un número en un celular. Situación 2: Transporte Transporte en carro de tu casa a la escuela. Situación 3: Cambiar de canal con un control remoto. Ejemplo: Situación: Realizar una operación de suma de dos números de un dígito en una calculadora.
1. Inicio 2. El usuario pulsa la tecla del primer número a sumar. 3. La calculadora recibe el valor del botón presionado y lo muestra en su pantalla guardando en memoria el valor recibido. 4. El usuario pulsa la tecla del símbolo de suma. 5. La calculadora recibe el valor del botón presionado y registra el tipo de operación a realizar. 6. El usuario pulsa la tecla del segundo número a sumar. 7. La calculadora recibe el valor del botón presionado y lo muestra en su pantalla guardando en memoria el valor recibido. 8. El usuario pulsa la tecla del símbolo de igual. 9. La calculadora recibe el valor del botón presionado y realiza la operación registrada con los valores guardados en memoria. 10. La calculadora muestra en pantalla el resultado de la operación realizada. 11. Fin
1.5 Métodos Un método (función) es un conjunto de instrucciones o sentencias que realiza una
determinada tarea; se identica con un nombre y puede o no devolver un valor. Cuando se llama a un método, el ujo de control del programa se transere al método y se ejecutan una a una las instrucciones que lo integren; cuando se han ejecutado todas, el control regresa al punto desde donde se hizo la llamada y el programa continúa con la siguiente instrucción o sentencia. Todo método tiene que ser invocado (llamado) desde algún punto del programa (programa principal u otro método). Un método tendrá paréntesis después de su
nombre. Las partes de la rma de un método son: tipo-retorno nombre (lista de parámetros) { cuerpo del método (instrucciones)
}
19 Tercer semestre
TÉCNICO EN PROGRAMACIÓN
tipo-retorno indica si el método regresará algún dato como resultado de su tipo-retorno ejecución. Este dato puede ser un dato de tipo: int, boolean, char, string e e incluso un objeto. nombre es el nombre con el que se identica al método. nombre lista de parámetros indica lista parámetros indica los datos que requiere el método para ejecutarse. cuerpo de método abarca método abarca todas las instrucciones que ejecuta el método al ser llamado. Estas instrucciones se encuentran encerradas entre llaves que indican dónde inicia y dónde termina.
1.6 Introducción a Java Java es un lenguaje de programación que surgió en 1991 por un grupo de ingenieros de la compañía Sun Microsystems tratando de diseñar un nuevo lenguaje de programación destinado a los electrodomésticos, lo que produjo un lenguaje sencillo capaz de generar código de tamaño muy reducido.
Para que este software fuera lo sucientemen sucientemente te útil en todos los electrodomésticos era importante que pudiera ejecutarse independientemente del tipo de CPU que se estuviese utilizando, por lo oque desarrollaron unMáquina código “neutro” que trabajara sobre una máquina hipotética virtual denominada Virtual de Java (JVM (JVM – Java Virtual Machine), Machine), quien se encargaba de interpretar ese código neutro en
uno que la CPU especíca de cada electrodoméstico pudiera entender y ejecutar. Fue hasta nales de 1995 cuando java fue utilizado como lenguaje lenguaj e de programación al ser incorporado por el programa Netscape Navigator produciendo una verdadera revolución en internet. internet. Con Java nunca se parte de cero, todo todo programa que se diseña bajo este lenguaje se apoya de un número de clases preexistentes que forman parte del propio lenguaje (el API o Application Programming Interface de Java). Java ). Existen distintos programas comerciales (IDE´s) (IDE´s) que permiten desarrollar código Java. La compañía Sun Microsystems creadora de java, distribuye gratuitamente el Java Development Kit (JDK (JDK ) que es el conjunto de programas y librerías que permiten desarrollar, compilar y ejecutar programas en java. Los IDE´s (Integrated Development Enviroment), son entornos de desarrollo integrados que permiten desarrollar las aplicaciones de una forma más sencilla y rápida, incorporando componentes componentes ya desarrollad desarrollados os para elaborar los proyectos o programas. Existen muchos de distribución gratuita que se pueden utilizar.
Principios de Java. Java es Actualmente, Java es uno de los lenguajes de programación más utilizados . Proceso de ejecución de un programa en Java .
20
SUBMÓDULO I
PARCIAL I • Aplica la metodología espiral con programación orientada a objetos.
21 Tercer semestre
TÉCNICO EN PROGRAMACIÓN
Para ejecutar un programa en Java Java debe debe seguirse este pequeño proceso: 1. Los archivos con el código fuente (archivos con extensión *. java java) es vericado por el compilador de Java Java (con (con la herramienta javac.exe herramienta javac.exe)) y sino encuentra errores los compila, es decir genera los archivos compilados (archivos con extensión *.class *. class), ), también llamados bytecodes o archivos binarios;
.Proceso de ejecución de un programa en Java Ilustración 10 .Proceso
2. La MVJ interpreta los archivos compilados, es decir, ejecuta los bytecodes bytecodes convirtiéndolos al código máquina particular de la CPU utilizada. Para esta operación requiere de la herramienta java.exe. herramienta java.exe.
Ilustración 11. Fases de ejecución de un programa en Java
22
SUBMÓDULO I
PARCIAL I • Aplica la metodología espiral con programación orientada a objetos.
Recordando lo visto en sus clases de programación estructurada y como cualquier lenguaje de programación, los conceptos fundamentales como los que se muestran
a continuación, no cambian su signicado o propósito, sin embargo, lo único que cambia es la forma en que lo escribimos (sintaxis (sintaxis)) en el lenguaje de programación y su interpretación como un cambio de paradigma de lenguaje estructurado a lenguaje orientado a objetos.
Tipo de datos
Son aquellos tipos de datos cuyos miembros están compuestos por un solo dato. Estos tipos de datos son los que se utilizan para realizar operaciones o como un proceso de lectura, escritura o asignación de datos. (Pantigoso, 2006)
Tipo
Java
Tamaño
byte
byte
1 byte (8 bits)
entero corto
short
2 bytes (16 bits)
entero
int
4 bytes (32 bits)
entero largo
long
8 bytes (64 bits)
real
oat
4 bytes (32 bits)
doble
double
8 bytes (64 bits)
char
2 bytes (16 bits)
carácter
Declaración de variables Una variable es un espacio de la memoria que corresponde a un dato, este valor puede cambiar durante la ejecución del programa. Las variables se deben declarar antes de ser usadas en el programa, de lo contrario tendremos errores de compilación. Aquí es donde hacemos que una variable o constante de nuestro código exista, esto se hace de la siguiente forma:
Tipo Nombre_de_variable
Ejemplo:
23 Tercer semestre
TÉCNICO EN PROGRAMACIÓN
El Tipo se reere al tipo de dato. A continuación, puedes p uedes ver un ejemplo de diferentes diferent es tipos de declaración de variables en Java Java de de una estructuración de código y cómo comentar tu código. Recuerda que es una buena práctica comentar tus códigos para recordar que se pretende resolver o que objetivo quieres alcanzar.
Ilustración 12. Descripción de sintaxis
/* */, Permiten poner varias líneas de comentarios sin que esto afecte la compilación de nuestro código, básicamente el compilador no lo tomará en cuenta.
//, Permite hacer un comentario de una sola línea e igualmente no será considerado por el compilador. public class Main, aquí es la clase la cual deriva todos sus descriptores y elementos necesarios que pertenezcan a esa clase en particular, recuerda que estamos en POO y y existen clases y métodos.
public, palabra en inglés para decirle al compilador de Java Java que que puede acceder cualquiera, si en el caso que quieras que nadie accediera a esa clase, cambias public por private por private. También puedes observar los símbolos { símbolos { } ( } ( llaves llaves ) y ( ) ( paréntesis ) en las clases clases o métodos según corresponda. corresponda. Para este caso particular las las llaves lo que hacen es delimitar hasta donde abarcará o llegará todo lo que necesitemos de esa clase (variables, métodos, etc.). Para el caso de los ( ), nos ayuda hacer la invocación o llamada de esa clase, puedes observar que dentro de los paréntesis existen parámetros parámetros de lectura, donde estos parámetros son elementos necesarios para la ejecución de la clase, en el caso que necesitara parámetros. parámetros. 24
SUBMÓDULO I
PARCIAL I • Aplica la metodología espiral con programación orientada a objetos.
public static void main(String[] args) args) aquí puedes observar lo explicado método que anteriormente, esto es un método que es público y recibe valores estáticos con parámetros de un espacio vacío, la palabra void es es una palabra reservada, y nos indica que el método recibe argumentos o parámetros vacíos. También tiene { }, donde se comienza a declarar las variables . Ya en la parte de declaración de variables, son las variables que se van a necesitar para poder plantear la resolución del problema; como ya se especicó en la Tabla 2 , existen diferentes tipos de datos y de acuerdo el dato es su característica, tanto en cómo es esa variable (tipo) y la cantidad de memoria que utilizan en la computadora (almacenaje). Para el ejemplo en particular, en la ilustración 12 , tenemos:
•
int a=5; edad, numero; aquí se denen 3 variables de tipo entero, de las cuales, la que se llama a, tiene un valor constante o jo de 5, y las otras (edad, numero) que no tienen ningún valor denido, pueden ser utilizadas para almacenar información (valores variables o que cambian durante el programa).
•
de variables, son para String nombre,oapellido = “gonzalez ” puede ”; ; Este tipo denir palabras frases, donde nombre frases, nombre puede cambiar el valor y apellido apellido tiene un valor jo que es “gonzalez ”. ”.
•
char letraA = ‘A’; este tipo de variables se dene solo una letra, en este caso se dene una variable constante con la letra A A..
•
double d = 100.0, r; al igual que las de tipo oat, las de tipo double double se utilizan para tener cantidades que tengan t engan punto decimal, pero la diferencia es que las de tipo doubles doubles son son más precisas (tiene más valor después del punto decimal, más posiciones), donde en las double double consume más memoria vs oat , pero dependiendo la aplicación que se piensa desarrollar, desarroll ar, si es necesario escoger entre una u otra. La variable r , no tiene un valor denido a diferencia de d , que tiene un valor de 100.0.
•
boolean valorFalso, asistencia = true; los valores booleanos booleanos se se utilizan mucho para obtener valores de verdadero o falso en una condición dada.
Por lo general podemos encontrar valores booleanos en comparaciones o while, entre otras). estructuras de control y de repetición (if, (if, while, do while, Para este caso en particular, tenemos el nombre de la variable valor Falso, Falso, que no
tiene un valor denido, que durante el programa puede cambiar a verdadero o falso (true o false) dependiendo de la situación dada dentro del código de programa. Caso contrario, la variable asistencia tiene un valor jo que no va cambiar, que es true. Cabe aclarar que, dentro del código de programa, existen muchas palabras en inglés, eso es debido a que el lenguaje Java fue desarrollado en Estados Unidos;
25 Tercer semestre
TÉCNICO EN PROGRAMACIÓN
por tanto, es importante tener conocimientos básicos en el inglés y tener unas buenas prácticas en búsquedas de referencias de código y de apoyo de manuales y tutoriales del lenguaje Java.
Prácticas Para realizar las prácticas será necesario contar con un dispositivo, ya sea computadora, laptop, Tablet, celular y conexión a Internet. Las prácticas se realizan en el IDE Online:
https://www.onlinegdb.com/online_c++_compiler Si no cuentas con un software instalado como son los siguientes propuestos:
• • • • •
Emulador en línea OnlineGDB
Netbeans Eclipse
Java N-ID móvil Coding C++ móvil.
Ejemplo de programa en código Java
.
Programa que solicite al usuario 2 números, los sume y muestre el resultado en pantalla.
Ilustración 13. Ejemplo en código JAVA
26
SUBMÓDULO I
PARCIAL I • Aplica la metodología espiral con programación orientada a objetos.
Resultado:
Práctica 1 Considerando el ejemplo anterior, realice un programa que solicite al usuario dos números y aplique resta, multiplicación y división de los mismos y muestre los resultados en pantalla.
Nota. Considere el uso de tipo de datos acorde a los resultados resul tados de cada operación. Práctica 2 1. Realizar un programa que capture el nombre, dirección y año de nacimiento del usuario.
2. Realizar el procedimiento que permita determinar la edad del usuario. 3. En pantalla se debe mostrar, el nombre, dirección y edad del usuario. usuario . Nota. Recuerde utilizar el tipo de dato según corresponda a la información capturada.
Evaluación teórica Unidad 1 Instrucciones: Relaciona las columnas de forma tal que correspondan los conceptos.
A)
Capacidad para crear nuevas clases de objetos que se construyen ( basados en clases existentes.
)
Objetos, mensajes, métodos y clases.
B) Son ejemplos de los tipos de datos que se manejan en Java. ( Es un molde o plantilla que indica cómo será un objeto de dicha C) (
) Abstracción ) Polimorsmo
D) determinada tarea; se identica con un nombre y puede o no (
) Encapsulamiento
clase. Es un conjunto de instrucciones o sentencias que realiza una devolver un valor.
E) Entidad que puede tener identidad, estado y comportamiento:
(
) Herencia
Se centra en las características esenciales del objeto en relación a la perspectiva del observador. Son los elementos principales de la Programación Orientada a G) Objetos. Su propósito es restringir el acceso a datos y métodos a partir de H) los objetos. I) Capacidad que objetos similares tienen para responder de diferentes formas al mismo mensaje.
(
) Clase
(
) Objeto
(
) Método
(
) String, double, int, oat.
F)
27 Tercer semestre
TÉCNICO EN PROGRAMACIÓN
I N S T R U M E N T O
D E
E VA L U A C I Ó N
Autoevaluación 20% Reexión de los Aprendizajes 20%
Nombre del Estudiante ___________________________________________________________ Grado y Grupo _________________________________________________________________ Nombre de la Materia ____________________________________________________________ Nombre del Maestro(a) __________________________________________________________ Porcentaje auto asignado ________________________________________________________
Introducción.Consideramos que eres corresponsable de tus aprendizajes, y con ello es lógico pensar que también de tu evaluación. De este modo en congruencia con el modelo centrado en el aprendizaje
te invitamos a realizar una reexión que contenga las razones de la calicación que crees merecer. Autoevaluarse implica un ejercicio de honestidad y de reexión, de hacer lo correcto, esto es una Autoevaluarse señal de conanza de tus maestros y del colegio, y también será una lección que nos habla de tu formación como persona.
Instrucciones: Anota la calicación que creas merecer en esta asignatura. Da una cifra absoluta Instrucciones: Anota entre el 0 y el 20. Redacta una cuartilla haciendo hac iendo una reexión de lo que aprendiste aprendist e a lo largo de este parcial. Las siguientes preguntas te servirán como guía para escribir tu autoanálisis autoanálisis:: Las siguientes preguntas te servirán como guía para escribir tu autoanálisis autoanálisis::
1. ¿Qué aprendí de la materia? 2. ¿Cuáles fueron las acciones o procesos que me llevaron a aprenderlo? 3. ¿De qué me doy cuenta que soy hábil? 4. ¿Qué evidencias tengo de ello? 5. ¿Para qué me servirá lo que aprendí? 6. ¿Qué 6. ¿Qué contenidos o habilidades no aprendí del todo y porque se me diculto? 7. ¿Cómo pude haberlo hecho mejor? 8. ¿Qué aprendí durante este periodo que no necesariamente tiene que ver con los contenidos de la materia? f elicitarme durante este parcial? 9. ¿De qué puedo felicitarme
28