Dire l'heure

GW-Basic, utilisé par PC-Basic

Programme avec Texte Seulement

PC-BASIC

Une horloge est intégrée à chaque ordinateur, fonctionnant à une fréquence définie. Cette horloge est, bien, cadencée à des cycles par seconde, avec des unités en hertz, et est une mesure de la vitesse du processeur de l'ordinateur.

Mais l'horloge d'un ordinateur peut aussi, avec un peu de programmation astucieuse, donner l'heure. GW-BASIC rend cela facile : une variable de chaîne prédéfinie, appelée TIME$, est instantanément déclarée et initialisée chaque fois que l'interpréteur est chargé. TIME$, lorsqu'il est imprimé à l'écran, affiche l'heure au format suivant :

HEURE : MINUTE : SECONDE

où les heures sont en temps militaire (c'est-à-dire l'horloge de 24 heures). Par exemple, 14h53 et 22 secondes apparaîtraient comme suit :

16:53:22

Ce serait bien si nous avions quelques options, cependant.

Par exemple : et si nous voulions voir uniquement les minutes ou les secondes ? Et si nous voulions convertir l'heure militaire au format 12 heures ?

L'utilisation de la fonction MID$ sur la variable TIME$ nous permet d'extraire les heures, les minutes et/ou les secondes de l'horloge interne.

Pour convertir l'horloge de 24 heures en une horloge de 12 heures, l'heure doit d'abord être transformée en une variable numérique - la fonction VAL de la line 70 accomplit cette tâche. Ensuite, une série d'instructions conditionnelles (lignes 75 à 100) dispense de l'heure milliaire.

Le programme s'exécute indéfiniment, à moins que vous n'appuyiez sur la touche Échap pour le terminer. La variable INKEY$ sollicite l'entrée de l'utilisateur sur la line 110 ; si autre chose que CHR$(27) (une fonction extraite de la table ASCII, dans laquelle 27 = Échap) est pressé sur le clavier, le programme revient à la line 30.

10 KEY OFF
20 CLS
30 LOCATE 1,1:PRINT "VARIOUS FORMS OF THE TIME:"
40 LOCATE 2,1:PRINT TIME$
50 LOCATE 3,1:PRINT "SECONDS: ";MID$(TIME$,7,2)
60 LOCATE 4,1:PRINT "MINUTES: ";MID$(TIME$,4,2)
70 HOUR=VAL(MID$(TIME$,1,2))
75 IF HOUR=0 THEN HOUR=12
80 IF HOUR>12 THEN H0UR=HOUR-12:LOCATE 5,1:PRINT "HOUR: ";HOUR;"PM"
90 IF HOUR*12 THEN LOCATE 5,1:PRINT "HOUR: ";HOUR ;"PM"
100 IF HOUR<12 THEN LOCATE 5,1:PRINT "HOUR: ";HOUR ; "AM"
110 I$=INKEY$
120 IF I$<>CHR$(27) THEN 30

Maintenant que nous pouvons manipuler la variable de chaîne TIME$, la prochaine étape logique serait de créer une horloge analogique à l'écran. En effet, plus tard, nous le ferons.

 

 

 

 

 

 

 

Recherche personnalisée