Recordando mis primeros ejercicios de programación, en alguna ocasión tuve que imprimir las tablas de multiplicar de diferentes maneras.
Una de ellas era pedir cuál tabla quería ver, y entonces se imprimía. Por ejemplo, si el usuario decía que quería la tabla del 5, entonces se imprimía 5 x 1 = 5…. hasta 5 x 10.
En otro ejercicio, se pedía hasta cuál tabla se quería ver. Por ejemplo, si el usuario quería hasta la tabla del 3, entonces imprimíamos la tabla del 1, luego la del 2 y finalmente la del 3.
Hoy veremos cómo hacer esos dos sencillos pero reconfortantes y nunca olvidados ejercicios.
Comencemos con este problema, en donde el usuario elige y nosotros imprimimos la tabla. Quedaría así:
package main
import "fmt"
func main() {
var tabla int
fmt.Print("¿Cuál tabla deseas ver? ")
fmt.Scanln(&tabla)
for numero := 1; numero <= 10; numero++ {
resultado := numero * tabla
fmt.Printf("%d x %d = %d\n", tabla, numero, resultado) // \n significa salto de línea. %d es para imprimir enteros
}
}
Hacemos un for que va desde 1 hasta 10. Ya que la condición dice que el ciclo se ejecute siempre y cuando el número sea menor o igual que 10. Cuando sea 11, ya no valdrá, así que sólo llega al 10.
Dentro del ciclo, asignamos el resultado de multiplicar el número en el que vamos (1, 2, 3… hasta 10) por la tabla (lo que introduce el usuario). Finalmente lo imprimimos y listo.
Así se ve, por ejemplo, la tabla del 7:
Ahora vamos a imprimir muchas tablas, el límite lo pondrá el usuario. Es decir, primero será la tabla del 1, luego la del 2 y así hasta donde el usuario quiera. Queda así:
package main
import "fmt"
func main() {
var limite int
fmt.Print("¿Hasta cuál tabla deseas ver? ")
fmt.Scanln(&limite)
for tabla := 1; tabla <= limite; tabla++ {
//Imprimir un separador
fmt.Printf("\n--Tabla del %d--\n", tabla)
for numero := 1; numero <= 10; numero++ {
resultado := numero * tabla
fmt.Printf("%d x %d = %d\n", tabla, numero, resultado)
}
}
}
Ahora el usuario nos da el límite, y la tabla es parte del ciclo. Tenemos un ciclo dentro de otro. El primero se encarga de ir tabla por tabla, y el segundo imprime del 1 al 10 multiplicados por la tabla.
Así se ve al ejecutarse:
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.