Soit l`algorithme suivant

publicité
Année scolaire : 2011/2012
Lycée Pilote de Sousse
Matière : Informatique
Devoir de Synthèse
Mr. Med Abdallah Mani
N° 3
Nom & Prénom : …………………………………………………….
Exercice 1.
Soit l’algorithme suivant :
0) Début Vérification
1)
Ecrire ("Taper SVP une chaine ")
2)
Lire (ch1)
3)
Ecrire ("Taper SVP une 2ème chaine ")
4)
Lire (ch2)
5)
T2  Upcase(ch2 [1]) Dans [ ‘A’..’Z’]
6)
T1  ch1 [1] Dans [ ‘0’..’9’]
7)
Ecrire ("Vérification de ch1 : ", T1)
8)
Ecrire ("Vérification de ch2 : ", T2)
9)
Fin Vérification
Durée : 1H
Classe : 3 sc 4
Note : ……. / 20
a) Faites le tournage à la main avec les valeurs
suivantes :
ch 1
"xyz"
"1abf"
"01b"
T1
F
V
V
&
&
&
ch2
T2
"mg5" V
".b-"
F
"658" F
b) Donner le rôle de l’algorithme
Tester si le premier caractère de la chaine ch1 est un chiffre et
tester si le deuxième caractère de la chaine ch2 est une lettre
Exercice 2.
1) Compléter les affectations suivantes par un opérande ou un opérateur de manière à affecter dans chacun des
cas, à la variable booléenne « Y » la valeur « true ». (2 pts)
1. Y:= (ROUND (9.49) = ………………6……..) ;
2. Y := (UPCASE ( ‘0’ ) IN [ ‘A’..’Z’ ] ) …and..(5 IN [1..10] ) ;
3. Y :=( LENGTH ( ‘Pascal’ ) div 3 < ……2….) ;
4. Y := (CONCAT (‘bac’,’2010’) = ’bac’…+..’2010’ ;
2) Corriger les erreurs dans les déclarations ci-dessous. (2 pts)
1. Var Jour-pair : (lundi, mercredi , vendredi) ;
Type Jour-pair =(lundi, mercredi , vendredi) ;
2. Var char : ’A’..’Z’ ;
Type c = ’A’..’Z’ ;
3. Type Voyelle = [‘a’ ‘e’ ‘o’ ‘i’ ‘u’ ‘y’] ;
Type Voyelle = (a,e,o,i,u,y) ;
4. Type tab = array [2.5 .. 10] of char ;
Type tab = array [1 .. 10] of char ;
3) Soit l’algorithme suivant :
P 1
Réécrire les instructions en Pascal :
Pour i de 1 à N faire
P :=1 ;
Si (t[i] > 0) alors
For i :=1 to n do
p p * t[i]
If t[i]>0 then
Fin si
P :=p*t[i] ;
Fin pour
1) Donner la valeur finale de P pour le tableau T suivant :
T
-5
2
-3
4
1
-6
P = ………8…………
2) Qu’elle est le rôle de cet algorithme : …………multiplier les entiers positifs d’un tableau t et mettre le
résultat dans p...............
Exercice 4.
Ecrire une analyse, un algorithme et la traduction en Pascal d'un programme intitulé "SOMME_CHIFFRES", qui permet
de lire une chaîne de caractères CH commençant obligatoirement par une lettre alphabétique majuscule (et supposée
composée par des lettres et des chiffres), détermine et affiche l'entier S formé par la somme des chiffres qui figurent
dans la chaîne CH.
Exemple:
Pour CH='Ali12abc26' la valeur de S est 1+2+2+6 = 11 Le programme affichera le résultat suivant : S = 11
Algorithme
Traduction Pascal
program somme_chiffr;
uses wincrt;
var
ch:string;
s,i,x:longint;
e:integer;
begin
writeln('Donner une chaine');
readln(ch);
s:=0;
for i:=1 to length(ch) do
if ch[i] in ['1'..'9'] then
begin
val(ch[i],x,e);
s:=s+x;
end;
writeln(ch);
writeln(s);
end.
Téléchargement