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

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

3 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.