203 lines
4.2 KiB
Markdown
203 lines
4.2 KiB
Markdown
# Bloque 2 – Tema 3
|
||
## Tipos abstractos y estructuras de datos. Organizaciones de ficheros. Algoritmos. Formatos de información y ficheros.
|
||
|
||
---
|
||
|
||
## Introducción
|
||
|
||
Este tema introduce los **conceptos fundamentales de programación y tratamiento de la información**, desde un punto de vista **teórico y abstracto**.
|
||
En TAI **no se pregunta código**, sino **definiciones, clasificaciones y conceptos básicos**.
|
||
|
||
Es un tema típico de:
|
||
- Preguntas conceptuales.
|
||
- Confusiones terminológicas.
|
||
- Verdadero/Falso.
|
||
|
||
---
|
||
|
||
## 1. Tipos abstractos de datos (TAD)
|
||
|
||
### 1.1. Concepto de tipo abstracto de datos
|
||
|
||
Un **tipo abstracto de datos (TAD)** es una **definición lógica** de un conjunto de datos y de las **operaciones** que se pueden realizar sobre ellos, **sin especificar su implementación**.
|
||
|
||
> Idea clave de examen:
|
||
> Un TAD define **qué hace**, no **cómo se hace**.
|
||
|
||
---
|
||
|
||
### 1.2. Características de los TAD
|
||
|
||
- Abstracción.
|
||
- Independencia de la implementación.
|
||
- Encapsulación de datos y operaciones.
|
||
|
||
Ejemplos de TAD:
|
||
- Pila.
|
||
- Cola.
|
||
- Lista.
|
||
|
||
#### Miniresumen
|
||
- TAD = datos + operaciones.
|
||
- No define la implementación.
|
||
|
||
---
|
||
|
||
## 2. Estructuras de datos
|
||
|
||
### 2.1. Concepto de estructura de datos
|
||
|
||
Una **estructura de datos** es la **forma concreta** de organizar y almacenar datos en memoria para facilitar su acceso y modificación.
|
||
|
||
> Diferencia clave:
|
||
> TAD → concepto abstracto.
|
||
> Estructura de datos → implementación concreta.
|
||
|
||
---
|
||
|
||
### 2.2. Clasificación de las estructuras de datos
|
||
|
||
Según su organización:
|
||
|
||
- **Lineales**
|
||
- **No lineales**
|
||
|
||
---
|
||
|
||
### 2.3. Estructuras de datos lineales
|
||
|
||
- **Arrays (vectores)**.
|
||
- **Listas**.
|
||
- **Pilas (LIFO)**.
|
||
- **Colas (FIFO)**.
|
||
|
||
| Estructura | Característica |
|
||
|----------|----------------|
|
||
| Pila | Último en entrar, primero en salir |
|
||
| Cola | Primero en entrar, primero en salir |
|
||
|
||
---
|
||
|
||
### 2.4. Estructuras de datos no lineales
|
||
|
||
- **Árboles**.
|
||
- **Grafos**.
|
||
|
||
#### Miniresumen
|
||
- Las estructuras organizan datos.
|
||
- Lineales y no lineales.
|
||
- Pila = LIFO, Cola = FIFO.
|
||
|
||
---
|
||
|
||
## 3. Organizaciones de ficheros
|
||
|
||
### 3.1. Concepto de fichero
|
||
|
||
Un **fichero** es un conjunto de **registros relacionados**, almacenados en un soporte, identificado por un nombre.
|
||
|
||
---
|
||
|
||
### 3.2. Tipos de organización de ficheros
|
||
|
||
Según el acceso:
|
||
|
||
- **Secuencial**.
|
||
- **Directo o aleatorio**.
|
||
- **Indexado**.
|
||
|
||
| Organización | Característica |
|
||
|------------|----------------|
|
||
| Secuencial | Acceso en orden |
|
||
| Directo | Acceso directo |
|
||
| Indexado | Usa índices |
|
||
|
||
---
|
||
|
||
### 3.3. Registros y campos
|
||
|
||
- **Campo**: unidad mínima de información.
|
||
- **Registro**: conjunto de campos relacionados.
|
||
- **Fichero**: conjunto de registros.
|
||
|
||
#### Miniresumen
|
||
- Fichero = registros.
|
||
- Registro = campos.
|
||
- Organización define el acceso.
|
||
|
||
---
|
||
|
||
## 4. Algoritmos
|
||
|
||
### 4.1. Concepto de algoritmo
|
||
|
||
Un **algoritmo** es un **conjunto finito y ordenado de instrucciones** que permite resolver un problema.
|
||
|
||
---
|
||
|
||
### 4.2. Características de los algoritmos
|
||
|
||
Un algoritmo debe ser:
|
||
- **Finito**.
|
||
- **Preciso**.
|
||
- **Definido**.
|
||
|
||
---
|
||
|
||
### 4.3. Representación de algoritmos
|
||
|
||
Formas habituales:
|
||
- Lenguaje natural.
|
||
- Pseudocódigo.
|
||
- Diagramas de flujo.
|
||
|
||
> En TAI **no se pide programar**, solo identificar conceptos.
|
||
|
||
#### Miniresumen
|
||
- Algoritmo = pasos ordenados.
|
||
- Debe ser finito y preciso.
|
||
|
||
---
|
||
|
||
## 5. Formatos de información y ficheros
|
||
|
||
### 5.1. Concepto de formato de fichero
|
||
|
||
Un **formato de fichero** define la **estructura y codificación** de los datos almacenados en un archivo.
|
||
|
||
---
|
||
|
||
### 5.2. Tipos de formatos
|
||
|
||
Según su naturaleza:
|
||
|
||
- **Formatos de texto**.
|
||
- **Formatos binarios**.
|
||
|
||
---
|
||
|
||
### 5.3. Formatos más habituales
|
||
|
||
Ejemplos:
|
||
- Texto: TXT, CSV, XML, JSON.
|
||
- Binarios: PDF, DOCX, XLSX, JPG.
|
||
|
||
> Clave de examen:
|
||
> Texto → legible.
|
||
> Binario → no legible directamente.
|
||
|
||
#### Miniresumen
|
||
- El formato define cómo se almacenan los datos.
|
||
- Texto y binario son la clasificación básica.
|
||
|
||
---
|
||
|
||
## Miniresumen final del tema
|
||
|
||
- TAD define datos y operaciones de forma abstracta.
|
||
- Las estructuras de datos son implementaciones concretas.
|
||
- Existen estructuras lineales y no lineales.
|
||
- Los ficheros organizan registros y campos.
|
||
- Un algoritmo es finito y ordenado.
|
||
- Los formatos definen la estructura de los archivos.
|