FUNDAMENTOS DE PROGRAMACIÓN DE COMPUTADORES

_______________________________________________________________________

Año académico: 1999-00

Centro: Facultad de Ciencias Experimentales

Estudios: Ingeniero Químico

Asignatura: Fundamentos de programación de computadores

Ciclo: 1º

Curso: 1º

Cuatrimestre:

Carácter: Obligatoria

Créditos teóricos: 3

Créditos prácticos.: 3

Profesor/es: Manolo Berenguel Soria

Francisco Rodríguez Díaz

Área: Ingeniería de Sistemas y Automática

_______________________________________________________________________

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.

Los objetivos fundamentales que se persiguen con esta asignatura son:

En la asignatura se van a tratar temas relacionados con la estructura básica de los computadores, sistemas operativos, compiladores, programas de aplicaciones, programación estructurada, etc.

PROGRAMA DE TEORÍA

El programa que se propone, se pretende que cubra las necesidades básicas informáticas de un ingeniero, dentro de las limitaciones de tiempo disponible. Asimismo, para 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.

Tema

Título

Duración

1

Introducción

6 horas

2

Elementos básicos de la programación imperativa

3 horas

3

Herramientas para el diseño de algoritmos

4 horas

4

Estructura general de un programa

2 horas

5

Metodología de la programación

4 horas

6

Subprogramas: procedimientos y funciones

3 horas

7

Estructuras simples de datos. Arrays. Registros

4 horas

8

Estructuras no acotadas. Archivos. Variables dinámicas

4 horas

Tema 1. Introducción

1.1 Estructura básica de los computadores. Sistemas de procesamiento de la información

1.2 Resolución de problemas con computadores

1.3 Conceptos de programas y algoritmos

1.4 Lenguajes de programación

1.5 Modelos abstractos de cómputo

1.6 Metodología de la programación

Tema 2. Elementos básicos de la programación imperativa

2.1 Datos y tipos de datos

2.2 Constantes

2.3 Variables

2.4 Expresiones. Operaciones y reglas de prioridad

2.5 Funciones internas

2.6 Asignación. Tipos de asignación. Conversión de tipo

Tema 3. Herramientas para el diseño de algoritmos

3.1 Resolución de problemas y algoritmos

3.2 Diseño de algoritmos. Herramientas

3.3 Especificación formal

3.4 Representación gráfica de algoritmos. Diagramas de flujo

3.5 Pseudocódigo. Propuesta de notación

3.6 Ejemplos: representación de algunos algoritmos aplicados a los procesos químicos

Tema 4. Estructura general de un programa.

4.1 Revisión concepto de programa

4.2 Partes de un programa

4.3 Tipos de instrucciones

4.4 Elementos básicos de un programa

4.5 Estructura general de un programa

4.6 Ejemplos de escritura de programas/algoritmos aplicados a los procesos químicos

Tema 5. Metodología de la programación.

5.1 Técnicas de programación

5.2 Programación modular. Descomposición en subproblemas

5.3 Programación estructurada

5.3.1 Concepto general

5.3.2 Recursos abstractos

5.3.3 Diseño descendente

5.3.4 Estructuras básicas

5.4 Estructura secuencial

5.5 Estructuras de selección

5.6 Estructuras de repetición

5.7 Estructuras anidadas

5.8 Aspectos de estilo básicos

5.9 Ejemplos de diseño de algoritmos sencillos de aplicación en la Ingeniería Química

Tema 6. Subprogramas: procedimientos y funciones.

6.1 Concepto de subprograma. Justificación y utilidad

6.2 Funciones

6.3 Procedimientos o subrutinas

6.4 Ambito de las variables. Variables locales y globales

6.5 Paso de argumentos. Paso por valor o por referencia

6.6 Problemas de uso. Redefinición. Efectos secundarios. Doble referencia

6.7 Introducción a la recursividad

6.8 Ejemplos de utilización de subprogramas en la Ingeniería Química

Tema 7. Estructuras simples de datos. Tablas. Registros.

7.1 Introducción a las estructuras de datos. Justificación

7.2 Vectores

7.3 Tablas multidimensionales

7.4 Esquemas típicos de operación con vectores y tablas

7.5 Cadenas de caracteres. Concepto

7.6 Datos tipo carácter

7.7 Operaciones con cadenas

7.8 Registros. Concepto

7.9 Uso de los registros

7.10 Estructuras combinadas

7.11 Ejemplos de uso de las estructuras simples de datos para la Ingeniería Química

Tema 8. Estructuras no acotadas. Archivos. Variables dinámicas.

8.1 Concepto de estructuras no acotadas

8.2 Noción de archivos. Elementos

8.3 Archivo físico vs archivo lógico

8.4 Organización de archivos

8.5 Operaciones sobre archivos

8.6 Introducción a las variables dinámicas

8.7 Punteros

8.8 Estructuras dinámicas construidas mediante punteros

8.9 Introducción al uso de las variables dinámicas

8.10 Ejemplos de aplicación en Ingeniería Química

 

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.

Módulo 1. Introducción (4 horas).

Materiales: Computador personal con sistemas operativos MS-DOS, WINDOWS NT y posibilidad de conexión a servidor UNIX

En este módulo se introducirá a los alumnos al manejo de un computador, periféricos asociados, arranque de un entorno DOS y Windows NT, conexión a servidor UNIX, etc. Como se observa, este módulo introductorio está orientado a alumnos que no hayan manejado un computador con frecuencia.

Módulo 2. Introducción al Sistema Operativo MS-DOS, WINDOWS NT y UNIX (4 horas).

Materiales: Computador personal con sistemas operativos MS-DOS, WINDOWS NT y posibilidad de conexión a servidor UNIX

En este módulo se estudian los sistemas operativos de una forma práctica, particularizando para los sistemas operativos DOS y UNIX. Para ello se realizará un programa básico, de forma que el alumno maneje el editor del sistema, el compilador, creación de directorios, etc., de modo que se estudian las órdenes básicas para que el alumno pueda realizar las prácticas en las aulas centrales del centro de informática.

Módulo 3. Entorno de un lenguaje de programación de alto nivel (C) (4 horas).

Materiales: Computador personal con sistemas operativos MS-DOS, WINDOWS NT y posibilidad de conexión a servidor UNIX. Entorno de programación en lenguaje C Turbo C, Borland C++ o similar (el que se instale en las aulas centrales de informática).

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, describiendo el 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 4. Diseño de algoritmos con diagramas de flujo y pseudocódigo ( 2 horas).

En este módulo se planteara el diseño y resolución de un algoritmo para que el alumno desarrolle el diagrama de flujo y pseudocódigo correspondientes. Las distintas soluciones se discutirán al final del módulo de prácticas en pizarra.

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 pueden proponer tanto en las sesiones de teoría como en las de laboratorio la realización y posterior programación de algoritmos relacionados con la titulación. Se podrían por ejemplo establecer algoritmos que permitan simular la transferencia de energía en un intercambiador de calor elemental, evolución del nivel en un tanque de almacenamiento etc. Los ejemplos por fuerza deben ser sencillos, porque la asignatura donde el alumno aprende ecuaciones diferenciales es de segundo curso.

Módulo 5. Sintaxis de C (4 horas).

Materiales: Computador personal. Entorno de programación en lenguaje C.

En este módulo se irá practicando con diversos comandos del lenguaje C, realizando programas sencillos que el alumno deberá compilar y ejecutar.

Módulo 6. Implementación de programas utilizando subprogramas con lenguaje C (4 horas).

Materiales: Computador personal. Entorno de programación en lenguaje C.

Módulo similar al anterior, pero con la particularidad que se hará énfasis en la programación modular y el uso de subprogramas.

Módulo 7. Implementación de programas en C utilizando tablas y registros (4 horas).

Materiales: Computador personal. Entorno de programación en lenguaje C.

Módulo similar al anterior, pero con la particularidad que se hará énfasis en la implementación y uso de tablas y registros.

Módulo 8. Implementación de programas en C utilizando estructuras dinámicas (4 horas).

Materiales: Computador personal. Entorno de programación en lenguaje C.

Módulo similar al anterior, pero con la particularidad que se hará énfasis en la utilización de estructuras dinámicas.

BIBLIOGRAFÍA BÁSICA