2012-06-20 11 views

Odpowiedz

7

To arithmetic if statement z FORTRAN 77. Przystosowane z opisu FORTRAN 77 (nacisk kopalni)

Postać wykonania instrukcji arytmetycznych IF to:

IF (e) s1 , s2 , s2

  • gdzie: e jest wyrażeniem całkowitym, rzeczywistym lub podwójnej precyzji

  • s1, s2 i s3 są etykietami instrukcji instrukcji wykonywalnych, które pojawiają się w tej samej jednostce programu co instrukcja arytmetyczna IF. Ta sama etykieta instrukcji może pojawiać się więcej niż jeden raz w tej samej instrukcji arytmetycznej IF.

Zawarcie arytmetycznej IF oświadczenia powoduje ocenę ekspresji e następnie przekazanie kontroli. Instrukcja określona jako s1, s2 lub s3 jest wykonywana dalej, ponieważ wartość e jest mniejsza niż zero, równa zero lub większa od zera.

Na przykład w swoim pytaniu, z ostatnim zdaniu powyżej,

  • Jeśli J1-3 < 0 zestawienie 20 zostanie wykonany
  • Jeśli J1-3 = 0 zestawienie 20 będą również wykonywane
  • Jeśli J1-3 > 0 oświadczenie 21 zostanie wykonane

Edit: Nowoczesny i dużo bardziej czytelny sposób pisać to byłoby:

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

Dziękuję bardzo. –

+0

Nie ma problemu. Zauważ, że moja edycja jest nadal ważna FORTRAN 77 (i oczywiście ważny Fortran 90, 95 itd.). Korzysta z * logicznej instrukcji if *. Innym typem instrukcji if jest instrukcja * block if *. – Chris

+4

Małe litery 'if' nie są standardowe FORTRAN 77 :) –