Une solution de l'exercice 3 du TP6 d'informatique en DEUG MIAS+MASS S1

PROGRAM tp6exc3 ;

CONST nmax = 50 ;

VAR i,k,autres : integer ;
    T : array[1..nmax] of char ;
    c :  char ;

BEGIN
(* remplissage du tableau *)
randomize ;
for i:=1 to nmax do
    T[i]:=chr(random(26)+97) ; (* on se limite à l'alphabet minuscule *)

(* saisie *)
repeat
  write('un caractère (a-z) ? ') ;
  readln(c) ;
  until (c>='a') and (c<='z') ;
repeat
  write('un indice du tableau où chercher ce caractère (1 à ',nmax,') ? ') ;
  readln(k) ;
  until (k>=1) and (k<=nmax) ;

(* recherche dans le tableau *)
if T[k]=c
   then writeln('Ce caractère ',c,' est bien dans la case ',k,' indiquée')
   else begin
        autres:=0 ;
        for i:=1 to nmax do if T[i]=c then autres:=autres+1 ;
 if autres>0
    then writeln('Ce caractère n''est pas dans cette case ',k,', mais il apparait dans ',autres,' autres cases du tableau')
   else writeln('Ce caractère ne figure pas dans le tableau') ;
        end ;
END.