Matière : Algorithme et programmation Date : octobre 2023
Coefficient : 3
Evaluation
Nom : ………………………. Prénom : ……………………….. Classe : 3 S. I 1
Exercice 1: (5 pts)
1. soient les données suivantes :
Etat,ch :chaine
e,c: caractere
a,r:entier
a- Valider chacune des affectations en mettant dans la case correspondante la lettre
(v) si elle est vraie et la lettre (F) si elle est fausse? Corriger l’instruction qui est
fausse ?
Instructions F/V Correction
ch chr(ord (gaz) +2) ………. ……………………………………………………
Etatch ………. ……………………………………………………
a ord (’a’) -’32’ ………. ……………………………………………………
ralea(10,99) ………. ……………………………………………………
e chr (97) + ‘b ‘ ………. ……………………………………………………
c souschaine (ch, 1, long(ch)+1) ………. ……………………………………………………
2. Soit l’algorithme de la fonction suivante avec N est un entier >= 1 :
Fonction Quoi (A : entier, N : entier) : Entier
Début
R1
Tant que ( N > 0 ) faire
Si ( N MOD 2 = 0) alors
A A*A
N N DIV 2
Sinon
R R*A
NN–1
Finsi
Fin Tant que
Retourner R
FinQuoi.
Travail a faire :
1- Exécuter manuellement l’algorithme de la fonction Quoi pour les valeurs suivantes :
A=2
N=5
R=
➢
A=3
N=4
R=
2- En déduire le rôle de cette fonction.
………………………………………………………………………………………………………………………………………………………
Page 1 sur 4
3- On désire Calculer les éléments d’un tableau V (selon le rôle déduit dans 2-) et placer les
entiers d’un tableau V dans V1 puis afficher le plus petit element (donner le module
permettant rechercher le tableau V1 résulttat) En vous référant aux modules présentés
ci dessous :
Algorithme pp
Debut
Saisir(n)
Remplir(V,n)
Former(V,n,V1)
brecherche(V1,n)
Afficher (V1,n,b)
Fin pp
Procedure Former (v ;tab,n :entier,@V1 :tab)
Début
Pour i de 0 a n-1 faire
V1[i]Quoi(V[i],i)
Fin Pour
Fin
Exercice 2:
Soit l’algorithme du module suivant :
…………………inconnue(……………………………………..)
Début
nalea (19,45) + 2
0) [ ] Pour i de 0 à n-1 faire
Ecrire (‘‘ T [’’, i, ‘‘ ]=’’)
Lire (t [i])
Fin pour
1) jn-1
pour i de 0 à (n div 2) faire
Aux T [i]
T [i] T [j]
T [j] Aux
j j-1
Fin pour
2) pour i de 0 à n-1 faire
Ecrire (T [i], ‘‘ ’’ )
Fin pour
3) Fin inconnu
Questions :
1. Compléter l’entete du module
2. Donner le rôle de l’instruction n°1 ?
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
3. Exécuter manuellement cette instruction pour le cas suivant :
s0,s10
Page 2 sur 4
pour i de 0 à (n -1) faire
si T[i] Mod 2=0 alors
ss+ T[i]
sinon
s1s1+ T[i]
Fin pour
Si N=8 et T= 23 55 104 9 78 12 90 404
1 2 3 4 5 6 7 8
4. Ecrire le module qui permet de réaliser ce traitement (entête ,déclaration )
……………………………………………………………………………………………………………
…………………………………………………………………………………………………….
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
4. Déduire le rôle de cette instruction ?
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
Application 1:On se propose de :
- Saisir un entier n (5 ≤ n ≤ 20) et de remplir un tableau A avec n entiers positifs formés
chacun de trois chiffres,
- Déterminer et d’afficher le plus grand élément du tableau A,
- Afficher tous les éléments du tableau A dont la permutation des chiffres donne la valeur
maximale déterminée précédemment.
Exemple :
Si n=10 A 234 125 120 324 152 120 214 312 432 110 Alors
max= 432
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
Application 2:Ecrire un algorithme modulaire intitulé TNEG, qui permet de :
❖ Saisir un entier N entier non nul (avec 2<= N <=20 )
❖ Remplir un tableau T par des entiers entre compris entre -100 et 100
❖ Vérifier si le tableau T est négatif ou non.
- Dans le cas Négatif afficher le tableau T et le message « T est
négatif »
Et dans l’autre cas afficher le tableau T et le message « T non
Négatif »
Remarque : un tableau Négatif si tous leurs éléments sont négatifs (<0)
Exemple :
Cas n°1 :
Page 3 sur 4
T -20 -40 -60 -16 -18 -10 -80 -20
Afficher : T est Négatif
Cas n°2 :
T -20 -40 -60 -16 18 -10 -80 -20
Afficher : T est non Négatif Car 18 est un élément positif (>=0)
…………………………………………………………………………………………………………
………………………………………………………………………………………………………
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
………………………………………………………………………………………………………….
Application 3:Soit la procédure somme suivante assurant le calcul de la somme du contenu d’un
tableau T de n Entiers :
procédure somme (T :Tab ; n :Entier ;@S :Entier)
Debut
S0
Pour i de 0 à n -1 Faire
SS+T[i]
Fin Pour
FIN
QUESTIONS :
1)peut-on remplacer cette procédure par une fonction ? si oui Comment si non pour quoi ?
2) peut-on remplacer la structure itérative par une structure itérative a condition d’arrêt ?.
3) écrire un algorithme modulaire qui permet de :
➢ Remplir aléatoirement un tableau T par des entiers de deux chiffres entre 65 et 90
➢ Remplir dans un deuxième tableau R par les caractères correspondant au code ascii de
l’entier de T suivie par son code ascii suivi par un espace suivi par son caractère équivalent en
minuscule
➢ Afficher le tableau résultat R
Les placer dans une chaine inverser les éléments du tableau
Afficher le resultat
Exemple :
T 65 87 90 70 75 68 85 89
Le resultat sera
R A 65 a W 87 w Z 90 z E 70 e J 75 j D 68 d U 85 u Y 89 y
Page 4 sur 4