E22 BTS SIO Sujet 48 mai 2017
PREMIER TRAVAIL 30 minutes sur papier
( Sujet pour les candidats qui connaissent Python 2.7)
Lire les deux agorithmes écrits en Python 2.7, puis répondre aux questions.
from random import* def prem(n): L=[] for i in range(2,n): if n%i==0: L.append(i) if L==[]: return 1 def prminf100(): F=[] for n in range(2,100): if prem(n)==1: F.append(n) print "Les nombres …...... entre 2 et 100 sont",F |
QUESTIONS :
1. Que signifie L=[] ?
2. Quand on écrit
for i in range(2,n):
quelles sont les valeurs prises par i ?
3. Que signifie
if n%i==0: ?
4. Quel est l'effet de
L.append(i) ?
5. Que fait le premier script ?
Par exemple que fait prem(13) ?
6. Dans la dernière ligne que doit -on mettre à la place des pointillés ?
7. Quel est le but recherché quand on exécute prminf100() ?
8. Modifier les scripts pour qu'il donne les entiers divisible par 5 entre 2 et 100.
SECOND TRAVAIL 30 minutes sur ordinateur
1. Ecrire, si possible en Python.2.7, un script qui quand on saisit l'entier n donne
le terme d'indice n de la suite ( un ) de Fibonacci définie par:
u0 = 1 u1 = 1
un = un - 1 + un - 2 pour tout entier naturel n≥ 2
2. Donner à l'aide de cet algorithme le terme u10 .
-------------------------------------------------