FORTRAN - LÚDICO CONCEITO Partindo da definição original, os QUADRADOS MÁGICOS devem satisfazer três condições: a) tabela ou matriz quadrada (número de linhas igual ao número de colunas); b) domínio: com elementos assumindo valores consecutivos a partir de, ou seja, D={,,3,,,,7,,} c) as somas dos elementos de cada linha, de cada coluna e de cada diagonal têm sempre um mesmo valor. Quando pelo menos uma das condições acima não é satisfeita, eles passam a ser chamados DEFEITUOSOS, IMPERFEITOS ou NÂO PUROS. O seu domínio é:. Sobre a origem, a história, as curiosidades, os misticismos e as particularidades dos QUADRADOS MÁGICOS e dos NÃO PUROS deve-se consultar as REFERÊNCIAS abaixo. OBJETIVO Como objetivo básico apresentaremos informações para a codificação de um programa FORTRAN para tratar QUADRADOS MÁGICOS e não puros de ordem 3 (ou seja, com 3 linhas x 3 colunas). O programa deverá ser capaz de mostrar em um arquivo o resultado após: a) gerar todos os quadrados mágicos 3x3 ou b) resolver (completar) o QUADRADO MÁGICO e os quadrados não puros do qual alguns elementos sejam fornecidos. Como objetivo complementar sugerimos escrever outro programa que trate dos QUADRADOS MÁGICOS e não puros de ordem e como objetivo maior sugerimos a generalização do programa para qualquer ordem. BASE MATEMÁTICA 7 3 3 7 3 7 SÉRIE DE VALORES 7 3 Por definição ela será iniciada em e seguirá a ordem natural dos inteiros. Assim. temos as seguintes séries ou progressões aritméticas, para os QUADRADOS MÁGICOS, : ord= 3 --> 3 x 3 -->,, 3,,,, 7, e ou,, 3,,,, 7, e ord ord= --> x -->,, 3,,,, 7,,, 0,,, 3,, e,, 3,,,, 7,,, 0,,, 3,, e ord ou ord= --> x -->,, 3,,,, 7,,, 0,,, 3,,,, 7,,, 0,,, 3, e,, 3,,,, 7,,, 0,,, 3,,,, 7,,, 0,,, 3, e ord ou ATUALIZADO: abr/03 olenzi @ orlandolenzi. eng. br
FORTRAN - LÚDICO CONSTANTE (K) CONSTANTE (K) de um QUADRADO MÁGICO é o valor da soma de cada linha (sempre igual) e como todos os elementos se distribuem em 3 ou ou etc linhas podemos utilizar as propriedades das PAs para determiná-la. Usando a fórmula:, onde temos: Como todos os termos se distribuem em "ord" linhas, a CONSTANTE será calculada, em função da "ordem" do QUADRADO MÁGICO por: Indicamos os valores da CONSTANTE para os QUADRADOS MÁGICOS de ordem 3 a 0: Ordem (ord) Constante (K) 3 3 7 7 0 3 0 0 Observando os exemplos dos QUADRADOS MÁGICOS acima, podemos notar algumas particularidades para a ordem 3. ) VALOR DO ELEMENTO CENTRAL OU ELEMENTO (,) O elemento (,), centro do QUADRADO MÁGICO é sempre, ou seja, o valor do quinto termo da série. Vamos escrever os valores dos elementos do QUADRADO MÁGICO como literais. Efetuaremos o preenchimento por coluna, porque estamos nos orientando para o tratamento de matrizes em um programa de computador. e e e 7 Então o QUADRADO MÁGICO ficará: e e e e devemos provar que sempre e =. e 3 e e Já sabemos que a CONSTANTE (K) é (soma dos elementos de cada: linha, coluna ou diagonal). Da matriz do QUADRADO MÁGICO vamos retirar todas as "retas com 3 elementos" que incluem o elemento "e". São : a segunda linha, a segunda coluna e as duas diagonais, formando o sistema: ATUALIZADO: abr/03 olenzi @ orlandolenzi. eng. br
FORTRAN - LÚDICO Verificamos que além do elemento, estão contidos no sistema todos os outros elementos. Então vamos somar todos as equações e substituir pelo valor que é a soma de todos os elementos quando a ordem é 3. Escrevendo convenientemente a soma temos: ( Substituindo a soma pelo seu valor: ) VALOR É MÉDIA ARITMÉTICA DOS ELEMENTOS DA LINHA, COLUNA OU DIAGONAL QUE O CONTÉM É consequência da particularidade. Nas "retas com 3 elementos" que contém o elemento, os outros dois elementos sempre somarão 0, ou seja, será a média aritmética dos mesmos. Então um deles será " + valor" e o outro será " - valor". Verificando visualmente, no primeiro quadrado mostrado, temos por exemplo: linha : elementos ---> 7 3,ou seja, (+) (-) ou 7+3=0. Esta particularidade ocorrerá na coluna e nas diagonais. 3) PARES NOS CANTOS A soma de cada linha, coluna ou diagonal (valor ) é ímpar e o número no centro (valor ) é ímpar. Então deveremos distribuir números pares (valores,, e ) e outros números ímpares (valores, 3, 7, ). A soma de cada linha, coluna ou diagonal, que é ímpar, somente será conseguida em dos casos: a) três número ímpares alinhados b) dois números pares e um número ímpar. Assim nos cantos o número não poderá ser ímpar, pois caso isso aconteça as linhas e as colunas e 3 teriam somas pares. Por exemplo, considerando a primeira linha: ÍMPAR + PAR + ÍMPAR ---> que resulta uma soma par. TOTALIZAÇÕES ) TOTAIS DE AGRUPAMENTOS a) dos algarismos de a, em quadrados de ordem 3: PERMUTAÇÕES sem repetição: P() ou P(;) = 3.0 b) do algarismo na posição central e dos outros algarismos nos demais quadrados PERMUTAÇÕES sem repetição: P() ou P(,) = 0.30 c) do algarismo na posição central, dos pares nos cantos e dos outros ímpares no centro da linha ou coluna PERMUTAÇÕES sem repetição dos pares x PERMUTAÇÕES sem repetição do ímpares: P() x P() = 7 d) das condições a), b) e c) com a somas dos elementos das linhas (CONSTANTE) = QUADRADOS MÁGICOS = ATUALIZADO: abr/03 3 olenzi @ orlandolenzi. eng. br
FORTRAN - LÚDICO GERAÇÃO DOS OITOS QUADRADOS MÁGICOS Para gerar os QUADRADOS MÁGICOS não precisamos gerar as permutações. Podemos nos utilizar das propriedades e após obter um QUADRADO MÁGICO, podemos aplicar operações elementares, transposta e simetrias (ou rotação) em torno de coluna, linha, diagonal ou centro. Exemplificando: se o primeiro QUADRADO MÁGICO de ordem 3 for 7 3 podemos gerar os outros 7 QUADRADOS MÁGICOS seguindo a sequência de operações indicadas abaixo: 7 3 TRANSPOSTA OU SIMETRIA EM RELAÇÃO À DIAGONAL PRINCIPAL 7 3 TROCA LINHAS e 3 TROCA COLUNAS e 3 3 7 TRANSPOSTA ou SIMETRIA EM RELAÇÃO À DIAGONAL PRINCIPAL 3 7 SIMETRIA EM RELAÇÃO AO CENTRO SIMETRIA EM RELAÇÃO AO CENTRO TROCA LINHAS e 3 7 3 TRANSPOSTA ou SIMETRIA EM RELAÇÃO À DIAGONAL PRINCIPAL 7 3 TROCA COLUNAS E 3 TROCA LINHAS E 3 SIMETRIA EM RELAÇÃO AO CENTRO 3 7 TRANSPOSTA ou SIMETRIA EM RELAÇÃO À DIAGONAL PRINCIPAL 3 7 Pode-se ver que existem várias alternativas para gerar alguns dos quadrados e também que existirão muitas maneiras ou sequências de operações para gerar o conjunto dos QUADRADOS MÁGICOS. QUADRADOS NÃO PUROS Uma maneira de gerar quadrados não puros é utilizar uma sequência que comece por um número diferente de. Também podemos utilizar séries ou progressões aritméticas com razão diferente de. Para o cálculo da CONSTANTE do quadrado não puro, utiliza-se a mesma fórmula dos QUADRADOS MÁGICOS. O valor do elemento central, do elemento (,) também terá o mesmo cálculo dos QUADRADOS MÁGICOS e corresponderá ao valor do quinto termo da série. ATUALIZADO: abr/03 olenzi @ orlandolenzi. eng. br
FORTRAN - LÚDICO Quando a série apresentar valores pares e ímpares, os cantos dos quadrados não puros, poderão ter valores pares ou ímpares. Eles serão pares quando o valor do centro do quadrado, elemento (,), for ímpar e serão ímpares quando o valor do centro do quadrado for par. EXEMPLOS ) Para a série:,,,, 0,,,,. Se fizermos a correspondência com a série do QUADRADO MÁGICO NÃO PURO (K=30) teremos: 3 7 0. Então é só substituir os números respeitando a ordem de correspondência. 7 3 0 ) Para a série: - - -3 - - 0 3 MÁGICO NÃO PURO (K=-3) 7 3-3 - - -3 0 - Podemos concluir duas regras: ) Quando multiplicamos por um mesmo número todos os números de um QUADRADO MÁGICO, geramos um quadrado não puro com K igual ao do QUADRADO MÁGICO multiplicado pelo número. No exemplo : K do QUADRADO MÁGICO= ; K do quadrado não puro=30 Conferindo: (x)=30 ) Quando somamos um mesmo número a todos os números de um QUADRADO MÁGICO, geramos um quadrado não puro com K igual ao do QUADRADO MÁGICO mais o produto da ordem pelo número somado. No exemplo : K do QUADRADO MÁGICO= ; K do quadrado não puro=-3 Conferindo: (+3(-))=-=-3 GERANDO O PROGRAMA FORTRAN Não precisaremos gerar todas as PERMUTAÇÕES e verificar suas somas de linhas, colunas e diagonais. Devemos utilizar as particularidades ou relações numéricas. Primeiramente usaremos as mais restritivas, por exemplo: o valor do centro. Após podemos posicionar um canto ou um centro de uma das linhas ou de uma das colunas. A partir deste ponto por imposição do valor da CONSTANTE podemos definir os demais valores. Os valores colocados no QUADRADO MÁGICO devem ser desconsiderados da lista de valores a alocar. Logo que completamos um QUADRADO MÁGICO podemos aplicar: transposição, operações elementares para obter os outros QUADRADOS MÁGICOS. Para a segunda parte do programa, que deve completar um quadrado no qual já existe elemento, deve-se verificar se é possível criar um QUADRADO MÁGICO e também criar quadrado não puro ou imperfeito. Para definir o elemento, deverão ser lidos o seu valor e sua posição (linha e coluna). O arquivo, LudFortran_00_QuadradoMagico3, é um programa FORTRAN executável conforme especificações acima. ATUALIZADO: abr/03 olenzi @ orlandolenzi. eng. br
FORTRAN - LÚDICO DESAFIOS ) Complete os QUADRADOS MÁGICOS PUROS de acordo com a quantidade de soluções possíveis. a) b) c) d) e) f) g) h) 3 soluções soluções solução soluções soluções solução solução solução 7 7 3 ) Não existe QUADRADO MÁGICO PURO com os valores indicados. Indique qual é ou quais são as impossibilidades. a) b) c) d) e) f) g) ATUALIZADO: abr/03 olenzi @ orlandolenzi. eng. br