Fundamentos de Programación
Domina las bases con aprendizaje interactivo y gamificado.
Bloque 1: Lógica y Algoritmos
Ciclo de Vida (Resolución)
Es como construir una casa: no podrías poner las ventanas sin antes tener los planos y los cimientos.
Ordena las fases arrastrándolas para que el Análisis (planos) esté antes que la Codificación (ventanas).
El SDLC (Ciclo de Vida de Desarrollo de Software) asegura calidad mediante etapas secuenciales.
Pila de Llamadas (Recursión)
Como las Matrioskas rusas: cada muñeca contiene otra igual, hasta llegar a la más pequeña.
Añade llamadas (muñecas). Luego activa el 'Caso Base' para llegar a la más pequeña y retornar los resultados.
La recursión utiliza el **Stack**. Sin un caso base, ocurre un **Stack Overflow**.
Ordenamiento Burbuja
Imagínate una fila de personas que se intercambian si no están en orden de altura.
Compara a los vecinos usando ↔ e intercámbialos hasta que el número más grande esté a la derecha.
Algoritmo **O(n²)** que compara y desplaza elementos adyacentes.
Estructuras Anidadas
Es como una cebolla: para llegar al centro, debes atravesar todas las capas externas.
Selecciona el cierre `}` correcto para cada bloque: recuerda que la capa más interna se cierra primero.
El **Scope** se determina por bloques `{ }`. Los internos se resuelven antes que los contenedores.
Bloque 2: Estructuras de Datos
Matrices (2D)
Como un mapa de asientos: cada asiento está en una fila y una columna específica.
Haz clic en la cuadrícula para encontrar el barco. Guíate por las coordenadas [fila][columna].
Estructuras de datos indexadas por dos ejes. Acceso por **A[i][j]**.
Strings (Concatenación)
Es como un tren: cada palabra es un vagón y la concatenación es el enganche.
Escribe el "espacio" correctos en el campo central para unir los vagones 'Hola' y 'Mundo'.
Las cadenas son arreglos de caracteres. La concatenación une sus longitudes.
TDA (Abstracción)
Conducir un auto: giras el volante sin saber exactamente cómo se mueven los ejes.
Pulsa los botones del control. Observa cómo el 'Sistema' reacciona sin que veas su compleja lógica interna.
Implementación Oculta
La Abstracción oculta la **complejidad** y solo expone la **interfaz** necesaria.
Bloque 3: Sistemas y Entorno
Ciclo Biario
Traducir un libro entero (compilar) vs tener un traductor en vivo (interpretar).
Primero 'Compila' para traducir el código a binario, luego pulsa 'Ejecutar' para que el CPU lo entienda.
El compilador genera un binario ejecutable del código fuente completo.
Scope (Ámbito)
Lo que pasa en Las Vegas, se queda en Las Vegas: algunas variables no existen fuera de casa.
Mueve la variable 'x' de la caja Global a la Función A para ver cómo cambia su visibilidad.
Región del código donde una variable es accesible (**Global vs Local**).
Archivos (Texto vs Binario)
Las notas de una partitura son el código que los instrumentos convierten en sonido real.
Escribe en el 'Editor' y observa cómo el 'Escáner' traduce cada letra a bits en tiempo real.
Todo archivo es binario. El **Texto** es solo una interpretación visual (ASCII/UTF-8).