2012-06-20 12 views

risposta

7

Questo è un arithmetic if statement da FORTRAN 77. Adattato dalla specificazione FORTRAN 77 (sottolineatura mia):

La forma di un'istruzione aritmetica IF è:

IF (e) s1 , s2 , s2

  • dove: e è un'espressione intera, reale o di precisione doppia

  • s1, s2 e s3 sono ciascuna l'etichetta dell'istruzione di un'istruzione eseguibile che appare nella stessa unità di programma dell'istruzione aritmetica IF. La stessa etichetta di dichiarazione può apparire più di una volta nella stessa dichiarazione aritmetica IF.

Esecuzione di un IF un'istruzione aritmetica provoca valutazione dell'espressione e seguito da un trasferimento del controllo. La dichiarazione identificata da s1, s2 o s3 viene eseguita successivamente poiché il valore di e è minore di zero, uguale a zero o maggiore di zero, rispettivamente.

Per l'esempio nella sua interrogazione, dall'ultima frase di cui sopra,

  • Se J1-3 < 0 dichiarazione verrà eseguito 20
  • Se J1-3 = 0 informativa fornisce inoltre essere eseguiti 20
  • Se J1-3 > 0 dichiarazione 21 sarà eseguito

Edit: Un modo moderno e molto più leggibile di scrivere questo sarebbe:

if (J1-3 > 0) J1 = J1 - 3 
if (J2-3 > 0) J2 = J2 - 3 
+0

Grazie mille. –

+0

Nessun problema. Nota che la mia modifica è ancora valida FORTRAN 77 (e ovviamente Fortran 90, 95 ecc.). Fa uso di una * istruzione if logica *. L'altro tipo di istruzione if è l'istruzione * block if *. – Chris

+4

Minuscole 'if' non è standard FORTRAN 77 :) –

Problemi correlati