Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| dev:bazdebaz_scripting [2026/05/17 23:03] – [Types de variables] ssm2017 | dev:bazdebaz_scripting [2026/05/18 23:50] (current) – [Types de données] ssm2017 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Bazdebaz Scripting ====== | ====== Bazdebaz Scripting ====== | ||
| - | ===== La syntaxe | + | ===== La Syntaxe |
| La syntaxe depend du language utilisé et on retrouve souvent les memes choses. | La syntaxe depend du language utilisé et on retrouve souvent les memes choses. | ||
| Par exemple : | Par exemple : | ||
| - | * les parentheses qui contiennent souvent des parametres de fonctions. | + | * les parentheses |
| - | * les accolades qui contienent les instructions de la fonction. | + | * les accolades |
| - | * le point virgule qui finit les lignes d' | + | * le point virgule |
| + | |||
| + | Non seulement les languages ont leur façon d' | ||
| + | |||
| + | ==== Les Commentaires ==== | ||
| + | Pareil, selon les languages ça change... Il y a le simple ligne et le multilignes comme : | ||
| + | < | ||
| + | // simple ligne | ||
| + | ## simple ligne aussi | ||
| + | ``` | ||
| + | en python | ||
| + | multiligne | ||
| + | plein de lignes de commentaires | ||
| + | ``` | ||
| + | /* | ||
| + | en js, php, etc... | ||
| + | multiligne aussi | ||
| + | */ | ||
| + | </ | ||
| + | |||
| + | ==== Les symboles clavier ==== | ||
| + | Les classiques sont retour à la ligne et tabulation. Les memes touches qu'un clavier d' | ||
| + | |||
| + | En script, elles sont souvent représentées par " | ||
| ===== Variables ===== | ===== Variables ===== | ||
| Line 19: | Line 43: | ||
| Dans ce cas, toto est un chiffre, ça aurait pu etre un texte qu'on appelle chaine de caracteres, entourée par des " | Dans ce cas, toto est un chiffre, ça aurait pu etre un texte qu'on appelle chaine de caracteres, entourée par des " | ||
| - | ==== Types de variables | + | ==== Types de données |
| certains langages aiment qu'on leur dise de quel type est une variable comme du texte ou un entier naturel ou un vehicule... | certains langages aiment qu'on leur dise de quel type est une variable comme du texte ou un entier naturel ou un vehicule... | ||
| Line 28: | Line 52: | ||
| tu lui donnes un texte alors il couine... tu lui donnes 24 et il est content. :) | tu lui donnes un texte alors il couine... tu lui donnes 24 et il est content. :) | ||
| - | Tout ça par ce qu'en fait, au debut, tu dois declarer ta variable. Donc si tu lui dis direct : < | + | Tout ça par ce qu'en fait, au debut du script, tu dois declarer ta variable. Donc si tu lui dis direct : < |
| + | il existe plein de types de données par défaut comme int, float, str, array etc... et on peut meme en créer selon le language utilisé. | ||
| - | ===== les conditions | + | ==== Les Tableaux et listes |
| + | une liste c'est comme une ligne excell et un tableau comme une feuille excell... | ||
| + | |||
| + | Les tableaux sont plus souvent utilisés. On les voit souvent avec des crochets [ ] entre lesquels ont donne l' | ||
| + | |||
| + | === Les index === | ||
| + | |||
| + | L' | ||
| + | |||
| + | Un grand classique : | ||
| + | < | ||
| + | toto = new array(" | ||
| + | print(toto[0] | ||
| + | </ | ||
| + | va nous renvoyer " | ||
| + | |||
| + | |||
| + | ===== Les Conditions | ||
| en gros, c'est que si une condition est vraie, alors il se passera quelque chose sinon il se passera autre chose. | en gros, c'est que si une condition est vraie, alors il se passera quelque chose sinon il se passera autre chose. | ||
| Du genre : | Du genre : | ||
| - | < | + | < |
| + | Ce qui veut dire que si toto est égal à 24 (oui, il y a 2 signes egal et il peut y en avoir 3) alors la fonction faispeter est appelee sinon la fonction faisautrechose est appelée. | ||
| + | |||
| + | ===== Les Fonctions ===== | ||
| + | Les fonctions permettent d' | ||
| + | |||
| + | Par exemple, si tu as 5 clous à planter, au lieu d' | ||
| + | < | ||
| + | prendsLeMarteau | ||
| + | viseLePoint | ||
| + | tapeSurLeClouAvecLeMarteau | ||
| + | prendsLeClou | ||
| + | prendsLeMarteau...etc..</ | ||
| + | tu ecris : | ||
| + | < | ||
| + | prendsLeClou() | ||
| + | prendsLeMarteau() | ||
| + | viseLePoint() | ||
| + | tapeSurLeClouAvecLeMarteau() | ||
| + | } | ||
| + | planterUnClou() | ||
| + | planterUnClou() | ||
| + | planterUnClou() | ||
| + | planterUnClou() | ||
| + | planterUnClou() | ||
| + | </ | ||
| + | ==== Les arguments de fonctions ==== | ||
| + | Apres la declaration ou appel de fonction, il y a des parentheses. Elles servent à donner des infos externes à la fonction. Par exemple : | ||
| + | < | ||
| + | < | ||
| + | prendsLeClou() | ||
| + | prendsLeMarteau() | ||
| + | viseLePoint(positionX, | ||
| + | tapeSurLeClouAvecLeMarteau() | ||
| + | }</ | ||
| + | La fonction va utiliser les arguments qu'on lui a passés | ||
| + | |||
| + | ==== Les retours de fonctions ==== | ||
| + | Une fonction peut renvoyer une information. Par exemple : | ||
| + | < | ||
| + | return a+b | ||
| + | } | ||
| + | </ | ||
| + | donc tu peux lui dire : | ||
| + | < | ||
| + | Alors toto aura la valeur 7. | ||
| + | |||
| + | ===== Les Boucles ===== | ||
| + | Il y en a de plusieurs types mais les plus classiques sont for et while. | ||
| + | |||
| + | Attention aux boucles qui peuvent bloquer le programme... | ||
| + | |||
| + | ==== La boucle for ==== | ||
| + | On lui donne une valeur de départ, la valeur d' | ||
| + | |||
| + | En increments, selon le language, si on veut augmenter de 1, on utilise soit : | ||
| + | * x = x + 1 | ||
| + | * x++ | ||
| + | * x+ = 1 | ||
| + | |||
| + | Ces 3 lignes disent la meme chose. | ||
| + | |||
| + | Exemple : | ||
| + | < | ||
| + | for (x=0; x<5; x++) { | ||
| + | planterUnClou(x, | ||
| + | } | ||
| + | </ | ||
| + | Dans ce cas, le script va planter 5 clous : | ||
| + | * un avec les coordonnées x 0 et y 3 | ||
| + | * un avec les coordonnées x 1 et y 4 | ||
| + | * un avec les coordonnées x 2 et y 5 | ||
| + | * un avec les coordonnées x 3 et y 6 | ||
| + | * un avec les coordonnées x 4 et y 7 | ||
| + | |||
| + | ==== La boucle while ==== | ||
| + | On lui donne une condition et elle tourne tant que c'est pas arrivé. | ||
| + | |||
| + | Exemple : | ||
| + | < | ||
| + | int y = 0 | ||
| + | while (y<10) { | ||
| + | planterUnClou(4, | ||
| + | y++ | ||
| + | } | ||
| + | </ | ||
| + | Ceci va planter un clou aux coordonnées x = 4 et y = 0 puis va en mettre un tout droit vers le haut tous les 1 et quand on arrive à 10, ça s' | ||
| + | |||
| + | ===== Les Objets ===== | ||
| + | La grande analogie classique pour parler des objets, c'est les vehicules mais vu qu'on est dans le pestacle, nous allons parler d' | ||
| + | |||
| + | * Les objets sont représentés par une classe. | ||
| + | * Une classe peut contenir des arguments (variables internes) | ||
| + | * Une classe peut contenir des methodes (fonctions internes) | ||
| + | |||
| + | Je peux définir plusieurs classes comme : appareil; visseuse, synthé, consoleSon... | ||
| + | |||
| + | Par exemple, on va créer une classe " | ||
| + | < | ||
| + | class appareil(marque, | ||
| + | str marque; | ||
| + | str modele; | ||
| + | function allumer() { | ||
| + | if (power==" | ||
| + | return true; | ||
| + | } | ||
| + | return false; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | puis une classe " | ||
| + | < | ||
| + | class consoleSon(nbreEntrees, | ||
| + | str nbreEntrees; | ||
| + | str nbreSorties; | ||
| + | int niveauSonore; | ||
| + | function mettrePlusFort() { | ||
| + | this.niveauSonore++ | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Instanciation ==== | ||
| + | Une classe définit une entité qui pourra eventuellement etre instanciée. | ||
| + | |||
| + | Si on a une console son yamaha cl3, on peut générer cette console. | ||
| + | |||
| + | apres avoir créée la classe, on peut s'en servir comme : | ||
| + | < | ||
| + | Donc ensuite, on pourra utiliser : | ||
| + | < | ||
| + | |||
| + | Selon les languages c'est pas présenté pareil, donc on peut avoir toto.titi() ou toto-> | ||
| + | ==== La visibilité ==== | ||
| + | Pour les classes, arguments et methodes, on peut definir des autorisations. Les classiques sont public, private... | ||
| + | < | ||
| + | class consoleSon(nbreEntrees, | ||
| + | private str nbreEntrees; | ||
| + | private str nbreSorties; | ||
| + | public function mettrePlusFort() { | ||
| + | this.niveauSonore++ | ||
| + | } | ||
| + | public function changeEntrees(quantite) { | ||
| + | this.nbreEntrees = quantite | ||
| + | } | ||
| + | public function changeSorties(quantite) { | ||
| + | this.nbreSorties = quantite | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | On ne pourra plus appeler : < | ||
| + | ==== Heritage ==== | ||
| + | Dans notre cas, on voit bien qu'une console son est un appareil, donc on peut la créer à partir d'une autre classe : | ||
| + | < | ||
| + | class consoleSon(nbreEntrees, | ||
| + | private str nbreEntrees; | ||
| + | private str nbreSorties; | ||
| + | public function mettrePlusFort() { | ||
| + | this.niveauSonore++ | ||
| + | } | ||
| + | public function changeEntrees(quantite) { | ||
| + | this.nbreEntrees = quantite | ||
| + | } | ||
| + | public function changeSorties(quantite) { | ||
| + | this.nbreSorties = quantite | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | Sauf que cette fois, on pourra l' | ||