Está en la página 1de 3
UNIVERSIDAD NACIONAL MA YOR DE SAN MARCOS FACULTAD DE INGENIERÍA INDUSTRIAL SÍLABO DE ALGORITM OS

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERÍA INDUSTRIAL SÍLABO DE ALGORITMOS Y PROGRAMACIÓN

I.

INFORMACIÓN GENERAL

 

1.-

Código del curso

:

173203

2.-

Ciclo

:

III

3.-

Número de Créditos

:

4.0

4.-

Número de Horas

:

Teoría 2 Hr. Práctica 2 Hr. Laboratorio 2 Hr.

5.-

Pre-Requisito

:

140101 – 173101

6.-

Semestre Académico

:

2010 – II

7.-

Departamento Académico

:

Ingeniería de Sistemas e Informática

8.-

Profesores

:

Mgº Edgar Ruiz Lizama

II.

SUMILLA:

Mgº Hilmar Hinojosa Lazo Ing° Félix Huari Evangelista Ing° Ezzard Omar Alvarez Díaz

Desarrolla el diseño de algoritmos, la programación estructurada y la programación orientada a objetos. Comprende: instrucciones, funciones, procedimientos, depuración, pruebas y comprobación; también el tratamiento de literales, recursividad y eficiencia de los algoritmos y los tipos de datos abstractos fundamentales.

III.

OBJETIVOS:

 

a) Objetivos Generales:

 

Al término del curso, el estudiante estará familiarizado con un lenguaje de programación, la programación orientada a objetos y las estructuras de datos fundamentales.

 

b) Objetivos Específicos:

 
 

Diseña algoritmos para realizar problemas utilizando arreglos, cadenas y punteros. Diseña Algoritmos para resolver problemas utilizando estructuras y arreglos de estructuras. Diseña algoritmos para resolver problemas utilizando recursividad. Diseña algoritmos para resolver problemas utilizando algoritmos de ordenación y búsqueda. Diseña algoritmos para resolver problemas utilizando el paradigma de la programación orientada a objetos. Diseña algoritmos para resolver problemas utilizando adecuadamente el manejo de archivos. Diseña algoritmos para resolver problemas utilizando las estructuras de datos dinámicas tipo listas.

IV.

UNIDADES TEMÁTICAS:

 

1° SEMANA: REPRESENTACIÓN DE DATOS: Representación de enteros, representación de punto flotante, representación de caracteres. ABSTRACCION DE DATOS Y CLASES: ADT y clases. Jerarquía de clases en C++. 2° SEMANA: EXPRESIONES: Constantes, variables, enumerados, operadores aritméticos, relacionales, lógicos. FUNCIONES: Clases de almacenamiento. Sobrecarga de funciones. Macros y el preprocesador. Archivos de inclusión.

SEMANA: CLASE ESTRUCTURADA: Arreglos bidimensionales, operaciones e

implementación. Cadenas; funciones predefinidas para el manejo de cadenas. Punteros: operadores de punteros, punteros y cadenas. SEMANA: CLASE ESTRUCTURADA: Estructuras y arreglos de estructuras.

SEMANA: RECURSIVIDAD: Definiciones recursivas, algoritmos recursivos.

6° SEMANA: BUSQUEDA Y CLASIFICACION: Algoritmos de búsqueda y algoritmos de ordenación o clasificación. 7° SEMANA: PROGRAMACIÓN ORIENTADA AL OBJETO: Clases, métodos, objetos, funciones miembro, constructores y destructores. Funciones friend.

9° SEMANA: SOBRECARGA DE OPERADORES: Sobrecarga de operadores aritméticos, unarios/binarios, de asignación, relacionales, lógicos. Sobrecarga de operadores de inserción y de extracción de flujo. El apuntador this. 10° SEMANA: HERENCIA Y POLIMORFISMO: Jerarquía de clases. Clases base y clases derivadas. Herencia pública, protegida y privada. Constructores y destructores en clases derivadas. Funciones virtuales y clases virtuales. 11° SEMANA: ENTRADA/SALIDA: Clases istream y ostream. PROCESAMIENTO DE ARCHIVOS EN MODO TEXTO: Archivos secuenciales. Creación, lectura, escritura y adición de datos a un archivo. Aplicaciones. 12° SEMANA: PROCESAMIENTO DE ARCHIVOS EN MODO BINARIO:

Archivos de acceso directo. Creación, lectura, escritura y adición de datos a un archivo. Aplicaciones. 13° SEMANA: PLANTILLAS: Definición. Plantillas de función y clases plantilla, sobrecarga de funciones plantilla. Ejemplos de Aplicación. 14° SEMANA: ASIGNACIÓN DINÁMICA DE MEMORIA: Arreglos y apuntadores. Variables dinámicas. los operadores new y delete. 15° SEMANA: EL TIPO ABSTRACTO DE DATOS LISTA: Definición, operaciones, implementación. Aplicaciones.

SEMANA: EXAMEN PARCIAL

16° SEMANA:

EXAMEN FINAL

17° SEMANA:

EXAMEN ADICIONAL

LABORATORIO

1. Fundamentos C++ E/S básicas. Operadores

9. Sobrecarga de operadores

2. Clases de datos. Funciones y macros.

10. Herencia y Polimorfismo.

3. Arreglos bidimensionales.

11. Entrada/salida. Manejo de Archivos Texto

4. Cadenas, punteros.

12. Archivos binarios

5. Estructuras, Recursividad

13. Plantillas.

6. Búsqueda y ordenación

14. Asignación dinámica de memoria.

7. POO: Clases, objetos, Constructores, destructores.

15. El Tipo Abstracto de Datos Lista

16. Semana de Exámenes Finales

8. Semana de Exámenes

17. Semana de Exámenes Sustiturorios

V. METODOLOGÍA A UTILIZAR. El curso tiene un total de 34 sesiones durante 17 semanas efectivas, en cada semana se da dos sesiones de 2 horas continuas (17 sesiones de teoría y 17 sesiones del laboratorio de computo para el uso del software Dev C++).

El desarrollo del curso será de tipo teórico-práctico, con exposiciones por parte del profesor y ejercicios que se resolverán en las actividades prácticas.

VI.

EVALUACIÓN En cumplimiento a la Resolución Rectoral La evaluación es constante a lo largo de todo el curso. Para tener derecho a ser evaluado se considera un porcentaje de asistencia mayor al 70%. Para la nota final se considera lo siguiente:

PF = (EP + EF + PP + PL)/4

Donde:

EP: Examen Parcial

PL: Promedio de Laboratorio

EF: Examen Final

PP: Promedio de Prácticas

VII.-

BIBLIOGRAFIA Básica DEITEL H.M. y DEITEL P.J. (2003) “Como Programar en C++” 4ta Ed. Editorial Prentice-Hall Hispanoamericana, México. RUIZ LIZAMA EDGAR (2009) “Programación con C++” 1ra. Ed. Fondo Editorial de la UNMSM. Lima, Perú.

Complementaria BRONSON, GARY (2000) "C++ para Ingeniería y Ciencias" Editorial Thompson S.A. México. CAIRO OSVALDO y GUARDATI SILVIA (2002) “Estructura de Datos2da. Ed. Editorial McGraw Hill, México. CEBALLOS, Fco. JAVIER (2004) “Programación orientada a objetos con C++” 3ra. Ed. Alfaomega – Ra-Ma. México. ECKEL BRUCE (2002) “Thinking In C++” 2nd. Edition, Vol. 1 y Vol 2. MindView Inc. U.S.A.

GUARDATI SILVIA , Estructura de datos Orientada a Objetos – Algoritmos

con C++” México. D.F. Pearson Educación de México S.A. de C.V., 2007. JOYANES AGUILAR, LUIS (2002) "Programación en C++: Algoritmos, Estructura de Datos y Objetos" 1ra. Ed. Editorial McGraw Hill, Madrid. RUIZ LIZAMA EDGAR (1999) “Curso de Lenguaje C” Facultad de Ingeniería Industrial UNMSM. Lima. SHILDT HERBERT (1995) “C++ Guía de Autoenseñanza”. 1era. Edición. Editorial Mc Graw Hill Interamericana de España, Madrid. STROUSTRUP, BJARNE (2003) “El Lenguaje de Programación C++” 3ra. Edición, Editorial Addison-Wesley Iberoamericana, España.