Mission Carthage

Accueil › Devoirs › Bac SI

Devoir de synthèse n°1 : récursivité, bases de numération, PGCD

Bac Sciences de l'informatique, 1er trimestre. Durée : 2 heures. Sur 20 points.

Les algorithmes s'écrivent en notation algorithmique, les programmes en Python. Barème sur 20 points.

Exercice 1 : fonctions récursives (6 pts)

Une fonction est récursive quand elle s'appelle elle-même. On considère les deux définitions suivantes.

Le programme principal lit x, n et m, puis affiche Puissance(x, n) et SommeChiffres(m). Pour 2, 10 et 472, il affiche :

1024
13

Exercice 2 : changement de base (7 pts)

Les chiffres d'un nombre écrit dans une base b (2 ≤ b ≤ 16) sont pris dans la chaîne « 0123456789ABCDEF ».

Le programme principal lit n et b, affiche l'écriture de n en base b, puis lit une chaîne et sa base et affiche sa valeur décimale. Pour 255 et 2, puis FF et 16, il affiche :

11111111
255

Exercice 3 : PGCD, PPCM et fraction irréductible (7 pts)

L'algorithme d'Euclide repose sur la propriété : PGCD(a, b) = a si b = 0, et PGCD(a, b) = PGCD(b, a mod b) sinon.

Pour a = 12 et b = 18, le programme affiche :

PGCD : 6
PPCM : 36
Fraction irréductible : 2/3

Correction détaillée

La correction de ce devoir est réservée aux abonnés. Elle donne l'analyse, l'algorithme en notation tunisienne, le programme Python vérifié et les erreurs fréquentes de chaque exercice.

Sujet original écrit pour Mission Carthage, dans le style des devoirs de synthèse du bac Sciences de l'informatique.

Tout le programme : Bac Sciences de l'informatique