UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO - Departamento de...

89
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA MANUAL DE PRÁCTICAS DE TÉCNICAS DE PROGRAMACIÓN DEPARTAMENTO DE INGENIERÍA MECATRÓNICA M.F. Gabriel Hurtado Chong Ing. Cynthia Nelly Peña Belmont M.I. Jorge Armando Rodríguez Vera Ing. Jesús Esteban Pérez Ortega M.I. Gersaín Barrón Velázquez Ing. Amaury Pérez Tirado Ing. Miguel Serrano Reyes

Transcript of UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO - Departamento de...

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

FACULTAD DE INGENIERÍA

MANUAL DE PRÁCTICAS DE

TÉCNICAS DE PROGRAMACIÓN

DEPARTAMENTO DE INGENIERÍA MECATRÓNICA

M.F. Gabriel Hurtado Chong Ing. Cynthia Nelly Peña Belmont

M.I. Jorge Armando Rodríguez Vera Ing. Jesús Esteban Pérez Ortega M.I. Gersaín Barrón Velázquez

Ing. Amaury Pérez Tirado Ing. Miguel Serrano Reyes

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

TABLA DE CONTENIDO

PRÁCTICA 0: Examen diagnóstico (programación estructurada) .................. 1

PRÁCTICA 1: Clases y objetos ....................................................................... 6

PRÁCTICA 2: Encapsulamiento y herencia .................................................. 10

PRÁCTICA 3: Polimorfismo ......................................................................... 14

PRÁCTICA 4: Sobrecarga de métodos y operadores .................................... 18

PRÁCTICA 5: Manejo de errores y de excepciones ..................................... 22

PRÁCTICA 6: Arreglos unidimensionales .................................................... 26

PRÁCTICA 7: Arreglos multidimensionales ................................................ 30

PRÁCTICA 8: Colecciones ........................................................................... 34

PRÁCTICA 9: Implementación de interfaces ............................................... 38

PRÁCTICA 10: Manejadores de eventos ...................................................... 42

PRÁCTICA 11: Construcción de bibliotecas y reutilización de código ....... 46

PRÁCTICA 12: Listas ................................................................................... 50

PRÁCTICA 13: Pilas ..................................................................................... 54

PRÁCTICA 14: Colas .................................................................................... 59

PRÁCTICA 15: Árboles ................................................................................ 63

PRÁCTICA 16: Algoritmos de ordenación y búsqueda ................................ 68

PRÁCTICA 17: Almacenamiento, actualización y eliminación de

información mediante estructuras ................................................................... 73

PRÁCTICA 18: Manejo de archivos (escritura, lectura, acceso secuencial,

acceso aleatorio) .............................................................................................. 77

PRÁCTICA 19: Comunicación serial ............................................................ 83

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

1

N° de práctica: 0

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

Ing. Amaury Pérez Tirado

Colegio de Programación

Colegio de Programación

21-Abr-16

Examen diagnóstico

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

2

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Demostrar las habilidades de interpretación y resolución

de problemas a través de la programación.

II. Objetivos específicos:

Demostrar las habilidades de comprensión de los problemas de ingeniería.

Demostrar las habilidades de programación estructurada.

Corroborar el aprendizaje para el uso adecuado de las estructuras de control.

3. Introducción

Un algoritmo, se puede definir como una secuencia de instrucciones que representan un

modelo de solución particular para un problema en específico. Los algoritmos son

independientes de los lenguajes de programación. En cada problema el algoritmo puede

escribirse y luego ejecutarse en cualquier lenguaje de programación.

Un diagrama de flujo representa la esquematización gráfica de un algoritmo. Muestra

gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. Estos

diagramas se dibujan generalmente antes de comenzar a programar el código en alguno de

los lenguajes, desempeñan un papel vital en la programación de un problema y facilitan la

comprensión del mismo.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

3

Inicio y fin del diagrama de flujo.

Introducir datos de entrada (Lectura).

Proceso.

Decisión.

Decisión múltiple.

Impresión de datos.

Las estructuras de control son la base para la realización de programas en cualquier

lenguaje de programación, entre las cuales podemos destacar las estructuras de selección y

las estructuras de repetición.

La estructura de selección especifica rutas alternativas para el flujo del programa, creando

de este modo un punto de unión en el programa (como un desvío en una carretera).

La estructura de selección única (if)

La estructura de selección doble (if...else)

La estructura de selección múltiple (switch)

La estructura de repetición especifica la iteración de una acción mientras se sigan

cumpliendo determinadas condiciones. Cuando las condiciones de la instrucción de control

se hayan cumplido (normalmente después de un número específico de repeticiones), el

control se transferirá a la siguiente instrucción externa a la estructura de repetición.

La expresión se prueba en la parte superior del bucle (while)

La expresión se prueba en la parte inferior del bucle (do...while)

Opera en las propiedades de un objeto o en los elementos de una matriz (for...in)

Repetición controlada mediante contador (for)

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

4

4. Equipo y material

5. Desarrollo

I. Actividad 1

Algoritmos

Con base en la Metodología de Programación de Osvaldo Cairó, deberá

elaborarse un algoritmos mediante un diagrama de flujo para realizar al menos

dos cálculos matemáticos, a partir de valores proporcionados por el usuario y

mostrando los resultados correspondientes en pantalla.

Una vez definidos los algoritmos, deberán programarse y probarse.

II. Actividad 2

Estructura de selección

Con base en los algoritmos programados en la actividad anterior, deberá

elaborarse un menú, para que el usuario seleccione la operación que desea

realizar. Una vez realizado el cálculo elegido, el programa terminará.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

5

III. Actividad 3

Estructura de iteración

Con base en el menú elaborado en la actividad anterior, deberán realizarse las

siguientes modificaciones:

Al seleccionarse una opción del menú, deberá seguirse realizando ese

mismo cálculo repetidamente, hasta que el usuario decida terminar, en

cuyo caso deberá regresarse al menú.

Deberá agregarse al menú una opción de “Salir”, para terminar el

programa.

6. Bibliografía

CAIRÓ BATTISTUTTI, Osvaldo. Metodología de la programación. Algoritmos, diagramas de flujo y programas. México, Alfaomega, 2006.

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a objetos. México, Alfaomega, 2007

CAIRÓ BATTISTUTTI, Osvaldo. Manual de Programación. México, Alfaomega, 2005

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

6

N° de práctica: 1

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.F. Gabriel Hurtado Chong

Ing. Cynthia Nelly Peña Belmont

M.F. Gabriel Hurtado Chong

Colegio de Programación

18-Feb-16

Clases y objetos

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

7

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender la diferencia entre clase y objeto.

II. Objetivos específicos:

Aprender a diseñar clases.

Entender el funcionamiento de los constructores.

Identificar los atributos y los métodos.

Aprender a crear objetos.

3. Introducción

Una clase es una construcción que permite crear tipos personalizados de datos mediante la

agrupación de diversas variables, métodos y eventos.

Una clase es como un plano. Define los datos y el comportamiento de un tipo de datos. Si la

clase no se declara como estática, el código de cliente puede utilizarla mediante la creación

de objetos o instancias que se asignan a una variable.

A través de una clase se define un tipo de objeto, pero no es propiamente un objeto. Un

objeto es una entidad concreta basada en una clase y, a veces, se denomina instancia de una

clase.

Las clases contienen atributos que son un tipo de datos que guarda información y también

son considerados como metadatos.

Las clases también incluyen métodos, que son bloques de código que contienen una serie

de instrucciones.

Cada vez que se crea un objeto, se llama al constructor de la clase. Una clase puede tener

varios constructores que toman argumentos diferentes. Los constructores permiten al

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

8

programador establecer valores predeterminados, limitar la creación de instancias y escribir

código flexible y fácil de leer.

4. Equipo y material

5. Desarrollo

I. Actividad 1

Diseño de una clase

A partir de un objeto real, elija al menos 3 características que lo identifiquen y

2 acciones que definan su comportamiento.

Posteriormente, realice una abstracción para definir una clase o plantilla para

ese tipo de objetos, que incluya un mínimo de 3 atributos de diferentes tipos

(enteros, flotantes, cadenas, booleanos, etc.) y al menos 6 métodos que sean

necesarios para escribir/leer los valores de los atributos y/o para interactuar con

los objetos. Incluya también al menos 2 constructores para la clase.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

9

II. Actividad 2

Creación de objetos

Mediante la creación de objetos, realice pruebas de escritorio para verificar el

funcionamiento correcto de su clase y, de ser necesario, realice los ajustes y

correcciones adecuados.

Las pruebas deben incluir, sin limitarse a ello, los siguientes puntos:

Verificación de todos los constructores implementados.

Comprobación de la correcta asignación de valores a cada uno de los

atributos definidos.

Verificación de todos los métodos programados.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

10

N° de práctica: 2

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.F. Gabriel Hurtado Chong

M.I. Jorge Armando

Rodríguez Vera

M.F. Gabriel Hurtado Chong

Colegio de Programación

18-Feb-16

Encapsulamiento y

herencia

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

11

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivo general: Entender la reutilización de código a partir de una clase

base, obviando la implementación de los métodos y propiedades, y ocultando al

usuario la estructura interna de programación.

II. Objetivos específicos:

Implementar una clase base.

Establecer restricciones de acceso al código.

Apreciar las ventajas que ofrece el uso de la herencia y el encapsulamiento.

3. Introducción

El paradigma de la programación orientada a objetos surge debido a la necesidad de realizar

programas que puedan ser reutilizados para evitar tener que iniciar cada proyecto nuevo

desde cero. En otras palabras, no reinventar la rueda. Por lo que las bases de dicho

paradigma son dos conceptos conocidos como la herencia y el encapsulamiento.

La herencia consiste en desarrollar una clase, denominada clase base, pensando en que se

cederán todos sus atributos, propiedades y métodos a otra nueva clase, conocida como clase

derivada, con la finalidad de que ésta última pueda reutilizar las características de la clase

base sin necesidad de reescribir todo el código nuevamente.

El encapsulamiento consiste en desarrollar métodos y propiedades dentro de un programa

que puedan ser utilizados sin la necesidad de analizar el código fuente original, de tal modo

que la estructura interna de programación queda oculta al usuario; es decir que el usuario

podrá utilizar el programa y sabrá cómo hacerlo, pero sin saber a ciencia cierta cómo se

implementó su funcionamiento. Esto sería análogo a cómo un usuario común puede utilizar

un televisor sin saber a ciencia cierta cómo se genera la imagen en la pantalla o qué se

requiere internamente para poder cambiar de canal, modificar el volumen, el brillo, etc.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

12

4. Equipo y material

5. Desarrollo

I. Actividad 1

Creación de una clase base

El alumno definirá y programará una clase que cuente con al menos tres

atributos y los métodos necesarios para la lectura y/o escritura de los valores de

cada atributo.

II. Actividad 2

Creación de una clase derivada

El alumno definirá una clase derivada a partir de la clase base que definió

previamente y deberá realizar un programa que demuestre que efectivamente

fueron heredados todos los atributos y métodos de la clase base, sin necesidad

de verificar ni de modificar el código fuente original.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

13

Una vez comprobado lo anterior, deberá añadirse al menos un atributo nuevo a

la clase derivada, así como los métodos de lectura/escritura de valores que sean

necesarios.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

14

N° de práctica: 3

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.F. Gabriel Hurtado Chong

Ing. Jesús Esteban Pérez

Ortega

M.F. Gabriel Hurtado Chong

Colegio de Programación

18-Feb-16

Polimorfismo

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

15

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender qué es y para qué sirve el polimorfismo.

II. Objetivos específicos:

Aprender qué es el polimorfismo.

Identificar cuándo puede utilizarse el polimorfismo.

Aprender a redefinir los métodos de una clase base en sus clases derivadas.

3. Introducción

El polimorfismo suele considerarse el tercer pilar de la programación orientada a objetos,

además del encapsulamiento y la herencia. Polimorfismo es una palabra que proviene del

griego, significa "con muchas formas" y tiene dos aspectos diferentes:

1. En tiempo de ejecución, los objetos de una clase derivada pueden ser tratados como

objetos de una clase base al utilizarse en lugares tales como parámetros de métodos,

colecciones o arreglos (matrices). Cuando esto ocurre, el tipo declarado del objeto ya no es

idéntico a su tipo en tiempo de ejecución. Por ejemplo: A partir de una clase base

denominada “Transporte” podrían crearse las clases derivadas: “Automóvil”, “Barco” y

“Avión”. Por lo tanto, un método definido para trabajar con objetos de tipo “Transporte”

será también capaz de manejar objetos de cualquiera de sus clases derivadas.

2. Las clases base pueden definir e implementar métodos virtuales, y las clases derivadas

pueden invalidarlos, lo que significa que pueden proporcionar su propia definición e

implementación. En tiempo de ejecución, cuando el código del cliente llama al método,

busca el tipo en tiempo de ejecución del objeto e invoca esa invalidación del método

virtual. Por lo tanto, en el código fuente puede llamarse a un método en una clase base y

hacer que se ejecute una versión del método de la clase derivada. Retomando el ejemplo

anterior, la clase “Transporte” podría incorporar un método virtual llamado “Mover”, de

esta manera cada una de sus clases derivadas (“Automóvil”, “Barco” y “Avión”) sería

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

16

capaz de implementar a su propia manera dicho método, dependiendo del medio en el cual

se desplace (tierra, agua o aire, respectivamente).

Los métodos virtuales permiten trabajar de manera uniforme con distintos grupos de

objetos relacionados.

4. Equipo y material

5. Desarrollo

I. Actividad 1

Definir una clase base

Programe una clase que incluya al menos un método que sea susceptible de

tener un comportamiento distinto al ser heredado a una clase derivada. Declare

este tipo de métodos como métodos virtuales.

Elabore las pruebas de escritorio necesarias para verificar el funcionamiento

correcto de toda la funcionalidad de la clase base.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

17

II. Actividad 2

Implementación del polimorfismo

A partir de la clase base previamente definida, mediante la herencia, genere al

menos una clase derivada que redefina apropiadamente el comportamiento

todos sus métodos virtuales.

Elabore las pruebas de escritorio necesarias para verificar el funcionamiento

correcto de toda la funcionalidad de la clase derivada.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

18

N° de práctica: 4

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

Ing. Jesús Esteban Pérez

Ortega

Colegio de Programación

Colegio de Programación

17-Mar-16

Sobrecarga de métodos y

operadores

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

19

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender el funcionamiento de las sobrecargas y su

aplicación en un programa.

II. Objetivos específicos:

Describir qué son las sobrecargas.

Realizar la sobrecarga de métodos.

Realizar la sobrecarga de operadores.

3. Introducción

Los métodos son bloques de código que contienen una serie de instrucciones. Un programa

hace que se ejecuten las instrucciones al llamar al método y especifica los parámetros

necesarios para su ejecución. Los parámetros de un método se definen dentro de paréntesis

y se separan por comas, los paréntesis vacíos indican que el método no requiere parámetros.

En programación orientada a objetos, la sobrecarga de métodos se refiere a la capacidad de

tener dos o más métodos con el mismo nombre, pero con diferente cantidad y/o tipo de

parámetros. Es decir, tener diferentes definiciones para un mismo método, y el compilador

usará una u otra definición dependiendo de los parámetros utilizados.

Por ejemplo, para el constructor de una clase con 3 atributos, podrían definirse cuatro

sobrecargas de la siguiente forma:

Un constructor sin argumentos.

Un constructor con un argumento, para asignarle valor al primer atributo.

Un constructor con dos argumentos, para asignarle valor a dos de los atributos.

Un constructor con tres argumentos, para asignarle valor a cada uno de los atributos.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

20

Estos constructores, al igual que los métodos, llevan el mismo nombre pero, dependiendo

de los parámetros utilizados en la llamada al constructor o al método, el compilador

seleccionará la definición adecuada. A esto se le llama sobrecarga de métodos.

De igual manera, también existe la sobrecarga de operadores, que al igual que con la

sobrecarga de métodos consiste en definir más de una implementación para un mismo

operador. Esto hace posible que al utilizar un tipo de datos (clase) definido por el usuario

parezca tan natural y lógico como utilizar un tipo de datos fundamental. Por ejemplo, el

usuario podría crear un nuevo tipo de datos (clase) denominado “NúmeroComplejo” para

representar un número complejo y proporcionar métodos que realicen operaciones

matemáticas en esos números mediante operadores aritméticos estándar, como utilizar el

operador “+” para sumar dos números complejos.

4. Equipo y material

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

21

5. Desarrollo

I. Actividad 1

Implementar sobrecarga de métodos

Programe una clase que incluya un método que sea susceptible de tener un

comportamiento distinto al proporcionar diferentes parámetros. Definir 3

sobrecargas para ese método.

Elabore un programa en donde se verifique el uso de las diferentes sobrecargas

del método.

II. Actividad 2

Implementar sobrecarga de operadores

Programe una clase que permita realizar operaciones entre los objetos

generados de ésta. Definir al menos dos métodos que utilicen los operadores

aritméticos y/o de comparación (+, -, *, >, etc.) para realizar una serie de

instrucciones y así crear un nuevo objeto con el resultado de la operación. El

funcionamiento debe parecer natural y acorde al operador utilizado.

Realizar un programa en donde se muestre, con 3 ejemplos, el uso de la

sobrecarga de operadores realizada.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

22

N° de práctica: 5

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.F. Gabriel Hurtado Chong

Ing. Cynthia Nelly Peña Belmont

M.F. Gabriel Hurtado Chong

Colegio de Programación

18-Feb-16

Manejo de errores y de

excepciones

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

23

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender qué son las excepciones y cómo manejarlas.

II. Objetivos específicos:

Identificar cuándo pueden ocurrir errores en tiempo de ejecución en un

programa.

Aprender qué es una excepción.

Aprender a utilizar los bloques para el manejo de excepciones.

3. Introducción

Los errores que se presentan durante la ejecución de un programa son conocidos como

excepciones.

Una excepción es un evento que interrumpe el flujo normal de las sentencias durante la

ejecución de un programa.

Para el manejo de excepciones, los lenguajes de programación proveen ciertas palabras

reservadas que nos permiten manejarlas y tomar acciones de recuperación para evitar la

interrupción definitiva del programa o, al menos, para realizar algunas acciones adicionales

antes de interrumpirlo.

Muchas clases de errores pueden generar excepciones: desde problemas de hardware, como

la avería de un disco duro, hasta los simples errores de programación, como tratar de

acceder a un elemento de un arreglo fuera de sus límites.

El manejo de excepciones se compone de tres tipos de bloques de código. En el primer

bloque para el manejo de errores se coloca todo el código que es susceptible de generar una

excepción.

En el segundo bloque es donde se trata a la excepción; por ejemplo, puede enviársele un

mensaje de alerta al usuario sobre el error. De este tipo de bloques puede tenerse más de

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

24

uno, ya que puede ponerse un bloque distinto para manejar cada tipo de excepción esperado

de forma particular, o bien pueden manejarse todas las excepciones en un solo bloque, de

manera general.

El tercer tipo de bloque es opcional y en él se escriben las líneas de código de finalización,

que prácticamente son acciones de limpieza o de término del uso de algún recurso. La

característica de este tipo de bloque es que se ejecuta siempre, haya surgido o no una

excepción.

4. Equipo y material

5. Desarrollo

I. Actividad 1

Manejo general de excepciones

Programe una clase que incluya al menos un método que sea susceptible de

producir diferentes tipos de excepciones.

En cada método que pueda generar excepciones, incluya un bloque de código

para el manejo de excepciones que, cuando menos, alerte al usuario sobre la

ocurrencia de un error.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

25

II. Actividad 2

Manejo individual de excepciones

Elabore una segunda versión mejorada del programa anterior, que pueda

distinguir al menos dos tipos de excepciones, dentro de un mismo bloque de

código para el manejo de excepciones, y que sea capaz de llevar a cabo

acciones correctivas y/o de proporcionar notificaciones adecuadas y específicas

para poder resolverlas.

Esta segunda versión deberá incorporar, al menos en uno de sus métodos, los

tres tipos de bloques que existen para el manejo de excepciones.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

26

N° de práctica: 6

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.I. Gersaín Barrón Velázquez

Colegio de Programación

Colegio de Programación

17-Mar-16

Arreglos unidimensionales

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

27

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender el uso, creación y manejo de los datos conocidos

como arreglos unidimensionales.

II. Objetivos específicos:

Entender el funcionamiento de un arreglo.

Aprender a crear un arreglo.

Aprender los métodos para trabajar con arreglos unidimensionales.

3. Introducción

Un arreglo es el conjunto de elementos finito y ordenado más simple soportado por un

lenguaje de programación. Se trata de una secuencia de objetos del mismo tipo a los cuales

se puede acceder por medio de un índice y todos están agrupados bajo un mismo nombre o

identificador.

Un arreglo de tamaño N contiene una serie de valores dispuestos en memoria de

forma consecutiva, el índice representa la posición relativa de los datos en la

memoria. La primer posición del arreglo puede corresponder al índice 0 o 1

(dependiendo del lenguaje de programación) y la última posición correspondería,

respectivamente, al índice N-1 o N.

Por ejemplo, si el identificador de un arreglo de cadenas de texto es “color”, el arreglo

inicia en la posición 0 y tiene 5 elementos, sus elementos son: color[0], color[1], ...,

color[4]. En la siguiente tabla se ilustran algunos valores.

color

Índice 0 1 2 3 4

Valor “rojo” “azul” “verde” “café” “amarillo”

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

28

4. Equipo y material

5. Desarrollo

I. Actividad 1

Implementación de un arreglo

El alumno utilizará una estructura de datos del tipo arreglo para generar un

registro de datos de algún tipo de objeto utilizando al menos 3 operaciones

fundamentales para el manejo de arreglos, incluyendo el manejo de al menos 2

excepciones.

II. Actividad 2

Operaciones con los datos de arreglos

El alumno realizará operaciones con los valores almacenados en al menos dos

arreglos, utilizando para ello las estructuras de control más adecuadas.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

29

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson,

2007 LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

30

N° de práctica: 7

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.F. Gabriel Hurtado Chong

M.I. Jorge Armando

Rodríguez Vera

M.F. Gabriel Hurtado Chong

Colegio de Programación

18-Feb-16

Arreglos

multidimensionales

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

31

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivo general: Entender el funcionamiento y el manejo de los arreglos

multidimensionales en un lenguaje orientado a objetos.

II. Objetivos específicos:

Implementar una matriz de algún tipo de datos básico.

Implementar una matriz de algún de tipo de objeto.

3. Introducción

Un arreglo multidimensional se define como una colección homogénea, finita y ordenada

de datos con N dimensiones. Para hacer referencia a cada componente de un arreglo

multidimensional se requieren N índices, uno para cada dimensión. Por ejemplo, un arreglo

de dos dimensiones se trata de un arreglo multidimensional que requiere de dos índices para

hacer referencia a cada uno de sus componentes, uno para especificar la columna y otro

para el renglón.

Los arreglos multidimensionales son ampliamente utilizados en la programación debido a

que comúnmente se tiene una gran cantidad de datos, que debido a su relación entre sí sería

mucho más complicado representarlos en una sola dimensión. Por ejemplo, las imágenes

pueden ser representadas en un arreglo de tres dimensiones debido a que una parte de los

datos puede expresar el color Rojo, otra para el color Azul y por último el Verde, que al ser

combinados todos entre sí nos dan el efecto del color real en una imagen.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

32

4. Equipo y material

5. Desarrollo

I. Actividad 1

Arreglos multidimensionales de datos básicos

El alumno definirá al menos dos arreglos de dos o más dimensiones para

almacenar diversos valores de datos básicos (enteros, flotantes, cadenas,

booleanos, etc.) con los cuales deberá realizar alguna operación (suma, resta,

multiplicación, concatenación, etc.).

Para el almacenamiento, consulta y modificación de los valores almacenados en

cada arreglo, así como para la visualización de los resultados generados, se

deberá implementar una interfaz gráfica de usuario que sea adecuada y fácil de

utilizar.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

33

II. Actividad 2

Arreglos multidimensionales de objetos

El alumno definirá al menos dos arreglos de dos o más dimensiones para el

almacenamiento de objetos que deberán tener cada uno al menos dos atributos,

y deberá realizarse al menos una operación entre objetos contenidos en

diferentes arreglos.

Para el almacenamiento, consulta y modificación de los valores de los atributos

de los objetos almacenados en cada arreglo, así como para la visualización de

los resultados generados, se deberá implementar una interfaz gráfica de usuario

que sea adecuada y fácil de utilizar.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

34

N° de práctica: 8

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.I. Gersaín Barrón Velázquez

Colegio de Programación

Colegio de Programación

21-Abr-16

Colecciones

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

35

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender el uso, creación y manejo de las colecciones

II. Objetivos específicos:

Entender el funcionamiento de las colecciones.

Aprender a crear colecciones.

Aprender los métodos para trabajar con colecciones.

3. Introducción

Una colección es un contenedor que alberga un grupo de objetos, que igualmente,

proporciona un conjunto de métodos estándar para enumerar, comparar y crear tales

objetos.

Los objetos que pueden guardarse en una colección deber pertenecer todos a una misma

clase o bien a una clase y sus subclases. Así, por ejemplo, podría tenerse una colección de

animales, que contenga perros, gatos, tigres, elefantes, siempre y cuando todos ellos sean

subclases de la clase Animal.

Las colecciones proporcionan una manera más flexible de trabajar con grupos de objetos. A

diferencia de las matrices, el grupo de objetos con el que trabaja puede aumentar y

reducirse de manera dinámica a medida que cambian las necesidades de la aplicación. Para

algunas colecciones, puede asignar una clave a cualquier objeto que incluya en la colección

para, de este modo, recuperar rápidamente el objeto con la clave.

A diferencia de los arreglos, en donde se asigna un tamaño inicial fijo al momento de

declararlos, en las colecciones se pueden agregar y eliminar dinámicamente elementos

durante la ejecución del programa, y se ajusta su tamaño.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

36

Al agregar cualquier elemento éste será asignado al último espacio de memoria reservado

para la colección.

Antes Elemento a agregar Después de inserción

Las colecciones tienen diferentes métodos para realizar tareas, de las más comunes son:

Agregar un elemento.

Insertar un elemento en determinada posición de la colección.

Eliminar un elemento en cierta posición.

Agregando a la versatilidad de poder modificar su tamaño y desplazar datos, las

colecciones pueden contener, enteros, flotantes, strings y objetos.

4. Equipo y material

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

37

5. Desarrollo

I. Actividad 1

Implementación de una colección

El alumno utilizará una estructura de colección para generar registros de algún

tipo de objeto utilizando al menos 3 operaciones fundamentales para el manejo

de la colección.

II. Actividad 2

Operaciones con los colecciones

El alumno realizará operaciones con objetos (clases creadas por ellos)

almacenados en al menos dos colecciones, utilizando para ello las estructuras

de control más adecuadas.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson,

2007 LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

38

N° de práctica: 9

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.I. Jorge Armando

Rodríguez Vera

Colegio de Programación

Colegio de Programación

17-Mar -16

Implementación de

interfaces

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

39

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivo general: Desarrollar programas que requieran la reutilización de

código a partir de dos o más clases que comparten algunas características en

común.

II. Objetivos específicos:

Desarrollar interfaces.

Implementar las interfaces.

Visualizar la ventaja de reutilizar código a partir de una interfaz,.

3. Introducción

La herencia es una herramienta muy poderosa del paradigma de programación orientada a

objetos y en ocasiones se requiere heredar de más de una clase para ahorrar desarrollo de

código. Sin embargo, algunos lenguajes de programación, como C# y Java, no soportan

este comportamiento, por lo cual hacen uso del concepto de interfaz para poder simular la

herencia de múltiples clases.

Una interfaz contiene las definiciones de un grupo de métodos y propiedades relacionadas

que una clase puede implementar. En otras palabras, una interfaz solamente contiene las

definiciones de los métodos pero no incluye ningún tipo de código dentro de ellos.

Un ejemplo donde se podría utilizar una interfaz, sería al diseñar una clase llamada Ropa

donde se implementan los atributos de marca, color y precio, así como el método de

compra y ésta a su vez hereda a las subclases Pantalón, Playera y PlayeraPersonalizada.

Por otro lado, se tiene a otra clase llamada Teléfono, con propiedades similares a las de la

clase Ropa, y que a su vez hereda a las subclases Smartphone y TeléfonoOficina. Si se

deseara implementar un método en común denominado Devolución( ) para las subclases de

Ropa y Teléfono, podríamos concluir que a la subclase PlayeraPersonalizada no se le puede

aplicar dicho método (por ser un producto hecho a la medida) así que convendría más

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

40

utilizar una interfaz para implementarlo solamente en aquellas subclases en las que se

puede llevar a cabo una devolución.

4. Equipo y material

5. Desarrollo

I. Actividad 1

Definición de interfaces

El alumno definirá una superclase con tres subclases, incluyendo dentro de la

superclase todos los métodos que las subclases contengan en común.

Posteriormente, deberán definirse al menos dos métodos que no puedan ser

compartidos por al menos una de las subclases. Deberá entonces definirse también

al menos una interfaz que incluya esos métodos.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

41

II. Actividad 2

Implementación de Interfaces

El alumno desarrollará un programa en donde se implementarán la o las

interfaces para cada una de las subclases donde son necesarias.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a objetos. México, Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

42

N° de práctica: 10

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

Ing. Jesús Esteban Pérez

Ortega

Colegio de Programación

Colegio de Programación

21-Abr-16

Manejadores de eventos

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

43

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender qué son los eventos, para qué sirven y cómo se

manejan.

II. Objetivos específicos:

Definir la creación e invocación de eventos en una clase.

Definir métodos en una clase para manejar eventos generados por otras

clases.

3. Introducción

Los eventos habilitan a una clase para notificar a otras cuando ocurre algo de interés. La

clase que produce el evento es llamada editor y las clases que manejan un evento son

llamadas suscriptores.

En una aplicación típica de interfaz gráfica de usuario, se puede suscribir a eventos

producidos por las clases que representan los controles (como botones, cajas de texto, etc.)

y manejarlos mediante métodos para realizar otra acción cuando el usuario hace algo con el

control. Por ejemplo, se puede tener el interés de saber cuándo hace clic el usuario sobre un

botón (evento), para poder realizar una acción (método que maneja el evento).

Los eventos tienen las siguientes características:

El editor determina cuándo se produce un evento, los suscriptores determinan qué

acción realizarán en respuesta al evento.

Un evento puede tener múltiples suscriptores. Un suscriptor puede manejar

múltiples eventos de múltiples editores.

Los eventos que no tienen suscriptores nunca se producen.

Los eventos son típicamente utilizados como señales de acciones del usuario como

clics en los botones o selecciones de menús en interfaces gráficas de usuario.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

44

Cuando un evento tiene múltiples suscriptores, los manejadores de eventos se

pueden invocar de manera síncrona o asíncrona cuando se produce el evento.

4. Equipo y material

5. Desarrollo

I. Actividad 1

Crear y manejar un evento

Realice una clase editor que contenga un evento que se produzca cuando, en un

atributo, se modifique alguna característica seleccionada (como su valor,

tamaño, etc.). Escriba el código para definir en qué situación o situaciones se

invocará el evento; es decir, los momentos cuando se produzca un cambio en la

característica seleccionada del atributo.

Elabore una clase suscriptora del evento creado en la clase editor. La clase

suscriptora debe tener definido un método que se ejecute cuando se produzca el

evento. Verifique el funcionamiento del evento en su programa.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

45

II. Actividad 2

Manejar eventos en interfaces gráficas de usuario

Cree una interfaz gráfica de usuario que contenga 3 diferentes controles (botón,

etiqueta, lista desplegable, etc.). Suscríbase a dos eventos de cada control

seleccionado, es decir, manejará 6 eventos en total.

Para manejar cada uno de los eventos, defina:

1. Un método para manejar uno de los eventos del primer control.

2. Un método para manejar uno de los eventos del segundo control.

3. Un método para manejar uno de los eventos del tercer control.

4. Un método para manejar los 3 eventos restantes.

En total, definirá 4 métodos para manejar 6 eventos.

Verifique el funcionamiento de cada uno de los eventos seleccionados.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

46

N° de práctica: 11

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.F. Gabriel Hurtado Chong

Ing. Cynthia Nelly Peña Belmont

M.F. Gabriel Hurtado Chong

Colegio de Programación

18-Feb-16

Construcción de

bibliotecas y reutilización

de código

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

47

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Aprender a crear una biblioteca y a reutilizar código.

II. Objetivos específicos:

Diseñar una biblioteca de clases.

Crear una biblioteca de clases.

3. Introducción

Una biblioteca es un conjunto de clases agrupadas, ya sea que estén preestablecidas o que

uno, como programador, las puede generar.

Básicamente, para hacer reutilización de código se debe diseñar y crear una biblioteca con

las clases y métodos que sean importantes para nosotros y que utilicemos con frecuencia,

para así ya no perder tiempo en escribir siempre un mismo bloque de instrucciones en todos

nuestros programas y optimizar nuestro código. Además de la reducción del tiempo de

desarrollo en nuevos programas, se obtiene el beneficio de la disminución de errores de

programación.

Para construir una biblioteca es muy importante generar un proyecto como biblioteca de

clases, lo que nos va a permitir generar dentro de ella todas las clases que queramos, es

muy importante que en nuestro código no tengamos errores para que se pueda generar

correctamente.

Una vez creada la biblioteca es importante agregarla primero al proyecto donde la

queramos utilizar. Posteriormente, sólo es necesario mandar a llamar a las clases o

métodos deseados.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

48

4. Equipo y material

5. Desarrollo

I. Actividad 1

Creación de una biblioteca

Diseñe una biblioteca, identificando al menos 5 métodos de propósito general,

que sean básicos o relevantes y de uso común para el desarrollo a futuro de

diversos programas. Por ejemplo: métodos para la entrada de diferentes tipos

de datos desde el teclado, que incorporen un manejo de excepciones completo,

robusto y adecuado, con un enfoque al usuario.

Agrupe los métodos identificados en al menos dos clases e impleméntelos

dentro de un proyecto de biblioteca de clases.

Haga las pruebas de escritorio necesarias para corroborar el buen

funcionamiento de todos los métodos. De ser necesario, realice todas las

correcciones y ajustes adecuados.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

49

II. Actividad 2

Uso de una biblioteca

Para llevar a cabo la reutilización de código, agregue su biblioteca a un nuevo

proyecto y compruebe el funcionamiento correcto de al menos un método de

cada una de las clases contenidas en su biblioteca.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

50

N° de práctica: 12

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

Ing. Miguel Serrano Reyes

Colegio de Programación

Colegio de Programación

17-Mar-16

Listas

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

51

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender el uso y funcionamiento de la estructura de

datos conocida como lista.

II. Objetivos específicos:

Entender el funcionamiento de una lista.

Crear una lista.

Conocer los métodos para trabajar con listas.

3. Introducción

Una estructura de datos es un grupo de elementos que se pueden procesar de manera

uniforme.

Las estructuras básicas suelen tener la limitación de no poder cambiar su tamaño durante la

ejecución. Las listas lineales permiten crear estructuras de datos dinámicas; es decir,

podemos almacenar en ellas tantos elementos como necesitemos, siempre y cuando haya

suficiente espacio en memoria.

Una lista es una estructura de datos que cumple con las siguientes características:

1. Todos sus componentes son del mismo tipo.

2. Cada elemento o nodo va seguido de otro del mismo tipo o de ninguno.

3. Sus componentes se almacenan según cierto orden.

El lenguaje C#, por ejemplo, tiene una clase llamada List que nos permite manipular datos

que cumplan las características antes mencionadas. Dicha clase proporciona los métodos

necesarios para llevar a cabo las siguientes operaciones:

1. Insertar elementos.

2. Eliminar elementos.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

52

3. Recorrer listas, mediante el uso de ciclos y sus índices.

4. Búsqueda de datos.

Uno de los beneficios de las listas radica en que podemos crearlas para guardar objetos de

cualquier clase deseada: cadenas de texto, botones o cualquier otra descrita por el

programador.

4. Equipo y material

5. Desarrollo

I. Actividad 1

Implementación de una lista

El alumno utilizará una estructura de datos del tipo lista para generar un

registro de datos de algún tipo de objeto, utilizando al menos 3 operaciones

fundamentales de las listas.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

53

II. Actividad 2

Implementación de una interfaz gráfica de usuario

El alumno hará uso del control de lista desplegable para generar una lista a la

que se le agregarán elementos uno por uno mediante un cuadro de texto y un

botón. Al hacer doble click sobre alguno de los elementos de la lista, éste

deberá ser eliminado, con la previa confirmación del usuario mediante un

cuadro de diálogo adecuado.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

54

N° de práctica: 13

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.F. Gabriel Hurtado Chong

Ing. Cynthia Nelly Peña Belmont

M.F. Gabriel Hurtado Chong

Colegio de Programación

18-Feb-16

Pilas

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

55

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender el uso y funcionamiento de la estructura de

datos conocida como pila.

II. Objetivos específicos:

Entender el funcionamiento de una pila.

Aprender a crear una pila.

Conocer los métodos para trabajar con pilas.

3. Introducción

Una pila es una lista lineal en la que sólo se pueden insertar y eliminar elementos o nodos

en un extremo de la lista. A éste tipo de lista tambien se les conoce como listas LIFO (last

in first out – último en entrar, primero en salir).

Las operaciones de inserción y de eliminación de elementos en una pila se conocen

respectivamente como "push" y "pop", esto es "empujar" y "tirar". Ademas, las escrituras

de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo leído.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

56

Push (Empujar)

Pop (Tirar)

De esta manera, el manejo de la información para agregar y extraer datos de la lista es

análoga a la forma en la que se acomodan los platos en una alacena o se estiban cajas en un

almacén. Lo usual, en ambos casos, es colocar cada nuevo elemento encima del elemento

anterior; es decir que se van encimando o apilando uno sobre otro, y de ahí toma su nombre

esta estructura de datos. De igual modo, quien requiera utilizar un plato o retirar una caja

tomaría normalmente el elemento que se encuentre en la parte superior de la pila; es decir,

el que se colocó más recientemente o, en otras palabras, el último que fue agregado a la

pila.

Hoy en día, los lenguajes orientados a objetos incorporan enormes bibliotecas de

elementos, funciones y herramientas para facilitar el trabajo de los desarrolladores de

software. De esta forma, es común encontrar, ya predefinidos, diversos tipos de listas

lineales de propósito general, para que el usuario pueda generar listas de cualquier tipo de

objetos, inclusive de aquellos objetos que él mismo defina. Este tipo de listas predefinidas

incorporan también diversos métodos para poder trabajar con ellas, incluyendo, entre

muchos otros, métodos que sirven para agregar y extraer elementos de las listas.

Elemento 3

Elemento 2

Elemento 1

Elemento 3

Elemento 2

Elemento 1

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

57

4. Equipo y material

5. Desarrollo

I. Actividad 1

Implementación de una pila

El alumno utilizará una estructura de datos del tipo pila, que ya venga

predefinida en el lenguaje de cómputo, para generar un registro de datos

mediante algún tipo de objeto que cuente con al menos 3 atributos.

II. Actividad 2

Implementación de una interfaz gráfica de usuario

Para consultar la información de cada uno de los objetos almacenados en la

pila, el alumno implementará una interfaz gráfica de usuario que sea adecuada

y fácil. Así mismo, ésta interfaz también deberá permitir agregar y eliminar

elementos, según se requiera.

El programa deberá incorporar un manejo adecuado de excepciones con

mensajes claros para orientar al usuario en el uso correcto del mismo.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

58

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

59

N° de práctica: 14

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

Ing. Miguel Serrano Reyes

Colegio de Programación

Colegio de Programación

21-Abril-16

Colas

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

60

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender el uso y funcionamiento de la estructura de

datos conocida como cola.

II. Objetivos específicos:

Entender el funcionamiento de una cola.

Crear una cola.

Conocer los métodos para trabajar con colas.

3. Introducción

Una estructura de datos es un grupo de elementos que se puede procesar de manera

uniforme.

Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la

que la operación de inserción se realiza por un extremo y la operación de extracción por el

otro.

También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer

elemento en entrar será también el primero en salir.

Las colas son útiles cuando se necesita almacenamiento temporal de información; es decir,

cuando es posible descartar un elemento después de recuperar su valor.

C# tiene una clase llamada Queue que nos permite manipular datos que cumplan las

características antes mencionadas. Dicha clase proporciona los métodos necesarios para

llevar a cabo las siguientes operaciones:

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

61

1. Añadir un elemento al final de la cola.

2. Devolver el elemento que se encuentra al principio de la cola y eliminarlo.

3. Devolver el elemento que se encuentra al principio de la cola pero sin eliminarlo.

Se utiliza una cola si es necesario acceder a la información en el mismo orden en que se

almacenó.

4. Equipo y material

5. Desarrollo

I. Actividad 1

Implementación de una cola

El alumno utilizará una estructura de datos del tipo cola para generar un

registro de datos de algún tipo de objeto, utilizando las operaciones

fundamentales de las colas.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

62

II. Actividad 2

Implementación de una interfaz gráfica de usuario

El alumno hará uso del control de lista desplegable para generar una cola a

la que se agregarán elementos uno por uno mediante un cuadro de texto y

un botón. Al hacer doble click sobre otro botón, se deberá eliminar el

primer elemento de la cola, con la previa confirmación del usuario

mediante un cuadro de diálogo adecuado.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a

objetos. México,Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

63

N° de práctica: 15

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

Ing. Miguel Serrano Reyes

Colegio de Programación

Colegio de Programación

10-Jun-16

Árboles

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

64

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Entender el uso y funcionamiento de la estructura de

datos conocida como árbol.

II. Objetivos específicos:

Entender el funcionamiento de un árbol.

Crear un árbol.

Conocer los métodos para trabajar con un árbol.

3. Introducción

Un árbol es una colección de objetos conectados llamados nodos.

Un nodo es la unidad sobre la que se construye el árbol y puede tener cero o más nodos

hijos conectados a él.

Un nodo es padre de otro si existe un enlace desde el primer nodo al segundo (en ese caso,

también decimos que el segundo nodo es hijo del primero). Por ejemplo, en la figura 1 el

nodo B es padre de E.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

65

Figura 1. Ejemplo de un árbol.

Al nodo que no tiene padres se le conoce como raíz. En la figura 1 el nodo A es la raíz.

A un nodo que no tiene hijos se le llama hoja, como los nodos E, I, G, J, K y L, de la figura

1.

A los demás nodos (aquellos que tienen padre y uno o varios hijos) se les conoce como

rama, tal como los nodos B, C, D, F y H, en la figura 1.

Dentro de las características que posee un árbol encontramos las siguientes:

El orden del árbol es el número potencial de hijos que puede tener cada elemento de

árbol.

El grado del árbol resulta ser el número de hijos que tiene el elemento con más hijos

dentro del árbol. En la figura 1, el grado del árbol es tres.

El nivel de un nodo se define como la distancia de ese nodo a la raíz, medida en

nodos. El nivel del nodo J en la figura 1 es cuatro, el del nodo B es dos.

La altura del árbol se define como el nivel del nodo de mayor nivel. La altura del

árbol es cuatro en la figura 1.

A

B

D

I

E F

J K

C

G H

L

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

66

Las operaciones básicas en árboles son:

1. Añadir o insertar elementos.

2. Buscar o localizar elementos.

3. Borrar elementos.

4. Moverse a través del árbol.

5. Recorrer el árbol completo.

Uno de los ejemplos más característicos del uso de árboles se encuentra en el manejo de

carpetas de archivos en un sistema operativo.

Con ayuda de los árboles podemos representar datos jerárquicos y facilitar las operaciones

de búsqueda en estos conjuntos de datos.

4. Equipo y material

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

67

5. Desarrollo

I. Actividad 1

Implementación de un árbol

El alumno implementará una clase que contenga una estructura de datos del

tipo árbol para su posterior utilización.

II. Actividad 2

Implementación de una interfaz gráfica de usuario

El alumno generará un árbol con la clase creada en la actividad 1 y lo

desplegará en pantalla indicando su orden, grado, altura y nivel de sus nodos (o

de algún nodo seleccionado), acorde al árbol creado.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a objetos. México, Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

68

N° de práctica: 16

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

Ing. Amaury Pérez Tirado

Colegio de Programación

Colegio de Programación

21-Abr-16

Algoritmos de ordenación

y búsqueda

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

69

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Conocer algunos de los algoritmos empleados en las

acciones de ordenación y de búsqueda.

II. Objetivos específicos:

Conocer el concepto de algoritmo de ordenación así como algunos de los

métodos existentes.

Conocer el concepto de algoritmo de búsqueda, así como algunos métodos

existentes.

3. Introducción

Ordenación

La ordenación o clasificación de datos (sort, en inglés) es una operación consistente en

disponer un conjunto —estructura— de datos en algún determinado orden con respecto a

uno de los campos de elementos del conjunto. Por ejemplo, cada elemento del conjunto de

datos de una guía telefónica tiene un campo nombre, un campo dirección y un campo

número de teléfono; la guía telefónica está dispuesta en orden alfabético de nombres; los

elementos numéricos se pueden ordenar en orden creciente o decreciente de acuerdo al

valor numérico del elemento.

Una colección de datos (estructura) puede ser almacenada en un archivo, un arreglo (vector

o tabla), un arreglo de registros, una lista enlazada o un árbol.

Cuando los datos están almacenados en un arreglo, una lista enlazada o un árbol, se

denomina ordenación interna. Si los datos están almacenados en un archivo, el proceso de

ordenación se llama ordenación externa.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

70

Los métodos de ordenación se suelen dividir en dos grandes grupos:

Directos: Intercambio, burbuja, selección, inserción.

Indirectos (avanzados): Shell, ordenación rápida, ordenación por mezcla,

Radixsort.

Búsqueda

La búsqueda es una operación que tiene por objeto la localización de un elemento dentro de

la estructura de datos. A menudo un programador estará trabajando con grandes cantidades

de datos almacenados y pudiera resultar necesario determinar si contiene un valor que

coincide con algún valor clave o buscado.

Existen dos métodos de acceso, para encontrar elementos dentro de una estructura de datos:

búsqueda secuencial y búsqueda binaria.

El algoritmo de búsqueda secuencial compara sucesivamente cada elemento con una clave

de búsqueda. Dado que el conjunto de datos no está en un orden prefijado, es probable que

el elemento a buscar pueda ser el primer elemento, el último elemento o cualquier otro. En

promedio, el programa tendrá que comparar la clave de búsqueda al menos con la mitad de

los elementos. El método de búsqueda secuencial funcionará bien con conjuntos pequeños

o no ordenados.

Si el conjunto está ordenado, la búsqueda binaria proporciona una técnica de búsqueda

mejorada. Por ejemplo, en un arreglo ordenado de menor a mayor, el proceso comienza

comparando el elemento central con el valor buscado. Si ambos valores son iguales finaliza

la búsqueda. Si el elemento buscado es mayor se procede a hacer una nueva búsqueda

binaria en el subarreglo de índice superior, si el elemento buscado es menor se debe buscar

en el otro subarreglo; éste es un proceso reiterativo hasta dar con el elemento buscado. Una

búsqueda binaria típica se asemeja a la búsqueda de una palabra en un diccionario.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

71

4. Equipo y material

5. Desarrollo

I. Actividad 1

Algoritmo de Ordenación

Partiendo de un conjunto de datos desordenado, generar un conjunto ordenado

mediante alguno de los métodos mencionados, conforme a dos criterios

distintos.

II. Actividad 2

Algoritmo de Búsqueda

Partiendo de un conjunto de datos, realizar diferentes búsquedas, mediante al

menos dos métodos, y evaluar la eficiencia de cada método.

6. Bibliografía

CAIRÓ BATTISTUTTI, Osvaldo. Metodología de la programación. Algoritmos, diagramas de flujo y programas. México, Alfaomega, 2006.

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

72

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a objetos. México, Alfaomega, 2007

CAIRÓ BATTISTUTTI, Osvaldo. Manual de Programación. México, Alfaomega, 2005

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

73

N° de práctica: 17

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.I. Jorge Armando

Rodríguez Vera

Colegio de Programación

Colegio de Programación

21-Abr-16

Almacenamiento, actualización y

eliminación de información mediante

estructuras

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

74

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivo general: Desarrollar programas que requieran optimizar el espacio de

almacenamiento así como resolver problemas que requieran utilizar estructuras.

II. Objetivos específicos:

Implementar las estructuras

Manipular variables haciendo uso de estructuras

3. Introducción

Las estructuras permiten agrupar datos y manipularlos independientemente del tipo con que

fueron declaradas desde un principio. La importancia de utilizar una estructura es que en

algunos problemas es muy complicado trabajar con datos de tipo primitivo y, por lo tanto,

se requieren trabajar en conjunto varios tipos de datos.

Comúnmente en un lenguaje de programación orientado a objetos se utilizan las clases para

agrupar los atributos, constructores y métodos para poder ser manipulados. Sin embargo,

hay ocasiones en que no es tan eficiente trabajar con clases, debido a que los datos no

varían en un muy alto intervalo de valores por lo que se prefiere implementar estructuras.

Las estructuras, a diferencia de las clases, realizan una asignación directa de los datos y, por

lo tanto, no se trabaja por referencia, lo que hace que la memoria sea aprovechada de una

mejor forma. Comúnmente se hacen combinaciones entre arreglos y estructuras, los cuales

se resumen en:

1. Arreglos de estructuras

2. Estructuras anidadas

3. Estructuras con arreglos

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

75

4. Equipo y material

5. Desarrollo

I. Actividad 1

Definición de estructuras

Declare al menos tres estructuras de datos diferentes en las cuales se requiera

implementar arreglos con estructuras, estructuras anidadas y estructuras con

arreglos.

II. Actividad 2

Implementación de Estructuras

El alumno desarrollará un programa donde se implementen las tres

combinaciones de estructuras con arreglos y se pueda observar su

funcionamiento.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

76

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a objetos. México, Alfaomega, 2007

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

77

N° de práctica: 18

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

Ing. Amaury Pérez Tirado

Colegio de Programación

Colegio de Programación

26-Mayo-16

Manejo de archivos

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

78

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivos generales: Conocer la forma en que se almacenan y se recuperan los

archivos.

II. Objetivos específicos:

Entender el concepto de archivo.

Conocer los métodos de almacenamiento: Secuencial y Aleatorio.

3. Introducción

El almacenamiento de datos en variables y arreglos es temporal; los datos se pierden

cuando una variable local "sale de su alcance" o cuando el programa termina, por ejemplo.

Se usan archivos para conservar a largo plazo grandes cantidades de datos, incluso después

de que el programa que creó los datos ha terminado. Los datos mantenidos en archivos se

conocen como datos persistentes. Las computadoras guardan los archivos en dispositivos de

almacenamiento secundario como discos magnéticos, de estado sólido, ópticos, cintas

magnéticas y otros.

Los archivos también denominados ficheros son una colección de información (datos

relacionados entre sí), localizada o almacenada como una unidad en alguna parte de la

computadora.

Los archivos sirven para la entrada y salida de datos de la computadora y a diferencia de los

arreglos y registros, no requieren de un tamaño predeterminado; esto significa que se

pueden hacer archivos de datos más grandes o pequeños, según se necesiten. Cada archivo

es referenciado por su identificador (su nombre).

Los archivos se pueden clasificar dependiendo del tipo de valores permitidos a cada byte.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

79

Archivos de texto. Sólo tienen permitidos ciertos rangos de valores para cada byte.

Algunos bytes tienen un significado especial, por ejemplo, el valor hexadecimal 0x1A

marca el fin de archivos. Si abrimos un archivo en modo texto, no será posible leer más

allá de un byte con ese valor, aunque el archivo sea más largo.

Archivos binarios. Tienen permitidos todos los valores para cada byte. En estos

archivos su final se detecta de otro modo, dependiendo del formato establecido y del

sistema operativo. La mayoría de las veces se hace guardando la longitud del archivo.

Cuando queramos almacenar valores enteros, o en punto flotante, o imágenes, etc.,

deberemos usar este tipo de archivos.

Según el tipo de acceso, podemos hablar de:

Archivos de acceso secuencial.

Archivos de acceso aleatorio.

Archivos de acceso secuencial

En un archivo organizado secuencialmente, los registros se graban consecutivamente

cuando el archivo se utiliza como entrada. En la mayoría de los casos, los registros de un

archivo secuencial quedan ordenados de acuerdo con el valor de algún campo de cada

registro, este valor se conoce como la llave del ordenamiento. Todos los registros tienen el

mismo tamaño, constan del mismo número de campos de tamaño fijo en un orden

particular. Como se conocen la longitud y la posición de cada campo, solamente los valores

de los campos necesitan almacenarse; el nombre y longitud de cada campo son atributos de

la estructura de archivos.

Ventajas:

Los archivos secuenciales proveen la mejor utilización de espacio y son rápidos cuando los

registros son accedidos secuencialmente.

Los archivos con poca volatilidad, gran actividad y tamaño variable son altamente

susceptibles de ser organizados secuencialmente.

La ventaja más importante de la técnica de organización secuencial de archivos es la

capacidad de acceso al "siguiente" registro rápidamente. Mientras que el patrón de

acceso a un archivo secuencial se apegue al ordenamiento de registros en el archivo,

los tiempos de acceso serán eficientes.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

80

Desventajas:

El acceso a un registro específico es deficiente si su localización no puede hacerse de

manera rápida; el acceso aleatorio es impráctico.

Además, en los archivos secuenciales la dirección de registro está implícita y están

vulnerables a fallas del sistema.

Escritura y lectura de archivos secuenciales

Los archivos secuenciales tienen algunas características que hay que tener en cuenta:

1. La escritura de nuevos datos siempre se hace al final del archivo.

2. Para leer un dato concreto del archivo hay que avanzar siempre hasta donde se encuentre

dicho dato. Si el dato requerido se encuentra antes del dato en que está posicionado el

archivo en un momento dado, será necesario regresar al comienzo del archivo y avanzar

hasta el dato necesario.

Archivos de acceso aleatorio

Los archivos de acceso aleatorio son más versátiles, permiten acceder a cualquier parte del

archivo en cualquier momento, como si fueran arreglos en memoria. Las operaciones de

lectura y/o escritura pueden hacerse en cualquier punto del archivo.

Recomendaciones para el manejo de archivos de acceso aleatorio:

Abrir el archivo en un modo que te permita leer y escribir. Esto no es

imprescindible, es posible usar archivos de acceso aleatorio sólo para lectura o sólo

para escritura.

Abrirlo en modo binario, ya que algunos o todos los campos de la estructura pueden

no ser caracteres.

Usar métodos que permitan leer y escribir registros de longitud constante desde y

hacia un archivo.

Usar un método para ubicar la posición de lectura/escritura en el lugar apropiado de

tu archivo.

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

81

4. Equipo y material

5. Desarrollo

I. Actividad 1

Archivos de Texto

Hacer un programa que guarde algunos datos ingresados, incluyendo números,

por el usuario en un archivo de texto y que permita recuperarlos y hacer alguna

búsqueda u operación específica.

II. Actividad 2

Archivos Binarios

Hacer un programa que guarde algunos datos ingresados, incluyendo números,

por el usuario en un archivo binario y que permita recuperarlos y hacer alguna

búsqueda u operación específica.

Computadora

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

82

III. Actividad 3

Comparación entre formatos de archivo

A partir de dos archivos que contengan exactamente la misma información,

pero uno en formato de texto y el otro en formato binario, compare los tamaños

respectivos de cada uno y elabore una conclusión al respecto (ventajas y

desventajas de cada formato).

6. Bibliografía

CAIRÓ BATTISTUTTI, Osvaldo. Metodología de la programación. Algoritmos, diagramas de flujo y programas. México, Alfaomega, 2006.

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a objetos. México, Alfaomega, 2007

CAIRÓ BATTISTUTTI, Osvaldo. Manual de Programación. México, Alfaomega, 2005

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

83

N° de práctica: 19

Nombre completo del alumno Firma

N° de brigada: Fecha de elaboración: Grupo:

Elaborado por: Revisado por: Autorizado por: Vigente desde:

M.I. Gersaín Barrón Velázquez

Colegio de Programación

Colegio de Programación

3-Jun-16

Comunicación serial

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

84

1. Seguridad en la ejecución

Peligro o Fuente de energía Riesgo asociado

1 Tensión alterna Electrocución

2. Objetivos de aprendizaje

I. Objetivo general: Realizar una comunicación serial entre dos dispositivos.

II. Objetivos específicos:

Implementar comunicación serial con cualquier cliente.

Manipular cadena de caracteres y adquisición de variables.

3. Introducción

Un puerto serial permite el envío de datos, uno detrás de otro, entre dos dispositivos

interconectados. Ejemplos de comunicación serial incluyen los protocolos: RS-232, USB

y Bluetooth, por mencionar algunos.

Típicamente, la comunicación serial se utiliza para transmitir datos en formato ASCII. Para

realizar la comunicación se utilizan 3 líneas de transmisión: (1) Tierra (o referencia), (2)

Transmitir, (3) Recibir. Debido a que la transmisión es asíncrona, es posible enviar datos

por una línea mientras se reciben datos por otra.

Las características más importantes de la comunicación serial son la velocidad de

transmisión, los bits de datos, los bits de parada, y la paridad. Para que dos puertos se

puedan comunicar, es necesario que dichas características sean iguales en ambos.

a) Bits de datos. Se refiere a la cantidad de bits en la transmisión. Cuando la

computadora envía un paquete de información, el tamaño de ese paquete no

necesariamente será de 8 bits. Las cantidades más comunes de bits por paquete son

5, 7 y 8 bits. El número de bits que se envía depende del tipo de información que se

transfiere. Por ejemplo, el ASCII estándar tiene un rango de 0 a 127, es decir,

utiliza 7 bits; para ASCII extendido es de 0 a 255, lo que utiliza 8 bits. Si el tipo de

datos que se está transfiriendo es texto simple (ASCII estándar), entonces es

suficiente con utilizar 7 bits por paquete para la comunicación. Un paquete se

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

85

refiere a una transferencia de byte, incluyendo los bits de inicio/parada, bits de

datos, y paridad. Debido a que el número actual de bits depende del protocolo que

se seleccione, el término paquete se puede usar para referirse a todos los casos.

b) Bits de parada. Usado para indicar el fin de la comunicación de un solo paquete.

Los valores típicos son 1 o 2 bits. Debido a la manera como se transfiere la

información a través de las líneas de comunicación y que cada dispositivo tiene su

propio reloj, es posible que los dos dispositivos no estén sincronizados. Por lo

tanto, los bits de parada no sólo indican el fin de la transmisión sino además dan un

margen de tolerancia para esa diferencia de los relojes. Mientras más bits de parada

se usen, mayor será la tolerancia a la sincronía de los relojes, sin embargo la

transmisión será más lenta.

c) Paridad. Es una forma sencilla de verificar si hay errores en la transmisión serial.

Existen cuatro tipos de paridad: par, impar, marcada y espaciada. La opción de no

usar paridad alguna también está disponible.

Ejemplo de envío de datos en comunicación serial

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

86

4. Equipo y material

Computadora

Dispositivo con capacidad de comunicación serial

Manual de Prácticas de Técnicas de Programación

Secretaría/División:DIMEI Área/Departamento: Mecatrónica

GABRIEL H., NELLY P., ARMANDO R., JESÚS P., GERSAÍN B., AMAURY P., MIGUEL S. TÉCNICAS DE PROGRAMACIÓN

87

5. Desarrollo

I. Actividad 1

Captura de secuencia de datos

Conectarse a un dispositivo mediante un puerto de comunicación serial y

capturar una secuencia de datos, desplegándolos en un programa con una caja

de texto.

II. Actividad 2

Manejo de Información

Desarrollar un programa que recoja una cadena de valores (al menos diez)

separados por uno o varios caracteres especiales. Realizar la separación de

valores y manipular con ellos algún control en una interfaz gráfica.

6. Bibliografía

CEBALLOS SIERRA, Francisco Javier. Microsoft C#. Curso de programación. México, Alfaomega, 2007

DEITEL, Harvey y Deitel, PAUL. C# Cómo programar. España, Pearson, 2007

LÓPEZ ROMÁN, Leobardo. Metodología de la programación orientada a objetos. México, Alfaomega, 2007