Exercice1 :
Préciser le type de Y dans chaque cas :
1) Y := Copy (ch, 3, 6) ;
2) Y := Pos(ch2, ch1) + length (ch3);
3) Y := CHR(ORD (‘n’)) ; 4) Y := Trunc (8.25) + Round
(1.57);
5) Y := True ;
6) Val (’10,556’,Y,e) ;
7) Y := Concat
(‘31’,’-’,’10’,’-’,’77’) ; 8) Y := 24 MOD 5 / 3 ; 9) Y := SUCC(‘5’) ;
10)Y := SQRT(ABS(-13)) ; 11)Y := ‘A’+ SUCC(‘a’) ;
Page 1 sur 7
Exercice2 :
Evaluer les expressions suivantes, Avec : A = 8, B = 10, C = -4 et ch = "4 mathématique 01"
1) Long (ch) > B 2) Majus (ch[3]) ="M"
3) Position ((ch[1]), ch) = 1 4) (Position ("a", ch) > A) 5) Succ(ch[B]) = "s"
6) Long(Sous-chaîne (ch, Position ("m", ch), Abs (C))) = Abs (C) 7) (Long (ch) – Position ("h", ch) < B) ET (Position ("m", ch) > C) 8) (Majus (Succ (ch [A])) = "N") OUex (Succ (ch [5]) = ch [13])
9) (Position ("01", ch) > Abs(C)) ET (Long (Sous-chaîne (ch, 3, 12)) > B) 10) (Succ (ch [16]) = ch [17])) OU (ch [B] > majus (ch [A])) ET (ch [A + C] = "t") 11) (ch [Abs (C)] < "A") ET ((ch [Long (ch)] = ch [A + B -1]) OU (Pred (ch [3]) = "n"))
Exercice3 :
Soit le code Pascal suivant (Avec n est un nombre de trois chiffres) :
Program exercice3 ; Uses wincrt ;
Var Ch : string ; C : char ; n, p : integer ; Begin ;
Read (n) ;
STR (n, ch) ; C := Ch[1] ; Ch[1] := Ch[3] ; Ch[3] := C ; Val (Ch, n, p) ; Writeln (n) ; End.
Expliquer le résultat de ce code, et donner un exemple.
Exercice 4 :
soit l'algorithme suivant:
0. Début exe1
1. x 10 / (2-1) + 4*(5 mod 3) 2. y ord (65) + Tronc(x*2) 3. Valeur ("32.6", Z, E) 4. J x > z
5. K j et (3≠z) 6. Convch
(z+2, h)
7. T SousChaine ("Devoir de contrôle N°1", 10, 8)
8. Fin exe1
Question
donner la valeur et le type de chaque variable variables Types Valeurs x
y z E j k h T
EXERCICE N° 5
Evaluer les expressions suivantes.
NOT((6<2) AND (- 4 >10)) ………
(6 = 6) or (INT(-2.3) > -3) ………
(UPCASE (‘a’) <> UPCASE(‘A’)) AND (LENGHT (‘bac’) = 3) ………
Trunc(3.55) * 4 DIV 2 ………
Frac(12.5) + 5 MOD 23 ………
15 MOD ROUND(3.5) ………
CHR(ORD (‘A’)) ………
CHR(ORD( PRED(‘B’)) ………
ODD (3) ………
RANDOM(12) ………
EXERCICE N° 6
5
1) Evaluer CH CH1 "12"
CH2 "17"
CH3 "2011"
CH CONCAT(ch2,"/",ch1,"/",ch3)
……….……….
2) Evaluer L
L LONG("Devoir de contrôle")
………..
3) Evaluer CH
mot "Informatique"
CH SOUS-CHAINE(mot,6,3)
………..
4) Evaluer X
mot1 "Informatique"
mot2 "mat"
X POS(mot2,mot1)
……….……….
5) Evaluer mot2 mot1 "Info"
mot2 "Informatique"
EFFACE(mot2, Long(mot1), 5)
……….
6) Evaluer mot1
mot1 "Informatique"
mot2 "matique"
INSERE (mot2,mot1,POS(mot2, mot1))
………..………
7) Evaluer CH STR(2006,CH)
……….
8) Evaluer d et e ch "31/10/2011"
VAL(ch,d,e)
………
…
EXERCICE N° 7
Soit le programme suivant : Program erreurs ;
Type
Eleves : (Ali, Safa, Sami, Wissem, Kamel) ; Moyenne = 0 .. 20 ;
Page 6 sur 7
Var
E1 : eleves ; E2 : eleves ; N1 : moyenne ; N2 : moyenne ; Reussir : boolean ; Begin
E1 := "Safa" ;
N1 := ORD(Kamel) + 2 * succ(Ali) ; E2 := Sami ;
N2 := 15 ;
Reussir := (n2 > 10) ; End.
1) Corriger les erreurs du programme Pascal ci-dessus.
2) Evaluer les variables utilisées dans le programme.
EXERCICE N° 8
Soient les déclarations pascal suivantes : Type
Jours_semaine = ( Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, dimanche) ; Langues_etrangeres = (Italien, Anglais, Espagnol, Allemand) ;
Var
Aujourdhui, jour : Jours_semaine ; Langue : Langues_etrangeres ; Res : boolean ;
N : integer ;
Compléter le tableau ci-dessous en mettant une croix dans la colonne valide ou dans la colonne non valide pour chaque instruction. Justifier votre réponse pour les instructions non valides.
Instruction Valide Non valide Justification
Readln(jour) ; Langue :=Anglais ;
Aujourdhui := Dimanche ; Writeln(langue) ;
Res := aujourdhui < jour ; N :=ord(langue) ;
Page 7 sur 7