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 11:53] mrcjl |
cours:progra10 [2025/05/15 07:03] (Version actuelle) mrcjl [Les variables et opérateurs] |
||
|---|---|---|---|
| Ligne 52: | Ligne 52: | ||
| =====Instructions et syntaxe de base===== | =====Instructions et syntaxe de base===== | ||
| + | Un commentaire, | ||
| + | |||
| ====Les variables et opérateurs==== | ====Les variables et opérateurs==== | ||
| ===Les variables=== | ===Les variables=== | ||
| - | Comme en SCRATCH, les **variables** sont des espaces mémoires contenant une information et qui sont identifiés par un nom. Une variable peut être un nombre | + | 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 |
| ===Instruction d' | ===Instruction d' | ||
| Ligne 67: | Ligne 69: | ||
| PYTHON | PYTHON | ||
| <code Python> | <code Python> | ||
| + | # | ||
| x = 2 | x = 2 | ||
| nom = " | nom = " | ||
| Ligne 73: | Ligne 76: | ||
| ===Opérateurs=== | ===Opérateurs=== | ||
| - | Les **opérateurs arithmétiques ( + - * / )** sont utilisés pour les opérations numériques. \\ | + | Les **opérateurs arithmétiques** ( + - * / < |
| **l' | **l' | ||
| <WRAP group>< | <WRAP group>< | ||
| Ligne 81: | Ligne 84: | ||
| </ | </ | ||
| - | Les **opérateurs logiques sont ( < > <= >= == != )** : plus petit, plus grand, plus petit ou égal, plus grand ou égal, égal et différent. | + | 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==== | ||
| - | Les **structures de contrôle (conditions, | + | Les **structures de contrôle (conditions, |
| Remarquer que, comme pour les algorithmes, | Remarquer que, comme pour les algorithmes, | ||
| ===Instruction conditionnelle : si - alors - sinon=== | ===Instruction conditionnelle : si - alors - sinon=== | ||
| - | <WRAP group>< | + | ALGORITHME< |
| Si d <0 | Si d <0 | ||
| Afficher " | Afficher " | ||
| Ligne 97: | Ligne 110: | ||
| Sinon | Sinon | ||
| Afficher " | Afficher " | ||
| - | </ | + | </ |
| - | </ | + | </ |
| + | #Contrôle température | ||
| if d < 0 : | if d < 0 : | ||
| print(" | print(" | ||
| Ligne 109: | Ligne 123: | ||
| ===Instruction boucle bornée : répéter - de - à=== | ===Instruction boucle bornée : répéter - de - à=== | ||
| - | <WRAP group>< | + | 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 group>< | + | <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>< | ||
| + | < | ||
| + | #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. | ||
| + | </WRAP></ | ||
| + | |||
| + | ===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' | ||
| + | </ | ||
| + | |||