Go y Golang

Tablas de multiplicar en Go

Introducción

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.

Tabla de multiplicar en donde el usuario elige cuál desea ver

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.

Ejecución del programa

Así se ve, por ejemplo, la tabla del 7:

Tablas de multiplicar hasta donde el usuario elija

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.

Ejecución

Así se ve al ejecutarse:

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Resetear GOOJPRT PT-210 MTP-II (Impresora térmica)

El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…

2 semanas hace

Proxy Android para impresora térmica ESC POS

Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…

2 semanas hace

Android – Servidor web con servicio en segundo plano

En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…

2 semanas hace

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

1 mes hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

2 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

2 meses hace