Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe

Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
Mar 10 Oct 2017 - 19:42 par Wistaro

» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++

» flappy bird
Jeu 15 Déc 2016 - 10:23 par Ti64CLi++

Partenaires
TI-Planet Espace-TI : Forum

Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)

Les posteurs les plus actifs du mois


Math+ Physique

Voir le sujet précédent Voir le sujet suivant Aller en bas

Math+ Physique

Message par anou le Lun 9 Déc 2013 - 22:32

Bonjour à tous, je voulais vous partager mon programme appellé COURS, il concerne plutôt les 1ères S, il sera completé tout au long de l'année

Il y a deux parties, une partie Math, une Physique-Chimie. J'ai essayé d'optimiser du mieux que j'ai pu, mais je ne suis pas un pro là dedans, il est programmer de base pour ti-82stats.fr. J'ai essayé d'être le plus simple possible dans le programme, economiser quelques octets par ci par là, par exemple remplacer "RETOUR" par "BACK" en anglais, histoire de gagner 2 octets ou autre.


Dans la partie Maths, le programme Degre 2 est basé sur le programme degre 2 de tout82, mais il est tout de même modifier.
Je ne mets pas de crédit dans le programme car ça prends des octets et c'est utile pour certains mais bon, si vous souhaitez les mettre, mettez simplement "BELABBAS.A" ou mon pseudo "ANOU".


La 1ère ligne "Lbl 1,2,3...   c'est un pense bête pour me souvenir des labels utilisés, vous pouvez donc la supprimé pour gagner encore de la place ou simplement faire Lbl utilisé 1->37


Je vous passe le fichier .83p ainsi que le  code à recopier si vous n'avez pas de cable Smile

Si il y a une quelconque optimisation possible, merci de m'en faire part :)Ou si il y a un bug Wink



PS: Certains programmes comme Graph sont inutile, je l'ai fais simplement pour essayer de comprendre la gestion des touches.
PS 2: Il y a le programme COURS et  le programme 0DEL, c'est un programme qui se charge de supprimer automatiquement toutes les variables, les chaines et les listes quand vous quittez le programme.
Ce programme fais 113 Octets.

Le programme COURS.83p : mediafire.com download/angw18yaax4vu96/COURS.83p
Le programme DEL: mediafire.com download/p6amycbjnk0l8kg/_theta_DEL.83p

Il faut utiliser la balise CODE ?

Le code du programme DEL:

Code:
:ClrHome
:DelVar ADelVar BDelVar CDelVar DDelVar EDelVar FDelVar GDelVar HDelVar IDelVar JDelVar KDelVar LDelVar LDelVar MDelVar NDelVar ODelVar PDelVar QDelVar RDelVar SDelVar TDelVar UDelVar VDelVar WDelVar XDelVar YDelVar ZDelVar ΘDelVar Y1DelVar Str1ClrAllLists
:Output(1,1,"

Le programme COURS:

Code:
:"LBL 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37
:
:Lbl 36
:ClrHome
:Menu("CHOIX","MATH",16,"PHYS",26,"QUIT",37
:Lbl 16
:Menu("CHOIX","DEGRE 2",1,"COLINEAIRE",12,"CARTESIENNE",15,"DERIVE",18,"GRAPH",19,"BACK",5
:Lbl 1
:ClrHome
:Input "A:",A
:Input "B:",B
:Input "C:",C
:If A=0:Then
: Goto 17
:Else
: ‾B/(2A→J
: ClrHome
: Lbl 6
: Menu("FORME","RACINE",2,"CANONIQUE",3,"NEW",4,"BACK",16
: Lbl 4
: Goto 1
: Lbl 2
: ClrHome
: Lbl 17
: ClrHome
: If A=0:Then
: Output(3,3,"C\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'EST PAS
: Output(5,3,"DU 2ND DEG
: Pause
: Goto 16
: End
: B²-4AC→D
: Output(1,1,"DELTA=
: Output(1,7,D
: If D>0:Then
: Disp "2 SOLUT°
: (‾B)-(√(D))/2A→E
: (‾B)+(√(D))/2A→F
: Output(4,1,"S1=("
: Output(4,5,‾B
: Output(4,8,"-√(
: Output(4,10,D
: Output(4,12,")/
: Output(4,14,2A
: Output(6,1,"S2=(
: Output(6,5,‾B
: Output(6,8,"+√(
: Output(6,10,D
: Output(6,12,")/
: Output(6,14,2A
: Output(8,1,"SOIT
: Pause
: ClrHome
: Disp "S1=",E►Frac,"S2=",F►Frac
: Pause
: ClrHome
: End
: If D<0:Then
: Menu("NB","REELS",7,"COMPLEXE",8
: Lbl 7
: Output(2,1,"0 SOLUT°
: Pause
: Goto 9
: Lbl 8
: Output(2,1,"2 SOLUT°
: Output(4,1,"S1=(
: Output(4,5,‾B
: Output(4,8,"-I√(
: Output(4,11,‾D
: Output(4,13,")/
: Output(4,15,2A
: Output(6,1,"S2=(
: Output(6,5,‾B
: Output(6,8,"+I√(
: Output(6,11,‾D
: Output(6,13,")/
: Output(6,15,2A
: Pause
: Goto 6
: End
: If D=0:Then
: Output(2,1,"1 SOLUT°
: Output(4,1,"S=
: Output(4,3,‾B
: Output(4,6,"/
: Output(4,7,2A
: Output(6,1,"SOIT
: Pause
: ClrHome
: Disp "S= ",J►Frac
: End
: Lbl 9
: ClrHome
: Menu("GRAPH","YES",10,"NO",11
: Lbl 10
: AxesOn
: StoreGDB 5
: "AX²+BX+C"→Y1
: ZStandard
: DispGraph
: Text(0,0,"SOMMET:
: Text(6,0,"X= ",J
: Text(12,0,"Y= ",Y1(J
: Pause
: RecallGDB 5
: Goto 6
: Lbl 11
: Goto 6
: Lbl 3
: ClrHome
: Output(2,1,"ALPHA=
: Output(2,7,J
: Output(1,1,"ALPHA=‾B/2A
: AJ²+BJ+C→K
: Output(5,1,"BETA=F(X)=
: Output(5,11,K
: Pause
: Goto 6
: Lbl 12
: ClrHome
: Disp "VECT (AB)(CD)
: Input "ˉxAB:",A
: Input "ˉyAB:",B
: Input "ˉxCD:",C
: Input "ˉyCD:",D
: If AD=BC:Then
: Disp "COLI
: Else
: Disp "PAS COLI
: End
: Pause
: Goto 16
: Lbl 15
: ClrHome
: Input "ˉx0:",X
: Input "ˉy0:",Y
: Input "ALPHA:",F
: Input "BETA:",G
: G→A
: ‾F→B
: ‾AX-BY→C
: ClrHome
: Output(1,1,"A=BETA=
: Output(1,9,A
: Output(3,1,"B=‾ALPHA=
: Output(3,12,B
: Output(5,1,"C=
: Output(5,3,C
: Pause
: Goto 16
: Lbl 18
: ClrHome
: Input "F(X):",Str1
: Str1→Y1
: Input "A:",A
: A→X
: ClrHome
: Output(1,1,"F(A):
: Output(1,6,expr(Str1
: Output(2,1,"F\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'(A):
: Output(2,7,nDeriv(Y1,X,A
: Pause
: Goto 16
: Lbl 19
: 1→A
: Lbl 20
: Input "FONCTION:",Str1
: Str1→Y1
: ZStandard
: Goto 21
: Lbl 22
: Xmax+A→Xmax
: Lbl 21
: DispGraph
: Text(1,1,"ECART:",A
: DelVar K
: getKey→K
: While A≤0
: 1→A
: End
: If K=24:Then
: Goto 23
: End
: If K=26:Then
: Goto 22
: End
: If K=25:Then
: Goto 24
: End
: If K=34:Then
: Goto 25
: End
: If K=85:Then
: A-1→A
: Text(1,1,"                                  
: Goto 21
: End
: If K=95:Then
: A+1→A
: Goto 21
: End
: If K=13:Then
: ZStandard
: 1→A
: Goto 21
: End
: If K=104:Then
: Zoom Out
: Goto 21
: End
: If K=103:Then
: Zoom In
: Goto 21
: End
: If K=45:Then
: Goto 16
: End
: If K≠24 and K≠26 and K≠25 and K≠34 and K≠85 and K≠95 and K≠13 and K≠104 and K≠103 and K≠45
: Goto 21
:End
:Lbl 23
:Xmin-A→Xmin
:Goto 21
:Lbl 25
:Ymin-A→Ymin
:Goto 21
:Lbl 24
:Ymax+A→Ymax
:Goto 21
:
:Lbl 26
:1.6*10^‾19→A
:3*10^8→C
:6.63*10^‾34→H
:ClrHome
:Menu("CHOIX","LAMBDA",27,"TEMP",28,"MOLECULE",29,"BACK",36
:Lbl 27
:Menu("VOUS VOULEZ","LAMBDA",30,"JOULE",31,"<stat>e</stat>V",32,"BACK",33
:Lbl 30
:Input "<stat>e</stat>V:",D
:HC/(AD→B
:Disp B
:Pause
:Goto 27
:Lbl 31
:Input "LAMBDA:",D
:HC/(D10^‾9→B
:Disp B
:Pause
:Goto 27
:Lbl 32
:Input "LAMBDA:",D
:((HC/D)/A)10^9→B
:Disp B
:Pause
:Goto 27
:Lbl 33
:Goto 26
:Lbl 28
:Menu("VOUS VOULEZ","CELSIUS",34,"LAMBDA MAX",35,"BACK",33
:Lbl 34
:Input "LAMBDA:",D
:(2.898*10^6/D)-273→B
:Disp B
:Pause
:Goto 28
:Lbl 35
:Input "DEG C°:",D
:2.898*10^6/(D+273→B
:Disp B
:Pause
:Goto 28
:Lbl 29
:12→C
:16→O
:1→H
:Input "C:",D
:Input "H:",F
:Input "O:",E
:DC+EO+HF→R
:Disp R,"GRAMME
:Pause
:Goto 26
:Lbl 5
:Goto 36
:Lbl 37
:prgmΘDEL

anou
Intéressé
Intéressé

Messages : 40
Points Concours : 0
Productivité : 3
Date d'inscription : 04/12/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par anou le Lun 9 Déc 2013 - 22:45

Je ne sais pas comment on édit depuis mobile, mais je tenais à dire que le programme Dérive n'est pas fini du tout il reste encore du travail Smile

J'essayerais de mettre à jour le programme à chaque nouvelle amélioration Smile

anou
Intéressé
Intéressé

Messages : 40
Points Concours : 0
Productivité : 3
Date d'inscription : 04/12/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par Linkakro le Lun 9 Déc 2013 - 23:03

L'icone "Editer" au dessus de ton message, à côté de "Citer". Cependant il y a peut-être une restriction automatique pour les nouveaux venus.

Que tu fasses ça est bien.
Mais personnellement je n'ai besoin de rien parmi ces choses. (élémentaires qui plus est).

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par anou le Lun 9 Déc 2013 - 23:10

Oui après, pour quelqu'un avec beaucoup plus d'expérience en programmation sur ti, c'est sur que ça doit être inutile, mais pour un utilisateur lambda ça peut peut être aider Smile

M'enfin la je suis à peu près bloquer au niveau d'idée de programme à faire, j'ai lu les différents tuto du site, du site du zéro, mais pour les jeux,j'ai l'impression que c'est un autre monde.

D'ailleurs si vous avez des idées de programme simple à faire pour que je puisse m'exercer et progresser, je suis preneur Smile

anou
Intéressé
Intéressé

Messages : 40
Points Concours : 0
Productivité : 3
Date d'inscription : 04/12/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par Wistaro le Mar 10 Déc 2013 - 13:07

Coucou Smile

Comme programme simple, tu peux commencer par faire un PLUS MOINS.
Ensuite tu peux essayer de faire un Pong, un snake...
Enfin, essaie de refaire tes programmes sur l'écran graphique Smile

Si t'as des questions, n'hésite pas ! Le site est fait pour sa Razz

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: Math+ Physique

Message par anou le Mar 10 Déc 2013 - 13:30

Plus moins j'en est déjà fais un assez complet,
Pong je ne vous pas trop comment faire pareille pour snake

Une voie. À suivre ?

anou
Intéressé
Intéressé

Messages : 40
Points Concours : 0
Productivité : 3
Date d'inscription : 04/12/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par Wistaro le Mar 10 Déc 2013 - 13:43

Commence sur l'écran d’accueil.

Les raquettes de chaque joueurs ont 2 coordonnées chacune.
La balle a elle aussi des coordonnées.Ses coordonnées varient. Lorsque son ordonnée ou son abscisse atteint le minimum ou le maximum de l'écran, son ordonnée et son abscisse changent.

Par exemple, au début du programme, Xballe augmente de 1 tandis Yballe diminue de 1.
Lorsque Xballe atteint le maximum , alors elle diminuera de 1. Lorsque Yballe atteint le minimum, alors elle augmentera de 1.
Ect...

Enfin lorsque les coordonnées de la balle = les coordonnées de la raquette, la balle rebondit. Si elle dépasse...le joueur adverse gagne un point.


Sa va, je suis clair? :p Bonne chance Smile
(si tu as d'autre questions, ouvre un topic dans "les programmes des internautes" pour eviter le Hors Sujet ici

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: Math+ Physique

Message par m@thieu41 le Mar 10 Déc 2013 - 17:16

Pour le snake tu peux déjà partir de là:
http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-ti-basic/conseils-10

Puis pourquoi pas ensuite le passer sur l'écran graphique, et donc gérer les collisions avec des pxl-test plutot qu'une matrice.

Après tu peux toujours nous demander si tu bloques quelque part Smile

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par Linkakro le Mar 10 Déc 2013 - 17:49

Je conseille de commencer par un Memory ou un Simon avant de tenter les jeux dynamiques tels que Snake ou pong. En plus le jeu snake fait partie des jeux disposant de la plus grande gamme de méthodes et optimisations tordues.
Les problèmes mathématiques sont pour moi une source d'inspiration inépuisable.

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par anou le Mar 10 Déc 2013 - 18:36

Est-ce que qu'un Memory est une sorte de jeu de carte où l'on doit trouver les paires ?
Si ce n'est pas cela, peut tu m'expliquer le principe d'un Memory et d'un Simon s'il te plait ?
Merci Smile

anou
Intéressé
Intéressé

Messages : 40
Points Concours : 0
Productivité : 3
Date d'inscription : 04/12/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par Wistaro le Mar 10 Déc 2013 - 18:41


__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: Math+ Physique

Message par anou le Mar 10 Déc 2013 - 20:45

D'accord, Merci !

Et sinon des idées pour optimiser mon programme s'il vous plait ? Merci =)

anou
Intéressé
Intéressé

Messages : 40
Points Concours : 0
Productivité : 3
Date d'inscription : 04/12/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par Linkakro le Mar 10 Déc 2013 - 22:49

Tu peux utiliser les 26 lettres et les 10 chiffres pour tes 37 labels et économiser un octet à chaque fois que tu utilisais deux chiffres.

Code:
: If K=25:Then
: Goto 24
: End
1-Les Then/End sont facultatifs quand il y a une seule action.
2-Placer un Goto dans une boucle ou alternative doit être évité.
http://tout82.free.fr/forum/sujet.php?sujet=2757

Code:
:If A=0:Then
: Goto 17
:Else
: ‾B/(2A→J
: ClrHome
: Lbl 6
: Menu("FORME","RACINE",2,"CANONIQUE",3,"NEW",4,"BACK",16
: Lbl 4
: Goto 1
: Lbl 2
: ClrHome
: Lbl 17
Le Else et son End ne servent à rien. Et le mélange Goto/Else ne respecte aucune convention de programmation.

Je réfute tes mélanges inconsidérés de Goto et alternatives. Cela est source de mauvaises habitudes, bugs, et instabilités.

Tu as besoin d'apprendre l'algorithmie ou de suivre un tutoriel tel que celui-ci.
http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-ti-basic


Dernière édition par Linkakro le Mer 11 Déc 2013 - 18:11, édité 1 fois

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par anou le Mer 11 Déc 2013 - 1:26

Merci pour ces conseils, je vais enlever les Then inutile, mais je ne comprends pas pourquoi les End sont inutiles.
Si je ne mets pas un END, ça "crée un Second IF" alors que le 1er n'est pas terminé non ?


Sinon je ne comprends pas trop ceci:"Le Else et son End ne servent à rien. ", pourquoi ne servent-ils à rien ? Merci.




Une alternative pour ne pas placer un goto dans une boucle ?
Si par exemple : Nombre de ligne >7 on veut aller page 2

Donc IF NbLigne>7
goto 2


Comment faire pour ne pas mettre le Goto ?

Désolé si je suis confus dans mes explications.





anou
Intéressé
Intéressé

Messages : 40
Points Concours : 0
Productivité : 3
Date d'inscription : 04/12/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par m@thieu41 le Mer 11 Déc 2013 - 13:58

Quand on parle de ne pas mélanger Boucles et Goto, ça ne tiens pas compte du If simple (sans else):
Code:
If A
Goto 1
est tout à fait acceptable (lis ce tuto pour plus d'infos: http://tout82.free.fr/forum/sujet.php?sujet=2757 )

Sinon je ne comprends pas trop ceci:"Le Else et son End ne servent à rien. ", pourquoi ne servent-ils à rien ? Merci.
Code:
:If A=0:Then
: Goto 17
:Else
Tu peux mettre à la place:
Code:
:If A=0
: Goto 17
Le Then et le Else étaient inutiles: bien sûr qu'on fait ce qui suit si A!=0, puisque sinon on est au Lbl 17.

Si je ne mets pas un END, ça "crée un Second IF" alors que le 1er n'est pas terminé non ?
J'ai du mal à comprendre ta question:
Code:
If conition
Instruction sous condition
Instruction
Si la condition est vraie, on éxécute l'instruction sous condition, puis on passe à l'instruction. Si condition est fausse on saute l'instruction sous condition, et on passe directement à l'instruction.
Code:
If A=1
Goto 2
Disp "SUIVANT
Si A=1, on va au Lbl 2 et on en parle plus
Si A!=1, ne va pas au Lbl 2 et on affiche "SUIVANT".

Ce qu'il faut retenir: lorsque tu as une structure If, tu peux ne pas mettre de Then ni de End, si une seule instruction est à éxécuter. Si tu mets un Then, tu dois t'assurer que le prgm passe ensuite pas un End (sinon le prgm ralenti). Si tu met un Else, il faut qu'il y ait un Then et un End.

Donc tu peux faire:
Code:
If condition
instruction conditionnelle
instructions suivante
Code:
If condition
Then
instruction conditionnelle 1
instruction conditionnelle 2
instruction conditionnelle 3
End
instructions suivante
Code:
If condition
Then
instruction conditionnelle 1
instruction conditionnelle 2
instruction conditionnelle 3
Else
instructions exécutées si condition est fausse mais pas si elle est vraie
End
instructions suivante

Merci pour ces conseils, je vais enlever les Then inutile, mais je ne comprends pas pourquoi les End sont inutiles.
C'est parce que un End n'a pas de sens sans Then...

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par anou le Mer 11 Déc 2013 - 15:15

Le soucis, c'est que si par exemple avec le code suivant je retire les END, et les then:

Code:
:Lbl 19
:1→A
:Input "FONCTION:",Str1
:Str1→Y1
:ZStandard
:Goto 21
:Lbl 22
:Xmax+A→Xmax
:Lbl 21
:DispGraph
:Text(1,1,"ECART:",A
:DelVar K
:getKey→K
:While A≤0
: 1→A
:End
:
:
:
:If K=24
: Goto 23
:If K=26
: Goto 22
:If K=25
: Goto 24
:If K=34
: Goto 25
:If K=85
: A-1→A
:Text(1,1,"                                  
:Goto 21
:
:If K=95
: A+1→A
:Goto 21
:
:If K=13
: ZStandard
:1→A
:Goto 21
:
:If K=104
: Zoom Out
:Goto 21
:If K=103
: Zoom In
:Goto 21
:If K=45
: Goto 16
:If K≠24 and K≠26 and K≠25 and K≠34 and K≠85 and K≠95 and K≠13 and K≠104 and K≠103 and K≠45
: Goto 21
:Lbl 23
:Xmin-A→Xmin
:Goto 21
:Lbl 25
:Ymin-A→Ymin
:Goto 21
:Lbl 24
:Ymax+A→Ymax
:Goto 21



Si dans le code précedent, je ne mets pas les END et les Then, il y a des erreurs pendant l’exécution du programme, et le seul moyen d'eviter ses erreurs et de rajouter le IF et then.

Après je m'y prends surement mal, mais le programme ne marche uniquement lorsque le code est le suivant:


Code:
: Lbl 19
: 1→A
: Input "FONCTION:",Str1
: Str1→Y1
: ZStandard
: Goto 21
: Lbl 22
: Xmax+A→Xmax
: Lbl 21
: DispGraph
: Text(1,1,"ECART:",A
: DelVar K
: getKey→K
: While A≤0
: 1→A
: End
: If K=24:Then
: Goto 23
: End
: If K=26:Then
: Goto 22
: End
: If K=25:Then
: Goto 24
: End
: If K=34:Then
: Goto 25
: End
: If K=85:Then
: A-1→A
: Text(1,1,"                                  
: Goto 21
: End
: If K=95:Then
: A+1→A
: Goto 21
: End
: If K=13:Then
: ZStandard
: 1→A
: Goto 21
: End
: If K=104:Then
: Zoom Out
: Goto 21
: End
: If K=103:Then
: Zoom In
: Goto 21
: End
: If K=45:Then
: Goto 16
: End
: If K≠24 and K≠26 and K≠25 and K≠34 and K≠85 and K≠95 and K≠13 and K≠104 and K≠103 and K≠45
: Goto 21
:End
:Lbl 23
:Xmin-A→Xmin
:Goto 21
:Lbl 25
:Ymin-A→Ymin
:Goto 21
:Lbl 24
:Ymax+A→Ymax
:Goto 21


Sauriez vous pourquoi ? Et comment faire pour que cela marche sans ? Merci.

anou
Intéressé
Intéressé

Messages : 40
Points Concours : 0
Productivité : 3
Date d'inscription : 04/12/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par m@thieu41 le Mer 11 Déc 2013 - 15:25

On ne t'as pas dis de supprimmer tous les End/Then Wink
Relis bien mon post précédent pour essayer de comprendre comment marche la structure If, reportes toi aussi à ce tuto: http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-ti-basic/la-boucle-if

Ainsi, à la place de:
Code:
: If K=26:Then
: Goto 22
: End
Il faut bien mettre:
Code:
: If K=26
: Goto 22

Par contre,
Code:
: If K=85:Then
: A-1→A
: Text(1,1,"                                
: Goto 21
: End
N'est pas équivalent à:
Code:
: If K=85
: A-1→A
: Text(1,1,"                                
: Goto 21
Puisque dans le second cas, le If n'est valable que pour le A-1->A
L'idéal serait de faire:
Code:
: If K=85:Then
: A-1→A
: Text(1,1,"                                
: End
: If K=85
: Goto 21
C'est plus lourd, mais c'est plus propre aussi...

Dans d'autre cas tu peux te servir des booléens: http://tout82.free.fr/forum/sujet.php?sujet=2741
Code:
: If K=95:Then
: A+1→A
: Goto 21
: End
Peut devenir:
Code:
: A+(K=95→A
: If K=95
: Goto 21

Ceci:
Code:
:DelVar K
:getKey→K
est inutile. En effet, getKey renvoit 0 si aucune touche n'a été pressée, ainsi tu peux simplement faire:
Code:
:getKey→K

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par anou le Mer 11 Déc 2013 - 15:29

D'accord, merci pour tout, je prends note et j'essayerais de lire tout le tutoriel quand j'aurais plus de temps, merci Smile

anou
Intéressé
Intéressé

Messages : 40
Points Concours : 0
Productivité : 3
Date d'inscription : 04/12/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Math+ Physique

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum