π
<-

Problème avec N-Queen

Programmation et implémentation d'algorithmes.

Problème avec N-Queen

Unread postby absolem » 06 Jul 2021, 00:34

En regardant:
https://www.youtube.com/watch?v=MnXlh1S1usM
, le youtuber présent un petit programme qu'il utilise pour comparer les performances entre les calculatrices...

Il donne même la source du petit programme pour toutes les calculatrices de toute marque confondue...
https://www.hpmuseum.org/cgi-sys/cgiwra ... i?read=700

Je trouve le sujet intéressent et je copie le dit programme dans ma ti-200,
Petit problème; quand je l'exécute la calculatrice me donne un message : Dimension ...

Quelqu'un a une idée... Merci !

Image

Code: Select all
queen()
Prgm
   Local a,n,r,s,t,x,y
    8→r
   newlist(r)→a
   For n,1,10
     0→s
     0→x
     Loop
       x+1→x
       r→a[x]
       Loop
         s+1→s
         x→y
         While y>1
           y-1→y
           a[x]-a[y]→t
           If t=0 or x-y=abs(t) Then
             0→y
             a[x]-1→a[x]
             While a[x]=0
               x-1→x
               a[x]-1→a[x]
             EndWhile
           EndIf
         EndWhile
         If y=1
           Exit
       EndLoop
       If x=r
         Exit
     EndLoop
   EndFor
   Disp s
EndPrgm
User avatar
absolem
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 4
Joined: 13 Jan 2019, 21:29
Location: Montréal
Gender: Male
Calculator(s):
MyCalcs profile

Re: Problème avec N-Queen

Unread postby Bisam » 06 Jul 2021, 09:13

Il ne semble y avoir aucun problème dans ce programme. Il est probable que tu aies simplement mal copié. En particulier, il devrait commencer par un Define queen()=Prgm.
On peut même facilement l'améliorer en enlevant la ligne 8→r et remplacer la ligne Local a,n,r,s,t,x,y par Local a,n,s,t,x,y et enfin ajouter r en paramètre dans la définition Define queen(r)=Prgm.
Ainsi, on peut avoir le nombre de solutions en fonction de la taille r du plateau.


Peux-tu envoyer une photo ou capture d'écran du début de ton programme ou encore de l'endroit où te renvoie l'erreur lorsque tu cliques sur
Enter
?
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5666
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Problème avec N-Queen

Unread postby rentech7289 » 16 Aug 2021, 16:37

Bonjour,
Après vérification, les instructions sont exactes. Le problème est l'indentation qui n'est pas la même mais ne devrait pas poser de problème s'agissant de TI-basic. Ici Define ne sert à rien, il s'agit d'une capture de l'éditeur de programme. Par contre, il y a un problème avec la liste des calculatrices concernées, copier-collé depuis le lien indiqué:
TI-89, TI-89 Titanium, TI-92+, TI-Nspire, TI-Nspire CAS, TI-Nspire CX II CAS
Pas de Voyage 200! Ici, le message d'erreur (errornum = 230 sur TI-92) fait penser à un dépassement de l'indice d'une matrice. Appuyer sur enter envoie directement à la ligne de l'erreur; ça pourrait aider, mais j'ai un doute à cause de la liste...
User avatar
rentech7289
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 66.4%
 
Posts: 107
Joined: 16 Aug 2021, 02:40
Location: Lorraine luxembourgeoise
Gender: Male
Calculator(s):
MyCalcs profile

Re: Problème avec N-Queen

Unread postby NiTROGEN » 02 Mar 2022, 11:19

absolem wrote:
Code: Select all
queen()

[...]

             While a[x]=0
               x-1→x
               a[x]-1→a[x]
             EndWhile
   [...]





J'ai juste parcouru quelques secondes le code et il faudrait vérifier que l'on ne fasse pas des tests avec un indice qui vaut 0 à certains moments qui renverrait alors une erreur de dimension. Vu l'erreur c'est qu'à un moment il y a un test sur un indice < 1 ou > r obviously.

Dans la partie au-dessus, par exemple si a[1] vaut 0 (je ne sais pas si c'est possible) ça plante car on fait une action ensuite sur a[x-1] i.e. a[0] qui n'existe pas.


Par ailleurs la manière dont c'est codé me fait penser (j'ai peut être tord) que c'est pas très optimisé/canonique et du coup plus difficile de voir en quelques secondes s'il y a un problème sur les indices ou autres.
User avatar
NiTROGEN
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 16.8%
 
Posts: 43
Images: 0
Joined: 12 May 2015, 16:19
Location: Wastelands
Gender: Male
Calculator(s):
MyCalcs profile
Class: AGROECOLOGiST


Return to Programmation

Who is online

Users browsing this forum: No registered users and 8 guests

-
Search
-
Social TI-Planet
-
Featured topics
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Offre de test des nouveautés de rentrée 2024 par Casio. Enseignant(e), reçois gratuitement 1 exemplaire, à ton choix, de la Graph Light ou bien de la Graph Math+
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 31 Octobre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 90+E d'ici le 31 Décembre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 25 d'ici le 31 Décembre 2024
8€ remboursés par Casio sur l'achat de ta calculatrice Graph Math+ d'ici le 31 Octobre 2024
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2024
5€ de remise immédiate sur l'achat de ta calculatrice TI-83 Premium CE Edition Python chez les revendeurs partenaires
4€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced Edition Python chez les revendeurs partenaires
3€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced chez les revendeurs partenaires
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234567891011121314
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1319 utilisateurs:
>1273 invités
>41 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)