3. Fortran 77 񃧯 (Fortran 77 Basics)

Fortran ÇÁ·Î±×·¥Àº ¿©·¯ °³ÀÇ text ÁÙÀÌ´Ù. ±× text´Â Á¤ÇØÁø ¹®¹ý syntaxÀ» µû¶ó¾ß¸¸ ¿Ã¹Ù¸¥ Fortran ÇÁ·Î±×·¥ÀÌ µÈ´Ù. ´ÙÀ½ÀÇ °£´ÜÇÑ ¿¹¸¦ »ìÆì º»´Ù.
      program circle
      real r, area
 
c This program reads a real number r and prints
c the area of a circle with radius r.
 
      write (*,*) 'Give radius r:'
      read  (*,*) r
      area = 3.14159*r*r
      write (*,*) 'Area = ', area
 
      stop
      end
"c"·Î ½ÃÀÛÇÏ´Â ÁÙÀº ¼³¸í commentsÀ¸·Î »ç¶÷ÀÌ ÇÁ·Î±×·¥À» Á»´õ Àбâ ÁÁµµ·Ï Çϱâ À§ÇÑ °ÍÀÌ´Ù. ¿ø·¡ ¸ðµç Fortran ÇÁ·Î±×·¥Àº ´ë¹®ÀÚ·Î ½á¾ß¸¸ Çß¾ú´Ù. ¿äÁîÀ½Àº ´ëºÐÀÇ »ç¶÷ÀÌ Àбâ ÁÁ±â ¶§¹®¿¡ ¼Ò¹®ÀÚ¸¦ »ç¿ëÇϹǷΠ¿©±â¼­µµ ±×·¸°Ô ÇÒ °ÍÀÌ´Ù.

ÇÁ·Î±×·¥ ±¸¼º (Program organization)

º¸Åë Fortran ÇÁ·Î±×·¥Àº ÁÖ ÇÁ·Î±×·¥ (¶Ç´Â driver)°ú ¸î °³ÀÇ ºÎ ÇÁ·Î±×·¥ (¶Ç´Â procedures ¶Ç´Â subroutines)À¸·Î ÀÌ·ç¾îÁø´Ù. Áö±ÝÀº ¸ðµç ¹®ÀåÀÌ ÁÖ ÇÁ·Î±×·¥ ¾È¿¡ ÀÖ°í ºÎÇÁ·Î±×·¥Àº ³ªÁß¿¡ ´Ù·ê °ÍÀÌ´Ù. ÁÖ programÀÇ ±¸Á¶´Â
      program name

      declarations

      statements

      stop
      end
À¸·Î ÀÌ·ç¾î Áø´Ù. ÀÌ tutorial¿¡¼­ °æ»çü italics ´Ü¾î´Â ¹®ÀÚ ±×´ë·Î°¡ ¾Æ´Ï¶ó ÀϹÝÀû Ç¥ÇöÀ¸·Î °£ÁÖÇϵµ·Ï ÇÑ´Ù. stop ¹®Àº ¼±ÅÃÀûÀ¸·Î ÇÁ·Î±×·¥ÀÌ ÀÌ Á¡¿¡ µµÂøÇÏ¸é ¾î¶°ÇÑ °æ¿ì¿¡µµ Á¤ÁöÇÒ °ÍÀ̱⿡ ÇÊ¿ä¾ø¾î º¸ÀÌÁö¸¸, ÇÁ·Î±×·¥ÀÌ ÀÛ¾÷ÀÇ È帧ÀÌ ±× Á¡¿¡¼­ Á¤ÁöÇÑ´Ù´Â °ÍÀ» °­Á¶Çϱâ À§ÇÏ¿© ÇÁ·Î±×·¥Àº ¹Ýµå½Ã stop ¹®À¸·Î ³¡³ªµµ·Ï ÇÑ´Ù.

Ä­¿¡ °üÇÑ ±ÔÄ¢ (Column position rules)

Fortran 77Àº Á¤ÇØÁø Çü½ÄÀÌ ¾øÀÌ ÀÚÀ¯·Ó°Ô ¾µ ¼ö ÀÖ´Â ¾ð¾î°¡ ¾Æ´Ï¶ó ¿ø½Ã ÄÚµå¶ó°í ÇÏ´Â source codeÀÇ Çü½Ä¿¡ ´ëÇÑ ¸Å¿ì ¾ö°ÝÇÑ ±ÔÄ¢ÀÌ ÀÖ´Ù. °¡Àå Áß¿äÇÑ ±ÔÄ¢Àº Ä­ (column)¿¡ °üÇÑ ±ÔÄ¢ÀÌ´Ù.
Col. 1    : ºó Ä­ ¶Ç´Â ¼³¸íÀÓÀ» ³ªÅ¸³»´Â "c" ³ª "*"
Col. 2-5  : ¹®Àå label (optional)
Col. 6    : ¾Õ ÁÙÀÇ ¿¬¼Ó (optional)
Col. 7-72 : ¹®Àå
Col. 73-80: ÀÏ·Ã ¹øÈ£ (optional, ¿äÁîÀ½Àº °ÅÀÇ »ç¿ëÇÏÁö ¾ÊÀ½)
Fortran 77 ÇÁ·Î±×·¥ÀÇ ´ëºÎºÐÀÇ ÁÙÀº 6 °³ÀÇ ºóÄ­À¸·Î ½ÃÀÛÇÏ¿© 72 ¹ø° Ä­ ÀÌÀü¿¡ ³¡³ª¼­ ¹®Àå ¿µ¿ª(statement field)¸¸ »ç¿ëÇÑ´Ù. ¹Ý¸é¿¡ Fortran 90Àº Çü½Ä¿¡ ±¸¾Ö¹ÞÁö ¾Ê´Â free-foramtÀÌ °¡´ÉÇÏ´Ù.

¼³¸í (Comments)

ù¹ø° Ä­¿¡ ¹®ÀÚ "c"³ª "*"·Î ½ÃÀÛÇÏ´Â ÁÙÀº ¼³¸í(comment)ÀÌ´Ù. ¼³¸íÀº ÇÁ·Î±×·¥ Áß¿¡ ¾îµð¿¡µµ µÑ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¥À» Àϱâ ÁÁ°Ô Çϱâ À§ÇÏ¿©´Â ÀÌ ¼³¸íÀÌ ¸Å¿ì Áß¿äÇÏ´Ù. »ç¿ë Fortran code¿¡´Â ÀÌ ¼³¸íÀÌ 50%¿¡ À̸£±âµµ ÇÑ´Ù. "!"¸¦ ¼³¸íÀ¸·Î »ç¿ëÇÏ´Â °æ¿ìµµ ÀÖÀ¸³ª Fortran 77¿¡¼­´Â Ç¥ÁØÀÌ ¾Æ´Ï°í Fortran 90¿¡¼­´Â »ç¿ë °¡´ÉÇÏ´Ù. ÀÌ ´À³¦Ç¥´Â 2-6Ä­À» Á¦¿ÜÇÏ°í ¾îµð¿¡¼­³ª »ç¿ëÇÒ ¼ö ÀÖ´Ù.

¿¬¼Ó (Continuation)

°¡²û ÇÑ ¹®ÀåÀÌ ÇÑ ÁÙ·Î µÇÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ¹®ÀåÀ» Çϳª ÀÌ»óÀÇ ÁÙ·Î ³ª´©¾î ¾µ ¼ö ÀÖ´Àµ¥ ÀÌ ¶§ ¿©¼¸¹ø° Ä­¿¡ ¿¬¼Ó Ç¥½Ã¸¦ ÇÑ´Ù.
c23456789 (ÀÌ´Â Ä­À» ³ªÅ¸³»±â À§ÇÑ °ÍÀÌ´Ù!)
c The next statement goes over two physical lines
      area = 3.14159265358979
     +       * r * r
"+" Ç¥½Ã ÀÌ¿Ü¿¡µµ ¾î¶°ÇÑ ¹®ÀÚ¸¦ »ç¿ëÇÏ¿©µµ »ó°ü ¾ø´Ù. ±×·¯³ª "+", "&", ¶Ç´Â ¼ýÀÚ(µÑ°ÁÙ¿¡´Â 2, ¼Â°ÁÙ¿¡´Â 3 µî)¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀº ¹æ¹ýÀÌ´Ù.

ºó Ä­ (Blank spaces)

Fortran 77¿¡¼­ ºó Ä­Àº ¹«½ÃµÈ´Ù. µû¶ó¼­ Fortran 77 ÇÁ·Î±×·¥ÀÇ ¸ðµç ºóÄ­À» ¾ø¾Öµµ »ó°ü¾ø´Ù. ´ÜÁö »ç¶÷ÀÌ Àб⠾î·Á¿ï »ÓÀÌ´Ù.


¿¬½À ¹®Á¦

¿¬½À ¹®Á¦ A
´ÙÀ½ Fortran 77 ÇÁ·Î±×·¥¿¡¼­ Ʋ¸° °ÍÀ» Àû¾îµµ 3 °³ ã¾Æ¶ó.
c23456789 (This demonstrates column position!)
 
     programme
cc
     integer int
     int = 12
     write(*,*) 'The value of int is',
+    int
     end
     stop

[Fortran Tutorial]
Ãæ³²´ëÇб³ ¹°¸®Çаú ¿À º´¼º