Top Banner
1 - Types, variables, tests 1.1 - Types numériques et type chaîne de caractères 1.1.1 - L'interpréteur Python Lancez le logiciel Wing101, qui est celui dans lequel nous utiliserons Python dans le cadre de ces TP L''interpréteur Python (aussi appelé “shell Python”) apparaît : il s'agit d'une fenêtre avec une invite de commandes (ou “prompt”), symbolisée par le signe >>> , qui vous invite à taper une commande (ou instruction). Cela fonctionne un peu comme une messagerie instantanée (un “ chat ” comme par exemple MSN ou GTalk) où Python vous “ répondra ” à chaque fois que vous lui écrirez quelque chose. 1.1.2 - Les premières commandes python - les opérateurs Nous allons maintenant dialoguer avec cet interpréteur Python : tapez les instructions de la colonne de gauche et écrivez les résultats obtenus (les réponses de l'interpréteur), dans la colonne de droite, en commentant éventuellement (essayez de prévoir la réponse et, si elle est différente, de comprendre pourquoi la réponse qui vous paraît logique n'a pas été celle de l'ordinateur). Tableau 1 : premières commandes python instruction à taper résultat obtenu + commentaire ou explication 20+1 20/3 20//3 20%3 5.45*10 2**4 (3+2)*5 3+2*5 info - TP1 page 1 Contenu : familiarisation avec l'environnement de développement types de base : entier, flottant, chaîne de caractères, booléen ; variables ; saisies et affichage ; instruction conditionnelle if. Fichiers à rendre : TP1_1.py ; TP1_2.py ; TP1_3.py ; TP1_4.py ; TP1_5.py
14

1 - Types, variables, tests - lycee.lagrave.free.fr

Jun 16, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 - Types, variables, tests - lycee.lagrave.free.fr

1 - Types, variables, tests

1.1 - Types numériques et type chaîne de caractères

1.1.1 - L'interpréteur PythonLancez le logiciel Wing101, qui est celui dans lequel nous utiliserons Python dans le cadre de ces TP

L''interpréteur Python (aussi appelé “shell Python”) apparaît : il s'agit d'une fenêtre avec une invite de commandes (ou “prompt”), symbolisée par le signe >>> , qui vous invite à taper une commande (ou instruction). Cela fonctionne un peu comme une messagerie instantanée (un “ chat ” comme par exemple MSN ou GTalk) où Python vous “ répondra ” à chaque fois que vous lui écrirez quelque chose.

1.1.2 - Les premières commandes python - les opérateursNous allons maintenant dialoguer avec cet interpréteur Python : tapez les instructions de la colonne de gauche et écrivez les résultats obtenus (les réponses de l'interpréteur), dans la colonne de droite, en commentant éventuellement (essayez de prévoir la réponse et, si elle est différente, de comprendre pourquoi la réponse qui vous paraît logique n'a pas été celle de l'ordinateur).

Tableau 1 : premières commandes pythoninstruction à taper résultat obtenu + commentaire ou explication

20+1

20/3

20//3

20%3

5.45*10

2**4

(3+2)*5

3+2*5

info - TP1 page 1

Contenu :

• familiarisation avec l'environnement de développement

• types de base : entier, flottant, chaîne de caractères, booléen ;

• variables ;

• saisies et affichage ;

• instruction conditionnelle if.

Fichiers à rendre : TP1_1.py ; TP1_2.py ; TP1_3.py ; TP1_4.py ; TP1_5.py

Page 2: 1 - Types, variables, tests - lycee.lagrave.free.fr

"bonjour"

(avec des guillemets)

'bonjour'

(avec des apostrophes et non pas des guillemets)

"il fait " + "beau"

"il fait " + "beau" + " et chaud"

"bonjour "*5

Astuce : pour éviter d'avoir à retaper toute une ligne, utilisez la flèche “haut” du clavier pour vous positionner sur cette ligne, puis tapez “Entrée” : la ligne est recopiée après l'invite de commande et vous pouvez la modifier avant de taper à nouveau “Entrée”.

+ , * , / , // , % , ** , sont des opérateurs python. Ils permettent de réaliser des opéra­tions sur des données.

20 , 3 , 5.45 , "bonjour" sont des données.

Chaque donnée possède un certain type ; ici il s'agit :du type entier ou int pour les données 20 et 3du type flottant ou float, pour la donnée 5.45du type chaîne de caractères ou string pour la donnée "bonjour"

(il existe d'autres types de données que nous verrons par la suite).

Certaines instructions ne sont pas acceptées par l'interpréteur python et provoquent l'affichage d'un message d'erreur. Il faut lire attentivement tous les messages d'erreur (même s'ils sont en anglais) car ces messages nous apprennent comment fonctionne le langage et nous aident à corriger nos instructions et nos programmes. Tapez les instructions suivantes, observez les erreurs obtenues et analysez-les :

Tableau 2 : premiers messages d'erreurinstruction à taper erreur observée + explication

20/0

20@3

"bonjour"/3

"bonjour" + 5

(3+2))*5

(3+2*5

info - TP1 page 2

Page 3: 1 - Types, variables, tests - lycee.lagrave.free.fr

Pour connaître le type d'une donnée, on peut utiliser le mot type : tapez ce qui suit :

Tableau 3 : les types de donnéesinstruction à taper résultat obtenu + commentaire ou explication

type(3)

type(1.5)

type(3.0)

type("bonjour")

type("3")

type(3+1.5)

Exercice 1 : opérateurs et types de donnéesSur quels types de données peut-on utiliser les opérateurs + , * , / , // , % , ** ? Quel est le type du résultat ? Répondre en complétant ci-dessous. Vous pouvez faire des tests en tapant d'autres instructions dans l'interpréteur python.

(exemple : 3+7.1 est accepté par l'interpréteur python, donc l'opérateur + s'applique à un entier et à un flottant, et le résultat est de type flottant).

opérateur types de données utilisables type du résultat

+

*

/

//

%

**

Pour les chaînes de caractères, l'opérateur + s'appelle la concaténation(il fusionne bout à bout deux chaînes de caractères)

info - TP1 page 3

Page 4: 1 - Types, variables, tests - lycee.lagrave.free.fr

1.1.3 - Le transtypageOn peut parfois transformer une donnée d'un certain type, en une donnée d'un autre type. Cela s'appelle le transtypage (ou cast en anglais).

Tableau 4 : transtypagedonnée de départ de quel type est la

donnée de départ ?instruction à taper type du résultat obtenu et/ou

commentaire

3.0 int(3.0)

3.5 int(3.5)

3 float(3)

4 str(4)

"3" int("3")

"3.5" float("3.5")

"3.5" int("3.5")

"bonjour" int("bonjour")

Exercice 2 : corriger les instructions Comment corriger les instructions suivantes pour qu'elles ne provoquent plus d'erreur ?

a) but recherché : on veut obtenir la chaîne de caractères "vous êtes 2 dans ce binôme TP"

instruction : "vous êtes" + 2 + "dans ce binôme TP"

instruction corrigée : ...

b) but recherché : on veut afficher "blablablablablablablablablabla" c'est à dire "bla" 10 fois de suite.

instruction : "bla"*10.0

instruction corrigée : ...

1.2 - Les variables et l'affectation

1.2.1 - L'affectationIl peut être pratique de ranger les données dans des contenants, aussi appelés variables, afin de les conserver dans la mémoire de l'ordinateur pour les utiliser plus tard.

Le rangement d'une donnée (un contenu) dans une variable (un contenant) s'appelle l'affectation. L'affectation se fait grâce à l'opérateur = qui s'appelle l'opérateur d'affectation.

info - TP1 page 4

Page 5: 1 - Types, variables, tests - lycee.lagrave.free.fr

= est l'opérateur d'affectation

L'affectation se fait en deux temps :

(1) évaluation (c'est à dire calcul) de la partie à droite de l'opérateur d'affectation (selon des règles de priorité de calcul correspondant au type des données concernées). Le résultat de cette évaluation est la donnée (le contenu) qui va être rangée dans la variable.

(2) rangement du résultat de cette évaluation dans la partie à gauche de l'opérateur d'affectation. Cette partie à gauche est la variable (le contenant).

Attention : ne pas confondre l'opérateur d'affectation = avec le symbole d'égalité mathématique. L'affectation n'est ni une équation mathéma­

tique, ni une égalité mathématique !

Application : taper les instructions suivantes dans l'ordre indiqué, et compléter le tableau.

Tableau 5 : opérateur d'affectation =

instruction à taper quelle est la variable ?

Quelle est la donnée (ou est le résultat de l'évaluation de la

partie droite) ? De quel type est cette donnée (ou ce résultat) ?

age = 20

age = 30

prenom = "Perceval"

taille_m = 1.75

taille_cm = 100*taille_m

age = age + 3

phrase1 ="bonjour "+ prenom

phrase1 = phrase1 + " !"

phrase2 = prenom +" a " +str(age)+" ans."

Pour afficher le contenu d'une variable dans l'interpréteur python, il suffit de taper le nom de cette variable. Taper les instructions suivantes et compléter :

instruction à taper quelle valeur contient la variable ? (+ commentaire)

age

info - TP1 page 5

Page 6: 1 - Types, variables, tests - lycee.lagrave.free.fr

prenom

prenom = "Lancelot"

prenom

age = 40

age

age = 22

age

age = age + 1

age

phrase1

phrase2

profession

profession="étudiant(e)"

profession

Remarque : le langage Python permet de faire plusieurs affectations à la fois, séparées par des virgules sur une seule ligne, mais cette utilisation est fortement déconseillée dans le cadre de ces TP. Exemple d'une telle affectation multiple : (à ne pas utiliser dans ces TP !)

>>> nom,prenom,age,etudiant="Student","Joe",20,True

1.2.2 - Les noms de variablesUn nom de variable doit (conventions TPs Python, à respecter !) :

• débuter par une lettre minuscule

• contenir uniquement des lettres sans accents, des chiffres et le tiret de souligne­ment _ (appelé tiret “underscore” ou encore “tiret du 8”)

• Être aussi explicite que possible (ne pas utiliser de noms trop courts et sans signi­fication comme a, b, x, y, n, mais utiliser plutôt age, longueur, nombre, somme...)

Le langage Python fait la distinction entre les majuscules et les minuscules.

info - TP1 page 6

Page 7: 1 - Types, variables, tests - lycee.lagrave.free.fr

Les mots clés réservés du langage ne peuvent pas être utilisés comme nom de variables (car ils sont déjà “réservés” par le langage). Ce sont :

and as assert break class

continue def del elif else

except False finally for from

global if import in is

lambda None nonlocal not or

pass raise return True try

while with yield

Exercice 3 : échanger la valeur de 2 variablesécrire (sur papier) un algorithme pour échanger les valeurs de 2 variables que vous nommerez var1 et var2.

1.3 - Le mode éditeur

Nous allons maintenant laisser de côté l'interpréteur python (vous pourrez vous en resservir de temps en temps lorsque vous voudrez tester une instruction) et nous allons passer en mode éditeur, pour écrire des programmes (appelés aussi scripts ou applications) qui pourront être enregistrés et réutilisés plus tard.

Exercice 4 : programme TP1_1

Ouvrez (avec Wing) le programme TP1_1.py. Ce programme sera à imprimer et à rendre en fin de TP.

L'extension de fichier .py indique qu'il s'agit d'un programme (ou script) python.

1) Dans la partie “ en-tête du module ”, modifiez la date et le nom de l'auteur (en remplaçant par le nom des étudiant(e)s du binôme).

2) Exécutez ce programme en cliquant sur le triangle vert (ou en utilisant le raccourci clavier Ctrl-Alt- ). Commentez dans votre compte rendu de TP.

3) (Répondez dans votre compte-rendu de TP) : pourquoi a-t-on écrit str(age) et pas simple­ment age dans la ligne :print("bonjour " + prenom + " " + nom + ", tu as " + str(age) + " ans.")

4) Dans la partie “ programme principal ”, modifiez la valeur des variables : affectez votre nom, votre prénom et votre âge aux variables nom, prenom, age. Enregistrez le programme et exécutez-le à nouveau. Que s'affiche-t-il ? (Répondez dans votre compte-rendu de TP).

1.3.1 - Le programmeur et l'utilisateur du programmeIl ne faut pas confondre le “programmeur” ou “développeur” (celui ou celle qui écrit le programme) et “ l'utilisateur ” (celui ou celle qui utilisera le programme). Seul le programmeur peut modifier le programme (c'est à dire le fichier d'extension .py). L'utilisateur est complètement extérieur au programme ; il ne peut qu'exécuter le programme.

.

info - TP1 page 7

V

Page 8: 1 - Types, variables, tests - lycee.lagrave.free.fr

1.3.2 - Les fonctions d'entrée / sortieAfin que l'utilisateur puisse entrer des données dans les variables du programme et visualiser les résultats calculés par le programme, le programmeur utilise des fonctions d'entrée et de sortie.

La fonction print est une fonction de sortie : elle affiche à l'écran (à l'attention de l'utilisateur) une donnée ou le contenu d'une variable.

La fonction input est une fonction d'entrée : le programme affiche une question à l'attention de l'utilisateur et attend que l'utilisateur tape sur des touches du clavier en réponse à cette question. L'utilisateur doit terminer sa saisie par la touche “ Entrée ” pour que le programme continue son exécution. La suite de caractères saisie par l'utilisateur est récupérée par le programme où elle peut être utilisée. Elle est généralement affectée à une variable du programme.

La donnée récupérée par la fonction input (en python3) est de type chaîne de caractères.

Si on souhaite récupérer un nombre (et non pas une chaîne de caractères), il faut transtyper cette donnée récupérée par input.

Exemple : dans l'interpréteur, tapez les instructions suivantes.

Tableau 6 : utilisation de la fonction inputinstruction à taper commentaire

numero=input("entrez un chiffre entre 1 et 5 : ")

type(numero)

numero = numero + 1

numero = int(numero)

type(numero)

numero = numero + 1

Exercice 5 : programme TP1_1 : saisie d'un nom, prénom, âge par l'utilisateur Nous allons modifier le programme TP1_1.py. Remplacez la ligne

nom = "Cleese (ou votre nom)"

par

nom = input("Quel est ton nom ? ")

Faites de même pour les variables prenom et age. Enregistrez et exécutez. Vérifiez que l'utilisa­teur peut entrer n'importe quels noms, prénoms et âges et que ceux ci s'affichent bien ensuite dans une phrase “ bonjour (prénom nom), tu as (âge) ans ”.

Commentez et indiquez les résultats obtenus dans votre compte-rendu de TP.

info - TP1 page 8

Page 9: 1 - Types, variables, tests - lycee.lagrave.free.fr

Exercice 6 : afficher la somme de deux valeurs fournies en entrée par l'utilisateur (TP1_2) Nous allons créer un nouveau programme. Pour cela, cliquez le menu Fichier/Nouveau pour ouvrir un nouveau programme vide. Nommez-le TP1_2.py, enregistrez-le sur le Bureau dans le répertoire TP1 (ce programme sera à rendre en fin de TP). Tapez un en-tête de programme selon le modèle suivant (ou bien ouvrez le fichier modele_script.py , copiez-collez l'en-tête dans votre nouveau programme et modifiez cet en-tête).

#!/usr/bin/python3

# -*- coding: utf-8 -*-

"""Documentation de

ce module

"""# fichier: nom_fichier.py

# auteur: prof

# date : juillet 2011

# ---------- imports ----------

# ---------- Programme Principal ----------

Illustration 1: En-tête d’un script

Tapez les lignes suivantes dans la partie “ programme principal ” puis exécutez :

var1 = input("Quelle est la première valeur ? ")

var2 = input("Quelle est la deuxième valeur ? ")

var_somme = var1 + var2

print("La somme des deux valeurs est", var_somme)

Quel résultat est obtenu ? On souhaite que la variable var_somme contienne la somme des deux nombres entrés par l'utilisateur. Corrigez ce programme pour qu'il fasse ce qui est souhaité.

Commentez dans votre compte-rendu de TP.

1.3.3 - Mettre des commentaires dans les programmesDes commentaires doivent toujours figurer dans les programmes : ils permettront aux autres programmeurs de comprendre ce que vous avez voulu faire ; ils vous seront aussi utiles lorsque vous relirez vos propres programmes plus tard.

Les commentaires ne sont pas interprétés comme des instructions du langage, mais ils sont ignorés par Python. Ils sont introduits par un caractère # (tout ce qui suit le # sur la même ligne est un commentaire). Ils peuvent aussi figurer entre des triple-guillemets (""" suivis de """).

Exercice 7 : commenter les programmes TP1_1 et TP1_2 Ajoutez des commentaires précédés du signe # dans vos deux programmes TP1_1.py et TP1_2.py (à rendre en fin de TP) pour expliquer ce que font les différentes lignes du programme.

A partir de maintenant, tous vos programmes devront être commentés.

info - TP1 page 9

Page 10: 1 - Types, variables, tests - lycee.lagrave.free.fr

En fin de programme, vous devez copier-coller les résultats de l'exécution du programme entre triple-guillemets """. Tous les programmes rendus dans le compte-rendu de TP devront contenir des résultats en commentaires. Voir l'exemple ci-dessous.

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

"""Ce module calcule le volume d'une sphère."""

# fichier: exemple.py

# auteur: Bob Cordeau

# imports

from math import pi

# ---------- Programme Principal --------------------------------------

rayon = float(input("Rayon de la sphère en mètre : ")) # saisie du rayon

volume = 4/3*pi*rayon**3 # calcul du volume de la sphère

# affichage du résultat

print("Volume de la sphère de rayon ",rayon, "m :", volume,"m3")

# pour avoir moins de décimales on peut utiliser print avec format

print("Volume de la sphère de rayon {} m : {:.2f} m3".format(rayon, volume))

"""

---- Résultats de l'exécution ----

Rayon de la sphère en mètre : 22.4

Volume de la sphère de rayon 22.4 m : 47079.58915864106 m3

Volume de la sphère de rayon 22.4 m : 47079.59 m3

>>>

Rayon de la sphère en mètre : 3

Volume de la sphère de rayon 3.0 m : 113.09733552923254 m3

Volume de la sphère de rayon 3.0 m : 113.10 m3

>>>

Rayon de la sphère en mètre : -1

Volume de la sphère de rayon -1.0 m : -4.1887902047863905 m3

Volume de la sphère de rayon -1.0 m : -4.19 m3

>>>

Rayon de la sphère en mètre : 0

Volume de la sphère de rayon 0.0 m : 0.0 m3

Volume de la sphère de rayon 0.0 m : 0.00 m3

>>>

Rayon de la sphère en mètre : toto

Traceback (most recent call last):

File "/home/sabine/Desktop/polys python/volume_sphere.py", line 13, in <module>

rayon = float(input("Rayon de la sphère en mètre : "))

ValueError: could not convert string to float: 'toto'

"""

Illustration 2: Comment présenter les résultats d'un programme

Remarquez qu'il ne faut pas tester le programme sur une seule valeur, mais sur plusieurs valeurs afin de tester tous les cas possibles (dans l'exemple ci-dessus, nous avons testé le calcul du volume

info - TP1 page 10

Page 11: 1 - Types, variables, tests - lycee.lagrave.free.fr

avec 5 valeurs de rayon : 22.4, 3, -1, 0, et “ toto ” - cette dernière valeur de rayon provoque une erreur).

1.4 - Le type booléen

Le type booléen ou bool est un type de données. Un booléen ne peut prendre que 2 valeurs : vrai (True) ou faux (False). NB : Les majuscules sont importantes : true et false ne sont pas reconnues par le programme, il faut écrire True et False.

Les opérateurs qui s'appliquent aux booléens s'appellent opérateurs logiques. Ce sont : not (NON), and (ET), or (OU).

D'autres opérateurs s'appliquent à des données numériques ou chaînes de caractères et produisent un résultat booléen : ce sont les opérateurs de comparaison := = signifie “est égal à”!= signifie “est différent de”< , <= , > , >= signifient “est inférieur, inférieur ou égal, supérieur, supérieur ou égal” .

Ces opérateurs permettent de faire des tests. Le résultat de l'opération est True si le test est vrai, False si le test est faux.

NB : ne pas confondre l'opérateur de test d'égalité == avec l'opérateur d'affectation = .

Taper les instructions suivantes dans l'interpréteur et compléter le tableau :

Tableau 7 : booléensinstruction à taper résultat obtenu + commentaire ou explication

1 == 1

1 == 3

1 != 3

1 == 1.0

(3+7) == (5*2)

(1 == 1) and (2<2)

(1 == 1) and (2<=2)

(2 == 15) or (3>2)

1 < 4 < 15

valeur = (1==1)

type(valeur)

not(valeur)

True and False

True or False

info - TP1 page 11

Page 12: 1 - Types, variables, tests - lycee.lagrave.free.fr

not(False)

1.4.1 - Les tables de vérité de “ not ”, “ and ”, “ or ”Les opérateurs logiques not, and, or, opèrent de la façon suivante :

soient A et B des propositions.

“ non A ” est vrai ⇔ A est faux

“ non A ” est faux ⇔ A est vrai

“ A et B ” est vrai ⇔ (A est vraie) et (B est vraie)

“ A et B ” est faux ⇔ (A est fausse) ou (B est fausse)

“ A ou B ” est vrai ⇔ (A est vraie) ou (B est vraie)

“ A ou B ” est faux ⇔ (A est faux) et (B est faux)

Ceci peut se présenter dans des tableaux appelés tables de vérité :

Exercice 8 : compléter les tables de vérité

Table de vérité de l'opérateur “ non ” (not) :a not a

False

True

Table de vérité de l'opérateur “ et ” (and) :a b a and b

False False

False True

True False

True True

Table de vérité de l'opérateur “ ou ” (or) :a b a or b

False False

False True

True False

True True

1.5 - L'instruction conditionnelle if

Ouvrez le fichier nommé TP1_if.py, qui se trouve dans le répertoire TP1 situé sur le bureau, et observez : il vous donne un exemple d'utilisation de l'instruction conditionnelle if.

Pour faire les exercices ci-dessous, vous devez utiliser cette instruction conditionnelle if. (avec éventuellement les instructions complémentaires elif et else).

info - TP1 page 12

Page 13: 1 - Types, variables, tests - lycee.lagrave.free.fr

Exercice 9 : programme TP1_3 : un nombre est-il le double d'un autre ?Ecrire un algorithme (à la main sur papier, à mettre dans le compte-rendu de TP en expliquant éventuellement vos choix) puis un programme python (que vous nommerez TP1_3.py et rendrez imprimé en fin de TP) qui effectue les opérations suivantes :

- demander à l'utilisateur de saisir deux nombres (le programme stockera ces nombres dans des variables qui seront nommées nombre1 et nombre2) ;

- déterminer si le premier nombre est le double du second.

- afficher à l'écran une phrase indiquant à l'utilisateur si le premier nombre est le double, ou pas, du second nombre. Par exemple, avec 8 et 11, on doit obtenir : “ 8 n'est pas le double de 11 ”.

- le programme devra contenir un jeu d'essais, c'est à dire plusieurs lignes de test qui permettront de vérifier que tout fonctionne bien. A la fin du programme, copier-coller les résultats obtenus entre 3 guillemets, comme dans l'exemple de la page 16. Tout comme dans cet exemple, vous devrez tester tous les cas de figure possibles.

Exercice 10 : programme TP1_4 : division euclidienneEcrire un algorithme (sur papier, à inclure dans le compte-rendu de TP avec vos commentaires explicatifs) puis un programme python (que vous nommerez TP1_4.py et rendrez imprimé en fin de TP) qui effectue les opérations suivantes :

- demander à l'utilisateur de saisir deux entiers positifs (le programme les stockera dans des variables qui seront nommées nombre1 et nombre2) ;

- calculer le quotient et le reste de la division euclidienne de nombre1 par nombre2. Attention : si nombre2 est nul, il n'est pas possible d'effectuer la division. Le programme devra prévoir ce cas de figure.

- afficher à l'écran la division euclidienne. Par exemple, avec 45 et 11, on doit obtenir l'affichage suivant :

Division euclidienne: 45 = 11*4 + 1

- inclure un jeu d'essais en fin de programme + les résultats obtenus entre 3 guillemets.

1.6 - Importer des modules et utiliser l'aide (help)

Dans un programme, on peut utiliser des fonctions et variables déclarées dans un autre programme (qu'on appelle alors module), en tapant le mot clé import suivi du nom de ce module.

On peut afficher une aide sur un module tout entier, ou sur une fonction, en utilisant la fonction help() en indiquant entre parenthèses le nom de l'élément au sujet duquel on souhaite une aide.

Exercice 11 : afficher l'aide du module mathLancez la fenêtre de l'interpréteur python et tapez les instructions suivantes :

import math

help(math)

Dans la liste qui s'affiche, cherchez les fonctions : cos, acos, tan, atan, sqrt, pi, exp, log, log10.

Répondez aux questions suivantes :

info - TP1 page 13

Page 14: 1 - Types, variables, tests - lycee.lagrave.free.fr

1. à quoi sert la fonction sqrt ? ...

2. quelle est la fonction qui donne le logarithme népérien ? ...

3. quelle est la différence entre e et exp ? ...

Exercice 12 : programme TP1_5 : équation du second degréOn veut réaliser un programme qui calculera les racines réelles d'un trinôme du second degré : ax2

+ bx + c, où a, b et c sont trois réels. Si le trinôme n'a pas de racine réelle, on souhaite que le programme affiche une phrase indiquant qu'il n'y a pas de racine réelle.

Tout d'abord, vous écrirez un algorithme papier (que vous rendrez dans votre compte-rendu de TP), puis un programme python (que vous nommerez TP1_5.py et rendrez imprimé en fin de TP).Le programme devra :

- Demander à l'utilisateur de saisir les coefficients du trinôme sous forme de 3 nombres flottants (float), qui seront stockés dans des variables a, b, et c.

- Calculer la valeur du discriminant du trinôme qui sera nommé delta.

- Tester la valeur du discriminant, au moyen de l'instruction if. En fonction du signe du discrimi­nant, afficher à l'écran une phrase donnant le nombre de racines réelles du trinôme, puis la valeur de ces racines réelles (ou de cette racine réelle s'il s'agit d'une racine double).

- N'oubliez pas le jeu d'essai en fin de programme, ainsi que des commentaires.

Indication : pour pouvoir utiliser la fonction sqrt du module math, écrivez juste après l’en-tête du fichier, la ligne : from math import sqrt(mais on peut aussi utiliser **0.5 (puissance 1/2) ce qui évite d'avoir à importer la fonction sqrt).

1.7 - Travail personnel

A rendre pour le prochain TP :

1) programme TP1_6.py : programmer en python l'algorithme de l'exercice 3 de ce TP (qui permettait d'échanger le contenu de 2 variables).

3) Facultatif : programme TP1_7.py : il existe dans python un type complex, dans lequel la partie imaginaire est suivie de la lettre j (exemple : 4+3.1j). Ecrivez un programme TP1_7.py pour calculer les racines complexes d'un trinôme à coefficients complexes (vous pouvez copier le contenu du programme TP1_5 et le modifier).

info - TP1 page 14

2) programme TP1_crible.py : programmer en python l'algorithme du crible d'Eratosthène (qui affichera une liste ordonnée des nombres premiers inférieurs ou égaux à un entier n donné).