Está en la página 1de 11

UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADEMICO SUBPROGRAMA DE DISEO ACADMICO AREA: INGENIERA / CARRERA: INGENIERA DE SISTEMAS

PLAN DE CURSO
I. Identificacin: Nombre: Cdigo: U.C: Carrera: Cdigo: Semestre: III Prelaciones: Requisito: Autor: Computacin I (323) Ninguno MSc. Mara Eugenia Mazzei (Especialista de contenido) Telfono: (0212) - 5552376 Correo electrnico: mmazzei@una.edu.ve COMPUTACIN II 324 4 Ingeniera de sistemas 236

Asesores: MSc. Carmen Z. Maldonado(Coordinadora de la carrera) Lic. Carmen Velsquez (Evaluadora de la carrera) MSc. Judit Carvallo Dra. Egle Arellano (Diseadora de instruccin)

Nivel Central Caracas, Enero, 2013

2 II. FUNDAMENTACIN

El curso Computacin II se centra en el estudio y aplicacin de las diferentes estructuras de datos, conjuntamente con el diseo e implementacin de los algoritmos apropiados para tratarlas. Bajo el enfoque actual, las estructuras de datos se conciben como colecciones de datos, sobre los cuales se pueden definir operaciones.

Es nuestro inters proporcionar un enfoque actualizado del curso en este nivel de la carrera, que sirva de punto de partida para el desarrollo de habilidades relacionadas con el diseo de algoritmos empleando estructuras de datos apropiadas, con una visin hacia la programacin orientada a objetos. El desarrollo de destrezas para el diseo de soluciones sencillas y su implantacin en el computador, con el diseo adecuado de las estructuras de datos, slo se logra a travs de la ejercitacin, sin olvidar la comprensin de los conceptos, de ah la naturaleza terico-prctica de la asignatura.

La asignatura Computacin II se ubica dentro de las asignaturas bsicas del ingeniero de sistemas y su asimilacin es fundamental para el buen desempeo en gran parte de las asignaturas de la carrera, en donde el estudiante deber implementar programas, de all su carcter obligatorio. Por otra parte fomenta el desarrollo de la lgica y la realizacin de acciones coherentes, indispensables para el diseo e implementacin de programas en computadores; esto jugar un papel muy importante en la formacin del futuro ingeniero. El dinamismo con el que se mueve el conocimiento en el campo de la Computacin ha sido determinante en la seleccin del material instruccional para este curso. En este sentido se considera conveniente proponer el empleo de libros producidos por editoriales del mercado, que complementados con guas adecuadas, fomenten el fortalecimiento y la actualizacin de los conocimientos. Tomando en consideracin estos elementos, se dise el siguiente paquete instruccional: El libro: Estructuras de Datos: Algoritmos, abstraccin y objetos, de Joyanes L. y Zahonero I., Editorial Mc. Graw Hill. La seleccin de este libro est basada en criterios de actualidad, presentacin, abundancia de ejemplos y disponibilidad. Como texto alternativo se recomienda el siguiente libro: Estructuras de Datos y Algoritmos, de Aho A. V., Hopcroft J. E. y de Ullman J. D., Addison Wesley Longman.

Plan de curso Computacin II

(324)

Elaborado por Prof.

Mara E. Mazzei. UNA 2013

3 - Un Material Instruccional de Apoyo UNA, que servir de directriz para el empleo adecuado del libro. - Un paquete de software de programacin para la implementacin de los programas en el lenguaje PASCAL. - Referencias a pginas WEB y cursos WEB enriquecer los conocimientos adquiridos. que tendrn el efecto de

Plan de curso Computacin II

(324)

Elaborado por Prof.

Mara E. Mazzei. UNA 2013

4 Orientaciones Generales Las pruebas son de modalidad presencial y de desarrollo. Ponderacin de los objetivos: La ponderacin consiste en la asignacin de pesos a los objetivos evaluables de la asignatura, de acuerdo a la importancia y/o complejidad que tienen. La escala de ponderacin de esta asignatura es de 1 a 5 puntos. Esta ponderacin est determinada por la incidencia de los objetivos evaluables en: el perfil de la carrera, el objetivo terminal de la asignatura y los objetivos terminales de las asignaturas sobre las que existe prelacin. Las especificaciones del trabajo prctico se publican la primera semana de presentacin de las pruebas. El estudiante consignar el trabajo resuelto con la prueba integral. MODALIDAD PRIMERA PARCIAL SEGUNDA PARCIAL OBJETIVOS 1y2 CONTENIDO MDULO I: UNIDADES: 1y 2 MDULO I: UNIDAD3 y MDULO II :UNIDAD 4 MDULOS: I y II, UNIDADES: 1, 2, 3 y 4 MDULOS: II y III, UNIDADES: 5,6 Y 7

3y4

INTEGRAL

1, 2, 3, y 4

TRABAJO PRCTICO M I U 1 2 3 4 5 III 6 7


Objetivo: Peso:

5,6 y 7

O OBJETIVOS 1 Elaborar un TAD (Tipo Abstracto de Datos) para representar un dato particular. 2 Resolver problemas de tipo algortmico aplicando el TAD Lista Enlazada 3 Resolver problemas de tipo algortmico aplicando el TAD Pila y/o el TAD Cola 4 5 6 7
1 2

II

Resolver problemas de tipo algortmico aplicando el TAD rbol Implementar algoritmos en lenguaje de programacin, empleando la estructura de grafo para la resolucin de problemas especficos. Implementar algoritmos de Ordenacin en lenguaje de programacin, para la resolucin de problemas especficos. Implementar algoritmos de Bsqueda en lenguaje de programacin, para la resolucin de problemas especficos.
2 2 3 3 4 3 5 5 6 4 7 4 Peso acumulado: Calificacin 1-8 1 9-10 2 11-12 3 13-14 4 15 5 16 6 17-18 7 19-20 8 21-22 23 9 10

Peso mximo: 23 puntos

Criterio de dominio acadmico: 16 puntos

Plan de curso Computacin II

(324)

Elaborado por Prof.

Mara E. Mazzei. UNA 2013

ORIENTACIONES GENERALES Los textos recomendados para este curs en la Biblioteca del Centro Local, como Servicio de Prstamo en Sala y Prstamo Circulante. o, estn disponibles

El Material Instruccional de Apoyo (MIA) lo entregarn en el almacn del Centro Local, previa presentacin del comprobante de inscripcin de la asignatura. Las especificaciones del Trabajo Prctico se suministrarn al estudiante a partir de la primera semana de presentacin de pruebas, a travs de la red: http://www.ciberesquina.una.edu.ve El software requerido para realizar el trabajo est disponible en el Laboratorio de Computacin del centro local. Lea las instrucciones que aparecen en el M.I.A. Realice los ejercicios propuestos en cada unidad, en el Material de Apoyo. Implemente algoritmos en lenguaje de programacin. Introduzca diferentes datos, para probar su algoritmo. Analice los resultados. Consulte en la direccin electrnica indicada, referenciada en la unidad del MIA. Si no se hacen referencias especficas, se recomienda buscar el tema en Internet, empleando un buscador. Ante cualquier duda consulte con su asesor en su Centro Local. Si desea hacer algn comentario o sugerencia acerca del curso, comunquese con el profesor que lo administra a travs de la direccin de correo electrnico suministrada por la carrera.

Plan de curso Computacin II

(324)

Elaborado por Prof.

Mara E. Mazzei. UNA 2013

6 IV. DISEO DE LA INSTRUCCIN DEL CURSO

Objetivo del curso:


Codificar algoritmos con sentido lgico y coherente, utilizando las estructuras de datos apropiadas, as como los mtodos de clasificacin y bsqueda, aplicados a la resolucin de problemas especficos.

Objetivo 1. Elaborar un TAD (Tipo Abstracto de Datos) para representar un dato particular.

2. Resolver problemas de tipo algortmico aplicando el TAD Lista Enlazada 3. Resolver problemas de tipo algortmico aplicando el TAD Pila y/o el TAD Cola

4. Resolver problemas de tipo algortmico aplicando el TAD rbol

5. Implementar algoritmos en lenguaje de programacin, empleando la estructura de grafo para la resolucin de problemas especficos. 6. Implementar algoritmos de Ordenacin en lenguaje de programacin, para la resolucin de problemas especficos. 7. Implementar algoritmos de Bsqueda en lenguaje de programacin, para la resolucin de problemas especficos

Contenido La abstraccin. Modularidad. Tipos abstractos de datos. Uso de tipos de datos y estructuras de datos fundamentales: cadenas, arreglos simples y multidimensionales, registros y conjuntos, punteros o apuntadores. Orientacin a objetos: conceptos. Especificacin formal del TAD Lista. Implementacin del TAD Lista con estructuras dinmicas. Operaciones. Aplicaciones. Listas doblemente enlazadas. Listas circulares. Especificacin formal del TAD Pila. Implementacin de Pilas con Arreglos. Implementacin de Pilas con variables dinmicas. Operaciones Aplicaciones. Especificacin formal del TAD Cola y Dipolo o Bicola. Implementacin del TAD Cola o Dipolo con estructuras estticas y/o dinmicas. Operaciones. Aplicaciones. Recursividad: Concepto. Utilidad. Algoritmos tpicos. Implementacin de procedimientos recursivos. Concepto de rbol binario. rboles de Expresin. Construccin. Recorrido. Aplicaciones. rbol binario de bsqueda. Operaciones. Concepto de grafo. Representacin del TAD grafo. Matriz de caminos. Algoritmos fundamentales con grafos. Aplicaciones

Ordenacin. Algoritmo de Burbuja. Algoritmo de Insercin. Algoritmo Shell. Algoritmo Quicksort. Algoritmo Heapsort. Binsort y Radixsort. Bsqueda. Bsqueda Lineal. Bsqueda Binaria. Hashing. Funcin de Hashing

Plan de curso Computacin II

(324)

Elaborado por Prof.

Mara E. Mazzei. UNA 2013

7 OBJETIVO 1 ESTRATEGIAS INSTRUCCIONALES


Lea en el libro I, el captulo: Ingeniera de Software: introduccin a la metodologa de construccin de grandes programas. Este captulo presenta de manera general los principios fundamentales de la Ingeniera de Software, los cuales estn dirigidos hacia el buen diseo de programas. Este enfoque permitir al estudiante comprender la utilidad del correcto desarrollo del Software, sin importar el lenguaje empleado. Si utiliza el texto II, lea el captulo: Diseo y Anlisis de Algoritmos. Repase las instrucciones que se requieren para declarar los tipos de datos en el lenguaje de programacin C++. Estudie los captulos del libro I Abstraccin de datos y objetos y Estructuras de datos . Si utiliza el libro II, estudie la seccin sobre los tipos abstractos de datos.

ESTRATEGIAS DE EVALUACIN
Se presentarn situaciones, en donde el estudiante deber elaborar un TAD para representar un tipo de datos, empleando el lenguaje de programacin. Procedimiento: Se valorar la correcta elaboracin de un TAD apropiado a la situacin. Instrumento: La realizacin de este ejercicio formar parte de una prueba presencial de desarrollo. Momento: Primera prueba parcial y prueba integral. Se propondrn situaciones prcticas que requieran una solucin algortmica empleando estructuras de datos lineales tipo lista enlazada, previa definicin de las mismas. Tambin se plantearn algoritmos que simulen operaciones con listas enlazadas para verificar u obtener los resultados a travs de una ejecucin en forma manual. Procedimiento: Se valorar la correcta elaboracin del TAD Lista Enlazada, el algoritmo ajustado a la situacin, en trminos de su eficacia o la ejecucin del mismo para obtener resultados. Instrumento: La realizacin de este ejercicio formar parte de una prueba presencial de desarrollo. Momento: Primera prueba parcial y prueba integral.

2
El tema a estudiar en esta unidad resulta muy intuitivo. La idea de objetos enlazados o relacionados est presente en la vida real. Piense en agrupaciones de objetos de algn tipo especfico y de las operaciones posibles para manipularlos. Lea el captulo del libro I: Listas: Acceso a las Listas . Si utiliza el texto II, lea la seccin sobre apuntadores y cursores. Realice los ejemplos presentados y los ejercicios. Como recurso de apoyo para la resolucin de los ejercicios, utilice representaciones grficas de las variables tipo puntero. La comprensin de este captulo servir de base para el aprendizaje de los captulos que siguen. Estudie en el libro I, los captulos: Listas enlazadas y Listas doblemente enlazadas, la estructura LISTA o en el libro II, las secciones sobre El tipo de datos abstracto LISTA y Realizacin de listas. Si utiliza el texto II, lea las secciones sobre LISTAS y Realizacin de LISTAS. Realice los ejercicios relacionados con esta estructura, que incluyan adems listas doblemente enlazadas y listas circulares. Elabore algoritmos en seudo-lenguaje que simulen operaciones de listas de objetos enlazados. Implemente y pruebe los algoritmos en lenguaje de programacin.

Plan de curso Computacin II

(324)

Elaborado por Prof.

Mara E. Mazzei. UNA 2013

8 OBJETIVO 3 ESTRATEGIAS INSTRUCCIONALES


El tema a estudiar en esta unidad se refiere a la definicin y operacin de pilas (stacks) y de colas. Las pilas son estructuras de datos muy empleadas en computacin, en diferentes mbitos. Las colas son estructuras de gran utilidad en computacin y su representacin en el computador resulta muy fcil de entender, debido a la semejanza que posee con la realidad .Es frecuente ver la formacin de lneas de espera frente a taquillas, cajeros, estaciones de gasolina o casetas de telfonos, entre otras. Observe objetos que se acumulen en forma de pilas, por ejemplo: una pila de facturas, de exmenes mdicos u rdenes de reparacin en un taller y piense en distintas formas de operar con ellos. Estudie el captulo del libro I titulado: Pilas, la estructura PILA o en el libro II, las secciones relacionadas con PILAS. Realice los ejercicios del libro relacionados con operaciones con pilas. Elabore algoritmos en seudo-lenguaje que simulen operaciones de pilas de objetos. Piense en los distintos tipos de colas que se forman para la solicitud de servicios. Estudie el captulo del libro titulado: Colas y colas de prioridades: el TAD COLA, o el libro II, las secciones relacionadas con COLAS. Realice los ejercicios del libro relacionados con operaciones con colas. Elabore algoritmos en seudo-lenguaje que simulen operaciones de colas. Incluya las colas de prioridades y dipolos. Implemente y pruebe los algoritmos elaborados en lenguaje de programacin, empleando estructuras estticas y dinmicas.

ESTRATEGIAS DE EVALUACIN
Se plantearn situaciones prcticas que requieran una solucin algortmica empleando estructuras de datos lineales tipo pila y/o tipo cola, previa definicin de las mismas. Tambin se propondrn algoritmos que simulen operaciones con pilas y/o colas a fin de verificar u obtener resultados en su ejecucin manual. Procedimiento: Se valorar la correcta elaboracin del TAD Pila y/o el TAD Cola, el algoritmo ajustado a la situacin, en trminos de su eficacia o la ejecucin del mismo para obtener resultados. Instrumento: La realizacin de este ejercicio formar parte de una prueba presencial de desarrollo. Momento: Segunda prueba parcial y prueba integral.

Un objeto recursivo es aquel que forma parte de s mismo. En la vida real existen objetos recursivos, por ejemplos ciertas formas de la naturaleza as como formas creadas por el hombre, que en matemticas se conocen como fractales. En computacin un mtodo recursivo es aquel que halla la solucin a travs de una secuencia de instancias ms pequeas del mismo problema. Existen diversos problemas que se resuelven en forma recursiva. Estudie el captulo del libro I: La naturaleza de la recursividad. Si utiliza el texto II, estudie los procedimientos recursivos. Estudie el captulo del libro I: rboles binarios .Si utiliza el texto II estudie el captulo sobre el TDA ARBOL y rboles Binarios. Halle ejemplos de objetos que puedan considerarse recursivos. Implemente algoritmos en lenguaje de programacin que puedan realizarse empleando recursividad. Compare con soluciones en donde emplee la iteracin. Emplee el paquete de Software para probar estos algoritmos.

Se plantearn situaciones prcticas que requieran una solucin algortmica empleando estructuras de datos tipo RBOL, previa definicin de las mismas. Tambin se plantearn algoritmos relacionados con la estructura de rbol binario, con el objeto de obtener resultados a travs de su ejecucin manual. Procedimiento: Se valorar la correcta elaboracin de la estructura de datos, as como el la elaboracin del algoritmo ajustado a una situacin, en trminos de su eficacia. En algunos casos se valorar la correcta ejecucin de un algoritmo en forma manual, a fin de obtener resultados. En cualquiera de las

Plan de curso Computacin II

(324)

Elaborado por Prof.

Mara E. Mazzei. UNA 2013

9 OBJETIVO ESTRATEGIAS INSTRUCCIONALES Implemente algoritmos recursivos, en lenguaje de programacin,


relacionados con la estructura ARBOL binario. Observe la utilidad de emplear algoritmos recursivos para operar con un rbol. Emplee el paquete de Software para probar estos algoritmos. Investigue ejemplos de la vida real que puedan representarse como rboles. Intente operar sobre ellos, por ejemplo insertando o eliminando nodos.

ESTRATEGIAS DE EVALUACIN
situaciones que se planteen de aqu en adelante se exigir eventualmente una solucin algortmica recursiva. Instrumento: La realizacin de este ejercicio formar parte de una prueba presencial de desarrollo. Momento: Segunda prueba parcial y prueba integral Producto: Implantacin de un programa a travs del computador. Se valorar el correcto diseo del programa as como la eficacia y la eficiencia del mismo. Instrumento: Trabajo prctico. Momento: Las especificaciones sobre la realizacin del trabajo prctico se entregan en la primera semana de aplicacin de pruebas. El estudiante consignar el trabajo realizado con la prueba integral.

Es frecuente la necesidad de representar objetos que tienen mltiples relaciones con otros. Los grafos son abstracciones de estas relaciones y tienen gran aplicabilidad en diversos campos. Los modelos de rutas, las redes de comunicaciones, los circuitos elctricos, las relaciones entre individuos, son ejemplos, en donde los elementos se representan por puntos y sus relaciones por arcos. Piense en situaciones de este tipo y represntelas como indicamos. Lo que resulta es un grafo. Su representacin en el computador es muy intuitiva, como Ud. lo constatar al estudiar el material instruccional. Estudie en el libro I el captulo del libro Grafos. Representacin y operaciones, la estructura GRAFO. Si utiliza el texto II, estudie los GRAFOS dirigidos y no dirigidos, representacin. Investigue ejemplos de la vida real que puedan representarse como grafos.

Uno de los procesos ms utilizados cuando se opera con grupos de elementos en el computador es la ordenacin de los mismos de acuerdo a algn criterio. Constantemente requerimos ordenar ascendentemente o descendentemente un conjunto de elementos para presentar la informacin organizada o para facilitar la bsqueda. El estudio de los algoritmos fundamentales de ordenacin proporciona destrezas en la elaboracin de los algoritmos que pretenden resolver situaciones especficas. Estudie en el captulo del libro I, titulado Algoritmos de ordenacin y bsqueda todas las secciones relacionadas con la ordenacin. Si utiliza el texto II estudie el captulo sobre Clasificacin. Implemente algoritmos de ordenacin, empleando los mtodos estudiados. Pruebe ejemplos Realice comparaciones de los algoritmos estudiados en trmino de su eficiencia.

Producto: Implantacin de un programa a travs del computador. Se plantearn situaciones prcticas que requieran una solucin empleando al menos un mtodo de ordenacin, a travs de un programa. Procedimiento: Se valorar el correcto diseo del programa as como la eficacia y la eficiencia del mismo. Instrumento: Trabajo prctico. Momento: Las especificaciones sobre la realizacin del trabajo prctico se entregan en la primera semana de aplicacin de pruebas. El estudiante consignar el trabajo realizado con la prueba integral.

Plan de curso Computacin II

(324)

Elaborado por Prof.

Mara E. Mazzei. UNA 2013

10 OBJETIVO ESTRATEGIAS INSTRUCCIONALES ESTRATEGIAS DE EVALUACIN Cuando tenemos un conjunto de elementos ordenados, en muchas ocasiones Producto: Implantacin de un programa a 7
necesitamos localizar alguno de ellos, por ejemplo buscar un nmero de cdula de identidad dentro de una lista ordenada para conocer el nombre asociado u otros datos. El estudio de los algoritmos que conforman esta unidad son fciles de comprender, debido a la semejanza que existe entre ellos y la realidad.

Estudie en el captulo del libro I titulado Ordenacin, bsqueda y mezcla, todas las secciones relacionadas con la bsqueda y en el captulo del libro I titulado Tratamiento de Archivos de Datos lo referente a Hashing. Si utiliza el texto II, estudie la seccin del libro sobre rboles binarios de bsqueda, Mtodos de Dispersin o Hashing. Implemente algoritmos basados en los diferentes mtodos analizados Realice comparaciones de los algoritmos estudiados en trmino de su eficiencia.

travs del computador. Se plantearn situaciones prcticas que requieran una solucin empleando al menos un mtodo de bsqueda, a travs de un programa. Procedimiento: Se valorar el correcto diseo del programa as como la eficacia y la eficiencia del mismo. Instrumento: Trabajo prctico Momento: Las especificaciones se entregan la primera semana de aplicacin de pruebas. El estudiante entregar el trabajo resuelto con la prueba integral.

Plan de curso Computacin II

(324)

Elaborado por Prof.

Mara E. Mazzei. UNA 2013

V. BIBLIOGRAFA Obligatoria

11

Joyanes, L., y Zahonero, I. (1998). Estructuras de Datos: Algoritmos, abstraccin y objetos. Madrid. Mc. Graw Hill. Complementaria

Aho, A., Hopcroft, J. E., y Ullman, J. D. (1998). Estructuras de datos y algoritmos. Mxico. Addison Wesley Longman.

Cair, O., y Guadarti, S. (2001). Estructuras de Datos. Mxico. Mc Graw Hill.

Joyanes, L. (2003). Fundamentos de Programacin. Madrid. Mc Graw Hill.

Kolman, B., Busby, R. C. y Ross, S. (1997). Estructuras de Matemticas Discretas para la Computacin. Mxico. Prentice-Hall Hispanoamericana S.A.

Ruiz, A., y Chacn, C. R. (1987). Procesamiento de Datos I. Caracas.