Lycée Pilote de Sousse
Devoir de Contrôle N° 2
Année scolaire : 2011/2012
Matière : Informatique Durée : 1H
Mr. Med Abdallah Mani Classe : 4 Tech
Nom & Prénom : ……….
Note : ……. / 20
Exercice 1. (4 points)
Soit la fonction suivante écrite en Pascal :
FUNCTION Traitement (d, f : integer ; T : tab) :integer ; VAR
m :integer ; BEGIN
m : = d;
FOR i : = d + 1 TO f DO IF T[i] < T[m] THEN
Begin
m : = i;
End;
Traitement : = m;
End;
Questions:
1/ Déterminer et compléter le nom et le type de cette fonction ainsi que la partie déclaration des variables locales.
2/ Quelle est la valeur renvoyée par la fonction Traitement si d=2, f=5 et le tableau T contient les éléments suivants :
T -10 5 0 -6 10 13
i 1 2 3 4 5 6
………traitement =4………
3/ Quel est le rôle de cette fonction ?
………rechercher le l’indice du minimum dans la partie du tableau T entre l’indice d et f………
4/ Compléter le tableau suivant :
Fonction Résultat
Trunc (10.23) 10
Round (10.50) 11
Frac (10.23) 0.23
Int (10.23) 10.00
Exercice 2. (4 points)
Proposer deux solutions au problème en utilisant 2 structures itératives différentes
Enlever tous les espaces d’une chaîne de
caractère.
Exemple : Si
ch = ‘Le devoir est facile’
Après exécution, Ch sera : ch = ‘Ledevoirestfacile’
Solution1
program espace ; uses wincrt;
var ch: string ; i,n : integer ;
begin
writeln('Donner une chaine :');
readln(ch);
n:=length(ch);
for i:=1 to n do begin if ch[i]=' ' then delete(ch,i,1);
n:=length(ch);
end;
writeln('la nouvelle chaine est : ', ch);
end.
Solution2
program espace ; uses wincrt;
var ch: string ; i,n : integer ;
begin
writeln('Donner une chaine :');
readln(ch);
n:=length(ch);
i:=1;
while i<=n do begin if ch[i]=' ' then
delete(ch,i,1);
inc(i);
n:=length(ch); end;
writeln('la nouvelle chaine est : ', ch);
end.
Solution3
program espace ; uses wincrt;
var ch: string ; i,n : integer ;
begin
writeln('Donner une chaine :');
readln(ch);
n:=length(ch);
i:=1;
repeat if ch[i]=' ' then
delete(ch,i,1);
inc(i);
until (i>length(ch));
writeln('la nouvelle chaine est : ', ch);
end.
Problème (12 points)
Ecrire un programme intitulé Insertion qui permet de :
- saisir une chaîne CH (minimum 10 caractères maximum 20 caractères) - de trier les éléments par code ASCII
- de lire un caractère C et vérifier son existence dans la chaîne : s’il existe, afficher à quelle position, sinon, l'insérer à sa bonne position dans la chaîne et afficher le résultat d'insertion.
Exemple : Pour CH = " Bacblanc2012"
Si C = "B"
Alors le programme affiche la chaîne : ‘B existe à la position 5’.
Si C = "A"
Alors le programme affiche la chaîne : "0122ABaabccln"
Questions
1. Analyser ce problème en le décomposant en modules (programme principal ainsi que chacun des modules envisagés).
2. En déduire les algorithmes correspondants.