Outils pour utilisateurs

Outils du site


cours:progra10

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 07:22]
mrcjl [PYTHON]
cours:progra10 [2025/05/15 07:03] (Version actuelle)
mrcjl [Les variables et opérateurs]
Ligne 39: Ligne 39:
  
 Pour faciliter l'écriture d'un programme et tester facilement son code, il existe des IDE (Environnement de travail intégré). Un des plus simple à utiliser est [[https://edupython.tuxfamily.org/|EduPython]], développé pour l'éducation et qui peut fonctionner à partir d'une clé USB. Pour faciliter l'écriture d'un programme et tester facilement son code, il existe des IDE (Environnement de travail intégré). Un des plus simple à utiliser est [[https://edupython.tuxfamily.org/|EduPython]], développé pour l'éducation et qui peut fonctionner à partir d'une clé USB.
 +
 +Il existe aussi des IDE en ligne tel [[https://www.mycompiler.io/fr/new/python|MyCompiler]] qui permet aussi d'utiliser d'autres langages.
 +
 +Les IDE colorent généralement les éléments du langage en fonction de leur type : variable, instruction, paramètre, opérateur, commentaire ...
  
 <WRAP round tip> <WRAP round tip>
Ligne 48: Ligne 52:
  
 =====Instructions et syntaxe de base===== =====Instructions et syntaxe de base=====
 +Un commentaire, texte non interprété par l'IDE débute au symbole '#' et se termine à la fin de la ligne.
 +
 +====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'affectation===
 +<WRAP group><WRAP third column>
 +Les instructions algorithmiques suivante :
 +  * Mettre la valeur 2 dans la variable x
 +  * Mettre la valeur Pierre dans la variable nom
 +utilisent le **symbole d'affectation '='** qui permet aussi de modifier le contenu d'une variable.
 +</WRAP><WRAP third column>SCRATCH
 +{{ :cours:sp1.png?200 |}}
 +</WRAP><WRAP third column>
 +PYTHON
 +<code Python>
 +#Affectations
 +x = 2
 +nom = "Pierre"
 +x = x + 5
 +</code></WRAP></WRAP>
 +
 +===Opérateurs===
 +Les **opérateurs arithmétiques** ( + - * / <nowiki>//) sont utilisés pour les opérations numériques (// = le reste de la division entière)</nowiki>. \\
 +**l'opérateur ( + ) permet aussi la concaténation** de chaîne de caractères.
 +<WRAP group><WRAP half column>
 +<code Python>identité = "Nom" + " " + "Prénom"</code>
 +</WRAP><WRAP third column>
 +{{ :cours:sp2.png?300|}}
 +</WRAP></WRAP>
 +
 +Les **opérateurs logiques** sont <nowiki>( < > <= >= == != )</nowiki> : plus petit, plus grand, plus petit ou égal, plus grand ou égal, égal et différent.
 +
 +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>Python utilise :
 +  * 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** + - * / <nowiki>// (modulo)</nowiki>
 +  * des **opérateurs logiques** <nowiki>< <= > >= == !=</nowiki>
 +  * des **opérateurs booleens** True, False, and, or, not
 +</WRAP>
 +
 +====Les structures de contrôle====
 +Les **structures de contrôle (conditions, boucles)** permettent d'organiser les séquences d'instructions qui composent le programme.
 +
 +Remarquer que, comme pour les algorithmes, **l'indentation (le décalage) est utilisé pour définir le bloc d'instructions** concerné par la structure. L'instruction concernée est terminé par le symbole ':'.
 +
 +===Instruction conditionnelle : si - alors - sinon===
 +ALGORITHME<code>
 +Si d <0
 +    Afficher "Température négative"
 +Sinon
 +    Si d = 0
 +        Afficher "Température nulle"
 +    Sinon
 +        Afficher "Température positive"
 +</code><WRAP group><WRAP half column>SCRATCH{{ :cours:sp3.png?150 |}}
 +</WRAP><WRAP half column>PYTHON<code Python>
 +#Contrôle température
 +if d < 0 :
 +    print("Température négative")
 +else :
 +    if d == 0 :
 +        print("Température nulle")
 +    else :
 +        print("Température positive")
 +</code></WRAP></WRAP>
 +
 +===Instruction boucle bornée : répéter - de - à===
 +Contrairement à SCRATCH, une boucle fermée ne démarre pas obligatoirement à 0.
 +ALGORITHME<code>
 +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 "Factorielle de ", valeur variable x, " vaut ", valeur variable f
 +</code><WRAP group><WRAP half column>SCRATCH{{ :cours:sp4.png?400 |}}
 +</WRAP><WRAP half column>PYTHON<code Python>
 +#Factorielle
 +x = int(input("Entrer un nombre"))
 +f = 1
 +for n in range (1, x+1) :
 +    f = f * n
 +print ("Factorielle ", x, " = ", f)
 +</code></WRAP></WRAP>
 +L'instruction "input" permet d'afficher un message afin de permettre la saisie d'une valeur de type chaîne de caractère (string). Pour la convertir en nombre entier il faut utiliser l'instruction int() et float() pour convertir en nombre à virgule.
 +
 +L'expression "in range" détermine la borne de début et la borne à ne pas atteindre (1, x+1 => n s'arrête donc à x). La borne de début peut être omise et vaut 0 par défaut. \\
 +L'expression "in variable chaîne" parcours 1 à 1 tous les caractères de la chaîne fournie.
 +
 +===Instruction boucle conditionnelle : tant que===
 +Le boucle s'arrête lorsque la condition devient fausse.
 +ALGORITHME<code>
 +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"
 +</code><WRAP group><WRAP half column>SCRATCH{{ :cours:sp5.png?400 |}}
 +</WRAP><WRAP half column>PYTHON<code Python>
 +#Calcul nombre de chiffes
 +x = int(input("Entrer un nombre"))
 +l = 0
 +while n >= 0 :
 +    n = n//10
 +    l = l+1
 +print (x, " contient ", l, " chiffres")
 +</code></WRAP></WRAP>
 +
 +<WRAP round tip> Les **structures de contrôles** sont :
 +  * **print**("texte ou", variable) #pour afficher un résultat
 +  * variable = **input**("texte") #pour demander une information
 +  * **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 ':' jusqu'au retour à la ligne.
 +</WRAP>
 +
 +====Les fonctions====
 +Les fonctions sont des sous programmes utilisant des paramètres afin de d'effectuer des séquences d'instructions répétitives.
 +
 +===Fonctions utilisateur===
 +<WRAP group><WRAP half column>
 +<code Python>
 +#Definition de la fonction
 +def nom_fonction (parametre1, parametrex) :
 +    #Bloc d'instruction
 +    #...
 +    return valeur
 +    
 +#Programme principal
 +#...
 +x = nom_fonction (parametre1, parametrex)
 +#...
 +</code>
 +</WRAP><WRAP half column>
 +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></WRAP>
 +
 +===Bibliothèques de fonction===
 +<WRAP group><WRAP third column>
 +De nombreuses fonctions utiles ont été développées et placés dans des bibliothèques les regroupant par type d'utilisation.
 +</WRAP><WRAP twothirds column>
 +<code Python>
 +#Importer la fonction Racine_Carrée contenu dans la bibliothèque math
 +from math import sqrt 
 +#Pour importer toutes les fonctions, utiliser '*' à la place du nom
 +
 +#Utilisation de la fonction
 +print(sqrt(2)) #Affichage de la racine carrée de 2
 +</code></WRAP></WRAP>
 +
 +<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'utilisent de la même manière.
 +</WRAP>
 +
  
cours/progra10.1718860956.txt.gz · Dernière modification: 2024/06/20 07:22 de mrcjl