Touches 0 - -1000 1 - +1000 2 - -100 3 - +100 4 - -10 5 - +10 6 - -1 7 - +1 Affichage entre 0000 et 9999 Uniquement des chiffres positifs ------------------------------------------------- Valeurs de lectures des touches : (74165) 0 - 127 1 - 191 2 - 223 3 - 239 4 - 247 5 - 251 6 - 253 7 - 254 ------------------------------------------------- Valeurs affichées : (74595) 0 - 63 1 - 6 2 - 91 3 - 79 4 - 1002 5 - 109 6 - 125 7 - 7 8 - 127 9 - 111 ------------------------------------------------- Description des tâches : - Afficher 0000 - Lire le clavier (8 bp) - Déduire l'incrément (+ ou -) - Vérifier que le résultat obtenu après avoir appliqué l'incrément (+ ou -) soit compris entre 0 et 9999 - Sinon le maintenir entre 0 et 9999 - Calculer la nouvelle valeur à afficher - Afficher la nouvelle valeur - Boucler sur la lecture clavier ********************************************************************* Programmation structurée ------------------------ BEGIN DECLARE Valeur AS WORD DECLARE Val_Unite AS NIBBLE DECLARE Val_Dizaine AS NIBBLE DECLARE Val_Centaine AS NIBBLE DECLARE Val_Millier AS NIBBLE DECLARE Entree AS BYTE DECLARE Touche AS NIBBLE LET Valeur = 0 GOSUB Affichage DO WHILE Valeur = Valeur IF Touche = 0 THEN IF Valeur > 999 THEN LET Valeur = Valeur - 1000 ELSE LET Valeur = 0 ENDIF ELSE IF Touche = 1 THEN IF Valeur < 9000 THEN LET Valeur = Valeur + 1000 ELSE LET Valeur = 9999 ENDIF ELSE IF Touche = 2 THEN IF Valeur > 99 THEN LET Valeur = Valeur - 100 ELSE LET Valeur = 0 ENDIF ELSE IF Touche = 3 THEN IF Valeur < 9900 THEN LET Valeur = Valeur + 100 ELSE LET Valeur = 9999 ENDIF ELSE IF Touche = 4 THEN IF Valeur > 9 THEN LET Valeur = Valeur - 10 ELSE LET Valeur = 0 ENDIF ELSE IF Touche = 5 THEN IF Valeur < 9990 THEN LET Valeur = Valeur + 10 ELSE LET Valeur = 9999 ENDIF ELSE IF Touche = 6 THEN IF Valeur > 0 THEN LET Valeur = Valeur - 1 ELSE LET Valeur = 0 ENDIF ELSE IF Touche = 3 THEN IF Valeur < 9999 THEN LET Valeur = Valeur + 1 ELSE LET Valeur = 9999 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF GOSUB Affichage ENDDO SUB Affichage LET Val_Millier = Valeur / 1000 LET Val_Centaine = Valeur / 100 - Val_Millier*10 LET Val_Dizaine = Valeur / 10 - Val_Millier*100 - Val_Centaine*10 LET Val_Unite = Valeur - Val_Millier*1000 - Val_Centaine*100 - Val_Dizaine*10 Endsub End