Entraînement d'algorithmique BTS1 mardi 8 avril 2014
• Travail à rédiger sur papier. ( 30 minutes )
Voici en Python2.7 un algorithme.
Lisez le et répondez aux questions.
a désigne un entier naturel à remplacer.
from random import*
import decimal
def sev():
w=a
print w
L=[a]
for i in range(9):
if w%2==0:
w=w/2
else:
w=3*w+1
print w
L.append(w)
print L
QUESTIONS.
1. Que signifie L=[a] ?
2. Quel est l'effet de L.append(w)?
3. Qu'est-ce qu'un entier naturel pair?
4.Quel est le reste de la division par 2 d'un entier naturel pair?
5. Que signifie :
for i in range (9): ?
6. Que signifie:
if w%2==0: ?
7. Qu'obtient-on avec ce script avec a = 6 ?
8. Proposer une modification du script de façon à obtenir la somme
des termes de la liste L.
--------------------------------------------------------------------------------
Travail à réaliser sur ordinateur.( 30 minutes)
1. Ecrire un programme qui donne le terme d'indice n de la suite récurrente:
u0 = 3
un+ 1 = 2 un - 1 pour tout n dans IN
2. Modifier le programme pour obtenir la somme des 10
premiers termes de cette suite.
-------------------------------------------------------------