π
<-

Des chiffres!! :D

Pour le TI-Basic sur Nspire

Re: Des chiffres!! :D

Unread postby maestroarte » 27 Apr 2012, 19:46

Re Excale ;) (Désolé du retard, je n'avais plus internet)
Alors,
Je ne sais pas si vous avez très bien compris ce que je voulais (d'ailleurs, à l'écriture du post je ne le savais pas moi-même!)
Maintenant j'en suis sur et certain:
Vous connaissez surement l'émission des chiffres et des lettres.
Je voudrais un programme en TI Basic qui résolve la partie "chiffre" de l'émission.
Les candidats disposent de 6 chiffres et doivent obtenir un résultat final en UTILISANT qu'une fois les chiffres, mais peuvent utiliser un même opérateur plusieurs fois ! (opérateurs utilisés: + / - * )
Par exemple, dans cette video http://www.youtube.com/watch?v=ZpT6r6vuTik , à partir de la 3éme minutes les candidats disposent de:
10 - 5 - 25 - 6 - 1 - 2
et doivent trouver 362
Une des réponses possibles trouvées à la fin du temps réglementaire était:
((10+5)*25) - (6*2 + 1) = 375 - 13 = 362

Beaucoup de possibilités de calcul sont enviseageables, je me pose alors deux questions:
- 1) Est-ce que la TI NSpire CX CAS doit aboutir à cette démarche par hasard ? c'est à dire elle va tester une à une toutes les possibilités de calcul avec ces chiffres là ... Est-ce que c'est plus long que le temps réglementaire malgré la capacité de calcul de la calto ? Est même, quel est le code a écrire pour envisager TOUTES les possibilités et les faire calculer une à une à la calto? Ne serait-ce pas possible de les éléminer unes à unes une fois qu'elles ont été testées, ou c'est impossible en langage TI BASIC ? (histoire que la calto ne fasse pas deux fois le même calcul, est donc qu'elle gagne du temps ...)

-2) Est-il possible rendre le programme intelligent?? C'est à dire qu'il va utiliser des chiffres pour s'approcher le plus de résultat demandé (ex: ici (10+5)*25) pour ensuite "ajuster" le reste avec les autres nombres disponibles ... ??

Enfin, ce programme me parait quand même assez utopique =/ ...

Et sinon Excale, je ne connais la fonction expr(b[1]&a[1]&b[2]&a[2]&b[3]&a[3]&b[4]&a[4]&b[5]) ^^'

Merci :)
User avatar
maestroarte
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 36.6%
 
Posts: 165
Joined: 30 Jan 2011, 08:10
Gender: Male
Calculator(s):
MyCalcs profile

Re: Des chiffres!! :D

Unread postby Levak » 27 Apr 2012, 19:51

Alors là ... le problème est plus de comment le faire sur papier, on en reparlera après pour le faire sur calculatrice :D

edit : est visiblement, les liens affluent si on cherche "le compte est bon" au lieu de "des chiffres et des lettres"
exemple : http://le.compte.est.bon.free.fr/Algo.htm
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Des chiffres!! :D

Unread postby maestroarte » 27 Apr 2012, 20:46

2 764 800 opérations arithmétiques. :O ok! ;) le compte est bon! ;)
User avatar
maestroarte
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 36.6%
 
Posts: 165
Joined: 30 Jan 2011, 08:10
Gender: Male
Calculator(s):
MyCalcs profile

Re: Des chiffres!! :D

Unread postby Bisam » 30 Apr 2012, 09:01

J'ai quelque part un algorithme écrit en Maple qui fait le tirage aléatoire et qui recherche toutes les solutions et les affiche.
Si ça vous intéresse, j'irai le chercher dans mes archives...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Des chiffres!! :D

Unread postby Adriweb » 30 Apr 2012, 09:49

J'avais fait ca en Bash et en ti-basic, il fut un temps :)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Des chiffres!! :D

Unread postby maestroarte » 02 May 2012, 10:36

Adriweb, ce genre de programme est faisable en basic?? :D
Et sinon, si on peut avec le code Maple "trouver" le code en TI Basic (ou du moins le déduire), je veux bien voir le script :D

Merci!!
User avatar
maestroarte
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 36.6%
 
Posts: 165
Joined: 30 Jan 2011, 08:10
Gender: Male
Calculator(s):
MyCalcs profile

Re: Des chiffres!! :D

Unread postby Levak » 02 May 2012, 11:56

maestroarte wrote:Et sinon, si on peut avec le code Maple "trouver" le code en TI Basic (ou du moins le déduire), je veux bien voir le script :D


Ahem, ton cerveau ?


















[me]je suis déjà loin t'inquiètes[/me]
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Des chiffres!! :D

Unread postby Bisam » 02 May 2012, 16:10

Le voici.
Ce n'est pas très beau mais ça marche...
C'est adaptable en TI Basic... mais j'ai peur que ce soit lent pour la calculatrice...
Voici de quoi faire un tirage :
Code: Select all
tirage:=proc()
local l,i,n,liste,total:
l:=[1,2,3,4,5,6,7,8,9,10,25,50,75,100]:
liste:=[]:
n:=nops(l);
for i from 1 to 6 do
j:=mod(rand(),n-i)+1;
liste:=[op(liste),l[j]];
l:=[op(l,1..j-1),op(l,j+1..n-i)];
od:
return [liste,mod(rand(),900)+100];
end;

Une fonction pour afficher les calculs intermédiaires :
Code: Select all
ecrire:=proc(operation,n1,n2)
if operation=1 then printf("%d%s%d=%d ",n1,"*",n2,n1*n2) fi;
if operation=2 then printf("%d%s%d=%d ",n1,"+",n2,n1+n2) fi;
if operation=3 then printf("%d%s%d=%d ",n1,"-",n2,n1-n2) fi;
if operation=4 then printf("%d%s%d=%d ",n1,"/",n2,n1/n2) fi; # ne fonctionne qu'avec des entiers
end;

et enfin la fonction récursive qui cherche la solution :
Code: Select all
Recursif:=proc(nb,plaques,total) # nb=nombre de plaques (pl1,...,pl6), total=nb à trouver
option remember; # plaques est une liste de six nombres
local ok,i,j,pl1,pl2,operation,calcul,plaquesauxiliaires;
ok:=false; # si ok=true, on a trouvé une solution sinon pas trouvé
i:=0;
while (ok=false and i<=5) do
i:=i+1;
if plaques[i]<>0 then
j:=i;
while (ok=false and j<6) do
j:=j+1;
if plaques[j]<>0 then
pl1:=max(plaques[i],plaques[j]);
pl2:=min(plaques[i],plaques[j]);
operation:=1; # 1=multiplication, 2=addition, 3=soustraction, 4=division
while (ok=false and operation<5) do
if operation=1 then calcul:=pl1*pl2 fi;
if operation=2 then calcul:=pl1+pl2 fi;
if operation=3 then calcul:=pl1-pl2 fi;
if operation=4 then
if (pl2<>1 and irem(pl1,pl2)=0) then calcul:=pl1/pl2 fi
fi;
if calcul=total then ok:=true;
elif (calcul<>0 and nb>1) then
plaquesauxiliaires:=plaques;
plaquesauxiliaires[i]:=calcul;
plaquesauxiliaires[j]:=0;
ok:=Recursif(nb-1,plaquesauxiliaires,total)
fi;
if ok then ecrire(operation,pl1,pl2) fi;
operation:=operation+1 # opération suivante
od;
fi;
od;
fi;
end;
ok:
end;

Ce qui fait gagner beaucoup de temps en Maple, c'est l'option "remember" qui enregistre automatiquement une liste des valeurs déjà calculées d'une fonction pour ne pas avoir à les recalculer plus tard. C'est particulièrement efficace pour les fonctions récursives susceptibles de retomber plusieurs fois sur les mêmes données comme c'est le cas ici.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Des chiffres!! :D

Unread postby Excale » 02 May 2012, 16:13

La récursion c'est pas le fort du TI-Basic...
Sinon, dans les fonctions, on dirait qu'il y a autre chose que le code (balises...) :).
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: Des chiffres!! :D

Unread postby Bisam » 02 May 2012, 16:43

J'avais fait un copier-coller du fichier texte car je n'ai pas Maple sur l'ordi où je suis pour l'instant.
J'ai nettoyé ce qu'il fallait.

PS : Je précise que l'algorithme n'est pas de moi : si j'avais eu à le programmer, je n'aurais envoyé que les "plaques auxiliaires" utiles, sans les 0 et je n'aurais pas eu besoin de la balise "nb"...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

PreviousNext

Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"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.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
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.
840 utilisateurs:
>752 invités
>81 membres
>7 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)