<figure><img src="image_1.png" /></figure>

HAL
open science

# Tracé automatique de courbes planes

Americo Marrocco

► To cite this version:

Americo Marrocco. Tracé automatique de courbes planes. [Rapport de recherche] IRIA-RR-110, IRIA. 1975, pp.83. hal-04716070

HAL Id: hal-04716070

https://inria.hal.science/hal-04716070v1

Submitted on 1 Oct 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
02128

RR110

RIA

laboria

laboratoire de recherche
en informatique
et automatique

F

# Tracé automatique de courbes planes

A. Marroco

Americo

Institut de Recherche
d'Informatique
et d'Automatique

Domaine de Voluceau
Rocquencourt
78150 - Le Chesnay
Tél. 954.90.20

Rapport de Recherche n° 110

Mars 1975
# TRACÉ AUTOMATIQUE DE COURBES PLANES

A. Marrocco

(présenté par M. Glowinski)

## RESUME -

On donne dans ce document, le mode d'emploi ainsi que de nombreux exemples d'utilisation (avec résultats) d'un programme de tracé automatique de courbes planes par traceur BENSØN.

On donne en annexe le programme FØRTRAN de tracé.

## ABSTRACT -

This report presents a description of the details of preparing the necessary input for the computer program for drawing plane curves with a BENSØN plotter.

Many examples of utilization with listing output and graphs are given.

The FØRTRAN program is given in appendix.
TRACE
AUTOMATIQUE
DE
COURBES PLANES

FICHIER AM-TRACOU2-
P L A N

========================

I - INTRODUCTION 1

II - UTILISATION 1

III - SIGNIFICATION DES PARAMETRES 4

A - Arguments de TRACØU 4

1°) VX, VY, NP1, NP2 4

2°) ECRI 4

B - Éléments des common DESØPT et DESPAR 5

1°) ISTAND - ( RDØN, IDØN ) 5

2°) MØDGRX, MØDGRY - ( XINT, NGRADX, YINT, NGRADY, IDØN )⁸

3°) INUMX, INUMY - ( MØDULX, MØDULY ) 10

4°) IX, IY - ( LEGX, LEGY, KX, KY ) 11

5°) ICHAR - ( PAS, NP, ICHØIX, DIME ) 12

6°) LEGCØU, ILMULT - ( ECRI, XLØNG, YLØNG, NUCØU ) 13

7°) IGRAD 18

8°) IAXUJ 19

9°) ISUPE 19

10°) IBØUCL 20

11°) ILIST 21

C - Éléments du common DESANN 22
1°) HØMX, HØMY 22

2°) XLARG 22

3°) NØM, NL 23

4°) NBLØC 23

IV - ANNEXE I 24

A - Signification des éléments de RDØN 25

1°) Définition des cadres (sur le dessin) 25

2°) Valeurs déterminant le cadre sujet 25

3°) Autres paramètres 26

B - Signification des éléments de IDØN 26

1°) Paramètres liés à la graduation du cadre 26

2°) Format d'écriture des nombres 28

V - ANNEXE II

1°) SP - IBENA 29

2°) SP - PNUMA 29

3°) SP - TRAA 30

4°) SP - PØSA 30

5°) SP - PØARA 30

6°) SP - NØMBA 31

7°) SP - ECHEL 32
8)) - SP - TRAS 32

VI - EXEMPLES D'UTILISATION DE TRACØU 33

1°) PROGRAMME FORTRAN 34

2°) RESULTATS (Listings) 42

3°) RESULTATS (Dessins BENSON) 52

VII - PROGRAMME DE TRACE (FØRTRAN) 62
TRACE AUTOMATIQUE SUR BENSON DE COURBES PLANES

I - INTRODUCTION

Nous donnons ici le mode d'emploi (ainsi que des exemples d'utilisation) du programme de tracé automatique de courbes planes. Ce programme est stocké dans le fichier permanent de nom AM-TRACØU2, sous le n° de compte 1101 et disponible sur les ordinateurs du centre de calcul de l'IRIA.

Nous préciserons, suivant l'option choisie, (éléments du common étiqueté DESØPT), les paramètres que l'utilisateur doit effectivement définir. (éléments du common étiqueté DESPAR). On indiquera aussi éventuellement les valeurs prises par défaut par les autres paramètres. Les éléments du common étiqueté DESANN devront être précisés par l'utilisateur dans tous les cas.

On peut modifier dynamiquement options et paramètres, et les valeurs retenues sont les valeurs effectives de ces paramètres avant l'appel au sous programme TRACØU.

Parmi les différentes possibilités offertes par le programme, nous avons retenu une option "simplifiant la vie de l'utilisateur" (ISTAND=-1). Pour cette option l'utilisateur n'aura qu'un minimum de paramètres à définir.

Ce programme utilise implicitement les sous-programmes de niveau I du soft BENSON (voir annex II, pour les noms et fonction de ces sous-programmes).

Tous les paramètres réels intervenant sont en SIMPLE-PRECISION

II - UTILISATION

L'utilisateur doit définir dans le programme appelant, les "common" étiquetés suivants

CØMMØN /DESØPT/ISTAND, MØDGRX, MØDGRY, INUMX, INUMY, IX, IY, ICHAR, LEGCØU, ILMULT, IGRAD, IAXSUJ, ISUPE, IBØUCL, ILIST
CØMMØN /DESPAR/ RDØN (16), IDØN(8), XINT, NGRADX, YINT, NGRADY, MØDULX, MØDULY, LEGX (15), KX, LEGY (15), KY, PAS(10) NP, ICHØIX, DIME, XLØNG, YLØNG, NUCØU

CØMMØN /DESANN/ HØMX, HØMY, XLARG, NØM(8), NL, NBLØC

L'appel au sous-programme pour le tracé de la courbe définie par VX,
VY et pour les indices allant de NP1 à NP2, se fait par

CALL TRACØU (VX, VY, NP1, NP2, ECRI)

On utilise implicitement des sous-programmes dont les noms sont les
suivants ( et qui sont aussi stockés dans le fichier AM-TRACØU2)

TAXEX, TAXEY, TRACEC, TIRET Ø, SYMB, JØBID, IDENTI, SCSØ2, CØUPX, CØUPY

On utilise de même 2 "common" étiquetés de nom : MARØKØ, F4D3GB

Les cartes contrôle à utiliser en SIRIS 7/8 (en dehors des cartes habituelles) sont les suivantes ⭐

★ !ASSIGN RILL, FIL,(STS, ØLD),(NAM, AM-TRACØU2), (UNT, AC, 1101)

! LINK

★ ° TREE GØ-RILL

★ ! ASSIGN 10, DEV, MT, (VØL, n° ) (Bande BENSØN)

! RUN
Remarque

Le n° de l'étiquette logique 10 est obligatoire, si l'utilisateur commence le tracé BENSON en utilisant le fichier AM-TRACØU2, (il doit alors initialiser NBLØC à 1 - voir éléments du COMMON/DESANN/)

Mais s'il a déjà fait d'autres tracés BENSON sur une autre étiquette logique, il pourra conserver cette étiquette (mais devra faire NBLØC >1 avant le premier appel à TRACØU)
# III - SIGNIFICATION DES PARAMETRES

## A - Arguments de TRACØU

### 1°) VX, VY, NP1, NP2

VX est un tableau de longueur n (n est le nombre de points constituant la courbe) contenant les abscisses des points déterminant la courbe

VY - idem - ordonnées correspondantes-

NP1, NP2 - On trace la courbe déterminée par VX et VY pour les indices des tableaux allant de NP1 à NP2 compris. Si NP2 < NP1 on ne trace rien.

### 2°) ECRI

Nom de sous-programme externe à donner par l'utilisateur sous la forme

```text
SUBROUTINE ECRI (HX,HY)
    ... ...
RETURN
END
```

Ce sous-programme permettra d'écrire un texte sur le dessin, cela si l'option LEGCØU = 1 est choisie. Nous verrons plus tard les possibilités d'emplacement de ce texte sur le dessin.

HX et HY, arguments de ECRI, représentent la largeur et hauteur des caractères.

Bien entendu si LEGCØU = 1 il faut définir EXTERNAL ECRI dans le programme appelant TRACØU
## EXEMPLE DE SOUS PROGRAMME ECRI

SUBROUTINE ECRI (HX, HY)

COMMON/EC/ITAB (5), NCARA, T, NFORMA

CALL PCARA (0.,0.,2, ITAB, NCARA, HX, HY, 1.,0.)

CALL NOMBA (HX, 0., 2, T, NFORMA, HX, HY, 1., 0.)

RETURN

END

ITAB tableau contenant le commentaire

NCARA nombre de caractère à écrire effectivement

T nombre

NFORMA format (BENSØN) d'écriture du nombre T

Pour la signification des autres paramètres utilisés voir
annexe II, sous-programmes de niveau I du soft-BENSON

## B - Éléments des commons DESOPT et DESPAR

### 1°) ISTAND

Option de cadrage et de mise en page du graphique.

Les paramètres directement en relation avec cette option sont les éléments des tableaux RDØN (16) et IDØN (8), dont la signification explicite sera donnée en ANNEXE I
ISTAND = 1

Les dimensions initiales du dessin sont standard :

33,6 cm x 47,5 cm

Le cadre sujet contenant la ou les courbes à visualiser est placé par le programme et à pour dimensions

25 cm x 35 cm

Les valeurs minimun et maximun déterminant la graduation du cadre sujet sont respectivement les valeurs minimun et maximun de VX (I) et VY (I) pour $I \in [NP1, NP2]$

$$ [NP1, NP2] $$

Dans ce cas l'utilisateur n'a pas besoin de donner de valeurs explicites aux éléments des tableaux RDØN et IDØN. On pourra consulter l'ANNEXE I pour connaître les valeurs prises par défaut.

ISTAND = 2

Pratiquement analogue à l'option ISTAND = 1, mais ici, l'utilisateur doit préciser les bornes du cadre sujet, en affectant une valeur à chacun des 4 éléments suivants du tableau RDØN

RDØN (5) = Valeur minimun choisie en x

RDØN (6) = Valeur minimun choisie en y

RDØN (7) = Valeur maximun choisie en x

RDØN (8) = Valeur maximun choisie en y

Cette option permet d'avoir une meilleure graduation du cadre sujet.
ISTAND = - 1

Identique à <u>ISTAND = 1</u> pour le cadrage, mais dans ce cas le programme <u>initialise</u> par défaut toutes les autres options; et donc l'utilisateur n'a pas à préciser ni les autres éléments du common <u>DESØPT</u>, ni les éléments du common <u>DESPAR</u>.

Nous indiquons maintenant les valeurs prises par défaut
par les options et les paramètres autres que les éléments
de RDØN et IDØN

MØDGRX = 0

MØDGRY = 0

INUMX = 0

INUMY = 0

IX = 0

IY = 0

ICHAR = 0

LEGCØU = 0

ILMULT = 0

IGRAD = 1

IAXSUJ = 1

ISUPE = 0

IBØUCL = 0

ILIST = 1

PAS (1) = 1000

PAS (2) = .1

NP = 2

Ainsi lorsque l'utilisateur choisit cette option, il n'a qu'à
préciser VX, VY, NP1, NP2 bien entendu, ainsi que les éléments
du common DESANN.
ISTAND ≠ 1,2 ou -1

Le programme lui affectera automatiquement la valeur 0 ;
dans ce cas, la mise en page, les dimensions initiales du
dessin, la disposition du cadre sujet, le choix de la graduation
(linéaire ou logarithmique) etc... est laissée aux soins de
l'utilisateur qui doit alors préciser les valeurs de tous
les éléments des tableaux RDØN et IDØN.

Se reporter à l'ANNEXE I, pour la signification précise des
éléments de ces tableaux.

## 2°) MØDGRX, MØDGRY

Option mode de construction de la graduation sur le bord x,
ou le bord y du cadre sujet.

Les paramètres directement en relation avec ces options sont

XINT, NGRADX, YINT, NGRADY, IDØN (I) , I = 1 à 6

Ces options ne sont effectives que dans le cas d'échelle
linéaire sur les axes c'est-à-dire :

IDON (1) ≠ 1 pour MØDGRX

IDØN (2) ≠ 1 pour MØDGRY

MØDGRX = 1 (MØDGRY= 1)

Il faut alors donner des valeurs à XINT, NGRADX, (YINT, NGRADY), mais rappelons-le, elles ne seront effectivement utilisées que dans le cas d'échelle linéaire sur l'axe correspondant.
Par exemple, dans le cas `ISTAND = 0`, l'utilisateur a le choix de l'échelle sur les axes x et y par l'intermédiaire des éléments du tableau `IDON [IDON (1) et IDON(2)]`; il devra donc définir `IDON (1) = 0 (IDON (2) = 0)` s'il veut utiliser l'option `MODGRX = 1 (MODGRY = 1)`.

Dans le cas `ISTAND = 1` ou `2`, le choix de l'échelle sur les axes est fait automatiquement selon le procédé exposé dans l'ANNEXE I et la possibilité d'utiliser `MODGRX = 1 (MODGRY = 1)` ne sera effective que si l'échelle correspondante retenue est linéaire.

`XINT`, (`YINT`) est donné en **centimètres** et va représenter la longueur sur le **dessin final** de l'intervalle élémentaire sur l'axe x (axe y). Tous les `NGRADX`, `NGRADY`, on imprime la valeur de l'abscisse (ordonnée) correspondante. L'intervalle élémentaire est répété à partir de la valeur minimum sur le cadre sujet, évidemment.

$$MODGRX = 2 \quad (MODGRY = 2)$$

Utilisation identique à `MODGRX = 1 (MODGRY = 1)`, mais ici `XINT`, (`YINT`), toujours donné **en centimètres**, représente la longueur de l'intervalle élémentaire sur le **dessin initial**. La valeur de `XINT` (`YINT`) sera transformée par `HOMX`, (`HOMY`) pour l'obtention du dessin final.

$$MODGRX = 3 \quad (MODGRY = 3)$$

Même utilisation que précédemment, mais cette fois-ci `XINT`, (`YINT`), représente l'intervalle élémentaire exprimé **en unités sujet**.
MØDGRX ≠ 1,2 ou 3 ( MØDGRY ≠ 1,2 ou 3 )

Le programme lui affectera automatiquement la valeur 0.
Dans le cas `ISTAND = 1, 2 ou - 1, 1`'utilisateur n'a pas
a préciser les valeurs du tableau `IDØN` utilisées (affectation
standard `ANNEXE I`). Dans le cas `ISTAND ≠ 1,2 ou - 1, 1`,'utili-
sateur présice lui-même sur chaque axe, le nombre d'intervalles
et de sous intervalles par l'intermédiaire du tableau `IDØN`
(voir signification en `ANNEXE I`).

### 3°) INUMX, INUMY

Option permettant de modifier l'écriture des valeurs sur les
axes.

Les paramètres directement en relation avec ces options sont
`MODULX`, `MODULY`

Comme `MØDGRX`, `MØDGRY` ces options ne sont effectivement utilisables que dans le cas d'échelle linéaire sur l'axe correspondant.

`INUMX = 1 (INUMY = 1)`

Il faut alors préciser la valeur entière `MODULX` (`MODULY`) différente de 0. Cette option n'est utile que lorsqu'on veut faire une graduation particulière de l'axe correspondant.
Donnons ici un exemple qui éclairera l'utilisateur : l'axe des x représente une durée exprimée en heures de 0 à 72 h., et supposons qu'on veuille la graduation en heure jour par jour avec inscription du temps toutes les 4 heures.
Cela est possible en choisissant

$$ IDØN (3) = 18 $$

$$ IDØN (5) = 4 $$

$$ INUMX = 1 $$

$$ MØDULX = 24 $$

On obtient sur le dessin

<figure><img src="image_3.png" /></figure>

L'inscription de la graduation se fait toujours dans ce cas sous le format BENSON - 1 (nombres entiers).

$$ INUMX ≠ 1 \quad ( INUMY ≠ 1 ) $$

Le programme affectera la valeur 0 à cette option et la graduation inscrite sur le dessin sera la graduation réelle.

### 4°) IX, IY

#### Option écriture de légende sur les axes (cadre sujet)

Les paramètres en relation avec ces options sont les tableaux LEGX (15), LEGY (15) et les variables entières KX, KY

$$ IX = 1 \quad ( IY = 1 ) $$

On inscrit effectivement une légende sur le bord x (bord y) du cadre sujet par l'intermédiaire du tableau LEGX (LEGY)

Nous avons la possibilité d'inscrire 60 caractères (4 x 15) le nombre de caractères à écrire effectivement sur le dessin sera donné par KX, (KY).
$$IX \neq 1 \ (IY \neq 1)$$

On n'a pas alors besoin d'initialiser le tableau LEGX (LEGY) ni de donner de valeur à KX, (KY) de toutes façons on n'écrira pas de légendes sur le bord du cadre sujet.

### 5°) ICHAR

**Option de tracé de la courbe (traits, ou symboles)**

Les paramètres en relation avec cette option sont PAS (10), NP, ICHØIX, DIME

$$ICH\OIX = 1$$

La courbe est repérée par des **symboles centrés**; il faut alors faire son choix parmi 9 symboles par l'intermédiaire du paramètre ICHØIX

Il faut aussi indiquer sa grandeur (en centimètres) **sur le dessin initial** par le paramètre DIME

ICHØIX = 1 +

ICHØIX = 2 ×

ICHØIX = 3 *

ICHØIX = 4 ☐

ICHØIX = 5 ◇

ICHØIX = 6 △

ICHØIX = 7 ▽

ICHØIX = 8 ⋆

ICHØIX = 9 ○
ICCHAR #1

La courbe est tracée à l'aide des NP tirets (NP pair) définis par le tableau PAS

Les tirets de n° impair sont effectivement tracés sur le dessin, ceux de rang pair sont "tracés plume levée".

Par exemple si NP = 6, il faudra définir les 6 premiers éléments du tableau PAS

<figure><img src="image_4.png" /></figure>

Les valeurs des éléments du tableau PAS sont données en centimètres et sont valables pour le dessin initial, c'est-à-dire qu'elles sont affectées par les paramètres HØMX, HØMY - Plus précisemment les valeurs des éléments du tableau PAS seront multipliées par MIN (HØMX, HØMY)

## 6°) LEGCØU, ILMULT

Option permettant d'inscrire un commentaire sur le dessin par 1'intermédiaire du sous programme ECRI fourni par 1'utilisateur.

ILMULT permet de choisir l'emplacement de ce commentaire sur le dessin.

Les paramètres en relation avec ces options sont:

le sous-programme externe ECRI et les paramètres XLØNG, YLØNG, NUCØU
$$LEGCØU = 1$$

On fait effectivement appel au sous-programme ECRI ; l'utilisateur devra alors préciser certains des paramètres XLØNG, YLØNG, NUCØU selon la valeur qu'il donnera à ILMULT

$$LEGCØU \neq 1$$

On ne fait évidemment pas appel au sous-programme ECRI que l'utilisateur n'est pas obligé de fournir. Il est aussi inutile de s'occuper des paramètres ILMULT, XLØNG, YLØNG, NUCØU

$$ILMULT = 1$$

Premier repère pour l'emplacement du commentaire

Les paramètres utilisés pour déterminer le début d'écriture du commentaire sont XLØNG et NUCØU

<figure><img src="image_5.png" /></figure>
XLØNG est donné en centimètres, pour le dessin initial.
NUCØU est un entier relatif.

L'origine du repère $\mathbb{R}$1 par rapport à l'origine objet du
dessin est calculée par le programme de la façon suivante

$$
\left\{
\begin{array}{ll}
- \text{abscisse :} & \text{RDØN}(1) \\
- \text{ordonnée} & \begin{array}{l} \text{RDON } (3) - 6 \cdot \text{RDØN } (10) \\ \text{ - (RDØN } (11) \text{ si IGRAD = 1)} \end{array}
\end{array}
\right.
$$

L'intervalle entre 2 NUCØU successifs est

$$
\mathrm{RD}\mathrm{Ø}\mathrm{N} \ (10) \times 1.2375
$$

Aucun test n'est fait sur l'emplacement du commentaire
et l'on peut sortir du cadre objet si l'on ne prend garde !

$$
ILMULT = 2
$$

Le repère utilisé pour l'emplacement du commentaire est le
<u>repère sujet</u>, et les coordonnées du début d'écriture de ce
commentaire sont XLØNG et YLØNG

Comme dans le cas précédent, on ne fait aucun test sur l'empla-
cement de la légende et l'on peut sortir du cadre sujet et même
du cadre objet si les valeurs de XLØNG et YLØNG sont mal
choisies

Voir sur l'exemple
XLØNG = .5
YLØNG = 2.
<figure><img src="image_6.png" /></figure>

ILMULT = 3

Le repère utilisé cette fois-ci pour l'emplacement du commen-
taire est le _repère objet_, et les coordonnées du début écriture
du commentaire sont toujours données par XLØNG, YLØNG
exprimés en _centimètres_ (sur le dessin initial)

<figure><img src="image_7.png" /></figure>
ILMULT≠ 1, 2 ou 3

Le programme donnera automatiquement la valeur 0. On a ici la possibilité de référencer chaque courbe tracée. Après avoir tracé la courbe, on rappelle sur une longueur XLONG (en centimètres - dessin initial) le tireté constituant la courbe (ou bien le caractère spécial dans le cas ICHAR = 1).

Le commentaire ne doit être écrit que sur une seule ligne (comme dans l'exemple donné en page 5). Le nombre de commentaires (ou légendes) que l'on peut mettre est calculé par le programme de façon à ne pas déborder du cadre objet, ainsi si le nombre de courbes tracées par l'utilisateur est trop élevé, les dernières ne seront pas référencées.

Dans le cas du cadre standard ISTAND = 1 ou 2 on peut mettre 8 courbes avec une légende pour chaque courbe.

Il est recommandé de prendre un nombre de caractère ≤35 pour le sous-programme ECRI

C'est évidemment l'option la plus commode pour l'utilisateur. L'origine du repère utilisé implicitement est choisie comme dans le cas ILMULT = 1
7°) IGRAD

Option sens des tirets sur le bord du cadre sujet

IGRAD = 1

La graduation sur le cadre sujet se fait ainsi

<figure><img src="image_8.png" /></figure>

IGRAD ≠ 1

La graduation sur le cadre sujet se fait ainsi

<figure><img src="image_9.png" /></figure>
## 8°) IAXSUJ

Option permettant à l'utilisateur de tracer les vrais axes sujet s'ils sont à l'intérieur du cadre sujet.

$$IAXSUJ = 1$$

On trace le ou les axes sujet visibles dans le cadre sujet.

$$IAXSUJ = 2$$

Dans ce cas précis il faut que l'origine sujet soit à l'intérieur du cadre sujet pour que le programme trace les axes sujet.

$$IAXSUJ \neq 1 \text{ ou } 2$$

On ne trace pas le ou les axes sujet, même s'ils sont visibles dans le cadre sujet.

## 9°) ISUPE

Option offrant la possibilité de tracer plusieurs courbes dans le même cadre sujet.

$$ISUPE = 1$$

Seule la courbe est tracée (avec légende ou commentaire, c'est-à-dire appel à ECRI éventuellement) dans le cadre sujet.
précédent, avec les mêmes échelles sur les axes. Le premier appel à TRACØU doit évidemment être fait avec ISUPE≠1, cela pour préciser le cadre, les échelles sur les axes, etc... puisque l'appel à TRACØU avec ISUPE = 1 suppose cela conn

Pour les différentes courbes successives, nous n'aurons sur le dessin que la partie visible dans le cadre sujet.

ISUPE ≠ 1

A chaque appel de TRACØU, l'option ISUPE ayant une valeur différente de 1, un nouveau dessin sera fait, avec tout ce qu'elle comporte : tracé des cadres, des graduations, des légende sur les axes, etc...

10°) IBØUCL

Option permettant, lors de la superposition de courbes
ISUPE = 1, d'éviter le retour de la plume à l'origine objet.

IBØUCL = 1

Lorsque IBØUCL = 1, on évite le retour à l'origine objet de la plume, ainsi "tout" se trouve dans le même bloc BENSON. Cette option peut être utile lorsque le dessin qu'on veut obtenir est constitué de nombreuses courbes, qui nécessitent autant d'appels à TRACØU.
IBØUCL≠1

Toutes les courbes, ainsi qu'éventuellement la légende correspondante (si LEGCØU = 1) se trouvent dans des blocs BENSON différents. Cela peut être utile si on veut changer de plume lors du tracé.

## 11°) ILIST

Option permettant de retrouver sur le listing la valeur des options et des paramètres.

ILIST = 1

On rappelle sur le listing la valeur des différents paramètres et options retenus par l'utilisateur, ainsi que les numéros de BLOC BENSON

ILIST ≠ 1

Aucun rappel n'est fait sur listing.
## C - Eléments du common DESANN

Les éléments de ce common sont dans tous les cas à préciser
par l'utilisateur.

### 1°) HØMY, HØMY

Ces paramètres agissent sur les dimensions du dessin initial

Le dessin initial subit une transformation avant de le
reproduire sur BENSON :

- une homothétie de rapport HØMX dans la direction x

- une homothétie de rapport HØMY dans la direction y

Le centre d'homothétie est l'origine objet.

Pour que le dessin initial soit aussi le dessin final, il
suffit de prendre HØMX et HØMY = 1. Attention au choix
des valeurs de HØMX et HØMY, le dessin final (celui effecti-
vement tracé sur BENSON) ne doit être ni trop petit ni trop
grand.

Par exemple dans le cas ISTAND = 1, 2 ou -1 le dessin
initial à une dimension 33,6 cm x 47,5 cm et ainsi, il ne
faudra pas prendre HØMY ≥ 1,45 sinon le tracé sort des dimen-
sions du papier BENSON.

Dans le cas ISTAND = 0, les valeurs définissant le dessin
et fournies par l'utilisateur, correspondent bien entendu
à HØMX = HØMY = 1

Ces paramètres peuvent être évidemment modifiés pour chaque
dessin (option ISUPE‡ 1).

### 2°) XLARG

L'utilisateur doit initialiser XLARG à 0. dans le programme
appelant, avant le premier appel à TRACØU, puis ne plus s'occu-
per de cette variable.
### 3°) NØM (8), NL

NØM est un tableau d'entier, contenant le nom de l'utilisateur, ce tableau peut contenir 32 caractères (4 par mot) et le nombre de lettres à écrire effectivement est NL.

On peut initialiser ce tableau en DATA, par exemple :

DATA NØM / 'NOM DE L UTILISATEUR' /

NL = 20

### 4°) NBLØC

Si aucun appel au sous-programme BENSON IBENA (avec et. logique 10), n'a été fait avant le premier appel à TRACØU, initialiser NBLØC = 1 dans le programme appelant, puis ne plus modifier.
IV ANNEXE I

AXE Y OBJET (centimètres)

<figure><img src="image_10.png" /></figure>
## A - SIGNIFICATION DES ELEMENTS DE RDØN

On pourra voir aussi le graphique page 25

<table><thead><tr><th colspan="2">1°) Définition des cadres</th><th>Valeurs en centimètres</th></tr></thead><tbody><tr><td>RDØN (1)</td><td>abscisse (objet) début cadre sujet</td><td>6.</td></tr><tr><td>RDØN (2)</td><td>abscisse (objet) fin cadre sujet</td><td>31.</td></tr><tr><td>RDØN (3)</td><td>ordonnée (objet) début cadre sujet</td><td>9.</td></tr><tr><td>RDØN (4)</td><td>ordonnée (objet) fin cadre sujet</td><td>44.</td></tr><tr><td>RDØN (14)</td><td>marge entre cadres sujet/objet haut</td><td>3.5</td></tr><tr><td>RDØN (15)</td><td>marge entre cadres sujet/objet droite</td><td>2.6</td></tr><tr><td>RDØN (16)</td><td>espace entre dessins successifs</td><td>2.</td></tr></tbody></table>

<table><thead><tr><th colspan="2">VALEURS CHOISIES SI<br>ISTAND = 1,2 ou - 1</th></tr></thead><tbody><tr><td>6.</td><td></td></tr><tr><td>31.</td><td></td></tr><tr><td>9.</td><td></td></tr><tr><td>44.</td><td></td></tr><tr><td>3.5</td><td></td></tr><tr><td>2.6</td><td></td></tr><tr><td>2.</td><td></td></tr></tbody></table>

### 2°) Valeurs déterminant le cadre sujet

<table><tr><td>RDØN (5)</td><td>abscisse (sujet) bord gauche cadre sujet</td></tr><tr><td>RDØN (6)</td><td>ordonnée (sujet) bord inf. cadre sujet</td></tr><tr><td>RDØN (7)</td><td>abscisse (sujet) bord droit cadre sujet</td></tr><tr><td>RDØN (8)</td><td>ordonnée (sujet) bord sup. cadre sujet</td></tr></table>

<table><thead><tr><th colspan="2">VALEURS CHOISIES SI<br>ISTAND = 1 ou - 1</th></tr></thead><tbody><tr><td>min (VX (I)) NP1 &lt; I &lt; NP2</td><td></td></tr><tr><td>min (VY (I))</td><td>"</td></tr><tr><td>max (VX(I))</td><td>"</td></tr><tr><td>max (VY(I))</td><td>"</td></tr></tbody></table>

Dans le cas de graduation logarithmique (avec ISTAND = 1 ou - 1) on prend la puissance de 10 immédiatement inférieure ou supérieure selon le cas.

Pour ISTAND = 2 ces quatre valeurs sont à donner par l'utilisateur.
### 3°) Autres paramètres réels (en centimètres)

<table><tr><td>RDØN (9)</td><td>largeur des caractères</td></tr><tr><td>RDØN (10)</td><td>hauteur des caractères</td></tr><tr><td>RDØN (11)</td><td>longueur des graduations sur axe x</td></tr><tr><td>RDØN (12)</td><td>longueur des graduations sur axe y</td></tr><tr><td>RDØN (13)</td><td>déplacement latéral pour graduation de l'axe y</td></tr></table>

<table><thead><tr><th colspan="2">VALEURS CHOISIES<br>SI<br>ISTAND = 1,2 ou-1</th></tr></thead><tbody><tr><td></td><td>0.4</td></tr><tr><td></td><td>0.5</td></tr><tr><td></td><td>0.5</td></tr><tr><td></td><td>0.4</td></tr><tr><td>selon<br>le<br>cas</td><td>2.6<br>1.4<br>3.2</td></tr></tbody></table>

## B - SIGNIFICATION DES ELEMENTS DE IDØN

### 1°) Paramètres liés à la graduation du cadre

$$ \text{IDØN (1)} = \begin{cases} \text{Echelle logarithmique sur axe x} & (\star) \\ \text{Echelle linéaire sur axe x} & \end{cases} $$

$$ \text{IDØN (2)} = \begin{cases} \text{Echelle logarithmique sur axe y} & \\ \text{Echelle linéaire sur axe y} & \end{cases} $$

* **IDØN (3)** Nombre d'intervalle s réfØrencØs sur bord x du cadre sujet. (cas Øchelle linØaire)
Dans le cas dØchelle logarithmique, le nombre de modules est calculØ par le programme.

* **IDØN (4)** Nombre d'intervalle s réfØrencØs sur bord y du cadre sujet (cas Øchelle linØaire)
Dans le cas dØchelle logarithmique, le nombre de modules est calculØ de toutes façons par le programme.

<table><thead><tr><th colspan="2">VALEURS CHOISIES<br>SI<br>ISTAND =1,2 ou-1</th></tr></thead><tbody><tr><td>5</td><td>(★★)</td></tr><tr><td>10</td><td></td></tr></tbody></table>
IDØN (5) Nombre de sous-intervalles pour l'axe x
(Valable seulement dans le cas échelle
linéaire)

IDØN (6) Nombre de sous-intervalles pour chaque
intervalle de l'axe y
(Valable seulement dans le cas d'échelle
linéaire)

<table><thead><tr><th>VALEURS CHOISIES<br>SI ISTAND =1,2<br>ou -1</th></tr></thead><tbody><tr><td>10</td></tr><tr><td>5</td></tr></tbody></table>

L'exemple de la figure page 25 correspond à

$$IDØN(1) = 0$$

$$IDØN(2) = 0$$

$$IDØN (3) = 5$$

$$IDØN (4) = 3$$

$$IDØN (5) = 4$$

$$IDØN (6) = 9$$

<figure><img src="image_11.png" /></figure>

L'échelle logarithmique est prise dans le cas ISTAND = 1, 2 ou -1 si

a) $RDØN (5) [ou (RDØN (6))] > 0$ (Valeur minimum > 0)

b) $Log_{10} \left( \frac{V \text{ max}}{V \text{ min}} \right) \ge 3$ (Rapport entre la plus grande et la plus petite valeur sur le cadre $\ge 1000$)

<figure><img src="image_12.png" /></figure>

Dans le cas $MDGRX = 1$ ou 2, ($MDGRY = 1$ ou 2), IDØN (3) et IDØN (5), IDØN (4) et IDØN (6))

n'ont plus de signification, et ne sont pas utilisées par le programme.
2°) Format d'écriture des nombres

IDØN (7) Format BENSON sur axe x

IDØN (8) Format BENSON sur axe y

Le choix retenue dans le cas ISTAND = 1, 2 ou -1 et dans le cas
d'échelle linéaire est le suivant : (axe x ou axe y)

On pose $V = \max(|V_{max}|, |V_{min}|)$

a) $V \le 1$ Valeur 3

b) $1 < V \le 10$ Valeur 2

c) $10 < V \le 100$ Valeur 1

d) $V \ge 1000$ Valeur -1

e) pour l'axe y seul Valeur -2 si $V \ge 1000$
si $V < 0,01$
# V - ANNEXE II

Nous donnons dans ce paragraphe la liste et la fonction des sous-programmes de niveau I du soft BENSON, utilisés par TRACØU.

## 1°) IBENA

L'appel de ce sous-programme est obligatoire et doit être fait une seule fois avant le premier appel à tout autre sous-programme de trace.

CALL IBENA (IBUF, LBUF, ND)

IBUF est le nom du tableau dimensionné qui contient le BUFFER de sortie des ordres "Traceur"

LBUF est la dimension du BUFFER (en mots)
Nous avons choisi LBUF = 1000 dans TRACØU

ND n° logique de l'unité de sortie
Nous avons choisi ND = 10 dans TRACØU

## 2°) PNUMA

Ce sous-programme permet :

a) d'écrire une adresse sur la bande magnétique

b) de modifier l'implantation de l'origine

CALL PNUMA (XF, YF, NBLØC, XA, YA)

XF, YF coordonnées du point où sera déplacé la plume avant toute écriture d'adresse sur la bande ou réinitialisation de l'origine

NBLØC n° de l'adresse inscrite sur la bande magnétique

XA, YA coordonnées attribuées à la position actuelle de la plume, ce qui revient à déplacer l'origine
### 3°) TRAA

Ce sous-programme effectue le déplacement de la plume de manière linéaire de la position actuelle de la plume vers la position définie, dans le repère OBJET.

CALL TRAA (X, Y, J)

J = 0 On se déplace jusqu'au point de coordonnées X, Y plume levée

J = 1 On se déplace jusqu'au point de coordonnées X, Y plume baissée

J = 2 (X,Y) est le vecteur déplacement par rapport à la position actuelle de la plume - déplacement plume levée

J = 3 (X,Y) est le vecteur déplacement par rapport à la position actuelle de la plume - déplacement plume baissée.

### 4°) PØSA

Ce sous-programme permet de connaître la position de la plume dans le repère OBJET, au moment de l'appel

CALL PØSA (X,Y)

### 5°) PCARA

Ce sous-programme permet de tracer une chaîne de caractères alphanumériques

CALL PCARA (X,Y,J,NLIS, NC, HX, HY,CØSA, SINA)
X,Y, J permettent de définir l'implantation du point bas-gauche de la ligne - même signification que pour le sous-programme TRAA

NLIS tableau où sont rangés les caractères.

NC nombre de caractères à tracer

HX, HY largeur et hauteur des caractères en centimètres

CØSA, SINA valeur du cosinus et du sinus de l'angle que fait la ligne de caractères avec l'axe des x.

## 6°) NØMBA

Ce sous-programme permet de convertir et de tracer un nombre flottant.

CALL NØMBA (X, Y, J, FNP, NC, HX, HY, CØSA, SINA)

X,Y,J,HX, HY, SINA, CØSA même signification que dans PCARA

FNP valeur en mode flottant du nombre à tracer ; son format est défini par NC

NC indication de format

NC >0 représente le nombre de décimales après la virgule (analogue au format F FØRTRAN)

NC = -1 représente le format I FØRTRAN

NC < -1 représente le nombre de chiffres significatifs du format E FØRTRAN
### 7°) ECHEL

Ce sous-programme permet de définir les échelles entre
l'espace OBJET et l'espace SUJET et l'implantation
de l'origine SUJET dans l'espace OBJET

CALL ECHEL (EX, EY, XØ, YØ)

EX échelle en X - nombre d'unités OBJET par unité SUJET

EY échelle en Y - nombre d'unités OBJET par unité SUJET

XØ, YØ coordonnées OBJET de l'origine SUJET

### 8°) TRAS

Analogue à TRAA mais cette fois-ci dans le repère SUJET
appel par CALL TRAS (X,Y,J).
This image does not contain any text. It appears to be a pattern of dots and lines.

This image does not contain any text. It appears to be a pattern of dots and lines.

This image does not contain any text. It appears to be a pattern of dots and lines.

This image does not contain any text. It appears to be a pattern of dots and lines.

This image does not contain any text. It appears to be a pattern of dots and lines.

This image does not contain any text. It appears to be a pattern of dots and lines.

This image does not contain any text. It appears to be a pattern of dots and lines.

This image does not contain any text. It appears to be a pattern of dots and lines.
1. C
2. C
3. C
4. C LES CARTES AVEC X EN COLONNE 1 SONT CONSIDERES COMME COMMENTAIRES

5. C
6. C
7. C
8. COMMON/DESOPT/ISTAND,MODGRX,MODGRY,INUMX,INUMY,IX,IX,Y,ICHAR,LEGC0U,
9. 1ILMULT,IGRAD,IAXSUJ,ISUPE,IBOUCL,ILIST
10. COMMON/DESPAR/RDEN(16),IDEN(8),XINT,NGRADX,YINT,NGRADY,MODULX,
11. 1MODULY,LEGX(15),KX,LEGY(15),KY,PAS(10),NP,ICH9IX,DIME,XL0NG,YL0NG,
12. 2NUCGU
13. COMMON/DESA NN/HOMX,H0MY,XLARG,N0M(8),NL,NBL0C
14. C0MMEN/ECR/NIT(8),JX,TX,NF0
15. DIMENSION Vx(2001),VY(2001)

16. C
17. NBL0C=1
18. XLARG=0.
19. DATA N0M/'A.MARRUCCO '/
20. NL=10

21. C
22. C TRACE DU PREMIER DESSIN --- OPTION ISTAND=-1

23. C
24. C
25. C
26. ISTAND=-1
27. HOMX=.5
28. H0MY=.5

29. C
30. EPS=1.E-4
31. C=1.
32. ALPHA=7.5
33. T=1.E+4
34. XH=0.025
35. D0 4 I=1,401
36. X=VX(I)=XH*FL0AT(I-1)
37. X=X**ALPHA
38. 4 VY(I)=EPS+C*X/(X+T)
39. CALL TRAC0U(VX,VY,1,401,FCRI)

40. C
41. C TRACE DU DEUXIEME DESSIN

42. C
43. C
44. C
45. ISTAND=2
46. RD0N(5)=-5.
47. RD0N(6)=-1.5
48. RD0N(7)=10.
49. RD0N(8)=1.5

50. X M0DGRX=0
51. X M0DGRY=0
52. X INUMX=0
53. X INUMY=0
54. IX=1
55. IY=1
56. LEGX(1)=4HABSC
57. LEGX(2)=4HISSE
58. LEGY(1)=4H0RD0
53. LEGY(2)=4HJNNEE
6. KX=8
61. KY=8
62. X ICHAR=0
63. NP=6
64. PAS(2)=.2
65. PAS(3)=.1
66. PAS(4)=.2
67. PAS(5)=.1
68. PAS(6)=.2
69. LEGC6J=1
70. EXTERNAL ECRI
71. X ILMULT=0
72. XLANG=6.
73. IGRAD=0
74. IAXSUJ=1
75. X ISUPE=0
76. X IBSUCL=0
77. X ILIST=1
78. X HAMX=.5
79. X HAMY=.5
80. NP1=1
81. NP2=401
82. C
83. TETA=.314159
84. TX=-TETA
85. NF0=3
86. JX=24
87. XH=0.035
88. D0 1 I=1,401
89. 1 VX(I)=XH*FLBAT(I-1)-4.5
90. D0 10 I=1,6
91. READ 5000,(NIT(K),K=1,8)
92. TX=TX+TETA
93. PAS(1)=I*I*.1
94. D0 11 J=1,401
95. 11 VY(J)=SIN(VX(J)+TX)
96. CALL TRACOU(VX,VY,NP1,NP2,ECRI)
97. ISUPE=1
98. 10 CONTINUE
99. C
100. C TRACE DU TRDISIFME DESSIN
101. C
102. C
103. C
104. X ISTAND=2
105. X RD8N(5)=-5.
106. X RD8N(6)=-1.5
107. X RD8N(7)=10.
108. X RD8N(8)=1.5
109. X M8DGRX=0
110. X M8DGRY=0
111. X INUMX=0
112. X INUMY=0
113. X IX=0
114. X IY=0
115. X ICHAR=1
116. X DIME=.5
117. C ICHBIX DEFINI DANS LA BOUCLE

118. X LEGCHU=1

119. ILPULT=2

120. C XLBNG ET YLBNG DEFINIS DANS LA BOUCLE

121. IGRAO=1

122. IAXSUJ=0

123. ISUPE=0

124. IBBUCL=1

125. X ILIST=1

126. X HBMX=.5

127. X HBMY=.5

128. X NP1=1

129. X NP2=20

130. C

131. XH=.5

132. D8 2 I=1,20

133. 2 VX(I)=XH+FLBAT(I-1)

134. READ 5000,(NIT(K),K=1,8)

135. JX=15

136. NF8=-1

137. D8 50 IJ=1,9

138. TX=IJ

139. ICHBIX=IJ

140. D8 3 I=1,20

141. 3 VY(I)=1.-FLBAT(IJ-1)*.25

142. XLBNG=-4.5

143. YLBNG=VY(1)

144. CALL TRACGU(VX,VY,NP1,NP2,ECRI)

145. ISUPE=1

146. 50 CONTINUE

147. C

148. C TRACE DES QUATRIEME ET CINQUIEME DESSINS ---APTION ISTAND=0

149. C

150. C

151. C

152. ISTAND=0

153. RDON(1)=8.

154. RDON(2)=38.

155. RDON(3)=4.

156. RDON(4)=22.

157. RDON(5)=1.

158. RDON(6)=0.

159. RDON(7)=100.

160. RDON(8)=3.

161. RDON(9)=.5

162. RDON(10)=.4

163. RDON(11)=1.

164. RDON(12)=.5

165. RDON(13)=4.

166. RDON(14)=3.

167. RDON(15)=2.

168. RDON(16)=2.

169. IDON(1)=1

170. IDON(2)=0

171. IDON(3)=0

172. IDON(4)=3

173. IDON(5)=0

174. IDON(6)=20
175. IDEN(7)=0

176. IDEN(8)=3

177. C IDEN(3) ET IDEN(5) N'ONT PAS DE SIGNIFICATION POUR LE PROGRAMME CAR IDEN(1)=1

178. X MODGRX=0

179. X MODGRY=0

180. X INUMX=0

181. X INUMY=0

182. X X=1

183. X Y=1

184. X LEGX(1)=4HABSC

185. X LEGX(2)=4HISSE

186. X LEGY(1)=4HORD8

187. X LEGY(2)=4HNNEE

188. X KX=8

189. X KY=8

190. X CHAR=0

191. X NP=2

192. X PAS(1)=200.

193. X PAS(2)=.2

194. X LEGCU=0

195. X IGRAD=0

196. X IAXSUJ=0

197. X ISUPE=0

198. X IBGUCL=0

199. X ILIST=1

200. X HOMX=.45

201. X HOMY=.45

202. X NP1=1

203. X NP2=401

204. C

205. XH=0.25

206. D8 5 I=1,401

207. X=VX(I)=1.+FLBAT(I-1)*XH

208. X=- (X*X*.01)

209. 5 VY(I)=1.+EXP(X)

210. CALL TRACCU(VX,VY,NP1,NP2,ECRI)

211. X HOMY=1.

212. CALL TRACCU(VX,VY,NP1,NP2,ECRI)

213. C

214. C TRACE DU SIXIEME DESSIN

215. C

216. C

217. C

218. X ISTAND=0

219. X RDEN(1)=8.

220. X RDEN(2)=28.

221. X RDEN(3)=8.

222. X RDEN(4)=28.

223. X RDEN(5)=-1.5

224. X RDEN(6)=-2.

225. X RDEN(7)=1.5

226. X RDEN(8)=2.

227. X RDEN(9)=.4

228. X RDEN(10)=.4

229. X RDEN(11)=1.

230. X RDEN(12)=.5

231. X RDEN(13)=4.

232. X RDEN(14)=3.

233. X RDEN(15)=1.
233. X RDN(15)=2.

234. X RDN(16)=2.

235. X IDEN(1)=0

236. X IDEN(2)=0

237. X IDEN(3)=2

238. X IDEN(4)=4

239. X IDEN(5)=50

240. X IDEN(6)=20

241. X IDEN(7)=2

242. X IDEN(8)=3

243. X MDCGX=0

244. X MDCGRY=0

245. X NUMX=0

246. X NUMY=0

247. X IX=1

248. X IY=1

249. X LEGX(1)=4HARSC

250. X LEGX(2)=4HISSE

251. X LEGY(1)=4HORD9

252. X LEGY(2)=4HNNEE

253. X KX=8

254. X KY=8

255. X ICHAR=0

256. X NP=2

257. X PAS(1)=200.

258. X PAS(2)=.2

259. X LEGCU=1

260. X EXTERNAL ZECRI

261. X ILMULT=0

262. X LENG=0.

263. X IGPAD=0

264. X IAXSUJ=1

265. X ISUPE=0

266. X IBRUCL=0

267. X ILIST=1

268. X NP1=1

269. X NP2=401

270. X HOMX=.6

271. X HOMY=.6

272. XH=0.0471

273. X D8 6 I=1,401

274. X=FLGAT(I=1)*XH

275. X=X/3.

276. X VX(I)=COS(X)

277. X VY(I)=COS(Y)+SIN(Y)

278. X CALL TRACGU(VX,VY,NP1,NP2,ZECRI)

279. C

280. C TRACE DES SEPTIEME ,HUITIEME ET NEUVIEME DESSINS

281. C

282. C

283. C

284. X ISTAND=2

285. X RDN(5)=0.

286. X RDN(6)=0.

287. X RDN(7)=50.

288. X RDN(8)=3.

289. X DGRX=1

290. XINT=.4
291. ING: ADX=6

292. X MODGRY=0

293. INUMX=1

294. MODULX=24

295. X INUMY=0

296. X IX=1

297. X IY=1

298. LEGX(1)=4HHEUR

299. LEGX(2)=4HES

300. LEGY(1)=4HINTE

301. LEGY(2)=4HNSIT

302. LEGY(3)=4HE

303. KX=6

304. KY=9

305. X ICHAR=0

306. X NP=2

307. X PAS(1)=200.

308. X PAS(2)=.2

309. LEGCSU=0

310. IGRAD=1

311. IAXSUJ=0

312. X ISUPE=0

313. X IBHUCL=0

314. X ILIST=1

315. X NP1=1

316. X NP2=401

317. HOMX=0.8

318. HOMY=0.4

319. XH=0.1

320. DO 7 I=1,NP2

321. X=VX(I)=FLBAT(I)*XH

322. X=X*0.1

323. 7 VY(I)=1.5+EXP(-X)*SIN(VX(I))

324. CALL TRACCU(VX,VY,NP1,NP2,ECRI)

325. HOMX=0.4

326. CALL TRACCU(VX,VY,NP1,NP2,ECRI)

327. MODGRX=3

328. XINT=10

329. CALL TRACCU(VX,VY,NP1,NP2,ECRI)

330. C TRACE CU DIXIEME DESSIN

331. C

332. C

333. C

334. C

335. X ISTAND=2

336. RDON(5)=-1.

337. RDON(6)=-1.

338. RDON(7)=1.

339. RDON(8)=1.

340. MODGRX=0

341. X MODGRY=0

342. X INUMX=0

343. X INUMY=0

344. XIX=0

345. X IY=0

346. X ICHAR=0

347. X NP=2

348. PAS(1)=10000.
349. PAS(2)=0.01

350. X LEGEU=0

351. X IGRAD=1

352. X IAXSUJ=2

353. X ISUPE=0

354. X IB0UCL=1

355. X ILIST=1

356. X NP1=1

357. XNP2=2001

358. XHPMX=.55

359. XHPMY=.55

360. XH=6.283185308/2000.

361. C=5.

362. D8 8 I=1,17

363. C=C*0.86

364. D8 9 J=1,2001

365. TETA=XH*FL0AT(J-1)

366. VAL=C0S(3.*TETA)

367. VAL=C*ABS(VAL)**.33333333

368. VX(J)=VAL*C0S(TETA)

369. 9 VY(J)=VAL*SIN(TETA)

370. CALL TRACEU(VX,VY,NP1,NP2,ECRI)

371. ISUPE=1

372. 8 CONTINUE

373. C

374. C

375. NBL8C=999

376. CALL PNUMA(60.0,0.0,NBL8C,0.0,0.0)

377. 5000 FORMAT(20A4)

378. STOP

379. END
1. SURROUND ECRIT(HX,HY)

2. COMMON/ECR/NIT(8),JX,TX,NF0

3. CALL PCARA(0,0,0,2,NIT,JX,HX,HY,1,0,0)

4. CALL NOMRA(HX,0,2,TX,NF0,HX,HY,1,0,0)

5. RETURN

6. END

1. SUBROUTINE ZECR1(HX,HY)

2. DIMENSION LEG(5),LEG1(2),LEG2(5)

3. H1=10.*HX

4. H2=2.*HY

5. DATA LEG/'COURBE PARAMETREE /

6. DATA LEG1/'X=COS(T)/

7. DATA LEG2/'Y=COS(T/3)+SIN(T/3) /

8. CALL P0SA(XA,YA)

9. X=XA+H1

10. Y=YA

11. CALL PCARA(X,Y,0,LEG,20,HX,HY,1,0,0)

12. Y=Y-H2

13. CALL PCARA(X,Y,0,LEG1,8,HX,HY,1,0,0)

14. Y=Y-H2

15. CALL PCARA(X,Y,0,LEG2,20,HX,HY,1,0,0)

16. RETURN

17. END

## - CARTES DONNEES -

SIN (X + ALPHA)

* * * * * * * *

* * * * * * * *

* * * * * * * *

* * * * * * * *

* * * * * * * *

DEPHASAGE

* * * * * * * *

* * * * * * * *

* * * * * * * *

* * * * * * * *

* * * * * * * *

SYMBOLE NUMERO
DESSIN 1 TRACE DE COURBES

FICHIER AM-TRACQU2

JANVIER 1975

<table><tr><td>mise en page</td><td>BLOC</td><td>1</td><td>ISTAND</td><td>•1</td><td>HOMOTHETIE EN X</td><td>•5000</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>HOMOTHETIE EN Y</td><td>•5000</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>SENS GRADUATION</td><td>1</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>NUMEROTATION BLOCS</td><td>0</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>EMPLACEMENT LEGENDE</td><td>0</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>MODE GRAD X</td><td>0</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>MODE GRAD Y</td><td>0</td></tr></table>

GRADUATION DU CADRE

BLOC

3

AXE X LINEAIRE
AXE Y LOGARITHMIQUE
NP1#

BLOC

4

TIRETS EN CM 1000.00

•10

NP2# 401
MISE EN PAGE

BLOC 6

ISTAND

HOMOTHETIE EN X
HOMOTHETIE EN Y

•5000
•5000

SENS GRADUATION 0
NUMEROTATION BLOCS 0
EMPLACEMENT LEGENDE 0
MODE GRAD X 0
MODE GRAD Y 0

GRADUATION DU CAPRE BLOC 8 RDGN 5,6,7,8 •5000E 01 •1500E 01 •1000E 02 •1500E 01

AXE X LINEAIRE
LEGENDE SUR AXE X
AXE Y LINEAIRE
LEGENDE SUR AXE Y

AXES SUJETS 1

BLOC 9

-----------TRACE DE COURSE
TIRETS EN CM
ECRITURE DE LEGENDE

BLOC 10
.20
BLOC 11

•20 •10

NP1#

•20
XLONG= 6.0000

NP2#

-----------TRACE DE COURSE
TIRETS EN CM
ECRITURE DE LEGENDE

BLOC 12
.20
BLOC 13

•20 •10

NP1#

•20
XLONG= 6.0000

NP2#

-----------TRACE DE COURSE
TIRETS EN CM
ECRITURE DE LEGENDE

BLOC 14
.20
BLOC 15

•20 •10

NP1#

•20
XLONG= 6.0000

NP2#

-----------TRACE DE COURSE
TIRETS EN CM
ECRITURE DE LEGENDE

BLOC 16
.20
BLOC 17

•20 •10

NP1#

•20
XLONG= 6.0000

NP2#

-----------TRACE DE COURSE
TIRETS EN CM
ECRITURE DE LEGENDE

BLOC 18
.20
BLOC 19

•20 •10

NP1#

•20
XLONG= 6.0000

NP2#

-----------TRACE DE COURSE
TIRETS EN CM
ECRITURE DE LEGENDE

BLOC 20
.20
BLOC 21

•20 •10

NP1#

•20
XLONG= 6.0000

NP2#
<table><thead><tr><th>MISE EN PAGE</th><th>BLOC</th><th>23</th><th>ISTAND</th><th>2</th><th>HOMOTHETIE EN X</th><th>.5000</th></tr></thead><tbody><tr><td></td><td></td><td></td><td></td><td></td><td>HOMOTHETIE EN Y</td><td>.5000</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>SENS GRADUATION</td><td>1</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>NUMEROTATION BLOCS</td><td>1</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>EMPLACEMENT LEGENDE</td><td>2</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>MODE GRAD X</td><td>0</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>MODE GRAD Y</td><td>0</td></tr><tr><td>GRADUATION DU CADRE</td><td>BLOC</td><td>25</td><td>RDON 5,6,7,8</td><td>.5000E 01</td><td>.1500E 01</td><td>.1000E 02</td><td>.1500E 01</td></tr><tr><td></td><td></td><td></td><td>AXE X LINEAIRE</td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td>AXE Y LINEAIRE</td><td></td><td></td><td></td><td></td></tr><tr><td>------------TRACE DE COURSE</td><td>BLOC</td><td>26</td><td>NP1-</td><td>1</td><td>.5000</td><td>20</td></tr><tr><td>SYMBOLLE NUMER</td><td>BLOC</td><td>26</td><td>GRANDEUR</td><td></td><td>.5000E 01</td><td></td></tr><tr><td>ÉCRITURE DE LEGENDE</td><td>BLOC</td><td>26</td><td>XLONG-</td><td></td><td>.5000E 01</td><td>YLONG-</td><td>.10000E 01</td></tr><tr><td>------------TRACE DE COURSE</td><td>BLOC</td><td>26</td><td>NP1-</td><td>1</td><td>.5000</td><td>20</td></tr><tr><td>SYMBOLLE NUMER</td><td>BLOC</td><td>26</td><td>GRANDEUR</td><td></td><td>.5000E 01</td><td></td></tr><tr><td>ÉCRITURE DE LEGENDE</td><td>BLOC</td><td>26</td><td>XLONG-</td><td></td><td>.5000E 01</td><td>YLONG-</td><td>.75000E 00</td></tr><tr><td>------------TRACE DE COURSE</td><td>BLOC</td><td>26</td><td>NP1-</td><td>1</td><td>.5000</td><td>20</td></tr><tr><td>SYMBOLLE NUMER</td><td>BLOC</td><td>26</td><td>GRANDEUR</td><td></td><td>.5000E 01</td><td></td></tr><tr><td>ÉCRITURE DE LEGENDE</td><td>BLOC</td><td>26</td><td>XLONG-</td><td></td><td>.5000E 01</td><td>YLONG-</td><td>.50000E 00</td></tr><tr><td>------------TRACE DE COURSE</td><td>BLOC</td><td>26</td><td>NP1-</td><td>1</td><td>.5000</td><td>20</td></tr><tr><td>SYMBOLLE NUMER</td><td>BLOC</td><td>26</td><td>GRANDEUR</td><td></td><td>.5000E 01</td><td></td></tr><tr><td>ÉCRITURE DE LEGENDE</td><td>BLOC</td><td>26</td><td>XLONG-</td><td></td><td>.5000E 01</td><td>YLONG-</td><td>.25000E 00</td></tr><tr><td>------------TRACE DE COURSE</td><td>BLOC</td><td>26</td><td>NP1-</td><td>1</td><td>.5000</td><td>20</td></tr><tr><td>SYMBOLLE NUMER</td><td>BLOC</td><td>26</td><td>GRANDEUR</td><td></td><td>.5000E 01</td><td></td></tr><tr><td>ÉCRITURE DE LEGENDE</td><td>BLOC</td><td>26</td><td>XLONG-</td><td></td><td>.5000E 01</td><td>YLONG-</td><td>.25000E 00</td></tr><tr><td>------------TRACE DE COURSE</td><td>BLOC</td><td>26</td><td>NP1-</td><td>1</td><td>.5000</td><td>20</td></tr><tr><td>SYMBOLLE NUMER</td><td>BLOC</td><td>26</td><td>GRANDEUR</td><td></td><td>.5000E 01</td><td></td></tr><tr><td>ÉCRITURE DE LEGENDE</td><td>BLOC</td><td>26</td><td>XLONG-</td><td></td><td>.5000E 01</td><td>YLONG-</td><td>.50000E 00</td></tr><tr><td>------------TRACE DE COURSE</td><td>BLOC</td><td>26</td><td>NP1-</td><td>1</td><td>.5000</td><td>20</td></tr><tr><td>SYMBOLLE NUMER</td><td>BLOC</td><td>26</td><td>GRANDEUR</td><td></td><td>.5000E 01</td><td></td></tr><tr><td>ÉCRITURE DE LEGENDE</td><td>BLOC</td><td>26</td><td>XLONG-</td><td></td><td>.5000E 01</td><td>YLONG-</td><td>.75000E 00</td></tr><tr><td>------------TRACE DE COURSE</td><td>BLOC</td><td>26</td><td>NP1-</td><td>1</td><td>.5000</td><td>20</td></tr><tr><td>SYMBOLLE NUMER</td><td>BLOC</td><td>26</td><td>GRANDEUR</td><td></td><td>.5000E 01</td><td></td></tr><tr><td>ÉCRITURE DE LEGENDE</td><td>BLOC</td><td>26</td><td>XLONG-</td><td></td><td>.5000E 01</td><td>YLONG-</td><td>.10000E 01</td></tr></tbody></table>
DESSIN 4 TRACE DE COURSES

FICHIER AM-TRAC9U2

JANVIER 1975

MISE EN PAGE

BLOC 27

ISTAND 0

HOMOTHETIE EN X •4500
HOMOTHETIE EN Y •4500

SENS GRADUATION 0
NUMEROTATION BLOCS 0
EMPLACEMENT LEGENDE 2
MODE GRAD X 0
MODE GRAD Y 0

GRADUATION DU CADRE

BLOC 29

AXE X LOGARITHMIQUE
LEGENDE SUR AXE X
AXE Y LINEAIRE
LEGENDE SUR AXE Y

DONNEES FURNIES PAR L'UTILISATEUR

•800E 01 •330E 02 •4000E 01
•500E 00 •4000E 00 •1000E 01
1 0 0

•2200E 02 •1000E 01 •0000E 00
•5000E 00 •4000E 01 •3000E 01
3 0 20

•1000E 03 •3000E 01
•2000E 01 •2000E 01
0 3

...........TRACE DE COURBE
TIRETS EN CM

BLOC 30
•20

NP1# 1

NP2# 401
MISE EN PAGE

BLC0 32

ISTAND 0

HOMOTHETIE EN X .4500
HOMOTHETIE EN Y 1.0000

SENS GRADUATION 0
NUMEROTATION BLC0S 0
EMPLACEMENT LEGENDE 2
MODE GRAD X 0
MODE GRAD Y 0

GRADUATION DU CADRE

BLC0 34

AXE X LOGARITHMIQUE
LEGENDE SUR AXE X
AXE Y LINEAIRE
LEGENDE SUR AXE Y

DONNEES FURNIES PAR L'UTILISATEUR

•800E 01 •3800E 02 •4000E 01 •2200E 02 •1000E 01 •0000E 00 •1000E 03 •3000E 01
•500E 00 •4000E 00 •1000E 01 •500E 00 •4000E 01 •3000E 01 •2000E 01 •2000E 01
1 0 3 0 20 0 3

TRACE DE COURBE
TIRETS EN CM

BLC0 35
•20

NP19 1

NP2# 401
MISE EN PAGE

BLOC 37

ISTAND 0

HOMOTHETIE EN X •6000
HOMOTHETIE EN Y •6000

SENS GRADUATION 0
NUMERATION BLOCS 0
EMPLACEMENT LEGENDE 0
MODE GRAD X 0
MODE GRAD Y 0

GRADUATION DU CADRE

BLOC 39

AXE X LINEAIRE
LEGENDE SUR AXE X
AXE Y LINEAIRE
LEGENDE SUR AXE Y

DENNES FOURNIES PAR L UTILISATEUR

<table><tr><td>•800E 01</td><td>•2800E 02</td><td>•800E 01</td><td>•2800E 02</td><td>•1500E 01</td><td>•2000E 01</td><td>•1500E 01</td><td>•2000E 01</td></tr><tr><td>•4000E 00</td><td>•4000E 00</td><td>•1000E 01</td><td>•5000E 00</td><td>•4000E 01</td><td>•3000E 01</td><td>•2000E 01</td><td>•2000E 01</td></tr></table>

AXES SUJETS 1

BLOC 40

........... TRACE DE COURBE
TIRETS EN CM 200.00
Ecriture de Legende

BLOC 41
•20
BLOC 42

NP1 1
XLONG

NP2 401
•0000
<table><tbody><tr><td>mise en page</td><td>BLOC</td><td>44</td><td>ISTAND</td><td>2</td><td>HOMOTHETIE EN X</td><td>•8000</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>HOMOTHETIE EN Y</td><td>•4000</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>SENS GRADUATION</td><td>1</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>NUMEROTATION BLOCS</td><td>0</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>EMPLACEMENT LEGENDE</td><td>0</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>MODE GRAD X</td><td>1</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>MODE GRAD Y</td><td>0</td></tr><tr><td>GRADUATION DU CADRE</td><td>BLOC</td><td>46</td><td>RDON 5,6,7,8</td><td>•0000E 00</td><td>•0000E 00</td><td>•5000E 02</td><td>•3000E 01</td></tr><tr><td></td><td></td><td></td><td>AXE X LINEAIRE</td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td>INTERVALLE</td><td>•4000</td><td>CM</td><td>REFERENCE TOUS LES</td><td>6</td></tr><tr><td></td><td></td><td></td><td>NUMEROTATION SPECIALE</td><td></td><td>VALEURS MODUL0</td><td></td><td>INTERVALLES</td></tr><tr><td></td><td></td><td></td><td>LEGENDE SUR AXE X</td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td>AXE Y LINEAIRE</td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td>LEGENDE SUR AXE Y</td><td></td><td>NP1F</td><td>1</td><td>NP2F 401</td></tr><tr><td>-----------TRACE DE COURBE</td><td>BLOC</td><td>47</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>TIRETS EN CM</td><td></td><td>•20</td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>
MISE EN PAGE

BLOC 49

ISTAND 2

HOMOTHETIE EN X •4000
HOMOTHETIE EN Y •4000

SENS GRADUATION 1
NUMEROTATION BL0CS 0
EMPLACEMENT LEGENDE 0
MODE GRAD X 1
MODE GRAD Y 0

RDBN 5,6,7,8 •0000E 00 •0000E 00 •5000E 02 •3000E 01

GRADUATION DU CADRE

BLOC 51

AXE X LINEAIRE

INTERVALLE •4000

NUMEROTATION SPECIALE CM

LEGENDE SUR AXE X

AXE Y LINEAIRE

LEGENDE SUR AXE Y

NP1#

1

NP2•

•01

REFERENCE TOUS LES 6 INTERVALLES
VALEURS MODULE 24

TRACE DE COURBE
TIRETS EN CM

BLOC 52
•20

200•00
MISE EN PAGE

BLOC 54

ISTAND

HOMOTHETIE EN X
HOMOTHETIE EN Y

•4000
•4000

SENS GRADUATION 1

NUMEROTATION BLOCS 0

EMPLACEMENT LEGENDE 0

MODE GRAD X 3

MODE GRAD Y 0

GRADUATION DU CADRE

BLOC 56

RDN 5,6,7,8 •0000E 00 •0000E 00 •5000E 02 •3000E 01

AXE X LINEAIRE

INTERVALLE •1000E 01

NUMEROTATION SPECIALE VALEURS MODULO 24

LEGENDE SUR AXE X

AXE Y LINEAIRE

LEGENDE SUR AXE Y

BLOC 57

NP1:

1

NP2:

401

TRACE DE COURBE
TIRETS EN CM

200.00

•20

REFERENCE TOUS LES 6 INTERVALLES
<figure><img src="image_13.png" /></figure>

LABORIA- A.MARROCCO
<figure><img src="image_14.png" /></figure>

LABORIA- A.MARROCCO
<figure><img src="image_15.png" /></figure>

LABORIA- A.MARROCCO
<figure><img src="image_16.png" /></figure>

LABORIA- A.MARROCCO

T109 74..EXEMPLES

13×38×06×21 18×12×74

DESSIN 4
<figure><img src="image_17.png" /></figure>

LABORIA- A.MARROCCO
<figure><img src="image_18.png" /></figure>

COURBE PARAMETREE
X=COS(T)
Y=COS(T/3)+SIN(T/3)

<table><tr><td>ABSCISSE</td></tr></table>

LABORIA- A.MARROCCO
LABORIA A. MARRIACCO

<figure><img src="image_19.png" /></figure>
<figure><img src="image_20.png" /></figure>

LABORIA- A.MARROCCO
<figure><img src="image_21.png" /></figure>
<figure><img src="image_22.png" /></figure>

LABORIA- A.MARROCCO
VII - PROGRAMME DE TRACE (FØRTRAN)

On donne dans les pages qui suivent le programme FØRTRAN
de tracé de courbes planes.

Le sous-programme TRACØU fait (entre autres) appel au sous-
programme JØBID écrit en METASYMBØL et qui dépend donc de l'ordinateur
utilisé. Le programme JØBID donné est valable pour l'ordinateur IRIS 80
sous système SIRIS 8. Si on ne veut pas utiliser ce programme d'identi-
fication (voir action par l'intermédiaire de IDENTI sur les dessins,
au-dessous du cadre objet : identificateur, nom du job, date de passage
en machine), il suffit d'enlever les cartes n°216, 217, 218, 219 dans
le programme TRACØU.

Je remercie mes camarades du LABORIA qui ont utilisé et testé
"des premières versions" de TRACØU. Par leurs remarques et suggestions
ces versions se sont à peu à peu complétées et ont abouti à la version
présentée ici. Il est évident qu'on ne peut certainement pas tout faire
avec TRACØU, mais on doit pouvoir faire face à un grand nombre de
situations et préoccupations.

Je remercie Mr.SALTEL de l'équipe graphique du LABORIA pour m'avoir
transmis son programme de découpage SCSØ2.
1. SUPERGUTLINE TRACCOU(VX,VY,NP1,NP2,ECR1)
2. COMMON/DESPOT/ISTAND,MODGRX,MODGRY,INUMX,INUMY,IX,IY,ICHAR,LEGC0U,
3. 1LMULT,IGRAD,IAXSUJ,ISUPE,IBGUCL,ILIST
4. COMMON/DESPAR/RD0N(16),ID0N(8),XINT,NGRACX,YINT,NGRACY,M0CULX,
5. 1MODULY,LEGX(15),KX,LEGY(15),KY,PAS(10),NP,ICH0IX,RIME,TLONG,YL0NG,
6. 2NUCOU
7. COMMON/DESANN/H0MX,H0MY,XLARG,N0M(8),NL,NBL0C
8. COMMON/MAROK0/VMINX,VMAXX,VMINY,VMAXY,RX,RY,YA,YAA,XD0,TIGR,NMAX,
9. 1XXINT,YYINT,NDESS
10. DIMENSION VX(1),VY(1)
11. DIMENSION IBUF(1000)
12. DIMENSION VX(2),WY(2)
13. DIMENSION PASS(2),LAB0(2),XD0N(16),LD0N(8),RAS(10),IDENT(13)
14. DATA LAB0/'LAB0RIA-'/
15. DATA IPASS/0/
16. NP=MIN0(NP,10)
17. H0MXY=AMIN1(H0MX,H0MY)
18. IF(ICHAR.NE.0) G0T0 194
19. D0 2 I=1,NP
20. 2 RAS(I)=PAS(I)*H0MXY
21. 194 CONTINUE
22. IF(ISUPE.EQ.1) G0T0 50
23. LBUF=1000
24. IF(ISTAND.NE.-1) G0T0 5
25. ISUPE=0
26. IBGUCL=0
27. ILIST=1
28. IAXSUJ=0
29. IGRAD=1
30. LEGCOU=0
31. 1LMULT=0
32. ICHAR=0
33. NP=2
34. PAS(1)=1000.
35. PAS(2)=0.1
36. IX=0
37. IY=0
38. INUMX=0
39. INUMY=0
40. MODGRX=0
41. MODGRY=0
42. 5 CONTINUE
43. IF(ICHAR.NE.1) ICHAR=0
44. IF(IGRAD.NE.1) IGRAD=0
45. IF(IBGUCL.NE.1) IBGUCL=0
46. IF((1LMULT.NE.1).AND.(1LMULT.NE.2).AND.(1LMULT.NE.3)) 1LMULT=0
47. IF((MODGRX.NE.1).AND.(MODGRX.NE.2).AND.(MODGRX.NE.3)) MODGRX=0
48. IF((MODGRY.NE.1).AND.(MODGRY.NE.2).AND.(MODGRY.NE.3)) MODGRY=0
49. IF(INUMX.NE.1) INUMX=0
50. IF(INUMY.NE.1) INUMY=0
51. IF((IAXSUJ.NE.1).AND.(IAXSUJ.NE.2)) IAXSUJ=0
52. IF(IPASS.NE.0) G0T0 49
53. IPASS=1
54. NDESS=0
55. 49 CONTINUE
56. IF(MODGRX.EQ.0) G0T0 20
57. XXINT=XINT
58. IF(MODGRX.EQ.2) XXINT=XINT*H0MX
59. 20 IF(MODGRY.EQ.0) GOTO 30

60. YYINT=YINT

61. IF(MODGRY.EQ.2) YYINT=YINT*HOMY

62. 30 CONTINUE

63. IF(ISTAND.EQ.-1) GOTO 192

64. IF(ISTAND.EQ.1) GOTO 192

65. IF(ISTAND.EQ.2) GOTO 192

66. ISTAND=0

67. 192 CONTINUE

68. IF(NBLAC-1)100,100,101

69. 100 CALL IBENA(1BUF,2BUF,10)

70. 101 CONTINUE

71. IF((ISTAND*ISTAND.EQ.1).OR. (ISTAND.EQ.2)) GOTO 200

72. NDESS=NDESS+1

73. IF(ILIST.EQ.1) PRINT 2000,NDESS,NBLAC,ISTAND,HAMX,HOMY

74. IF(ILIST.EQ.1) PRINT 4000,IGRAD,1B0UCL,ILMULT,MODGRX,MODGRY

75. DO 10 I=1,16

76. 10 XDAN(I)=RDAN(I)

77. DO 11 I=1,8

78. 11 LDAN(I)=IDAN(I)

79. VMAXY=XDAN(8)=RDAN(8)

80. VMAXX=XDAN(7)=RDAN(7)

81. VMINY=XDAN(6)=RDAN(6)

82. VMINX=XDAN(5)=RDAN(5)

83. GOTO 201

84. 200 CONTINUE

85. NDESS=NDESS+1

86. IF(ILIST.EQ.1) PRINT 2000,NDESS,NBLAC,ISTAND,HAMX,HOMY

87. IF(ILIST.EQ.1) PRINT 4000,IGRAD,1B0UCL,ILMULT,MODGRX,MODGRY

88. IF(ISTAND*ISTAND.EQ.1) GOTO 250

89. VMAXY=XDAN(8)=RDAN(8)

90. VMAXX=XDAN(7)=RDAN(7)

91. VMINY=XDAN(6)=RDAN(6)

92. VMINX=XDAN(5)=RDAN(5)

93. IF(ILIST.EQ.1) PRINT 1900,(RDAN(I),I=5,8)

94. Goto 251

95. 250 CONTINUE

96. VMAXX=VX(NP1)

97. VMINX=VMAXX

98. VMAXY=VY(NP1)

99. VMINY=VMAXY

100. NP11=NP1+1

101. DO 1 I=NP11,NP2

102. VMAXX=AMAX1(VMAXX,VX(I))

103. VMINX=AMIN1(VMINX,VX(I))

104. VMAXY=AMAX1(VMAXY,VY(I))

105. 1 VMINY=AMIN1(VMINY,VY(I))

106. XDAN(5)=VMINX

107. XDAN(6)=VMINY

108. XDAN(7)=VMAXX

109. XDAN(8)=VMAXY

110. 251 CONTINUE

111. XDAN(11)=0.5

112. XDAN(12)=0.4

113. LDAN(5)=10

114. LDAN(6)=5

115. XDAN(1)=6.

116. XDAN(2)=31.
117. XD8N(3)=9.
118. XD8N(4)=44.
119. XD8N(9)=0.4
120. XD8N(10)=0.5
121. XD8N(14)=3.52
122. XD8N(15)=2.6
123. XD8N(16)=2.
124. LD8N(1)=0
125. IF(VMINX)300,300,301
126. 301 XL=ABS(VMAXX/VMINX)
127. XL=AL9G10(XL)
128. IF(ABS(XL).GE.2.99) LD8N(1)=1
129. 300 LD8N(2)=0
130. IF(VMINY)400,400,401
131. 401 YL=ABS(VMAXY/VMINY)
132. YL=AL9G10(YL)
133. IF(ABS(YL).GE.2.99) LD8N(2)=1
134. 400 LD8N(3)=5
135. LD8N(4)=10
136. LD8N(7)=-2
137. XL=AMAX1(ABS(VMAXX),ABS(VMINX))
138. IF(XL.GT.0.005) LD8N(7)=3
139. IF(XL.GT.1.)LD8N(7)=2
140. IF(XL.GT.10.)LD8N(7)=1
141. IF(XL.GT.100.) LD8N(7)=-1
142. IF(XL.GT.100000.) LD8N(7)=-2
143. LD8N(8)=3
144. YL=AMAX1(ABS(VMAXY),ABS(VMINY))
145. IF(YL.LT.0.01) GOTO 499
146. IF(YL.GT.1.)LD8N(8)=2
147. IF(YL.GT.10.)LD8N(8)=1
148. IF(YL.GT.100.)LD8N(8)=-1
149. XD8N(13)=2.6
150. IF(YL.LT.1000.) GOTO 500
151. 499 CONTINUE
152. LD8N(8)=-2
153. XD8N(13)=3.2
154. 500 CONTINUE
155. IF(LD8N(2).EQ.1) XD8N(13)=1.4
156. 201 CONTINUE
157. XD8N(1)=XD8N(1)*H8MX
158. XD8N(2)=XD8N(2)*H8MX
159. XD8N(3)=XD8N(3)*H8MY
160. XD8N(4)=XD8N(4)*H8MY
161. XD8N(14)=XD8N(14)*H8MY
162. XD8N(15)=XD8N(15)*H8MX
163. XD8N(16)=XD8N(16)*H8MX
164. XD8N(9)=XD8N(9)*H8XY
165. XD8N(10)=XD8N(10)*H8XY
166. XD8N(11)=XD8N(11)*H8MY
167. XD8N(12)=XD8N(12)*H8MX
168. XD8N(13)=XD8N(13)*H8MXY
169. T=XD8N(4)+XD8N(14)
170. TT=XD8N(2)+XD8N(15)
171. XP8S=XLARG+XD8N(16)
172. XLARG=TT
173. IF(NBL8C.EQ.1) XP8S=0.
174. CALL PNUMA(XP8S,0.,NBL8C,0.,0.)
175. CALL TRAA(0,0,0,0)
176. CALL TRAA(0,0,T,1)
177. CALL TRAA(TT,T,1)
178. CALL TRAA(TT,0,0,1)
179. CALL TRAA(0,0,0,1)
180. CALL PNUMA(0,0,0,NBLC,0,0,0)
181. CALL TRAA (XD8N(1),XD8N(3),0)
182. CALL TRAA (XD8N(1),XD8N(4),1)
183. CALL TRAA (XD8N(2),XD8N(4),1)
184. CALL TRAA (XD8N(2),XD8N(3),1)
185. CALL TRAA (XD8N(1),XD8N(3),1)
186. IF(ILIST,NE.1) GOTO 193
187. PRINT 2100,NBLC
188. IF(LD8N(1),NE.1) PRINT 2900
189. IF((LD8N(1),NE.1),AND,(MODGRX.EQ.1)) PRINT 4100,XINT,NGRADX
190. IF((LD8N(1),NE.1),AND,(MODGRX.EQ.2)) PRINT 4100,XINT,NGRADX
191. IF((LD8N(1),NE.1),AND,(MODGRX.EQ.3)) PRINT 4150,XINT,NGRADX
192. IF(INUMX.EQ.1) PRINT 4200,MODULX
193. IF(LD8N(1),EQ.1) PRINT 3000
194. IF(IX,EQ.1) PRINT 3300
195. IF(LD8N(2),NE.1) PRINT 3100
196. IF((LD8N(2),NE.1),AND,(MODGRY.EQ.1)) PRINT 4100,YINT,NGRADY
197. IF((LD8N(2),NE.1),AND,(MODGRY.EQ.2)) PRINT 4100,YINT,NGRADY
198. IF((LD8N(2),NE.1),AND,(MODGRY.EQ.3)) PRINT 4150,YINT,NGRADY
199. IF(INUMY.EQ.1) PRINT 4200,MODULY
200. IF(LD8N(2),EQ.1) PRINT 3200
201. IF(IY,EQ.1) PRINT 3400
202. 193 CONTINUE
203. CALL PNUMA(0,0,NBLC,0,0,0)
204. CALL TAXEY(XD8N,LD8N,Y8)
205. CALL TAXEX(XD8N,LD8N,X8)
206. CALL TRAA(TT,0,0)
207. HX=XD8N(9),*,825
208. HY=XD8N(10),*,825
209. XL=(NL+15),*HX
210. HBY=2,*,HY
211. NX=8
212. CALL PCARA (-XL,HBY,2,LAB8,NX,HX,HY,1,0,0)
213. XL=2,*,HX
214. CALL PCARA (XL,0,0,2,N8M,NL,HX,HY,1,0,0)
215. CALL TRAA(0,0,0,0)
216. HDIST=-4,*,XD8N(10)
217. CALL TRAA(0,0,HDIST,2)
218. CALL JOBID(IDENT)
219. CALL IDENTI(IDENT,XD8N(9),XD8N(10),NDESS)
220. CALL ECHEL(RX,RY,X8,Y8)
221. XD8=HY,*,1,5
222. TIGR=VMINX
223. ESPAC=XD8N(3)-8,4,*,XD8N(10)
224. IF(IGRAD.EQ.1) ESPAC=ESPAC-XD8N(11)
225. NMAX=ESPAC/XD8
226. DEPL=0,
227. IF(IGRAD.EQ.1) DEPL=XD8N(11)
228. YA=VMINY-(6,*,XD8N(10)+DEPL)/RY
229. YAA=YA
230. NMAX=NMAX+1
231. XD8=XD8/RY
232. IF(ILMULT.EQ.0) NUC8U=1
233. IF((ILISTEQ.1).AND.(ISTANDEQ.0)) PRINT 2800,(RDON(IK),IK=1,16),

234. 1(LD8N(IK),IK=1,8)

235. ICHAR1=IC

236. KP=NP

237. IF(IAXSUJ.EQ.0) GOTO 1001

238. IAXX=0

239. IAXY=0

240. ICHAR=0

241. NP=2

242. IF(XD8N(5)*XD8N(7).LT.0.) IAXY=1

243. IF(XD8N(6)*XD8N(8).LT.0.) IAXX=1

244. IF(IAXX+IAXY.EQ.0) GOTO 1001

245. IF(ILIST.EQ.1) PRINT 2800,IAXSUJ,NBLOC

246. CALL PNUMA(0.,0.,NBLOC,0.,0.)

247. IF(IAXSUJ.EQ.1) GOTO 1000

248. IF((IAXSUJ.EQ.2).AND.(IAXX+IAXY.EQ.2)) GOTO 1000

249. GOTO 1001

250. 1000 IF(IAXX,NE.1) GOTO 1002

251. PASS(1)=0.2*HOMX

252. PASS(2)=0.3*HOMX

253. WX(1)=XD8N(5)

254. WX(2)=XD8N(7)

255. WY(1)=0.

256. WY(2)=0.

257. CALL TRACEC(WX,WY,1,2,PASS,DIME,LD8N)

258. 1002 IF(IAXY,NE.1) GOTO 1001

259. PASS(1)=0.2*HOMY

260. PASS(2)=0.3*HOMY

261. WX(1)=0.

262. WX(2)=0.

263. WY(1)=XD8N(6)

264. WY(2)=XD8N(8)

265. CALL TRACEC(WX,WY,1,2,PASS,DIME,LD8N)

266. 1001 CONTINUE

267. ICHAR=ICCHAR1

268. NP=KP

269. CALL PNUMA (0.,0.,NBLOC,0.,0.)

270. 50 JBB=NBLOC-1

271. DIME=RIME*AMIN1(HOMX,HOMY)

272. XL8NG=TL8NG*HOMX

273. IF(ILIST.EQ.1) PRINT 2800,JBB,NP1,NP2

274. IF((ILIST.EQ.1).AND.(ICCHAR.EQ.1)) PRINT 2400,ICH0IX,RIME

275. IF((ILIST.EQ.1).AND.(ICCHAR.NE.1)) PRINT 2500,(PAS(IK),IK=1,NP)

276. CALL TRACEC(VX,VY,NP1,NP2,RAS,DIME,LD8N)

277. IF(LEGCOU.NE.1) GOTO 601

278. IKMUL=ILMULT+1

279. GOTO (602,603,604,605),IKMUL

280. 603 XB=TIGR+XL8NG/RX

281. YB=YAA-XD8*(NUCOU-1)

282. CALL TRAS(XB,YB,0)

283. IF(IGBUCL.EQ.0) JBB=NBLOC

284. IF(ILIST.EQ.1) PRINT 2700,JBB,TL8NG,NUCOU

285. IF(IGBUCL.EQ.0),CALL PNUMA(0.,0.,NBLOC,0.,0.)

286. CALL ECRI(HX,HY)

287. GOTO 601

288. 604 CALL TRAS(TL8NG,YL8NG,0)

289. IF(IGBUCL.EQ.0) JBB=NBLOC

290. IF(ILIST.EQ.1) PRINT 2710,JBB,TL8NG,YL8NG
291. IF(I8OUCL.EQ.O),CALL PNUMA(0,0,0,NBL8C,0,0)

292. CALL ECRI(HX,HY)

293. GOTO 601

294. 605 YB=YLONG*H0MY

295. CALL TRAA(XL8NG,YB,0)

296. IF(I8OUCL.EQ.O) JBB=NBL8C

297. IF(ILIST.EQ.1) PRINT 2720,JBB,TL8NG,YL8NG

298. IF(I8OUCL.EQ.O),CALL PNUMA(0,0,0,NBL8C,0,0)

299. CALL ECRI(HX,HY)

300. GOTO 601

301. 602 CONTINUE

302. IF(NUC8U.GT.NMAX)GOTO 601

303. NA=1

304. XB=TIGR+XL8NG/RX

305. XC=XB+0.5/RX

306. CALL TRAS(TIGR,YA,0)

307. IF(ICHAR.EQ.1) GOTO 700

308. CALL TIRETO(TIGR,YA,XB,YA,NA,RX,RY,RAS,NP,REST,IRG)

309. GOTO 701

310. 700 CALL TRAA(XL8NG,0,0)

311. CALL SYM6(ICH8IX,DIME)

312. 701 CONTINUE

313. IF(I8OUCL.EQ.O) JBB=NBL8C

314. IF(ILIST.EQ.1) PRINT 2600,JBB,TL8NG

315. IF(I8OUCL.EQ.O),CALL PNUMA(0,0,0,NBL8C,0,0)

316. CALL TRAS(XC,YA,0)

317. CALL ECRI(HX,HY)

318. NUC8U=NUC8U+1

319. YA=YA-XD8

320. 601 CONTINUE

321. IF(I8OUCL.EQ.1) RETURN

322. CALL PNUMA(0,0,0,NBL8C,0,0)

323. 1900 FORMAT(60X,1RDGN 5,6,7,8',4E12.4)

324. 2000 FORMAT(1H1,4X,120(1H*)//6X,'DESSIN ',14,5X,'TRACE DE COURRES',10X,

325. 1,FICHIER AM-TRAC8U2',40X,'JANVIER 1975'//5X,120(1H*)//15X,

326. 2,MISE EN PAGE',18X,'BL8C',16,20X,'ISTAND',16,8X,'HOMOTHETIE EN X',

327. 3F12.4/95X,'HOMOTHETIE EN Y',F12.4//)

328. 2100 FORMAT(15X,'GRADUATION DU CADRE',11X,'BL8C',16)

329. 2900 FORMAT(60X,'AXE X LINEAIRE')

330. 3000 FORMAT(60X,'AXE X LOGARITHMIQUE')

331. 3100 FORMAT(60X,'AXE Y LINEAIRE')

332. 3200 FORMAT(60X,'AXE Y LOGARITHMIQUE')

333. 2200 FORMAT(15X,'AXES SUJETS',16,13X,'BL8C',16//)

334. 2300 FORMAT(5X,10(1H-),'TRACE DE COURBE',15X,'BL8C',16,20X,'NP1= ',16,

335. 18X,'NP2= ',16)

336. 2400 FORMAT(15X,'SYMBOLLE NUMERB',20X,16,20X,'GRANDEUR',F12.4)

337. 2500 FORMAT(15X,'TIRETS EN CM ',10F8.2)

338. 2600 FORMAT(15X,'ECRITURE DE LEGENDE',11X,'BL8C',16,20X,'XL8NG= ',

339. 1F12.4//)

340. 2700 FORMAT(15X,'ECRITURE DE LEGENDE',11X,'BL8C',16,20X,'XL8NG= ',

341. 1F12.4,5X,'NU= ',18//)

342. 2710 FORMAT(15X,'ECRITURE DE LEGENDE',11X,'BL8C',16,20X,'XL8NG= ',

343. 1E12.5,5X,'YL8NG= ',E12.5//)

344. 2720 FORMAT(15X,'ECRITURE DE LEGENDE',11X,'BL8C',16,20X,'XL8NG= ',

345. 1F12.4,5X,'YL8NG= ',F12.4//)

346. 2800 FORMAT(15X,'DENNEES FOURNIES PAR L UTILISATEUR',15X,8E12.4//)

347. 115X,8E12.4/15X,8(6X,16)//)

348. 3300 FORMAT(60X,'LEGENDE SUR AXE X')
349. 3400 FORMAT(60X,'LEGENDE SUR AXE Y')

350. 4000 FORMAT(95X,'SENS GRADUATION',17/95X,'NUMERATION BLOCS',14/)

351. 195X,'EMPLACEMENT LEGENDE',13/95X,'MODE GRAD X',8X,13/95X,

352. 2'MODE GRAD Y',8X,13/)

353. 4100 FORMAT(60X,'INTERVALLE',F12.4,2X,'CM',5X,'REFERENCE TOUS LES',15,

354. 12X,'INTERVALLES')

355. 4150 FORMAT(60X,'INTERVALLE',E12.4,9X,'REFERENCE TOUS LES',15,

356. 12X,'INTERVALLES')

357. 4200 FORMAT(60X,'NUMERATION SPECIALE VALEURS MODUL8',110)

358. RETURN

359. END
1. SUBROUTINE TAXEX (RDON, IDON, X0)
2. COMMON/DFS&P/T/ISTAND, MODGRX, MODGRY, INUMX, INUMY, IX, IY, ICHAR, LEGCOU,
3. 1ILMULT, IGRAD, IAXSUJ, ISUPE, IB0UCL, ILIST
4. COMMON/DESPAR/ZD0N(16), KD0N(8), VINT, NGRADX, WINT, NGRADY, MODULX,
5. 1MODULY, LEGX(15), KX, LEGY(15), KY, PAS(10), NP, ICH0IX, RIME, TL0NG, YL0NG,
6. 2NUCOU
7. COMMON/DESANN/H0MX, H0MY, XLARG, N0M(8), NL, NBL0C
8. COMMON/MAR0K0/VMINX, VMAXX, VMINY, VMAXY, RX, RY, YA, YAA, X00, TIGR, NMAX,
9. 1XINT, YINT, NDESS
10. DIMENSION RD0N(1), ID0N(1)
11. X1= RD0N(1)
12. X2= RD0N(2)
13. Y1= RD0N(3)
14. XD= RD0N(5)
15. XF= RD0N(7)
16. HX= RD0N(9)
17. HY= RD0N(10)
18. STI= RD0N(11)
19. IF(IGRAD.EQ.1) STI=-STI
20. LX= ID0N(1)
21. NMX= ID0N(3)
22. IMX= ID0N(5)
23. NFX= ID0N(7)
24. H2Y=1.75*HY
25. IF(IGRAD.EQ.1) H2Y=H2Y-STI
26. H2X=1.6*HX
27. HSX=0.6*HX
28. HSY=0.65*HY
29. STK= 0.5*STI
30. CALL TRAA(X1,Y1,0)
31. XL= X2-X1
32. IF(LX.EQ.1) G0T0 100
33. XLS=ABS(XF-XD)
34. RX= XL/XLS
35. X0=-XD*RX+X1
36. CALL ECHEL(RX,1.,X0,0.)
37. IF(M0DGRX.EQ.0) G0T0 351
38. XT=XINT/RX
39. IF(M0DGRX.EQ.3) XT=XINT
40. XL0N=XT*NGRADX
41. CALL TRAS(XD,Y1,0)
42. XDD=XD*(1.0+1.0E-5)
43. IF(INUMX.NE.1) G0T0 200
44. NFX=-1
45. ID0=XDD
46. ID0=MOD(IDD,MODULX)
47. XDD=IDD
48. 200 CONTINUE
49. CALL N0MBA(0.0,-H2Y,2,XDD,NFX,HX,HY,1.0,0.0)
50. CALL TRAS(XD,Y1,0)
51. CALL TRAA(0.0,STI,3)
52. CALL TRAA(0.0,-STI,2)
53. XDEP=XD-XL0N
54. 350 XDEP=XDEP+XL0N
55. D0 400 J=1,NGRADX
56. XP=XDEP+J*XT
57. IF(XP.GE.XF) G0T0 101
58. CALL TRAS(XP,Y1,0)
53. CALL TRAA(0.,STK,3)

60. 400 CALL TRAA(0.,-STK,2)

61. CALL TRAA(0.,STI,3)

62. CALL TRAA(0.,-STI,2)

63. EHX=XP*(1.0+1.0E-5)

64. IF(INUMX.NE.1) GOTO 202

65. IDD=EHX

66. IDD=MOD(IDD,MODULX)

67. EHX=IDD

68. H2X=0.

69. 202 CONTINUE

70. CALL NOMB(-H2X,-H2Y,2,EHX,NFX,HX,HY,1.,0.)

71. IF(XP.LT.XF) GOTO 350

72. GOTO 101

73. 351 CONTINUE

74. XT=(XF-XD)/NMX

75. XINT= XT/IMX

76. CALL TRAS(XD,Y1,0)

77. CALL TRAA(0.,STI,3)

78. CALL TRAA(0.,-STI,2)

79. XDD=XD*(1.0+1.0E-5)

80. IF(INUMX.NE.1) GOTO 201

81. NFX=-1

82. IDD=XDD

83. IDD=MOD(IDD,MODULX)

84. XDD=IDD

85. 201 CONTINUE

86. CALL NOMB(0.,-H2Y,2,XDD,NFX,HX,HY,1.,0.)

87. CALL TRAS(XD,Y1,0)

88. D8 501 J= 1,NMX

89. XP= XD+(J-1)*XT

90. EHX=(XP+XT)*(1.0+1.0E-5)

91. D8 502 I= 1,IMX

92. XP= XP+XINT

93. CALL TRAS(XP,Y1,0)

94. CALL TRAA(0.,STK,3)

95. 502 CALL TRAA(0.,-STK,2)

96. CALL TRAA(0.,STI,3)

97. CALL TRAA(0.,-STI,2)

98. IF(INUMX.NE.1) GOTO 203

99. IDD=EHX

100. IDD=MOD(IDD,MODULX)

101. EHX=IDD

102. H2X=0.

103. 203 CONTINUE

104. CALL NOMB(-H2X,-H2Y,2,EHX,NFX,HX,HY,1.,0.)

105. 501 CALL TRAS(XP,Y1,0)

106. GOTO 101

107. NLS=ALOG10(XD+1.01)

108. IF(NLS)50,51,53

109. 50 NLS=NLS-1

110. GOTO 53

111. 51 IF(XD-1.0)52,53,53

112. 52 NLS=NLS-1

113. 53 CONTINUE

114. MLS=ALOG10(XF*0.999)

115. IF(MLS)63,61,60

116. 60 MLS=MLS+1
117. Goto 63
118. 61 IF(XF=1.0)63,63,62
119. 62 MLS=MLS+1
120. 63 Continue
121. NMX=MLS-NLS
122. RX= XL/NMX
123. VMINX=NLS
124. VMAXX=MLS
125. Xθ=-NLS*RX+X1
126. CALL ECHEL(RX,1.0,Xθ,0.0)
127. XLS= NLS
128. CALL TRAS(XLS,Y1,0)
129. CALL NOMB(A(-H2X,-H2Y,2,10.0,-1,HX,HY,1.0,0.0))
130. CALL NOMB(A(0.0,HY,2,XLS,-1,HSX,HSY,1.0,0.0))
131. CALL TRAS(XLS,Y1,0)
132. CALL TRAA(0.0,STI,3)
133. CALL TRAA(0.0,-STI,2)
134. Dθ 601 J= 1,NMX
135. EHX=XLS+J-1
136. XINT=XLS+J
137. Dθ 602 I= 2,10.
138. XI= I
139. XT= EHX+ALθG10(XI)
140. CALL TRAS(XT,Y1,0)
141. CALL TRAA(0.0,STK,3)
142. 602 CALL TRAA(0.0,-STK,2)
143. CALL TRAA(0.0,STI,3)
144. CALL TRAA(0.0,-STI,2)
145. CALL NOMB(A(-H2X,-H2Y,2,10.0,-1,HX,HY,1.0,0.0))
146. CALL NOMB(A(0.0,HY,2,XINT,-1,HSX,HSY,1.0,0.0))
147. 601 CALL TRAS(XT,Y1,0)
148. 101 Continue
149. IF(IX.EQ.1) Goto 10
150. RETURN
151. 10 EHX=5.0*HY
152. XI=(KX+6.0)*HX
153. XT=2.0*HY
154. IF(IGRAD.EQ.1) EHX=EHX-STI
155. IF(LX.NE.1),CALL TRAS(XF,Y1,0)
156. CALL TRAA(0.0,-EHX,2)
157. CALL TRAA(-XI,0.0,3)
158. CALL TRAA(0.0,XT,3)
159. CALL TRAA(XI,0.0,3)
160. CALL TRAA(0.0,-XT,3)
161. EHX=.5*HY
162. XI=(KX+3.0)*HX
163. CALL PCARA(-XI,EHX,2,LEGX,KX,HX,HY,1.0,0.0)
164. RETURN
165. END
1. SUBROUTINE TAXEY(RD8N, ID8N, Y8)

2. COMMON/DFS3PT/ISTAND, MODGRX, MODGRY, INUMX, INUMY, IX, IY, ICHAR, LEGC8U,

3. 1ILMULT, IGRAD, IAXSUJ, ISUPE, IB8UCL, ILIST

4. COMMON/DFSPAR/ZDUN(16), KDBN(8), VINT, NGRADX, wINT, NGRADY, MODULX,

5. 1MODULY, LEGX(15), KX, LEGY(15), KY, PAS(10), NP, ICH8IX, RIME, TL8NG, YL8NG,

6. 2NUC8U

7. COMMON/DESANN/H8MX, H8MY, XLARG, N8M(8), NL, NBL8C

8. COMMON/MAR8K8/VMINX, VMAXX, VMINY, VMAXY, RX, RY, YA, YAA, XD8, TIGR, NMAX,

9. 1XINT, YINT, NDESS

10. DIMENSION RD8N(1), ID8N(1)

11. Y1= RD8N(3)

12. Y2= RD8N(4)

13. X1= RD8N(1)

14. YD= RD8N(6)

15. YF= RD8N(8)

16. HX= RD8N(9)

17. HY= RD8N(10)

18. STI= RD8N(12)

19. IF(IGRAD.EQ.1) STI=-STI

20. H2X= RD8N(13)

21. IF(IGRAD.EQ.1) H2X=H2X-STI

22. LY= ID8N(2)

23. NMY= ID8N(4)

24. IMY= ID8N(6)

25. NFY= ID8N(8)

26. HSY=0.65*HY

27. HSX=0.6*HX

28. STK= 0.5*STI

29. CALL TRAA(X1,Y1,0)

30. YL= Y2-Y1

31. IF(LY.EQ.1) G8T8 100

32. YLS=ABS(YF-YD)

33. RY= YL/YLS

34. Y8=-YD*RY+Y1

35. CALL ECHEL(1,RY,0.,Y8)

36. IF(MODGRY.EQ.0) G8T8 351

37. YT=YINT/RY

38. IF(MODGRY.EQ.3) YT=YINT

39. YL8N=YT*NGRADY

40. CALL TRAS(X1,YD,0)

41. CALL TRAA(STI,0.,3)

42. CALL TRAA(-STI,0.,2)

43. YDD=YD*(1.1.E-5)

44. IF(YDD)800,801,801

45. 800 H2X=RD8N(13)+HX

46. G8T8 802

47. 801 H2X=FD8N(13)

48. 802 CONTINUE

49. IF(IGRAD.EQ.1) H2X=H2X-STI

50. IF(INUMY.NE.1) G8T8 200

51. NFY=-1

52. IDC=YDD

53. IDD=MOD(IDD,MODULY)

54. YDD=IDD

55. 200 CONTINUE

56. CALL N8MRA(-H2X,0.,2,YDD,NFY,HX,HY,1.,0.)

57. CALL TRAS(X1,YD,0)

58. YDEP=YD-YL8N
53. 350 YDEP=YDEP+YL&N
60. D6 400 J=1,NGRADY
61. YP=YDEP+J*YT
62. IF (YP.GE.YF) G&T0 101
63. CALL TRAS(X1,YP,0)
64. CALL TRAA(STK,0,3)
65. 400 CALL TRAA(-STK,0,2)
66. CALL TRAA(STI,0,3)
67. CALL TRAA(-STI,0,2)
68. EHY=YP*(1.+1.E-5)
69. IF (EHY) 900,901,901
70. 900 H2X=RD8N(13)+HX
71. G&T0 902
72. 901 H2X=RD8N(13)
73. 902 CONTINUE
74. IF (IGRAD.EQ.1) H2X=H2X-STI
75. IF (INUMY.NE.1) G&T0 202
76. IDD=EHY
77. IDD=MOD(IDD,MODULY)
78. EHY=IDD
79. 202 CONTINUE
80. CALL N&MBA(-H2X,0,2,EHY,NFY,HX,HY,1,0,0)
81. IF (YP.LT.YF) G&T0 350
82. G&T0 101
83. 351 CONTINUE
84. YT= (YF-YD)/NMY
85. YINT= YT/IMY
86. CALL TRAS(X1,YD,0)
87. CALL TRAA(STI,0,3)
88. CALL TRAA(-STI,0,2)
89. YDD=YD*(1.+1.E-5)
90. IF (YDD) 700,701,701
91. 700 H2X=RD8N(13)+HX
92. G&T0 702
93. 701 H2X=RD8N(13)
94. 702 CONTINUE
95. IF (IGRAD.EQ.1) H2X=H2X-STI
96. IF (INUMY.NE.1) G&T0 201
97. NFY=-1
98. IDD=YDD
99. IDD=MOD(IDD,MODULY)
100. YDD=IDD
101. 201 CONTINUE
102. CALL N&MBA(-H2X,0,2,YDD,NFY,HX,HY,1,0,0)
103. CALL TRAS(X1,YD,0)
104. D6 501 J= 1,NMY
105. YP= YD+(J-1)*YT
106. EHY=(YP+YT)*(1.+1.E-5)
107. D6 502 I= 1,IMY
108. YP= YP+YINT
109. C 0 SEULE LA GRADUATION EST TRACEE SI 1 AXE ENTIER TRACE
110. CALL TRAS(X1,YP,0)
111. CALL TRAA(STK,0,3)
112. 502 CALL TRAA(-STK,0,2)
113. CALL TRAA(STI,0,3)
114. CALL TRAA(-STI,0,2)
115. IF (EHY) 710,711,711
116. 710 H2X=RD8N(13)+HX
117. GBT0 712

118. 711 H2X=PO8N(13)

119. 712 CONTINUE

120. IF(IGRAD.EQ.1) H2X=H2X-STI

121. IF(INUMY.NE.1) GBT0 203

122. IDD=EHY

123. IDD=M8D(IDD,M8DULY)

124. EHY=IDD

125. 203 CONTINUE

126. CALL N0MBA(-H2X,0,2,EHY,NFY,HX,HY,1,0,0)

127. 501 CALL TRAS(X1,YP,0)

128. GBT0 101

129. 100 NLS=AL8G10(YD*1.01)

130. IF(NLS)50,51,53

131. 50 NLS=NLS-1

132. GBT0 53

133. 51 IF(YD-1.)52,53,53

134. 52 NLS=NLS-1

135. 53 CONTINUE

136. MLS=AL8G10(YF*0.999)

137. IF(MLS)63,61,60

138. 60 MLS=MLS+1

139. GBT0 63

140. 61 IF(YF-1.)63,63,62

141. 62 MLS=MLS+1

142. 63 CONTINUE

143. NMY=MLS-NLS

144. RY= YL/NMY

145. VMINY=NLS

146. VMAXY=MLS

147. Y8=-NLS*RY+Y1

148. CALL ECHEL(1,RY,0,0,Y8)

149. YLS= NLS

150. CALL TRAS(X1,YLS,0)

151. CALL N0MBA(-H2X,0,2,10,-1,HX,HY,1,0,0)

152. CALL N0MBA(0,HY,2,YLS,-1,HSX,HSY,1,0,0)

153. CALL TRAS(X1,YLS,0)

154. CALL TRAA(STI,0,3)

155. CALL TRAA(-STI,0,2)

156. D8 601 J= 1,NMY

157. EHY=YLS+J-1

158. YINT=YLS+J

159. D8 602 I=2,10

160. YI= I

161. YT= EHY+AL8G10(YI)

162. CALL TRAS(X1,YT,0)

163. CALL TRAA(STK,0,3)

164. 602 CALL TRAA(-STK,0,2)

165. CALL TRAA(STI,0,3)

166. CALL TRAA(-STI,0,2)

167. CALL N0MBA(-H2X,0,2,10,-1,HX,HY,1,0,0)

168. CALL N0MBA(0,HY,2,YINT,-1,HSX,HSY,1,0,0)

169. 601 CALL TRAS(X1,YT,0)

170. 101 CONTINUE

171. IF(IY.EQ.1) GBT0 10

172. RETURN

173. 10 EHY=0.5*HY

174. YI=(KY+6)*HX
175. YT=2.*HY

176. IF(LY.NE.1),CALL TRAS(X1,YF,0)

177. CALL TRAA(0.,EHY,2)

178. CALL TRAA(YI,0.,3)

179. CALL TRAA(0.,YT,3)

180. CALL TRAA(-YI,0.,3)

181. CALL TRAA(0.,-YT,3)

182. YI=3.*HX

183. CALL PCARA(YI,EHY,2,LEGY,KY,HX,HY,1.,0.)

184. RETURN

185. END
1. S U R R O U T I N E   T R A C E C ( V X , V Y , N P 1 , N P 2 , P A S , D I M E , I D & N )

2. C O M M O N / D E S U P T / I S T A N D , M S O G R X , M S O G R Y , I N U M X , I N U M Y , I X , I Y , I C H A R , L E G C O U ,

3. 1 I L F U L T , I G R A D , I A X S U J , I S U P E , I B B U C L , I L I S T

4. C O M M O N / D E S P A R / Z D O N ( 1 6 ) , K D O N ( 8 ) , V I N T , I G R A D X , W I N T , I G R A D Y , M O D U L X ,

5. 1 M O D U L Y , L E G X ( 1 5 ) , K X , L E G Y ( 1 5 ) , K Y , R A S ( 1 0 ) , N P , I C H A I X , R I M E , T L O N G , Y L O N G ,

6. 2 N U C O U

7. C O M M O N / D E S A N N / H O M X , H O M Y , X L A R G , N O M ( 8 ) , N L , N O L B C

8. C O M M O N / M A R S K G / C A D R ( 4 ) , R X , R Y , Y A , Y A A , X D O , T I G R , N M A X , X X I N T , Y Y I N T , N D E S S

9. C O M M O N / F 4 D 3 G S / N C 1 ( 4 ) , N C 2 ( 4 ) , N C M ( 4 ) , N C I ( 4 ) , X M , Y M

10. D I F F I N S I O N   P A S ( 1 ) , V X ( 1 ) , V Y ( 1 ) , I D O N ( 1 ) , E 1 ( 2 ) , E 2 ( 2 )

11. L O G I C A L   F R E J E T

12. I F ( N P 2 . L T . N P 1 )   R E T U R N

13. L X = I D O N ( 1 )

14. L Y = I D O N ( 2 )

15. N A = 1

16. I F ( I C H A R . N E . 0 )   G O T O   1 0 0

17. I F ( N P 2 . L E . N P 1 )   R E T U R N

18. N P 1 1 = N P 2 - 1

19. D O   1   I = N P 1 , N P 1 1

20. E 1 ( 1 ) = V X ( I )

21. E 1 ( 2 ) = V Y ( I )

22. E 2 ( 1 ) = V X ( I + 1 )

23. E 2 ( 2 ) = V Y ( I + 1 )

24. I F ( L X . E Q . 1 )   E 1 ( 1 ) = A L O G 1 0 ( E 1 ( 1 ) )

25. I F ( L X . E Q . 1 )   E 2 ( 1 ) = A L O G 1 0 ( E 2 ( 1 ) )

26. I F ( L Y . E Q . 1 )   E 1 ( 2 ) = A L O G 1 0 ( E 1 ( 2 ) )

27. I F ( L Y . E Q . 1 )   E 2 ( 2 ) = A L O G 1 0 ( E 2 ( 2 ) )

28. C A L L   S C S H 2 ( F 1 , E 2 , C A D R , F R E J E T )

29. I F ( . N O T . F R E J E T )   G O T O   1 0

30. N A = 1

31. G O T O   1

32. 1 0   C A L L   T I R E T O ( E 1 ( 1 ) , E 1 ( 2 ) , E 2 ( 1 ) , E 2 ( 2 ) , N A , R X , R Y , P A S , N P , R S T , I R G )

33. 1   C O N T I N U E

34. R E T U R N

35. 1 0 0   C O N T I N U E

36. D O   2   I = N P 1 , N P 2

37. E 1 ( 1 ) = V X ( I )

38. E 1 ( 2 ) = V Y ( I )

39. I F ( L X . E Q . 1 )   E 1 ( 1 ) = A L O G 1 0 ( E 1 ( 1 ) )

40. I F ( L Y . E Q . 1 )   E 1 ( 2 ) = A L O G 1 0 ( E 1 ( 2 ) )

41. I F ( ( E 1 ( 1 ) . L E . C A D R ( 1 ) ) . O R . ( E 1 ( 1 ) . G E . C A D R ( 2 ) ) )   G O T O   2

42. I F ( ( E 1 ( 2 ) . L E . C A D R ( 3 ) ) . O R . ( E 1 ( 2 ) . G E . C A D R ( 4 ) ) )   G O T O   2

43. C A L L   T R A S ( E 1 ( 1 ) , E 1 ( 2 ) , 0 )

44. C A L L   S Y M B ( I C H A I X , D I M E )

45. 2   C O N T I N U E

46. R E T U R N

47. E N D
1. SUBROUTINE TIRETO(XD,YD,X2,Y2,NA,RX,RY,PAS,NP,REST,I)

2. DIMENSION PAS(1)

3. X1=XD

4. Y1=YC

5. IF (NA.EQ.1) CALL TRAS(XD,YD,0)

6. IF (NA.NE.1) GOTB 20

7. NA= 2

8. I= 1

9. REST= PAS(I)

10. 20 EL= SQRT((RX*(X1-X2))*2+(RY*(Y1-Y2))*2)

11. 30 IF (ABS(EL-REST).LT.0.01) GOTB 50

12. IF (EL .GT. REST) GOTB 40

13. REST= REST-EL

14. IMP=MOD(I,2)

15. CALL TRAS(X2,Y2,IMP)

16. RETURN

17. 40 XP= (X2-X1)*REST/EL+X1

18. YP= (Y2-Y1)*REST/EL+Y1

19. IMP=MOD(I,2)

20. CALL TRAS(XP,YP,IMP)

21. I=MOD(I,NP)

22. I=I+1

23. EL= EL-REST

24. REST= PAS(I)

25. X1= XP

26. Y1= YP

27. GOTB 30

28. 50 IMP=MOD(I,2)

29. CALL TRAS(X2,Y2,IMP)

30. I=MOD(I,NP)

31. I=I+1

32. REST= PAS(I)

33. RETURN

34. END
1. SUBROUTINE SYMP(ICH0IX,DIME)
2. HX=DIME*0.5
3. HL=HX*SQRT(3.0)
4. HT=HL/3.
5. CALL TRAA(0.0,0.0,2)
6. IF((ICH0IX.NE.1)*AND((ICH0IX.NE.3)) GOTO 10
7. CALL TRAA(0.0,HX,2)
8. CALL TRAA(0.0,-DIME,3)
9. CALL TRAA(-HX,HX,2)
10. CALL TRAA(DIME,0.0,3)
11. CALL TRAA(-HX,0.0,2)
12. 10 IF((ICH0IX.NE.2)*AND((ICH0IX.NE.3)) GOTO 20
13. CALL TRAA(HX,HX,2)
14. CALL TRAA(-DIME,-DIME,3)
15. CALL TRAA(0.0,DIME,2)
16. CALL TRAA(DIME,-DIME,3)
17. CALL TRAA(-HX,HX,2)
18. GOTO 500
19. 20 IF(ICH0IX.NE.4) GOTO 30
20. CALL TRAA(-HX,HX,2)
21. CALL TRAA(DIME,0.0,3)
22. CALL TRAA(0.0,-DIME,3)
23. CALL TRAA(-DIME,0.0,3)
24. CALL TRAA(0.0,DIME,3)
25. CALL TRAA(HX,-HX,2)
26. GOTO 500
27. 30 IF(ICH0IX.NE.5) GOTO 40
28. CALL TRAA(0.0,HX,2)
29. CALL TRAA(HX,-HX,3)
30. CALL TRAA(-HX,-HX,3)
31. CALL TRAA(-HX,HX,3)
32. CALL TRAA(HX,HX,3)
33. CALL TRAA(0.0,-HX,2)
34. GOTO 500
35. 40 IF((ICH0IX.NE.6)*AND((ICH0IX.NE.8)) GOTO 50
36. CALL TRAA(-HX,-HT,2)
37. CALL TRAA(DIME,0.0,3)
38. CALL TRAA(-HX,HL,3)
39. CALL TRAA(-HX,-HL,3)
40. CALL TRAA(HX,HT,2)
41. 50 IF((ICH0IX.NE.7)*AND((ICH0IX.NE.8)) GOTO 60
42. CALL TRAA(-HX,HT,2)
43. CALL TRAA(DIME,0.0,3)
44. CALL TRAA(-HX,-HL,3)
45. CALL TRAA(-HX,HL,3)
46. CALL TRAA(HX,-HT,2)
47. 60 IF(ICH0IX.NE.9) GOTO 500
48. J=0
49. A=0.0
50. CALL P0SA(XA,YA)
51. D0 5 I=1,41
52. X1=XA+HX*C0S(A)
53. Y1=YA+HX*SIN(A)
54. CALL TRAA(X1,Y1,J)
55. J=1
56. A=A+0.015707963
57. 5 CONTINUE
58. CALL TRAA(XA,YA,0)

59. 500 CONTINUE
60. RETURN
61. END
1. SUBROUTINE IDENTI(IDENT,HX,HY,NDESS)
2. DIMENSION IDENT(13)
3. CALL P0SA(XA,YA)
4. E1=6.*HX
5. E2=4.1*HX
6. E3=8.*HX
7. N=4
8. CALL PCARA(XA,YA,0,IDENT(2),N,HX,HY,1.,0.)
9. XA=XA+E1
10. CALL PCARA(XA,YA,0,IDENT(3),N,HX,HY,1.,0.)
11. XA=XA+E2
12. CALL PCARA(XA,YA,0,IDENT(4),N,HX,HY,1.,0.)
13. XA=XA+E2
14. CALL PCARA(XA,YA,0,IDENT(5),N,HX,HY,1.,0.)
15. XA=XA+E3
16. CALL PCARA(XA,YA,0,IDENT(9),N,HX,HY,1.,0.)
17. XA=XA+E2
18. CALL PCARA(XA,YA,0,IDENT(10),N,HX,HY,1.,0.)
19. XA=XA+E2
20. CALL PCARA(XA,YA,0,IDENT(11),N,HX,HY,1.,0.)
21. XA=XA+E2
22. CALL PCARA(XA,YA,0,IDENT(12),N,HX,HY,1.,0.)
23. XA=XA+E2
24. CALL PCARA(XA,YA,0,IDENT(13),N,HX,HY,1.,0.)
25. XA=XA+E3
26. CALL PCARA(XA,YA,0,'DESSIN',7,HX,HY,1.,0.)
27. E1=NDESS
28. XA=XA+7.*HX
29. CALL N0MBA(XA,YA,0,E1,-1,HX,HY,1.,0.)
30. RETURN
31. END
1. SUBROUTINE SC$02(E1,E2,CADR,FREJET)
2. COMMON /F4D3G3/NC1(4),NC2(4),NCM(4),NCI(4),XM,YM
3. INTEGER NC1,NC2,NCM,NCI
4. REAL XM,YM
5. C CADR EST LE CADRE (XG,XD,YB,YH,ZAV,ZAR)
6. C E1 EXTREMITEE DU SEGMENT X1,Y1
7. C E2 EXTREMITEE DU SEGMENT X2,Y2
8. C MODIFIEE E1,E2
9. C DIMENSION F1(2),E2(2)
10. REAL E1,E2
11. REAL CADR(4)
12. LOGICAL FREJET
13. 40 CONTINUE
14. C
15. C CALCUL DES CODES-SIGNES
16. C
17. FREJET=.FALSE.
18. D9 120 K=1,4
19. NC1(K)=0
20. 120 NC2(K)=0
21. IF (E1(1).LT.CADR(1))NC1(1)=1
22. IF (E1(1).GT.CADR(2))NC1(2)=1
23. IF (E1(2).LT.CADR(3))NC1(3)=1
24. IF (E1(2).GT.CADR(4))NC1(4)=1
25. IF (E2(1).LT.CADR(1))NC2(1)=1
26. IF (E2(1).GT.CADR(2))NC2(2)=1
27. IF (E2(2).LT.CADR(3))NC2(3)=1
28. IF (E2(2).GT.CADR(4))NC2(4)=1
29. 1 CONTINUE
30. D9 13 K=1,4,1
31. IF (NC1(K)+NC2(K)-2) 13,14,13
32. 13 CONTINUE
33. C 14 : REJET DE TOUTE LA LIGNE
34. N=0
35. D9 15 K=1,4,1
36. 15 N=N + NC1(K) + NC2(K)
37. IF (N.EQ.0)RETURN
38. C LIGNE ENTIEREMENT VUE
39. C
40. N=0
41. D9 16 K=1,4,1
42. N=N + NC1(K)
43. 16 NCI(K)=NC1(K)
44. IF (N.NE.0)G8 TO 17
45. D8 18 K=1,4,1
46. 18 NCI(K)=NC2(K)
47. 17 CONTINUE
48. IF (NCI(1).NE.1) G8TO 100
49. X0=CADR(1)
50. 110 CALL C8UPY(X0,E1,E2)
51. G8TO 19
52. 100 CONTINUE
53. IF (NCI(2).NE.1) G8TO 101
54. X0=CADR(2)
55. G8TO 110
56. 101 CONTINUE
57. IF (NCI(3).NE.1) G8TO 102
58. Y0=CADR(3)
53. 111 CALL C8UPX(YC,E1,E2)
60. GBT8 20
61. 102 CONTINUE
62. IF (NCI(4).NE.1) GBT8 103
63. YO=CADR(4)
64. GBT8 111
65. 103 CONTINUE
66. C CALCUL DU CODE-SIGNE DU POINT D'INTSCTION
67. 19 CONTINUE
68. NCM(1)=0
69. NCM(2)=0
70. NCM(3)=0
71. NCM(4)=0
72. IF (YM.LT.CADR(3))NCM(3)=1
73. IF (YM.GT.CADR(4))NCM(4)=1
74. C N=0 INDIQUE NC1=0
75. IF (N) 22,23,22
76. 22 E1(1)=X0
77. E1(2)=YM
78. D8 24 K=1,4,1
79. 24 NC1(K)=NCM(K)
80. GBT8 1
81. 23 E2(1)=X0
82. E2(2)=YM
83. D8 26 K=1,4,1
84. 26 NC2(K)=NCM(K)
85. GBT8 1
86. 20 CONTINUE
87. NCM(1)=0
88. NCM(2)=0
89. NCM(3)=0
90. NCM(4)=0
91. IF (XM.LT.CADR(1))NCM(1)=1
92. IF (XM.GT.CADR(2))NCM(2)=1
93. IF (N) 23,29,28
94. 28 E1(1)=XM
95. E1(2)=Y0
96. D8 30 K=1,4,1
97. 30 NC1(K)=NCM(K)
98. GBT8 1
99. 29 E2(1)=XM
100. E2(2)=Y0
101. D8 31 K=1,4,1
102. 31 NC2(K)=NCM(K)
103. GBT8 1
104. 14 FREJET=.TRUE.
105. RETURN
106. 1000 CONTINUE
107. RETURN
108. END
1. SUBROUTINE CUPX(YX,E1,E2)

2. COMMON /F4D3GB/NC1(4),NC2(4),NCM(4),NCI(4),XM,YM

3. INTEGER NC1,NC2,NCM,NCI

4. REAL XM,YM

5. REAL E1(2),E2(2)

6. REAL YX

7. DX=E2(1)-E1(1)

8. IF (DX.NE.O.) GOTO 1

9. XM=E1(1)

10. RETURN

11. CONTINUE

12. DY=E2(2)-E1(2)

13. IF (DY.NE.O.) GOTO 2

14. YM=E1(2)

15. RETURN

16. CONTINUE

17. XM=((YX-E1(2))*E2(1)+(E2(2)-YX)*E1(1))/DY

18. RETURN

19. END

1. SUBROUTINE CUPY(XY,E1,E2)

2. COMMON /F4D3GB/NC1(4),NC2(4),NCM(4),NCI(4),XM,YM

3. INTEGER NC1,NC2,NCM,NCI

4. REAL XM,YM

5. REAL E1(2),E2(2)

6. REAL XY

7. DX=E2(1)-E1(1)

8. IF (DX.NE.O.) GOTO 1

9. XM=E1(1)

10. RETURN

11. CONTINUE

12. DY=E2(2)-E1(2)

13. IF (DY.NE.O.) GOTO 2

14. YM=E1(2)

15. RETURN

16. CONTINUE

17. YM=((XY-E1(1))*E2(2)+(E2(1)-XY)*E1(2))/DX

18. RETURN

19. END
GOC 13*29 12/02/75

<table><tr><td>1</td><td></td><td></td></tr><tr><td>2</td><td>00009002</td><td></td></tr><tr><td>3</td><td></td><td></td></tr><tr><td>4</td><td></td><td></td></tr><tr><td>5</td><td>01 00000</td><td></td></tr><tr><td>6</td><td>01 00001 6A600000 X</td><td></td></tr><tr><td>7</td><td>01 00002 0000000</td><td></td></tr><tr><td>8</td><td>01 00003 3290000</td><td></td></tr><tr><td>9</td><td>01 00004 25900002 A</td><td></td></tr><tr><td>10</td><td>01 00005 22800020 A</td><td></td></tr><tr><td>11</td><td>01 00006 75800009 A</td><td></td></tr><tr><td>12</td><td>01 00007 22800000 N</td><td></td></tr><tr><td>13</td><td></td><td></td></tr><tr><td>14</td><td>01 00008 208FFE04 A</td><td></td></tr><tr><td>15</td><td>01 00009 25800002 A</td><td></td></tr><tr><td>16</td><td>01 0000A 61800000 A</td><td></td></tr><tr><td>17</td><td>01 0000B 209FFFFF A</td><td></td></tr><tr><td>18</td><td>01 0000C 22A00040 A</td><td></td></tr><tr><td>19</td><td>01 0000D 32500009 A</td><td></td></tr><tr><td>20</td><td>01 0000E 729A0000 A</td><td></td></tr><tr><td>21</td><td>01 0000F 69300012</td><td></td></tr><tr><td>22</td><td>01 00010 75AA0000 A</td><td></td></tr><tr><td>23</td><td>01 00011 6450000E</td><td></td></tr><tr><td>24</td><td>01 00012 32900000</td><td></td></tr><tr><td>25</td><td>01 00013 20900008 A</td><td></td></tr><tr><td>26</td><td>01 00014 22800000 A</td><td></td></tr><tr><td>27</td><td>01 00015 75800009 A</td><td></td></tr><tr><td>28</td><td>01 00016 02200000 A</td><td></td></tr><tr><td>29</td><td>01 00017 28000002 N</td><td></td></tr><tr><td>30</td><td>01 00018 32500008 N</td><td></td></tr><tr><td>31</td><td>01 00019 04000025 A</td><td></td></tr><tr><td>32</td><td>01 0001A E800000F A</td><td></td></tr></table>

BUFFER
JOBID

SYSTEM
SYSTEM
DEF
REF
RES

SIG7
SIRIS7
JOBID
9SETUP1
1

BAL,6

9SETUP1

DATA

BUFFER

LW,9

BUFFER

SLS,9

2.

LI,8

32

STB,8

9

LI,8

JTCB

AI,8

-X'200'+X'35'

AI,8

-X'200'+X'04'

SLS,8

2

MBS,8

0

AI,9

-1

LI,10

1

LW,5

9

LB,9

0,5

BNEZ

$+3

STB,10

0,5

BDR,5

$-3

LW,9

BUFFER

AI,9

8

LI,8

0

STB,8

9

M:TIME

*9

B

*15

END

CONTROL SECTION SUMMARY: 01 0001B

PT 0

02 00000

PT 1

SYSTEME SIRIS