9 ½Æ¼Æ¸ê®Æ«¬¦¡

9.1 ½Æ¼Æ¸ê®Æ

½Æ±`¼Æ

FORTRAN ¨Ï¥Î¤@¹ï¹ê±`¼Æ (a, b) ¥Nªí½Æ±`¼Æ¡A a ©M b ¬O³æ·Ç±`¼Æ¡A ¤À§O¥Nªí½Æ¼Æªº¹ê¼Æ³¡¤À©Mµê¼Æ³¡¤À¡C

¨Ò¦p

    (1.0, 1.0)
    (-6.0, 9.7)

¤À§O¬Û·í©ó

    1.0 + 1.0i
    -6.0 + 9.7i

ªº½Æ±`¼Æ¡C

COMPLEX «¬¦¡±Ô­z

½Æ¼ÆªºÅܼơA°}¦C©Î¨ç¼Æ¡A¨ä¸ê®Æ«¬¦¡¥²¶·¨Ï¥Î COMPLEX «¬¦¡±Ô­z¤©¥H«Å§i¡C ¨Ò¦p¡A

      COMPLEX A, RHO(10, 10)

«Å§i A ©M 10 x 10 ªº°}¦C RHO ¬°½Æ¼Æ¡C

      COMPLEX FUNCTION GAMMA(Z, W)
      COMPLEX Z, W
©Î
      FUNCTION GAMMA(Z, W)
      COMPLEX GAMMA, Z, W

«Å§i GAMMA ¬°§t½Æ¤Þ¼Æ Z ©M W ªº½Æ¨ç¼Æ

½Æ¼Æ¹Bºâ

½Æ¼Æªººâ³N¥|«h¹Bºâ¡A ¥Îªk©M³æ·Ç¹ê¼Æ¬Û¦P¡A ¤´µM¨Ï¥Î¹Bºâ¤l + , - , *, ©M / ¡C ½Æ¼Æªº«ü¼Æ¹Bºâ ** ¥u­­©ó«ü¼Æ¬°¾ã¼Æ¡C

¾ã¼Æ¡A¹ê¼Æ¡A©M½Æ¼Æ­È¥i¥H²V«¬(mixed-mode)¹Bºâ¡C ¦ý¬Oª`·N¡A ­¿·Ç¼Æ­È¤£¥i©M½Æ¼Æ­È²V¥Î; ­¿·Ç¼Æ­È¤£¥i«ü©wµ¹½ÆÅܼơA ½Æ¼Æ­È¤]¤£¥i«ü©wµ¹­¿·ÇÅܼơC

½Æ¨ç¼Æ

½Æ¼Æ¸g±`¨Ï¥Îªº¦³µ´¹ï­È¡A ¦@³m¡A ©M«ü¼Æ¨ç¼Æ¡C ³o¨Ç¨ç¼Æ¥i¤À§O¨Ï¥Î FORTRAN ªº®w¦s¨ç¼Æ ABS, CONJG, ©M EXP¡C ¨ä¥L½Ñ¦p SIN, COS, LOG, ©M SQRT ¤]¥i¥H¨Ï¥Î½Æ¼Æ­È°µ¬° ¤Þ¼Æ¡A ·íµM¨ä¨ç¼Æ­È¤]¬O½Æ¼Æ«¬¦¡¡C

¦¹¥~¡A ¹ê¼Æ©M½Æ¼Æ«¬¦¡¤§¶¡ªºÂà´«¡A ¥i¥Î

AIMAG(z) ­pºâ½Æ¤Þ¼Æ z ªºµê¼Æ³¡¤À¡C
CMPLX(x,y)  ©Î CMPLX(x) ±N¨â­Ó¾ã¼Æ¡A¹ê¼Æ¡A©Î­¿·Ç¼Æ x ©M y Âà´«¦¨½Æ¼Æ¡C  x ¬°¹ê¼Æ³¡¤À¡A y ¬°¹ê¼Æ³¡¤À¡C CMPLX(x)  ¬Û·í©ó CMPLX(x,0)¡C
REAL(z) ­pºâ½Æ¤Þ¼Æ z ªº¹ê¼Æ³¡¤À¡C

½Æ¼Æ I/O

½Æ¼Æ­Èªº¿é¤J¥i¥H¨Ï¥Î¦ê¦C¦¡ªº READ ±Ô­z¡A ¤£¹L¥Nªí½Æ¼Æ­Èªº¦¨¹ï¹ê¼Æ­È­n¬A¦b¬A©·¤º¡C ½Æ¼Æ­È¤]¥i¥H¨Ï¥Î®æ¦¡¤Æªº READ ±Ô­z¿é¤J¡A ¨C¤@½Æ¼Æ­È¥i¨Ï¥Î¤@¹ï F, E, ©Î G ´y­z¦¡¡A ¤£¹L¤£¥²¬A¦b¬A©·¤º¡C

½Æ¼Æ­È¨Ï¥Î¦ê¦C¦¡¿é¥X®É¡A ¥Nªí½Æ¼Æ­Èªº¦¨¹ï¹ê¼Æ­È¥Î³rÂI¹j¶}¡A ¨Ã¥B¬A¦b¬A©·¤º¡C ¨Ï¥Î®æ¦¡¤Æªº¿é¥X®É¡A ¨C¤@½Æ¼Æ­È¤]¬O¨Ï¥Î¤@¹ï F, E, ©Î G ´y­z¦¡¡C

¨Ò¦p¡A

      PROGRAM DEMO3

      COMPLEX X, Y, W, Z, A
      READ *, X, Y
      READ 5, W
    5 FORMAT(2F2.0)
      PRINT *, X, Y, W
   10 FORMAT(1X, F6.2, ' +', F8.2, 'I')
      Z = (X + Y) / (1.0, 2.2)
      A = X * Y
      PRINT 10, Z, A
      END

9.2 ¼Æ­È¤èªk

¨D¤G¦¸¤èµ{¦¡ªº®Ú

²Ä¥|³¹»¡©ú IF ±Ô­z¥Îªk¡A´¿Á|¨D¤G¦¸¤èµ{¦¡ªº®Ú¬°¨Ò¡C ¨º¬O¦]¬°¤G¦¸¤èµ{¦¡ªº®Ú¤]¥i¯à¬O½Æ¼Æ®Ú¡A¦Ó»Ý­n¥Î¹ê¼Æªí¥Ü¡C ²{¦b¥i¥H¨Ï¥Î COMPLEX ¸ê®Æ«¬¦¡¡A µ{¦¡¤]´N§ó¬°Â²³æ¡C

      COMPLEX A, B, C, DISC, ROOT1, ROOT2

      PRINT *, 'ENTER THE COEFFICIENTS OF THE QUADRATIC EQUATION'
      READ *, A, B, C
      DISC = SQRT(B ** 2 - 4.0 * A * C)
      ROOT1 = (-B + DISC) / (2.0 * A)
      ROOT2 = (-B - DISC) / (2.0 * A)
      PRINT *, 'THE ROOTS ARE:'
      PRINT 10, ROOT1, ROOT2
10    FORMAT (5X, F7.3, ' +', F7.3, 'I')
      END
¨ÒÃD: