;; Ces programmes sont sous licence CeCILL-B V1. ;; Exécution en ligne de commande avec Bigloo : ;; $ bigloo -i Initiales.scm (define (AfficheInitiales) (display "Nom ? ") (let ((nom (read-line))) (map display (Initiales nom)) (newline))) (define (Initiales nom) (if (> (string-length nom) 0) (let ((avant-dernier (- (string-length nom) 2)) (premier (string-ref nom 0))) (let boucle ((listeInitiales (list premier)) (i 1)) (if (<= i avant-dernier) (if (char=? (string-ref nom i) #\space) (boucle (cons (string-ref nom (+ i 1)) listeInitiales) (+ i 1)) (boucle listeInitiales (+ i 1))) (reverse listeInitiales) ))) '()))