★ APPLICATIONS ★ DIVERS ★ TOUS A TABLE ★ |
Tous a Table (CPC Revue) | Applications Divers |
Le plan de table d'un banquet se doit de respecter les "règles" suivantes : chaque convive doit avoir comme voisins et vis-à-vis une personne de sexe opposé, et aucune de ces trois personnes ne doit être son conjoint ; sauf cas particuliers (jeunes mariés). Ce fastidieux casse-tête est résolu instantanément par ce programme, mieux, il vous propose plusieurs solutions répondant aux critères ci-dessus : deux colonnes de noms à l'écran vous présentent les personnes en vis-à-vis. Lorsqu'une des solutions vous plaît, inutile de la recopier, pressez la touche E, et elle est éditée sur imprimante. Si vous n'avez pas l'intention de le recopier au clavier, essayez quand même le module du titre (lignes en 12000) dont le type d'animation pourra vous inspirer pour des programmes personnels. L'ENTREE DES NOMS Elle se fait en trois étapes : la liste des couples, celle des filles, celle des garçons. Le nombre total de convives est limité à quarante, ce pour des raisons de présentation à l'écran. COUPLES (lignes en 3000) L'écran de saisie présente "Mr, Mme", vous complétez par le nom. En fin de liste, on tape "Q" (quitter). Le nom tapé est entré en deux tableaux DIM ; M$(C) pour les maris, et E$(C) pour les épouses. L'adjonction du "Mr" ou du "Mme" est automatique. FILLES (lignes en 4000) Les noms entrés sont mis en DIM F$(F). Le préfixe "Mie" est automatique. GARÇONS (lignes en 5000) Même méthode, mise en DIM G$(G). Le préfixe automatique est constitué par deux astérisques. LA DISPOSITION En fin de saisie,.nous possédons quatre listes, les DIM M$, E$, F$ et G$, avec lesquels le programme va créer une cinquième, D$(D), D signifiant "Disposition". C'est une suite de noms avec alternance masculin-féminin et éloignement des conjoints. C'est là, le "«gros morceau" ! Une fois cette suite établie, nous l'afficherons sous forme de boucle fermée autour d'une table longue. En faisant tourner cette boucle d'un cran à chaque fois, nous pourrons changer les vis-à-vis, tout en conservant ses voisins droite-gauche. OK ? Ces "calculs" concernent le traitement des couples, de loin le plus complexe, puis on enchaîne sur le mixage des listes filles et garçons. LA DISPOSITION Le traitement est différent selon le nombre de couples, C est pair ou impair. Si C est pair, la variable P=1. D'abord, un premier passage en zig-zag : M$(1), E$(2), M$(3), E$(4), etc. (voir figure 1a). Ce premier passage est commun aux nombres de couples pairs et impairs. DISPOSITION La fonction Basic MIN(G,F) fournit le nombre de "couples de célibataires", l'excédent en filles ou en garçons sera conservé tel quel (comment faire autrement). Là, c'est très facile, on prend alternativement un garçon, une fille : G$(1),F$(1),G$(2),F$(2),etc, et on complète par "l'excédent". Le tableau D$(D) est enfin terminé. On a alors D = TOT. L'AFFICHAGE (lignes en 10000) Les deux colonnes à l'écran figurent les personnes en vis-à-vis. Elles sont séparées par deux caractères graphiques flèche gauche - flèche droite, appartenant au troisième jeu de caractères de l'AMSTRAD, obtenus en faisant précéder de CHR$(1 ) (ceux obtenus au clavier par CTRL H, CTRL I). LA STRUCTURE DU PROGRAMME L'auteur est un inconditionnel de la programmation "structurée" (ou "modulaire"). Ainsi, tout le scénario du programme est dans les lignes en 1000 (peu nombreuses... ). Elles appellent les différents sous-programmes (ou modules) par des GOSUB ; d'où une souplesse totale pour des modifications ultérieures, et ce en toute clarté puisque chaque module (ou sous-module) débute par un numéro de ligne multiple de 1000. Une bonne et sage habitude à prendre. Autres précautions habituelles : en ligne 100, toutes les variables LE TITRE ANIME Il n'apparaît qu'en fin de chargement. Sur l'écran, se dessine un verre ballon qui se remplit de vin rouge, du Beaujolais bien sûr, car je suis chauvin sur ce point. Ce grand arc de cercle (le ballon) est tracé par une suite de "cordes de cercle" depuis 135° jusqu'à 405° (lignes 12020 à 12050). C'est très rapide. Le pied est dessiné par des DRAWR (12100-12110). Le vin : sur un rayon légèrement inférieur, afin de ne pas effacer le verre, on fait PLOT sur un arc de cercle depuis 270° (le fond) jusqu'à 370° ; de là, on trace des traits rouges vers la gauche, de longueurs égales à deux fois le cosinus de l'angle (lignes 1 2200 à 12230). PETITS CONSEILS D'UTILISATION DU PROGRAMME Il est nécessaire d'avoir un nombre de couples supérieur à deux afin que les conjoints soient séparés. LEGENDE DES VARIABLES: — A : Angle en DegrésCPC n°2
|