; ************************************************************ ; Programme: lab_n_4.txt version PEP813 sous Windows ; ; INF2171 - laboratoire traitement des tableaux de nombres ; 4) Lire des nombres au terminal, afficher le total de nombres lus ainsi que la somme des nombres lus ; puis afficher les nombres lus dans l'ordre d'entrée. ; ; auteur: Bernard Martin ; code permanent: non applicable ; courriel: martin.bernard@uqam.ca ; date: hiver 2019 ; cours: INF2171 ; *********************************************************** ; STRO msgbien,d ; bienvenue LDA 0,i ; somme initialisée à zéro LDX 0,i lecture: DECI nombres,x BREQ affiche1 ADDA nombres,x ; sommation suite: ADDX 2,i ; nombre suivant BR lecture ; ; la lecture est terminée ; affiche1:STX sauvex,d ASRX ; X avance de 2 octets, on doit doit diviser par 2 STX occurenc,d STRO msgtotal,d ; quantité de nombres lus DECO occurenc,d STA somme,d STRO msgsomme,d ; somme des nombres lus DECO somme,d LDX sauvex,d STRO msgaff,d ; on commence à afficher par la début du tableau des nombres LDX 0,i affiche2:CPX sauvex,d BREQ termine LDA nombres,x DECO nombres,x CHARO "\n",i ADDX 2,i ; nombre suivant positif: BR affiche2 ; 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 tableau" .ASCII "\nde nombres." .ASCII "\n\nVeuillez entrer des nombres qui seront additionnés." .ASCII "\n(0-pour terminer)\n\x00" msgtotal:.ASCII "\nQuantité de de nombres lus:\n\x00" msgsomme:.ASCII "\nSomme des nombres lus:\n\x00" msgaff: .ASCII "\nVoici les nombres lus:\n\x00" msgfin: .ASCII "\n\nFin normale du programme.\x00" sauvex: .BLOCK 2 somme: .BLOCK 2 occurenc:.BLOCK 2 ; nombres DOIT se retrouver à la fin du programme nombres: .BLOCK 20 ; #2d10a trace seulement les 10 premiers nombres lus .BLOCK 0 ; les nombres lus qui suivent les 10 premiers, soit 11 à 999 .END