Quadrado Mágico em Código
Sobre a Matemática
Quadrado mágico é uma tabela de números dispostos em forma de quadrado, de maneira que a soma dos números de cada linha, coluna ou diagonal seja sempre a mesma.
Sobre o Código
Na linguagem de programação Python,
def – é a palavra-chave usada para definir uma função.
sum() – é a função que soma todos os elementos de uma lista, tupla ou outro iterável numérico.
[0] – é o índice que acessa o primeiro elemento de uma lista, tupla ou sequência (índices começam em 0).
for...in... – é a estrutura de repetição que percorre elementos de uma sequência.
if – é a estrutura condicional que executa um bloco de código se a condição for verdadeira.
!= – é o operador de diferença; verifica se dois valores são diferentes.
return – encerra a função e retorna um valor para quem a chamou.
range() – gera uma sequência de números inteiros, muito usada em laços for.
+= – é o operador de atribuição com soma, adiciona um valor à variável existente.
[0][0] – acessa o elemento da linha 0 e coluna 0 em uma matriz (lista de listas).
or – é o operador lógico OU, retorna verdadeiro se pelo menos uma condição for verdadeira.
print() – é a função usada para exibir informações na tela.
# – é usado para criar comentários ao código, que são notas para se entender melhor o que o código faz.
Vamos ao código…
# Quadrado Mágico 3×3
def eh_quadrado_magico(quadrado):
soma_referencia = sum(quadrado[0])
for linha in quadrado:
if sum(linha) != soma_referencia:
return False
for coluna in range(3):
soma_coluna = 0
for linha in range(3):
soma_coluna += quadrado[linha][coluna]
if soma_coluna != soma_referencia:
return False
diagonal_principal = quadrado[0][0] + quadrado[1][1] + quadrado[2][2]
diagonal_secundaria = quadrado[0][2] + quadrado[1][1] + quadrado[2][0]
if diagonal_principal != soma_referencia or diagonal_secundaria != soma_referencia:
return False
return True
quadrado = [
[8, 1, 6],
[3, 5, 7],
[4, 9, 2]
]
print("É quadrado mágico?", eh_quadrado_magico(quadrado))| Código Python (.py) | O que faz |
| def eh_quadrado_magico(quadrado): | Define uma função que recebe uma matriz (lista de listas). |
| soma_referencia = sum(quadrado[0]) | Calcula a soma da primeira linha, que será usada como referência. |
| for linha in quadrado: | Percorre cada linha do quadrado. |
| if sum(linha) != soma_referencia: | Verifica se a soma da linha é diferente da soma de referência. |
| return False | Encerra a função indicando que não é quadrado mágico. |
| for coluna in range(3): | Percorre os índices das colunas (0, 1, 2). |
| soma_coluna = 0 | Inicializa a soma da coluna. |
| for linha in range(3): | Percorre as linhas para somar a coluna atual. |
| soma_coluna += quadrado[linha][coluna] | Soma os valores da coluna. |
| if soma_coluna != soma_referencia: | Compara a soma da coluna com a soma de referência. |
| diagonal_principal = … | Soma os elementos da diagonal principal. |
| diagonal_secundaria = … | Soma os elementos da diagonal secundária. |
| if diagonal_principal != soma_referencia or diagonal_secundaria != soma_referencia: | Verifica se alguma diagonal não bate com a soma. |
| return True | Retorna verdadeiro se todas as somas forem iguais. |
| quadrado = […] | Define o quadrado mágico 3×3. |
| print(…) | Mostra o resultado da verificação. |
Saída do código (valor de retorno)…
É quadrado mágico? True
Fonte:
– Editora Didática Paulista. Ensino Didático 2000: Ensino Fundamental e Ensino Médio. Sorocaba: Editora Didática Paulista, [s.d.].
– Códigos e comentários gerados por ChatGPT com revisão nossa.
– https://docs.python.org/pt-br/3/ [Documentação Oficial do Python]