Lycée Pilote de Sousse
Devoir de Synthèse
N° 3
Année scolaire : 2011/2012
Matière : Informatique
Durée : 1H
Mr. Med Abdallah Mani
Classe : 3 sc 4
Nom & Prénom : …………………………………………………….
Note : ……. / 20
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
a) Faites le tournage à la main avec les valeurs
suivantes :
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 deuxme caracre de la chaine ch2 est une lettre
ch 1
ch2
T2
"xyz"
&
"mg5"
V
"1abf"
&
".b-"
F
"01b"
&
"658"
F
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
Pour i de 1 à N faire
Si (t[i] > 0) alors
p p * t[i]
Fin si
Fin pour
Réécrire les instructions en Pascal :
P :=1 ;
For i :=1 to n do
If t[i]>0 then
P :=p*t[i] ;
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.
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !