Lectura obligatoria
Perfilado de sección
-
-
- LO-F-001. Tema 1: Introducción
(PDF).
Este primer tema se dedica a los conceptos computacionales básicos más relacionados con la arquitectura de los ordenadores, como su estructura física y funcional, la representación de datos, la aritmética del ordenador y los principios algebraicos fundamentales del diseño de circuitos. Se hace especial hincapié en las características específicas de los ordenadores personales al ser éstos la herramienta fundamental de la mayoría de los futuros ingenieros. Además se analizan las herramientas lógicas que permiten la comunicación con los elementos físicos del ordenador, como son: los programas, los lenguajes de programación de bajo y alto nivel y los sistemas operativos. - LO-F-002. Tema 2: Estructura de un
programa (PDF)
Uno de los objetivos de la programación estructurada es el incremento de la productividad en el desarrollo de programas, reduciendo de forma notable el tiempo requerido para escribir, verificar, depurar y mantener los programas. A continuación se introduce el lenguaje y el entorno integrado de TurboPascal como idóneo para la implementación de programas que siguen la programación estructurada. TurboPascal no es un solo un lenguaje derivado del Pascal estándar con nuevas y potentes características, sino que es un entorno en el que se integra un editor de texto para escribir programas fuente sin necesidad de salir del entorno, un compilador muy rápido que detecta los errores sintácticos en tiempo de compilación y un conjunto de herramientas para depurar y verificar la corrección del programa. Por otro lado se introduce la estructura de un programa en TurboPascal con la estructura fija que le caracteriza: un encabezamiento, una zona de declaraciones y el cuerpo principal del programa. La última parte del tema se focaliza en el concepto de identificador. - LO-F-003. Tema 3: Datos simples
(PDF)
En este capítulo se presentan los primeros elementos básicos de programación: los distintos tipos de datos que se pueden emplear en un programa en TurboPascal. Se comienza por distinguir entre constantes y variables y posteriormente se lleva a cabo una clasificación de los datos más simples según su naturaleza y formato de representación: integer, byte, real, boolean…
- LO-F-004. Tema 4: Operadores (PDF)
En este tema se presentan los siguientes elementos de la programación: las expresiones y los operadores. Se define el concepto de expresión y se continúa con el estudio de los distintos tipos de operadores: aritmético, de relación, boléanos y de bit. En el apartado final se analizan las reglas de prioridad de los operadores que se siguen en la evaluación de expresiones de todo tipo.
- LO-F-005. Tema 5: Sentencias (PDF)
En este capítulo se define el concepto de sentencia o instrucción en el código fuente de un programa y se describen las principales tipos de sentencias en TurboPascal. En concreto, las estructuras o sentencias de control se clasifican en sentencias selectivas o condicionales y las repetitivas o bucles. Dentro de las sentencias selectivas se destacan las estructuras if-then-else (bifucarción) y case-of (multiramificación). Dentro de los bucles se distinguen las sentencias for-to-do (bucle predeterminado), while-do (repetición con condición previa) y repeat-until (repetición con condición a posteriori).
- LO-F-006. Tema 6: Datos
estructurados (PDF)
A diferencia de los datos de tipo simple que sólo pueden almacenar un valor, los datos estructurados o estructuras de datos pueden recolectar varios valores simultáneamente. Se hace una primera introducción a los datos estructurados destacando en primer lugar que se les asigna una cantidad fija de memoria durante la ejecución del programa cuando se declara una variable de un determinado tipo estructurado. El primer tipo estructurado es el tipo array que permite agrupar otros datos más simples de igual tipo bajo un mismo identificador. Este tipo de estructuras permiten definir vectores, matrices, tablas y estructuras multidimensionales. TurboPascal incorpora un tipo especial de array: el tipo string. Se define como una secuencia de caracteres cuya longitud puede variar entre 1 y 255. El tipo record está compuesto de elementos de diferentes tipos a cada uno de los cuales se les asocia un identificador. Finalmente se analiza el tipo estructurado set equivalente al concepto de conjunto matemático y otros tipos de datos no simples.
- LO-F-007. Tema 7: Procedimientos y
Funciones (PDF)
En este tema se estudian las rutinas como elementos fundamentales para el desarrollo de algoritmos y programas. Una estrategia para la resolución de problemas complejos es su descomposición en otros más simples. Cada pequeño problema se resuelve mediante subprogramas o rutinas de forma que los programas pueden componerse de un programa principal y un conjunto de rutinas. En TurboPascal, existen dos tipos de rutinas: los procedimientos y las funciones. Se busca la familiarización del alumno con el diseño de rutinas y sus aspectos técnicos de implementación (tipo de rutina, número de parámetros o argumentos y su tipo, tipo de valor devuelto en el caso de las funciones). Se presta especial atención a los parámetros por valor y por variable y a los conceptos de identificadores globales y locales y su ámbito de utilización. A continuación se estudia el tratamiento de la recursividad y se finaliza repasando las rutinas predefinidas más importantes en TurboPascal.
- LO-F-008. Tema 8: Archivos (PDF)
Los datos estructurados vistos hasta ahora se denominan internos porque se almacenan en la memoria principal. Sin embargo, en ocasiones es preciso almacenar los datos de forma permanente en algún sistema de almacenamiento masivo. Los archivos o ficheros son el único tipo de estructura que permiten almacenar datos en estos dispositivos o memoria externa. Otra característica asociada a los ficheros es que su tamaño sólo está limitado por el espacio libre disponible en el dispositivo correspondiente. Se introducen los tipos de ficheros que pueden emplearse en TurboPascal: los archivos con tipo o de acceso aleatorio, los archivos de texto o secuenciales y los archivos sin tipo. La manipulación de estas estructuras se realiza mediante un conjunto de rutinas predefinidas: assign, reset, rewrite, read, write, close… La detección de errores en las operaciones de entrada y salida se efectúa mediante la función predefinida ioresult y de las directivas del compilador a las que se tiene acceso en el programa.
- LO-F-009. Tema 9: Unidades (PDF)
Una de las características más interesantes de las últimas versiones de TurboPascal es la posibilidad de descomponer un programa grande en módulos más pequeños que se pueden compilar de forma independiente. A estos módulos se les denomina unidades en TurboPascal y se definen como un conjunto de declaraciones de constantes, tipos de dato, variables, procedimientos y funciones. El concepto de unidad acentúa el carácter estructurado y modular de TurboPascal para el diseño de grandes programas. Las unidades tienen una estructura similar a la de un programa y consta de cuatro secciones: la cabecera, la sección de interfaz, la sección de implementación y la sección de inicialización. A continuación se detalla las características específicas de los procesos de creación, compilación y utilización de unidades.
- LO-F-010. Tema 10: Punteros y variables
dinámicas (PDF)
Este tema plantea la reserva dinámica de memoria y la referencia a variables a través de su dirección de memoria. Las técnicas de programación moderna exigen tratar con estructuras de datos dinámicas que, al contrario de las estáticas, se almacenan en áreas de la memoria de tamaño variable ya que su número crece o decrece en función de las necesidades del problema concreto. Se presentan las distintas partes en las que se organiza la memoria durante la ejecución de los programas: el segmento de código, el segmento de datos, el segmento de pila o stack y el segmento de montículo o heap. Es en este último segmento donde se reserva espacio en memoria para las variables dinámicas. La utilización de variables dinámicas se realiza a través de un tipo especial de variable denominado apuntador o puntero, que permite representar direcciones de memoria de un dato de un tipo determinado, y del procedimiento estándar new de TurboPascal. El tipo de variable dinámica especifica el espacio de memoria que se reserva para dicha variable al ejecutar la llamada al procedimiento new.
- LO-F-011. Tema 11: Listas (PDF)
Este capítulo se centra en la estructura lineal de tipo dinámico más general, estudiándose tanto su descripción (que se basará en el concepto de puntero) como las principales a realizar sobre ella. Se define una lista como una colección de elementos del mismo tipo entre los que existe una relación de orden determinada por la posición de dicho elemento. Cada uno de estos elementos consta de un campo que almacena la información contenida en el nodo. Dependiendo del tipo de lista que se trate, cada elemento tendrá, además uno o dos campos de tipo puntero que apuntarán a otros elementos de la lista. Así, en el caso de las listas dinámicas simplemente enlazadas existe un único puntero que apunta al siguiente elemento de la lista. En las listas doblemente enlazadas existe otro puntero adicional que apunta al elemento anterior de la lista. Las listas circulares tienen la propiedad de que su último enlaza con el primero de forma que se facilita el acceso a todos los elementos de la lista desde cualquiera de ellos. Los algoritmos considerados para cada una de estas estructuras de datos son los de creación de una lista vacía, recorrido, búsqueda de información e inserción y borrado de elementos, que se apoyarán en los recursos básicos de reserva y liberación dinámica de memoria.
- LO-F-001. Tema 1: Introducción
(PDF).
-