Vous êtes sur la page 1sur 2

Lycée Secondaire Dar Chaâbane El Fehri Classe : 3ème SI 1

Date : 14/03/2023
DEVOIR DE SYNTHESE N°2 Durée : 2 Heures
Discipline : Informatique
Réalisé par Mme Hami DHAMEN Matière : Algorithmique & programmation
Nom & Prénom :…………………………………
Exercice 1 : (2 Points)
Soit l’algorithme de la fonction Inconnue suivante :
Fonction Inconnue ( a,b : entier): entier
Début
Tantque a mod b ≠ 0 faire
aa+a
FinTanque
Retourner a
Fin
Questions :
a) Compléter le tableau ci-dessous après chaque appel de la fonction Inconnue :
Appel de la fonction Valeur renvoyée
Inconnue (12, 3)
Inconnue (4,10 )
b) Déduire le rôle de cette fonction :
………………………………………………………………………………………………………
Exercice 2 (6 Points)
Pour déterminer le chiffre de chance d’une personne étend donnée son prénom, on procède comme suit :
Etape 1
Former un nombre p qui est obtenu par la concaténation des codes Ascii de chaque lettre de son prénom.
Etape 2
Transformer le nombre formé p en un chiffre compris entre 1 et 9 et ce, en calculant, autant de fois, la
somme de ses chiffres
Travail demandé
Ecrire l’algorithme de la fonction intitulée chiffre_chance qui permet de déterminer le chiffre de
chance d’une personne étant donnée son prénom (PR) en respectant la méthode décrite auparavant.
Exemple :
Prenons PR= "SAMIRA"
Etape 1
Le nombre p sera 836577738265 (en effet Ascii ( "S") =83, Ascii ( "A") = 65, Ascii ( "M") =77,
Ascii ( "I") =73, Ascii ( "R") =82 et Ascii ( "A") = 65, leur concaténation donne le nombre
p=836577738265)
Etape 2
En prenant p de l’étape1, on aura les étapes de calcul suivantes pour avoir le chiffre de chance :

8+3+6+5+7+7+7+3+ 8+2+6+5 = 67

6+7= 13

1+3 = 4
 Le chiffre de chance de "SAMIRA" est 4

1/2
Problème : (12 Points)
Soit un tableau T contenant N chaines de caractères de longueur ≤16 et ne contenant que de
lettres majuscules. (4≤N≤20). On veut à partir du tableau T réaliser les tâches suivantes :
1) Transférer chaque élément du tableau T dans une ligne d’une matrice M de N lignes et 8 colonnes
de façon que M[i,j] contient en partant de la droite, deux lettres contiguës figurant dans T[i]. Si
la longueur de T[i] n’est pas divisible par 16, ajouter alors à l’extrême droite autant de lettres
majuscules choisies au hasard. (0≤i≤N-1 et 0≤j≤7)
Exemple :
Pour N=4 et T =
0 1 2 3
EEDFABCFRYUIOPAE CBACRTBDXTYACD EEDFABCFRAUIOPAB EEDFABCFR
La matrice M sera :
0 1 2 3 4 5 6 7
0 AE OP UI RY CF AB DF EE
1 AC CD YA XT BD RT AC CB
2 AB OP UI RA CF AB DF EF
3 CD AA BC RA CF AB DF EE

Pour transférer T[1] dans la ligne numéro 1 de la matrice M, on doit ajouter 2 lettres choisies au hasard
car la longueur(T[1])= 14 n’est pas divisible par 16, en supposant qu’on a choisie successivement les
lettres A et C, T[1] sera CBACRTBDXTYACDAC
En partant de la gauche on aura M[1,0] = AC M[1,1] = CD M[1,2] = YA M[1,3] =XT M[1,4] =BD
M[1,5] = RT M[1,6] =AC et M[1,7] = CB

2) Trier dans l’ordre croissant chaque colonne de la matrice M


3) Former à partir de M, un tableau d’enregistrements R. Chaque enregistrement est composé des
champs :
 Nb = nombre obtenu par la concaténation des codes ASCII des lettres figurant dans la ligne i
de la matrice M (Nb est sous la forme d’une chaine de caractères)
 Prod = produit des chiffres non nuls du nombre Nb
 Anacyc = prend la valeur vrai si l’entier Prod est anacyclique, sinon la valeur faux (voir
annexe)

Travail demandé :
1) Ecrire l’algorithme du programme principal qui permet de remplir le tableau T, réaliser les
tâches décrites ci-dessus, afficher le contenu de la matrice M avant et après l’opération de tri et
finalement afficher le contenu du tableau R (la décomposition en modules est obligatoire)
2) Ecrire l’algorithme de chaque module utilisé en 1)

Annexe
Un nombre décimal X est anacyclique si son équivalent en hexadécimal s’écrit à l’envers du nombre X
Exemples
53 est un nombre décimal anacyclique car (53)10 = (35)16
371 est un nombre décimal anacyclique car (371)10 = (173)16

Bon Courage

2/2

Vous aimerez peut-être aussi