(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 rand() y utilizar un condicional para hacer una corrección automática de la respuesta del usuario:
Veamos el código:
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.
// 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.
Vamos a modificar el programa para poder practicar todas las tablas de multiplicar al azar:
Veamos el código:
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.
// 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;
}
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.