Conceptos Fundamentales de Programación: Estructuras, Algoritmos y Datos
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 10,13 KB
1. Tipos de Estructuras de Control
- Secuencial: Las instrucciones se ejecutan en el orden en que están escritas.
- Decisión: Permite seleccionar entre diferentes caminos basados en condiciones (ej.:
if
,switch
). - Repetición: Ejecuta un bloque de código varias veces (ej.:
for
,while
,do-while
).
2. Diferencias entre Estructuras de Datos Simples y Compuestas
- Simples: Contienen un solo dato por vez (ej.: variables escalares como enteros, flotantes).
- Compuestas: Agrupan varios datos relacionados (ej.: arreglos, registros, listas).
3. Clasificación de Estructuras Compuestas
- Homogéneas: Todos los elementos son del mismo tipo (ej.: arreglos, matrices).
- Heterogéneas: Los elementos pueden ser de diferentes tipos (ej.: registros).
4. Características de un Algoritmo
- Finito: Termina en un tiempo limitado.
- Preciso: Detalla los pasos a realizar.
- Definido: Produce el mismo resultado bajo las mismas condiciones.
5. Métodos de Ordenamiento
- Selección: Encuentra el elemento más pequeño y lo coloca en su posición final.
- Burbuja: Intercambia elementos adyacentes desordenados.
- Inserción: Inserta elementos en su posición correcta durante cada iteración.
6. Diferencias entre Pilas y Colas
- Pilas: Operan bajo el principio LIFO (Last-In, First-Out).
- Colas: Operan bajo el principio FIFO (First-In, First-Out).
7. Uso de Punteros
- Definición: Una variable que almacena la dirección de memoria de otra variable.
- Aplicaciones:
- Crear estructuras dinámicas como listas enlazadas.
- Manipular matrices y arreglos.
- Pasar parámetros por referencia en funciones.
8. Etapas del Diseño de Programas
- Definición del Problema: Identificar entrada, salida y restricciones.
- Diseño del Algoritmo: Crear una solución lógica paso a paso.
- Codificación: Traducir el algoritmo a un lenguaje de programación.
- Depuración: Identificar y corregir errores en el código.
- Documentación: Incluir comentarios y explicaciones sobre el programa.
9. Concepto y Ventajas de los Subprogramas
- Definición: Unidad de código reutilizable que realiza una tarea específica.
- Ventajas:
- Modularidad: Divide problemas complejos en partes pequeñas.
- Reutilización: Pueden ser usados en múltiples programas.
- Mantenimiento: Facilitan la modificación del código.
10. Aplicaciones de Archivos
- Cuando la RAM es insuficiente: Manejo de grandes volúmenes de datos.
- Persistencia de Datos: Guardar información para usarla en otro momento.
- Intercambio entre Programas: Salida de un programa que sirve como entrada a otro.
11. Características de los TAD (Tipos Abstractos de Datos)
- Encapsulamiento: Oculta la implementación interna.
- Reutilización: El código puede ser usado en diferentes programas.
- Independencia: Se pueden modificar sin afectar al resto del programa
12. Tipos de Archivos
- Secuenciales: Los registros se procesan uno tras otro, sin posibilidad de saltear.
- Indexados: Se accede directamente a los registros mediante un índice o clave.
- Particionados: Combinación de acceso secuencial e indexado, donde los registros están agrupados en subconjuntos.
13. Operaciones Básicas con Archivos
- Abrir: Prepara el archivo para lectura, escritura o ambas.
- Cerrar: Libera los recursos asociados al archivo después de procesarlo.
- Leer: Recupera datos desde el archivo.
- Grabar: Almacena datos en el archivo.
- Modificar: Cambia datos existentes en un archivo.
14. Estructuras de Datos Homogéneas
- Definición: Almacenan elementos del mismo tipo.
- Ejemplos:
- Vectores: Arreglos unidimensionales.
- Matrices: Arreglos bidimensionales organizados en filas y columnas.
15. Características de Vectores
- Definición: Conjunto finito y ordenado de elementos homogéneos.
- Propiedades:
- Tamaño fijo.
- Elementos almacenados en posiciones contiguas de memoria.
- Se acceden mediante un índice.
16. Matrices
- Definición: Estructura homogénea que organiza datos en una tabla de doble entrada.
- Acceso a Elementos: Se utiliza una combinación de índices para filas y columnas.
17. Variables
- Definición: Referencia a una celda de memoria que almacena un valor cambiante.
- Atributos:
- Nombre: Identificador único.
- Tipo de Datos: Conjunto de valores que puede almacenar.
- Tiempo de Vida: Duración durante la ejecución del programa.
- Alcance: Líneas del programa donde la variable es conocida.
18. Constantes
- Definición: Objetos cuyo valor no cambia durante la ejecución del programa.
- Declaración: Se define con un nombre y un valor fijo.
19. Lectura y Escritura en Memoria
- Lectura Destructiva: Almacena un nuevo valor en la variable, eliminando el valor anterior.
- Escritura no Destructiva: Transfiere el valor de la variable a un dispositivo externo, conservando el valor original.
20. Estructuras de Control Repetitivas
- Incondicionales: Se conoce de antemano el número de iteraciones (ej.: bucle
for
). - Condicionales: Las iteraciones dependen de una condición evaluada (ej.: bucle
while
).
21. Repetición Pre y Post-condicional
- Pre-condicional: Evalúa la condición antes de ejecutar el cuerpo del bucle (ej.:
while
). - Post-condicional: Ejecuta primero el cuerpo y luego evalúa la condición (ej.:
do-while
).
22. Registros
- Definición: Estructura de datos compuesta y heterogénea que agrupa elementos relacionados bajo un único nombre.
- Componentes:
- Campos: Elementos individuales con nombre y tipo.
23. Subprogramas
- Definición: Unidades de programa independientes que realizan tareas específicas.
- Tipos:
- Procedimientos: No devuelven valor.
- Funciones: Devuelven un único valor.
24. Parámetros
- Actuales: Valores enviados al subprograma en el momento de la invocación.
- Formales: Variables definidas en el subprograma para recibir los valores de los parámetros actuales.
25. Métodos de Búsqueda
- Secuencial: Recorrido completo del arreglo hasta encontrar el elemento deseado.
- Binaria: Divide el conjunto ordenado en mitades, buscando el elemento en una de ellas.
26. Características de TAD (Tipos Abstractos de Datos)
- Encapsulamiento: Los datos y las operaciones están ocultos de los usuarios.
- Interfaz de Usuario: Define qué operaciones se pueden realizar sobre el TAD.
27. Punteros
- Definición: Variables que almacenan la dirección de memoria de otra variable.
- Aplicación: Se utilizan para crear estructuras dinámicas como listas y árboles.
28. Pilas
- Definición: Estructura de datos LIFO donde el último elemento ingresado es el primero en salir.
- Operaciones:
- Apilar: Agregar un elemento.
- Desapilar: Retirar el último elemento.
29. Colas
- Definición: Estructura de datos FIFO donde el primer elemento ingresado es el primero en salir.
- Operaciones:
- Encolar: Insertar un elemento al final.
- Desencolar: Retirar el primer elemento.
30. Estructuras Dinámicas
- Definición: Estructuras que se crean y destruyen en tiempo de ejecución, como listas enlazadas.
- Ventaja: Uso eficiente de memoria, adaptándose a las necesidades del programa.
31. Tipos de Errores en un Programa
- Sintácticos: Violaciones a las reglas del lenguaje.
- Lógicos: El programa no produce el resultado esperado.
- De Ejecución: Fallos durante la ejecución, como acceso a memoria no válida.
32. Recursión
- Definición: Técnica donde una función se llama a sí misma.
- Componentes:
- Caso Base: Condición que detiene la recursión.
- Llamada Recursiva: Autoinvocación de la función con datos más simples.