IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

aide sur bloc conditionnel non standard


Sujet :

Fortran

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 11
    Points : 12
    Points
    12
    Par défaut aide sur bloc conditionnel non standard
    slt tout le monde; j'ai eu un code contenan pas mal de lignes que j'ai pas compris:
    que font ces lignes:
    1- DATA HPOL/6HLINEAR ,5HRIGHT ,4HLEFT/
    2- DATA PNET/6H ,2H ,6HSTRAIG,2HHT,6HCROSSE,1HD/
    3- WRITE(3,146)
    4- READ(2,125)AIN,(COM(I,KCOM),I=1,19) ???!!!there were files opened for read and write!!!???
    ####################################################
    que veut dire UNIT 8 dans:
    OPEN (UNIT=8,FILE='PLTDAT.DAT',STATUS='UNKNOWN',ERR=14)
    ####################################################
    comment peut on écrire le code suivant en utilisant des structures conditionnelles standard???
    remarquer qu'il n y a pas de THEN ou ENDIF dans le bloc IF précédent
    et pas de ENDDO dans le bloc DO:

    2 KCOM=KCOM+1
    IF (KCOM.GT.5) KCOM=5
    READ(2,125)AIN,(COM(I,KCOM),I=1,19)
    IF(KCOM.GT.1)GO TO 3

    WRITE(3,126)

    3 WRITE(3,129) (COM(I,KCOM),I=1,19)
    IF (AIN.EQ.ATST(11)) GO TO 2
    IF (AIN.EQ.ATST(1)) GO TO 4

    WRITE(3,130)
    STOP

    4 CONTINUE
    DO 5 I=1,LD
    5 ZARRAY(I)=(0.,0.)
    MPCNT=0
    IMAT=0
    ####################################################

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Points : 63
    Points
    63
    Par défaut
    Quelques réponses en vrac
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATA HPOL/6HLINEAR ,5HRIGHT ,4HLEFT/
    C'est du très vieux fortran. Ici on initialise un tableau de caractères de 3 éléments à HPOL(1)='LINEAR' (6H veut dire 6 caractères), HPOL(2)='RIGHT' et HPOL(3)='LEFT'
    A modifier, ce n'est plus supporté !

    Veut dire écrit dans l'unité logique 3 le contenu du format n°146. Tu dois avois une instruction du type 146 FORMAT(..., elle est parfois en fin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    READ(2,125)AIN,(COM(I,KCOM),I=1,19)
    Veut dire : lit dans l'unité logique 2 et suivant le format n°125 AIN et les 19 premières valeurs de la colonne KCOM du tableau COM. l'unité logique 2 a du être ouverte par un OPEN(UNIT=2,...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Points : 63
    Points
    63
    Par défaut
    Et pour la programmation un peu plus ordonnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    2 CONTINUE   ! peut être enlevé si il n'y a pas de go to 2 dans le code
    DO 
        KCOM=KCOM+1
        IF (KCOM.GT.5) THEN
            KCOM=5
        ENDIF
        READ(2,125)AIN,(COM(I,KCOM),I=1,19)
        IF(KCOM.LE.1) THEN
            WRITE(3,126)
        ENDIF
        3 CONTINUE   ! peut être enlevé si il n'y a pas de go to 3 dans le code
     
        WRITE(3,129) (COM(I,KCOM),I=1,19)
        IF (AIN.NE.ATST(11)) EXIT
    ENDDO
     
    IF (AIN.NE.ATST(1)) THEN
        WRITE(3,130)
        STOP
    ENDIF
    4 CONTINUE   ! peut être enlevé si il n'y a pas de go to 4 dans le code
     
    DO I=1,LD
        ZARRAY(I)=(0.,0.)
    ENDDO
    5 CONTINUE   ! peut être enlevé si il n'y a pas de go to 5 dans le code
    MPCNT=0
    IMAT=0

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2000] Aide sur FormatConditions (mise en forme conditionnelle)
    Par traddybear dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/02/2010, 19h02
  2. Bloc principal non centré sur IE
    Par geodesign dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 23/09/2009, 10h30
  3. Réponses: 0
    Dernier message: 03/06/2009, 11h09
  4. Importer des packages non standard et question sur JME
    Par juju0287 dans le forum Java ME
    Réponses: 3
    Dernier message: 02/11/2008, 20h35
  5. aide sur Bloc S-function
    Par MedBadr dans le forum Simulink
    Réponses: 1
    Dernier message: 03/04/2008, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo