Skip to content

Chp A. Introduction à la programmation (python)

Avant d'attaquer le programme proprement dit, faisons un rapide tour d'horizon pour expliquer ce que signifier programmer, et voir comment mettre en place un environnement de travail souple et efficace pour notre usage.

1. Programmer un ordinateur c'est quoi ?

Dans notre époque moderne où le "tout numérique" fait foi, il devient indispensable de maîtriser un temps soit peu quelques notions de programmation. Mais programmer ça veut dire quoi ? La question est vaste, car on peut programmer tout un tas d'objets, mais pour nous cela se résumera à dire à un ordinateur de faire une certaine tâche. De part sa conception, un ordinateur ne comprend que le langage binaire, c'est à dire une longue suite de 0 et de 1. Il est bien entendu impossible pour nous de communiquer de cette façon ! C'est pour cela que les ingénieurs informaticiens ont conçu divers langages intermédiaires entre notre façon de parler et celle de la machine... Il existe une très grande diversité de langages différents (voir par exemple cette page wikipidia). Certains sont très connus, d'autres exotiques, mais chacun est plus ou moins généraliste ou au contraire dédié à certains types de tâches précises. Par exemple le langage Postscript est destiné à la mise en forme de documents papier, le langage HTML est destiné à la création de pages Web, le langage Basic est quant à lui plus généraliste. En ce qui nous concerne, il faut savoir qu'il existe des langages de bas niveau et des langages de haut niveau:

  • Les langages de bas niveau, sont en fait très proches de la machine (et donc très éloignés du langage naturel !). Il ont comme inconvénient d'être très difficiles à maîtriser et peu confortables. En revanche il ont l'avantage de permettre d'écrire des programmes très rapides à l'exécution. Un exemple emblématique de langage de bas niveau est l'assembleur.

  • Les langages de haut niveau sont au contraire plus faciles à utiliser car plus proches de notre langage courant (du moins de l'anglais !). On peut citer les plus utilisés actuellement avec les langages à succès comme C++, Java, Python ou encore Javascript.

Voici à titre de comparaison deux bouts de codes pour écrire "bonjour":

Comparaison des codes assembleur et python

movl $4, %eax
movl $1, %ebx
movl $str, %ecx
movl $8, %edx
int $0x80
movl $1, %eax
movl $0, %ebx
int $0x80
...
print("Bonjour")

Nous utiliserons Python ! En effet ce langage en plus d'être moderne, souple, populaire et de haut niveau, est bien adapté pour faire du calcul scientifique. Il faut garder à l'esprit que l'objectif n'est pas de devenir un expert dans un langage particulier, mais au contraire de comprendre les principes généraux des bases de la programmation, qui eux sont transposables sans difficultés d'un langage à un autre. Ainsi l'effort à fournir pour changer de langage est relativement minime une fois acquis les fondamentaux.

Voyons comment utiliser le langage python au lycée ou chez vous...

2. L'environnement de travail

Afin de préparer le premier TD où vous manipulerez un peu, on va expliquer le fonctionnement et mettre en place notre environnement de travail.

a) Le principe d'un programme python

Pour faire simple, le langage python est dit interprété (comme le basic...), c'est à dire que les lignes de codes sont exécutées à la volée les unes après les autres.

Pour notre utilisation, cette année on va distinguer 3 niveaux:

  • Niveau 1 : le shell ou encore la console interactive. On écrit une instruction sur une ligne, et l'appui sur la touche ENTER provoque son exécution par l'interpréteur python, et si l'instruction nécessite un affichage, celui-ci se place juste en dessous. Exemple : le shell Ce shell sera bien utile pour tester quelques commandes courtes, mais ne sera pas adapté pour écrire un programme !

  • Niveau 2 : la fenêtre de script. Si l'on veut pouvoir enchaîner plusieurs instructions et les exécuter toutes d'un coup (c'est ce dont on a besoin en général), on utilise un éditeur de texte, on saisit toutes les instructions et on fait passer ce fichier à l'interpréteur python (en appuyant sur le bouton exécuter), qui affichera les résultats éventuels dans le shell. Exemple : fenêtre interactive La plupart du temps on utilise un environnement de travail (en ligne ou localement) qui contient à la fois l'éditeur et le shell, ce qui permet de gagner beaucoup en souplesse...

  • Niveau 3 : les Notebook Jupyter. Un tel notebook est un outil bien adapté à l'enseignement ainsi qu'à une utilisation de python dans le monde des sciences. Ce sont ces notebooks que l'on utilisera la plupart du temps en classe cette année. Un notebook est une suite de cellules qui peuvent contenir du texte (un énoncé, une question ou autre...) ou du code python (comme la fenêtre de script). Une fois la prise en main effectuée, les nombreux raccourcis clavier en font un outil très souple. Exemple : notebook

b) Espace de travail pour cette année

Il existe de nombreuses distributions permettant d'écrire et d'exécuter des programmes en Python. Il existe des environnements qui peuvent s'installer en local sur votre machine (par exemple edupython, spyder...), ou d'autres directement en ligne (par exemple basthon, replit, trinklet...). Pour nos besoins, cette année nous utiliserons principalement une version de basthon intégrée dans notre ENT (Espace Numérique de Travail) Atrium fourni par la région, qui s'appelle Capytale. Cette solution permettra d'échanger et de stocker de façon sécurisée tous les fichiers dont nous auront besoin.

Pour résumer

On pourra donc utiliser les moyens suivants:

  • Travailler de façon sécurisée, directement en ligne en passant par votre connexion à Atrium, puis en choisissant l'onglet Capytale.

  • Si Atrium n'est pas accessible, on pourra travailler en ligne avec Basthon sur basthon.fr (on a alors à sa disposition la console ou le notebook)

  • Enfin, si l'on n'a pas de connexion Internet, on pourra travailler en local sur son propre ordinateur en installant par exemple l'environnement Edupython (aller sur : http://edupython.tuxfamily.org/ et rendez-vous au bas de la page), et si l'on veut travailler en local avec des notebook, il y a aussi Edupyter (disponible ici).

3. Exercices d'application (les opérations en python)

Exercice 1 : basthon, shell et premier script

Q1. Trouver sur Internet le site basthon.fr et ouvrir le mode console.

Q2. Taper print("Bonjour la TSI1") dans le shell et voir ce qu'il se passe en validant.

Q3. Taper print("Bonjour la TSI1") dans la fenêtre de script puis cliquer sur le bouton Exécuter pour voir la différence.

Remarque : le symbole # pour les commentaires

À noter que dans un script, tout ce qui suit le hashtag "#", jusqu'à la ligne suivante ne sera pas lu par l'interpréteur python, cela permet donc d'insérer des commentaires dans son programme.

print("Bonjour") # cette fonction affiche le mot "Bonjour"
Exercice 2 : le shell comme calculatrice

En python on retrouve les opérateurs suivants pour faire des calculs :

+   -   *   /   //  %   **
Les 4 premiers opérateurs sont les mêmes que sur vos calculatrices.

Q4. Essayer de déterminer le rôle des 3 derniers opérateurs ci-dessus en effectuant quelques essais dans le shell.

Q5. Taper dans le shell, une instruction permettant de calculer le résultat de l'opération (penser aux parenthèses, vous devriez trouver environ -3.78): $$ 2\times\dfrac{\dfrac{7}{2}+1}{\dfrac{3}{4}-5}-\dfrac{5}{3} $$

À retenir : les opérateurs pour calculer en python
  • + - * / : les 4 opérations usuelles
  • //: le quotient de la division (ex : 7 // 3 donne 2)
  • % : le reste de la division (ex : 7 // 3 donne 1)
  • ** : puissance (comme ^ sur les calculatrices)