INFO DS d'algorithmique BTS1 Lundi 17 novembre 2014
I. PREMIER TRAVAIL
Voici un algorithme écrit en Python 2.7
from random import*
def ursule():
a=input()
b=input()
c=input()
if a<=b and a<=c:
print a
elif b<=a and b<=c:
print b
else:
print c
1. Quel est le type des variables a , b , c ? float c-à-d des valeur numériques
2. Quel résultat donne le script ? Il donne la plus petite des trois valeurs de a , b , c
3. Proposer une simulation.
>>> ursule()
Donner une valeur a : a = 19
Donner une valeur b : b = 5
Donner une valeur c : c = 4
4
>>>
4.Dans quelle fenêtre de Python 2.5 faut-il écrire ce script ? Dans la fenêtre Python Nexw window
5. Que doit-on faire pour le faire tourner ? Appuyer sur F5 , l'enregistrer puis écrire ursule()
6. Que signifie else ? Cela veut dire sinon
Voici un autre script écrit en Python 2. 5
from random import*
def theodule():
a=input("Donner une valeur a : a = ")
b=input("Donner une valeur b : b = ")
c=input("Donner une valeur c : c = ")
if a<=b:
d=a
if d>=c:
d=c
else:
d=b
if d>=c:
d=c
print d
1. Que permet d'obtenir ce script ? La même chose que le précédent c-à-d la plus petite
des valeurs de a , b , c.
2. A quoi sert la variable d ? Elle sert à déposer, à chaque étape, la plus
petite des deux valeurs comparées pour obtenir à la fin la plus
petite des trois valeurs.
3. Pourquoi a-t-on mis le print une seule fois à la verticale du premier if ?
Au lieu, chaque fois que l'on compare deux valeurs, d'afficher la plus petite d,
on préfère attendre de conaître la plus petite des trois valeurs
pour demander son affichage.
II. SECOND TRAVAIL
1 . Écrire un script en Python 2. 5 qui permet d'indiquer
si le magasin est ouvert quand on saisit une heure et un jour de la semaine
en tenant compte des exigences suivantes :
« Le magasin est ouvert le dimanche matin de 9 h à 13h et tous jours
de 8h à 18h sauf le samedi où il est ouvert de 14 h à 20 h. »
def ouv():
a=int(input("Entrez le numéro du jour (lundi=1, mardi=2,..etc.., dimanche=7) : "))
b=int(input("Entrez l'heure (de 0 à 24) : "))
if a<6 and (b<8 or b>18):
print "Désolé le magasin est fermé"
elif a==6 and (b<14 or b>20):
print "Désolé le magasin est fermé"
elif a==7 and (b<9 or b>13):
print "Désolé le magasin est fermé"
else:
print "Le magasin est ouvert"
Par exemple cela donne
>>> ouv()
Entrez le numéro du jour (lundi=1, mardi=2,..etc.., dimanche=7) : 7
Entrez l'heure (de 0 à 24) : 15
Désolé le magasin est fermé
>>> ouv()
Entrez le numéro du jour (lundi=1, mardi=2,..etc.., dimanche=7) : 7
Entrez l'heure (de 0 à 24) : 11
Le magasin est ouvert
>>> ouv()
Entrez le numéro du jour (lundi=1, mardi=2,..etc.., dimanche=7) : 5
Entrez l'heure (de 0 à 24) : 13
Le magasin est ouvert
>>>
Voir feuille n ° 4 une autre situation
2 . Donner un algorithme qui demande la saisie de quatre valeurs pour
les variables A , B , C, D puis qui restitue les valeurs de C , D , A , B
respectivement comme nouvelles valeurs de A , B , C , D.
def perm():
A=input("Donner une valeur ")
B=input("Donner une valeur ")
C=input("Donner une valeur ")
D=input("Donner une valeur ")
E=A
F=B
# On sauvegarde A et B
print " On a "
print " A = ",A ," B = ",B," C = ",C," D = ",D
A=C
B=D
C=E
D=F
print " Cela devient"
print "A = ",A ," B = ",B," C = ",C," D = ",D
Exemple de situation:
A | B | C | D |
1 | 2 | 3 | 4 |
3 | 4 | 1 | 2 |
A et C permutent.
B et D permutent.
>>> perm()
Donner une valeur 1
Donner une valeur 2
Donner une valeur 3
Donner une valeur 4
On a
A = 1 B = 2 C = 3 D = 4
Cela devient
A = 3 B = 4 C = 1 D = 2
>>>
------------------------