FUNDAMENTOS DE PROGRAMACION PROGRAMA VIGENTE PLAN 2003 OBJETIVO GENERAL: PROPUESTA DE REDISEÑO 2012 El alumno resolverá problemas de ingeniería y ciencias mediante la programación estructurada. PROPÓSITO DE LA UNIDAD DE APRENDIZAJE Desarrolla (diseña) soluciones a problemas de ingeniería y ciencias con base en sistemas de cómputo y lenguajes de programación (ANSI C, o similares de alto nivel) con enfoque sistémico. CONTENIDOS TEMÁTICOS GENERALES CONTENIDOS TEMÁTICOS GENERALES I. Introducción a la programación. 1. Metodología de la programación, algoritmia y lenguajes de programación 2. Fundamentos del lenguaje II. Fundamentos de programación estructurada. III. Estructuras de flujo programático. IV. Estructuras de datos. V. Aplicaciones. OBJETIVO PARTICULAR 1. El alumno manipulará los elementos básicos de los sistemas operativos y compiladores de C 2. El alumno elaborará programas estructurados en lenguaje C 3. El alumno generará programas que incluyan estructuras de decisión e iteración en lenguaje C 4. El alumno elaborará programas empleando apuntadores y arreglos en lenguaje C. 5. El alumno propondrá y construirá un programa integral en C aplicado a una problemática específica de la ciencia o de la 3. Estructuras de Control VENTAJAS DE LA PROPUESTA REDISEÑADA Enfocada en el análisis y diseño antes de la codificación en un lenguaje de alto nivel, además de la reestructuración de los contenidos clásicos referentes al paradigma de la programación estructurada. Se crea una secuencia lógica para el desarrollo de las competencias del estudiante. Se fortalece la metodología de la programación y se logra un mejor orden temático. Se fortalece el contenido de la unidad temática de Estructura de datos. 4. Programación Modular y Estructurada 5. Estructuras de datos: Arreglos, Registros y Archivos UNIDAD DE COMPETENCIA 1. Desarrolla algoritmos con base en la metodología de programación. 2. Realiza programas secuenciales con base en los fundamentos del lenguaje y su metodología. 3. Aplica la programación estructurada a partir de las sentencias o estructuras de control. 4. Construye programas con base en la programación estructurada. 5. Diseña programas a partir de las estructuras de datos 1. Se hace explicita la metodología de programación enfocada al paradigma propuesto. Es decir, se fortalece el análisis, los diagramas de flujo, seudocódigo y la prueba de escritorio. 2. De forma transversal se aplica la metodología abordada en la unidad. Se transfieren las funciones de usuario para verse de forma pertinente en la unidad temática 3 y se añade lógica propositiva. 3. El contenido se aborda de forma lógica y secuencial de acuerdo al paradigma. 4. Aplica el paradigma de la programación modular codificándola en un lenguaje de alto nivel, se aborda el tema en el orden lógico descrito en la unidad temática uno. 5. Se añaden los temas referentes a asignación de memoria dinámica, liberación y manejo de archivos, así mismo se abordan los temas ingeniería. relacionados con las estructuras de datos básicas utilizadas en la programación estructurada. CONTENIDOS DESGLOZADOS CONTENIDOS DESGLOZADOS • SistemasOperativos. 1.1.1- Definición, características y función de un sistema operativo. 1.1.2.- Análisis comparativo de Sistemas Operativos (MS-DOS, LINUX, WINDOWS) 1. Metodología de la programación, algoritmia y lenguajes de programación 1.2.- Evolución de los lenguajes de programación. 1.2.1.- Definición, características y funciones de los lenguajes de programación. 1.3.- Interpretes, Compiladores. 1.3.1.- Definición de Intérpretes y Compiladores Ambiente integral del Lenguaje C 2.1.- Estructura general de un programa. 2.2.- Tipos de datos y Operadores 2.2.1.- Tamaños, Declaración, Modificadores 2.2.3.- Operadores Lógicos, aritméticos y de asignación 2.3.- Funciones de biblioteca. 2.3.1.- Funciones de entrada y salida 2.3.2.- Funciones Matemáticas 2.4.- Funciones generadas por el usuario. 2.4.1.- Argumentos y parámetros formales 2.4.2.- Funciones con y sin argumentos 2.4.3.- Funciones que regresan valores 3.1.- Estructuras de decisión 3.1.2.- Simple 3.1.3.- Ramificada 3.2.- Estructuras de iteración Pre y Post Condicional 1.1. Fases en la resolución de problemas 1.1.1. Análisis del problema 1.1.2. Diseño del algoritmo 1.1.2 Herramientas de programación Pseudocódigo Diagramas de flujo 1.2. Paradigma de la programación estructurada 1.3 Lenguajes de programación 1.3.1 Intérpretes 1.3.2 Compiladores 1.4. Estructura general de un programa Partes constitutivas de un programa Proyecto Transversal (Parte 1) 2. Elementos (Fundamentos) del lenguaje 2.2 Tipos de datos 2.3 Modificadores 2.4 Constantes y variables (declaración) 2.5 Expresiones y sentencias 2.5.1 Operadores aritméticos, lógicos, relacionales, de asignación y de bits. 2.5.1.1 Jerarquía y Precedencia 2.5.2 Tablas de verdad de los operadores lógicos 2.6 Funciones de biblioteca 2.6.1 Entrada y salida de datos 2.6.2 Funciones matemáticas Proyecto Transversal (Parte 2) 3. Estructuras de Control 3.1. Programación estructurada 3.2. Estructura secuencial 3.3. Estructuras selectivas 3.4. Estructuras repetitivas 3.4.1 Estructuras repetitivas pre y post condicional. Proyecto Transversal (Parte 3) Contador y acumuladores 3.3.- Estructuras de control 3.3.1.- Ruptura de un lazo 4.1.- Arreglos unidimensionales 4.1.1.- Concepto y forma general 4.1.2.- Arreglos numéricos y de caracteres 4.2.- Arreglos bidimensionales 4.2.1.- Concepto y forma general 4.2.2.- Arreglos numéricos y de caracteres 4.3.- Apuntadores 4.3.1.- Concepto 4.3.2.- Tipos de apuntadores 4.3.3.- Operaciones con apuntadores 4.3.4.- Relación de apuntadores con arreglos 5.1.- Análisis del problema y elaboración del algoritmo 5.2.- Codificación e Implemantación 5.3.- Pruebas modulares e integrales 5.4.- Mantenimiento BIBLIOGRAFIA BÁSICA CEBALLOS, Francisco Javier, Enciclopedia del Lenguaje C, Computec-Rama, México, 1994. 4. Programación Modular y Estructurada 4.1. Introducción a la programación modular 4.2. Funciones 4.3. Procedimientos 4.4. Parámetros de la función 4.4.1 Por valor 4.4.2 Por referencia Proyecto Transversal (Parte 4) 5. Estructuras de datos estáticas: Arreglos y Registros 5.1. Arreglos 5.1.1 Arreglos Unidimensionales 5.1.2 Arreglos Multidimensionales 5.2. Registros 5.3 Apuntadores 5.4 Asignación dinámica de memoria 5.5 Liberación de memoria dinámica 5.6 Concepto de archivo 5.6.1 Manejo de archivos 5.6.2 Lectura de datos desde un archivo. 5.6.3 Escritura de datos en un archivo. Proyecto Transversal (Parte 5) BIBLIOGRAFIA BÁSICA 1. CEBALLOS, Francisco Javier, Enciclopedia del Lenguaje C, ComputecRama, México, 1994. 2. DEITEL, H.M.; Deitel, P.J. Cómo DEITEL, H.M.; Deitel, P.J. Cómo programar en C/C++, PrenticeHall, Hispanoamericana, México,1995. KERNIGHAN, B. W.; D.M. Ritchie, Lenguaje de Programación C, Prentice-Hall. programar en C/C++, Prentice- Hall, Hispanoamericana, México,1995. 3. KERNIGHAN, B. W.; D.M. Ritchie, Lenguaje de Programación C, Prentice-Hall.