(Creado por el analista de sistemas y docente Leonel Iván Saafigueroa)
LAS TABLAS DE MULTIPLICAR
Aprender las tablas de multiplicar ayuda en el desenvolvimiento de los alumnos en el área de las matemáticas, en esta clase veremos la forma de crear un programa que ayude a memorizarlas.

Es importante que las tablas de multiplicar se aprendan por repetición, si bien podemos aprender la mitad de memoria y hacer ciertos cálculos mentales para poder calcular el resto, lo cierto es que la mejor forma es practicarlas individualmente y luego todas juntas al azar.

Vamos a crear un programa basado en la función aleatorio y utilizar un condicional para hacer una corrección automática de la respuesta del usuario:

En esta primera versión del programa se utilizará una constante t en donde asignaremos la tabla de multiplicar a practicar; también haremos uso de tres variables: b será utilizada para almacenar un número aleatorio del 1 al 10, la variable resultado guardará el resultado de t por b, por último, el ingreso del usuario se guardará en la variable respuesta.
Analizamos el código
Algoritmo tablas // Para practicar la tabla del 2. t <- 2 b <- aleatorio(1,10) resultado <- t*b Escribir 'Cuánto es ', t, ' X ', b, '?' Leer respuesta Si respuesta=resultado Entonces Escribir 'Muy bien!' SiNo Escribir 'Incorrecto... La respuesta es: ', resultado FinSi FinAlgoritmo
Ejecutamos el programa
Veamos el código en C++:
// LAS TABLAS DE MULTIPLICAR. PRACTICANDO LA DEL 2.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int t=2;
int b;
int resultado;
int respuesta;
int main()
{
srand(time(NULL)); // Iniciamos la semilla random con la hora.
b = (rand() % 10)+1; // Genera un valor entre 1 y 10.
resultado = b * t;
cout << "Cuanto es " << t << " X " << b << " ? ";
cin >> respuesta;
if(respuesta==resultado)
{
cout << "Muy bien!" << endl;
}
else
{
cout << "Incorrecto... La respuesta correcta es: " << resultado << endl;
}
return 0;
}
Vamos a analizar línea por línea este código en C++:
Línea 1: // LAS TABLAS DE MULTIPLICAR. PRACTICANDO LA DEL 2.
- Este es un comentario de una sola línea, indicando que el programa está diseñado para practicar la tabla de multiplicar del 2.
Línea 2-3: #include <iostream> #include <cstdlib>
- Estas son las declaraciones de inclusión de dos bibliotecas estandares de C++:
iostreamproporciona funciones para leer y escribir datos desde la entrada y salida estándar (consola). Ycstdlibproporciona funciones para generar números aleatorios con la funciónrand().
Línea 4: #include <ctime>
- Esta es la declaración de inclusión de la biblioteca estandar de C++ que proporciona funciones relacionadas con el tiempo y la fecha.
Línea 6: using namespace std;
- Esta línea utiliza un nombre espacioso para acceder a las clases y funciones de la biblioteca estandar de C++. En otras palabras, no es necesario escribir
std::antes de cada clase o función que se utilice en el programa.
Línea 8-11: int t=2; int b; int resultado; int respuesta;
- Estas son las declaraciones de cuatro variables enteras:
tes una variable que almacena el valor 2, despues tenemos abque es una variable que almacena un valor aleatorio entre 1 y 10 (no tiene inicialización explícita),resultadoes una variable que almacena el resultado de la multiplicación de 2 por en valor aleatorio almacenado en b. La variablerespuestaalmacena la respuesta ingresada por el usuario.
Línea 13: int main() {
- Esta es la función principal del programa, donde se ejecutan las instrucciones principales del programa.
Línea 15: srand(time(NULL));
- Esta línea inicia la semilla aleatoria con la hora actual. La función
time()devuelve el número de segundos.
Línea 16: b = (rand() % 10)+1;
- Esta línea genera un valor aleatorio entre 1 y 10, que se asigna a la variable
b.
Línea 17-18: resultado = b * t; cout << "Cuanto es " << t << " X " << b << " ? ";
- Estas son las instrucciones para calcular el resultado de la multiplicación de 2 por un valor aleatorio y muestra una pregunta a la pantalla.
Línea 19: cin >> respuesta;
- Esta línea lee la respuesta ingresada por el usuario y la asigna a la variable
respuesta.
Líneas 20-27: if(respuesta==resultado) { ... } else { ... }
- Estas son las instrucciones para verificar si la respuesta del usuario es correcta o no. Si la respuesta es igual al resultado calculado, se muestra un mensaje de “Muy bien!“. De lo contrario, se muestra un mensaje con la respuesta correcta.
Línea 28: return 0;
Esta línea indica el fin de la función principal y devuelve el valor 0 a indicar que el programa se ejecutó correctamente.
Ahora el código en PYTHON:
import random
t = 2
b = random.randint(1,10)
resultado = b * t
respuesta = int(input(f"Cuanto es {t} X {b} ? "))
if respuesta == resultado:
print("Muy bien!")
else:
print(f"Incorrecto... La respuesta correcta es: {resultado}")
Vamos a analizar línea por línea este código en PYTHON:
Línea 1: import random
- Esta línea importa la biblioteca de números aleatorios (
random) para generar un valor aleatorio.
Línea 2: t = 2
- Esta línea asigna el valor 2 a la variable
t, que representará el multiplicando en la tabla de multiplicar.
Línea 3: b = random.randint(1,10)
- Esta línea utiliza la función
randint()para generar un número aleatorio entre 1 y 10 (inclusive), y asigna ese valor a la variableb.
Línea 4: resultado = b * t
- Esta línea calcula el resultado de multiplicar
tporby lo asigna a la variableresultado.
Línea 5: respuesta = int(input(f"Cuanto es {t} X {b} ? "))
- Esta línea utiliza la función
input()para solicitar al usuario que ingrese su respuesta, y luego convierte esa respuesta a un entero (int()) con el valor asignado a la variablerespuesta.
La expresión f-string(f"Cuanto es {t} X {b} ? ")permite insertar los valores detybdirectamente en la cadena.
Línea 6-9: if respuesta == resultado: print("Muy bien!") else: print(f"Incorrecto... La respuesta correcta es: {resultado}")
- Estas son las instrucciones para verificar si la respuesta del usuario es correcta o no. Si la respuesta es igual al resultado calculado, se imprime el mensaje “Muy bien!”. De lo contrario, se imprime un mensaje con la respuesta correcta.
Observaciones
- En Python, no es necesario declarar explícitamente las variables antes de utilizarlas.
- La función
randint()se utiliza para generar números aleatorios dentro de un rango específico. - Las f-strings (
f"...") son una forma más legible y concisa de insertar valores en cadenas.
En resumen, este programa es similar al anterior en C++, pero con algunas diferencias sutiles en la sintaxis y la estructura.
Vamos a modificar el programa para poder practicar todas las tablas de multiplicar al azar:

Una vez que se aprenden todas las tablas de multiplicar por separado, lo mejor es practicarlas todas juntas, en esta última versión la variable t será igual que la variable b, se les asignará a ambas un número al azar del 1 al 10, el resultado de la multiplicación de ambos números se guarda en la variable resultado.
Analizamos el código
Algoritmo tablas2 t <- aleatorio(1,10) b <- aleatorio(1,10) resultado <- t*b Escribir 'Cuánto es ', t, ' X ', b, '?' Leer respuesta Si respuesta=resultado Entonces Escribir 'Muy bien!' SiNo Escribir 'Incorrecto... La respuesta es: ', resultado FinSi FinAlgoritmo
Ejecutamos el programa
Veamos el código en C++:
// LAS TABLAS DE MULTIPLICAR DEL 1 AL 10.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int t;
int a;
int resultado;
int respuesta;
int main()
{
srand(time(NULL)); // Iniciamos la semilla random con la hora.
t = (rand() % 10)+1; // Genera un valor entre 1 y 10.
a = (rand() % 10)+1; // Genera un valor entre 1 y 10.
resultado = a * t;
cout << "Cuanto es " << t << " X " << a << " ? ";
cin >> respuesta;
if(respuesta==resultado)
{
cout << "Muy bien!" << endl;
}
else
{
cout << "Incorrecto... La respuesta correcta es: " << resultado << endl;
}
return 0;
}
A diferencia del código anterior ahora la variable t toma un valor aleatorio del 1 al 10, al igual que la variable a.
Ahora el código en PYTHON:
import random
t = random.randint(1,10)
b = random.randint(1,10)
resultado = b * t
respuesta = int(input(f"Cuanto es {t} X {b} ? "))
if respuesta == resultado:
print("Muy bien!")
else:
print(f"Incorrecto... La respuesta correcta es: {resultado}")
A diferencia del código anterior ahora la variable t toma un valor aleatorio del 1 al 10, al igual que la variable a.
TAREA PARA EL HOGAR
- Crear un programa que nos pregunte qué tabla de multiplicar queremos practicar.
- Crear una nueva versión del programa que nos deje intentar varias veces dar con el resultado correcto.
- Modificar el programa anterior para practicar las tablas por rango, por ejemplo, poder ingresar 3 y luego 5, permitiendo practicar las tablas del 3, 4 o 5 aleatoriamente.