π
<-
Chat plein-écran
[^]

Des chiffres!! :D

Pour le TI-Basic sur Nspire

Re: Des chiffres!! :D

Message non lude maestroarte » 27 Avr 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 :)
Avatar de l’utilisateur
maestroarte
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 36.6%
 
Messages: 165
Inscription: 30 Jan 2011, 08:10
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Des chiffres!! :D

Message non lude Levak » 27 Avr 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
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: Des chiffres!! :D

Message non lude maestroarte » 27 Avr 2012, 20:46

2 764 800 opérations arithmétiques. :O ok! ;) le compte est bon! ;)
Avatar de l’utilisateur
maestroarte
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 36.6%
 
Messages: 165
Inscription: 30 Jan 2011, 08:10
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Des chiffres!! :D

Message non lude Bisam » 30 Avr 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...
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.5%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Des chiffres!! :D

Message non lude Adriweb » 30 Avr 2012, 09:49

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

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Des chiffres!! :D

Message non lude maestroarte » 02 Mai 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!!
Avatar de l’utilisateur
maestroarte
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 36.6%
 
Messages: 165
Inscription: 30 Jan 2011, 08:10
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Des chiffres!! :D

Message non lude Levak » 02 Mai 2012, 11:56

maestroarte a écrit: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
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: Des chiffres!! :D

Message non lude Bisam » 02 Mai 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: Tout sélectionner
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: Tout sélectionner
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: Tout sélectionner
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.
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.5%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Des chiffres!! :D

Message non lude Excale » 02 Mai 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...) :).
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Des chiffres!! :D

Message non lude Bisam » 02 Mai 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"...
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.5%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

PrécédenteSuivante

Retourner vers Nspire-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1402 utilisateurs:
>1389 invités
>8 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)