Université A. Belkaïd
Tlemcen
Faculté des Sciences
Examen final
d'Informatique2
Durée : 1h30
Documents non autorisés
Année universitaire 2014-2015
1re année licence ST
Informatique2 (S2)
Mardi 12 mai 2015
Exercice 1 (15 pts) :
La suite de Syracuse d'un nombre entier N > 0 est
définie de la manière suivante :
et pour tout entier naturel n :
D'après la conjecture de Collatz, quelle que soit la
valeur de N cette suite finit toujours par atteindre la
valeur 1.
Cette conjecture n'a pas encore été démontrée par les
mathématiciens.
On veut écrire un programme qui se présente comme
dans l'exemple d'exécution ci-dessous :
Donnez un entier > 0 : 13
Nombre de valeurs ? 15
13 40 20 10 5 16 8 4 2 1 4 2 1 4 2
1) (5 pts) Compléter l'organigramme ci-contre, qui
permet d'afficher les n premières valeurs de cette
suite pour une valeur v de départ. Recopier pour cela
les instructions données (dans le désordre) dans le
tableau ci-dessous à leur bonne place dans
l'organigramme :
afficher « Donnez un entier > 0 » c ← c + 1
afficher « Nombre de valeurs ? » v ← v / 2
afficher v c < n
afficher v v ← 3v + 1
lire n c ← 1
lire vdébut
v est pair fin
2) (6 pts) Écrire le programme Python
correspondant à cet organigramme (l'algorithme n'est
pas demandé) sans utiliser le mot-clé while
Remarque : on suppose que les valeurs de v et n données
par l'utilisateur seront des entiers supérieurs à 0 (il n'est
pas nécessaire de les tester)
Examen final d'Informatique2 – L1 ST 2014-2015 page 1/3
début
(0,25)
afficher « Donnez un entier > 0 »
(0,25)
lire v
(0,25)
afficher « Nombre de valeurs ? »
(0,25)
lire n
(0,25)
afficher v
(0,25)
c ← 1
(0,5)
c < n
(0,5)
vrai
faux
v est pair
(0,5)
vrai faux
v ← v / 2
(0,5)
v ← 3v + 1
(0,5)
afficher v
(0,25)
c ← c + 1
(0,5)
fin
(0,25)