D.R.E.
Tunis 2 ANNEE SCOLAIRE : 2022/2023
LYCEE SECONDAIRE BARDO DATE : 29/05/2023
DISCIPLINE : Informatique NIVEAU: 2ème Techologie de l’informatique
ENSEIGNANTE : Mme Fehri Mejri Hanen MATIERE : INFORMATIQUE
DEVOIR DE SYNTHESE N°3
Nom et Prénom :………………………………………………………… Note : /20
Exercice N°1
Mettre la lettre V si la proposition est correcte ou la lettre F dans le cas contraire
1) Calculer la somme s des chiffres d’un entier n :
ch ← convch (n) s←0 s←0 s←0
s←0 ch ← convch (n) ch ← convch (n) Répéte
Tant que (ch ≠ "") Faire
Pour i de 0 à long(ch) – 1 Faire Pour i de long(ch)–1 à 1 (Pas=–1) Faires r
s ← s + valeur (ch[0])
s ← s + valeur (ch[i]) effacer (ch,0,1) ← s + valeur (ch[i])
Fin Tant que Fin pour s←s+n
Fin pour
Mod 10n ←
n div 10
Jusqu’à (n ≠ 0)
2) Afficher Vrai si un entier n est premier et Faut sinon.
i←1 i←0 i ←2 s←0
Répéter test ← Vrai Tant que (i<n div 2) et (n mod i≠0) Faire Pour i de 1 à n Faire
i ← i+1 Tant que (i ≤ n div 2) Faire i←i+1 Fin Si n mod i = 0 Alors
Si n mod i = 0 Alors Tant que s ← s+1
test ← n mod i = 0
test ← Faux Fin Si
Jusqu’à (test=faux) ou (i=n div 2) test ← (i > n div 2)
Sinon Fin Pour
Ecrire (test) i ← i+1 Ecrire (test) test ← n=2
Fin Si Ecrire (test)
Fin Tant que
Ecrire (test)
3) Déterminer et afficher le nombre de diviseurs d’un entier n strictement positif
c←2 c←n c←1 c←0
Pour i de 2 à (n-1) faire Pour i de 1 à n Faire Pour i de 2 à n div 2 Faire Pour i de 1 à n Faire
Si (n mod i = 0) faire Si (n mod i ≠ 0) alors Si (n mod i = 0) alors Si (n mod i = 0) alors
c ← c+1 c←c–1 c ← c+1 c←c–1
Fin Si Fin Si Fin Si Fin Si
Fin Pour Fin Pour Fin Pour Fin Pour
Ecrire (c) Ecrire (c) Ecrire (c) Ecrire (c)
1 2TI
Exercice N°2
Soit le programme phython suivant :
1) Mettre une croix dans la case adéquate
Objet Objet Paramètre Paramètre Passage Passage
global Local effectif formel par par
adresse valeur
ph
k
phras
y
m
i
v
ch
mot
k
x
c
2) Déterminer le type de chaque sous-programme ?
Sous programme Fonction Procédure
saisieM
saisiek
crypter
verif
2 2TI
3) Exécuter le sous-programme crypter pour ph= »Info et k=2 ?
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
4) Déduire le rôle du sous-programme crypter ?
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Problème
Un numéro de compte bancaire est formée par trois caractères alphabétiques qui représente
l’abréviation de la banque (BNA,UIB,STB,ATB,….), le numéro de la banque formé par 3
chiffres et un ensemble de 5 chiffres représentant le numéro du compte.
On désire écrire un programme qui crypte un ensemble de numéro de compte de plusieurs
employés d’une société afin de les envoyer d’une manière sécurisé. Pour se faire, les
caractères alphabétiques seront remplacées par leurs successeurs et les chiffres sont
additionnés puis le nombre X obtenu est remplacée par :
1. La somme des codes ascii de ses chiffres lorsque X est un nombre defactorisable
2. L’inverse de X lorsque X n’est pas un nombre defactorisable
Un nombre refactorisable est un entier strictement positif qui est divisible par le nombre
total de ses diviseurs.
Par exemple :
10 n’est pas refactorisable car il n’est pas divisible par le nombre total de ses diviseurs
(4).
En effet, les diviseurs de 10 sont 1, 2, 5 et 10.
18 est un nombre refactorisable car il est divisible par le nombre total de ses diviseurs
(6).
En effet, les diviseurs de 18 sont 1, 2, 3, 6, 9 et 18.
On se propose d’écrire un programme permettant :
Saisir le nombre n des employés (7<=n<100)
Remplir un tableau Code par les numéros des comptes bancaire qui sont des chaines
composées de 11 caractère et vérifiant les conditions expliqués au début de l’énonce
Remplir un tableau Crypte par les codes cryptés selon le principe expliqué
précédemment
Afficher le tableau Crypte
Travail demandé
1) Ecrire l’algorithme du programme principal ?
2) Ecrire l’algorithme des sous programmes envisagées ?
3 2TI