Page 1/4 Lycée : Sidi Bou Ali Enseignant : Mr Najeh Souguir
Lycée : Akouda Enseignant : Mr Ibrahim Touzri Lycée : Abou Al-Kacem Achabbi Kalâa Kébira Enseignants: Mr Kais Layouni & Mr Nizar Dhifallah
Lycée:Ali Bourguiba Kalâa Kébira Enseignants : Mr Anouar Sghayer & Mr Naoufel Kaafar Lycée : Hammam Sousse Enseignant : Mr Fethi Hemmami
Lycée : Hammam Sousse 2
Enseignants :Mr Mohamed Gandouz & Mr Khalifa Brika
Examen du BAC BLANC
EPREUVE : INFORMATIQUE
4ème Scientifiques
(Maths, Sciences expérimentales et Techniques)
DATE : Mardi 12 mai 2015 DUREE : 1 H 30 Nom & prénom : ……..……… Classe : 4
ème………….. Note : ……../20 Partie1 : 8 points
Exercice 1: (0.5+0.5+0.5+0.5+1=3 points)
Soit le module ci-contre :
1) Compléter la déclaration de la variable manquante.
2) Quelles valeurs obtenues après l’appel de la Procédure Inconnu avec a=10 et b=20.
a =10 , b =20
3) Quelle est la modification à effectuer sur la procédure pour avoir une permutation entre le contenu de a et b.
(Réécrire la ligne à modifier)
Procedure Inconnu (VAR a :integer ;VAR b :integer) ; 4) Soit le programme principal suivant :
Précisez quel est l’appel correct de la procédure inconnu (appel 1 ou appel 2) : Inconnu(x,y); { appel 2 } 5) Quels sont les paramètres formels et les paramètres effectifs pour ce programme.
Paramètres formels Paramètres effectifs a
b
x y
Procedure Inconnu ( a :integer ; b :integer) ; Var
aux : integer ; begin
aux :=a ; a :=b ; b :=aux ; end ;
Program exercice1;
Uses wincrt;
Var
x ,y :integer ; a,b :real ;
……. { Définition de la procédure Inconnu } begin
Inconnu (a,b); { appel 1 } Inconnu(x,y); { appel 2 } End.
Corrigé
Cours d'informatique en ligne :www.Cours-Informatique.tnwww.Cours-Informatique.tn
Bac Blanc Informatique Mai 2015-Corrigé- 4ème Scientifiques (Maths, Sciences expérimentales et Techniques)
Page 2/4
Exercice2 : (1.5 + 0.5 = 2 points)
Soit la fonction Pascal suivante :
1) Remplir les pointillés par les mots convenables.
2) Donner le résultat renvoyé par la fonction Somme pour les valeurs suivantes : a = 10 et b = 8 7
Exercice 3 : (1.75 + 1.25 = 3 points)
a) Utiliser le type scalaire énuméré non standard et le type intervalle pour déclarer (en Pascal ) les types suivants:
• Notemusique définit par les identificateurs suivant : do , re , mi , fa , sol , la , si
• Triolet issu de type Notemusique définit par l’intervalle do..mi
• Mois définit par l’intervalle 1..12
Type
Notemusique= (do, re, mi, fa, sol, la, si) ; Triolet=do..mi ;
M1 :1..12 ;
b) Soit les déclarations de variables suivantes : Var
N1 ,N2 : Notemusique ; N3 : Triolet ;
M1 : Mois ;
Précisez la validité des instructions suivantes par le mot Vrai ou Faux Instructions Vrai / Faux
Writeln(do) ; Faux
M1 := 14 ; Faux
N3 := sol ; Faux
Writeln(ord(re)) ; Vrai
N2 :=succ(la) ; Vrai
Function Somme (a , b : integer) : integer ; Var
p: integer ;
Function Produit (n : integer) : integer ; Var
q , r : integer begin
q := n div 3;
r := n mod 3;
Produit := q*r ; End ;
Begin
P := Produit(a) + Produit(b) ; Somme := p ;
End ;
Cours d'informatique en ligne :www.Cours-Informatique.tnwww.Cours-Informatique.tn
Bac Blanc Informatique Mai 2015-Corrigé- 4ème Scientifiques (Maths, Sciences expérimentales et Techniques)
Page 3/4
Partie 2: (12 points)
Le code de César (utilisée dans l'armée romaine) est la méthode cryptographique la plus ancienne. Le code de César a été réemployé avec l'avènement d'Internet et des forums de News USENET, à travers le ROT-13 (rot-ation de 13 lettres ou A
→N...), il s'agit d'un décalage de 13 caractères de chaque lettre du texte à chiffrer.
Caractère clair A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Caractère chiffré N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
●
L'avantage de ROT13, est que si on applique deux fois de suite le chiffrement, on obtient comme résultat le texte en clair. C'est la même méthode qui est utilisée pour le chiffrement et
le déchiffrement.*********
On se propose d’écrire un programme qui permet de saisir un message ne dépassant pas 5 mots
1, puis le crypter
2suivant la méthode de ROT-13 et l'afficher puis le décrypter et enfin afficher le résultat non crypté.
Sachant que : ord("A")=65 , ord("Z")=90
1 : On suppose que le message est en majuscule et ne commence pas et ne se termine pas par un espace et les mots sont séparés par un seul espace.
2:Il faut chiffrer les lettres et garder inchangé les autres caractères (lettres accentuées, chiffres, symboles et ponctuation).
Exemple d'exécution:
Donner un message (5 mots max): BONNE CHANCE BAC 2015 Le message crypté en ROT-13 est : OBAAR PUNAPR ONP 2015 Le message décrypté est : BONNE CHANCE BAC 2015
Questions :
1. Analyser le problème et le décomposer en modules.
2. Analyser chacun des modules de la question 1.
Cours d'informatique en ligne :www.Cours-Informatique.tnwww.Cours-Informatique.tn
Bac Blanc Informatique Mai 2015-Corrigé- 4ème Scientifiques (Maths, Sciences expérimentales et Techniques)
Page 4/4
Problème:
Analyse du programme principal:
Nom: codage
Résultat= Écrire("Le message décrypté est ", msg2) msg2← FN crypter(msg1)
écrire("Le message écrit en ROT-13 est ", msg1) msg1← FN crypter(msg)
msg=Proc saisir(msg) Fin Codage
T.D.O.Globaux
Objet Type/Nature Rôle
msg2 crypter
msg1 msg saisir
chaîne fonction
chaîne chaîne procédure
contient le message décrypté
permet le cryptage/décryptage des messages contient le message crypté
contient le message saisi
Permet de saisir un message de 5 mots au maximum.
Analyse de la procédure saisir:
DEF PROC saisir( var ch:chaîne ) Résultat= [ ] Répéter
ch=Donnée("Donner un message (5 mots max) :") [nb←0] pour i de 1 à long(ch) faire si ch[i]=" " alors nb←nb+1 Finsi
FinPour
jusqu'à ( nb <= 4 ) Fin Saisir
T.D.O.Locaux
Objet Type/Nature Rôle
nb i
entier entier
nombre des espaces dans la chaîne compteur
Remarque: Le nombre des mots dans la chaîne c'est(le nombre d'espaces + 1), puisque chaque deux mots sont séparés par un espace.
Analyse de la fonction Crypter:
DEF FN crypter( ch : chaîne ) : chaîne Résultat= crypter ← chc
chc= [chc←ch] pour i de 1 à long(ch) faire si ch[i] dans ["A".."M"] alors
chc[i]←CHR( ORD(ch[i]) + 13) sinon
si ch[i] dans ["N".."Z"] alors chc[i]←CHR( ORD(ch[i]) – 13) sinon
chc[i]←ch[i]
Finsi FinPour
Fin Crypter T.D.O.Locaux
Objet Type/Nature Rôle
chc
i chaîne
entier contient la chaîne cryptée compteur
Cours d'informatique en ligne :www.Cours-Informatique.tnwww.Cours-Informatique.tn