Série : Les Sous Programmes
Nom du prof : Adem Blel
S
Exercice 1 20 min
Soit l'algorithme suivant nommé Ex1 :
Algorithme Ex1 Objet Type
DEBUT
Écrire ( " Saisir c1 : " )
Lire (c1)
Écrire ("Saisir c2 : ")
Bloc1
Lire(c2)
Ok Faux
i -1
k i
TANTQUE Non( ok ) ET ( i < long(c2) - 1 ) FAIRE
i i+1
SI c2[ 0 ] = c1 [ i ] ALORS
c3 Sous_Chaine (c1, i, i + long(c2))
SI c3 = c2 ALORS
ok Vrai
k i
FIN SI
FIN SI
FIN TANTQUE
Ecrire ( k )
FIN
1
1- Remplir le tableau de déclaration des objets TDO ci-dessus
2- Exécuter manuellement cet algorithme et donner la valeur de K qui sera
affichée pour chacun des cas suivants :
C1 C2 Valeur de K
"*122#" "*123#"
"Deux Milles Trois Cents" "milles"
"DEVOIR DE CONTROLE" "DE"
3- Quel est alors le rôle de cet algorithme ?
………….……………………………………………………………………………………………………………
4- Y a –t-il une fonction prédéfinie qui réalise le même traitement que cet
algorithme ? Oui / Non. Si Oui laquelle ? : ……………….…………...
5- Modifier les instructions du Bloc1 afin d’ajouter un contrôle de saisie per-
mettant d’assurer que la chaine saisie c2 commence obligatoirement par
une lettre
………….……………………………………………………………………………………………………………
……………………….…………………………………………………………….…………………………………
………………………………………………………………………………………………….……………………
……………………………………………………………………………………………………………….………
……………………………………………………………….………………………………………………………
…………………………………………………………………
2
6- Convertir la boucle TANTQUE en une boucle REPETER
………….……………………………………………………………………………………………………………
……………………….………………………………………………………………………………………………
…………………………………….…………………………………………………………………………………
………………………………………………….……………………………………………………………………
……………………………………………………………….………………………………………………………
…………………………………………………………………………….…………………………………………
………………………………………………………………………………………….……………………………
……………………………………………………………………………………………
3
Exercice 2 20 min
Compléter le module selon le rôle indiqué ainsi que le TDOL associé :
Rôle
Le module suivant permet de vérifier qu’un nombre nb est un nombre Oblong.
Un nombre Oblong est le produit de deux entiers naturels consécutifs strictement
positif.
Exemple :
12 est un nombre Oblong car 12=3×4
272 est un nombre Oblong car 272=16×17
Algorithme du Module
………………. Oblong ( nb : ……………… ) …………………
Début
i………….. T.D.O.L
tant que i < nb -1 et ………………… ≠ …………… faire
……………………………… Objet Type
fin tant que ….…… ………….
retourner ………………= …………….
Fin
4
Exercice 2 60 min
Écrire un programme qui permet de déterminer et d'afficher si un entier n de 4
chiffres vé- rifie la relation suivante:
n = somme des puissances kème de ses chiffres avec 1 < k < 5
Exemple 1: pour voir si le nombre n = 1634 vérifie ou non cette propriété on
commence par calculer la somme des chiffres a la puissance 1 puis la puissance
2 puis à la puissance 3....
11+61+31+41=14 est différents de 1634 alors on continue avec les chiffres à la
puissance 2 12+62+32+42=62 et différent de 1634 alors on continue avec les
chiffres à la puissance 3 13+63+33+43=308 et différent de 1634 alors on
continue avec les chiffres à la puissance 4 14+64+34+44=1634 alors on arrête le
traitement et on affiche: n = 1634 et k= 4
Exemple 2: pour n = 2114
21+11+11+41 = 8 est différent de 2114 alors on continue avec les chiffres à la
puissance 2 22+12+12+42 = 22 est différent de 2114 alors on continue avec les
chiffres à la puissance 3 23+13+13+43 =74 est différent de 2114 alors on
continue avec les chiffres à la puissance 4 24+14+14+44 = 274 est différent de
2114 alors on continue avec les chiffres à la puissance 5 25+15+15+45 = 1058
est différent de 2114 alors on arrête le traitement et on affiche:
2114 ne vérifie pas la propriété