Cette feuille est à rendre à la fin de l’épreuve Nom : ………….…………… Prénom : ………….…………… Classe : 4 PARTIE I : (8 points) Exercice 1 : (4 points)
èm e
……… N ° : …………
Soit le code en Pascal de la fonction suivante :
Function Inconnu (N, V : Integer ; T : Tab) : ............... Var.................................. Begin Debut: = 1; Fin: = N;
Repeat
Milieu := (Debut + Fin) Div 2 ; I f (V < T [Milieu]) Then Debut := Milieu + 1
Else
Fin := Milieu - 1 ; Until ( ( T [ Milieu ] = V )
Or ( Debut > Fin ) ) ;
I f (T [Milieu] = V) Then Inconnu := Milieu Else Inconnu : = -1 ; End; a - Compléter le code de cette fonction. b - Exécuter manuellement cette fonction pour V = 15 et le tableau T suivant : T
1
2
3
4
5
6
7
8
9
32
25
20
15
12
11
9
6
3
Milieu Debut
1
Fin
9
c - En déduire le rôle de cette fonction. ……………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………
d - Transformer la boucle Repe at ... ... Until en une boucle Wh ile ... do . …………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………
Exercice 2 : (2 point) Soit les déclarations Pascal suivantes :
Type meuble= (chaise, table, bureau, banc) ; Marge= 1..55 ;
Var m : meuble ; mar : marge i : integer ; achat :string ; Compléter le tableau ci-dessus en mettant « X » dans dans la colonne « Affectation permise » si l’affectation est permise ou dans la colonne « Affectation non permise » dans le cas contraire »
Affectation
Affectation permise
Affectation non permise
m := 'table' ; achat := 'lit'+'table'; m :=succ(banc) ; i :=ord(m) ; mar :=2*i+1
Exercice 3: (2 point) Soit la procédure suivante:
Procedure P (c :Char ;Ch :String ; Var Pos :integer) Function F ( …………………):……………….; Var i:integer; Var ................................................ Begin Begin Pos:=0; i:=0;
Repeat
Pos:=0; i:=0;
Repeat
i:=i+1;
i:=i+1;
I f (Ch[i]=c) then
I f (Ch[i]=c) then
Pos:=i;
Until (Pos0) o r (i=length(ch)); End;
Pos:=i;
Until (Pos0) o r (i=length(ch)); ………………………;
End; 1- Transformer cette procédure en une fonction tout en effectuant les modifications nécessaires 2-
a- Exécuter la fonction F pour la valeur de c= ‘a’ et la valeur de Ch= ‘bacblanc’ …………………………………………………………………………………………………………………………………………. b- En déduire la fonction prédéfinie Pascal qui fournie fournie le même résultat que la fonction F. ……………………………………………………………………………………………………………………………………………
PARTIE II (12 points) On se propose d’écrire un programme qui affiche le classement final des équipes du championnat du football de la ligue 1 de la Tunisie. Le championnat est formé par M équipes (1 0
≤ M ≤ 14 )
ou chacune jouera (2M-2) matchs : (M-1)
matchs en phase de l’allée et (M-1) matchs en phase de retour. Pour cela on vous demande de :
Remplir un tableau Equipes avec les noms des équipes qui doivent être des chaînes alphabétiques distinctes (un nom d’équipe existe une et une seule fois dans le tableau Equipes).
Saisir dans trois tableaux G, N et P le nombre de matchs gagnés, nuls et perdus pour chaque équipe durant toute la saison sportive.
Placer le nombre de points accumulé par chaque équipe dans un tableau Points .
: Le nombre de points attribué pour chaque équipe est de trois pour un match gagné, u n pour un match nul et zéro pour un match perdu.
Classer les équipes par ordre de mérite (l’ordre de mérite signifie le classement par ordre décroissant sur les nombres de points).
Afficher la grille du classement final du championnat.
: On ne traitera pas le cas d’ex-æquo.
Exemple: Pour faciliter les choses on prend comme exemple M=6 Equipes
1
2
3
4
5
M =6
"ESS"
"OB "
"EST”
"CSS"
"CA"
"USM"
1
2
3
4
5
6
5
2
8
5
6
6
1
2
3
4
5
6
3
4
1
2
3
2
1
2
3
4
5
6
P
2
4
1
3
1
2
Points
1 18
2 10
3 25
4 17
5 21
6 20
G N
Après le classement le continu des deux tableau Equipes et Points devienne comme suit :
Equipes
Points
1
2
3
4
5
M =6
"EST"
"CA"
"USM”
"ESS"
"CSS"
"OB"
1 25
2 21
3 20
4 18
5 17
6 10
Classement final du championnat Rang
Équipe Équipe
Pts
1)
EST
25
2)
CA
21
2)
USM
20
3)
ESS
18
4)
CSS
17
6)
OB
10
Questions: 1 ) Analyser le problème en le décomposant en modules. 2 ) Analyser chacun des modules envisagés ainsi que le programme principal. 3 ) Déduire de ce qui précède l'algorithme du programme principal ainsi que les algorithmes des modules envisagés.
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.