![]() |
![]() |
Toutes les copies d'écran N&B sont réalisées sur le Supercharger avec une version modifiée du pilote. |
![]() |
All screen copies in B&W are made directly on the Supercharger with a modified version of its driver. |
Ce fichier installe également le driver de souris pour l'éditeur, puis il définit comme répertoire courant celui où je sauve mes fichiers sources. Remarquez finalement que le fichier AUTOEXEC.BAT a ajouté deux chemins dans le PATH. |
![]() |
This file also installs the mouse driver for the editor and sets as current directory the one where my sources are saved. Note that the PATH has also been added with two values (this is made in AUTOEXEC.BAT). |
COMPILE FICHIEREt il lance la compilation de FICHIER.CBL (extension par défaut des sources COBOL). Ceci génère dans un premier temps un fichier objet et signale les éventuelles erreurs dans le source. |
![]() |
COMPILE FILEThis runs compilation of FILE.CBL (standard extension for COBOL sources). The first step is to generate an object file and summarize the eventual errors that were encountered. |
Par défaut, celui‑ci est dépendant d'une librairie cobol CODLIB.DLE. Pour que l'exécutable soit complètement indépendant, il faut invoquer la compilation ainsi : COMPILE FICHIER LCOBOL |
![]() |
This program relies on an external library CODLIB.DLE to run. If you want it to be independant, you must change the invoking line this way : COMPILE FILE LCOBOL |
Les fichiers On dispose d'un fichier en vrac contenant 1 000 enregistrements de relevés météorologiques. Pour chacun on a quatre valeurs
On se propose d'utiliser les fonctions de tri du COBOL pour obtenir soit
|
![]() |
The Files Suppose we have a file of 1 000 unsorted forecast records. Each one contains four values
We want to use the sorting facilities of COBOL to get either
|
Les données Ici c'est la section de définition des variables.
|
![]() Les copies d'écran du source ont été affichées et colorées par Notepad++ sous Windows. |
Data Here starts the variable definitions.
|
Les écrans La section SCREEN définit les différents écrans qui seront utilisés. Pour la plupart ce sont des écrans fixes. Seul l'écran resultat contient un lien vers la variable moyenne et la définition de son format d'affichage. Dans PIC, Le "Z" au lieu de 9 permet d'avoir un espace si les dizaines sont nulles on évite ainsi l'affichage de 04,5 pour une température de 4,5. |
![]() |
Screens The only one containing a variable reference is resultat. It uses the variable moyenne. Note that in its PIC definition a Z indicates that if this digit is nul, then it will be replaced by a space. For example, if the mean is 4,5, this avoids the display of 04,5. |
Procédure principale On se contente d'afficher les écrans et saisir les choix. Vous remarquez l'usage intensif des flags associés à la variable reponse afin d'orienter le programme vers les bonnes procédures. Ci‑dessous l'écran quel‑travail de la procédure principale : ![]() |
![]() |
Main procedure Screens are displayed and choices are read from the keyboard. Spot the intense use of the flags associated to the variable reponse to direct the program to the desired procedures. Here a copy of the screen quel‑travail (which work) : ![]() |
Procédures de tri
|
![]() |
Sorting procedures
|
Procédure d'affichage Le fichier sortie est ouvert et on utilise le flag end‑of‑file associé à la variable reponse qui vaut TRUE si reponse="E". Dans la lecture d'un enregistrement, on met reponse="E" si on atteint la fin du fichier. Sinon, remarquez la copie de la variable temperature vers dis‑temp pour passer de son format interne à son format d'affichage. |
![]() |
Display procedure The file sortie is opened and the flag end‑of‑file associated to the variable reponse is used : it is TRUE if reponse="E". When reading a new record, we set reponse="E" if the end of file is reached. Else, notice the copy of temperature into dis‑temp to get a displayable format for this decimal and negative value. |
Pré‑sélection Chaque mesure est lue et on ne retient (avec RELEASE) que celles avec une température < 0 et un taux d'humidité > 50 %. On obtient le fichier partiel suivant : ![]() |
![]() |
Pre‑selection Each record is read and we only save (with RELEASE) the records with temperature < 0 and a level of humidity > 50 %. We get the following partial file : ![]() |
Post‑traitement On calcule la somme des températures ainsi que leur nombre, puis par division on obtient la moyenne. Vous voyez affichées les moyennes pour tri‑c (celle des 1 000 valeurs) puis pour tri‑d (celle des valeurs filtrées). |
![]() ![]() ![]() |
Post‑treatment The sum of the temperatures is accumulated in moyenne, and then the mean is obtained with a division. On the left, you can see the means for tri‑c (the one with the 1 000 values) and then for tri‑d (the one with with filtered data). |
Téléchargement |
|
Download |