ANEXO XVII DE LA RESOLUCION N° Hoja 1 de 7 Programa de: Informática UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Carrera: Materia común Res. Nº Escuela: Departamento: COMPUTACIÓN Materia nº: Código: Plan: Carga Horaria:84 Semestre: Carácter: Obligatoria. Puntos:3.5 Hs. Sem: 5,25 Año lectivo: Objetivos: Al terminar el curso, el estudiante: Comprenderá los principios necesarios para generalizar las soluciones específicas de los problemas científicos y de Ingeniería a modelos de simulación mediante herramientas informáticas basadas en los algoritmos matemáticos. Será capaz de analizar, representar y resolver los problemas científicos y de ingeniería en un lenguaje de especificación de algoritmos funcionales e imperativos. Aplicará herramientas informáticas que le permitan interactuar con los modelos de simulación, con los objetivos de realizar experimentos que le permitan evaluar los resultados en forma visual. Adquirirá ha habilidad para utilizar una herramienta informática que le facilite la formulación y resolución simbólico-matemática de los modelos científicos e de Ingeniería. Conocerá diferentes herramientas informáticas disponibles en el campo científico y de Ingeniería que facilitan el desarrollo de nuevas soluciones mediante su composición y re-uso. Programa sintético • Introducción a la programación. • Especificación de algoritmos. • Estructura de datos. • Técnica básica de diseño de algoritmos. • Entorno interactivo de programación. • Tipos de datos, arreglos, matrices y vectores. • Funciones de biblioteca. • Tipos de datos compuestos. • Flujo de control imperativo. • Visualización gráfica. • Programación con matemática simbólica. Programa Analítico de foja: 2 a foja 6 Bibliografía de foja: 7 a foja: 7 Correlativas Obligatorias: Matemática Ciclo de Nivelación Correlativas Aconsejadas: Rige: 2004 Aprobado H.C.D.; Res.: Modificado/Anulado/Sust.H.C.D. Res: Fecha: Fecha: El Secretario Académico de la Facultad de Ciencias Exactas, Físicas y Naturales (UNC) certifica que el programa está aprobado por el (los) número(s) y fecha(s) que anteceden. Córdoba, / / . ANEXO XVII DE LA RESOLUCION N° Carece de validez sin la certificación de la Secretaría Académica: PROGRAMA ANALÍTICO INFORMATICA UNIDAD 1: COMPUTADORAS DIGITALES. 1.1- Información y procesamiento de datos. 1.2- Representación de la información. 1.3- Conceptos de lógica digital. 1.4- Procesadores y computadoras. 1.5- Instrucciones y programas. 1.5- Lenguajes de alto nivel y paradigmas. 1.6- Administración de recursos y sistemas operativos. 1.7- Utilitarios. UNIDAD 2: 2.- TÉCNICAS DE PROGRAMACIÓN ESTRUCTURADA. 2.1- Noción de algoritmo. 2.1.1- Resolución de problemas. 2.1.2- Procesador, ambiente, acción y condición. 2.2- Formalización de algoritmos. 2.2.1- Lenguaje formal de programación. 2.2.2- Formalización del ambiente de un programa. 2.2.3- Prueba de funcionamiento de un algoritmo. 2.2.4- Transformación del ambiente. 2.3- Datos primitivos del lenguaje. 2.3.1- Datos constantes y variables del ambiente. 2.3.2- Identificación de variables. 2.3.3- Tipos de datos escalares. ANEXO XVII DE LA RESOLUCION N° 2.4- Expresiones y funciones sobre tipos de datos escalares. 2.4.1- Expresiones aritméticas con operadores infijos. 2.4.2- Funciones aritméticas con operadores prefijos. 2.4.3- Expresiones lógicas, predicados. 2.5- Acciones primitivas de transferencia de la información. 2.5.1- Asignación de valores de expresiones a instancias de tipos de variables. 2.5.2- Entrada y salida de datos desde y hacia el ambiente. 2.6- Decisión y selección de acciones a ejecutar. 2.6.1- Ejecución secuencial de las acciones. 2.6.2- Ejecución no secuencial incondicional. 2.6.3- Descripción formal de una decisión. 2.6.4- Decisiones encajadas. 2.6.5- Decisión generalizada. 2.7- Repetición de las acciones a ejecutar. 2.7.1- Repetición de secuencias de acciones. 2.7.2- Repetición controlada a posteriori. 2.7.3- Repetición controlada a priori. 2.7.4- Repetición ordinal, controlada a priori. 2.7.5- Repetición generalizada. 2.8- Estructuras estáticas y dinámicas de datos. 2.8.1- Tipos primitivos y derivados. 2.8.2- Estructuras estáticas de datos: 2.8.2.1- Tipo, variables y operaciones de arreglos. 2.8.2.2- Tipo, variables y operaciones en cadena. 2.8.2.3- Tipos y variables compuestas. 2.8.3- Estructuras dinámicas de datos. 2.8.3.1- Cardinalidad indefinida. 2.8.3.2- Acceso indirecto a memoria, punteros. 2.8.3.3- Listas lineales y árboles. Datos recursivos. 2.8.3.4- Almacenamiento externo, archivos. 2.8.3.5- Organización y recuperación en archivos. 2.9- Organización modular de las acciones. 2.9.1- Funciones definidas por el usuario. 2.9.2- Estructuras algoritmicas. Subalgoritmos. ANEXO XVII DE LA RESOLUCION N° 2.9.3-Transferencia de datos. Parámetros de procedimientos. 2.9.4- Alcance lexicográfico de variables y procedimientos. 2.9.5- Abstracción de procedimientos como datos. 2.9.6- Inducción y recursión. UNIDAD 3: TÉCNICAS DE PROGRAMACIÓN ORIENTADA A OBJETOS 3.1- Solución de problemas complejos mediante el modelo de objetos. 3.2- Elementos del modelo de objetos: abstracción, encapsulamiento, modularidad, jerarquía, tipado, concurrencia y persistencia. 3.3- Clases y objetos. Estado, comportamiento e identidad. 3.4- Lenguajes de programación basados y orientados a objetos. UNIDAD 4: LENGUAJE DE PROGRAMACIÓN ANSI C 4.1- Estructura básica de un programa C 4.1.1- Funciones en C. 4.1.2- La forma genérica de las funciones en C. 4.1.3- La función main. 4.1.4- Argumentos de la función. 4.1.5- Las bibliotecas standard y el preprocesador. 4.2- Tipos de datos primitivos y sus expresiones. 4.2.1- Identificadores, palabras claves y símbolos sintácticos. 4.2.2- Variables, declaraciones de tipos, constantes simbólicas y enumeradas. 4.2.3- Variables locales y parámetros formales. 4.2.4- Variables globales y externo, especificación de categorías de almacenamiento auto, static. 4.2.5- Declaración de arreglos. 4.2.6- Tipos primitivos int, shortint, longint, unsigned int, flota, double y void. 4.2.7- Constantes y expresiones aritméticas, lógicas y de bits. 4.2.8- Tipo char, constantes y expresiones. 4.2.9- Conversiones de tipo, promoción y pérdida de rango modelado. 4.3- Proposiciones de transferencia de datos del ambiente 4.3.1- Proposición de asignación ANEXO XVII DE LA RESOLUCION N° 4.3.2- Inicialización de variables. 4.4- Proposiciones de transferencia de datos desde y hacia el ambiente. 4.4.1- Entrada y salida por consola. Funciones getchar, putchar, gets, puts. 4.4.2- Entrada y salida formateada. Funciones pintf y scanf. 4.4.3- Lectura y escritura de archivos. Archivos de cabecera. 4.4.4- Funciones de entrada y salida de librerías. 4.4.5- Funciones de entrada y salida de nivel bajo. 4.5- Proposiciones de control de acciones. 4.5.1- Secuencia compuesta. 4.5.1.1- Proposiciones y terminadores. 4.5.1.2- Proposición compuesta o bloque { } 4.5.2- Decisión simple y generalizada 4.5.2.1- Las proposiciones if-else, if-else-if, cond. 7. 4.5.2.2- La proposición switch-case-default. 4.5.3- Repeticiones 4.5.3.1- Ciclo while ( ). 4.5.3.2- Ciclo do-while ( ). 4.5.3.3- Ciclo for ( ). 4.5.3.4- Las proposiciones break y continue. La función exit ( ). 4.5.3.5- la proposición goto y etiquetas. 4.5.3.6- Anidación de bloques. 4.6- Funciones definidas por el usuario 4.6.1- La programación modular. 4.6.2- Declaración y llamado de una función. 4.6.3- Transferencia de información por parámetros. 4,6,4- Retorno de valores, return. 4.6.5- Ambito de la declaración de las variables.. 4.6.6- El preprocesador, inclusión de archivos header. 4.6.7- Funciones recursivas. 4.6.8- Argumentos en línea. 4.7- Estructuras compuestas de datos. 4.7.1- Tipo apuntadores y direcciones. Operador & 4.7.2- Apuntadores y argumentos de funciones. 4.7.3- Expresiones con punteros. 4.7.4- Apuntadores y arreglos. 4.7.5- Apuntadores a apuntadores y funciones. 4.7.6- Arreglos [ ]. Dimensiones e índices. 4.7.7- Suplantación de arreglos por apuntadores. 4.7.8- Tipos de cadenas de caracteres. 4.7.9- estructuras, uniones y tipos definidos por el usuario. ANEXO XVII DE LA RESOLUCION N° UNIDAD 5: INTRODUCCIÓN AL LENGUAJE C++ 5.1- Propiedades DE encapsulamiento, herencia y polimorfismo C++. 5.2- Modelización mediante clases. 5.3- declaración de objetos y funciones miembros. 5.4- Constructores y destructores. 5.5- Control de acceso a los miembros. 5.6- Extensión de clases. Herencia múltiple. 5.7- Funciones virtuales. 5.8- Objetos dinámicos. 5.9- Sobrecarga de operadores. 5.10- Flujo de datos, streams. UNIDAD 6; PROCESAMIENTO DE LA INFORMACIÓN 6.1- Ordenación, búsqueda e intercalación en arreglos. 6.2- Conceptos sobre planillas de cálculo. 6.4- Introducción a la Ingeniería del Software. Distribución de la carga horaria Item Teórico Laboratorio Total Horas 14 70 84 ANEXO XVII DE LA RESOLUCION N°