Introducción a C++: historia, características, aplicación en C++
¿Qué es y para qué sirve?
Imagina que le das órdenes a un robot. Si le dices "haz algo", se confundirá. Pero si le dices "gira a la izquierda, camina 5 pasos, levanta la mano", lo hará con precisión. C++ es un lenguaje con el que escribes instrucciones muy precisas para la computadora. Es como un set de LEGO: tú mismo ensamblas cada pieza, por lo que obtienes programas rápidos y potentes.
¿Por qué aprenderlo? Primero, en C++ funcionan juegos (como Minecraft), navegadores y naves espaciales. Segundo, te enseña a pensar como programador: entenderás cómo la computadora almacena números, cómo funciona la memoria. Es como saber no solo conducir un auto, sino también qué hay debajo del capó.
Incluso si eres principiante, C++ no es tan aterrador como parece. Empezaremos con las cosas más simples: cómo escribir "¡Hola, mundo!" y contar caramelos.
Sintaxis y ejemplos de código
La sintaxis son las reglas del lenguaje, como la gramática en español. En C++, cada comando termina con un punto y coma ; y los bloques de código se envuelven entre llaves {}. Veamos ejemplos prácticos.
Ejemplo 1: ¡Hola, mundo!
#include <iostream> // Incluimos la biblioteca para entrada/salida
using namespace std; // Para no escribir std:: antes de cout
int main() { // Función principal, aquí comienza el programa
cout << "¡Hola, mundo!" << endl; // Mostramos texto en pantalla
return 0; // Indicamos que el programa terminó correctamente
}
Cómo funciona: #include es como si tomáramos un conjunto de herramientas ya preparado. int main() es la puerta de entrada del programa. Dentro de {} escribimos los comandos. cout es la "máquina de escribir" que muestra texto. endl es un salto de línea.
Ejemplo 2: Contamos caramelos
#include <iostream>
using namespace std;
int main() {
int candies = 10; // Número entero: cantidad de caramelos
int friends = 3; // Cuántos amigos
int each = candies / friends; // Dividimos los caramelos equitativamente (división entera)
cout << "A cada uno le tocan " << each << " caramelos" << endl;
return 0;
}
Explicación: int es el tipo de dato para números enteros (como 10, 3). / es la división. Pero hay un detalle: si dividimos 10 entre 3, obtenemos 3, no 3.33, porque trabajamos con números enteros. ¡El resto (1 caramelo) se pierde, hay que tenerlo en cuenta!
Ejemplo 3: Adivina el número
#include <iostream>
using namespace std;
int main() {
int secret = 7; // Número secreto
int guess; // Variable para la respuesta del usuario
cout << "Adivina el número del 1 al 10: ";
cin >> guess; // Leemos el número que ingresa el usuario
if (guess == secret) { // Si adivinó
cout << "¡Ganaste!" << endl;
} else { // Si no
cout << "No adivinaste. Era " << secret << endl;
}
return 0;
}
Cosas nuevas: cin es el "micrófono" que escucha lo que ingresa el usuario. if es una verificación de condición. == es comparación (¡no confundir con =, que asigna un valor!). else significa "si no".
Ejemplo 4: Bucle — repetimos 5 veces
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) { // Inicio: i=1; condición: mientras i<=5; paso: i+1
cout << "Línea número " << i << endl;
}
return 0;
}
Cómo entenderlo: for es como "repite 5 veces". int i = 1 crea un contador. i <= 5 significa que mientras el contador no sea mayor que 5, seguimos. i++ aumenta el contador en 1 después de cada paso. Al final, veremos 5 líneas en pantalla.
Ejemplo 5: Función — tu propio ayudante
#include <iostream>
using namespace std;
// Creamos una función que saluda por nombre
void greet(string name) { // void — la función no devuelve nada
cout << "¡Hola, " << name << "!" << endl;
}
int main() {
greet("Ana"); // Llamamos a la función con el nombre "Ana"
greet("Pedro");
return 0;
}
Idea: Las funciones son como recetas. Escribes la receta greet una vez y luego la usas muchas veces. string es el tipo de dato para texto. Dentro de los paréntesis (string name) están los ingredientes que pasamos a la función.
Comparación con Python
Python es como el lenguaje coloquial: "Oye, computadora, haz esto". C++ es como un manual técnico: "Toma el registro AX, escribe 5 allí, realiza la suma". Comparemos con ejemplos.
| Tarea | C++ | Python |
|---|---|---|
| Mostrar texto | cout << "Hola"; |
print("Hola") |
| Ingresar un número | cin >> x; |
x = int(input()) |
| Condición | if (x > 0) { ... } |
if x > 0: ... |
| Bucle 5 veces | for (int i=0; i<5; i++) |
for i in range(5): |
| Función | void f(int a) { ... } |
def f(a): ... |
Diferencias principales:
- Punto y coma: En C++ son oblig