Osnovi Za Fortran

Embed Size (px)

DESCRIPTION

sen

Citation preview

  • 1 / 36

    1.

    . .

    , , . , , BASIC, FORTRAN, PASCAL, C . , , , , , .

    .

    . 1957 . 704IBM , , . Fortran FORmula TRANslation, , .

  • -

    ,

    1.1.

    1966 , , . , 1966 , 66. , 77 90.

    , 77. (ANSI) , 1980 , (ISO 1539).

    .

    Windows, , visual . (CPU). visual Microsoft Power Station Intel , , Compac Visual Fortran Intel AMD , desktop .

    1.2.

    - , . - , , . .

  • 3 / 36

    . , , .

    . , , .

    , . 6 , (labels).

    . , , , . . , . , .

    , NASA. DO

    DO 15 I = 1,100 , (?), ,

    DO 15 I = 1.100

  • -

    ,

    , . , DO15I 1.100 .

    , .

    1.3. C JAVA?

    C, C++ Java?

    , , , , . , e C Java , .

    77 90. 90 , , . , . 77 , 90.

    77 , .

  • 5 / 36

    2.

    , , Notepad Wordpad, . , ASCII , source (). , . compilers. . , .

    , , , .

    .

    , (flowchart). .

    , .

    , :

  • -

    ,

    .

    , , .

    .

    .

    .

    . ( )

    .

  • 7 / 36

    1. ?

    1: x=1 2: f1(x) 3: f2(x) 4: x, f1(x) f2(x) 5: x 1 6: x>10 7: 2 8:

  • -

    ,

    x =1.0

    x = x+1

    x>10

    x, y1, y2

    y1=x2

    y2=log(x)

    1.

    2. ?

    3. a, b c ? .

  • 9 / 36

    1: . 2: . 3: . 4: . 5: . 6: S. 7: S

    .

    1: a, b c. 2: S=0. 3: S a, b c.

    3.1: S=S+a+b+c 4. ab

    5.1: bc nb=c. 6: S. 7: S nm .

  • -

    ,

    .

    4. x, y z.

    , 52 , 5

    2 , 5 2 , 5

    f z x yx yf g

    x y f z x y

    + +

  • 11 / 36

    y < 5

    f = 2-x

    x, y, z

    f=2+x

    x+y < 5

    g =f+z g = f+2z

    f , g

    4.

    5. x1 x2.

    1 2 1 21 2 1 21 2 1 2

    ,,,

    x x x xy x x x x

    x x x x

    +

    . 1. z

    1 12i i izx x x+ = + ,

  • -

    ,

    i=0,1,2,, 0 1x z= + , 3

    1 10i ix x

    += = . 2.

    ?

    3. 3.1.

    , : - : 0,1,2...9 - 26 :

    ,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z - : = , ( ) - + . ' * /

    3.2.

    . . :

    - INTEGER - REAL - COMPLEX - LOGICAL - LITERAL 3.2.1. INTEGER

    . + -.

  • 13 / 36

    . -. .

    IMAX=12 IMIN=-234 INULA=0 , 4

    (4*8=32 ), . integer , -32768, +32767.

    3.2.2. REAL . . real -. real 11. :

    SUMA=1234.6 AMAX=12.0 BERI=-0.00123 BERI=-123E-05 SUMA=123.46E01 4 (4*8=32 ),

    8 (8*8=64 ). real 1282 1272 .

    3.2.3. LOGICAL

    . 1 0, TRUE FALSE .

    IME=TRUE - IME=FALSE -

  • -

    ,

    4 logical , 1 .

    3.2.4. LITERAL , . , .

    IME=SKOPJE IME=IZ05 ,

    4 (4*8=32 ).

    4.

    , . (), . . .

    () ()

    - INTEGER 4 2 - REAL 4 8 - COMPLEX 8 16 - LOGICAL 4 1 - LITERAL

  • 15 / 36

    4.1.

    . , :

    - ,

    - ,

    - .

    , real integer .

    , .

    .

    4.2.1. INTEGER ,

    (I, J, K, L, M, N) MAX=12 BAS=12 (POGRESNO !) MAL23=436 ISUMA ,

    ! , INTEGER ALFA, BAS, ... ,

    ! ,

  • -

    ,

    IMPLICIT INTEGER (D-N)

    D-N integer, LAVA=234 FIRMA=12

    , , :

    INTEGER *2 GIL, VE, RARE

    IMPLICIT INTEGER*2 (D-H) 4.2.2. REAL

    . , (I, J, K, L, M, N)., :

    FAMA WINDO AAE24 XING ,

    : IMPLICIT REAL*8 (A-H,O-Z)

    . REAL MAXI, MINI, JOT32

    a IMPLICIT REAL (MAKS, IVI5M, NOVA3) REAL 11 (4 ).

    ,

  • 17 / 36

    8 . DOUBLE PRECISION , 20 . :

    REAL*8 SUMA, PROIZVOD, .... DOUBLE PRECISION SUMA, PROIZVOD, ... 4.2.3. LOGICAL

    , . , logical:

    LOGICAL A1, MANA, ISUMA, WINLA23 ,

    IMPLICIT LOGICAL*1 (V) V 1 .

    5. -

    . : + - * / **

  • -

    ,

    : : .

    . :

    3+8.45**2 2*7.12 - 34**0.5 2*(712-34)**0.5 (A+4*B)**2.5 ,

    . A=J**K**L

    A=J**(K**L)

    , .

    A=B*C/D*E

    A=((B*C)/D)*E 6.

    , .

    __() , ,

  • 19 / 36

    . , . :

    - sin(x) SIN(X) cos(x) COS(X) tan(x) TAN(X) REAL .

    - a

    ex EXP(X) REAL . -

    ln(x) ALOG(X)=LOG(X) log(x) LOG10(X) REAL . -

    x SQRT(X) REAL . - arctan(x) ATAN(X) arcsin(x) ASIN(X) arccos(x) ACOS(X) REAL . -

    sh(x) SINH(X) ch(x) COSH(X)

  • -

    ,

    tanh(x) TANH(X) REAL . -

    x ABS(X) REAL . , , DOUBLE PRECISION, D , . : DSIN(X) DTANH(X) DARSIN(X)

    DCOS(X) DLOG(X) DATAN(X) DTAN(X) DEXP(X) DABS(X) REAL*8 .

    . MAX(A,B,)

    . MIN(A,B,)

    . MOD(I,J) I J. INT(X) . REAL(X) . :

    ( )( )

    1 sin1 ln2 1 cos

    xg

    x +

    = G=0.5*ALOG((1+SIN(X))/(1-COS(X)))

  • 21 / 36

    ( )1sin2

    p xy

    p

    +

    =+

    Y=SIN(X)**(P+1)/(P+2) ( )

    ( )

    1 3ln

    tanhx

    zx

    =

    Z=(ALOG(X)/TANH(X))**1/3 3.

    : ) 32 ya b x

    c d+ + +

    ) 2 3 3 22 311 1 Ngx h + + ) ( )1 32 1ln 1x y x

    ) ( )2 3cos cot + + )

    21sin arcsin2 4

    x + +

    ) ( ) ( ) 1 22 23sin cos 8x xx x + 7. 7.1. ()

    . . , , , .

    :

  • -

    ,

    READ(i,n) n FORMAT(S1,S2,...,SN)

    : i integer

    . *. n FORMAT-

    READ.

    . . , READ .

    7.1.1. Integer Real

    , , :

    READ(*,*)K, , : READ(*,100)MAX,IR,K,KOM 100 FORMAT(I4,I5,I2,I10) 4,5,2 10

    () integer.

    READ(*,100)X,Y,Z 100 FORMAT(F10.5,F10.8,E11.5) REAL,

    FORMAT . X 10 5 , Y 10 8 , Z 11 () , , E .

  • 23 / 36

    READ(*,100)X,Y,Z 100 FORMAT(F10.5,F10.5,F10.5) 100 FORMAT(3F10.5)

    . READ(*,100)X,IMAX

    100 FORMAT(F10.5,I5)

    , , X REAL IMAX integer. 7.1.2.

    , , . ,

    READ(*,100)MAX 100 FORMAT(2) MAX

    - . 7.1.3.

    DATA PARAMETER.

    PARAMETER PARAMETER (A=3.24,B=78.124) A=3.24 B=78.124. DATA DATA X/10.3,23.45/

    X X(1)=10.3 X(2)=23.45.

  • -

    ,

    7.1.4.

    , . . .

    410 . E-4 , 1E 4 .

    x y :

    READ(*,100)X,Y 100 FORMAT(2E10.5) 10.23 -2, x=10.23E-2 y=0.0. F , 100 FORMAT(2F10.5) x=10.23 y=-2.0. 7.2. WRITE

    PRINT. WRITE(i,n) FORMAT(S1,S2,...,SN)

    : i .

    () *, .

    n e FORMAT-.

  • 25 / 36

    PRINT , WRITE .

    7.2.1. integer

    WRITE(*,210)MAX 210 FORMAT(MAX =,I3) I3

    . WRITE(*,210)M1,M2,N 210 FORMAT(I3,I4,I5) integer ,

    , , .

    WRITE(*,210)M1 WRITE(*,210)M2 WRITE(*,210)N 210 FORMAT(I3,I4,I5) 7.2.2. real

    WRITE(*,200)A 200 FORMAT(F6.2) F6.2

    . WRITE(*,200)X,Y,Z 200 FORMAT(F6.2,F6.3,F6.4) .

    , , . .

    , , .

  • -

    ,

    WRITE(*,200)I,X,M,Y 200 FORMAT(I3,F6.3,I4,F6.4) , integer

    , real , integer real .

    WRITE(*,200)I,X,Y,Z 200 FORMAT(I4,2X,3F6.3)

    integer , real , . .

    7.3. : 7 72

    . 8 . C , , .

    1.

    ?

  • 27 / 36

    2.

    ?

    ) (rounding) (truncation) REAL( ) INT( )?

    ) ?

    3.

    r? ) r

    ? )

    ? 4.

    H?

    ) ?

    5.

    a , ?

    7.4. ,

    , . , .

  • -

    ,

    7.4.1.

    , . , , . Frtran .

    integer 1 99999 .

    GO TO n n . 7.4.2.

    , , . , , . IF

    IF()n1,n2,n3 n1,n2 n3 .

    IF , 77 IF

    IF(logical expression)THEN . . BLOCK OF STATEMENTS . . ENDIF

  • 29 / 36

    .

    : .GT. .GE. .LT. .LE. .EQ. .NE. () .AND. .OR. .NOT.

    >, >=,

  • -

    ,

    6.

    ( )

    2

    2

    1, 2.80 , 2.8

    1, 2.8

    x xf x x

    x x

    + >= =

  • 31 / 36

    7.5.1.

    , DO , CONTINUE, :

    DO 10 I=n1,n2,n3 . DO 20 J=n1,n2,n3 . . 20 CONTINUE . . . 10 CONTINUE DO

    . DO DO 70 I=1,N . . . DO 70 J=1,M . . . 70 CONTINUE

  • -

    ,

    , DO

    CONTINUE . DO J

    I !

    8

    1

    1N

    i i= , N?

    ) ; ) e

    ? 9

    N 3 10 2y x x= +, 0.0x = 0,2x = ?

  • 33 / 36

    7.6.

    , . , (), . , .

    DIMENSION (I)

    I=1N, .

    -, DIMENSION B(10,10)

    . B .

    10

    x p. a , ?

    x p x+p x*p x/p

    0.50 0.90

    1.40 2.50

    2.75 5.50

    6.00 3.00

    7.00 9.00

  • -

    ,

    11

    A 10N , ?

    8.

    , , , . , . .

    : - FUNCTION - SUBRUTINE. 8.1. FUNCTION

    . .

    FUNCTION IME(P1,P2,,PN) . . . RETURN END

    IME , a PN , . RETURN . IME(P1,P2,,PN).

  • 35 / 36

    8.2. SUBRUTINE ,

    . SUBRUTINE

    FUNCTION IME(P1,P2,,PN) . . . RETURN

    END , . , RETURN .

    CALL IME(P1,P2,,PN) 12

    k- m , k 1,2,,m?

    1 8k , k- m

    ( )!

    ! !mk

    mck m k

    =

    . 13

    ?

  • -

    ,

    2 2cos ;

    sin ; arctan

    x r r x yyy rx

    = = +

    = = .

    ( ) ( )2 22 1 2 1d x x y y= + .

    : 1 2

    1 2

    2.0; 2.00.0 1.57

    r r = =

    = =