; ************************************************************ ; Programme: lab_t_3.txt version PEP813 sous Windows ; ; INF2171 - laboratoire traitement des tableaux ; 3) Lire un texte au terminal, afficher les voyelles et ensuite les consonnes. ; ; auteur: Bernard Martin ; code permanent: non applicable ; courriel: martin.bernard@uqam.ca ; date: été 2019 ; cours: INF2171 ; *********************************************************** ; STRO msgbien,d LDX 0,i lecture: CHARI texte,x LDA 0,i LDBYTEA texte,x ADDX 1,i ; caractère suivant skip: CPA "\n",i ; fin de ligne ? BRNE lecture ; ; la lecture est terminée ; ; on commence par afficher les voyelles ; STRO msgaffv,d LDX 0,i affichev:LDBYTEA texte,x ; on conserve tous les caractères lus CPA "\n",i BREQ consonne ANDA 0x00DF,i ; transforme en majuscules les minuscules (les majuscules demeurent majuscules) CPA "A",i ; voyelle ? BREQ voyelle CPA "E",i BREQ voyelle CPA "I",i BREQ voyelle CPA "O",i BREQ voyelle CPA "U",i BREQ voyelle CPA "Y",i BRNE pasvoyel voyelle: CHARO texte,x ; on affiche la voyelle lue pasvoyel:ADDX 1,i BR affichev ; ; on recommence pour les consonnes ; consonne:STRO msgaffc,d LDX 0,i affichec:LDBYTEA texte,x ; analyse d'un caractère déjà lu CPA "\n",i ; fin de ligne ? BREQ termine ANDA 0x00DF,i ; transforme en majuscules les minuscules et les majuscules demeurent majuscules CPA "A",i ; rejet des voyelles BREQ voyelle2 CPA "E",i BREQ voyelle2 CPA "I",i BREQ voyelle2 CPA "O",i BREQ voyelle2 CPA "U",i BREQ voyelle2 CPA "Y",i BREQ voyelle2 ; ; ce n'est pas une voyelle ; ; une consonne doit être comprise entre A et Z ; CPA "A",i BRLT voyelle2 CPA "Z",i BRGT voyelle2 ; CHARO texte,x ; consonne affichée voyelle2:ADDX 1,i ; caractère suivant BR affichec ; termine: STRO msgfin,d 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 ses voyelles et ses consonnes:\n\x00" msgaffv: .ASCII "\nVoici les voyelles lues:\n\x00" msgaffc: .ASCII "\n\nVoici les consonnes lues:\n\x00" msgfin: .ASCII "\n\nFin normale du programme.\x00" ; texte DOIT se retrouver à la fin du programme texte: .BLOCK 10 ; #1h10a trace seulement les 10 premiers caractères lus .BLOCK 0 ; les caractères lus qui suivent les 10 premiers .END