Procédure carré magique sur maple

mj4

Procédure carré magique sur maple

Message par mj4 » 31 oct. 2011 17:31

Bonjour, j'ai un carré magique à faire avec le logiciel maple, mais j'avoue que je bloque totalement,
dans l'énoncé on nous dit que:
on utilisera un tableau carré T[i,j] dans lequel seront rangés les nombres calculés; la dimension doit être impaire; on place la valeur 1 dans la case au dessus du milieu et on incrémente à chaque nouvelle case; pour ce déplacer, on avance vers la droite puis vers le haut ; si la case est occupée, on avance (à partir de la case occupée) à gauche puis en haut; si l'on arrive hors des limites du carré, on considère le tableau circulaire dans les deux directions (haut-bas et gauche-droite)

j'ai compris le principe, je pensais utiliser l'outil matrix
j'avais commencé à taper:

carre:=proc(n) local(A,x)
x:=n
if (irem(n,2)=1= then A:=matrix(x,x,[])

je me suis arrêtée là parce que je pense que je suis mal partie, je pensais faire une boucle si..alors
puius après donner la position de 1 dans le tableau et décrire les étape lorsqu'on incrément mais je ne vois aps comment faire

Merci d'avance

Messages : 9679

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Procédure carré magique sur maple

Message par fakbill » 31 oct. 2011 18:03

Imagine qui tu viens de remplir la case (i,j).
Quelle est la procédure pour calculer les coordonnées de la case suivante à remplir?

""astuce"" : comme savoir si une casse a déjà été remplie ou pas? une réponse possible : on part d'une matrice ne contenant que des "-42" (par exemple). Comme ça on sait que, si la case vaut -42, elle n'a pas été remplie (et reciproquement).

mj4

Re: Procédure carré magique sur maple

Message par mj4 » 01 nov. 2011 09:27

Désolé, mais je ne comprend pas votre astuce, mais en faite il faut que je vérifie si la case (i+1;j-1)=0 mais si j'arrive à une extrémité je ne sais pas comment l'exprimer, pourriez vous me donner d'autre indications?

Merci d'avance

Messages : 9679

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Procédure carré magique sur maple

Message par fakbill » 01 nov. 2011 14:01

Bon:
Tu initialises ta matrice avec des 0 ou avec n'importe quelle autre valeur qui ne se trouvera pas dans la matrice une fois remplie. 0 convient tout comme -42 non? Tu vois?
si j'arrive à une extrémité je ne sais pas comment l'exprimer
Tu connais l'opérateur "modulo"?
Si tu ne le connais pas, exprime la situation en français :
*Je calcule les nouvelles coordonnées.
* Si elle ne sont pas entre 1 et N (ou 0 N-1 selon la convention)...on fait quoi?

Répondre