INFO TEST d'Algo BTS1 24 nov 2014 et du 18 nov 2015
PREMIER TRAVAIL 10 points
Voici un algorithme écrit en Python 2.7:
from random import*
def Albert():
n=int(input())
S=0
i = 0
while i<n + 1:
S=S+i
print "0+...+" , i ,"=",S
i=i+1
QUESTIONS:
1. A quoi sert from random import* ? Cela permet de faire appel aux programmes du module random
2. Quel doit être le type de n ? Un entier
3. Quel est le but de cet algorithme? Faire la somme de n premiers entiers naturels
4. Faire une simulation. Par exemple
>>> Albert()
5
0+...+ 0 = 0
0+...+ 1 = 1
0+...+ 2 = 3
0+...+ 3 = 6
0+...+ 4 = 10
0+...+ 5 = 15
>>>
5. Pourquoi a-t-on mis S=0 avant While ? Pour initialiser S. Cela permet de déclarer S.
6. Que se passerait-il si l'on ne mettait pas i = 0? Il tournerait sans fin ou ne marcherait pas.
7. Que signifie S = S + i ? On remplace S par S + i
8. Pourquoi met-on i = i + 1 ? On remplace i par i + 1
9. Que changerait le fait de mettre print aligné avec while? On aurait juste la dernière ligne.
10. Ecrire un programme en Python 2.7 ayant le même objectif sans
utiliser while mais utilisant for.
from random import*
def Albert():
n=int(input())
S=0
for i in range(0,n+1):
S=S+i
print "0+...+" , i ,"=",S
-------------------------------------------------------------------------------------------------------
SECOND TRAVAIL 10 points
Ecrire en Python 2.7 un programme qui répond aux exigences suivantes:
Un groupe, à l'aéroport d'Orly, au mois de décembre 2014, a prévu de prendre
un avion pour EVIRRA ou EVERG auprès de la Compagnie AELA à une borne.
¤ Il y a des vols pour l'une ou l'autre destination toutes les 4 heures à partir de 6 h jusqu'à minuit
tous les jours. ( 6 h ; 10 h ; 14 h ; 18h ; 22 h )
¤ Le tarif aller en classe MOCH est 500 $ , en classe PASMOCH 700 $ , en classe SUPREME 800 $.
¤ En cas de carte de réduction auprès de la compagnie une réduction de 10 % est pratiquée.
¤ Pour un groupe d'au moins 4 personnes une réduction de 15 % est accordée.
A l'écran de la borne s'affiche un message auquel il faut répondre pour réserver et valider l'achat.
• Bonjour . Pour combien de personnes?
..........
• Disposez-vous d'une carte de réduction de 10% auprès de la compagnie?
.........
• Quelle est votre destination ?
.....................
• Quel est le jour de votre départ ?
........
• Quelle classe souhaitez- vous ? MOCH, PASMOCH , SUPREME ?
.....................
• Merci.
Vous partez pour ..................... avec le vol 968V en classe ..................
le ............................... à ..........
La Compagnie AELA vous remercie pour votre confiance
et espère que vous arriverez à destination.
Il vous en coûtera : ........................... $
------------------------------------------------------------------------------------------------------
ATTENTION: Ce n'est pas vous qui répondez aux questions mais
ce sont les futurs passagers qui feront les saisies.
Un prix P qui baisse de 10 % devient 0,9 P
S'il rebaisse de 15% il devient 0,9 x 0,85 P
Attention 0,9 x 0,85 n'est pas égal à 0,75
-----------------------------------------------------------------------------------------------------------------
On peut considérer le programme suivant.
from random import*
def airport():
n=input("Combien de personnes ? " )
carte=raw_input("Disposez-vous d'une carte de réduction de la compagnie: OUI, NON ")
destination=raw_input("Quelle est votre destination ? ")
date=input(" Quel jour du mois de décembre partez-vous: 1 , 2 , .. 31 ? " )
heure=input("Quelle heure considérez vous: 6,10,14,18,22")
classe=raw_input("Quelle classe souhaitez-vous? "),
print "Merci", " Vous partez pour ", destination,"avec le vol 968V le", date,"août 2015","à",heure,"h"
print " La Compagnie AELA vous remercie pour votre confiance et espère que vous arriverez à destination."
if classe=="MOCH":
prix=500
elif classe=="PASMOCH":
prix=700
else:
prix=800
if n>=4:
p=prix*n*0.85
else:
p=prix*n
if carte=="OUI":
print "Il vous en coûtera : ", p*0.9,"$"
else:
print "Il vous en coûtera : ", p,"$"
Par exemple on obtient:
>>> airport()
Combien de personnes ? 5
Disposez-vous d'une carte de réduction de la compagnie: OUI, NON ? OUI
Quelle est votre destination ? EVERG
Quel jour du mois de décembre partez-vous: 1 , 2 , .. 31 ? 15
Quelle classe souhaitez-vous? MOCH
Donnez l'heure de départ: 6 , 10 ......: 10
Merci Vous partez pour EVERG avec le vol 968V le 15 août 2015 à 10 h
La Compagnie AELA vous remercie pour votre confiance et espère que vous arriverez à destination.
Il vous en coûtera : 1912.5 $
>>>
Autre exemple:
>>> airport()
Combien de personnes ? 3
Disposez-vous d'une carte de réduction de la compagnie: OUI, NON NON
Quelle est votre destination ? EVERG
Quel jour du mois de décembre partez-vous: 1 , 2 , .. 31 ? 4
Quelle classe souhaitez-vous? MOCH
Donnez l'heure de départ: 6 , 10 ......: 10
Merci Vous partez pour EVERG avec le vol 968V le 4 août 2015 à 10 h
La Compagnie AELA vous remercie pour votre confiance et espère que vous arriverez à destination.
Il vous en coûtera : 1500 $
>>>
----------------------------------------------------------------------------------------------