FUNDAMENTOS DE PROGRAMACIÓN DE COMPUTADORES

Anuncio
FUNDAMENTOS DE PROGRAMACIÓN DE COMPUTADORES
_______________________________________________________________________
Año académico:
Centro:
Estudios:
Asignatura:
Código:
Ciclo:
Curso:
Cuatrimestre:
Carácter:
Créditos teóricos:
Créditos prácticos:
Profesor/es:
Área:
Departamento:
2003-2004
Facultad de Ciencias Experimentales
Ingeniero Químico
Fundamentos de programación de computadores
46991201
1º
1º
2º
Obligatoria
3
3
José Carlos Moreno Ubeda
Francisco Rodríguez Díaz
Ingeniería de Sistemas y Automática
Lenguajes y Computacion
_______________________________________________________________________
Coeficiente de experimentalidad del área: 2
_______________________________________________________________________
PROGRAMA DE LA ASIGNATURA FUNDAMENTOS DE PROGRAMACIÓN DE COMPUTADORES
Introducción y objetivos
La asignatura Fundamentos de programación de computadores se ha establecido como asignatura obligatoria de
universidad, contando con 6 créditos (3 de teoría y 3 de práctica) e impartiéndose en primer curso (segundo
cuatrimestre) de la titulación de Ingeniería Química. El programa propuesto cubre las necesidades informáticas
básicas de un ingeniero, dentro de las limitaciones de tiempo disponible: estructura básica de computadores,
sistemas operativos, compiladores, programación estructurada, etc. En la elaboración del programa se han tenido en
cuenta los programas de otras Escuelas de Ingenieros (fundamentalmente Escuelas de Ingeniería Química) del país.
El principal objetivo de esta asignatura es que el alumno se convierta en un desarrollador de programas (no sólo
usuario de programas comerciales) y sea capaz de resolver, utilizando un computador, los problemas que le surjan
en su período académico y posteriormente en su labor profesional. Además, otros objetivos fundamentales que se
persiguen con esta asignatura son:




Desarrollar la capacidad de abstracción como base para el análisis de problemas sencillos y el diseño posterior
de algoritmos que los resuelvan.
Conocer algoritmos que solucionen problemas clásicos y sus aplicaciones en el ámbito de la ingeniería.
Enseñar al alumno a programar en un lenguaje de alto nivel.
Introducir el manejo de un entorno de programación de un lenguaje de alto nivel para generar código ejecutable
correspondiente a los algoritmos diseñados para la resolución de problemas e interacción con el entorno.
PROGRAMA DE TEORÍA
Tema
1
2
3
4
5
Título
Introducción: conceptos generales de informática
Introducción a la programación estructurada
Estructuras de datos
Subprogramas
Archivos
Duración
4 horas
8 horas
8 horas
6 horas
4 horas
Desarrollo de las clases de teoría:
 Lugar: Horario:
1
Tema 1. Introducción: conceptos generales de informática
1.1 Informática, computadores, instrucciones y datos
1.2 Representación de la información
1.3 Estructura funcional de un computador y soporte físico
1.4 Soporte lógico
1.5 Programas y lenguajes de programación
1.6 Aplicaciones de la informática
Tema 2. Introducción a la programación estructurada
2.1 Datos y tipos de datos
2.2 Constantes y variables
2.3 Expresiones. Operaciones y reglas de prioridad
2.4 Funciones internas
2.5 Asignación. Tipos de asignación. Conversión de tipo
2.6 Resolución de problemas y algoritmos
2.7 Diseño de algoritmos. Herramientas
2.8 Representación de algoritmos: diagramas de flujo y pseudocódigo
2.9 Estructura general de un programa
2.10 Metodología y técnicas de programación
2.11 Programación estructurada
2.12 Estructuras básicas de control de programa
2.13 Ejemplos de diseño de algoritmos de aplicación en la Ingeniería Química
Tema 3. Estructuras de datos
3.1 Introducción a las estructuras de datos
3.2 Vectores
3.3 Tablas multidimensionales
3.4 Esquemas típicos de operación con vectores y tablas
3.5 Variables dinámicas. Punteros
3.6 Cadenas de caracteres
3.7 Ejemplos de uso de las estructuras de datos en Ingeniería Química
Tema 4. Subprogramas
4.1 Concepto de subprograma
4.2 Funciones
4.3 Procedimientos o subrutinas
4.4 Ámbito de las variables. Variables locales y globales
4.5 Paso de parámetros. Paso por valor o por referencia
4.6 Argumentos en la línea de comandos.
4.7 Introducción a la recursividad
4.8 Asignación dinámica de memoria.
4.9 Ejemplos de utilización de subprogramas en la Ingeniería Química
Tema 5. Archivos
5.1 Noción de archivos. Elementos
5.2 Archivo físico vs archivo lógico
5.3 Organización de archivos
5.4 Operaciones sobre archivos
5.5 Ejemplos de aplicación en Ingeniería Química
2
PRÁCTICAS DE LABORATORIO
En este apartado se propone un conjunto de prácticas de laboratorio que complementan la formación del alumno.
Estas prácticas están pensadas para que el alumno utilice las técnicas y métodos explicados en las clases teóricas y
de problemas, siendo por ello los enunciados paralelos al programa de la asignatura y relacionados con el ámbito de
la Ingeniería Química.
Desarrollo de las clases de prácticas:


Lugar: Edificio de Matemáticas e Informática. Laboratorio de Control Automático, Robótica y Visión Artificial
del Departamento de Lenguajes y Computación y eventualmente aulas de informática.
Horario: Martes, Miércoles, Jueves y Viernes de 11:00 a 13:00.
Módulo 1. Introducción. Sistemas operativos y principios de comunicaciones (4 horas)
Materiales: Computador personal con sistemas operativos MS-DOS y WINDOWS NT, cliente WEB NetScape
Navigator y WEBMAIL.
En este módulo se introducirá a los alumnos al manejo de un computador y periféricos asociados. Se estudian los
sistemas operativos de una forma práctica, particularizando para los sistemas operativos DOS y Windows NT,
analizando las ventajas de uso de una interfaz gráfica de usuario. Finalmente se realizará una descripción de las
técnicas básicas y manejo de las redes de comunicación. Concretamente se introducirá al alumno en una aplicación
para gestión de correo electrónico (WEBMAIL).
Módulo 2. Entorno de un lenguaje de programación de alto nivel (C) (2 horas)
Materiales: Computador personal con sistemas operativos MS-DOS y WINDOWS NT. Entorno de programación
en lenguaje C Borland C++.
En esta práctica el alumno se familiarizará con el uso de un entorno integrado de programación, mostrando la
forma de llevar a cabo un ciclo completo de desarrollo de software: cómo se ejecuta el entorno, descripción del
mismo, menú de gestión de archivos, edición, compilación, etc. (opciones del menú principal). Se realizará un
ejemplo completo de una sesión de trabajo.
Módulo 3. Programación de algoritmos en lenguaje C usando estructuras básicas de control (6 horas)
Materiales: Computador personal con sistemas operativos MS-DOS y WINDOWS NT. Entorno de programación
en lenguaje C Borland C++.
En este módulo se plantea el diseño, resolución y programación de distintos algoritmos de aplicación en ingeniería.
En todos los casos se planteará inicialmente el desarrollo del pseudocódigo correspondiente. Se desarrollará la
sintaxis del lenguaje C, haciendo énfasis en la utilización de estructuras básicas de control de flujo de programa.
Si se observa el plan de estudios de la titulación, en el primer cuatrimestre en primer curso, el alumno tiene una
serie de materias troncales donde se explican los mecanismos básicos de transferencia de materia y energía,
mecánica y dinámica de fluidos, resolución numérica de ecuaciones, etc. En ese sentido, y con la finalidad de
escoger ejemplos relacionados con la Ingeniería Química, se propondrá la programación de los ejemplos siguientes:
programa de cálculo de pH, resolución de la ecuación de los gases perfectos, resolución de ecuaciones de segundo
grado, conversión de escalas de temperaturas, método de los mínimos cuadrados, métodos numéricos de
integración, linealización por tramos de variables dependientes de la temperatura, etc.
3
Módulo 4. Implementación de programas en C que gestionen señales de entrada y salida al computador (2
horas)
Materiales: Computador personal con sistemas operativos MS-DOS y WINDOWS NT. Entorno de programación
en lenguaje C Borland C++. Tarjetas de E/S NI-DAQ A-823PGL. Sensores de temperatura, humedad
y radiación. Material electrónico de laboratorio. Leds, zumbadores, etc.
Una de las principales aplicaciones de los computadores en el ámbito de la ingeniería química consiste en la
monitorización de procesos. En este módulo se desarrollará e implementará un programa en lenguaje C que
obtenga medidas de sensores, calcule valores máximo, mínimo y media de las señales medidas y activen alarmas
visuales y sonoras en función de distintos parámetros de entrada.
Módulo 5. Implementación de programas en C utilizando estructuras de datos (6 horas)
Materiales: Computador personal con sistemas operativos MS-DOS y WINDOWS NT. Entorno de programación
en lenguaje C Borland C++. Tarjetas de E/S NI-DAQ A-823PGL. Sensores de temperatura.
Módulo similar al anterior, pero con la particularidad de que se hará énfasis en la implementación y uso de tablas,
registros y estructuras dinámicas. Se desarrollará e implementará un programa en lenguaje C que mida
temperaturas en distintos puntos de una lámina metálica y calcule la distribución de temperaturas sobre su
superficie.
Módulo 6. Implementación de programas utilizando subprogramas con lenguaje C (6 horas)
Materiales: Computador personal con sistemas operativos MS-DOS y WINDOWS NT. Entorno de programación
en lenguaje C Borland C++. Tarjetas de E/S NI-DAQ A-823PGL. Sensores de temperatura, humedad
y radiación. Motores DC Kelvin modelo 2332. Material electrónico de laboratorio. Leds, zumbadores,
etc
En este caso se incidirá en la programación modular y el uso de subprogramas. Se desarrollarán e implementarán
dos ejemplos en lenguaje C que permitan reutilizar módulos de programa desarrollados por el alumno previamente
(módulo 4 y 5): cálculo de la temperatura de una determinada disolución en un reactor tipo tanque agitado continuo
por un motor y planificación y análisis del coste de producción de dos reactores químicos.
Módulo 7. Implementación de programas utilizando archivos (4 horas)
Materiales: Computador personal con sistemas operativos MS-DOS y WINDOWS NT. Entorno de programación
en lenguaje C Borland C++. Tarjetas de E/S NI-DAQ A-823PGL. Sensores de temperatura, humedad
y radiación
Práctica orientada a la utilización de archivos de texto y binarios. En este caso, se desarrollarán e implementarán
dos programas que permitan: (1) almacenamiento en archivos de texto de datos climáticos obtenidos mediante una
tarjeta de E/S y análisis estadístico posterior de los mismos y (2) seleccionar propiedades de los elementos de la
tabla periódica incluidas en un archivo.
BIBLIOGRAFÍA BÁSICA












P. Anasagasti, Fundamentos de los computadores. Paraninfo, 1990.
G. Beekman. Computación e informática hoy. Addison-Wesley Iberoamericana, 1995.
J. Biondi y G. Clavel. Introducción a la programación 1, 2. Masson 1985.
P. Bishop, Conceptos de informática. Anaya multimedia, 1994.
P. Dax. Lenguaje C. Paraninfo, 1997.
G. Fernández y F. Sáez Vacas. Fundamentos de los ordenadores. ETSI de Telecomunicación, Madrid, 1985.
B. Gottfried. Programación en C. McGraw-Hill, 1997.
L. Joyanes Aguilar. Fundamentos de programación: Algoritmos y estructura de datos. McGraw Hill, 1998.
B. Kernighan y D. Ritchie, El lenguaje de programación C. Prentice-Hall
A. Prieto, A. Lloris y J.C. Torres. Introducción a la informática. McGraw Hill, 1995.
H. Schildt. Programación en Turbo C. McGraw-Hill, 1997.
N. Wirth. Algoritmos y Estructuras de Datos. Prentice-Hall, 1987.
4
Planificación temporal
TEORÍA
Tema 1.- Introducción (4h)
Tema 2.- Estructuras Básica de un programa (8h)
Tema 3.- Estructuras de Datos (8h)
Tema 4.- Subprogramas (6h)
Tema 5.- Archivos (4h)
PRÁCTICA
Práctica SSOO (4h)
Práctica BC++ (2h)
Práctica Estructuras Básicas de Control (6h)
Práctica Estructuras de Datos (6h)
Práctica de E/S (2h)
Práctica de Subprogramas (6h)
Práctica de Archivos (4h)
5
Descargar