Commissariat régional de l’éducation de l'Ariana
Sections : Mathématiques, Sciences Expérimentales
Devoir de synthèse et Sciences Techniques
N°3 Épreuve : Informatique
Niveau : 4ème année Date : Mardi, 13 mai 2025 Durée : 1 H 30mn
Nom & Prénom : ………………………………………........ Classe : ………….… Note : ……………… /20
Le sujet comporte 4 pages numérotées de 1/4 à 4/4.
Les réponses à l’exercice n°1, à l’exercice n°2 et à l’exercice n°3 doivent être rédigées sur cette même
feuille qui doit être remise avec la copie du devoir à la fin de l’épreuve.
EXERCICE N°1 (3.5 points)
Soient les algorithmes des fonctions suivants :
Fonction F1(X :entier) :entier Fonction F2(X :entier) :booléen
Début Début
S0 d2
Répéter Répéter
SS + X mod 10 OkX mod d ≠ 0
XX div 10 dd+1
Jusqu’à X=0 Jusqu’à Ok=faux ou d>X div 2
Retourner S Retourner Ok
Fin Fin
Fonction F3(X :entier) :entier Fonction F4(X :entier) :entier
Début Début
S0 Chconvch(X)
Pour d de 1 à X faire Res""
Si X mod d = 0 alors Pour i de 0 à long(Ch)-1 faire
SS+d ResCh[i]+Res
Fin si Fin pour
Fin pour Retourner valeur(Res)
Retourner S Fin
Fin
1) Pour chacune des instructions proposées, compléter le tableau ci-dessous par la valeur du résultat affiché
après exécution.
Instruction Ecrire (F1(5202)) Ecrire (F4(F3(24))) Si F2(17) alors Ecrire (F1(17))
Résultat
2) Pour chacune des tâches, compléter le tableau ci-dessous par le nom de la fonction correspondant :
Calculer la somme Inverser un Vérifier si un Calculer la somme des
Tâche
des chiffres entier entier est premier diviseurs d’un entier
Fonction
3) Pour chacun des appels des fonctions, remplir la colonne "Validité" en mettant la lettre V dans le cas
où l’appel est correct ou la lettre F dans le cas contraire, sachant que :
˗ N est un entier
˗ B est un booléen
˗ R est un réel
Appel Validité
NF2(N)
BF2(F1(N))
RF1(N)
Page 1 / 4
EXERCICE N°2 (3 points)
Soit l’algorithme d’un module nommé traitement suivant :
Module traitement (p : entier ; @ m : entier ; @ T : Tab)
Début
Pour i de p à m-2 Faire
T[i] T[i+1]
Fin Pour
mm-1
Fin
N.B. Tab : est un tableau de 100 caractères.
1) Pour chacune des propositions ci-dessous, mettre une croix (X) dans la case correspondante à la seule réponse
correcte.
a. La nature du module traitement est une :
Fonction Procédure
b. Le tableau de déclaration des objets locaux de ce module est :
TDOL TDOL
Objet Type/Nature Objet Type/ Nature
i entier i,p,m Entier
c. Au niveau du programme principal, on appelle le module traitement avec m = 7, p = 2 et T représenté
comme suit :
T "C" "H" "4" "A" "N" "C" "E"
0 1 2 3 4 5 6
❖ Pour appeler le module traitement on utilise l’instruction :
traitement (T, p, m ) traitement (p : entier ; @ m : entier ; @ T : Tab )
m traitement (p, m ,T ) traitement (p, m ,T)
❖ Après l’appel de ce module, le contenu du tableau T est présenté comme suit :
T "C" "H" "A" "N" "C" "E" "E"
0 1 2 3 4 5 6
T "C" "H" "A" "N" "C" "E"
0 1 2 3 4 5
2) Donner le rôle du module traitement.
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
3) Réécrire le module traitement en remplaçant la structure tableau par une chaine de caractères en gardant
le même rôle du module.
Page 2 / 4
EXERCICE N°3 (3.5 points)
Un enfant envisage de construire des châteaux avec des cartes, comme le montre les figures suivantes :
Pour réaliser un château, le nombre de cartes utilisé dépend du nombre d’étages à construire.
1) Compléter le tableau ci-dessous par le nombre de cartes correspondant au nombre d’étages
à construire.
Nombre d’étages Nombre de cartes
1 2
2 7
3
4
5
2) Afin de trouver le nombre de cartes nécessaires pour l’ajout d’un nouvel étage n, on propose
des formules différentes.
Pour chacune des formules proposées dans le tableau ci-dessous, mettre dans la case correspondante
la lettre V dans le cas où elle est correcte ou la lettre F dans le cas contraire.
Formule 3*(n-1) +2 2n+1-3 3*n-1 3*(n+1)-3
Validité
Sachant que, pour construire :
- le premier étage, on a besoin de 2 cartes.
- le deuxième étage, on ajoute 5 cartes aux deux précédentes.
- le troisième étage, on ajoute 8 cartes aux sept précédentes.
- etc.
3) Écrire un algorithme d’un module permettant de déterminer le nombre de cartes nécessaires
à la construction d’un château de cartes à n étages.
Page 3 / 4
Problème (10 points)
Dans le but d’améliorer la qualité du trafic dans une ville et afin de réduire les
embouteillages, une société de transport décide d’utiliser des itinéraires
circulaires pour assurer le transport des citoyens d’une station à l’autre via
des bus. L’itinéraire d'un bus contient N stations.
Sachant qu'un itinéraire est représenté par deux tableaux :
- un tableau STA contenant N (5 ≤ N ≤ 50) noms de stations. Le nom
d’une station est une chaine non vide formée de 3 lettres majuscules.
- un tableau NUM de N entiers, où chaque élément d’indice i indique
l’indice de la station suivante de STA[i]. Les valeurs de ce tableau sont
des entiers aléatoires comprises entre 0 et N-1, toutes
distinctes et différentes de leur propre indice (c’est-à-dire qu’une
station ne peut pas pointer vers elle-même).
Pour aider la société à vérifier si un itinéraire d'un bus est circulaire ou non,
on propose d’écrire un programme permettant d’afficher les différentes
stations de l'itinéraire représenté par les tableaux STA et NUM, et ce en
partant de la station d’indice 0 (Les stations sont séparées par Itinéraire Bus
le symbole "-") ainsi que le message "Itinéraire circulaire" dans le cas où
toutes les stations ont été visitées ou le message "L’itinéraire n'est pas
Station
circulaire" dans le cas contraire.
On vous demande d’élaborer :
1) Un algorithme du programme principal, solution à ce problème, en le décomposant en modules.
2) Un algorithme de chaque module.
N.B : Les algorithmes élaborés doivent être accompagnés des différents tableaux de déclaration nécessaires.
Exemple 1 : Exemple 2 :
Pour N=10 et les contenus des tableaux STA et NUM suivants : Pour N=10 et les contenus des tableaux STA et NUM suivants :
STA ABC DEF GHI JKL MNO PQR STU VWX YZA BCD STA ABC DEF GHI JKL MNO PQR STU VWX YZA BCD
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
NUM 2 7 4 9 8 0 1 3 6 5 NUM 1 6 4 9 5 8 0 2 3 7
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
L'itinéraire parcouru affiché est le suivant : L'itinéraire parcouru affiché est le suivant :
ABC-GHI-MNO-YZA-STU-DEF-VWX-JKL-BCD-PQR-ABC ABC-DEF-STU-ABC
Le message affiché est le suivant : Itinéraire circulaire Le message affiché est le suivant : L’itinéraire n'est pas
circulaire
En effet, le détail de l'itinéraire est : En effet, le détail de l'itinéraire est :
• La 1ère station de l'itinéraire est ABC (Départ à l'indice 0) • La 1ère station de l'itinéraire est ABC (Départ à l'indice 0)
• La station suivante est GHI se trouvant dans la case • La station suivante est DEF se trouvant dans la case
d'indice 2 (NUM[0] = 2) du tableau STA. d'indice 1 (NUM[0] = 1) du tableau STA.
• La station MNO se trouvant dans la case • La station STU se trouvant dans la case
d'indice 4 (NUM[2] = 4) du tableau STA. d'indice 6 (NUM[1] = 6) du tableau STA.
• La station YZA se trouvant dans la case • La station ABC se trouvant dans la case
d'indice 8 (NUM[4] = 8) du tableau STA. d'indice 0 (NUM[6] = 0) du tableau STA.
• La station STU se trouvant dans la case
d'indice 6 (NUM[8] = 6) du tableau STA.
• La station DEF se trouvant dans la case
d'indice 1 (NUM[6] = 1) du tableau STA.
• La station VWX se trouvant dans la case
d'indice 7 (NUM[1] = 7) du tableau STA.
• La station JKL se trouvant dans la case
d'indice 3 (NUM[7] = 3) du tableau STA.
• La station BCD se trouvant dans la case
d'indice 9 (NUM[3] = 9) du tableau STA.
• La station PQR se trouvant dans la case
d'indice 5 (NUM[9] = 5) du tableau STA.
• La station ABC se trouvant dans la case
d'indice 0 (NUM[5] = 0) du tableau STA.
Page 4 / 4