Examen final d'Informatique2

publicité
Année universitaire 2014-2015
1re année licence ST
Informatique2 (S2)
Examen final
d'Informatique2
Durée : 1h30
Documents non autorisés
Mardi 12 mai 2015
Exercice 1 (15 pts) :
début
La suite de Syracuse d'un nombre entier N > 0 est
définie de la manière suivante :
(0,25)
ce
n)
Université A. Belkaïd
Tlemcen
Faculté des Sciences
afficher « Donnez un entier > 0 »
et pour tout entier naturel n :
ni
v.
T
lire v
le
m
(0,25)
(0,25)
Donnez un entier > 0 : 13
Nombre de valeurs ? 15
13 40 20 10 5 16 8 4 2 1 4 2 1 4 2
(U
ie
nc
es
(0,25)
lté
c←1
Fa
cu
(0,5)
)~
c <n
(S
2
vrai
afficher « Nombre de valeurs ? » v ← v / 2
ST
LM
D
lire n
c←1
début
(0,5)
vrai
v←v/2
faux
v ← 3v + 1
(0,5)
(0,5)
fin
iè
r
v est pair
e
lire v
v est pair
c <n
v ← 3v + 1
faux
(0,5)
afficher « Donnez un entier > 0 » c ← c + 1
afficher v
(0,25)
afficher v
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 v
(0,25)
lire n
de
s
On veut écrire un programme qui se présente comme
dans l'exemple d'exécution ci-dessous :
afficher « Nombre de valeurs ? »
Sc
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.
Pr
em
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)
afficher v
(0,25)
c←c+1
(0,5)
fin
(0,25)
Examen final d'Informatique2 – L1 ST 2014-2015
page 1/3
v = int(input("Donnez un entier > 0 : "))
(0,5) n = int(input("Nombre de valeurs ? "))
(0,5) print(v, end=" ")
(1pt) for c in range(1,n):
(0,5)
(0,75)
v = 3*v + 1
else:
v = v // 2
print(v, end=" ")
(0,25)
(0,75)
(0,5)
# ou bien if v % 2:
ce
n)
if v % 2 == 1:
le
m
(0,75)
ni
v.
T
(+0,5 si tout est juste)
ie
nc
es
(U
3) (4 pts) Réécrire tout le programme Python en le modifiant pour que le nombre de valeurs ne soit pas
demandé à l'utilisateur mais pour que le programme s'arrête une fois que la valeur 1 est atteinte.
Le mot-clé while n'est pas interdit dans cette question.
v = int(input("Donnez un entier > 0 : "))
(0,5) print(v, end=" ")
(3pts) while v != 1:
(0,5)
if v % 2 == 1:
(0,5)
v = 3*v + 1
(0,5)
else:
(0,5)
v = v // 2
(0,5)
print(v, end=" ")
Fa
cu
lté
de
s
Sc
(0,5)
Pr
em
iè
r
e
LM
D
ST
(S
2
)~
(+1 si tout est juste)
Examen final d'Informatique2 – L1 ST 2014-2015
page 2/3
Examen final
d'Informatique2
Université A. Belkaïd
Tlemcen
Faculté des Sciences
Année universitaire 2014-2015
1re année licence ST
Informatique2 (S2)
Durée : 1h30
Documents non autorisés
Mardi 12 mai 2015
Exercice 2 (5 pts) : (choisir une seule réponse juste par question)
ce
n)
Étant donné le programme Python suivant où l'on définit une fonction qui s’appelle nombre() :
ie
nc
es
(U
ni
v.
T
le
m
def nombre(a):
n = len(a)
c = 0
for i in range(n):
if a[i] == 0:
c += 1
return c
x = [1, 0, 2, 0, 0, 4]
b = nombre(x)
print("b =", b)
2.1 - À quoi sert la fonction len() ?
de
s
Sc
□ Donner le maximum d’une liste
☑ Donner le nombre d’éléments contenus dans une liste
□ Afficher les éléments d’une liste
2.2 - Les variables n, i et c de la fonction nombre sont des :
)~
Fa
cu
lté
☑ Variables locales
□ Variables globales
□ Paramètres formels
2.3 - Les variables x et b du programme sont des :
ST
(S
2
□ Variables locales
☑ Variables globales
□ Paramètres formels
2.4 - Si l’utilisateur exécute ce programme, il obtiendra :
iè
r
e
LM
D
□ b = 6
□ b = 4
☑ b = 3
2.5 - Quelle est la différence entre la définition d'une fonction et celle d'une procédure ?
Pr
em
□ Une fonction commence avec le mot-clé def et une procédure avec le mot-clé proc.
☑ Une fonction contient toujours le mot-clé return alors qu’une procédure non.
□ Une fonction vient toujours avant le programme principal et la procédure après le programme
principal.
Examen final d'Informatique2 – L1 ST 2014-2015
page 3/3
Téléchargement