Este documento presenta el silabo de un curso de Lenguaje de Programación. El curso consta de 12 capítulos que cubren temas como fundamentos de programación en C++, sentencias de control, funciones, métodos numéricos, arreglos, punteros, cadenas de caracteres, estructuras, archivos, programación orientada a objetos, jerarquía de clases, sobrecarga y polimorfismo, y programación en Windows. El objetivo general del curso es enseñar a los estudiantes a razonar lógica y algorítmicamente para
2. Lenguaje de programación 2011 - ii -
UNIVERSIDAD NACIONAL DE SAN
AGUSTIN DE AREQUIPA
VICE RECTORADO ACADEMICO
SILABO 2 0 1 1AB
CODIGO DEL CURSO: : 0302116
1.1 DATOS GENERALES
FACULTA D: Ing. De Producción y Servicios
DEPARTA ME NTO : Ingeniería Industrial ESCUELA: Ingeniería Industrial
PROFESORES:
Juan Carlos Torreblanca de Velazco Grupo A
TITULO: Ingeniero Industrial GRADO ACADEMICO : MSc. Ingeniero Industrial
Ismael Véliz Vilca Grupo )
TITULO: Ingeniero Industrial GRADO ACADEMICO: MSc.: Ingeniería Industrial
ASIGNAT URA : LENGUAJE DE PROGRAMACION
PRE REQUISITO: CREDITOS: Año: 2008- HORAS TOTALES :8
B
Calculo en una 5 (Ci n c o )
variable Se m e s t r e : T: 2 TP: 0 P: 2 La b : 4
III
HORARIO Lunes Martes Miércoles Jueves Viernes Sábado
T o t a l Se m a n a l :
A ULA :
T= Torreblanca V= Véliz L Laboratorio
1.2 EXPOSICION DE MOTIVOS
En la actualidad el uso del recurso computador como herramienta es fundamental,
sobre todo en el área de ciencias y Ingeniería dada la magnitud de operaciones
tanto en la cantidad como en la dificultad que en forma creciente, afecta a la calidad
del profesional para que sea competitivo frente a otros que vienen siendo
preparados en este campo de la informática.
El curso de Lenguaje de Programación es el primer curso del Área de sistemas de
la currícula de la Escuela Profesional de Ingeniería Industrial y, representa la base
sobre la cual el estudiante debe basar las actividades siguientes en la mayoría de
los cursos básicos y de formación profesional.
1.3. OBJETIVOS
Enseñar al estudiante a razonar en forma lógica y algorítmica para la solución de
problemas en la computadora.
Al finalizar el curso el alumno debe estar en capacidad de:
- Plantear y desarrollar soluciones de programación orientada a objetos,
programación estructurada usando el lenguaje C++
3. Lenguaje de programación 2011 - iii -
- Identificar oportunidades de programación y desarrollar soluciones metódicas ,
creativas
- Crear aplicaciones en Lenguajes de Programación Visual,
1.4. CONTENIDO ANALITICO
PARTE I FUNDAMENTOS DE LENGUAJE DE PROGRAMACION ANSI C
CAPITULO 1: FUNDAMENTOS DE PROGRAMACIÓN
Objetivos Contenido Avance %
Específicos 1.1 Concepto de sistemas y programación
Exponer una visión 1.2 Conceptos de programación y aplicaciones
general del curso 1.3 Metodología de la programación
1.4. Algoritmos
Desarrollar los 1.5 Características del lenguaje C. Versiones del
conceptos básicos de lenguaje C , ejercicios en cada versión
Lenguaje de 1.6 Lenguaje de programación Visual C++ de Visual
programación y estudio 2008
describir los 1.7 La estructura de un programa C++
elementos del 1.8 palabras reservadas, constantes y variables
lenguaje C 1.9 Tipos de datos en C++.
1.10 Operadores.
Mostrar el concepto de 1.11 Funciones en C++.
Entrada y Salida en 1.12 Salida con formato la función printf
C++ 1.13 Entrada con formato la función scanf.
1.14 Entradas y salidas en C++ cin y cout 5.88 %
1.15 Problemas
Lectura Obligada: [1] Cap. 1
Lectura Sugerida: [2] Cap. 1,2
CAPITULO 2: SENTENCIAS DE CONTROL
Objetivos Contenido Avance %
Específicos 2.1 Condición simple la sentencia if.
Adquirir Destreza en el 2.2 Condición Múltiple la sentencia switch.
razonamiento lógico y 2.3 Bucle while, do while y for
algorítmico para 2.4 Otras sentencias de control ,exit, break, etc.
resolver problemas de
programación en la 2.5 Sentencias anidadas.
computadora. 2.6 Funciones predefinidas 11.67
2.7 Problemas de aplicación. 14.71
Primer Examen
Lectura Obligada: [1] Cap. 2
Lectura Sugerida: [2] cap. 3
CAPITULO 3: FUNCIONES
Objetivos Específicos Contenido Avance %
Enseñar al alumno el 3.1 Definición de una función.
manejo y la 3.2 Llamada a una función.
implantación de 3.3 Declaración y creación de funciones de librería
funciones en un 3.4 Pase de parámetros por valor.
lenguaje de 3.5 Ejemplo de funciones
programación, 3.6 Sobrecarga de funciones
Comprender el 3.7 Accesibilidad de las variables ámbito
concepto de 3.8 Funciones con argumentos por defecto
recursividad como 3.9 Recursividad 23,53
4. Lenguaje de programación 2011 - iv -
técnica para resolver 3.8. Problemas
problemas Lectura Obligada: [1] Cap. 3
Lectura Sugerida: [2] Cap.4,5
CAPITULO 4: METODOS NUMERICOS
Objetivos Específicos Contenido Avance %
Adquirir destreza en el 4.1 Introducción
manejo de las técnicas 4.2 Integración numérica. Cálculo de áreas
de los métodos 4.3 Cálculo de volúmenes,
numéricos como son 4.4 Longitud arco o trayectoria
Integración numérica, 4.5 Área de una superficie de revolución
raíces de ecuaciones y 4.6 Problemas de optimización
diferenciación numérica 4.7 Solución de ecuaciones no lineales
Aplicar los métodos 4.8 Intersección de funciones
aprendidos a la solución 4.9 Diferenciación numérica 32,52
de problemas mate- 4.10 Ejercicios 35.29
máticos y de Ingeniería Segundo Examen
Lectura Obligada: [1] Cap. 4
Lectura Sugerida: [2] cap. 4 y 5
CAPITULO 5: ARREGLOS
Objetivos Específicos Contenido Avance %
Mostrar conceptos de listas 5.1 Tipos estructurados de datos.
(Vectores) y tablas (matrices)
5.2 Arreglos.
5.3 Vectores . Ejemplo
Aplicar los vectores y 5.4 Matrices. Ejemplo
matrices en la solución de 5.5 Ordenamiento y búsqueda y mezcla
problemas como pilas, colas 5.6. Pilas
y otras aplicaciones 5.7.Colas
5.8 Operaciones con vectores y matrices
5.9 Simulación
5.10 Juegos 41.18
5.5 Problemas.
Lectura Obligada: [1] Cap. 5
Lectura Sugerida: [2] Cap. 4
CAPITULO 6: ALGEBRA LINEAL NUMERICA
Objetivos Específicos Contenido Avance %
Aplicar los conocimientos 6.1 Introducción
sobre arreglos para resolver 6.2 Interpolación Polinomial.
problemas de Algebra lineal 6.3 Ajuste de curvas
numérica 6.4 Valor numérico de un polinomio
Desarrollar aplicaciones 6.5 Solución de ecuaciones lineales con “m “
sobre ajuste de curvas y incógnitas 47,06
interpolación 6.6 Álgebra lineal numérica 50 %
6,7 Aplicaciones de juego de la vida y otros
Tercer Examen
Lectura Obligada: [1] Cap. 6
Lectura Sugerida: [2] Cap. 1 al 4
CAPITULO 7: PUNTEROS
Objetivos Específicos Contenido Avance %
Definir la variable puntero 7.1 Definición de variable puntero.
7.2 Ejemplos explicativos de punteros
Comprender el almacena- 7.3 Aritmética de punteros
miento de los datos en la 7.4 Pase de parámetros por referencia
5. Lenguaje de programación 2011 - v -
memoria de la computadora 7.5 Punteros y arreglos
7.6 Arreglos de Punteros
7.7. Punteros a funciones
7.8 Punteros a arreglos de funciones
7.9 Temas adicionales sobre punteros
7.10 Asignación dinámica de memoria
7.11 Argumentos de la línea de Ordenes 55,88
7.12 Aplicaciones y problemas
Lectura Obligada: [1] Cap. 7
Lectura Sugerida: [2] cap. 6
CAPITULO 8: CADENA DE CARACTERES, ESTRUCTURAS ARCHIVOS
Objetivos Específicos Contenido Avance
Mostrar el uso de las 8.1 Cadena de caracteres. %
cadenas y sus aplicaciones 8.2 Lectura y escritura de cadenas
8.3 Arreglo de caracteres
Comprender los flujos de 8.2 Principales funciones de cadena.
datos y archivos y mostrar 8.4 Funciones para manipular cadenas
sus aplicaciones 8.5 Funciones para conversión de datos
8.6 Funciones para clasificación y conversión de
caracteres
8.7 Estructuras
8.8 Referencia a los elementos de una estructura
8.9 Estructuras anidadas
8.10 Corrientes y archivos
8.11 Archivos
8.12 Funciones originales del lenguaje C de alto
nivel para el manejo de archivos 61,76
8.10.Problemas. 64.71
Cuarto Examen
Lectura Obligada: [1] Cap. 8
Lectura Sugerida: [2] cap. 7
PARTE II PROGRAMACION ORIENTADA A OBJETOS
CAPITULO 9: CLASES Y OBJETOS
Objetivos Específicos Contenido Avance %
Examinar el concepto de tipo 9.1 Conceptos de POO
y clase 9.2 Elementos del modelo de objetos
9.3 Objetos y Clases en C++.
Mostrar la diferencias de 9.4 Estructura de un objeto
clases y objetos 9.5 Control de Acceso a una clase
9.6 Diagramas de representación de objetos
Mostrar las Ventajas de la
programación Orientada a
Objetos POO 9.7 Ejemplo de clases y objetos
9.8 Funciones miembro
9.9 Constructores y destructores
9.10 Funciones amigo
9.11 Clases amiga
9.12 Arreglo de objetos
9.13 Punteros a objetos
9.14 Pase objetos a funciones
9.15 Ejercicios. 70.59
Lectura Obligada: [1] Cap. 9
6. Lenguaje de programación 2011 - vi -
Lectura Sugerida: [2] Cap. 7 y 8
CAPITULO 10 JERARQUIA DE CLASES
Objetivos Específicos Contenido Avance %
Examinar el concepto de 10.1 Herencia.- Una visión general.
Herencia y Jerarquías de 10.2 Abstracción de la generalización y
especialización de las clases
Explicar el uso de 10.3 Especificaciones de acceso a la clase
constructores y destructores base
10.4 Herencia simple
10.5 Herencia múltiple
10.6 Constructores y destructores con clases
derivadas
10.7 Ejemplos de formas de derivación de
clases 76.47
10.8 Ejercicios
Lectura Obligada: [7] Cap. 7
Lectura Sugerida: [2] Cap. 9
CAPITULO 11: SOBRECARGA Y POLIMORFISMO
Objetivos Específicos Contenido Avance %
Comprender conceptos de 11.1 Polimorfismo
sobrecarga de funciones y 11.2 Sobrecarga de funciones
operadores 11.3 Sobrecarga de Operadores
11.4 Funciones Virtuales
11.5 Clases virtuales y clases Abstractas
11.6 Otras características del POO
11.7 Aplicaciones 79,41
Lectura Obligada: [1] Cap. 11
Lectura Sugerida: [2] Cap. 9 y 10
CAPITULO 12: FLUJO DE DATOS ORIENTADO A OBJETOS
Objetivos Específicos Contenido Avance %
Mostrar la manipulación 12.1 Flujos en C++.
de flujos y Archivos en 12.2. Archivos de cabecera de biblioteca de flujos
POO 12.3 Clases de objetos de flujo de entrada y
salida.
12.4 Archivos. Operaciones básicas.
12.5 Manejo de impresora y otros dispositivos
12.6 Plantillas (templates)
12.7 Ejercicios
Quinto Examen
Lectura Obligada: [7] Cap. 12 82.35
Lectura Sugerida: [1][2][3] Todo el libro 85,29
PARTE III PROGRAMACION EN WINDOWS
CAPITULO 13 FUNDAMENTOS DE LA PROGRAMACION EN WINDOWS
Objetivos Específicos Contenido Avance %
Mostrar las ventajas de 13.1.- Programación Básica en Windows
programación visual en 13.2. Proyecto CLR en aplicación de consola
ambiente Windows
13.3 Elaboración de una aplicación CLR Windows
7. Lenguaje de programación 2011 - vii -
Form Aplication
13.4 .-Barras de desplazamiento y otros controles
estándar
13.5 Eventos del teclado
13.6 Estructura de clase C++
13.7 Eventos del Mouse
13.8 Menús y barra de herramientas
13.9 Cuadros de lista y cuadros combinados
13.10.- Aplicaciones con Visual C++ y MFC
Lectura Obligada: [1] Cap. 13 88,24
Lectura Sugerida: [2] Cap. 12, 13, 14, 15
CAPITULO 14 PROGRAMACIÓN GRAFICA
Objetivos Específicos Contenido Avance %
Crear aplicaciones graficas y 14.1 Introducción
componentes en Visual C++ 14.2 Descripción de procedimientos gráficos
2008 en Visual C++ 2008
14.3 Propiedades de clase Graphics
14. 4 Métodos gráficos
14.5 Problemas y aplicaciones 91.18
14.6 Presentación de trabajo de aplicación
Lectura Obligada: [1] Cap. 14
Lectura Sugerida: [1][2][3] Cap. 14 al 18
CAPITULO 15 OPENGL
Objetivos Específicos Contenido Avance %
Crear aplicaciones OpenGL 15.1 Que es el OpenGL
en visual C++ 2008 15.2 Instalación de librería OpenGL en visual
C++ 2008
15.3 Sintaxis de comandos de OpenGL
15.4 Puntos ,líneas y polígonos
15.5 Vista Visión general , la cámara
15.6 Color
15.7 Iluminación
15.8 Fusión , suavizado, niebla y
desplazamiento de polígonos
15.9 Mostrar listas
15.10 Pixels, Mapa de bits, fuente e
imágenes
15.11 Asignación de textura
15.12 El Framebuffer
15.13 Teselación y cuadricas
15.14 Evaluadores y Nurbs
15.15. Selección y retroalimentación
15.16 Otros conceptos
15.17 Métodos de geometría fractal
15.18 Problema y aplicaciones 94.12
Exposición de trabajos finales 100 %
Lectura Obligada: [1] Cap. 15
Lectura Sugerida: [5] Todo el libro
8. Lenguaje de programación 2011 - viii -
1. 5 ACTIVIDADES
Las actividades a realizar de acuerdo a las directivas son:
a) Presentación de Silabus
b) Inicio del Dictado.
c) Dictado:
Clases magistrales.
Clases teórico-practicas(Se tomará en cuenta las intervenciones de los
alumnos).
Prácticas dirigidas en grupos de 3 alumnos. (Taller de programación)
Prácticas de laboratorio.
Presentación de trabajo final de programación visual
d) Evaluación permanente usando aula virtual y Internet
e) Elaboración y presentación de planillas.
1.6 RECURSOS MATERIALES
a) Bibliografía.
b) Laboratorio de Computadoras.
c) Software de Lenguaje Visual Estudio C++ 2008
d) Aula con proyector multimedia.
f) Plumones de pizarra acrílica
d) Separatas y copias, y material en CD, DVD, etc.
f) Internet aula virtual y Página WEB
1. 7. RECURSOS BIBLIOGRAFICOS
BIBLIOGRAFIA BASICA (OBLIGATORIA)
1. Véliz Vilca Ismael / Lenguaje de Programación 2011 , UNSA Ing. Industrial
2011
2. Ivor Horton’s / Beginning Visual C++ 2008 ® /Published by Wiley Publishing,
Inc., Indianapolis, Indiana USA. /2008
3 H.M.Deitel, P.J.,Deitel y asociados / como Programar en C++/ printice Hall
México 1995
4 Kong Maynard / Lenguaje de programación C / Fondo Editorial de Pontificia
Universidad Católica /1987.
5 Kernigian Brian W. Ritchie Dennis M/ El lenguaje de programación C/Printece
hall-hispanoamericana S.A/ 1991.
BIBLIOGRAFIA COMPLEMENTARIA(SUGERIDA)
1. Antonakos James ,Mansfields JR. PROGRMACION ESTRUCTURADA EN C,
Printice Hall Iberia Madrid 1997
2. Joyanes Aguilar Luis/ C++ a su alcance/ UN ENFOQUE ORIENTADO A
OBJETOSMcGraw-Hill / Madrid/ 1994
3. Ceballos Fco. Javier/ Microsoft Visual C++ aplicaciones para Win32/RAMA /
1996
4. NAKAMURA SHOICHIRO / Métodos Numéricos
5. OpenGL Programming Guide (Addison-Wesley Publishing Company) libro rojo
de opengl 2000
9. Lenguaje de programación 2011 - ix -
6. DONALD HEARN, M. PAULINE BAKER /Gráficos por computadora con OpenGL
Indiana University - Purdue University Pearson Printice Hall Madrid 2006
7. Material proporcionado en Cd
1.8. METODOLOGIA
CLASES EN SALON.- Clases magistrales teórico- prácticos
TRABAJOS DE APLICACION.- Los estudiantes desarrollarán un trabajo de
aplicación que sustentarán al final del curso, en grupos de 3. (La aplicación es en
Programación visual)
EXAMENES DE CONTROL.- Evaluación periódica del avance del curso,
reajustando y corrigiendo el dictado, de acuerdo al rendimiento observado en cada
evaluación.
PRACTICAS CALIFICADAS.- Los estudiantes rendirán practicas calificadas con la
guía de Profesor se fomentará el trabajo en equipo y la colaboración.
PRÁCTICAS DE LABORATORIO.- Los estudiantes dispondrán de 4 horas como
mínimo de práctica semanales en computadoras en L.I.I.I.
Tarea a resolver por alumno o grupo por Internet
1.9 EVALUACION
Exámenes (Parte Teoría)
Primer Examen (E1 ) Capítulos 1 al 2 Peso = 10 %
Segundo Examen (E2 ) Capítulos 3 al 4 Peso = 10 %
Tercer Examen (E3 ) Capítulos 5 al 6 Peso = 10 %
Cuarto Examen (E4 ) Capítulos 7 al 8 Peso = 10 %
Cuarto Examen (E5 ) Capítulos 9 al 12 Peso = 10 %
Parte Práctica
Promedio de prácticas en clase y controles de lectura PC)
Peso 20 %
Sustentación del Trabajo Final (TF) Peso = 15 %
Trabajo de investigación 5%
Nota de Laboratorio NL (resolución de tareas y asistencias) Peso = 30 %
El promedio Final (PF)se obtendrá de la siguiente manera
PF= Promedio de exámenes *0.5 + NL*0.3+(TF y/o Prácticas en clase)
1.10: CALENDARIZACION
ACUM %
CAPITULOS SEMANAS SEM AVANCE % ACUM
1 1,00 1,00 5,88 0,06
2 1,00 2,00 5,88 11,76
Evaluación 1 0,50 2,50 2,94 14,71
3 1,50 4,00 8,82 23,53
4 1,50 5,50 8,82 32,35
Evaluación 1 0,50 6,00 2,94 35,29
5 1,00 7,00 5,88 41,18
6 1,00 8,00 5,88 47,06
10. Lenguaje de programación 2011 - x -
Evaluación 1 0,50 8,50 2,94 50,00
7 1,00 9,50 5,88 55,88
8 1,00 10,50 5,88 61,76
Evaluación 1 0,50 11,00 2,94 64,71
9 1,00 12,00 5,88 70,59
10 1,00 13,00 5,88 76,47
11 0,50 13,50 2,94 79,41
12 0,50 14,00 2,94 82,35
Evaluación 1 0,50 14,50 2,94 85,29
13 0,50 15,00 2,94 88,24
14 0,50 15,50 2,94 91,18
15 0,50 16,00 2,94 94,12
Exposición
Trabajos 1,00 17,00 5,88 100,00
TOTAL 17,00 100,00
Arequipa, 2011 mayo 16
-------------------------------- ------------------------------------------
M.MSc Ing. Juan Carlos Torreblanca de Velazco M.Sc. Ing. Ismael Véliz Vilca
Docente PRI- DAII Grupo A Docente PRI -DAII Practica