program SuitePalindromique; uses wincrt; VAR d,e,i,n:integer; result,c,ch1:string; {************** Fonction Palindrome **************} FUNCTION palindrome(ch: string): boolean; VAR m:string; l,i,j:integer; begin l:= length(ch); i := 1; while ((ch[i] = ch[l - i + 1]) and (i <= l div 2)) do i := i + 1; if (ch[i] = ch[l - i + 1]) then palindrome := true else palindrome := false; end; {************** Procédure Inverser une chaine de caractères **************} PROCEDURE inverse(var st: string); var aux: string; i: integer; begin aux := ''; for i := 1 to length(st) do aux := st[i] + aux; st := aux; end; {************** La procédure saisir **************} PROCEDURE saisir(var n:integer); Begin Repeat Write('Donner un entier: '); readln(n); until(n >=10); end; {************** Le programme principal **************} BEGIN saisir(n); Writeln('----------------------------------------------------'); STR(n,c); inverse(c); Writeln(n); i:=1; WHILE(palindrome (c)=false) AND (i<=11) DO begin VAL(c,d,e); n:=d+n; STR(n,c); inverse(c); Writeln(n); i:=i+1; end; Writeln('Cette suite est palindromique'); END.