8.4 Recursivite sur les mots

Consulter la liste des primitives p.§ afin de comprendre le rôle des primitives mot, dernier, et saufdernier.

Voici une procédure récursive qui permet d’inverser l’ordre des lettres d’un mot

pour inversem :m  
si vide? :m [retourne "]  
retourne mot dernier :m inversem saufdernier :m  
fin  
 
ecris inversem "abcde  
edcba

On dit qu’un mot est un palindrome si on peut le lire dans les deux sens (exemples : radar, laval ...).

# teste si le mot :m est un palindrome  
pour palindrome :m  
si  :m=inversem :m [retourne vrai] [retourne faux]  
fin

Et enfin ce joli petit programme (Merci Olivier SC) :

pour palin :n  
si palindrome :n [ecris :n stop]  
ecris (liste :n "PLUS inversem :n "EGAL somme :n inversem :n)  
palin :n + inversem :n  
fin  
 
palin 78  
78 PLUS 87 EGAL 165  
165 PLUS 561 EGAL 726  
726 PLUS 627 EGAL 1353  
1353 PLUS 3531 EGAL 4884  
4884