ITIATION VENDREDI SHOW Vous avez sans doute remarqué le générique de l'émission de télévision Vendredi (fort bonne au demeurant) sur la troisième chaîne . Nous allons reproduire ce générique sur notre machine. Le programme n'emploiera pas de couleurs ni d'effets style INVERSE, afin d'être compatible avec un maximun de machines. Vous pourrez toutefois l'améliorer par la suite. Ce programme va nous permetre de jongler avec les caractères, et même de faire des calculs avec des lettres. En effet, un ordinateur ne travaille qu'avec des zéros et des uns (binaire). Les lettres doivent donc être codées. Le code le plus employé dans les micro-ordi-nateurs est le code ascii. Ce code est un code étendu à 8 bits (8 zéros ou un), ce qui permet de coder 256 caractères différents. Un tableau de correspondance code/caractères doit être donné dans votre manuel. Grâce Initialisation Les lettres s'afficheront à l'écran l'une aprés l'autre. La variable T (numérique)'servira de temporisation entre deux lettres. lous mettons 30 pour le moment, mais vous pourrez augmenter cette valeur si vous désirez ralentir l'affichage, ou la diminuer pour accélérer. N indique le nombre de colonnes de l'écran. Si votre écran n'a pas 40 colonnes, changez la valeur de N. CHR$(7) est sur de nombreuses machines le caractère qui fait sonner la cloche. Si vous n'en n'avez pas, supprimez cette ligne et la ligne 260. Nous allons commencer notre recherche à partir de la lettre A. La valeur acii de A est 65. Nous initialisons D a 65. Nous mettons le titre dans la zone A$ (alphanumérique). Vous pouvez mettre ce que vous voulez. La fonction LEN( donne le nombre de caractères qu'il y a dans la zone A$. Pour VENDREDI, L égal 8. On vérifie si le titre rentre en entier dans l'écran. S'il rentre, on indique au programme d'aller directement à la ligne 180. (Certaines machines n'acceptent pas la syntaxe THEN GOTO, il faudra retirer l'un des deux; consul-tez votre manuel en cas de doute). Le titre est plus long que la largeur de l'écran. La variable L contient la longueur du titre. Il suffit de lui donner maintenant la valeur de la taille de l'écran moins un (afin de ne pas avoir de saut de ligne supplémentaire). L'idéal serait que le titre soit au milieu de l'écran. Nous calculons la colonne de début. N-L correspond au nombre de caractères qui ne seront pas utilisés par le titre. Si l'on divise par deux, on obtiendra le nombre de colonnes à gauche. Nous prenons la valeur entière (les chiffres avant la virgule) car il n'est pas possible d'écrire à une demi-colonne. E indique le début du titre. Début du traitement Le traitement va continuer jusqu'à ce que l'on ait trouvé toutes les lettres du mot. Nous compterons les lettres trouvées. Lorsque nous en aurons trouvé autant qu'il y en a dans le titre (0 nous arrêterons tout. Il n'est pas néces-saire d'aller jusqu'à Z. 94 à ce code, lorsque nous tapons le caractère A la machine stocke sa valeur ascii (65), et lorsque nous disons d'afficher un caractère, elle affiche le petit dessin correspondant au code ascii 65 (A). Pour utiliser un caractère, il faufdeux informations à la machine; d'abord dire qu'il s'agit d'un caractère, en Basic on utilise les guillemets et les variables postfixées $, ensuite lui donner la valeur ascii du caractère que l'on désire (en fait c'est ce que l'on fait lorsque l'on tape une lettre au clavier). Le programme "Vendredi show" doit afficher d'abord une série de A, puis B et ainsi de suite, à la place de chaque lettre du mot VENDREDI. Lorsque la lettre qui défile passe sur son équivalent dans le mot, elle s'affiche défini-tivement à cet endroit. On çontinuera jusqu'à ce que le mot soit entiérement trouvé. 100 T = 30 110 N = 40 120 B$ = CHR$ (7) 130 D = 65 140 A$ = "VENDREDI" 150 L = LEN (Ae) 160 IF L < N THEN GOTO 180 170 L N -- 1 180 E = INT ((N L) ) 190 S = 0 2012) PRINT TAB ( E); 210 FOR I = TO 22Ç W$ = MID$ (A$,I,1) 230 X = ABC (W$) 240 IF D. X THEN GOTO 300 250 IF X . > D THEN LOTO 270 260 PRINT E$; 270 5 = S + 1 290 PRINT kAi:e:; 290 GOTO 310 300 PRINT CHR$ (D); 310 FOR P = 1 TO T 320 NEXT P 330 NEXT I 340 PRINT 350 D = D + 1 360 IF S = L THEN GOTO 80 370 IF D ASC " Z " ) THEN BOTO 190 380 END