Mon premier programme mathlab |
Auteur |
Message |
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Sam 28 Mai 2011, 22:28
|
|
|
Aujourd'hui, je vais vous faire découvrir mon premier programme en basic sur le logiciel mathlab (logiciel de calcul numérique).
Il s'agit d'un morpion très basique mais comme vous allez le constater, la programmation n'est pas aisée tant certaines fonctions manquent par rapport à la calculatrice.
Voici le code:
Code | clear all
close all
A=[0 0 0;0 0 0;0 0 0];
B=[0 0 0;0 0 0;0 0 0];
C=[0 0 0;0 0 0;0 0 0];
J=-1;
disp 'Joueur 1 en rouge'
disp 'Joueur 2 en bleu'
while abs(C(1,1)+C(1,2)+C(1,3))<3 & abs(C(2,1)+C(2,2)+C(2,3))<3 & abs(C(3,1)+C(3,2)+C(3,3))<3 & abs(C(1,1)+C(2,1)+C(3,1))<3 & abs(C(1,2)+C(2,2)+C(3,2))<3 & abs(C(1,3)+C(2,3)+C(3,3))<3 & abs(C(1,1)+C(2,2)+C(3,3))<3 & abs(C(3,1)+C(2,2)+C(1,3))<3
J=-J;
if J==1
disp 'Joueur 1:'
end
if J==-1
disp 'Joueur 2:'
end
X=input('abscisse=');
Y=input('ordonnée=');
if J==1
A(Y,X)=J;
end
if J==-1
B(Y,X)=J;
end
C(Y,X)=J;
hold on
spy(A)
spy(B,'r')
end |
On constate déjà que le = suffit pour affecter une valeur (attention au sens: la variable est à gauche du signe).
L'autre soucis majeur rencontré c'est pour vérifier des conditions l'obligation de mettre un == (et j'ai mis un moment avant d'y trouver).
Par contre l'avantage majeur de ce logiciel c'est que tout est matrice: on peut multiplier et même diviser membre à membre ... bref un rêve.
Et le must du must, c'est que c'est sur ordinateur donc on peut faire des programmes bien plus compliqués que sur calto tout en gardant une vitesse d'exécution étonnante.
Pour ceux que ça intéresse, voici un lien pour le télécharger.
En conclusion, si vous trouvez la programmation sur calto trop basique et limitée mais que d'autres langages plus compliqués ne vous intéressent pas, voici le logiciel qui vous permettera de vous épanouir dans la programmation .
Sangohan38
|
|
|
|
linkakro
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Sam 28 Mai 2011, 22:58
|
|
|
Il y a des conventions de languages avancés, mais présentées comme le basic de notre calculatrice ! Chouette !
ps : le double égal est facile à deviner quand on a déjà utilisé du C pour microcontrôleur
---------------------- 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 |
|
|
|
sandro
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Sam 28 Mai 2011, 23:08
|
|
|
c'est quoi l'équivalent de "spy(" et de "hold on" sur TI et ça correspond à quoi le "en rouge" et le "en bleu" : si c'est censé être une coloration pour différentier les joueurs, où est indiqué d'afficher de la couleur?
Sandro
PS : je pense déja aprendre l'ASM pendant les vacances, ce progil attendra.
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
|
|
|
azerty1
Autorisation : Membre
Nb de messages : 468
Inscrit le : Dim 12 Déc 2010, 20:44
|
Posté le : Sam 28 Mai 2011, 23:12
|
|
|
D'après le nom, ça ressemble a du codTouche non...?
---------------------- Ti-Connect 64bits
PROTECT
Tuto Skin Perso Wabbitemu |
|
|
|
sandro
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Sam 28 Mai 2011, 23:21
|
|
|
lequel "spy(" ou "hold on" (je suis nul en anglais (enfin j'en suis à ma 3ème année avec des profs de M....(mercredi) ) )
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
|
|
|
azerty1
Autorisation : Membre
Nb de messages : 468
Inscrit le : Dim 12 Déc 2010, 20:44
|
Posté le : Sam 28 Mai 2011, 23:25
|
|
|
Plutot hold on, qui pourrait se traduire par maintenir je pense, spy veut dire espionner je crois... Donc je ne sais pas trop...
---------------------- Ti-Connect 64bits
PROTECT
Tuto Skin Perso Wabbitemu |
|
|
|
sandro
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Sam 28 Mai 2011, 23:26
|
|
|
merci quand même
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Dim 29 Mai 2011, 10:11
|
|
|
Content de voir que j'ai pas bider avec ce programme .
Pour le spy, ça affiche la matrice sous forme de points (en gros ue matrice 3*3 avec tous ces coefficients non nuls affiche un carré de 3*3).
Le hold on, c'est pour permettre de superposer les différents graphs.
Enfin, le 'en rouge' et 'en bleu', c'est juste du texte que j'affiche pour différencier les joueurs.
Sangohan38
|
|
|
|
sandro
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Dim 29 Mai 2011, 10:17
|
|
|
mais ils sont réellement mis en couleur ou non les pions des joueurs, si oui par quelle commande
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Dim 29 Mai 2011, 10:22
|
|
|
Il sont mis en couleurs. La couleur par défaut est le bleu c'est pour sa que dans mon second spy il y a l'argument 'r' pour dire que je le veux en rouge.
Sangohan38
|
|
|
|
sandro
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Dim 29 Mai 2011, 10:27
|
|
|
Maintenant je comprend tout sanf un petit élément : quelle est la "forme" affichée pour les cases ocupées?
Merci d'avance
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Dim 29 Mai 2011, 10:30
|
|
|
J'ai laissé la forme par défaut c'est-à-dire un multiplier *.
Sangohan38
|
|
|
|
sandro
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Dim 29 Mai 2011, 10:37
|
|
|
merci beaucoup
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
|
|
|