• Aucun résultat trouvé

Correction_Examen_4SC_2019 – Proposée par : Karim Rjab

N/A
N/A
Protected

Academic year: 2022

Partager "Correction_Examen_4SC_2019 – Proposée par : Karim Rjab "

Copied!
3
0
0

Texte intégral

(1)

Correction_Examen_4SC_2019 – Proposée par : Karim Rjab

1

Exercice 1 :_________________________4 pts_______________________

1. a).

F F F V

b).

F F

V F

F F

F F

NB : Exemple :

C2 ="bnb" **** C1="b" ==> C3=2 C2 ="bnb" **** C1="B" ==> C3=2 C2 ="122" **** C1="2" ==> C3=2

 Quel est le rôle correcte parmi les 4 propositions dans l’exercice ? Donc, on peut avoir une réponse comme ceci : F F F F 2. a). La séquence qui permet de calculer de déterminer le terme Un avec n ≥ 0 est :

V F V V

NB : On a plus qu’une seule réponse correcte. Alors, on doit dire ‘’La (Les) séquence(s)’’ ! Demander une seule réponse correcte et il y’on a plusieurs correctes. A vous de commenter !

b).

DEF FN Suite ( n : Réel ) : Réel DEF FN Suite ( n : Entier ) : Entier

F F

DEF FN Suite ( n : Entier ) : Réel DEF FN Suite ( n : Réel ) : Entier

V F

NB : On ne peut pas utiliser DEF FN Suite (n : Réel) : Réel car N doit être de type scalaire donc Entier

Exercice 2 :______________________3 pts__________________________

1) Le tableau est :

x nb

5403 4

176 3

3 1

2) Cet algorithme permet de retourner le nombre des chiffres de l’entier x.

3) Convch(x , ch) , nb  Long(ch)

NB : En posant la question, on dit en utilisant des fonctions ou des procédures prédéfinies c’est mieux. A vous de commenter !!!

Devoirs et examens sur : www.Kiteb.net

(2)

Correction_Examen_4SC_2019 – Proposée par : Karim Rjab

2

Problème :_______________________13 pts__________________________

1. Analyse du programme principale : Nom = Probeme TDNT :

Résultat= Proc Afficher(Ident,Date,Code,n) Proc Generer(Date,Code,n)

Proc Stocker(Ident,Date,n) Proc saisir(n)

Fin Probleme // Quel est l’utilité du tableau Ident dans ce problème ? TDOG :

2. Procédure Saisir : // Saisir le nombre des cartes 0- DEF PROC Saisir( var n : Entier)

1- Répéter

Ecrire(‘’ Le nombre des cartes : ‘’) , Lire(n) Jusu’à ( n dans [3..50] )

2- Fin Saisir

3. Procédure Stocker : // Remplir les tableaux Ident et Date 0- DEF PROC Stocker (Var Ident , Code : Tab1 ; n : Entier) 1- Pour i de 1 à n faire

Répéter

Ecrire(‘’ l’identifiant de la carte : ‘’) , Lire(Ident[i]) Jusu’à ( FN ValideCarte(Ident[i]) = Vrai )

Répéter

Ecrire(‘’ Taper la date : ‘’) , Lire(Date[i]) Jusu’à ( FN ValideDate(Date[i]) = Vrai )

Fin Pour

2- Fin Stocker

TDOL : Stocker

Obj T/N Rôle

i

ValideCarte ValideDate

Entier Fonction Fonction

Compteur

Vérifier l’identifiant : des chiffres et taille = 8 Vérifier la date : j/M avec j (1..31) et M (1..12)

4. Fonction ValideCarte :

0- DEF FN valideCarte (ch: chaîne): booléen 1- J  1

2- Tant que(ch[j] dans [''0''..''9''])et(j<=length(ch)) faire j  j + 1

Fin Tant que

3- valideCarte  ( j > long(ch) ) et ( long(ch) = 8 ) 4- Fin ValideCarte

TDOL : ValideCarte

Obj T/N Rôle

j Entier Compteur

Type

Tab1 = tableau de 50 chaînes Tab2 = tableau de 50 entiers

Objet T/N Rôle

n Ident Date Code Saisir Stocker Generer Afficher

Chaîne Chaîne Proc Proc Proc Proc Proc Proc

Nombre des cartes

Tableau des identifiants Tableau des dates

Tableau des codes

Saisir le nombre des cartes

Stocker les identifiants et les dates Générer les codes des cartes

Afficher les informations des cartes

Devoirs et examens sur : www.Kiteb.net

(3)

Correction_Examen_4SC_2019 – Proposée par : Karim Rjab

3 5. Fonction ValideDate :

0- DEF FN valideDate (ch: chaîne): booléen 1- Si (Pos(‘’/’’,ch) <> 0 ) Alors

Valeur( Sous-chaîne(ch , 1 , Pos(‘’/’’,ch)-1) , J , e )

Y  Sous-chaîne(ch , Pos(‘’/’’,ch)+1 , long(ch) - Pos(‘’/’’,ch)) Valeur( Y, M, e)

valideDate  ( J dans [1..31] ) et ( M dans [1..12] ) Sinon valideDate  Faux

Fin Si

2- Fin ValideDate TDOL : ValideDate

Obj T/N Rôle

J M Y e

Entier Entier Chaîne Entier

Jour Mois

Partie Mois en chaîne

Erreur si la conversion est fausse

6. Procédure Afficher : // Afficher les informations complètes des cartes 0- DEF PROC Afficher(Ident, Date : Tab1 ; Code : Tab2 ; n : Entier) 1- Pour i de 1 à n faire

Ecrire(Ident[i],‘’ : ‘’,Date[i],‘’ : ‘’,Code[i]) Fin Pour

2- Fin Afficher

TDOL : Afficher

Obj T/N Rôle

i Entier Compteur

7. Procédure Generer : // Générer le tableau Code à partir du tableau Date 0- DEF PROC Generer(Date : Tab1 ; Var Code : Tab2 ; n : Entier)

1- Pour i de 1 à n faire

ChJ  Sous-chaîne(Date[i] , 1 , Pos(‘’/’’, Date[i])-1) // Jour Effacer (Date[i] , 1 , Pos(‘’/’’, Date[i]) ) // effacer Jour/

ChM  Date[i] // Mois

Valeur(concat(ChJ , ChM) , CD , e) // Jour et Mois X  Aléatoire(60) + 5 // Nombre aléatoire CD  CD * X

Si ((CD >= 1000) et ( CD <= 9999)) Alors // cd de 4 chiffres CD  (CD Mod 1000)*10 + CD Div 1000

Sinon Si ( CD < 1000 ) Alors // cd inférieur 1000

Tant que ( CD < 1000 ) faire // Ajouter des 0 si cd < 1000

CD  CD * 10

Fin Tant que

Sinon // cd supérieur à 1000

convch(CD,ch) , valeur(sous-chaîne(ch,1,4),a,e) Effacer(ch,1,4) , valeur(ch,b,e) , CD  a + b Fin Si

Code[i]  CD // Affectation du code dans le tableau Code Fin Pour

2- Fin Generer TDOL : Generer

Obj T/N Rôle

i , a , b CHj, ChM CD

e, X ch

Entier Chaîne Entier long

Entier Chaîne

Compteur, variables Auxiliaires Le jour, Le mois

Le code

Erreur, Nb aléatoire Variable auxiliaire

Devoirs et examens sur : www.Kiteb.net

Références

Documents relatifs

2) Un article qui coûtait 100 DT, subit une hausse de 15% puis une nouvelle hausse de 5%. 1) Déterminer la production en mille tonnes en 2002. a) Déterminer la production en

Une urne contient boules blanches et rouges indiscernables au toucher. I) On tire au hasard et successivement boules de l’urne en remettant chaque fois la boule tirée

[r]

1 ) Montrer que le triangle OAB est rectangle isocèle... Interpréter graphiquement le

[r]

caractères sexuels secondaires ne sont pas affectés. L’examen de ses testicules montre des tubes séminifères réduits avec beaucoup de lumières. 1) Analyser ces résultats

Recopier sur sa copie le numéro de la question et indiquer la réponse correcte pour chaque question, sachant qu’une réponse correcte rapporte 1 point, l’absence de réponse,

3) À l’aide d’un quadrillage, dessiner toutes les configurations possibles pour la partie droite puis en déduire la probabilité de choisir la configuration correcte parmi