Académique Documents
Professionnel Documents
Culture Documents
Fin
Retourner N mod d ≠ 0
Aucune
Fonction Premier2 (N :entier) : booléen
Quelle est la fonction qui permet de vérifier la primalité d’une
Début
manière optimale.
nb2
Pour i de 2 à N-1 faire Premier1
Si N mod i = 0 alors
nbnb+1 Premier2
Fin Si
Fin Pour
Retourner Nb=2
Fin
1
Nom et prénom………………………………………………………………………………………………………………Classe :…………………………
Exercice2 :
Un nombre N est dit sociable d’ordre P, lorsqu’il permet de former une Chaine Amiable.
Une chaine amiable est une séquence de P entiers dans laquelle chaque nombre est la somme des diviseurs
propres (sans lui-même) du nombre précédent.
Le premier nombre N de la séquence est dit nombre sociable s’il est égal à la somme de ses diviseurs
propres du dernier nombre de cette séquence.
Exemple :
12496 est un nombre sociable d’ordre 5, les nombres formants la chaine amiable sont :
12496-14288-15472-14536-14264
Nombre de Diviseurs propres Somme des
la diviseurs
séquence
12496 1,2,4,8,11,16,22,44,71,88,142,176,284,568,781,1136,1562,3124,6248 14288
14288 1,2,4,8,16,19,38,47,76,94,152,188,304,376,752,893,1786,3572,7144 15472
15472 1,2,4,8,16,967,1934,3868,7736 14536
14536 1,2,4,8,23,46,79,92,158,184,316,632,1817,3634,7268 14264
14264 1,2,4,8,1783,3566,7132 12496
1) Ecrire un module appelé SomDiviseur qui permet de calculer la somme des diviseurs d’un
nombre m.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
2) Ecrire un module appelé Sociable qui permet de faire l’appel au module SomDiviseur pour
afficher :
La liste des nombres formants la chaine amiable ainsi son ordre si un N est sociable, sinon.
N est non sociable si l’ordre P dépasse 10.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
3) Ecrire l’algorithme du programme principal qui permet de saisir une chaine de caractère
purement numérique puis de déterminer et afficher si le nombre est amiable ou non.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
2
Nom et prénom………………………………………………………………………………………………………………Classe :…………………………
Problème :
La transformation de SYRACUSE
Il s’agit d’une séquence d’opérations sur un nombre entier positif qui ramène toujours au nombre 1, selon
l’approche suivante :
si le nombre N est impair on le gonfle c-à-d : N=3N+1
s'il est pair on l'amorti c-à-d : N=N div 2
Selon la règle suivante :
Au cours des itérations, le nombre va osciller en croissant et décroissant, mais il finira toujours par la
valeur 1. Ainsi on peut calculer le temps de vol d’un nombre (le nombre des nombres jusqu’à avoir
1) après la transformation de SYRACUSE :
20 : [10, 5, 16, 8, 4, 2, 1] : Temps du vol de 20 est 7
13 : [40, 20, 10, 5, 16, 8, 4, 2, 1] : Temps du vol de 13 est 9
22 : [22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1] : Temps du vol de 22 est 15
33 : [40, 20, 10, 5, 16, 8, 4, 2, 1] : Temps du vol de 22 est 9
Exemple :
T 11 28 16 13 20 30
0 1 2 3 4 5
Après le calcul du temps du vol :
TV 14 18 4 9 7 18
0 1 2 3 4 5
Les nombres sont :
28 : [14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
30 : [15, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
3
Nom et prénom………………………………………………………………………………………………………………Classe :…………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
4
Rappels sur les éléments de base
in Exemple : ………………………………………………………
……….
in range Exemple : ………………………………………………………
En Algorithme En python
Pour i de vi à vf [pas=valeur_pas] faire
instruction 1 for i in range(vi, vf+1) :
instruction 2 instruction 1
……. instruction 2
instruction n …….
Fin pour instruction n
Remarque: Nombre répétitions = |vf-vi|+1
Exemple1: Exécution:
Ch’’Bac2024’’ ch=‘’Bac2024’’
Pour i de 0 à long(ch)-1 [pas=1] Faire for i in range(0, len(ch )):
Ecrire(Ch[i]) print(ch[i])
Fin pour
Exemple2: Exécution:
Pour i de 0 à 3 [pas=1] Faire for i in range( 4) :
Ecrire(i) print(i)
Fin pour
5
Rappels sur les éléments de base
Exemple3 : Exécution:
Pour i de 6 à 3 Faire [pas=-1] for i in range(6,2,-1) :
Ecrire(i) print(i)
Fin pour
Exemple4: Exécution:
Pour i de 0 à 9 [pas=2] Faire for i in range(0,10,2) :
Ecrire(i) print(i, end=‘** ‘)
Fin pour
6
Rappels sur les éléments de base
En python on trouve des fonctions prédéfinies dont certaines appartiennent à des modules
comme le module random, turtle, numpy….
7
Rappels sur les éléments de base
N123
Retourne la conversion d’un nombre Chconvch(N)
Convch (x)
x en une chaîne de caractères. Ch contient ……..
Ch"123.5"
Retourne la conversion d’une chaîne
xvaleur(Ch)
Valeur (Ch) ch en une valeur numérique, si c’est
X contient ………….
possible.
ChMajus("Bonjour le Monde." )
Convertit la chaîne Ch en
Majus (Ch) Ch contient "BONJOUR LE MONDE."
majuscules.
8
Rappels sur les éléments de base
L y c é e M e g d i c h S f a x
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Algorithme Python
Y = Ch.isdecimal()
YEstnum (Ch) Y= Ch.isdigit()
Y= Ch.isnumeric()
Ch = Ch.upper()
Ch Majus (Ch)
Algorithme Python
XLong ( Ch ) X = len(ch)
X= int(ch)
XValeur (Ch)
X= float(ch)
Z chr(y) Z= chr(y)
9
Rappels sur les éléments de base
Slicing Python?
Algorithme Python
ChSous_chaine (Ch, d, f) Ch = Ch[ d : f ]
Ch = Ch[:d]+Ch[f:]
Ch Effacer (Ch, d, f)
10
Rappels sur les éléments de base
Applications
Exercice1 :
Compléter les affectations suivantes par une valeur ou un opérateur permettant d’obtenir la valeur
booléenne de B voulue.
AFFECTATIONS Valeur de B
B = sqrt(9) == ………………… False
B = randint(0, 4) ……………5 True
B = round(64.5) …………8 == 0 False
B = 47668 % 1000 // 10 == ………… True
B = trunc ( sqrt(100)) !=……………. False
B =( 'A' <= 'a'.upper( )<= 'Z' ) and (1 <= ………<=10) True
Exercice2 :
Compléter dans chaque ligne, la dernière colonne par :
Une affectation : utiliser toutes les données fournies et la (les) fonction(s) adéquates.
Le type de chaque résultat.
Données
B =………………………………..
Ligne1 "Ci" "Sciences" -1 ……………………………………
C =…………………………………
Ligne2 "Année " "2023" 10 …………………………………….
D =……………………………….
Ligne3 "Ramadhan" "Mars" 23 "Ramadhan23Mars" ……………………………………
E =...………………………………
Ligne4 "*Mars2023*" "*MARS2023*" ……………………………………
F =.. ………………………………
Ligne5 "14.25" False ……………………………………
G =..………………………………
Ligne6 "14" "6" 10 30 ……………………………………
H =..………………………………
Ligne7 "Memoire" 2 5 "moi" ……………………………………
L =…………………………………
Ligne8 "60" 5 "A" ……………………………………
11
Rappels sur les éléments de base
12
Rappels sur les éléments de base
……………………………………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………….…………..……………
……………………………………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………….…………..……………
13
Modularité
Dans les exercices 4 5, utiliser une procédure qui permet de saisir A et B deux nombres positifs
et différents.
Exercice4
Ecrire une fonction qui permet de calculer le PGCD de deux nombres.
Exercice5
Ecrire une fonction qui permet de calculer la puissance AB.
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
14
Modularité
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
15
Modularité
Dans les exercices 6 9, utiliser une procédure qui permet de saisir une chaine de taille pair et ne
contenant pas d’espace.
Exercice6
Ecrire une fonction qui permet de déterminer l’inverser d’un mot.
Exercice7
Ecrire une fonction qui permet de calculer la somme des chiffres existants dans la chaine.
Exercice8
Ecrire une fonction qui permet de vérifier et d’afficher si la chaine est purement alphabétique.
Exercice9
Ecrire une fonction qui permet de calculer le poids d’un mot, sachant que le poids est la somme des codes
Ascii des voyelles.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
16
Modularité
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
17
Modularité
Dans les exercices 10 14, utiliser une procédure qui permet de saisir un tableau de N entiers
positifs avec N>3.
Exercice10
Ecrire une fonction qui permet de calculer la somme de tous les éléments du tableau.
Exercice11
Ecrire une fonction qui permet de calculer la somme des éléments ayant un indice impair.
Exercice12
Ecrire une fonction qui permet de déterminer le maximum d’un tableau.
Exercice13
Ecrire une fonction qui permet de déterminer l’existence d’un nombre donné X dans le tableau.
Exercice14
Ecrire une procédure qui permet de calculer T[i]i pour chaque élément du tableau T et placer le résultat
dans un autre tableau D.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
18
Modularité
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
19
Modularité
Dans les exercices 15 16, utiliser une procédure qui permet de saisir un tableau de N mots
majuscules non vides avec N>3.
Exercice15
Ecrire une procédure qui permet placer les chaines symétriques dans un autre tableau D.
Exercice16
Déterminer les modules nécessaires pour chercher et afficher la lettre dont le code ascii est maximal dans
tous les chaines du tableau, puis afficher les mots contenant cette lettre.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
20
Modularité
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
21
Modularité
Probleme 1 : Cryptage
Une phrase est une chaîne de caractères formée par des mots séparés deux à deux par un seul espace. Une
phrase ne doit pas contenir des espaces superflus (inutiles). En effet, un espace est dit superflus lorsqu’il
se trouve au début ou à la fin d’une phrase ou lorsqu’il est à côté d’un autre.
Une société de télécommunication crypte les messages de ses abonnés à fin qu’elle les sécurise sur ses
réseaux. Pour cela elle veut réaliser une application informatique permettant de réaliser les tâches
suivantes
Saisir un message sous la forme d’une phrase non vide et sans espaces superflus.
Entrer au hasard un chiffre entre 0 et 9.
Transformer les caractères minuscules en majuscules et vice versa.
Remplacer les caractères non alphabétiques (Sauf les espaces) par le chiffre trouvé au hasard.
Effacer tous les espaces dans le message.
Afficher le message crypté.
Exemple :
Message initial : "Bonsoir. Où sont les 7 merveilles ?" et Nombre au hasard est :5
22
Modularité
Probleme 2 : Chiffre de chance
Pour chercher le chiffre de chance d'une personne, on procède comme suit :
On additionne les chiffres composants la date de naissance de la personne concernée. Au nombre obtenu,
on refait le même procède jusqu'a ce qu'on obtienne un nombre compose d'un seul chiffre. Ce nombre est
le chiffre de chance.
Exemple :
Soit la date de naissance suivante "29/09/1999"
On additionne les chiffres de la date de naissance: 2+9+0+9+1+9+9+9= 48
48 est compose de deux chiffres, on refait le même traitement: 4 + 8 = 12
12 est compose de deux chiffres, on refait le même traitement: 1 + 2= 3
3 est compose d'un seul chiffre et c'est le chiffre de chance recherche.
Ecrire un algorithme qui permet de saisir la date de naissance d'une personne sous la forme d'une
"jj/mm/aaaa ou j/m/aa ou autre…", puis d'appliquer la méthode citée ci-dessus et d'afficher le chiffre de
chance trouvé.
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
23
Modularité
Problème 3: Palindrome
Un nombre palindrome est un entier qui reste le même qu’on lise de droite à gauche ou de gauche à droite.
Exemples : 47374, 101, 6 et 9449 sont des nombres palindromes.
Pour déterminer la suite palindromique associée à un entier N, on procède comme suit :
1. on inverse l’ordre des chiffres de N et on ajoute N à ce nombre inversé.
2. on recommence l’opération avec le nouveau nombre jusqu’au obtenir un palindrome.
Exemples :–
Pour N= 64, on inverse les chiffres on obtient 46 auquel on ajoute 64 on obtient 110. Comme 110 n’est
pas palindrome alors on continue le même traitement avec 110 ainsi en inversant les chiffres on aura 11
puis en faisant l’addition on obtient 121. On arrête puisque 121 est palindrome.
N Suite palindromique
13 13, 44
87 87,165, 726, 1353, 4884
196 196, 887, 1675, … suite infinie
écrire un algorithme /python qui à partir d’un entier N donnée (N>=10, et N un nombre non symétrique),
déterminer et afficher un tableau qui contient la suite palindromique de N. (Dans le cas où la taille du
tableau dépasse 10 termes sans trouver un terme palindrome le programme s’arrête)
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
24
Modularité
Problème4 :
Soient T un tableau de N entiers positifs saisis dans l’ordre croissant (5<=N<=30) et un entier K (1<K<N).
On se propose de former un tableau TS par les sommes des k éléments consécutifs du tableau T, de telle
façon que TS [i] contiendra la somme des K éléments consécutifs du tableau comptés à partir de l’ième
élément du T.
En utilisant la modularité, écrire un programme (algorithme /python) qui permet de remplir un tableau T
par N entiers positifs, de saisir aussi un entier K puis de former et d’afficher le tableau TS.
Exemple : N=6 et K=4 et
T 10 40 55 60 65 80
0 1 2 3 4 5
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
25
Modularité
Ag school i free am a
0 1 2 3 4
Travail demandé : En utilisant la modularité, écrire un programme qui permet de saisir un tableau de N mots puis
traduire une phrase donnée, en tenant compte de toutes les contraintes mentionnées
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
………………………………………………………………………………………………..
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………..
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
26
Modularité
……………………………………………………………………………………………………………
………………………………………………………………………………………………..
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………..
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
………………………………………………………………………………………………..
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………..
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
27
Modularité
Applications
Exercice1 : Soit le script python de la fonction suivante :
Fonction quoi(n : entier) :entier 4)…………………………………………………
Début ……………………………………………………
a 0 ……………………………………………………
K 1 ……………………………………………………
Tantque n≠0 Faire ……………………………………………………
Si n mod 2 = alors ……………………………………………………
a a + n mod 10 *k ……………………………………………………
K k * 10 ……………………………………………………
Finsi ……………………………………………………
n n div 10 ……………………………………………………
Fin Tantque ……………………………………………………
Retourner a ……………………………………………………
Fin
Questions
1) Pour chacune des propositions suivantes, répondre par la lettre (V) si elle est juste ou la lettre (F)
sinon.
a) L’appel de la fonction quoi, dans le b) Le passage de paramètre utilisé dans la
programme principal peut être de la fonction quoi est :
forme :
quoi(12346) par valeur
ecrire (quoi(12346)) par adresse
X quoi ("12346") par valeur et adresse
c) L’objet n déclaré dans l’entête de la d) a et k utilisés dans le corps de la fonction
fonction quoi est : quoi sont des variables :
un paramètre effectif Visibles uniquement par la fonction
quoi
Visibles par quoi et le programme
un paramètre formel
principal
Visibles uniquement par le programme
une entrée de la fonction
principal
n
a
k
4) Remplacer dans la fonction quoi la structure itérative à condition d’arrêt par une structure itérative
complète.
Exercice2
Soient le TDO global et l’entête de la procédure Traitement suivant ci-dessous :
Objet Type/Nature
N entier Procédure Traitement (@ x : réel , a :entier)
Y Réel
Traitement Procédure
Compléter le tableau ci-dessous par valide ou invalide, justifier la réponse pour les appels invalides.
28
Modularité
Appel Valide/Invalide Justification
Traitement (Y , N)
Traitement (Y , N , 2)
Traitement (5.5 , N)
Traitement (Y , 3)
Exercice 3
Soient le tableau de déclaration des nouveaux types et les algorithmes des fonctions f1 et f2 suivants :
Nouveau Type
Tab = tableau de 50 entiers
Algorithme de f1 Algorithme de f2
Fonction f1(T :tab, n,x :entier) : entier Fonction f2(T : tab, n :entier) : entier
DEBUT DEBUT
Cpt 0 M T[1]
Pour i de 1 à n Faire Pour i de 2 à n Faire
Si T[i]= x alors Si T[i] >M alors
Cpt Cpt + 1 M T[i]
Fin si TDOL Fin si TDOL
Fin pour Objet Type Fin pour Objet Type
Retourner Cpt Cpt , i entier Retourner M M,i entier
FIN FIN
Questions :
1) Pour le tableau T suivant :
T 5 6 3 3 2 8 6 2 6 3
1 2 3 4 5 6 7 8 9 10
a. Donner le résultat de chacun des appels ci-dessous de la fonction f1 :
f1(T, 10, 6) = …………………….. f1(T, 6,3) = ……………………..
b. Déduire le rôle de f1 :……………………………………………………………………………….
c. Donner le résultat de chacun des appels ci-dessous de la fonction f2 :
f2(T, 10) = …………………….. f2(T, 5) = ……………………..
d. Déduire le rôle de f2 :……………………………………………………………………………….
2) Ecrire l’algorithme d’un module intitulé Saisir qui permet le remplissage aléatoire de N cases
d’un tableau T, par des chiffres de 1 à 9 :
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
29
Modularité
3) Ecrire l’algorithme d’un module intitulé Remplir qui qui permet de remplir un tableau V par le
nombre d’occurrences de chaque chiffre de 1 à 9 appartenant au tableau T.
NB : Faire l’appel de la fonction f1
Exemple : Pour N = 10
T 5 6 3 3 2 8 6 2 6 3
On obtient :
V 0 2 3 0 1 3 0 1 0
1 2 3 4 5 6 7 8 9
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
4) Ecrire l’algorithme d’un module intitulé Afficher qui qui permet d’afficher, à partir du tableau V,
le(s) indice(s) ayant le plus grand nombre d’occurrences dans le tableau T.
NB : Faire l’appel de la fonction f2
Exemple : Pour le tableau V :
V 0 2 3 0 1 3 0 1 0
1 2 3 4 5 6 7 8 9
L’affichage sera : Les chiffres les plus fréquents sont : 3 6
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
……………………………………………………………………………………………….
30
Résolution de problème : La Modularité
……………………………………………………………………………………………………………
…………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
………………………………………………………………………………………………..
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………..
………….…………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
31