| Sur la dichotomie |
| Auteur |
Message |
monsalbert
Invité
|
Posté le : Lun 14 Nov 2011, 23:07
|
|
|
bonsoir
pour resoudre une equation par dichotomie mon problème est : comment et où introduire le fonction f( qui va permettre de poser la condition f(a)*f(b)>0?
(avec TI82 Stat.fr)
merci
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Lun 14 Nov 2011, 23:21
|
|
|
Huhu... si tu veux que je t'aide, il va falloir que tu me rappelles ce qu'est la dichotomie, comment ça fonctionne, quels problèmes ça pose, comment on les résout, quelle est la problématique du sujet et les étapes de l'argumentation parce que là... Je sais pas.
Désolé 
|
 |
|
| |
monsalbert
Invité
|
Posté le : Mar 15 Nov 2011, 14:36
|
|
|
un lien où setrouve le document:
https://www.lyceehugobesancon.org/math/IMG/pdf/TP05_-_Nombre_d_or_et_dichotomie_mod.pdf
|
| |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mer 16 Nov 2011, 1:22
|
|
|
Voila la traduction de ton programme pour TI mais je ne suis pas sur que c'est ce que tu cherches:
| Code | Input "Y1=",Str1
Str1->Y1
1->A
2->B
While B-A>E-4
If Y1(A)*Y1((A+B)/2)>0
Then
A+B/2->A
Else
A+B/2->B
End
End
Disp A,B |
Ce code est très facilement optimisable mais j'ai préféré garder le formalisme donné.
Sangohan38
|
 |
|
| |
monsalbert
Invité
|
Posté le : Mer 16 Nov 2011, 18:32
|
|
|
Bonsoir sangohan38,
Merci, c'est bien ce programme de dichotomie que je souhaite faire et tu as bien de respecter l'ordre.
mais mon problème c'est surtout l'introduction de la fonction Y1 ( sur la doc : x^2-x-1 )
si j'ai bien compris ton programmez celà se passe ici
Input "Y1=",Str1
Str1->Y1
explique : 1/ où ecrit-on la fonction ( x^2-x-1) 2 / c'est quoi Str1, une fonction de la TI 82 que j'ignore où doit-on l'ecrire avec les touches en majuscules? enfin explique ces 2 lignes..
merci
|
| |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Mer 16 Nov 2011, 18:43
|
|
|
Str1 est égal à chaine 1 dans une ti 82 stats (en anglais : chaine1 = string1, d'où le str). Tu la trouve dans le menu [vars] puis [7].
Une chaine sert à enregistrer plusieurs caractères : c'est une suite de texte. Ici, ce texte est ensuite enregistré dans Y1, qui est ta fonction (x^2-x-1)2.
Dans ce programme, tu peux aussi changer ta fonction 
Voila voila si j'ai bien compris le principe je ne devrais pas avoir faux !
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Mer 16 Nov 2011, 18:44
|
|
|
Vue que ta TI est en français, c'est Chaîne1 au lieux de Str1, et c'est une variable que tu doit prendre en faisant [var][7][1].
Et tu entre ta fonction quand on te demandera Y1= , tu entre ton équation sans guillemets, comme si tu était dans l'éditeur de fonction ("f( ")
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
monsalbert
Invité
|
Posté le : Jeu 17 Nov 2011, 14:27
|
|
|
bonjour,
il y a un problème toujours au niveau de l'introduction de la fonction, dans les 2 premières lignes
Input "Y1=",Str1
Str1->Y1
j'ai entré le programme mais lorsqu'on execute, il me demande bien de rentrer l'expression de la fonction mais ensuite ceci fait , il affiche
Chaine1= ?
je ne sais ce qu'il veut.
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Jeu 17 Nov 2011, 16:09
|
|
|
Au moment ou il te demande "Chaine1", entres lui la fonction (x^2-x-1 si je me souviens bien).
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Jeu 17 Nov 2011, 17:19
|
|
|
Tu n'as pas doublé ta ligne d'input par hasard où alors Oublié de fermer les guillemets?
Sangohan38
|
 |
|
| |
monsalbert
Invité
|
Posté le : Jeu 17 Nov 2011, 17:24
|
|
|
- je viens de faire ce que tu dis : ERR et voir me montre la 1ère ligne du programme ( ce qui m'etonne car il m'a laissé rentrer la fonction à la 1ère ligne)
je fais remarquer que celà me fait rentrer la fonction 2 fois : 1 sur la première ligne - qu'il accepte-et 1 sur la 2ème ligne qu'il refuse.
Rq : je n'ai pas mis de guillemets dans
Input "Y1=",Str1 ni l'indice 1(àY1)
Str1->Y1
|
| |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Jeu 17 Nov 2011, 17:29
|
|
|
Pour Y1, tu as bien pensé à utiliser la fonction et non taper Y puis 1?
Sangohan38
PS: Je viens de tester le programme et il me donne 2 pour A et 2 pour B. Est-ce le bon résultat?
|
 |
|
| |
monsalbert
Invité
|
Posté le : Jeu 17 Nov 2011, 18:57
|
|
|
comme je le dis dans mon message precedent j'ai bien rentré les 2 fois l'expression algebrique x^2-x-1 de Y1. bien entendu a=1 et b=2 .
la reponse avec cette precision est dans les 1.6....mais a et b sont legerement differents et constituent un encadrement de la solution finale.
mais tu ne dis pas si c'est normal que Chaine 1 me redemande quelque chose ?
j'ai mis Y1 parceque je ne pouvais mettre autre chose.
j'ai des doutes ou sur les 2 premières lignes ou sur mon execution qu'il faudrait me preciser car là je travaille en aveugle
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Jeu 17 Nov 2011, 21:11
|
|
|
Mais si le programme te le demande deux fois... Tu as deux "Input" dans le code ?
tu peux le reposter stp si il est différent de celui au dessus ?
|
 |
|
| |
monsalbert
Invité
|
Posté le : Jeu 17 Nov 2011, 21:26
|
|
|
Je mets plutôt Prompt, mais j’en mets un seul à la 1ère ligne comme dans le message plus haut de sangohan38.. C’est Chaine 1 qui presente un point d’interrogation . comme je ne sais pas ce qu’il veut je mets .Y1.
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Jeu 17 Nov 2011, 21:42
|
|
|
AH.
Donc tu as un prompt et un input.
Chaine1, c'est quelque chose qui enregistre en mémoire du texte.
Y1, c'est la variable qui peut contenir une fonction mathématique.
En l'occurence,
Input Chaine1
t'affiche "Chaine1 ?"
là tu écris ta fonction mathématique, le texte est enregistré dans Chaine1.
Puis
Chaine1->Y1
sert à mettre le texte de ta fonction en tant que vraie fonction dans Y1.
Normalement ça marche, je sais pas pourquoi y'a un prompt. Je retourne lire le début et je reviens 
|
 |
|
| |
monsalbert
Invité
|
Posté le : Jeu 17 Nov 2011, 23:18
|
|
|
voilà mes 2 lignes actuelles:
Prompt Y1,Chaine 1
Chaine1->Y1
et celà bloque.
|
| |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Jeu 17 Nov 2011, 23:40
|
|
|
C'est au prompt que ça bloque. vu que tu demande d'abord Y1 puis Chaine1.
Supprime donc ",Chaine1" ainsi que "Chaine1->Y1" et ça devrai fonctionner.
Sangohan38
|
 |
|
| |
monsalbert
Invité
|
Posté le : Ven 18 Nov 2011, 13:08
|
|
|
Choux blanc! mais c'est normal car on isole la 1ère ligne du reste de programme.
mais bien sùr tout marche mais on trouve 1.5 et 2.le proramme fait un seul voyage!!..et Y n'est pas pris en compte.
il doit y avoir une place specialepour les programmes où on met au chaud la fonction désirée
Rq : nous on met prompt ou input pour mettre n'importe quelle fonction
LE RESULTAT (par calcul): 1.61798 et 1.618042
comment introduit-on une fonction que le programme utilise?
|
| |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Ven 18 Nov 2011, 13:24
|
|
|
Y est pris en compte vu qu'on l'entre au moment du prompt.
Et après, je rappel que Y1 est la fonction pas les symboles Y puis 1.
Sangohan38
|
 |
|
| |
monsalbert
Invité
|
Posté le : Ven 18 Nov 2011, 18:11
|
|
|
désolé, je ne comprends pas.
pour voir la chose de prés je fais le petit programme suivant:
Prompt Y
Prompt A
Y1(A)->B
Disp B
end
je lance à =? je rentre x^2
= ? je rentre 3 je m'attends à lire 9 : d'abord "voir" demande de supprimer end (!!?)
end supprimé on lit pour 3^2 : 887.52 et Fait
perdu!!!.
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Ven 18 Nov 2011, 18:23
|
|
|
Si par hasard tu supprimes le End et tu remplaces "Prompt Y" par "Prompt Y1" , est-ce que ça marche ?
|
 |
|
| |
monsalbert
Invité
|
Posté le : Ven 18 Nov 2011, 19:54
|
|
|
j'ai fait: il refuse l'indice 1( clic/ "voir" bien sùr)
|
| |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Ven 18 Nov 2011, 20:02
|
|
|
Donc comme j'ai dit dans mon post précédent, les Y1 sont la fonction Y1.
Je t'invite à voir le sujet sur l'emplacement des fonctions pour la trouver (VARS+flèche droite+1 de mémoire).
Sangohan38
|
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Sam 19 Nov 2011, 16:43
|
|
|
Y1 se trouve dans le menu [var]+[droite]+[1] (ou bien dans le menu [2nde]+[var] sur les ti 82-tout-court)
La touche [var] se trouve juste à gauche de clear.
Prompt variable // affiche le nom de la variable puis attend qu'on saisisse quelque chose à sauver.
Prompt variable,variable // applique la même procédure pour chaque variable.
Input variable // affiche "?" puis attends qu'on saisisse.
Input "texte",variable // affiche "texte" puis attends qu'on saisisse.
Les variables peuvent être quasiment n'importe quoi.
Mais si cette variable est une Chaîne (String) le Prompt nécessitera que vous saisissiez des guillemets lors de l'execution. (sinon erreur type de donnée)
==>> Le Input permet d'utiliser une chaîne sans complication.
Si vous utilisez une variable de fonction (OUI c'est possible ) il faudra utiliser des guillemets lors de la saisie aussi bien pour Input que pour Prompt.
Cela permettrait de se passer des chaînes mais avec un handicap de guillemets.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
monsalbert
Invité
|
Posté le : Lun 21 Nov 2011, 19:34
|
|
|
bonsoir,
j'ai essayé de resoudre uniquement le problème par ce programme : obtenir le carré d'un nombre
"X^2"->Y1 ( je pense que j'introduis la fonction dans le programme)
Prompt A
Y1(A)-> B
Disp B je lance ( pour A : 3) il affiche 7.324..
Au point mort!..
Je ne comprends pas notament le rôle de Var (à gche de annul ). En quoi le programme est il faut? Je souhaiterais le detail de la mise en place de la 1ère ligne ( introduction de la fonction carrée)car je pense que là est l'erreur, en precisant le rôle dechaque action.
merci
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Mar 22 Nov 2011, 13:04
|
|
|

| Code |
"X^2"->Y1
Prompt A
Y1(A)-> B
Disp B
|
ça, chez moi, ça donne 9 si A=3, je viens d'essayer...
Le programme est JUSTE . Je te détaille quand même:
"X^2" est la fonction.
-> sert à attribuer quelque chose à une variable
Y1 est la variable, toute les variables Y sont censées contenir des fonctions mathématiques, ce qui est le cas ici puisque "X^2" est une fonction
mathématique.
"X^2"->Y1 : tu enregistres la fonction "X¨2" dans la calculette.
Prompt A : tu demandes une valeur pour A
Y1(A)-> : tu donnes à B la valeur de f(A) pour la fonction qui est dans Y1
Disp B : tu affiches B
D'où peut venir l'erreur... Il est possible que ta TI ne soit pas en mode Fct mais ça m'étonnerait:
Dans [mode], les fonctions surlignées sont bien celles qui se trouvent à GAUCHE de l'écran ? (sauf peut-être Degre...)
Là, ça m'étonne vraiment, ton résultat. Chez moi, ton programme fonctionne parfaitement bien...
C'est peut être un bug de la TI mais quand même, c'est bizarre...
|
 |
|
| |
monsalbert
Invité
|
Posté le : Mar 22 Nov 2011, 18:09
|
|
|
ahurissant! celà ne marche pas. exactement le même code !
- un essais en enlevant les guillemets
- un essais en enlevant l'indice 1 à Y
toujours les même résultats !! si A= 3 B= 75
A= 5 B= 125
A=7 B= 175
cette coherence qui n'a rien à voir avec le vrai résultat!!
Je te remercie d'avoir détaillé ta réponse celà me rassure.
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Mar 22 Nov 2011, 21:32
|
|
|
Sans les guillemets, tu devrais avoir une erreur.
Tu m'expliques COMMENT tu arrives à enlever l'indice 1 à Y ???
Il y a de Y1 à Y9 plus Y0 ... mais je ne connais pas de fonction Y toute seule.
Encore une fois, j'espère que tu l'as ben prise dans le menu [var][droite][1][enter] ?
Parce qu'attention: la LETTRE Y toute seule est prévue pour contenir un nombre, pas une fonction mathématique.
c'est Y1 ou Y+indice qui servent pour les fonctions mathématiques.
|
 |
|
| |
monsalbert
Invité
|
Posté le : Mer 23 Nov 2011, 14:07
|
|
|
quand j'ecris le code je frappe Y et le 1 sur le clavier de la TI.
"Encore une fois, j'espère que tu l'as ben prise dans le menu [var][droite][1][enter] ?"
!!..
une fois j'ai vu qu'on pouvais mettre Y1 dans le code en faisant :
[var][droite][1][enter] ?" c'est celà que tu veux dire ?
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Mer 23 Nov 2011, 14:32
|
|
|
OUI
Il FAUT ABSOLUMENT utiliser [var][droite][1][enter].
Parce que Y (la lettre) avec un 1 devant n'est pas une variable pour une fonction mathématique.
(C'est un nombre Y multiplié par 1, enfin bref...)
Si tu veux que ça marche, à chaque fois que tu vois Y1 tu dois utiliser [var][droite][1][enter].
|
 |
|
| |
monsalbert
Invité
|
Posté le : Jeu 24 Nov 2011, 14:49
|
|
|
1- bien ; j'ai fait Y1 avec var-droite ( var-Y)1 entrer. resultat:
pour 3 donne 147 c.à d 49*3
5 donne 245 c.à d.49*5
7 donne 343 c.à d. 49*7
il ya 2 jours celà donnait A= 3 B= 75 (25*3)
A= 5 B= 125 (25*5)
A=7 B= 175 (25*7)
2-est-il normal de ne rien voir dans FONCTION (de VAR-Y) que la colonne des Y1,Y2...( je pensais voir notre fonction x2)?
. est-il normal de voir dans f( (sous graph stats) la fct x^2 ( j'essais de voir les liens entre les menus)?Rq: comme je multiplie les essais à cette heure on a à nouveau 75 /125 /175 poue 3,5;7
- 3 est il possible qu'en manipulant la machine j'ai touché une fonction responsable de ce bug ? auquel cas une reinitialisation remettrais tout en place
( en dernier recours! car on ne saurait la cause des ennuis)
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Jeu 24 Nov 2011, 17:14
|
|
|
| Citer |
2-est-il normal de ne rien voir dans FONCTION (de VAR-Y) que la colonne des Y1,Y2...( je pensais voir notre fonction x2)?
. est-il normal de voir dans f( (sous graph stats) la fct x^2 ( j'essais de voir les liens entre les menus)?
|
Oui, ceci est parfaitement normal.
[var][droite] est juste le menu avec les "noms" des variables, pour qu'on puisse les mettre dans un programme, et le menu f(x ) est bien celui ou apparaissent les valeurs des fonctions.
Si ta fonction apparait dans f(x ), c'est bon signe, ça devrait marcher !
Tu n'as pas oublié de remplacer le Y1(A) aussi ? Là aussi il faut mettre celui de [var][droite][1]...
La lettre Y est une variable faite pour contenir un nombre, contrairement à la variable Y1 qui sert à contenir une fonction mathématique.
Ton Y1 est bien égal à X² (la preuve il s'affiche dans f(x ) ...), mais si pour le calcul tu réutilise le NOMBRE Y, ça ne marche pas: La calculette comprend Y*1*A. Si ta lettre Y est égale à 25, ça t'affiche le multiple de A par 25.
cqfd. 
|
 |
|
| |
monsaibert
Invité
|
Posté le : Ven 25 Nov 2011, 10:21
|
|
|
bonjour persalteas,
SUPER! enfin j'ai compris! tes reponses"carrées" très bien.
je te ferais remarquer que je depuis le debut j'ecrivais le programme, mais la fonction etait hors jeu. Il n'y a que quelques jours que je voyais Var entrer en jeu. De plus tu as bien fait d'enfoncer le clou pour Y1(A) sur les autres lignes, probablement je ne l'aurais pas fait.
en effet ce programme de dichotomie je l'ai dejà fait avec algobox; hors là (et j'ai bien aimé) on rentre les variables dès le debut et la fonction aussi puis on est tranquille, elle est prise en compte. En plus l'entrée de la fonction est en plein milieu des syntaxes de base SI, FOR, DE .A
enfin merci persalteas, evidement après la dichotomie est passée comme une lettre à la poste.
|
| |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Ven 25 Nov 2011, 14:14
|
|
|
| Citer |
SUPER! enfin j'ai compris! tes reponses"carrées" très bien.
|
pfiouuuu... ^^
Bien ! Bon, ben tant mieux !
Bonne continuation 
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |