Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
cours:progra10 [2024/06/20 08:34] mrcjl |
cours:progra10 [2025/05/15 07:03] (Version actuelle) mrcjl [Les variables et opérateurs] |
||
|---|---|---|---|
| Ligne 41: | Ligne 41: | ||
| Il existe aussi des IDE en ligne tel [[https:// | Il existe aussi des IDE en ligne tel [[https:// | ||
| + | |||
| + | Les IDE colorent généralement les éléments du langage en fonction de leur type : variable, instruction, | ||
| <WRAP round tip> | <WRAP round tip> | ||
| Ligne 50: | Ligne 52: | ||
| =====Instructions et syntaxe de base===== | =====Instructions et syntaxe de base===== | ||
| + | Un commentaire, | ||
| + | |||
| + | ====Les variables et opérateurs==== | ||
| + | ===Les variables=== | ||
| + | Comme en SCRATCH, les **variables** sont des espaces mémoires contenant une information et qui sont identifiés par un nom. Les variables Python ne sont pas typées et peuvent être un nombre entier (int()), décimal (float()), une chaîne de caractères (string()) ou une valeur vrai/faux (bool()). | ||
| + | |||
| + | ===Instruction d' | ||
| + | <WRAP group>< | ||
| + | Les instructions algorithmiques suivante : | ||
| + | * Mettre la valeur 2 dans la variable x | ||
| + | * Mettre la valeur Pierre dans la variable nom | ||
| + | utilisent le **symbole d' | ||
| + | </ | ||
| + | {{ : | ||
| + | </ | ||
| + | PYTHON | ||
| + | <code Python> | ||
| + | # | ||
| + | x = 2 | ||
| + | nom = " | ||
| + | x = x + 5 | ||
| + | </ | ||
| + | |||
| + | ===Opérateurs=== | ||
| + | Les **opérateurs arithmétiques** ( + - * / < | ||
| + | **l' | ||
| + | <WRAP group>< | ||
| + | <code Python> | ||
| + | </ | ||
| + | {{ : | ||
| + | </ | ||
| + | |||
| + | Les **opérateurs logiques** sont < | ||
| + | |||
| + | Les **opérateurs booléens** True (vrai), False (faux), and (vrai si les 2 opérateurs sont vrais), or (vrai si 1 des opérateurs est vrai) et not (inverse True et False. | ||
| + | |||
| + | <WRAP round tip> | ||
| + | * des **commentaires** débutants par '#' | ||
| + | * des **variables** sont non typées et peuvent contenir un entier, un décimal, une chaîne de caractère ou un booleen | ||
| + | * des **opérateur arithmétiques** + - * / < | ||
| + | * des **opérateurs logiques** < | ||
| + | * des **opérateurs booleens** True, False, and, or, not | ||
| + | </ | ||
| + | |||
| + | ====Les structures de contrôle==== | ||
| + | Les **structures de contrôle (conditions, | ||
| + | |||
| + | Remarquer que, comme pour les algorithmes, | ||
| + | |||
| + | ===Instruction conditionnelle : si - alors - sinon=== | ||
| + | ALGORITHME< | ||
| + | Si d <0 | ||
| + | Afficher " | ||
| + | Sinon | ||
| + | Si d = 0 | ||
| + | Afficher " | ||
| + | Sinon | ||
| + | Afficher " | ||
| + | </ | ||
| + | </ | ||
| + | #Contrôle température | ||
| + | if d < 0 : | ||
| + | print(" | ||
| + | else : | ||
| + | if d == 0 : | ||
| + | print(" | ||
| + | else : | ||
| + | print(" | ||
| + | </ | ||
| + | |||
| + | ===Instruction boucle bornée : répéter - de - à=== | ||
| + | Contrairement à SCRATCH, une boucle fermée ne démarre pas obligatoirement à 0. | ||
| + | ALGORITHME< | ||
| + | Demander un nombre et le mettre dans la variable X | ||
| + | Mettre la variable f à 1 | ||
| + | Pour la variable n allant de 1 à x | ||
| + | Mettre la variable f à f*n | ||
| + | Afficher " | ||
| + | </ | ||
| + | </ | ||
| + | # | ||
| + | x = int(input(" | ||
| + | f = 1 | ||
| + | for n in range (1, x+1) : | ||
| + | f = f * n | ||
| + | print (" | ||
| + | </ | ||
| + | L' | ||
| + | |||
| + | L' | ||
| + | L' | ||
| + | |||
| + | ===Instruction boucle conditionnelle : tant que=== | ||
| + | Le boucle s' | ||
| + | ALGORITHME< | ||
| + | Demander un nombre et le mettre dans la variable X | ||
| + | Mettre la variable l à 0 | ||
| + | Mettre la variable n à x | ||
| + | Tant que n >= 0 | ||
| + | l = l + 1 | ||
| + | n = (n - (n modulo 10)) / 10 | ||
| + | Afficher valeur variable x, " contient ", valeur variable f, " chiffres" | ||
| + | </ | ||
| + | </ | ||
| + | #Calcul nombre de chiffes | ||
| + | x = int(input(" | ||
| + | l = 0 | ||
| + | while n >= 0 : | ||
| + | n = n//10 | ||
| + | l = l+1 | ||
| + | print (x, " contient ", l, " chiffres" | ||
| + | </ | ||
| + | |||
| + | <WRAP round tip> Les **structures de contrôles** sont : | ||
| + | * **print**(" | ||
| + | * variable = **input**(" | ||
| + | * **if** condition : **else** : #pour un test vrai ou faux | ||
| + | * **for** variable **in range** (deb, fin+1) : #pour une boucle bornée numérique (**in** chaîne #pour les caractères de la chaîne) | ||
| + | * **while** condition : #pour une boucle conditionnelle | ||
| + | Les instructions contenues dans la structure sont indentées après le ':' | ||
| + | </ | ||
| + | |||
| + | ====Les fonctions==== | ||
| + | Les fonctions sont des sous programmes utilisant des paramètres afin de d' | ||
| + | |||
| + | ===Fonctions utilisateur=== | ||
| + | <WRAP group>< | ||
| + | <code Python> | ||
| + | #Definition de la fonction | ||
| + | def nom_fonction (parametre1, | ||
| + | #Bloc d' | ||
| + | #... | ||
| + | return valeur | ||
| + | | ||
| + | #Programme principal | ||
| + | #... | ||
| + | x = nom_fonction (parametre1, | ||
| + | #... | ||
| + | </ | ||
| + | </ | ||
| + | La fonction possède un nom et parfois une liste de paramètres (variables) séparées par des ',' | ||
| + | |||
| + | A la fin de son exécution, elle peut retourner une liste de valeurs. | ||
| + | </ | ||
| + | |||
| + | ===Bibliothèques de fonction=== | ||
| + | <WRAP group>< | ||
| + | De nombreuses fonctions utiles ont été développées et placés dans des bibliothèques les regroupant par type d' | ||
| + | </ | ||
| + | <code Python> | ||
| + | #Importer la fonction Racine_Carrée contenu dans la bibliothèque math | ||
| + | from math import sqrt | ||
| + | #Pour importer toutes les fonctions, utiliser ' | ||
| + | |||
| + | # | ||
| + | print(sqrt(2)) #Affichage de la racine carrée de 2 | ||
| + | </ | ||
| + | |||
| + | <WRAP round tip> | ||
| + | * Une **fonction utilisateur** utilise les mots clés **def** et **return**. Elle peut utiliser des paramètres en entrée et sortie. | ||
| + | * Les **fonctions de bibliothèques** sont importées grâce à **from** et **import**. Elles s' | ||
| + | </ | ||
| + | |||