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'évaluation

Les 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

 

 

 

 

 

Accueil | 1er Stage | 2ème Stage | 3ème Stage | TOI | AOI | IOI | Edunet