PROGRAM TP5exc1 ;
VAR S : string[70] ;
choix,
i, compteur : integer ;
test
: boolean ;
C :
char ;
BEGIN
repeat
(* saisie de la chaîne *)
write('chaîne d'au plus 70 caractères ?
') ; readln(S) ;
(* menu *)
repeat
clrscr ;
writeln('Au choix :') ;
writeln(' -1- afficher
la chaîne verticalement') ;
writeln(' -2- afficher
la chaîne horizontalement et à l'envers') ;
writeln(' -3- calculer
le nombre d'occurences d'un caractère dans la chaîne') ;
writeln(' -4- tester si
la chaîne est un palindrome') ;
writeln(' -5- changer
de chaîne') ;
writeln(' -0- terminer')
;
readln(choix) ;
clrscr ;
case choix of
1 :
for i:=1 to length(S) do writeln(S[i]) ;
2 :
begin for i:=length(S) downto 1 do write(S[i]) ; writeln ; end ;
3 :
begin
write('quel caractère doit-on rechercher dans la chaîne ?
') ; readln(C) ;
compteur:=0 ;
for i:=1 to length(S) do if C=S[i] then compteur:=compteur+1 ;
writeln('dans la chaîne S=',S,', le caractère C=', C, ' est
présent ', compteur, ' fois.') ;
end ;
4 :
begin
test:=true ;
for i:=1 to length(S) do
if (S[i]<>S[length(S)-i+1]) then test:=false ;
if test
then writeln('La chaîne S=', S, ' est un palindrome')
else writlen('La chaine S=', S, ' n'est pas un palindrome') ;
end ;
until (choix=0) or (choix=5)
;
until (choix=0) ;
END.