Previous Next Up Title Contents General Index Functions Index Bookshelf

CALCUL D'UN FORMAT ASSOCIÉ À UN DOMAINE DE VALEURS

TPASFM


SEQUENCE D'APPEL

TPASFM (VDEB, VFIN, PASD, NVALD, FMTTYP, FMTLNG, FMTDECPASR, PVAL, NVALR, FORMA, PUIS10) 

PARAMETRE EN ENTREE

REAL	VDEB,VFIN
REAL	PASD
INTEGER	NVALD

PARAMETRES EN ENTREE ET EN SORTIE

CHARACTER*1	FMTTYP
INTEGER	FMTLNG
INTEGER	FMTDEC

PARAMETRES EN SORTIE

REAL	PASR
REAL	PVAL
INTEGER	NVALR
CHARACTER	*6	FORMA
INTEGER	PUIS10

ARGUMENTS

VDEB,VFIN
Bornes des valeurs du domaine.
PASD
Valeur du pas souhaité entre deux valeurs consécutives. Si PASD=0 un pas est calculé au mieux.
NVALD
Nombre approximatif de valeurs souhaitées. NVALD est utilisé si PASD=0
FMTTYP
Type de format souhaité :
FMTLNG
Largeur (en nombre de caractères) du format (si FMTTYP='I' ou 'F')
FMTDEC
Nombre de décimales du format (pour un format flottant uniquement)
PASR
Écart réel entre deux valeurs consécutives. (PASR != PASD si PASD = 0)
PVAL
Première valeur du domaine à afficher.
NVALR
Nombre total de valeurs obtenues.
FORMA
format FORTRAN utilisable pour afficher les valeurs.
PUIS10
puissance de 10 à reporter à l'ensemble des valeurs affichées.

EFFET

Cette fonction calcul un format permettant l'affichage correct de valeurs régulièrement espacées dans un domaine réel, défini par une valeur début du domaine VDEB, et une valeur fin du domaine VFIN.

La format calculé consiste en la donnée de la chaîne de 6 caractères directement utilisable dans la partie format d'une instruction WRITE, du type de format ('I' pour entier ou 'F' pour flottant), du nombre de caractères nécessaire pour afficher chaque valeur, du nombre de décimales, et en la donnée de la première valeur à afficher et de l'écart entre deux valeurs consécutives.

Si le format est du type 'I' la fonction FORTRAN NINT devra être appliquée à chaque valeur affichée. Si la variable PUIS10 n'est pas nulle, chaque valeur devra être divisée par le réel 10**PUIS10 avant d'être affichée par le format calculé.

Exemple 1 :

En entrée VDEB = -15, VFIN = 15, PASD=2, FMTTYP='A'

En sortie FMTTYP='I', FMTLNG=3, PASR = 2, PVAL=-14, NVALR=15, FORMA='(I3)', PUIS10=0

ce qui donne pour un affichage des valeurs (en pensant à utiliser NINT)

-14 -12 -10 -8 -6 -4 -2 0 2 4 6 8 10 12 14

Exemple 2 :

En entrée VDEB = 0.05, VFIN = 10.125, PASD=1.5, FMTTYP='A'

En sortie FMTTYP='F', FMTLNG=3, FMTDEC=1, PASR=1.5, PVAL=1.5, NVALR=6, FORMA='(F3.1)', PUIS10=0

ce qui donne pour un affichage des valeurs

1.5 3.0 4.5 6.0 7.5 9.0

Exemple 3 :

En entrée VDEB = -8.785 E-4, VFIN = 6.027 E-5, PASD=0, NVALD=10, FMTTYP='A'

En sortie FMTTYP='I', FMTLNG=4, PASR=1E-4, PVAL=-8E-4, NVALR=9, FORMA='(I4)', PUIS10=-6

ce qui donne pour un affichage des valeurs en pensant à les diviser par 1E-6 et à prendre le NINT :

-800 -700 -600 -500 -400 -300 -200 -100 0 x 10-6

Exemple 4 :

En entrée VDEB = -1.3, VFIN = 1.3, PASD=0, NVALD=10, FMTTYP='A'

En sortie FMTTYP='F', FMTLNG=4, FMTDEC=1, PASR=0.3, PVAL=-1.2, NVALR=9, FORMA='(F4.1)', PUIS10=0

ce qui donne pour un affichage des valeurs :

-1.2 -0.9 -0.6 -0.3 0.0 0.3 0.6 0.9 1.2

G5G - Manuel de Référence PHIGURE F77 V6.0

Index

INDEX DES FONCTIONS

INDEX GENERAL


Previous Next Up Title Contents General Index Functions Index Bookshelf