|
TOI
|
1ère Olympiade Tunisienne d'Informatique Ariana, 19 avril 2003 |
|
Une solution du problème 2 (CODES) program codes; uses wincrt; Var ch : string; nc : integer; function coder(m : integer; ch_org:string):string; var i,j,k,l,d : integer; p,db,nb_bloc : integer; ch_out : string; begin l:=length(ch_org); d:=sqr(m)-(l mod sqr(m)); if d<>0 then begin For i:=1 to d do ch_org:=ch_org+' '; end; ch_out:=ch_org; nb_bloc:=length(ch_org) div sqr(m); p:=1; For i:=1 to nb_bloc do begin db:=(i-1)*sqr(m) + 1; for j:=0 to m-1 do begin for k :=0 to m-1 do begin ch_out[p]:=ch_org[db+j+k*m]; p:=p+1; end; end; end; coder:=ch_out; end; procedure saisie(var m :integer; var txt_coder:string); begin repeat write('Donner un entier entre 1 et 5 : '); readln(m); until m in [1..5]; write('Saisir le texte ŕ coder : ');readln(txt_coder); writeln; end; begin saisie(nc,ch); writeln('le texte codé sera : ',coder(nc,ch)); end. Le jeu de tests pour l'évaluationLes 5 tests pour le programme CODES (20 points par test) Test 1 4 a a Test 2 4 olympiade ope li ya md Test 3 2 je joue j ejoeu Test 4 3 je tiens à participer. Jtneis e àai rcptip. e r Test 5 9 le programme doit refuser cette valeur
|
|