Connexion élèves

Choisir le(s) module(s) à installer :

Les bases de la programmation en Python

Langages de programmation

Langage de bas niveau

On l'a vu, un ordinateur ne comprend qu'un seul langage, le langage machine ( constitué uniquement de 0 et de 1...), très peu compréhensible pour les humains...

Dodo chez les robots...

Dans les premiers temps de l'informatique, on programmait d'ailleurs les ordinateurs en basculant une multitude d'interrupteurs en position « 1 » ou « 0 » , ce qui nécessitait un temps très long et un risque d'erreur très élevé.

De plus, il existe un langage machine différent pour chaque architecture matérielle : pour chaque type d'ordinateur, il faut donc écrire, pour le même programme, un code en langage machine différent.

Langage de haut niveau

Pour s'affranchir de ces problèmes, on a développé ensuite des langages de programmation qui permettent de programmer dans un langage beaucoup plus compréhensible par l'homme.

Les programmes s'écrivent donc maintenant dans des langages de plus haut niveau, c'est à dire de plus en plus éloigné du langage machine, mais en même temps de plus en plus près du langage naturel.
Cependant, dans tous les cas, le code-source écrit en langage de haut niveau devra être traduit en langage machine pour pouvoir être exécuté par l'ordinateur ; les langages qui existent se distinguent notamment par la manière dont on écrit le code ( la syntaxe du langage ) et celle utilisée pour le transcrire en langage machine.

Langages haut et bas niveau

Un langage de haut niveau permet alors de s'abstraire du matériel sur lequel le programme que l'on écrit doit s’exécuter : le même programme écrit par exemple en Python s’exécutera aussi bien sur un PC, un Mac, un ordinateur à base d'architecture ARM, etc.

Langages compilés ou interprétés

Pour "traduire" un langage donné en langage machine, il y a deux possibilités :

L'avantage des langages compilés est souvent une vitesse d'exécution plus grande, au prix d'une programmation plus délicate.

Langages compilés Langages interprétés
C / C++ Python
Java JavaScript
... ...

Le langage Python

Le langage qui servira de base à cet apprentissage est Python ( version 3 )..
Il est d'un abord plus facile que d'autres langages ( comme Java ou C++ ) mais permet toutefois de réaliser des applications complexes, avec graphiques éventuellement.
Les notions acquises à l'aide de Python se réutilisent de toute manière dans tous les langages...

Logo Python

Python est un langage interprété. Les instructions de ce type de langage peuvent être :

  • soit entrées directement dans un logiciel appelé interpréteur et exécutées immédiatement
  • soit écrites dans un fichier ( d'extension .py ) nommé script Python que l'on exécute ensuite.

Pour plus d'information, voir le site Python.

Outils utilisés pour la programmation Python

De nombreux moyens existent pour programmer en Python; vous utiliserez au lycée :

  • soit un EDI ( Environnement de Développement Intégré ), comme le logiciel Pyzo, ou tout autre IDE de votre choix, comme Thonny, Spyder, VSCode ou autre...
  • soit un environnement de travail directement intégré dans une page web et pour lequel seul un navigateur internet suffit, sans avoir besoin de rien d'autre à installer.

Prise en main de Pyzo

On le lance à partir du menu Programmation > Pyzo.

Pyzo
  • l’interpréteur ( = shell Python ) est une zone où vous pouvez entrer des instructions qui seront immédiatement exécutées à l'appui de la touche ENTREE. Pratique pour tester rapidement le résultat d'une ou de quelques instructions(s)...
    C'est aussi là que s'afficheront les résultats de l'exécution d'un script.
  • l'éditeur est la grande zone de gauche, c'est la zone d'écriture des scripts.
  • l'explorateur de fichiers permet d'aller chercher un script enregistré et d'afficher son code.
  • d'autres fenêtres peuvent être affichées, nous en reparlerons plus tard pour certaines.

Vous pouvez déjà commencer à utiliser l’interpréteur en vous en servant, par exemple, comme d'une calculatrice.
Tapez quelques instructions, et Python en affiche immédiatement le résultat.

					
>>> 7+3
10

>>> 10*33
330

>>> 7/3
2.3333333333333335

>>> print("Salut les filles et les gars !")
Salut les filles et les gars !
					
				

Un premier programme...

Mais il est plus intéressant d'écrire un premier "script".

Entrer les lignes de code suivantes dans l'éditeur. Vous pouvez copier-coller ce code à l'aide du bouton Copier à droite du bloc.
Bien respecter le retrait, appelé indentation au début des quatrième et cinquième ligne ( il s'agit d'une tabulation ) :

					
from tkinter import *
def repondre():
 	# BIEN RESPECTER L'INDENTATION
	nom = reponse.get()								
	affichage['text'] = 'Salut ' + nom + '\n Bienvenue en NSI !!'     
 				
Fenetre = Tk()
Fenetre.title('Mon premier programme...')
nom = Label(Fenetre, text = 'Votre nom :')
reponse = Entry(Fenetre)
valeur = Button(Fenetre, text ='Valider', command=repondre)
affichage = Label(Fenetre, width=30)
nom.pack()
reponse.pack()
valeur.pack()
affichage.pack()
Fenetre.mainloop()
 					
				
  • Pensez à enregistrer régulièrement votre travail ( Fichier > Enregistrer )
  • Pour lancer l’exécution du programme, faire Exécuter / Démarrer le script
  • Il est possible également de faire exécuter le script non pas d'une seule traite mais pas à pas, de façon à pouvoir étudier le résultat de chaque instruction successivement. Bien pratique pour déterminer ce qui pose problème dans un script ( "déboguer" un script ). Sélectionner une instruction et faire Exécuter > Exécuter la sélection ( et avancer )

Les éditeurs en ligne/Basthon

Dans chaque page comprenant des exercices, vous trouverez pour chacun d'entre eux un éditeur intégré, qui vous permettra d'écrire/d'exécuter un script en vous évitant de "faire la navette" entre la page d'énoncé de l'exercice, et l'IDE que vous utilisez; de plus, ces éditeurs seront le moyen le plus sûr de transmettre à vos professeurs le travail que vous aurez fait.

Le site Basthon, accessible depuis l'onglet "Python en ligne" dans l'en-tête des pages, permet également de programmer en Python "en ligne", mais ne permet pas d'envoyer le travail fait.

Editeur en ligne
  • Bouton Executer : exécute le script entré dans l'éditeur; la sortie texte et les graphiques s'affichent dans la partie droite.
  • Bouton Executer : enregistre sur l'ordinateur le script entré dans l'éditeur.
  • Bouton Executer : ouvre un script enregistré sur l'ordinateur et l'affiche dans l'éditeur.
  • Bouton Executer : charge un fichier quelconque dans le système de fichiers ( virtuel ) de l'éditeur, de façon à pouvoir l'utiliser avec le script.
  • Bouton Executer : charge un module complémentaire Python.
  • Bouton Executer / Bouton Executer : bascule l'affichage de la partie droite entre la sortie texte et la sortie graphique.

Une fois connecté ( bouton Bouton de connexion dans l'en-tête des pages ) avec le même identifiant/mot de passe que votre compte Linux, un bouton s'affiche et vous permet d'envoyer directement aux professeurs le script entré dans l'éditeur. Attention, un seul envoi est possible, vérifiez bien auparavant que votre programme est terminé et fonctionnel.

Quelques remarques générales sur l'écriture d'un script Python

  • n'hésitez pas à sauter des lignes pour "aérer" votre code, Python ne tient pas compte de ces sauts de ligne à l'exécution.
  • Vous remarquerez que Pyzo fournit une coloration syntaxique du code, c'est à dire qu'il donne une couleur particulière à certains éléments de code ( par exemple, ce qui se rapporte à des textes apparaît en mauve )
  • tout ce qui est écrit après un signe dièse ("#") est un commentaire et ne sera pas exécuté par Python.
    C'est une EXCELLENTE habitude de BEAUCOUP commenter son code-source...Cela permettra à vous ou une autre personne qui relit votre code de comprendre ce que vous vouliez faire ( vous aurez de toute manière tout oublié au bout de 2 semaines, et un code « brut » n'est jamais très parlant !! )
  • il est IMPÉRATIF dans le cas du langage Python de respecter les retraits de ligne que l'on appelle "indentation" : toute la logique du langage est basée là-dessus.
    Cette indentation, de une, deux,... tabulation(s) ( une tabulation équivaut par défaut à 4 espaces, mais ceci est réglable dans les paramètres des EDI ), permet ainsi de délimiter les instructions qui appartiennent à un même bloc logique d'instructions ( dans l'exemple ci-dessus, ce sont les deux lignes en retrait qui appartiennent à un bloc appelé "fonction" ).

La suite de ce cours présente les éléments "de base" qu'un langage de programmation doit proposer pour être pleinement opérationnel.
Ces éléments constituent le noyau impératif de ce langage, qui comprend les notions de :

  1. Variables
  2. Conditions
  3. Boucles

Chacune des pages suivantes présente une de ces notions. Chaque cours peut être suivi selon trois niveaux différents : débutant, intermédiaire ou avancé.

Sur chaque page on trouvera :

Des éléments du langage qui permettent de résoudre les exercices ou de faire les applications sont présentés dans des paragraphes tel celui-ci.
Ces éléments complètent la connaissance du langage Python.

Des aides, et les solutions des exercices et des applications, sont fournies par un survol ou un clic à la souris des mots ou caractères en blanc sur fond rouge :

SOLUTION
Solution, ou élément d'aide