Le Coin Wiki
d'Olivier Dalle
$WikiTagline
 
Les exercices donns sur cette page sont trs largement inspirs de ceux donns par Bob Cordeau et ses collgues de l’IUT d’Orsay dans cette feuille d’exercices.

Exercices a rendre

Dans ce qui suit, on vous demande de rendre certains exercices. Pour ce faire veuillez procder de la facon suivante, en respectant scupuleusement les indications:

  1. Envoyez vos exercices par mail a Olivier Dalle
  2. N’envoyez QU’UN SEUL MAIL contenant tous les exercices, a la fin de la seance.
  3. Votre mail doit comporter un sujet tel que le suivant suivant:
    Sujet: PYTHON- Groupe AILE - TP2 - NOM Prenom
    (ou vous remplacez NOM Prnom par les votres bien-sur!)
  4. Attendez que O. Dalle vous confirme oralement qu’il a bien recu votre mail avant de quitter la salle

Exercice 1: le test if

Essayez le bout de code suivant pour tester l’instructioon if. Essayez-le avec diffrentes valeurs, 50, 100, 150…

if a > 100: # N'oubiez pas le deux-point...
    print "a depasse la centaine..." # Ni l'indentation
elif a== 100:
    print "a vaut 100"
else:
    print "a ne vaut pas cher"

Script TP2_trinome.py A RENDRE: Ecrivez un script qui calcule les solutions de l’equation ax^2+bx+c=0

Remarque: Pour tre sr de bien saisir des flottants, employez linstruction raw_input() qui assure une saisie en mode texte) suivie dun transtypage en flottant:

>>> a = input(“entrez a:”)
>>> a = float(a)

Retour en haut de la feuille d’exercice

Exercice 2: boucles while et for

Astuce…

La fonction range(debut[ ,fin[ ,pas]]) permet de creer tres facilement des sequences de nombres. Tres pratique en combinaison avec une boucle for:
for i in range(10): ...

L’instruction while rpte le corps de la boucle tant que la condition est vraie. La boucle for est l’instruction ideale pour parcourir les elements d’une sequence, par exemple une liste.

Voici des exemples:

i=7
while i>0:   # N'oubliez pas le deux-point...
   print (i, end=" ")  # N'oubliez pas l'indentation
   i = i - 1 # Essayez de predire le resultat de
             # cette boucle avant d'essayer

slogan = ['Changez', 'le', 'premier', 'enarque']
for cri in slogan:  # N'oubliez pas ...
   print (cri, end=" ")
 

Exercice A RENDRE: Ecrivez un programme TP2_while.py qui affiche les 20 premiers termes de la table de multiplication par 7, en signalant au passage (a l’aide d’une astrisque) ceux qui sont multiples de 3.
Exemple:

>>> python TP2_while.py
7 14 21 * 28 35 42 * 49 …
>>>

Retour en haut de la feuille d’exercice

Exercice 3: La Tortue

Pour illustrer les boucles, nous allons maintenant utiliser le module turtle. Ce module permet de raliser des graphiques dits “tortue” c-a-d des dessins correspondant la trace laisse par une petite tortue imaginaire dont nous controlons les dplacements l’aide d’instructions simples.

Voici un exemple:

from turtle import *

for i in range(4):
    forward(100)
    left(90)

reset()
a = 0
while a< 12:
    forward(150)
    left(150)
    a = a+1

Exercice A RENDRE: Ecrivez un programme TP2_turtle.py qui trace un octogone de 50 pixels de cote.

Retour en haut de la feuille d’exercice

Exercice 4: Programmation

Exercice A RENDRE: Ecrivez le programme TP2_1.py dcrit ci-aprs.

Vous jouez avec deux ds et vous voulez savoir combien il y a de facons de faire un certain nombre. Notez bien qu’il y a deux facon d’obtenir 3 par exemple: 1–2 et 2–1. Faites comme expliqu en cours une saisie filtre (voir exemple ci-aprs) et calculez le nombre demande.

~> python TP2_1.py
Entrez un entier [2 .. 12] : 1
Entrez un entier [2 .. 12], s.v.p. : 14
Entrez un entier [2 .. 12], s.v.p. : 9

Il y a 4 facon(s) de faire 9 avec deux des.

Exercice A RENDRE: Ecrivez le programme TP2_2.py dcrit ci-aprs.

Affichez la somme des 10 premiers entiers de trois facons diffrentes:

  • en utilisant la formule classique (n x (n+1))/2;
  • en utilisant une boucle while;
  • en utilisant une boucle for.

Exercice A RENDRE: Ecrivez le programme TP2_3.py dcrit ci-aprs.

Un ordinateur n’est qu’un automate programme fini. Il est sur que l’on ne peut esperer effectuer des calculs avec une precision infinie, ce qui conduit a des erreurs d’arrondi. Quelle precision peut-on esperer ? On va definir l’epsilon-machine comme la plus grande valeur epsilon telle que:

1+epsilon = 1

Pour cela, intitialisez une variable dx a la valeur 1.0, puis dans une boucle while, divisez dx par 2.0 tant que la condition (1.0 + dx > 1.0) est vraie.

Combien trouvez-vous (valeur de epsilon et nombre d’iterations) ? Commentez votre rsultat.

Retour en haut de la feuille d’exercice