Page 1 of 1

Problème Programmation

Unread postPosted: 16 Sep 2015, 10:31
by Jeff Ekaka
Bonjour,
Anciennement possesseur d'un TI-82+, je viens de passer sur une Nspire CX CAS. Mais me voila devant un problème : j'essaie de faire un algorithme imitant le jeu "le Juste Prix" (très simple donc) mais je ne comprends pas pourquoi la calculatrice me dit :" Erreur: il n'a pas assez d'arguments Un ou plusieurs arguments de la fonction n'ont pas été spécifié". Ca va surement vous paraitre très facile, mais vraiment je vois pas ! Bref voici le code :) :
Code: Select all
Define LibPub justeprix()=
Prgm
randInt(0,1000)->b
Disp "Choisis ton nombre d'essais"
Request n
n-1->n
Disp "trouve le nombre entre 0 et 1000"
Request a
While a=/=b and n=/=0
n-1->n
If a>b
Disp "-"
If a<b
Disp "+"
Request a
EndWhile
If a=/= b
Then
Disp "looser",b
Else
Disp "winner",b
EndIf
EndPrgm



Merci pour toutes réponses !

Re: Problème Programmation

Unread postPosted: 16 Sep 2015, 10:54
by Bisam
Je ne vois pas d'erreur dans ton programme, cependant tu as peut-être fait des erreurs avant et ou lié d'enregistrer les modifications.
Pour cela, il suffit d'appuyer sur
ctrl
B
quand tu es dans l'éditeur de programme.

Si ça ne marche toujours pas, cela vient peut-être de la façon de lancer le programme.
Dans ton cas, il faut que tu tapes justeprix().

Reviens avec des précisions sur ce que tu as fait et sur l'endroit où se situe l'erreur dans le code si ça ne marche toujours pas.

Re: Problème Programmation

Unread postPosted: 16 Sep 2015, 11:22
by Jeff Ekaka
En appuyant sur CTRL+B ça me fait exactement la même chose. De plus, je ne peux même pas lancer le programme : Au moment d'enregistrer, il m'indique ce problème. J'ai essayé de changer le nom, ça ne marche pas, ainsi que de changer de bilbiothèque, ce qui ne marche pas non plus. Décidément je ne sais pas d'où ça vient.

Re: Problème Programmation

Unread postPosted: 16 Sep 2015, 12:28
by Ti64CLi++
En fait, c'est pour les Request:
Code: Select all
Request a
ne marche pas ;)
Il faut faire
Code: Select all
Request "",a


Bonne chance ;)

Re: Problème Programmation

Unread postPosted: 16 Sep 2015, 19:57
by Jeff Ekaka
Alors merci beaucoup, il n'y a plus ce message d'erreur mais formidable :), un autre apparaît, qui dit :"Erreur : Manque d'une instruction de début ou de fin de bloc.
Du coup j'ai essayé de réécrire le programme en mettant des EndIf :

Code: Select all
Define LibPub justeprix()=
Prgm
randInt(0,1000)->b
Disp "Choisis ton nombre d'essais"
Request n
n-1->n
Disp "trouve le nombre entre 0 et 1000"
Request a
While a=/=b and n=/=0
n-1->n
If a>b
Disp "-"
EndIf
If a<b
Disp "+"
EndIf
Request a
EndWhile
If a=/= b
Then
Disp "looser",b
Else
Disp "winner",b
EndIf
EndPrgm

Mais ça ne marche pas :( quelqu'un a une idée ?

Re: Problème Programmation

Unread postPosted: 16 Sep 2015, 20:34
by NspireCas
neuronix wrote:En fait, c'est pour les Request:
Code: Select all
Request a
ne marche pas ;)
Il faut faire
Code: Select all
Request "",a


Bonne chance ;)

Re: Problème Programmation

Unread postPosted: 16 Sep 2015, 20:41
by Lu_Lu54
quand tu ouvres une boite if, tu dois mettre ça :

If a=1 Then
Disp "gagné !"
Endif

tu avais oublié les then

Re: Problème Programmation

Unread postPosted: 16 Sep 2015, 20:59
by NspireCas
Ah oui, désolé je n'avais pas vu le problème.
Effectivement la structure if fonctionne de deux manières, soit :

Code: Select all
if condition Then
  Instruction
EndIf


Soit, dans ton cas par exemple où l'instruction ne prends qu'une ligne :
Code: Select all
if condition
  Instruction_d_une_ligne



Ainsi, dans ton cas, tu peux soit rajouter Then, soit enlever le EndIf.

Pour le dernier If de ton programme, n'oublie pas de ramonter d'une ligne le Then.

Tu as mis Disp "-/+" dans le programme, mais je doute que ça laisse assez de temps au joueur de le voir et d'y réfléchir; je pense que Text "+" sera plus adapté, ça affichera une boîte de dialogue avec un "+", mettant ainsi en pause le programme tant que tu n'appuies pas sur OK par exemple.