Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Mon premier programme mathlab
Sangohan38 le 28/05/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 le 28/05/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

sandro le 28/05/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.azerty1 le 28/05/2011 à 23:12
D'après le nom, ça ressemble a du codTouche non...?sandro le 28/05/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) ) )
Sandroazerty1 le 28/05/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...sandro le 28/05/2011 à 23:26
merci quand même
SandroSangohan38 le 29/05/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 le 29/05/2011 à 10:17
mais ils sont réellement mis en couleur ou non les pions des joueurs, si oui par quelle commande
SandroSangohan38 le 29/05/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.
Sangohan38sandro le 29/05/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
SandroSangohan38 le 29/05/2011 à 10:30
J'ai laissé la forme par défaut c'est-à-dire un multiplier *.
Sangohan38sandro le 29/05/2011 à 10:37
merci beaucoup
Sandro Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.