- 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.