• Aucun résultat trouvé

INTRODUCTION AU LANGAGE PYTHON

N/A
N/A
Protected

Academic year: 2022

Partager "INTRODUCTION AU LANGAGE PYTHON"

Copied!
5
0
0

Texte intégral

(1)

INTRODUCTION AU LANGAGE PYTHON

I ) Présentation – algorithme et programme

L’objectif de ce TP est de se familiariser avec le langage de programmation Python. C’est un langage libre et multiplateformes qui sera utilisé au lycée en mathématiques, en sciences physiques et, bien sûr, en SNT.

En 1989, le programmeur néerlandais Guido van Rossum participe aux

développements de plusieurs langages de programmation au CWI d’Amsterdam. Lors d’une semaine de vacances durant les fêtes de Noël, il va créer son propre langage de programmation sur son ordinateur personnel. Il le nomme Python en référence au groupe de comiques, les Monty Python, dont il est fan.

En une vingtaine d’années, Python s’est imposé comme le langage de programmation le plus utilisé dans le monde grâce à sa syntaxe simple et ses nombreuses applications.

Pour l’utiliser cette année, plusieurs solutions sont possibles :

 Sur ordinateur, avec le logiciel Thonny (à télécharger et pratiquer à la maison : )

Sur le web, avec le labo Python https://www.lelivrescolaire.fr/console-python ou bien https://repl.it/

 Sur les calculatrices récentes

Dans ce TP, nous réfléchirons sur des 1ers algorithmes très simples et nous réaliserons nos 1ers programmes en Python. Mais quelle est la différence entre algorithme et programme ?

En cherchant sur Internet la différence entre ces 2 mots, compléter les phrases suivantes en barrant le mot qui ne va pas dans les propositions entre crochets :

 Un algorithme est un ensemble d'instructions [simples/complexes] décrivant une tache donnée. Il est écrit en langage plus [éloigné/proche] de l'homme que de la machine. Un algorithme est un objet [concret/abstrait] définissant un calcul.

Quelques ex. d’algorithmes dans la vie de tous les jours :

 Une recette de cuisine : des instructions permettant de réaliser un plat

 Un trajet routier (tout droit, tourner à gauche, …) : des instructions permettant d'atteindre une destination

 Poser et résoudre une addition/soustraction/multiplication/division au CE1 : une méthode permettant de résoudre des problèmes arithmétiques

 Une chorégraphie : une suite d'étapes permettant de réaliser ou reproduire une performance artistique

 Le programme est aussi un ensemble d'instructions mais avec des informations que seules les [hommes/machines] peuvent comprendre. Un programme logiciel est un objet [concret/abstrait], souvent de grande taille et est écrit dans un langage [de programmation/étranger]. De plus, un

programme exprime rarement un seul algorithme : la plupart en emploient plusieurs, voire beaucoup.

Les premiers algorithmes dont on a retrouvé des descriptions datent des Babyloniens, au IIIe millénaire av. J.- C.. Ils décrivent des méthodes de calculs et des résolutions d’équations à l’aide d’exemples.

Un algorithme célèbre est celui qui se trouve dans le livre 7 des Éléments d’Euclide, et appelé algorithme d’Euclide.

Le mot « algorithme » vient du nom du mathématicien Al-Khwârizmî (latinisé au Moyen Âge en Algoritmi), qui, au IXe siècle écrivit le premier ouvrage systématique donnant des solutions aux équations linéaires et quadratiques.

(2)

II ) Les 1ers programmes 1/ Le 1er programme !

La coutume en informatique est d’écrire comme 1er programme celui d’afficher à l’écran « Hello world ! ». La seule commande (ou instruction) utilisée est ……….

Copier le code suivant et exécuter le :

Le programme affiche le texte mis entre guillemets.

2/ Le 2ème programme !

Pour ce 2ème programme, on va voir une nouvelle commande , celle de lecture (ou saisie), qui permet à l’utilisateur de communiquer avec la machine. On va aussi étudier un petit peu les variables, elles jouent un rôle central dans tout algorithme.

Lecture : pour demander à la machine de recevoir ce que l’utilisateur saisit au clavier on utilise la commande input().

Affectation de variable : pour affecter une valeur à une variable, on utilise le symbole d’égalité : maVariable

= valeur.

Copier le code suivant et exécuter le :

Plusieurs remarques :

 Dans ce programme, il y a deux variables : ……....…….. et ………...…..

Ces deux variables étant saisies par l’utilisateur, on dit que ce sont des ……...……. du programme.

Pour la variable age, la commande int() permet de reconnaître la saisie comme un nombre entier et non comme une simple chaîne de caractères.

Remarque : int est une réduction de …………... qui signifie entier en anglais.

Essayer par exemple votre programme en donnant comme âge la valeur 15.5.

Si on veut reconnaître les nombres décimaux il faudra utiliser la commande ………....

On utilisera alors le point et non la virgule pour séparer partie entière et partie décimale.

 Une variable peut être affectée par le programme lui même. Ex :

 Observer ce qui change avec la présence ou non des guillemets lorsqu’on utilise la commande print().

 On peut faire un affichage multiple avec une seule instruction print(). Les différents éléments sont à

(3)

séparer par des virgules.

Ex :

 La commande print() s’accompagne d’un retour à la ligne.

A vous de jouer

EX 1: modifier le programme précédent pour qu’il réalise les actions suivantes :

- Au lancement du programme, la machine accueille l’utilisateur en affichant : « Bienvenue ! ».

- Puis, il demande à l’utilisateur de saisir son nom, son prénom et son âge.

- Enfin, la machine affiche à l’écran : Félicitations !

Vous vous appelez prénom nom et vous avez âge ans.

3/ Structure conditionnelle

 Pour exécuter des instructions soumises à condition, on utilise la syntaxe suivante : if condition :

Instructions else :

Instructions

L’indentation, c’est-à-dire le décalage de texte, se fait automatiquement ou avec la touche Tab du clavier (la touche à gauche du clavier avec les deux flèches). Si il n’y en a pas après une condition comme if, le

programme détecte une erreur.

L’erreur la + fréquente est l’oubli ………...

 Dans condition, on aura souvent à comparer des nombres (mais pas que!). Voici une liste des opérateurs que l’on pourra utiliser :

x = = y est vrai quand x est ……….. à y, x != y est vrai quand x est ………… de y, x > y est vrai quand x est ………. à y, x < y est vrai quand x est ………. à y, x >= y est vrai quand x………. à y x <= y est vrai quand x ………...à y.

EX 2 : Compléter le programme précédent pour qu’il réalise en plus les actions suivantes : Si l’utilisateur est mineur (moins de 18 ans), la machine affiche le texte :

« Désolé, vous être trop jeune pour voter ! » Sinon, la machine affiche :

« Félicitations ! Vous êtes en âge de voter. »

(4)

4/ Les boucles

Les boucles bornées : boucles « for »

On parle de boucle bornée lorsqu’on connaît le nombre de répétitions à effectuer. On utilise alors un compteur k qui va varier entre deux valeurs.

Avec la syntaxe suivante :

for k in range(10) : Instructions

la boucle va être répétée 10 fois mais ATTENTION : k va prendre les valeurs 0, 1, 2, 3 … 9 Avec la syntaxe suivante :

for k in range(3,8) : Instructions k va prendre les valeurs 3, 4, 5, 6,7

REMARQUES IMPORTANTES :

 Ne pas oublier le : à la fin de la ligne

 l’indentation (qui sera faite automatiquement si on tape :) est obligatoire pour savoir ce qui est dans la boucle

Ex :

A vous de jouer : EX 3 - modifier le programme précédent pour qu’il affiche la table de multiplication de 3 EX 4 - écrire un nouveau programme qui prend en entrée un entier N et affiche en sortie les N premiers carrés à partir de 1.

Les boucles non bornées : boucles « while »

On parle de boucle bornée lorsqu’on répète une séquence d’instructions tant qu’une condition est réalisée.

La syntaxe est la suivante :

while condition : Instructions

- Exemple : On considère une population initiale de 1 individu qui double chaque jour.

Recopier et exécuter ce programme.

- Dans ce type de boucles, il est fréquent d’installer un compteur pour compter le nombre de passages dans la boucle.

EX 5 :Modifier le programme précédent en rajoutant les fonctionnalités suivantes :

 L’utilisateur saisisse un seuil S en dessous duquel la population ne doit pas dépasser.

 Ajouter un compteur correspondant au nombre de jours (1 jour par boucle)

 A la sortie de la boucle, le programme affichera que la population a dépassé le seuil au bout de tant de jours.

(5)

III ) A vous de jouer ! EX 6

Coder un programme pour reproduire le jeu du « plus petit !», «plus grand ! ».

- Le programme demandera au joueur jusqu’à quel entier S veut-il jouer (éviter 1000000 …) - Le programme déterminera un nombre entier au hasard entre 1 et S.

- L’utilisateur saisit un nombre et le programme lui répond « plus grand » ou « plus petit » ou « Bravo! ».

On pourra améliorer ce programme :

- en rajoutant à la fin le nombre d’essais qu’il a fallu.

- en rajoutant un compteur qui limitera le nombre d’essais

Remarque :

Le hasard n’est pas implanté nativement dans Python. Il faut alors importer ce qu’on appelle un module qui contient d’autres fonctions que celles standards pré-installées dans Python (comme print, input, int etc …). Le module qui gère le hasard se nomme « random ». Et dans ce module, la fonction randint(a,b) permet de choisir au hasard un entier compris en a inclus et b inclus.

Il existe 2 façons d’utiliser cette fonction : 1/

La ligne 1 importe dans le programme le module random. Et pour utiliser la fonction randint, on doit préciser qu’elle se trouve dans module random, d’où random.randint.

2/

La ligne 1 précise qu’on importe toutes les fonctions présentes dans le module random. A la ligne 2, on n’est plus obligé de préciser que randint est dans le module random.

Références

Documents relatifs

Cr´eer puis tester une fonction nomm´ee pgcd de param`etres m et n permettant de calculer le plus grand diviseur commun des entiers m et n au moyen de l’algorithme d’Euclide..

Dans un terminal, taper python (interpréteur classique) ou ipython (interpréteur plus évolué) pour accéder à un interpréteur Python.. Vous pouvez maintenant taper dans ce terminal

Écrire un programme permettant de déterminer les coordonnées du point B symé- trique du point A par rapport à un centre C où les coordonnées de A et de C seront données

•  Le logiciel compilateur lit toutes les lignes du programme source et produit une nouvelle suite de codes que l'on appelle programme objet (ou code objet).. •  Celui-ci

Dans le cadre théorique, nous avons parlé de l’élaboration d’un projet avec les élèves qui leur permettrait d’être motivés par les finalités tout en se donnant les moyens

Ensuite, après avoir fait la somme de ce [trois] devenu dernier, avec le nombre deux, deuxième parmi les précédents, et — à cause de la phrase : « en l’absence du quatrième et

Figure S1: Average and standard deviation of N over traffic flows versus time for 2019 with the corresponding migration ratio for 2020... Figure S2: Incoming flows (a) and

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