2014-09-15 8 views
0

:포트란 IF 논리식없이 문 내가 거기에 77 나는 그것이 무엇을 인식 할 수없는 다음과 같은 방법으로 IF의 사용의 몇 가지 생각 나는 포트란에서 예전의 코드를 변환하고

IF(x1-x2) 12, 13, 14 

12 WRITE(*,*) x1 
    . 
    . 
    . 
13 y=... 
    . 
    . 
14 DO x=x1,x2 
    IF(x-x2) 33, 34, 40 
    . 
    . 
    . 

코드가 정상적으로 실행되고 결과가 생성됩니다. 누구든지 IF 사용과 마주 친 적이 있습니까?

+1

http://stackoverflow.com/q/6789946/3157076도 참조하십시오. – francescalus

+1

여러 번 여기에 왔습니다. –

답변

4

그건 arithmetic IF입니다. 표현식이 음수, 0 또는 양수인지에 따라 첫 번째, 두 번째 또는 세 번째 레이블로 분기됩니다.

매우 오래된 버전의 Fortran (또는 FORTRAN)에서는 사용 가능한 IF 문 형식 만 사용되었습니다.

현대의 논리 인 IF을 가진 Fortran 77처럼 최신 버전에서 사용 된 것을 보는 것이 약간 이상합니다. 이 기능은 Fortran 90에서 노후화 된 것으로 선언되었지만 더 현대적인 Fortran 컴파일러가 여전히 지원한다면 놀라지 않을 것입니다.

+0

오케이, 순서는 음수, 0, 양수로 1, 2, 3입니다. 덕분에 – user3780714

+0

gfortran은 여전히 ​​그것을 지원합니다. 나는 Fortran 77의 일부 레거시 코드와 함께이 코드를 사용하고 있습니다. – siritinga

+1

1984 년에 저는 그것을 사용하는 학생들이 나쁜 습관이라고 말하고 있었으며 곧 쓸모 없게 될 것입니다. 실제 컴퓨팅 세계에 오신 것을 환영합니다. – Jakub