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