FORTRAN 95 - LÚDICO LENZI, Orlando QUADRADO MÁGICO - ORDEM 4 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 1, ou seja, D={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} 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 Sugerimos codificar um programa que trate os QUADRADOS MÁGICOS de ordem 4 e não puros de ordem 4, de modo equivalente ao sugerido para os quadrados de ordem 3. BASE MATEMÁTICA Conforme citado na página do QUADRADO MÁGICO de ordem 3: Série de valores: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,ord2 CONSTANTE = 34 (demonstração: veja quadrado de ordem 3) e1 e5 e9 e13 com valores literais, podemos verificar algumas e2 e6 e10 e14 relações numéricas. e3 e7 e11 e15 e4 e8 e12 e16 Preenchendo, por coluna, o QUADRADO MÁGICO O QUADRADO MÁGICO não tem um elemento central, mas tem um quadrado central, representado pelos elementos e6 e7 e10 e11. O número 4 é realmente muito especial. Veja a que se pode fazer com este número ou algarismo e algumas operações aritméticas na página de Matemáticas na parte Lúdicos. Aqui ele também simplifica muito a geração manual do QUADRADO MÁGICO. Embora existam 7040 QUADRADOS MÁGICOS de ordem 4 é muito simples gerar um exemplo. Vamos adiantar a título de curiosidade, pois não necessitaremos de nenhuma informação matemática além do valor da CONSTANTE = 34 e um pouco de observação para trocar os elementos que não tornam a CONSTANTE verdadeira na distribuição dos valores do PRIMEIRO passo. Veja a série, I M E N S A , de passos e operações: ATUALIZADO: mai/2013 1 olenzi @ orlandolenzi . eng. br BRINCAR E APRENDER, UMA BOA FORMA DE DESENVOLVER-SE. FORTRAN 95 - LÚDICO LENZI, Orlando QUADRADO MÁGICO - ORDEM 4 *---------------- PRIMEIRO PASSO --------------* *-------- ÚLTIMO PASSO: sabendo que a CONSTANTE é igual a 34 ---------* Preencher em sequência a série de números A primeira coluna tem os maiores números e a quarta coluna tem os em ordem decrescente ou crescente e por menores números. Para obtermos a CONSTANTE precisamos permutar por linha ou coluna. valores pequenos da primeira coluna por valores grandes da quarta. Pode- Vamos optar: preenchimento = por coluna e se conseguir esta troca invertendo-se os valores em cada diagonal. ordem = decrescente. 16 12 8 4 1 12 8 13 15 11 7 3 15 6 10 3 14 10 6 2 14 7 11 2 13 9 5 1 4 9 5 16 Para os que gostam de matemática, o assunto da ordem 4 continua. Vamos buscar algumas das particularidades ou relações numéricas dos QUADRADOS MÁGICOS com esta ordem. PARTICULARIDADES 1) SOMA = 34 DO ELEMENTO CENTRAL, QUE É UM QUADRADO COM OS ELEMENTOS Considerando o QUADRADO MÁGICO com elementos e1 e5 e9 e13 literais, podemos formar 6 equações que contêm dois e2 e6 e10 e14 elementos do centro e que no conjunto contêm todos e3 e7 e11 e15 os elementos da matriz. e4 e8 e12 e16 e6 e10 e7 e11 Desejamos provar ou obter: Sabemos que a soma de todos os números é igual a 136. Este valor é obtido pela fórmula da soma de progressões aritméticas ou pelo valor da CONSTANTE multiplicado pelo valor da ordem. Somando as equações e agrupando de modo conveniente, obtemos Substituindo a soma de todos os elementos pelo seu valor: ATUALIZADO: mai/2013 2 olenzi @ orlandolenzi . eng. br BRINCAR E APRENDER, UMA BOA FORMA DE DESENVOLVER-SE. FORTRAN 95 - LÚDICO LENZI, Orlando QUADRADO MÁGICO - ORDEM 4 2) SOMA = 34 - ELEMENTOS DOS CANTOS - elementos (e1 + e4 + e13 + e16) É uma consequência da particularidade anterior, pois os elementos dos cantos e os do quadrado central formam exatamente as duas diagonais. Selecionando as equações que correspondem às diagonais. Fazendo a soma das equações e organizando os elementos dos cantos do quadrado central. Substituindo o valor da soma do quadrado central e calculando: 3) DISTRIBUIÇÃO DOS ALGARISMOS POR LINHA, COLUNA OU DIAGONAL A soma dos elementos de cada linha, coluna ou diagonal é um número PAR e tem 4 PARCELAS. Pode-se obter este resultado nos casos de: a) 4 números ímpares; b) 4 números pares e c) 2 números pares e 2 números ímpares (mais frequente). Todas as linhas e colunas são formadas por de 2 números pares e 2 números ímpares. As diagonais podem ter, ambas, 2 números pares e 2 números ímpares ou uma diagonal pode ter 4 números ímpares e a outra 4 números pares. 4) OUTROS AGRUPAMENTOS QUE SOMAM 34 Partindo das equações básicas do QUADRADO MÁGICO (somas das linhas, das colunas e das diagonais) , do quadrado central e dos cantos, vários agrupamentos de quatro dezenas também somam 34 e contêm 2 números pares e 2 números ímpares. Como exemplo, indicamos as equações que envolvem os números centrais das linhas 1 e 4 e dos números centrais das colunas 1 e 4. 5) ALGUMAS IGUALDADES ENTRE AS SOMAS DE NÚMEROS e1 e5 e9 e13 e2 e6 e10 e14 e3 e7 e11 e15 e4 e8 e12 e16 Partindo da mesma origem do ítem anterior, encontramos: 6) RELAÇÕES DOS ELEMENTOS DOS CANTOS EM FUNÇÃO DE OUTROS ELEMENTOS Partindo das relações do ítem anterior e operando convenientemente conjuntos de 3 delas, obtemos: ou ou ou ou Analogamente, podemos deduzir equações para os elementos do quadrado central: e6, e7, e10 e e11. ATUALIZADO: mai/2013 3 olenzi @ orlandolenzi . eng. br BRINCAR E APRENDER, UMA BOA FORMA DE DESENVOLVER-SE. FORTRAN 95 - LÚDICO LENZI, Orlando QUADRADO MÁGICO - ORDEM 4 7) RELAÇÃO DE QUADRADOS DE CANTOS COM 4 NÚMEROS Soma dos elementos de A é igual a soma dos elementos de D, e analogamente a soma dos elementos de C é igual a soma dos elementos de B. SA = SD e e1 e5 e9 e13 e2 e6 e10 e14 e3 e7 e11 e15 e4 e8 e12 e16 A B C D S B = SC Os quadrados A e C são formados pelas colunas 1 e 2 ------> SA + SC = 68 Os quadrados C e D são formados pelas linhas 3 e 4 Subtraindo as equações e operando: SA - SD = 0 -------> SC + SD = 68 ou SA = SD USO DAS EQUAÇÕES ACIMA A apresentação dessas equações tem por objetivo fornecer informações para desenvolvimento vários algorítmos de preenchimento dos QUADRADOS MÁGICOS 4x4. Os exemplos de equações acima, embora representem apenas uma pequena parte, eles já apresentam interdependência entre si e portanto deve-se escolher o conjunto que parecer mais apropriado para desenvolver um ou outro algorítmo de preenchimento. ATENÇÃO: Para usar as equações desenvolvidas nos ítens acima, é necessário respeitar as equações básicas (somas de linhas, de colunas e de diagonais, iguais a CONSTANTE) e as regras (sequência de números) pois somente sob estas condições os seus resultados se aplicam aos QUADRADOS MÁGICOS PUROS. TOTALIZAÇÕES a) números de 1 a 16, em quadrados de ordem 4: PERMUTAÇÕES sem repetição: P(16) ou P(16;16) = 20.922.789.888.000 b) números de 1 a 16, no quadrado central (4 elementos: e6, e7, e10 e e11): PERMUTAÇÕES sem repetição de 16 números em 4 posições: P(16;4) = 43.680 COMBINAÇÕES sem repetição de 16 números em 4 posições: C(16;4) = 1.820 c) números de 1 a 16, no quadrado central com soma igual a CONSTANTE = 34 PERMUTAÇÕES: 2.064 ; COMBINAÇÕES: 86 d) números de 1 a 16, no quadrado central que permitem gerar QUADRADOS MÁGICOS PERMUTAÇÕES: 976 ATUALIZADO: mai/2013 ; COMBINAÇÕES:50 4 olenzi @ orlandolenzi . eng. br BRINCAR E APRENDER, UMA BOA FORMA DE DESENVOLVER-SE. FORTRAN 95 - LÚDICO LENZI, Orlando QUADRADO MÁGICO - ORDEM 4 e) QUADRADOS MÁGICOS PUROS de ordem 4: TOTAL: 7040 OBSERVAÇÃO: Estudo semelhante pode ser desenvolvido para os CANTOS (e1, e4, e13 e e16) f) nos quadrados mágicos puros: total de ocorrências dos números no elemento e1 (linha 1, coluna 1): núm. 1 2 3 4 total 416 400 404 476 núm. 5 6 7 8 total 432 456 460 476 núm. 9 10 11 12 total 476 460 456 432 núm. 13 14 15 16 total 476 404 400 416 total: 7040 g) nos quadrados mágicos puros: total de ocorrências do número 1 em todos os elementos: 416 464 464 416 464 416 416 464 464 416 416 464 416 464 464 416 h) nos quadrados mágicos puros: total de ocorrências do número 2 em todos os elementos: 400 480 480 400 480 400 400 480 480 400 400 480 400 480 480 400 i) nos quadrados mágicos puros: total de ocorrências do número 6 em todos os elementos: 456 424 424 456 424 456 456 424 424 456 456 424 456 424 424 456 j) nos quadrados mágicos puros: total de ocorrências do número 11 em todos os elementos: 456 424 424 456 424 456 456 424 424 456 456 424 456 424 424 456 Pode-se observar que a soma dos 2 primeiros elementos e dos 2 últimos elementos de linha ou coluna é sempre igual a 880. Por analogia a partir dos valores do ítem f, pode-se deduzir os quadros de totais dos demais números. ATUALIZADO: mai/2013 5 olenzi @ orlandolenzi . eng. br BRINCAR E APRENDER, UMA BOA FORMA DE DESENVOLVER-SE. FORTRAN 95 - LÚDICO LENZI, Orlando QUADRADO MÁGICO - ORDEM 4 GERAÇÃO DE QUADRADOS MÁGICOS Tratando um QUADRADO MÁGICO como uma matriz podemos aplicar operações elementares e geração de transposta. O QUADRADO MÁGICO base foi gerado por um algoritmo que utiliza as fórmulas de cálculo dos elementos (itens 5 e 6 da página 3 deste texto) e completa os demais valores considerando as fórmulas básicas do QUADRADO MÁGICO (somas de cada linha, de cada coluna e de cada diagonal igual a CONSTANTE do QUADRADO MÁGICO) e suas particularidades (soma dos cantos, do quadrado central (4 elementos), quantidade de números pares por linha e coluna, etc. O QUADRADO MÁGICO do exemplo tem todos os quadrados dos cantos (4 números) com soma igual a 34. Neste caso obtivemos, por meio das operações com matrizes, 31 outros QUADRADOS MÁGICOS, totalizando 32 para esse caso. 10 3 15 6 5 16 4 9 8 13 1 12 11 2 14 7 trocar linhas 2e3 10 15 3 6 5 4 16 9 8 1 13 12 11 trocar 10 8 5 14 colunas 15 1 4 2e3 2 3 13 16 7 6 12 9 11 14 2 7 trocar linhas 2e3 10 3 15 6 8 13 1 12 5 16 4 9 11 2 14 7 trans posta 10 5 8 11 3 16 13 2 15 4 1 14 6 trocar 10 15 9 colunas 5 4 2e3 12 8 1 7 11 14 3 16 13 2 6 9 12 7 trocar linhas 2e3 10 8 5 11 15 1 4 14 3 13 16 2 6 12 9 7 trocar linhas 1e4 6 3 15 10 9 16 4 5 12 13 1 8 7 2 14 11 5 16 4 9 8 13 1 12 10 3 15 6 7 2 14 11 9 16 4 5 12 13 1 8 6 3 15 10 3 13 16 2 15 1 4 14 6 12 9 7 6 15 3 10 9 4 16 5 12 1 13 8 7 trocar 6 12 9 14 colunas 15 1 4 2e3 2 3 13 16 11 10 8 5 7 14 2 11 trocar linhas 2e3 6 3 15 10 12 13 1 8 9 16 4 5 7 2 14 11 trans posta 6 9 12 7 3 16 13 2 15 4 1 14 10 trocar 6 15 5 colunas 9 4 2e3 8 12 1 11 7 14 3 16 13 2 10 5 8 11 trocar linhas 2e3 6 12 9 7 15 1 4 14 3 13 16 2 10 8 5 11 11 8 5 10 2 13 16 3 14 1 4 15 7 12 9 6 7 12 9 6 2 13 16 3 14 1 4 15 11 8 5 10 trocar linhas 2e3 11 14 2 7 5 4 16 9 8 1 13 12 10 trocar 11 8 5 15 colunas 14 1 4 2e3 3 2 13 16 6 7 12 9 10 15 3 6 trocar linhas 2e3 11 2 14 7 8 13 1 12 5 16 4 9 10 3 15 6 trans posta 11 5 8 10 2 16 13 3 14 4 1 15 7 trocar 11 14 9 colunas 5 4 2e3 12 8 1 6 10 15 2 16 13 3 7 9 12 6 trocar linhas 2e3 11 8 5 10 14 1 4 15 2 13 16 3 7 12 9 6 trocar linhas 2e3 7 14 2 11 9 4 16 5 12 1 13 8 6 trocar 7 12 9 15 colunas 14 1 4 2e3 3 2 13 16 10 11 8 5 6 15 3 10 trocar linhas 2e3 7 2 14 11 12 13 1 8 9 16 4 5 6 3 15 10 trans posta 7 9 12 6 2 16 13 3 14 4 1 15 11 trocar 7 14 5 colunas 9 4 2e3 8 12 1 10 6 15 11 5 8 10 trocar linhas 2e3 7 12 9 6 14 1 4 15 2 13 16 3 11 8 5 10 trocar linhas 1 e 4 10 8 5 11 trocar linhas 2e3 trocar colunas 1e4 11 2 14 7 trans posta Em casos especiais (em todas as linhas os dois elementos centrais e os dois cantos somam 17) 2 16 13 3 8 10 11 5 14 1 4 15 3 16 13 2 trans posta trans posta 9 7 6 12 8 11 10 5 14 1 4 15 3 16 13 2 trans posta 6 12 9 7 3 13 16 2 15 1 4 14 10 8 5 11 9 6 7 12 podemos trocar os dois elementos centrais das linhas e das colunas de contorno, sem alterar os valores do quadrado central. Exemplificando: ATUALIZADO: mai/2013 8 10 11 5 15 1 4 14 2 16 13 3 9 7 6 12 8 11 10 5 15 1 4 14 2 16 13 3 9 6 7 12 6 olenzi @ orlandolenzi . eng. br BRINCAR E APRENDER, UMA BOA FORMA DE DESENVOLVER-SE. FORTRAN 95 - LÚDICO LENZI, Orlando QUADRADO MÁGICO - ORDEM 4 QUADRADOS DE ORDEM 4 NÃO PUROS OU IMPERFEITOS Uma maneira de gerar quadrados não puros é utilizar uma sequência que comece por um número diferente de 1. Também podemos utilizar séries ou progressões aritméticas com razão diferente de 1. Para o cálculo da CONSTANTE do quadrado não puro, utiliza-se a mesma fórmula dos QUADRADOS MÁGICOS. Os valores do quadrado central (4 elementos) podem ser referenciados aos 4 elementos centrais da série e algumas particularidades do QUADRADO MÁGICO PURO podem não ser satisfeitas. EXEMPLOS 1) Para a série: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 e 32. Se fizermos a correspondência com a série do QUADRADO teremos: 1 2 3 4 5 6 7 8 MÁGICO 9 10 11 12 13 14 15 16 8 11 10 5 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32. Então é só substituir os números respeitando a ordem de 15 1 4 14 2 16 13 3 NÃO PURO (K=68) 9 6 7 12 16 22 20 10 30 2 8 28 4 32 26 6 18 12 14 24 correspondência. 2) Para a série: -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 MÁGICO 8 15 2 9 11 1 16 6 10 4 13 7 5 14 3 12 IMPERFEITO (K=2) 0 7 -6 1 3 -7 8 -2 2 -4 5 -1 -3 6 -5 4 Estamos no exemplo 2, usando um outro QUADRADO MÁGICO como base ou referência. Podemos concluir duas regras: 1) 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 1: K do QUADRADO MÁGICO=34 ; K do quadrado não puro=68 Conferindo: (34x2)=68 2) 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 2: K do QUADRADO MÁGICO=34 ; K do quadrado não puro=-3 Conferindo: (34+4(-8))=34-32=2 GENERALIZAÇÃO As regras acima valeram para os quadrados imperfeitos ou não puros de ordem 3 e 4. Podemos pensar, por analogia, que as mesmas valem para os quadrados imperfeitos das ordens seguintes: 5, 6, etc. ATUALIZADO: mai/2013 7 olenzi @ orlandolenzi . eng. br BRINCAR E APRENDER, UMA BOA FORMA DE DESENVOLVER-SE. FORTRAN 95 - LÚDICO LENZI, Orlando QUADRADO MÁGICO - ORDEM 4 ALGORITMOS PARA PROGRAMAÇÃO FORTRAN Os dados acima foram obtidos por meio de dois algorítmos diferentes. O primeiro bastante elementar e demorado, mas seguro por utilizar o mínimo de comandos de condições. Ele foi construído associando-se cada uma das posições do QUADRADO MÁGICO a um comando de repetição. Em cada estrutura a partir da segunda, por meio de comandos de decisão eliminam-se os números já gerados nos comandos de repetição anteriores. As verificações do valor da CONSTANTE serão feitas a partir do comando de repetição que complete uma linha ou coluna ou quadrado central ou cantos. O número de quadrados gerados e não MÁGICOS PUROS é muito grande (bom teste para especificar variáveis INTEGER*8) e isto torna o algorítmo lento. Para completar a tarefa, no meu ambiente computacional, o tempo foi aproximadamente 90 minutos. Então, um segundo algorítmo foi desenvolvido utilizando-se as relações aritméticas entre os elementos, as ocorrências de números pares e ímpares, sempre satisfazendo as condições básicas dos QUADRADOS MÁGICOS ou seja satisfazendo a CONSTANTE. Este algoritmo executa a tarefa, no mesmo ambiente computacional em, aproximadamente, 12 segundos ou em 6,94 segundos. No primeiro caso o programa mostra, no vídeo, todos os 7040 resultados e gera o arquivo em disco. No segundo somente gera o arquivo em disco. Também é um bom exercício para utilizar os comandos de DATA, TEMPO e CLOCK (relógio do sistema). O tempo acima melhorou bastante, mas ainda é possível especificar um algoritmo com execute com um tempo menor. DESAFIOS 1) Complete os QUADRADOS MÁGICOS PUROS de acordo com a quantidade de soluções possíveis. a) b) 9 16 13 4 4 8 12 c) 14 7 1 9 16 9 e) 13 16 2 soluções 15 1 solução 9 2 soluções 1 8 15 10 14 7 3 10 10 3 f) 14 11 10 1 solução d) 16 soluções 10 soluções 2) Não existe QUADRADO MÁGICO PURO com os valores indicados. Indique qual é ou quais são as impossibilidades. a) 7 16 4 9 2 b) c) d) 7 6 8 10 7 12 4 ATUALIZADO: mai/2013 13 e) 11 13 6 2 4 9 3 6 4 11 8 f) 5 11 7 2 16 16 1 15 9 8 olenzi @ orlandolenzi . eng. br BRINCAR E APRENDER, UMA BOA FORMA DE DESENVOLVER-SE.