SUJET n°2 CCF BTS1 SIO
Partie A sur papier.( 30 minutes)
On donne l’extrait d’algorithme suivant :
Variables :
T et L listes
a et b entiers naturels
Debut
L=[] (1)
L.append( Decimal(T[b]/T[a] )) ( 2)
FIN
QUESTIONS:
1. Quelle condition doit-on imposer à a et b ?
2. A quoi sert .append ( ) ?
3. Que font les lignes ( 1 ) et ( 2 )?
4. a.Soit T = [ 3 , 8 , 5 ,7,17]
Ecrire un algorithme qui retourne la liste L suivante :
L=[ 8/3 , 5/8 , 7/5 , 17/7 ]
b. Ecrire un algorithme qui demande à l’utilisateur
d’entrer une liste T puis qui retourne la liste L des quotients successifs
des termes immédiatement consécutifs de T.
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 )-----------------------------------------
u0 = 2
un + 1 = 3 un - 2 pour tout n dans IN
wn = un - 1
a. Compléter l'algorithme ci-dessous pour obtenir un algorithme
qui donne le terme wn quand l’utilisateur entre l’entier n , sous Python 2.7.
import decimal
def termu(n):
if n==0:
return 2
else:
return 3*termu(n-1)-2
def termw(n):
……………..
# PROGRAMME PRINCIPAL#
###################
n=input(" Donner l’indice n du terme de la suite (w) que vous voulez : n = ")
print " Le terme w ", n,"= ", …………
b. Modifier votre algorithme en ajoutant un script qui permet d’avoir la liste
L = [ w1 / w0 , w2 / w1 , .... , wN / wN-1 ]
quand l’utilisateur entre l’entier N non nul.
2. Tester cet algorithme avec N =10. Que pouvez vous conjecturer pour la suite ( wn ) ?
------------------------------------------