- Sachant que la fonction prédéfinie string-length permet de connaître la longueur
d'une chaîne de caractères, écrire les fonctions premier, dernier, debut et fin,
permettant respectivement d’obtenir à partir d’une chaîne, son premier caractère, son dernier
caractère, la sous-chaîne composée des caractères de la chaîne à l’exception du dernier et la
sous-chaîne composée des caractères de la chaîne à l’exception du premier.
- Écrire une fonction carChaine permettant d’ajouter un caractère au début d’une
chaîne premier argument ((carChaine #\B "onjour") renvoie "Bonjour", par
exemple). Ecrire une fonction chaineCar permettant d’ajouter un caractère en fin de chaîne
((chaineCar "Bonjour" #\s) renvoie "Bonjours", par exemple).
- Sauvegarder toutes ces définitions dans un fichier appelé chaines.ss.
3.3 Retour au présent
Reprendre l'exercice 3.1 pour la conjugaison au présent de l'indicatif. Afin de pouvoir
utiliser les définitions obtenues en 3.2, on peut simplement utiliser la fonction prédéfinie load, qui
prend en paramètre une chaîne ayant pour valeur le nom complet d'un fichier source Scheme et en
évalue les expressions.
3.4 Nom, Prénom, Profession ?
Écrire un programme demandant à l'utilisateur de taper un nom, puis un prénom, puis une
profession, et affichant à l'écran une phrase de la forme "<prénom> <nom> est
<profession>. Ses initiales sont <initiales>".
4. Travail sur les durées … s'il reste du temps
4.1 Affichage Jours-Heures-Minutes-Secondes
Reprendre l'exemple de conversion d'un nombre de secondes à afficher en jours, heures,
minutes et secondes correspondant :
- définir 3 fonctions permettant de calculer respectivement le nombre de jours, heures ou
minutes entiers compris dans une durée exprimée en secondes,
- définir 4 fonctions sans retour permettant respectivement d'afficher une durée exprimée
en secondes aux formats :
-"<nbjours> jours, <nbheures> heures, <nbmin> minutes et <nbsec>
secondes",
-"<nbheures> heures, <nbmin> minutes et <nbsec> secondes",
-"<nbmin> minutes et <nbsec> secondes",
-"<nbsec> secondes".
- terminer le programme par une saisie d'un nombre de secondes au clavier et l'affichage
en jours, heures, minutes et secondes à l'écran.
4.2 Conversion en secondes
Définir une fonction permettant de transformer une durée exprimée en jours, heures,
minutes et secondes en un nombre équivalent de secondes.
4.3 Comparaison de durées
Définir une fonction renvoyant vrai si et seulement si, de 2 durées exprimées en jours,
heures, minutes et secondes, la première est inférieure à la deuxième. Écrire sa définition sous 2
formes, l'une utilisant la fonction obtenue en 4.2, et l'autre ne l'utilisant pas.