División Académica de Ciencias Básicas
Licenciatura en Ciencias Computacionales
PROGRAMA DE ESTUDIOS
Programación I
Área a la que pertenece: Horas teóricas: Horas practicas: Créditos: Clave:
Área General 3 2 8 F0028
Asignaturas antecedentes y subsecuentes Programación II PRESENTACIÓN El lenguaje de programación C se ha convertido en el lenguaje de elección para la implantación de sistemas en la industria informática pues se caracteriza por ser de uso general y poseer una sintaxis sumamente compacta y de alta portabilidad. Esta asignatura proporciona las bases fundamentales para las siguientes Materias como son: Programación II, Programación III, Programación IV y Programación V; por eso esta materia pertenece al área general.
OBJETIVO GENERAL El alumno será introducido a la programación estructurada utilizando el lenguaje C. Al finalizar el curso el alumno será capaz de escribir programas diseñados para un fin determinado y podrá depurarlos y ejecutarlos.
CONTENIDO
Unidad No. Objetivo particular
1
El lenguaje C y su entorno. El alumno aprenderá a manipular el compilador de C, capturará programas previamente codificados, los depurará y ejecutará
Hrs estimadas Temas 1.1 Historia de C 1.2 La biblioteca estándar de C 1.3 Entorno de C.
F0028_Programación I
Resultados del aprendizaje El alumno identificará cada una de las opciones del compilador y sabrá oportunamente cual debe utilizar en su programa.
1/7
División Académica de Ciencias Básicas
Unidad No. Objetivo particular
2
Licenciatura en Ciencias Computacionales
Introducción al C. Este capitulo describe los datos y tipos de datos utilizados por el lenguaje, junto con las sentencias (funciones predefinidas) para introducir datos y visualizar resultados.
Hrs estimadas
Temas 2.1 Elementos de un programa. 2.1.1 Identificadores. 2.1.2 Palabras reservadas 2.1.3 Comentarios 2.1.4 Constantes 2.1.5 Variables 2.1.6 Identificadores estándar 2.1.7 Bibliotecas de funciones 2.1.8 Secuencia de escape 2.1.9 Sentencias 2.2 Tipos de datos. 2.2.1 Clasificación de tipos de datos: 2.2.1.1 Enteros 2.2.1.2 Flotantes 2.2.1.3 Carácter 2.2.1.4 Lógicos 2.2.2 Definidos por el usuario (arreglos y registros) 2.3 Expresiones y operaciones aritméticos 2.3.1 Operadores unarios 2.3.2 Operadores Aritméticos +, -, *, /, % 2.3.3 Operadores de Igualdad ==, ¡=, 2.3.4 Operadores relacionales >, <, >=, <= 2.3.5 Operadores Increméntales y decrementales 2.3.6 Operadores de asignación +=, -=, *=, /=, %=
F0028_Programación I
Resultados del aprendizaje El alumno podrá efectuar programas pequeños donde se involucren las funciones previamente estudiadas.
2/7
División Académica de Ciencias Básicas
2.4
2.5 2.6
Licenciatura en Ciencias Computacionales
Reglas de evaluación de expresiones (Prioridad o precedencia) Escritura de formulas matemáticas en C Operaciones de entrada y salida 2.6.1 printf, cout 2.6.2 scanf, cin
Unidad No. Objetivo particular
3
Estructuras de control selectivas. El concepto de flujo de control a través de un programa se refiere al orden en que se ejecuta las acciones individuales de un programa. Aunque un flujo normal de un programa es lineal, existen métodos que permiten salir del flujo lineal, a través del uso de las estructuras de control. En esta unidad el alumno aprenderá a representar decisiones en algoritmos cuando existen acciones con dos ó más alternativas. Se muestra como realizar ejecución condicional utilizando expresiones lógicas y las sentencias if y switch ó inclusive el operador ? : .
Hrs estimadas Temas 3.1. Expresiones lógicas 3.2. Operadores lógicos and, or y not 3.3. Bloques 3.4. La función if 3.5. Sentencias if anidados 3.6. La función Switch 3.7. Comparación entre if y switch
Unidad No. Objetivo particular
4
Resultados del aprendizaje El alumno podrá efectuar programas donde se involucren las funciones previamente estudiadas y podrá seleccionar cuál es la función adecuada para resolver su problema.
Estructuras de control repetitivas. Las computadoras están especialmente preparadas para ejecutar tareas repetitivas. Las estructuras de control repetitivas son aquellas en las que una sentencia o grupo de sentencias se repiten muchas veces. Esta unidad introduce al alumno a las estructuras de control repetitivas tales como for, while, do-while.
Hrs estimadas
F0028_Programación I
3/7
División Académica de Ciencias Básicas
Temas 4.1 El concepto de bucle (ciclo) 4.2 La instrucción while 4.3 Bucles controlados por contador 4.4 Bucles controlados por condición 4.4.1 Solicitar al usuario la continuación del bucle. 4.4.2 Valor centinela 4.4.3 Uso de banderas e interruptores 4.5 La instrucción for 4.6 La instrucción do-while 4.7 Comparación de los bucles while, for, do-while
Unidad No. Objetivo particular
5
Licenciatura en Ciencias Computacionales
Resultados del aprendizaje El alumno elaborara programas de mayor nivel de complejidad, donde aplique las funciones repetitivas o ciclos. Podrá identificar en un problema a resolver si se requiere del uso de ciclos o no; y podrá seleccionar la función repetitiva más acorde al problema.
Diseño Modular Las funciones son unidades de programas diseñados para ejecutar una tarea especifica. El proceso de descomposición de un programa en módulos, se conoce como modulación y a la programación relativa a ellas como programación modular. En esta unidad el alumno será capaz de definir funciones especificas, conocerá como se comportan y la importancia de la programación modular.
Hrs estimadas Temas 5.1 Que es una función. 5.2 Como se declaran las funciones. 5.3 Llamadas a funciones 5.4 Ámbito de las variables
Unidad No. Objetivo particular
6
Resultados del aprendizaje El alumno diseñará programas donde incluya funciones especificas. Entenderá como administrar la memoria y lo ejemplificará en cada programa que realice.
Los arreglos Una estructura de datos es una colección de elementos organizados de un modo especifico. En esta unidad el alumno estudiara los arreglos; conceptos básicos, operaciones y tratamientos.
Hrs estimadas Temas 6.1 Que es un arreglo. 6.1 Arreglos unidimensionales 6.2 Como se declaran
F0028_Programación I
Resultados del aprendizaje El alumno utilizará variables de múltiples dimensiones para la solución de problemas.
4/7
División Académica de Ciencias Básicas
6.3 Operaciones con arreglos: 6.3.1 . Llenado 6.3.2 . Escritura 6.3.3 . Copia 6.4 Arreglos Multidimensionales. 6.5 Manipulación de tablas
Unidad No. Objetivo particular
7
Licenciatura en Ciencias Computacionales
Podrá guardar datos en un arreglo, modificarlos, borrarlos y consultarlos.
Tratamiento de cadenas de caracteres. Existe un tipo de dato tipo cadena. Una variable cadena es realmente un arreglo de caracteres, con un carácter de control que indica el final de la cadena dentro del arreglo. El lenguaje C incorpora un conjunto de funciones que manipulan directamente cadenas, en esta unidad el alumno aprenderá a controlar variables tipo cadena.
Hrs estimadas Temas Resultados del aprendizaje Conocerá las funciones que existen para 7.1 Concepto de cadena de caracteres. cadenas y entenderá su funcionamiento. 7.2 Declaración de cadenas. 7.3 Biblioteca de manejo de caracteres. 7.4 Función de conversión de cadenas. 7.5 Funciones de la biblioteca estándar de entrada /salida 7.6 Funciones de manipulación de cadenas. 7.7 Funciones de comparación de biblioteca de manejo de cadenas. 7.8 Funciones de búsquedas
Sugerencias didácticas UNIDAD 1 El alumno deberá Investigar los lenguajes que dieron origen al C y quienes fueron sus creadores. Se le debe proyectar el entorno de trabajo del compilador C para que el alumno observe su funcionamiento. UNIDAD 2 proporcione ejercicios prácticos para que los alumnos resuelvan. Es importante aplicar exámenes rápidos para evaluar el proceso de aprendizaje. Elabore tareas para que el alumno reafirme los conceptos vistos en cada sesión de clases y vaya desarrollando un pensamiento estructurado. UNIDAD 3
F0028_Programación I
5/7
División Académica de Ciencias Básicas
Licenciatura en Ciencias Computacionales
Elaborar un programa para cada una de las funciones selectivas . Analizar en qué casos es más conveniente utilizar cada función selectiva. Elaborar un programa en el cuál el alumno pueda modificarlo utilizando cada una de las funciones selectivas. UNIDAD 4 Elaborar un programa donde el alumno observe claramente el uso de los ciclos. Presente casos donde el alumno observe cuando es mejor utilizar un for, un while ó un do-while. Deje programas en cada sesión de clases, pues el alumno requiere practicar. UNIDAD 5 Elabore programas donde el alumno observe como se diseña un función, como se invoca y como se comporta la función. Cuando deje programas para hacer en casa, especifique cuantas funciones quiere que elabore y que debe efectuar cada función UNIDAD 6 Después de explicar la sintaxis de los arreglos y como funcionan, proporcione ejemplos donde el alumno reflexione el tipo de arreglo que debe utilizar para resolver el problema. UNIDAD 7 Antes de dar a conocer las funciones de la biblioteca de funciones de C, permita que el alumno diseñe sus propias funciones que manipulen cadenas y posteriormente infórmele que ya existen funciones predefinidas, para que las utilice
Estrategias de evaluación del aprendizaje UNIDAD 1 El profesor puede proporcionar al alumno programas previamente codificados para que el alumno vaya al laboratorio, los escriba, los depure y ejecute; al finalizar el ejercicio el alumno debe determinar que cálculos efectuaba el programa. UNIDAD 2 Debe dejar tareas por cada tema y realizar un examen escrito donde el alumno demuestre su nivel de competencia. UNIDAD 3 Deberá dejar programas de cada una de las funciones selectivas. Para medir el nivel de competencias podrá aplicar un examen práctico ó dejar un programa para que el alumno lo entregue al día siguiente. UNIDAD 4 Evalúe cada una de las prácticas que dejo de tarea. Es importante la participación del alumno, por lo que puede tomar en cuenta que ideas aporta a la clase. UNIDAD 5 En cada sesión deje tarea para que alumno realice y reafirme lo visto en clase. Evalúe las competencias con tareas y un examen representativo de la Unidad. UNIDAD 6 En cada sesión deje tarea para que alumno realice y reafirme lo visto en clase. Evalúe las competencias con tareas y un examen representativo de la Unidad.
F0028_Programación I
6/7
División Académica de Ciencias Básicas
Licenciatura en Ciencias Computacionales
UNIDAD 7 Elabore un proyecto donde utilice las funciones para cadenas. Las competencias las podrá medir con el proyecto y un examen escrito.
Bibliografía BIBLIOGRAFÍA BÁSICA Y ACCESIBLE EN LIBRERÍAS LOCALES 1
Deitel, H.M; Deitel ;Como programar en C/C++. Segunda Edición. Prentice Hall 1995. ISBN 968-880-471-1.
BIBLIOGRAFÍA COMPLEMENTARIA 1 2 3 4 5 6 7 8
Byron S. Gottfried;Programación en C; Mc Graw Hill. Serie Schaum 1998. Steve Oualline; Practical C Programming; O'Reilly & Associates, Inc. * C A. M. Tenenbaum, Y. Langsam & M. J. Augenstein; Data Structures Using; Ed. Prentice-Hall B. W. Kernighan, D. N. Ritchie; El lenguaje de programación C, Con base en ANSI C 2da. edición; Prentice-Hall 1991 SCHILDT, Herbert;C: Manual de referencia; Editorial McGraw-Hill Interamericana. 4a. edición 2001. 1210 grs SCHILDT, Herbert; C: Guía de autoenseñanza; Editorial McGraw-Hill Interamericana. 1a. edición 2001. Jordi BATALLER y Rafael MAGDALENA; Programación en C ; Coedición: Alfaomega-Universidad Politécnica de Valencia, 2001 Moldes, F. Javier.;Lenguaje C (Colección: Guías Prácticas);Editorial Anaya Multimedia. 1a. edición. 2 Marzo 2001. ISBN: 84-415-1117-9.
F0028_Programación I
7/7