Lab Elementos de Computación

Anuncio
Lab Elementos de Computación
May0 2007
Carrera
Clave de Asignatura
Descripción de Asignatura
Créditos
Pre-Requisito
Ingenierías
ING-202
Laboratorio de Elementos de Computación
5 Créditos
CBM-103 (Calculo Diferencial)
Objetivos primarios
♦ Dominar la codificación de algoritmos computacionales de nivel medio de complejidad, utilizando el
lenguaje C.
♦ Dominar la creación de programas sencillos, del área de ingeniería, utilizando el lenguaje C.
♦ Dominar la aplicación de la programación a una gran variedad de problemas de la vida diaria.
♦ Dominar la esencia de los lenguajes estructurados de programación, para adentrarse en ellos con poco
esfuerzo.
Otros objetivos
♦ Proveer al estudiante conceptos generales de programación.
♦ Proveer una buena base para el desarrollo de programas en otros lenguajes estructurados.
♦ Aplicar lógica de programación a los conocimientos matemáticos previos.
♦ Aplicar buenas prácticas de programación a la solución de problemas.
Habilidades y Contenidos
Semana 1
Habilidades
Contenido
Semana 2
Habilidad
Contenido
Semana 3
Habilidad
Contenido
Semana 4
Habilidad
Contenido
Semana 5
Habilidad
Contenido
Pograma en C
. Discriminar concepto de programa, su estructura y componentes.
. Dominar redacción, compilación, ejecución, preservación, y reutilización de un programa C.
. Dominar declaración, asignación, escritura y lectura de variables.
. Dominar uso de operadores aritméticos, relacionales, lógicos, asignación incremento. Uso de &
en scanf. Formatos de impresión %d, %f, %s.
♦ Estructura de un programa C: Comentarios (una y múltiples líneas), Inclusión librerías,
Declaración de constantes simbólicas, Declaración de funciones y variables y globales, Función
Main(), Declaración de variables locales, cuerpo.
♦ Componentes de un programa C: Constantes, Variables, Tipos, Modificadores de tipo, Rangos,
Operadores (Aritméticos, Relacionales, Lógicos, Asignación, Incremento).
♦ Entorno de programación: Entrar, Salir, Salvar, Recuperar, Editar, Compilar, Ejecutar.
Estructuras de control selectivas
Dominar estructuras de control selectivas para lidiar con múltiples opciones.
♦ if simple. if compuesto (bloque de código). if con else. ifs anidados. if escalonado.
♦ switch: Estructura, variable de control, case, break, default.
♦ Librería math.h: sqr, sqrt, pow.
Estructuras de control repetitivas
Dominar estructuras de control repetitivas para manejar procesos intensivos.
♦ Ciclos: for, while, do-while.
♦ break, continue, exit.
Vectores y tablas
Dominar vectores y tablas para manejar grandes cantidades de datos.
♦ Vectores: De números (enteros, reales), tamaño, número de elementos usados, declaración,
inicialización, subíndice, acceso a un elemento (asignación, lectura, escritura).
♦ Tablas: De números (enteros, reales), subíndices.
♦ Tablas de caracteres: Declaración, Inicialización, Acceso a una fila, filas escalonadas.
Cadenas de caracteres
Dominar cadenas de caracteres para procesar datos alfanuméricos.
♦ Dimensión de una variable. Variable sub-indicada.
♦ Cadena de caracteres: Declaración, inicialización, lectura, escritura, subíndice, acceso a un
elemento (asignación, lectura, escritura). Terminador nulo.
ING202-0X, Elementos de Computación
Página 1 de 2
Lab Elementos de Computación
May0 2007
Examen
♦ Caracteres ASCII. Conversión carácter dígito a número.
♦ Librería strings.h: strcpy, strcmp, strcat, substr, length.
*** Primer parcial ***
Semana 6
Habilidad
Contenido
Funciones
Dominar funciones para abordar problemas de mayor complejidad.
♦ Reglas de ámbito de una función, Tipo.
♦ Función: Declaración (prototipo, parámetros), Invocación, Detalle.
♦ Parámetros: Paso por valor, Paso por referencia (escalares, vectores, tablas).
♦ ♦ Operadores de indirección: *, &, [].
Semana 7
Estructuras
Habilidad Dominar estructuras para crear tipos de datos a la medida.
Contenido ♦ Estructura: Ámbito, Declaración (como tipo de dato).
♦ Variables estructura: Declaración, Inicialización, Tablas (arreglos).
♦ Operadores y acceso: Punto (., “near”), flecha (->, “far”).
♦ Acceso: Asignación, lectura, escritura, paso a una función.
Semana 8
Archivos de datos persistentes
Habilidad
Dominar archivos de datos persistentes para abordar verdadero procesamiento de datos.
Contenido ♦ Archivo: Tipos, Modos.
♦ Manejo de archivo: Apertura, cierre, lectura, escritura.
♦ Archivos y estructuras.
♦ Librería stdlib.h: FILE *fp, fopen, fclose, fread, fwrite.
Examen *** Segundo Parcial ***
Semana 9
Habilidad
Contenido
Semana 10
Recursos
Fuentes
Recursión
Dominar recursividad como alternativa a la reiteración.
♦ Recursión. Compilador recursivo. Pila de recursión. Recursión versus reiteración.
♦ Ejemplos: Factorial. Búsqueda binaria. Torres de Hanoi.
** Examen Final ***
♦
♦
♦
♦
♦
♦
♦
♦
♦
Calendario de actividades y evaluación.
Entorno de programación: Software Dev-Cpp, de BloodShed
Presentaciones PowerPoint (una por semana)
Listado oficial de Ejercicios Propuestos
Fundamentos de Programación: piensa en C; Osvaldo Cairó; Pearson Prentice Hall; 2006 (libro texto)
www.ecabrera.wordpress.com (blug pro., eligio cabrera)
\\labmicro\shared\Ecabrera\elementos (carpeta servidor del labMicro)
www.projectEuler.net (página con problemas)
http://acm.uva.es/problemset (página con problemas)
ING202-0X, Elementos de Computación
Página 2 de 2
Descargar