Rappels Nous avons `a présent construit nos premiers programmes

publicité
TP 2
Prise en main et premières fonctions dans le langage Python
MPSI - Lycée Chrestien de Troyes
Rappels
Nous avons à présent construit nos premiers programmes. On continuera à bien veiller à
la syntaxe attendue dans le langage Python : l’utilisation des commandes principales, les
indentations...
D’ailleurs, on essaiera si possible d’être attentif aux messages d’erreurs, qui nous donnent
des renseignements précieux pour corriger nos scripts Python.
Exercice 2.1 On note f la fonction f : x 7→
p
|x| définie sur R.
1. Dans le langage Python, définir la fonction f qui à tout réel x renvoie l’image de x par f .
2. Construire la fonction representation qui pour tout couple (a, b) donné, renvoie la courbe
représentative de f sur [a, b].
3. Modifier votre programme afin que celui-ci prenne pour argument le triplet (λ, a, b), λ ∈ R,
puis renvoie sur un même graphique les courbes associées aux fonctions :
1. Décrire le fonctionnement du programme jeu.
2. On souhaite modifier ce programme.
(a) Importer le module random, puis consulter l’aide à propos de la commande randint.
Modifier alors votre programme pour que celui-ci choisisse un nombre au hasard entre
1 et 100.
(b) Pour finir, ajouter un test conditionnel pour qu’à chaque étape, le programme renvoie
une indication sur la place du nombre mystère par rapport au nombre proposé.
Exercice 2.4 Dans le langage Python, il est très facile d’obtenir le quotient et le reste de la
division euclidienne de deux entiers. Par exemple :
In : 13//5; 13%5
• x 7→ f (x − λ)
2
3
• x 7→ f (x) + λ
• x 7→ f (λx)
• x 7→ λf (x)
4. Tester votre programme avec λ = 2. Que remarquez-vous ?
1. Construire la fonction booléenne test qui, pour tout couple d’entiers (a, b) donné, renvoie
True si a divise b, et False sinon.
2. En déduire le programme diviseurs qui pour un entier n donné, vérifie si k divise n pour
k parcourant les entiers de 1 à n. A chaque étape, lorsque k divisera n, le programme
affichera la valeur de k.
Exercice 2.2 On considère un polynôme du second degré à coefficients réels défini par p(x) =
ax2 + bx + c.
1. Préciser l’expression des racines de p en fonction de ∆ le discriminant associé. On donnera
les solutions dans R, puis dans C.
2. En utilisant des instructions conditionnelles, construire dans le langage Python, le programme solution qui pour tout triplet (a, b, c) donné, renvoie les racines réelles de p.
3. Modifier alors le programme précédent afin que celui-ci renvoie les racines de p,
éventuellement complexes. On fera attention : dans le langage Python, les nombres complexes s’écriront a + b ∗ j, avec (a, b) ∈ R2 .
4. Construire alors le programme solution2 qui ne prend pas d’argument, mais qui interroge
l’utilisateur pour renseigner les variables a, b, c en début de programme. On pourra utiliser
l’instruction :
a=float(input(’a?
’))
pour demander la valeur d’une telle variable au cours du programme.
3. On souhaite sauvegarder les résultats obtenus dans un fichier texte. A l’aide de la commande open, ouvrir un fichier texte en mode écriture puis à chaque étape, ajouter le diviseur
éventuellement obtenu. On n’oubliera pas de fermer son fichier à la fin du programme.
Exercice 2.5 On souhaite construire un programme de bienvenue.
1. Dans le langage Python, construire le programme bienvenue qui ne prend pas d’argument,
mais qui demande les informations suivantes à l’utilisateur :
• quel est votre nom ?
• êtes-vous une fille ou un garçon ?
• quel âge avez-vous ?
puis renvoie le cas échéant : Bonjour, monsieur, madame ou mademoiselle XXX. On
poyrra convenir qu’une fille de moins de 18 ans peut se faire appeler mademoiselle.
2. Importer la librairie time, puis à l’aide des instructions suivantes :
L=localtime(); heure=L[3]
Exercice 2.3 On considère le programme suivant :
def jeu():
x=67
a=0
while a!=x:
a=float(input(’quelle est la valeur mystère ?’))
print(’Bravo, il fallait trouver ’,x)
adapter votre programme afin que celui-ci renvoie Bonjour ou Bonsoir en fonction de
l’heure affichée.
Téléchargement