Université Louis Pasteur

Département d’Informatique

Septembre 1990

LICENCE D’INFORMATIQUE

Méthode de programmation

Durée: 3 heures

Première partie

On veut se créer un ensemble de programmes permettant d’afficher un texte en gros

caractères composé uniquement des caractères ’*’ et ’ ’ (blanc). Pour cela on dispose

du tableau char tFontes[256][7][6] où tFontes[i][][] contient le dessin du i^{eme}

caractère ascii composé de 7 lignes de 6 caractères ’*’ ou ’ ’, par exemple

ligne 0           ******                 ****
ligne 1           *                     *    *
ligne 2           *                     *    *
ligne 3           ****                  ******
ligne 4           *                     *    *
ligne 5           *                     *    *
ligne 6           *            ou       *    *
    colonnes      012345                012345

1. Ecrire la fonction void affiche(s), où s est une chaîne de caractères. On suppose

que la ligne est assez longue pour contenir tout le dessin. Laisser un espace horizontal

de 1 blanc entre chaque dessin 7 × 6.

2. Soit int dimligne la dimension d’une ligne, écrire la fonction void centre(s) qui

affiche la chaîne s, en grands caractères, de manière centrée (autant de blancs à gauche

qu’à droite).

3. Ecrire la fonction void newfonte() qui permet de modifier le dessin d’un caractère,

prévoir les dialogues nécessaires.

4. Habituellement certaines lettres sont plus larges que d’autres, en supposant maintenant que le nombre de colonnes d’un dessin est compris entre 1 et maxlargeur (et non pas systématiquement 6), et que l’on dispose d’un tableau int largeur[256] contenant la largeur de chaque dessin, récrire la fonction void centre(s).

Seconde partie

Dans un fichier figurent des enregistrements correspondant à la structure:

struct enreg {char NOM[20], PRENOM[20]; int NBRENFANTS}.

On veut créer une implantation en mémoire correspondant à une liste chaînée triée par ordre alphabétique des noms.

1. En supposant connues les fonctions C de manipulation de chaînes de caractères, définir et écrire les fonctions nécessaires à la création de la liste par insertion triée.

2. Ecrire une fonction récursive calculant le nombre total d’enfants de la liste.