Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACION
El cuadrado mágico, es uno de esos ejercicios que siempre vienen cuando se estudia
programación; como cuando haces algoritmos para imprimir los 10 primeros números pares,
impares o primos; todos lo que hemos estudiado programación hacemos el factorial de un
numero o fibonacci de otro; bueno cosas como esas.
Un cuadrado mágico , es aquel cuya fila ,columnas y diagonales suman los mismo, a esto se
le llama constante mágica.
Aquí esta mi solución (bueno no fue algo así como, que bruto, que solucion que hicistes, pero
ahí le doy…), solo se que lo hice en todo un día y medio, es bonito cuando algo te va
saliendo, tu mente te va dando soluciones de poco a poco.
Aquí esta el código, lo hice en Visual Basic Express 2005 (APLICACIÓN CONSOLA)…
Module Module1
Sub Main()
'declaracion de variables
Dim m, n, f, c, nromov, i, liming As Integer
'detalle de movimiento
liming = ((n + 1) * (n + 1)) + 1
f = 0
c = Int((n + 1) / 2)
nromov = n
'la primera piedra
matriz(f, c) = 1
i = 2
For k = 0 To n
For j = 1 To nromov
f = f - 1
c = c + 1
If (f = -1) Then f = n
If (c = n + 1) Then c = 0
matriz(f, c) = i
i = i + 1
Next
If (i = liming) Then Exit For
f = f + 1
matriz(f, c) = i
i = i + 1
Next
'grafica la matriz
Console.WriteLine("Aprete cualquier tela para graficar la matriz...")
Console.ReadLine()
For k = 0 To n
For l = 0 To n
If matriz(k, l) < 10 Then
Console.Write("[ ")
Else
Console.Write("[")
End If
Console.Write("{0}{1}", matriz(k, l), "] ")
Next
Console.WriteLine()
Console.WriteLine()
Next
'salida
Console.WriteLine("Presione cualquier tecla para salir...")
Console.ReadLine()
End Sub
End Module
Aquí funcionando……