Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

mardi 21 avril 2020

Baccalauréat 2019 Sujet 4 Corrigé

Program Fidelite1; Type Tab = Array [1..30] Of String[10]; Var TA : Tab; N : integer; //*************************************** Procedure Saisir (Var N : integer); Begin Repeat Write('Donner le nombre des adhérants :'); readln(N); Until N In [5..30]; End; //*************************************** Function Verif (CH : String) : Boolean; Var A , M , e : integer; Begin Val(Copy(CH,2,4),A,e); Val(Copy(CH,6,2),M,e); Verif := (CH[1] In ['A','J','E']) And (A >= 2000) And (A <= 2019) And (M In [1..12]) And (Length(CH)=10); End; //*************************************** Function Existe (CH : String; TA : Tab ; N : integer) : Boolean; Var i : integer; b : boolean; Begin i := 0; Repeat i := i+1; b := Copy (TA[i],8,3)=CH Until b Or (i = N); Existe := b; End; Procedure Remplir (Var TA : Tab ; N : integer); Var i : integer; Begin Repeat Write('Donner le numéro d''adhérant N° 1 : '); Readln(TA[1]); Until Verif(TA[1]); For i:=2 To N Do Repeat Write('Donner le numéro d''adhérent N° ',i,' : '); readln (TA[i]); Until Verif(TA[i]) And Not ( Existe (Copy(TA[i] , 8 , 3) , TA , i-1) ); End; //*************************************** Procedure Bonus (TA : Tab ; N : integer); Var i , A , M , e , Bon : integer; Cat : char; Begin Repeat Write('Entrer une catégorie d''adhérents : '); Readln (Cat); Until Cat In ['A' , 'J' , 'E']; For i:= 1 To N Do Begin Val(Copy(TA[i],2,4),A,e); If (TA[i][1] = Cat) And (2019-A>=5) Then Begin Val (Copy(TA[i],6,2),M,e); Bon := (2019 - A) * 12 + (5-M); Writeln ('L''adhérent N° ',Copy(TA[i],8,3),' à gagné un Bonus de ',Bon, ' heures'); End; End; End; //*************************************** Begin Saisir (N); Remplir (TA , N); Bonus (TA , N); End.
 
Back to top