Informatique Bac Blanc 2018 Partie2

Texte de la première page
MINISTERE EDUCATION TUNISIENNE
--- --------------------------------------------------------
Proposition correction Bac Blanc 2018
Informatique
Scientifiques
Epreuve :
Section :
Durée :
1
Coefficient :
1 heure 30 minutes
Problème
1) Analyse du problème
T.D.N.T :
Nom : probleme_codage
Resultat =
Ecrire(ʺExistence de ʺ,cs, ʺ dans le
tableau des
codes : ʺ,e, ʺ Disponibilite de ʺ,C, ʺ : ʺ,dis)
(e , dis ) = Proc existence(C, code, etat, vC, e, dis)
Type
TabCode = tableau de 100 caractères
TabEtat = tableau de 100 chaînes
T.D.O.G :
Objet
C
Nature/type
Var/
chaîne
e
Var/
Booléen
etat
Var/
TabEtat
vC ←FN saisieCode(C)
etat = Proc initialisationEtat(etat, n)
( code , n ) = Proc remplissageCode(code, n)
Fin probleme_codage
Proposé le Samedi 08 Juin 2018 2018
code
Var/
TabCode
remplissageCode Procédure
initialisationEtat
Procédure
saisieCode
Fonction/
booléen
existence
Procédure
dis
Var/chaine
vC
Var/Booléen
Rôle
Code à vérifier
son existence
et sa
disponibilité
Décision de
l'existence du
code
Tableau des
états de
disponibilité
des codes
Tableau des
des codes
Procédure
pour
remplissage du
tableau des n
codes
Procédure
pour
initialisser le
tableau etat
par le
caractère L
Fonction pour
la saisie du
code à vérifier
Procédure
pour décider
l'existence du
code C dans le
tableau code et
sa disponibilité
Disponibilité
du code
Décision après
saisie du code
concernant sa
validité
Année scolaire : 2017 - 2018
2) Les Algorithmes des modules et les tableaux de déclarations des objets locaux
correspondants :
a) Algorithme Procédure remplissageCode :
0)DEF PROC remplissageCode (var code : TabCode ; var n :
entier)
1) [ ] répéter
Ecrire(ʺDonner le nombre des codes : ʺ)
Lire(n)
jusqu'à n dans [10..100]
2) [ ] Pour i de 1 à n faire
répéter
Ecrire(ʺCode[ ʺ,i,ʺ ]= ʺ)
Lire (code[i])
jusqu'à FN valide(code[i]]) = Vrai
finPour
3) Fin remplisageCode
T.D.O.L :
Objet Nature/type
Rôle
i
Var/entier
compteur
valide Fonction/Booléen Fonction
qui
retourne
le
résultat
de
décision
de la
validité
d'un code
Algorithme de la fonction valide :
T.D.O.L :
Objet
chiffre
0) DEF FN valide (c : chaîne) : booléen
1) si (long(c)=13) et FN chiffre(c) et FNpremier(souschaine(c,1,3)) et (FN nbSeqArith(c)>=1)
alors valide ← vrai
sinon valide ← faux
finSi
2) Fin valide
Algorithme de la fonction chiffre :
0) DEF FN chiffre (ch : chaîne) : booléen
1) [ i← 1 ]Tant que (ch[i] dans [ʺ0ʺ..ʺ9ʺ]) et (i<=long(ch) ) faire
i ← i+1
finTantQue
2) si i <= long(ch) then Chiffre ← faux
Sinon Chiffre ← vrai
finSi
3) Fin chiffre
Algorithme de la fonction premier :
0) DEF FN premier (c : chaîne) : booléen
1)[ valeur(c,d,e) ] Si e <>0 alors premier ← faux
finSi
2) [ s ← 1 ] pour i de 2 à d faire si d mod i = 0 alors
s←s+1
finSi
finPour
3) si s = 2 alors premier ← vrai sinon premier ← faux
finSi
Proposé le Samedi 08 Juin 2018 2018
premier
Nature/type Rôle
Fonction qui
Fonction/
décide qu'un
booléen
Fonction/
booléen
nbSeqArith Fonction/
entier
entier donné
est composé
uniquement
par des
chiffres
Fonction qui
décide qu'un
entier donné
est premier
Fonction qui
retourne le
nombre de
séquences
arithmétiques
dans une
chaîne
donnée
T.D.O.L :
Objet
i
Nature/type
var/entier
Rôle
compteur
T.D.O.L :
Objet
i
s
Nature/type
var/entier
Var/entier
Rôle
compteur
Nombre des
diviseurs
Entier après
la
conversion
de c
d
Var/entier
e
Position
Var/entier
Année scolaire : 2017 - 2018
erreur
4) Fin premier
Algorithme de la fonction nbSeqArith :
0) DEF FN nbSeqArith (c : chaîne) : entier
1) [ nb ← 0 ]
pour i de 1 à long(c) -3 faire
ch1 ← sous_chaine(c,i,4)
si arith(ch1) alors nb ← nb + 1 finSi
2) nbSeqArith ← nb
3) fin nbSeqArith
o Algorithme de la fonction arith :
0) DEF FN arith (ch : chaîne) : booléen
1) [ i ← 1 ]
répéter
val(ch[i], di, e)
val(ch[i+1], dip1, e)
i←i+1
jusqu'à (abs(di - dip1)<> 2) ou (i>long(ch))
3) si i > long(ch) alors arith ← vrai
sinon arith ← faux
finSi
4) fin arith
T.D.O.L :
Objet Nature/type
i
var/entier
nb
Var/entier
Ch1
Var/ chaîne
T.D.O.L :
Objet
i
di
Nature/type
var/entier
Var/entier
dip1
Var/ entier
e
Var/entier
Rôle
compteur
Nombre des
séquences
arithmétiques
Chaine
contenant
l'entier donné
Rôle
compteur
Premier
chiffre
Chiffre
successeur
Position
erreur
b) Algorithme Procédure initialisationEtat :
0) DEF PROC initialisationEtat (var te : TabEtat ; n : entier)
1) [ ] pour i de 1 à n faire
te[i] ← ʺLʺ
finPour
2) Fin initialisationEtat
T.D.O.L :
Objet
i
Nature/type
Var/entier
Rôle
compteur
c) Algorithme Fonction saisieCode :
0) DEF FN saisieCode (var cs : chaîne) : booléen
1) Ecrire(ʺ Tapez le code a verifier ʺ)
2) Lire(cs)
3) saisieCode ←FN valide (cs)
4) Fin saisieCode
T.D.O.L :
Objet Nature/type
Rôle
valide Fonction/Booléen Fonction
qui
décide la
validité
du code
d) Algorithme Procédure existence :
0) DEF PROC existence(cs: chaîne ; code : tabCode ; var etat : tabEtat ; n : entier ;validiteCode : booléen ;var
e : booléen; var dis : chaîne)
1) si non validiteCode alors dis ← ʺ Code Invalide ʺ
sinon si non (FN existe(cs, code, n, sp)) alors
dis ← ʺCode inexistantʺ
e ←faux
sinon
si etat[p]='U' alors
dis ← ʺCode Utiliseʺ
e ← vrai
sinon dis ←ʺOperation de recharge reussiteʺ
e ←vrai
etat[p] ←ʺUʺ
Proposé le Samedi 08 Juin 2018 2018
Année scolaire : 2017 - 2018
finSi
2) fin existence
T.D.O.L :
Objet
existe
sp
Nature/type
Rôle
Fonction/Booléen Fonction qui
décide la
existence du
code dans
le tableau
des codes et
sa position
Var/entier
Position du
code dans le
tableau
sinon la
positon
égale à 0
Algorithme de la fonction existe :
0)DEF FN existe(code : chaine; tc : tabCode; n : entier ; var p:entier):booléen
1) [ i← 0]
répéter
i←i +1
jusqu'à (tc[i] = code) ou (i = n)
2) si tc[i] = code alors
P← i
B ← vrai
sinon
b ← faux
p← 0
finSi
3) existe ← b
4) fin existe
T.D.O.L :
Objet
i
b
Nature/type
Var/entier
Var/booléen
Rôle
compteur
décision
Proposé le Samedi 08 Juin 2018 2018
Année scolaire : 2017 - 2018
--- --------------------------------------------------------
Proposition correction Bac Blanc 2018
Informatique
Scientifiques
Epreuve :
Section :
Durée :
1
Coefficient :
1 heure 30 minutes
Problème
1) Analyse du problème
T.D.N.T :
Nom : probleme_codage
Resultat =
Ecrire(ʺExistence de ʺ,cs, ʺ dans le
tableau des
codes : ʺ,e, ʺ Disponibilite de ʺ,C, ʺ : ʺ,dis)
(e , dis ) = Proc existence(C, code, etat, vC, e, dis)
Type
TabCode = tableau de 100 caractères
TabEtat = tableau de 100 chaînes
T.D.O.G :
Objet
C
Nature/type
Var/
chaîne
e
Var/
Booléen
etat
Var/
TabEtat
vC ←FN saisieCode(C)
etat = Proc initialisationEtat(etat, n)
( code , n ) = Proc remplissageCode(code, n)
Fin probleme_codage
Proposé le Samedi 08 Juin 2018 2018
code
Var/
TabCode
remplissageCode Procédure
initialisationEtat
Procédure
saisieCode
Fonction/
booléen
existence
Procédure
dis
Var/chaine
vC
Var/Booléen
Rôle
Code à vérifier
son existence
et sa
disponibilité
Décision de
l'existence du
code
Tableau des
états de
disponibilité
des codes
Tableau des
des codes
Procédure
pour
remplissage du
tableau des n
codes
Procédure
pour
initialisser le
tableau etat
par le
caractère L
Fonction pour
la saisie du
code à vérifier
Procédure
pour décider
l'existence du
code C dans le
tableau code et
sa disponibilité
Disponibilité
du code
Décision après
saisie du code
concernant sa
validité
Année scolaire : 2017 - 2018
2) Les Algorithmes des modules et les tableaux de déclarations des objets locaux
correspondants :
a) Algorithme Procédure remplissageCode :
0)DEF PROC remplissageCode (var code : TabCode ; var n :
entier)
1) [ ] répéter
Ecrire(ʺDonner le nombre des codes : ʺ)
Lire(n)
jusqu'à n dans [10..100]
2) [ ] Pour i de 1 à n faire
répéter
Ecrire(ʺCode[ ʺ,i,ʺ ]= ʺ)
Lire (code[i])
jusqu'à FN valide(code[i]]) = Vrai
finPour
3) Fin remplisageCode
T.D.O.L :
Objet Nature/type
Rôle
i
Var/entier
compteur
valide Fonction/Booléen Fonction
qui
retourne
le
résultat
de
décision
de la
validité
d'un code
Algorithme de la fonction valide :
T.D.O.L :
Objet
chiffre
0) DEF FN valide (c : chaîne) : booléen
1) si (long(c)=13) et FN chiffre(c) et FNpremier(souschaine(c,1,3)) et (FN nbSeqArith(c)>=1)
alors valide ← vrai
sinon valide ← faux
finSi
2) Fin valide
Algorithme de la fonction chiffre :
0) DEF FN chiffre (ch : chaîne) : booléen
1) [ i← 1 ]Tant que (ch[i] dans [ʺ0ʺ..ʺ9ʺ]) et (i<=long(ch) ) faire
i ← i+1
finTantQue
2) si i <= long(ch) then Chiffre ← faux
Sinon Chiffre ← vrai
finSi
3) Fin chiffre
Algorithme de la fonction premier :
0) DEF FN premier (c : chaîne) : booléen
1)[ valeur(c,d,e) ] Si e <>0 alors premier ← faux
finSi
2) [ s ← 1 ] pour i de 2 à d faire si d mod i = 0 alors
s←s+1
finSi
finPour
3) si s = 2 alors premier ← vrai sinon premier ← faux
finSi
Proposé le Samedi 08 Juin 2018 2018
premier
Nature/type Rôle
Fonction qui
Fonction/
décide qu'un
booléen
Fonction/
booléen
nbSeqArith Fonction/
entier
entier donné
est composé
uniquement
par des
chiffres
Fonction qui
décide qu'un
entier donné
est premier
Fonction qui
retourne le
nombre de
séquences
arithmétiques
dans une
chaîne
donnée
T.D.O.L :
Objet
i
Nature/type
var/entier
Rôle
compteur
T.D.O.L :
Objet
i
s
Nature/type
var/entier
Var/entier
Rôle
compteur
Nombre des
diviseurs
Entier après
la
conversion
de c
d
Var/entier
e
Position
Var/entier
Année scolaire : 2017 - 2018
erreur
4) Fin premier
Algorithme de la fonction nbSeqArith :
0) DEF FN nbSeqArith (c : chaîne) : entier
1) [ nb ← 0 ]
pour i de 1 à long(c) -3 faire
ch1 ← sous_chaine(c,i,4)
si arith(ch1) alors nb ← nb + 1 finSi
2) nbSeqArith ← nb
3) fin nbSeqArith
o Algorithme de la fonction arith :
0) DEF FN arith (ch : chaîne) : booléen
1) [ i ← 1 ]
répéter
val(ch[i], di, e)
val(ch[i+1], dip1, e)
i←i+1
jusqu'à (abs(di - dip1)<> 2) ou (i>long(ch))
3) si i > long(ch) alors arith ← vrai
sinon arith ← faux
finSi
4) fin arith
T.D.O.L :
Objet Nature/type
i
var/entier
nb
Var/entier
Ch1
Var/ chaîne
T.D.O.L :
Objet
i
di
Nature/type
var/entier
Var/entier
dip1
Var/ entier
e
Var/entier
Rôle
compteur
Nombre des
séquences
arithmétiques
Chaine
contenant
l'entier donné
Rôle
compteur
Premier
chiffre
Chiffre
successeur
Position
erreur
b) Algorithme Procédure initialisationEtat :
0) DEF PROC initialisationEtat (var te : TabEtat ; n : entier)
1) [ ] pour i de 1 à n faire
te[i] ← ʺLʺ
finPour
2) Fin initialisationEtat
T.D.O.L :
Objet
i
Nature/type
Var/entier
Rôle
compteur
c) Algorithme Fonction saisieCode :
0) DEF FN saisieCode (var cs : chaîne) : booléen
1) Ecrire(ʺ Tapez le code a verifier ʺ)
2) Lire(cs)
3) saisieCode ←FN valide (cs)
4) Fin saisieCode
T.D.O.L :
Objet Nature/type
Rôle
valide Fonction/Booléen Fonction
qui
décide la
validité
du code
d) Algorithme Procédure existence :
0) DEF PROC existence(cs: chaîne ; code : tabCode ; var etat : tabEtat ; n : entier ;validiteCode : booléen ;var
e : booléen; var dis : chaîne)
1) si non validiteCode alors dis ← ʺ Code Invalide ʺ
sinon si non (FN existe(cs, code, n, sp)) alors
dis ← ʺCode inexistantʺ
e ←faux
sinon
si etat[p]='U' alors
dis ← ʺCode Utiliseʺ
e ← vrai
sinon dis ←ʺOperation de recharge reussiteʺ
e ←vrai
etat[p] ←ʺUʺ
Proposé le Samedi 08 Juin 2018 2018
Année scolaire : 2017 - 2018
finSi
2) fin existence
T.D.O.L :
Objet
existe
sp
Nature/type
Rôle
Fonction/Booléen Fonction qui
décide la
existence du
code dans
le tableau
des codes et
sa position
Var/entier
Position du
code dans le
tableau
sinon la
positon
égale à 0
Algorithme de la fonction existe :
0)DEF FN existe(code : chaine; tc : tabCode; n : entier ; var p:entier):booléen
1) [ i← 0]
répéter
i←i +1
jusqu'à (tc[i] = code) ou (i = n)
2) si tc[i] = code alors
P← i
B ← vrai
sinon
b ← faux
p← 0
finSi
3) existe ← b
4) fin existe
T.D.O.L :
Objet
i
b
Nature/type
Var/entier
Var/booléen
Rôle
compteur
décision
Proposé le Samedi 08 Juin 2018 2018
Année scolaire : 2017 - 2018
Partager ce document
Télécharger le fichier

Faire un lien vers ce document
Lien permanentpour un message, un forum, un réseau social
Lien courtpour un SMS ou un profil
Code HTMLpour un site ou un blog
Du même auteur
- guidePHP12/04/2019
- Devoir Controle B08/11/2018
- SousProgrammes Utiles -- Algorithmique -- Analyse -- Partie 2 --12/06/2018
- bac2018PratiqueTheorique25/05/2018
- bac-pratique-22052018-sc-9h3024/05/2018
- bac-pratique-21052018-tic-8h3022/05/2018
- bac-pratique-25052011-sc-15h3020/05/2018
- bac-pratique-21052015-sc-8h-s118/05/2018
Voir les autres documents de cet auteur
- bac-pratique-27052013-sc-14h18/05/2018
- bac-pratique-25052017-sc-s818/05/2018
- bac-pratique-25052011-sc-14h18/05/2018
- BacBLANC18/05/2018
- Guide Flash02/11/2017
- demarrerAvecFl818/09/2017
- bac-pratique-20052013-tic-10h3020/05/2017
- bac-pratique-20052013-tic-8h17/05/2017
- Guide PHP05/05/2017
- BAC BLANC site voyage04/05/2017
- BAC BLANC B02/05/2017
- Guide PHP09/04/2017
Sur le même sujet
Les mots qui reviennent le plus dans ce document. Chacun lance une recherche dans les fichiers publics.
Commentaires
Pour voir les commentaires déjà publiés ou ajouter un commentaire, Connectez-vous ou Créez un compte.



