• Aucun résultat trouvé

Python les bases. I. Programme informatique 1

N/A
N/A
Protected

Academic year: 2022

Partager "Python les bases. I. Programme informatique 1"

Copied!
8
0
0

Texte intégral

(1)

« Python est une expérience de la liberté dont ont besoin les programmeurs.

Trop de liberté et personne ne peut lire le code d'un autre ; trop peu et la créativité est en danger. »

Guido van Rossum

I. Programme informatique

1

Un programme informatique est un ensemble d'opérations destinées à être exécutées par un ordinateur.

 Un programme source est un code écrit par un informaticien dans un langage de programmation. Il peut être compilé vers une forme binaire, ou directement interprété.

 Un programme binaire décrit les instructions à exécuter par un microprocesseur sous forme numérique. Ces instructions définissent un langage machine.

Un programme fait généralement partie d'un logiciel : un ensemble de composants numériques destiné à fournir un service informatique. Un logiciel peut comporter plusieurs programmes. On en retrouve ainsi dans les appareils informatiques (ordinateur, console de jeu, guichet automatique bancaire…), dans des pièces de matériel informatique, ainsi que dans de nombreux dispositifs électroniques (imprimante, modem, GPS, téléphone mobile, machine à laver, appareil photo numérique, décodeur TV numérique, injection électronique, pilote automatique…).

Les programmes informatiques sont concernés par le droit d'auteur, et font l'objet d'une législation proche des œuvres artistiques.

L'exécution se déroule de manière différente suivant si le langage de programmation s'utilise avec un compilateur ou un interpréteur.

 Un compilateur lit le programme source en entier, et le transforme en instructions machines. La transformation peut se faire en plusieurs étapes et nécessiter plusieurs lectures du programme. Une fois traduit, le programme est ensuite enregistré en vue d'être plus tard copié en mémoire et exécuté par le processeur tel quel ;

 Un interpréteur opère ligne par ligne : lit une ligne de programme source, puis exécute immédiatement les instructions machines correspondantes. L'avantage d'un interpréteur est que les erreurs peuvent être immédiatement corrigées. Le désavantage est que l'exécution du programme est 10 à 100 fois moins rapide que si le programme avait été préalablement traduit et exécuté tel quel.

1 fr.wikipedia.org

(2)

Cours de NSI 1 Python les bases

II. Python

2

Pour pouvoir écrire des programmes, il faut d'abord choisir un langage de programmation qui permette de décrire les différentes opérations que le programme développé doit effectuer. Il existe des centaines de langages de programmation différents, chacun ayant ses spécificités propres. Ce chapitre présente ce langage et introduit les concepts de base nécessaires à l'écriture d'un premier programme simple.

Le langage de programmation Python a été créé par Guido van Rossum (Figure 1) en 1990 et est rendu disponible sous licence libre. Guido van Rossum est un programmeur néerlandais qui a travaillé pour Google pendant sept ans et travaille maintenant pour Dropbox depuis janvier 2013. Le développement de Python est aujourd'hui assuré par la Python Software Foundation, fondée en 2001. Il s'agit d'un langage interprété fonctionnant sur la plupart des plateformes informatiques (notamment Linux, Windows et macOS). Il est également très apprécié des pédagogues qui le considèrent comme étant un bon langage pour s'initier aux concepts de base de la programmation.

Figure 1. Guido van Rossum et le logo de Python.

En 1999, Guido van Rossum a soumis un projet auprès de la DARPA (Defense Advanced Research Projects Agency), une agence du département de la Défense des États-Unis chargée du développement des nouvelles technologies destinées à un usage militaire. Dans sa proposition, appelée « Computer Programming for Everybody », il définit les buts suivants pour Python :

 le langage doit être simple et intuitif, et aussi puissant que les principaux concurrents ;

 il doit être open source, afin que quiconque puisse contribuer à son développement ;

 le code doit être aussi compréhensible qu'un texte en anglais ;

 il doit être adapté aux tâches quotidiennes, et permettre des courts délais de développement.

Depuis sa création, le succès du langage n'a cessé de croitre, jusqu'à le porter parmi les dix langages de programmation les plus populaires. Il s'agit d'un langage de haut niveau, à usage général. Les dernières versions stables du langage sont la 2.7.16 (3 mars 2019) et la 3.7.4 (8 juillet 2019). Ces deux versions, communément appelées Python 2 et Python 3, continuent toutes les deux d'exister, essentiellement pour des raisons de compatibilité.

Python est utilisé dans de nombreux projets, de types différents. Il est notamment utilisé comme langage de script pour des applications web. Il est également très présent dans des applications de calculs scientifiques, et est intégré dans de nombreux logiciels de modélisation, comme langage de script. Enfin, il est aussi utilisé dans le développement de jeux vidéo ou dans l'écriture de tâches dans le domaine de l'intelligence artificielle.

(3)

III. Première utilisation

A. Hello world !

Une fois n'est pas coutume, lorsqu'il s'agit de présenter la syntaxe d'un langage de programmation, on utilise comme exemple le programme Hello World. Il s'agit simplement d'un programme qui affiche les deux mots

« Hello World » à l'écran, avant de se terminer.

Voici ce que cela donne en Python :

>>> print('Hello World!')

Python inclut une fonction prédéfinie print qui affiche à l'écran la séquence de caractères qu'on lui fournit.

Cette unique ligne de code constitue notre premier programme Python. Il y a deux modes d'utilisation de Python.

B. Le Mode Interactif

L'exécution d'un programme Python se fait à l'aide d'un interpréteur. Il s'agit d'un programme qui va traduire les instructions écrites en Python en langage machine, afin qu'elles puissent être exécutées directement par l'ordinateur. Cette traduction se fait à la volée. On dit donc que Python est un langage interprété.

Dans le mode interactif, aussi appelé mode console, l'interpréteur vous permet d'encoder les instructions une à une. Aussitôt une instruction encodée, il suffit d'appuyer sur la touche ENTER pour que l'interpréteur l'exécute.

Travail à faire

1. Python : mode interactif.

 Ouvrir une « invite de commande » (Shell) Windows.

 Taper « py » puis Entrée pour lancer l'interpréteur Python.

 Taper « print('Hello World!') » puis Entrée.

Les lignes qui commencent par >>> sont l'invite de commande qui vous propose d'encoder une instruction. Si cette dernière produit un résultat, il est affiché une fois l'instruction exécutée. La figure 2 montre le programme Hello World en mode interactif.

Figure 2. Hello World ! En mode interactif.

Le mode interactif est très pratique pour rapidement tester des instructions et directement voir leurs résultats. Son utilisation reste néanmoins limitée à des programmes de quelques instructions. En effet, devoir à chaque fois retaper toutes les instructions s'avèrera vite pénible.

(4)

Cours de NSI 1 Python les bases

A. Le Mode Script

Il existe également le mode script où vous devez avoir préalablement écrit toutes les instructions de votre programme dans un fichier texte, et l'avoir enregistré sur votre ordinateur. On utilise généralement l'extension de fichier « .py » pour des fichiers contenant du code Python. Une fois cela fait, l'interpréteur va lire ce fichier et exécuter son contenu, instruction par instruction, comme si vous les aviez tapées l'une après l'autre dans le mode interactif. Les résultats intermédiaires des différentes instructions ne sont par contre pas affichés ; seuls les affichages explicites (avec la fonction print, par exemple) se produisent.

Travail à faire

2. Python : mode script.

 Ouvrir « notepad++ ».

 Taper « print('Hello World!') » dans un nouveau fichier.

 Enregistrer le fichier dans l'espace de travail sous « hello.py ».

 Appuyer sur F5 (« Exécuter ») puis Taper :

« "C:\Program Files (x86)\Python37-32\RunPythonInIDLE.bat" "$(FULL_CURRENT_PATH)" ».

Attention de vérifier le chemin vers « RunPythonInIDLE.bat » !

 Cliquer sur « Enregistrer... » pour une utilisation ultérieure. Entrer le nom « exe-python » avec le raccourcis clavier « Ctrl+Alt+Shift+P ».

 Tester.

IV. Notion de variable

3

Définition du mot ordinateur d'après « Le Petit Larousse » :

« Machine automatique de traitement de l'information, obéissant à des programmes formés par des suites d'opérations arithmétiques et logiques. »

Qui dit « traitement de l'information », dit donc données à manipuler. Un programme « passe » donc son temps à traiter des données. Pour pouvoir traiter ces données, l'ordinateur doit les ranger dans sa mémoire (RAM - Random Access Memory). La RAM se compose de cases dans lesquelles nous allons ranger ces données (une donnée dans une case). Chaque case a une adresse (ce qui permet au processeur de savoir où sont rangées les données).

Alors, qu'est-ce qu'une variable ?

Eh bien, c'est une petite information (une donnée) temporaire que l'on stocke dans une case de la RAM. On dit qu'elle est « variable », car c'est une valeur qui peut changer pendant le déroulement du programme. Une variable est constituée de 2 choses :

 Elle a une valeur : c'est la donnée qu'elle « stocke » (par exemple le nombre entier 5).

 Elle a un nom : c'est ce qui permet de la reconnaître. Nous n'aurons pas à retenir l'adresse de mémoire, nous allons juste indiquer des noms de variables à la place.

Exemple : « >>> i = 12 »

Grâce à cette ligne, nous avons défini une variable qui porte le nom i et qui « contient » le nombre entier 12.

Plus précisément, nous dirons que la variable i référence le nombre entier 12.

(5)

Travail à faire 3. Une variable.

 Ouvrir « notepad++ ».

 Taper « point_de_vie = 15 » dans un nouveau fichier.

 Enregistrer le fichier dans l'espace de travail sous « main.py ».

 Exécuter le programme (« Ctrl+Alt+Shift+P »).

 Dans la console, taper « point_de_vie ».

Après avoir appuyé sur la touche "Entrée", vous devriez voir la valeur référencée par la variable point_de_vie s'afficher dans la console.

Travail à faire

4. Une variable : exercice.

 Écrire un programme dans lequel on attribue la valeur 12 à la variable point_de_force.

 Afficher la valeur référencée par la variable point_de_force dans la console.

Nous venons de voir qu'une variable peut référencer un nombre entier, mais elle peut aussi référencer un nombre à virgule.

Exemple : « >>> i = 5.2 »

Prenez bien garde, nous utilisons un point à la place d'une virgule (convention anglo-saxonne).

Une variable peut donc référencer plusieurs types d'entités (pour l'instant nous n'en avons vu que deux, mais nous en verrons d'autres plus loin) : les nombres entiers (« integer » en anglais, abrégé en « int ») et les nombres à virgule (« float » en anglais). Il est possible de connaitre le type de l'entité référencé par une variable à l'aide de l'instruction « type ».

Travail à faire

5. Le type d'une variable

 Tester le programme suivant :

a = 5.2 b = 12

 Taper « type(a) » puis « type(b) » dans la console.

Comme vous pouvez le constater, le type de la grandeur référencée par la variable « a » et le type de la grandeur référencée par la variable « b » s'affichent dans la console.

V. Un peu de calculs

4

Un ordinateur est bien évidemment capable d'effectuer des opérations mathématiques (arithmétiques). Les signes utilisés sont classiques : +, - , * (multiplication), / (division), // (division euclidienne) ou encore % (modulo : reste d'une division euclidienne). Il est tout à fait possible d'effectuer des opérations directement avec des nombres, mais il est aussi possible d'utiliser des variables.

4 pixees.fr

(6)

Cours de NSI 1 Python les bases Travail à faire

6. Une addition.

 Ecrire un programme qui additionnera le contenu de 2 variables (nom des variables : « a » et « b »).

 Référencer le résultat de cette opération par une troisième variable nommée « resultat » (attention pas d'accent dans les noms de variable).

 Tester le programme en utilisant la console pour vérifier la valeur référencée par la variable

« resultat ».

Travail à faire 7. Une addition.

 Que fait ce programme ?

a = 11 a = a + 1

 Vérifiez votre réponse en exécutant le programme.

Ce qui se passe :

 Nous créons une variable a qui référence l'entier 11.

 Nous affichons à l'écran la valeur référencée par a (c'est-à-dire 11).

 La suite est un peu plus complexe, mais très importante à comprendre. Il va falloir lire la ligne « a = a + 1 » de droite à gauche, décortiquons cette ligne :

- « a + 1 » : nous prenons la valeur actuelle de a (c'est-à-dire 11) et nous ajoutons 1 à 11, à droite de l'égalité nous avons donc maintenant la valeur 12.

- nous référençons la valeur qui vient d'être calculée à la variable a.

Ce raisonnement peut être généralisé pour éviter des erreurs parfois difficiles à corriger : dans une égalité, commencer toujours par évaluer l'expression se trouvant à droite du signe égal.

VI. exposant, racine carrée, fonctions trigonométriques

Il est aussi possible d'effectuer des calculs plus complexes en utilisant par exemple des exposants, des racines carrées, des fonctions trigonométriques... Pour utiliser ces fonctions mathématiques plus avancées, il est nécessaire d'ajouter une ligne au début de votre programme : « import math ». Cette ligne permet d'importer (et donc d'utiliser) le module « math » (ce module contient toutes les fonctions mathématiques

« classiques »).

Voici quelques exemples5 :

 math.pow(x,a) permet de calculer x exposant a.

 math.cos(x) permet de calculer le cosinus de l'angle x (l'angle x doit être en radian) (nous avons la même chose pour le sinus ou la tangente).

 math.sqrt(x) permet de calculer la racine carrée de x.

Travail à faire

8. Le module « math ».

 Quelles sont les valeurs référencées par les variables d, e, f, g, h et i après l'exécution du programme suivant ?

(7)

import math a = 5 b = 16 c = 3.14 / 2 d = b / a e = b // a f = b % a

g = math.pow(a,2) h = math.sqrt(b) i = math.sin(c)

 Vérifier les réponses à l'aide de la console.

À noter qu'il est tout à fait possible de "mélanger" des nombres entiers et des nombres à virgules (« 3.14 / 2 ») dans une opération.

Travail à faire

9. Retour sur les types.

 Écrire un programme permettant de répondre à la question suivante : « Quel est le type du résultat d'une addition d'un integer et d'un float ? »

VII. chaînes de caractères

Les variables peuvent aussi référencer des suites de caractères, que l'on appelle « chaîne de caractères ».

Travail à faire

10. Chaîne de caractère.

 Tester le code suivant :

ma_chaine = "Bonjour le monde !"

Vérifier que la variable ma_chaine référence la chaîne de caractères "Bonjour le monde !".

A. Le signe + et les chaînes de caractères

L'utilisation du signe + ne se limite pas à l'addition. Il est aussi utilisé pour la concaténation. D'après Wikipédia :

« Le terme concaténation (substantif féminin), du latin cum (« avec ») et catena (« chaîne, liaison »), désigne l'action de mettre bout à bout au moins deux chaînes. »

Comme vous avez pu le deviner en lisant la définition ci-dessus, la concaténation va concerner les chaînes de caractères.

Travail à faire 11. Concaténation.

 Quelle est la chaîne de caractère référencée par la variable mon_expression après l'exécution du programme ci-dessous ?

a = "Hello"

b = "World"

mon_expression = a + b

 Valider la réponse en testant ce programme.

(8)

Cours de NSI 1 Python les bases

B. chaînes de caractères et variables

Il est aussi possible de concaténer une chaîne de caractères et une ou plusieurs variables.

Travail à faire

12. Concaténation mixte.

 Tester le code suivant :

ma_chaine_1 = "Bonjour "

ma_chaine_2 = "le "

res = ma_chaine_1 + ma_chaine_2 + "monde!"

Les 2 variables ma_chaine_1 et ma_chaine_2 référencent 2 chaînes de caractères, nous avons donc bien ici une concaténation. Mais que se passe-t-il si la variable référence un nombre (entier ou flottant) ?

Travail à faire

13. Concaténation et nombre.

 Tester le code suivant :

mon_nombre = 5

res = "Nombre de personnes : " + mon_nombre

Comme vous pouvez le constater, nous avons droit à une erreur. En effet, il n'est pas possible de concaténer une chaîne de caractères et un nombre. Python nous offre 2 solutions :

• L'utilisation de la méthode « str ».

• L'utilisation des « fstring ».

La méthode « str » permet de transformer un nombre en chaîne de caractères (si la transformation n'est pas possible, nous aurons une erreur).

Travail à faire

14. La méthode « str ».

 Tester le code suivant :

mon_nombre = 5

mon_nombre = str(mon_nombre)

 Quel est le type de la valeur référencée par la variable mon_nombre après l'exécution du programme ci-dessus ?

 Tester le code suivant :

mon_nombre = 5

res = "Nombre de personnes : " + str(mon_nombre)

Tout fonctionne, car maintenant nous avons bien une concaténation entre 2 chaînes de caractères.

Les « fstring » (nouveauté de Python 3.5), permettent de résoudre ce problème de combinaison variable- chaîne de caractères.

Travail à faire

15. La méthode « fstring ».

 Tester le code suivant :

mon_nombre = 5

res = f"Nombre de personnes : {mon_nombre}"

Notez la présence du « f » juste avant le guillemet et des accolades qui encadrent le nom de la variable. Il est possible, dans une même chaîne de caractères d'avoir plusieurs noms de variable.

Références

Documents relatifs

Towards the top of the peat unit, characterised by Cyperaceae, the first layers of silt and sand reflect a gradual transition to the overlying inorganic sediments, and are likely

Informatique pour tous (MPSI & PCSI) ALGO-PROG-1 Prog en Python Année 2015 - 2016 3 / 87... Langages de programmation Diversité

 Editions  Robert

Internet est le média le plus utilisé quant il s’agit d’apprendre à programmer et un module Python est plus pratique pour s’assurer qu’un code Python reste valide lors du

J’aurais  aimé  me  trouver  parmi  vous,  à  l’occasion  de  votre  congrès  mais  les  dates  du   Sommet  international  sur  la  profession  enseignante

The study aimed to identify the electronic management in the Algerian Telecom Corporation in the valley and its role in raising the level of performance of

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Le premIer objectif de la présente étude est donc de vérifier la présence de différences entre les hommes et les femmes quant au sens donné au cancer et à