Lycée Pilote de Sousse Matière : Informatique
Date : 05/03/2007 Durée : 1 h 30
Classes : 4 èmes Devoir commun
Nom&Prénom : . . . Classe : . . .
DEVOIR DE SYNTHESE N° 2
Cette feuille est à remettre à la fin de l’épreuve
EXERCICE 1 :
(4 Points)Etant donnée la grille d’analyse d’une procédure FUSION de deux tableaux d’entiers T1 et T2 triés dans l’ordre croissant.
DEFPROC FUSION ( . . . N1: . . . . ; . . . T1: . . . . ; . . . N2: . . . . ; . . . T2: . . . . ; . . . N: . . . . ; . . . T : . . . . )
S LDE O.U
1
2
Résultat = . . . . . . = [ ] Répéter
[i 1 , j 1, N 0 ] SI T1[ i ] < T2[ j ] Alors N N+ 1 T[N] T1[ i ] i i + 1 Sinon N N+ 1 T[N] T2[ j ] j j + 1 FinSi
Jusqu’à ( N = . . . ) Fin Proc FUSION
. . .
. . .
Travail Demandé :
1. Compléter la procédure précédente ainsi que le tableau de déclaration des objets.
2. Ecrire la procédure d’affichage du tableau obtenu.
EXERCICE 2 :
(2 Points)On vous demande d’effectuer ce travail en utilisant l’énoncé de la page suivante : 1. Exécuter ces différents appels de la fonction :
X := Som_pari ( 0 , 3 , 7 , T ) X= . . .
X := Som_pari ( 1 , 2 , 6 , T ) X= . . .
X := Som_pari(Abs (Som_pari (1 , 2 , 6 , T ) - Som_pari (0 , 3 , 7 , T )) , 1, 5 , T) X= . . . 2. Donner le rôle de la fonction Som_pari :
. . . . . . La fonction à utiliser est la suivante:
1
On donne le tableau T suivant :
4 3 5 10 8 7 9 12
i : 1 2 3 4 5 6 7 8
PROBLEME :
(14 Points)On se propose d’écrire une analyse modulaire permettant de coder une chaîne de caractères CH ne contenant que des lettres alphabétiques (au moins deux lettres) et avec des espaces ou non.
Après la saisie de la chaîne, on doit procéder à l’élimination des espaces superflus (en plus).
Le codage se fait en utilisant un tableau T de N entiers strictement positifs (avec N=long (CH) après élimination des espaces superflus).
Le principe consiste à coder chaque caractère de CH par le caractère ayant son code ASCI I + T[ i ] Exemple:
CH =
’EpreuveBacthéorique’
où le caractère’
’ représente l’espace dans la chaîne.Après élimination des espaces superflus, on obtient CH =
’EpreuveBacTheorique’
. Soit le tableau T de taille N = long (CH) = 213 2 5 1 3 2 4 1 7 2 5 1 5 6 2 3 5 3 1 4 8
On obtient CH =
’Hrwfxxi!Ich!Yngrwlrym’
Travail Demandé :
1. Décomposer le problème en au moins deux modules.
2. Analyser le programme principal ainsi que chacun des modules proposés en 1.
3. Déduire un algorithme pour le programme principal ainsi que pour chacun des modules analysés.
2 Function som_pari ( p , p1 , p2 : integer ; T : tab ) : integer ;
Var s , i : integer ; Begin
s := 0 ;
For i := p1 to p2 do
If T[ i ] mod 2 = p then s := s + 1 ; Som_pari := s ;
End ;