Repaso de Programación I (P1 → P2)
Introducción
Antes de empezar con los contenidos nuevos de Programación II, vamos a hacer un repaso rápido de los conceptos fundamentales que ya viste en Programación I (C).
En esta sección encontrarás, para cada tema:
- una breve explicación de qué se trabajaba en P1,
- ejemplos reales (o muy similares) a los que hiciste en P1 en C,
- y, justo debajo, una posible versión equivalente en C++, que es el lenguaje que utilizaremos en P2.
La idea no es memorizar “dos lenguajes”, sino entender que muchas ideas son las mismas (variables, control de flujo, funciones, estructuras de datos…), y lo que cambia es sobre todo:
- la forma de entrada/salida (
printf/scanf→std::cout/std::cin), - el uso de librerías estándar más modernas (
std::string,std::vector,std::array,std::fstream), - y una gestión de memoria más segura y cómoda en C++ (evitando
malloc/freecuando se pueda).
Por supuesto, C++ introduce otras características que veremos a lo largo del curso y que no se incluían en el lenguaje C.
Temas incluidos en el repaso
En el índice de la izquierda verás los siguientes apartados:
-
Tipos simples
Variables básicas y salida por pantalla. Introducción a<cstdint>cuando interesa tamaño fijo (std::int32_t,std::uint32_t, etc.). -
Bucles
for,while,do-while, validación de entrada y patrones típicos de repetición. -
Programación modular
Uso de funciones para evitar duplicación, mejorar legibilidad y mantener el código. -
Arrays
Vectores y matrices en C y su equivalente natural en C++ constd::vector/std::array. -
Registros
structy composición (structs anidados), además de colecciones encapsuladas. -
Punteros y memoria dinámica
Repaso de punteros,malloc/realloc/freey alternativas modernas en C++ (std::vector,std::string). -
Ficheros
Lectura/escritura en texto y binario (FILE*en C yfstreamen C++). -
Recursividad
Casos base y recursivos sobre arrays, números y cadenas.