Procédure carré magique sur maple

Modérateurs: Philippe PATTE, Michel Quercia

Procédure carré magique sur maple

Messagepar mj4 » Lun Oct 31, 2011 6:31 pm

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
mj4
 
Messages: 9
Inscrit le: Ven Oct 28, 2011 12:56 pm
Classe: MPSI

Re: Procédure carré magique sur maple

Messagepar fakbill » Lun Oct 31, 2011 7:03 pm

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).
Avatar de l’utilisateur
fakbill
 
Messages: 9140
Inscrit le: Mer Juil 30, 2008 4:59 pm
Classe: Dr.-Ing

Re: Procédure carré magique sur maple

Messagepar mj4 » Mar Nov 01, 2011 10:27 am

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
mj4
 
Messages: 9
Inscrit le: Ven Oct 28, 2011 12:56 pm
Classe: MPSI

Re: Procédure carré magique sur maple

Messagepar fakbill » Mar Nov 01, 2011 3:01 pm

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?
Avatar de l’utilisateur
fakbill
 
Messages: 9140
Inscrit le: Mer Juil 30, 2008 4:59 pm
Classe: Dr.-Ing


Retour vers Informatique

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit and 2 invités