SI4 Programmation de base [email protected] (2016) Chapitre 5 Résumé Les points essentiels Les points essentiels Long Int String LES VARIABLES LES CONDITIONS X Y Faire... LES RÉPÉTITIONS Z Magic(x, y, z) LES FONCTIONS Res Les points essentiels Long Int String LES VARIABLES Les points essentiels ● Les variables sont des conteneurs. Les types simples sont : byte, int, long, float, double, string Long Int String LES VARIABLES Pour chaque langage, les types peuvent avoir une signification différente : vérifiez la doc ! JAVA Purebasic PHP Déclaration float laTVA; Déclaration define.f LaTVA Déclaration $laTVA; Affectation laTVA = 0.20; Affectation laTVA.f = 0.20 Affectation $laTVA = 0.20; Utilisation total = prHT + prHT*laTVA; Utilisation total = prHT + prHT*laTVA Utilisation $total = $prHT + $prHT*$laTVA; Nous verrons plus tard dans le cours, la notion de portée de variables Les points essentiels ● Les variables ont une visibilité appelée "portée" : les variables déclarées dans une classe ou une procédure sont détruites à la sortie de celle-ci ! JAVA Purebasic Long Int String LES VARIABLES PHP int somme(int a, int b) { int c; c = a + b; return c ; } Procedure.i somme(a.i, b.i) Protected c.i c.i = a.i + b.i ProcedureReturn c.i EndProcedure int somme(int a, int b) { int c; c = a + b; return c ; } c n'existe plus c.i n'existe plus c n'existe plus Global c.i Rend la variable c visible partout Les points essentiels ● Il est possible d'utiliser des tableaux qui sont des suites de variables avec le même nom et un indice : Long Int String LES VARIABLES Les tableaux commencent avec l'indice zéro : dim loto(7) contient 8 valeurs JAVA Purebasic PHP Déclaration int loto[]; Déclaration define.i Loto(7) Déclaration $Loto = Array(); Affectation loto[4] = 48; Affectation Loto(4) = 48 Affectation $Loto[4] = 48; Utilisation System.out.println(loto[num]); Utilisation print(str(Loto(num)) Utilisation Echo $Loto[num]; Déclaration int loto[] = new int[7]; Affectation loto[] = {49,18,5,8,25,13,1}; Affectation $loto[] = {49,18,5,8,25,13,1}; Les points essentiels LES CONDITIONS Les points essentiels ● Les conditions permettent de faire des choix, mais aussi de traiter toutes les possibilités ! LES CONDITIONS Si (condition) Sinon Si (condition) Sinon Si (condition) Sinon Les points essentiels ● Les conditions permettent de faire des choix, mais aussi de traiter toutes les possibilités ! JAVA If (couleur = "rouge") { Color.set(255,0,0); } elseif (couleur = "vert") { Color.set(0,255,0); } else { Color.set(0,0,255); } Purebasic If couleur = "rouge" Colorset(255,0,0) Elseif couleur = "vert" Colorset(0,255,0) Else Colorset(0,0,255) Endif LES CONDITIONS PHP If ($couleur = "rouge") { Colorset(255,0,0); } elseif ($couleur = "vert") { Colorset(0,255,0); } else { Colorset(0,0,255); } Les points essentiels ● Les conditions peuvent aussi s'écrire avec une gestion des cas : SELECT CASE ou SWITCH JAVA Switch (Couleur) { Case "Rouge", "Red" : Color.set(255,0,0); Break; Case "Vert", "Green" : Color.set(0,255,0); Break; Default : Color.set(0,0,255) } Purebasic SelectCase Couleur Case "Rouge", "Red" Colorset(255,0,0) Case "Vert", "Green" Colorset(0,255,0) Default Colorset(0,0,255) EndSelect Purebasic utilise Implicitement un break dans chaque "case" LES CONDITIONS PHP Switch ($Couleur) { Case "Rouge", "Red" : Colorset(255,0,0); Break; Case "Vert", "Green" : Colorset(0,255,0); Break; Default : Colorset(0,0,255) } Les points essentiels Faire... LES RÉPÉTITIONS Les points essentiels ● La répétition la plus simple est un comptage sur un intervalle : for JAVA Faire... LES RÉPÉTITIONS PUREBASIC for (int i=1; i<11; i++) { System.out.println("i= " + i); } for i = 1 to 10 printN("i= " + str(i)); next i PHP for ($i=1; $i<11; $i++) { Echo "i= $i <br>"; } Un parcours d'une liste peut-être simplifié avec foreach String[] ville = { "Paris", "Rome" }; for (String s : ville) { System.out.println(s); } NewMap Pays.s() Pays("US") = "United States" Pays("FR") = "France" Pays("DE") = "Allemagne" ForEach Pays() PrintN("Pays="+Pays()) Next $col = array("red", "green", "blue"); foreach ($col as $value) { echo "$value <br>"; } Les points essentiels ● La seconde répétition implique un parcours minimum de la boucle : répéter… tant que (condition) JAVA Int cpt = 0 ; Do { cpt++; //equiv cpt=cpt+1; System.out.println("cpt= " + cpt); } while (cpt < 10) Remarquez le do placé au début de la boucle PUREBASIC cpt = 0 Repeat cpt + 1 ; equiv. cpt=cpt+1 printN("cpt= " + str(cpt)); Until (cpt > 9) Remarquez la condition de fin de boucle Faire... LES RÉPÉTITIONS PHP $cpt = 0; Do { $cpt++; echo "cpt=".$cpt; } while ($cpt < 10) Remarquez le do placé au début de la boucle Les points essentiels ● La troisième répétition n'implique aucun parcours minimum de la boucle : tant que (condition)... JAVA Int cpt = 0 ; while (cpt < 10) { cpt++; //equiv cpt=cpt+1; System.out.println("cpt= " + cpt); } Remarquez le while placé au début De la boucle PUREBASIC cpt = 0 While cpt < 10 cpt + 1 ; equiv. cpt=cpt+1 printN("cpt= " + str(cpt)); wend Faire... LES RÉPÉTITIONS PHP $cpt = 0; While ($cpt < 10) { $cpt++; echo "cpt=".$cpt; } Remarquez le while placé au début De la boucle Les points essentiels X Y Z Magic(x, y, z) LES FONCTIONS Res Les points essentiels X Y ● Les fonctions sont des morceaux de programme qui évitent de répéter plusieurs fois les mêmes instructions. Magic(x, y, z) Z Res LES FONCTIONS X alarme() PROCÉDURE SIMPLE txt print(txt) PROCÉDURE AVEC PARAMÈTRE(S) Y Z max(x, y, z) Res FONCTION AVEC PARAMÈTRE(S) Les points essentiels ● ● Il s'agit d'un bloc ayant un nom et optionnellement des paramètres. X Y Z Magic(x, y, z) LES FONCTIONS Généralement, une fonction debut superfonction(param1, param2) renvoie un résultat. … … Return TheValue fin ● Res On appelle ce bloc avec une égalité ou une condition. Note = superfonction(45, 55) IF superfonction(45, 55) = 55 … FINSI Les points essentiels ● Voici les différents appels, selon les langages : X Y Z Magic(x, y, z) Res LES FONCTIONS JAVA PUREBASIC double TVA(double PHT, double $Tx) { If ((Tx > 0) && (Tx < 1)) { return PHT * Tx; } else { return PHT * Tx/100; } } Procedure.d TVA(PHT.d, tx.d) If tx > 0 and tx <1 Procedurereturn PHT * tx Else Procedurereturn PHT * tx/100 Endif Endprocedure Println("100€ à 20 % = "+TVA(100, → 20)+"€"); Println("100€ à 20 % = "+TVA(100, → 0.2)+"€"); PrintN("100€ à 20 % = "+TVA(100, → 20)+"€") PrintN("100€ à 20 % = "+TVA(100, → 0.2)+"€") * System.Out.Println * pas de retour à la ligne PHP Function TVA($PHT, $Tx) { If ($Tx > 0 && $Tx < 1) { return $PHT * $Tx; } else { return $PHT * $Tx/100; } } echo "100€ à 20 % =".TVA(100,20); echo "100€ à 20 % =".TVA(100,0.2); Fin