Operaciones aritméticas en C#
¿Qué es y para qué sirve?
Imagina que estás jugando un videojuego. Tienes 5 vidas. Superas un nivel y encuentras un botiquín que te da +3 vidas. ¿Cuántas vidas tienes ahora? Correcto, 8. Esto es una operación aritmética: la suma.
En programación, como en la vida, constantemente necesitamos calcular algo: cuántos puntos ganó el jugador, cuánto dinero queda en la cuenta, cuántos días faltan para Año Nuevo. Las operaciones aritméticas son acciones matemáticas básicas (suma, resta, multiplicación, división) que la computadora puede realizar al instante.
¿Por qué es importante saber esto? Si quieres crear juegos, calculadoras, programas para controlar gastos o incluso chatbots simples, tendrás que usar aritmética constantemente. Una computadora sin ella es como una calculadora sin botones: un pedazo de metal inútil.
Sintaxis y ejemplos de código
En C#, las operaciones aritméticas se ven casi igual que en matemáticas. Estos son los signos básicos:
+— suma-— resta*— multiplicación (asterisco, no una equis)/— división (barra inclinada)%— módulo (resto de la división) (¿aún no lo entiendes? Pronto lo veremos)
Veamos algunos ejemplos. Imagina que estamos escribiendo un programa para calcular el dinero de bolsillo de un estudiante.
// Ejemplo 1: Sumamos dinero
int pocketMoney = 500; // Pedro tenía 500 rublos
int giftFromGrandma = 200; // La abuela le dio 200 más
int totalMoney = pocketMoney + giftFromGrandma; // Sumamos
Console.WriteLine("Pedro ahora tiene: " + totalMoney + " rublos");
// Salida: Pedro ahora tiene: 700 rublos
Aquí creamos dos variables (celdas de memoria) con números, las sumamos y guardamos el resultado en una tercera variable. Todo como en matemáticas: 500 + 200 = 700.
// Ejemplo 2: Restamos gastos
int money = 1000; // Tenía mil
int iceCreamPrice = 150; // El helado cuesta 150
int remaining = money - iceCreamPrice; // Restamos
Console.WriteLine("Quedan: " + remaining + " rublos");
// Salida: Quedan: 850 rublos
Aquí restamos el precio del helado del dinero disponible. La computadora lo hace en una microsegundo.
// Ejemplo 3: Multiplicamos (¿cuánto dinero en una semana?)
int dailyAllowance = 100; // 100 rublos por día
int daysInWeek = 7;
int weeklyTotal = dailyAllowance * daysInWeek; // Multiplicamos
Console.WriteLine("En una semana se acumularán: " + weeklyTotal + " rublos");
// Salida: En una semana se acumularán: 700 rublos
La multiplicación es simplemente una suma repetida. En lugar de escribir 100+100+100+100+100+100+100, escribimos 100 * 7. Práctico, ¿verdad?
// Ejemplo 4: Dividimos (¿cuántos para cada amigo?)
int totalCandies = 20; // 20 caramelos
int friends = 4; // 4 amigos
int candiesPerFriend = totalCandies / friends; // Dividimos
Console.WriteLine("A cada amigo le tocan: " + candiesPerFriend + " caramelos");
// Salida: A cada amigo le tocan: 5 caramelos
La división funciona normalmente, pero hay un truco: si divides números enteros, el resultado también será entero. 20 / 4 = 5, todo bien. ¿Y si es 20 / 3? Será 6, no 6.666... Porque estamos trabajando con números enteros (int). Para números decimales se usa double o float.
// Ejemplo 5: Módulo (resto de la división) (¿quién sobra?)
int totalCandies = 20;
int friends = 3;
int remainder = totalCandies % friends; // % es el módulo
Console.WriteLine("Sobrarán: " + remainder + " caramelos");
// Salida: Sobrarán: 2 caramelos
El operador % (porcentaje) en realidad no es porcentaje, sino el resto de la división. 20 dividido entre 3 da 6 enteros y un resto de 2. Este operador es muy útil para verificar si un número es par o impar (si numero % 2 == 0, entonces es par).
Comparación con Python
Python es otro lenguaje de programación popular. En él, la aritmética se ve muy similar, pero hay un par de diferencias. Comparemos:
| Operación | C# | Python |
|---|---|---|
| Suma | int a = 5 + 3; |
a = 5 + 3 |
| Resta | int b = 10 - 4; |
b = 10 - 4 |
| Multiplicación | int c = 6 * 7; |
c = 6 * 7 |
| División | double d = 10.0 / 3; (necesita punto decimal) |
d = 10 / 3 (en Python 3 da 3.333...) |
| Módulo | int e = 10 % 3; |
e = 10 % 3 |
| Potencia | double f = Math.Pow(2, 3); (a través de Math) |
f = 2 ** 3 (simplemente **) |
Diferencias principales:
- En C# debes especificar el tipo de variable (int, double), en Python no.
- En C#, la división de enteros da un resultado entero (10 / 3 = 3), en Python 3 da un resultado decimal (10 / 3 = 3.333...).
- En C#, para la potencia debes llamar a una función especial Math.Pow, en Python hay un operador simple **.
- En C#, cada comando termina con punto y coma (;), en Python no.
Ejemplo en Python para comparar:
# Versión en Python
pocket_money = 500
gift = 200
total = pocket_money + gift
print("Pedro ahora tiene:", total, "rublos")
# Salida: Pedro ahora tiene: 700 rublos
Como ves, la lógica es la misma, pero la sintaxis es más simple (sin int, sin ;). Sin embargo, C# da más control sobre los tipos de datos, lo que ayuda a evitar errores en programas grandes.
Errores típicos de principiantes
Cuando recién empiezas, los errores son normales. Estas son las trampas más comunes:
- Olvidar el punto y coma
int x = 5— ¡error! Se necesita: