; ************************************************************ ; Programme: lab_t_6.txt version PEP813 sous Windows ; ; INF2171 - laboratoire traitement des tableaux ; 6) Lire un texte au terminal et afficher le nombre d'occurences de la lettre choisie par l'utilisateur. ; ; auteur: Bernard Martin ; code permanent: non applicable ; courriel: martin.bernard@uqam.ca ; date: été 2019 ; cours: INF2171 ; *********************************************************** ; STRO msgbien,d lecture: CHARI caract,d ; caractère lu LDX avcaract,d ANDX 0x00DF,i ; transforme en majuscules les minuscules (les majuscules demeurent majuscules) CPX "A",i ; doit être entre A et Z BRLT paslettr CPX "Z",i BRGT paslettr SUBX 0x0041,i ; position dans l'alphabet LDBYTEA alphabet,x ADDA 1,i ; caractère trouvé + 1 STBYTEA alphabet,x ; ; paslettr:CPX "\n",i ; fin de ligne ? BRNE lecture ; ; la lecture est terminée ; ; on demande à l'utilisateur, de choisir une lettre ; STRO msgdeman,d CHARI caract,d LDX avcaract,d ANDX 0x00DF,i ; transforme en majuscules les minuscules (les majuscules demeurent majuscules) SUBX 0x0041,i BRLT rejet ; doit se trouver entre "A" et "Z" CPX 26,i BRGE rejet LDBYTEA alphabet,x ; récupération du nombre de fois STBYTEA caract,d BREQ zéro ; aucune présence STRO msgaff,d DECO avcaract,d STRO msgfois,d BR termine rejet: STRO msgrejet,d BR arrêt zéro: STRO msgzéro,d ; termine: STRO msgfin,d arrêt: STOP ; ; variables ; N.B. Il est préférable d'afficher un long message sur plusieurs lignes car la largeur ; de la fenêtre d'output de PEP/8 n'est que de 52 caractères par défaut. msgbien: .ASCII "Bienvenue à ce programme de traitement d'un texte." .ASCII "\n\nVeuillez entrer un texte qui sera analysé" .ASCII "\npour son alphabet.\n\x00" msgdeman:.ASCII "\nQuelle lettre désirez-vous rechercher ? \x00" msgaff: .ASCII "\nCette lettre est présente \x00" msgzéro: .ASCII "\nCette lettre n'est pas présente.\x00" msgfois: .ASCII " fois.\x00" msgrejet:.ASCII "\nCe n'est pas une lettre." .ASCII "\n\nFin anormale du programme.\x00" msgfin: .ASCII "\n\nFin normale du programme.\x00" alphabet:.BLOCK 26 ; #1h26a avcaract:.BLOCK 1 ; #1h caract: .BLOCK 1 ; #1h .END