SUJET n° 1 CCF BTS1 SIO Mai 2012
Partie A sur papier.( 30 minutes)
On donne un extrait d’algorithme suivant :
Variables :
T liste
a entier naturel
b entier naturel
Debut
temp = T[a] (1)
T[a] =T[b] (2)
T[b]= temp (3)
FIN
1. Quelle condition doit-on imposer à a et b
2. A quoi sert temp ?
3. Que font les lignes ( 1) , (2) , (3 ) ?
4. Soit T=[ 3 , 8 , 5 ,7,17]
Combien de permutations de deux termes de T faut-il
pour que la liste T soit ordonnée dans l’ordre croissant ?
5. Quand on écrit « for i in range(N) » avec N un entier
naturel non nul quelles sont les valeurs possibles de i?
PARTIE B sur ordinateur ( 30 minutes ) -------------------------------------
1. Soit T une liste non vide.
Compléter l’algorithme suivant , sous Python 2.7 de façon à
pouvoir ordonner T dans l’ordre croissant.
import decimal
def Tri_Bulles(T,N):
for i in range(N):
………………
return T
# PROGRAMME PRINCIPAL#
###################
T=input(" Entrer une liste T d'au moins trois valeurs: T = ")
N=len(T)
print "Votre liste T contient",N,"valeurs"
print " La liste T ordonnée est: T =",Tri_Bulles(T,N)
2. Utiliser l’algorithme pour ordonner la liste T= [5, 8, 9, 3, 4]
3. Soit T une liste de N valeurs avec N>2.
En utilisant : for i in range(N):
for j in reversed(range(i,N):
réécrire un algorithme qui ordonne T dans l’ordre croissant.
2. Tester de nouveau l’algorithme avec la liste T= [5, 8, 9, 3, 4].
------------------------------------------------------------------------