Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

mercredi 22 avril 2020

Baccalauréat 2017 Sujet 8 Corrigé

Program S8; Var m : string; //******************************************** Function valide(message:String) : boolean; Var i : integer; test : boolean; Begin i := 0; Repeat i := i+1; If (message[i] In ['A'..'Z',' ']) Then test := True Else test := false; Until (i>=length(message)) Or Not(test); valide := test And (length(message) Mod 2 = 0); End; //******************************************** Procedure saisir(Var message:String); Begin Repeat write('donner une chaine à coder :'); readln(message); Until valide(message); End; //******************************************** Function crypter(message:String) : string; Var i,e,x1,x2,yn1,yn2 : integer; yc1,yc2 : char; ch,ch1,aux,mcrypte,y1,y2 : string; Begin mcrypte := ''; For i:=1 To length(message) Do Begin If i Mod 2=1 Then Begin ch := '('; If message[i] In ['A'..'Z'] Then str(ord(message[i])-65,aux) Else aux := '26'; ch := ch+aux+','; End; If i Mod 2=0 Then Begin If message[i] In ['A'..'Z'] Then str(ord(message[i])-65,aux) Else aux := '26'; ch := ch+aux+')'; ch1 := '('; val(copy(ch,2,pos(',',ch)-1),x1,e); val(copy(ch,pos(',',ch)+1,length(ch)- pos(',',ch)-1),x2,e); str((((11*x1)+(3*x2)) mod 27),y1); str((((7*x1)+(4*x2)) mod 27),y2); ch1 := ch1+y1+','+y2+')'; If y1='26' Then yc1 := ' ' Else Begin val(copy(ch1,2,pos(',',ch1)- 1),yn1,e); yc1 := chr(yn1+65); End; mcrypte := mcrypte+yc1; If y2='26' Then yc2 := ' ' Else Begin val(copy(ch1,pos(',',ch1)+1, length(ch1)-pos(',',ch1)-1),yn2,e); yc2 := chr(yn2+65); End; mcrypte := mcrypte+yc2; End; End; crypter := mcrypte; End; //******************************************** Begin saisir(m); writeln(crypter(m)); End.
 
Back to top