Fortran Avdic

Embed Size (px)

DESCRIPTION

Masinski Fakultet Tuzla

Citation preview

  • FORTRAN programiranje za windowse

    U tabeli 4.2 datje pregled usklaaenosti tipova podataka u VB-u i FORTRANU:

    Real

    String

    Types

    I Problem pozivanja-Cal i

    Tabela 4.2

    i Visual Basic i Visual Fortran inteaer varijable imaju usklac1ene. , Kao osnova (default) intidzer (integer) velicina u Basicuje sa 2

    najta i od,govara INTEGER (2) u Fortranu I Kao default Visual Basic i Visual Fortran imaju single i double I precision sa istim brojem bajtova (4-single, odnosno 8 za double I "recision). . I Kao default u Basicll U s(ruKtilI'j poziva-caiieci I BSTR. U ovom slucajll treba voditi raClll1a 0 llsaglasenosti,S:l I Fortranom. Kad se pridruzuje string iz Basica za Fortran ! se:-:a ByVal. I clefault u Basicu je 0 , au Fortranu je J. Kad se 1..1 Basicu I deklari;;::- !liz velicine "n" to znaci cia ima n+ I elemenata u i, Fortranu jer startuje sa nultim elementom.

    I! Tipovi koji su deklarisani u mogu biti priclruzeni iz Basica

    u Fortran.

    I Kao osnova Visual Basic i Visual Fortran imaju single i double Logical I precision sa istim brojem bajtova to jest sa 2 bajta.

    Deklarisanje FORTRAN-ske nltine u Visual Basic

    Koristenje Visual Basic-a mozemo opisati na primjeru Fortranskog potprograma sa nazivom FortranCali sa dva argumenta koji su single-precision:

    Declare Sub FortranCall lib "d: \MyProjects\Fcall. dll" (AI as Single, A2 as Single)

    Deklarisanje Fortranske funkcije sa imenom FortranFunc koja takoae ima dvije cjelobrojne vrijednosti a kao povratnu ima single-precision vrijednost:

    Declare Function FortranFunc Lib "d:\MyProjects\FFun.dll" (AI as Long, A2 as Long) As Single

    Eksport rutine sa FORTRAN DLL-om

    Prilikom kreiranja Fortran DLL-a mora se VOditI racuna 0 tome da funkcija iIi subroutine bude deklarisano sa ekstenziom .DLL. Primjer deklarisanja za DLL koja se eksportuje dataje na primjeru subroutine:

    194

    FORTRAN i drug! programskijezici ---------------------

    SUBROUTINE FortranCall 'DECS ATTRIBUTES DLLEXPORT :: FortranCall 'OVO je eksport

    ime !DECS ATTRIBUTES ALIAS ovim je setovano

    )I FortranCalll1 FortranCall ! Sa

    Primjer: . . Potrebno je vrsiti racunanje povrsine trougla ako su date stral11ce a, b J C

    i uglova trougla primjenom kosinusne teoreme.. v Ulazni poclaci, izlazni podaci,kao i komentar u. slucaJu s.u pogr

  • ..illl ;

    0 8 .:..Jllil r6l"-

    196

    FORTRAN programiranje za windowse

    D"irr. b As S1.ngle

    Dim r::: As :5l11cJ102 Dl~(l P }L3 Slngle

    Dun ugaoa As Sin'Jle DDj ugaob .0.3 Sin.gle Din1 ugaoc.: As :5ingle

    Inpt~tBo;.: ("unes). stranu a") b = InputBox ("unes1. stranu b rt )

    'c """ Inputiox ('unesi str::ann cit")

    3:f ((3 + h) > c And (b + c) ;- a And (c + a) ;- bl The CalL t::ougao(a, 0, C, p) ugaoa '" l.lgaoZ (l:"'>C, a) ugaob"" ugao2(c, a, bj ugaoc '" 180 - (ugaoa + ugaob) Labe~l_Caption '" "pavrslna=" & p L8be12.Cap1:10n '" "alfa"''' .~ ugaoa Labe 13. Capt lon '" "beta=" .;; ugaob

    "game=" & ugaoc

    "NETACNI PODACI"

    Slika 4.8

    Slika 4.9

    FORTRAN i drugi programskijezici

    Freody ~-Ln--i:'(i;T 1"

    ;;f:!Start iU. ~ i!:~ .;:n .. 'J? i ~prOJedl' r':icrOSDft Visu c J'.lld (b + c) ). a _tl..nd (c + a) ). b) Then Call trougao (a, b, c, pJ ugaoa '" uga02 (b, c, a) ugaob : 1.1ga02 (c, a, b) ugaoc '" lao - (ugaoa + ugaob) Labell.Caption = "povrs1.na=" & p Label2.Caption : "alIa:" & ugaoa Label3.Captl.on;o "beta=" ~ ugaob Label4.Ca.ptl.on '" "garna.=" .s; ugaoc Else

    ~~ti~lifffi~"'~"IIII"lIlIlIillIlIlG]~1

    ;~- :-, ,,1;1 ' "';;c;~:-,-

    1=

  • INDEX

    A abacus, 2 ADA

    Byron, 2 prograIllski :2

    aigorilam, 22-3 i ;\LGOL, 16 ALLOCATABLE,74 ARREA VISUALISER, ! 6 j l\Pl, 163 argument, 44, 47 :"'_SC II 1 36; '152 assembler, 9, 16 analogni racLinari, 4, 9 auton1atsko gencrlranje progralna, 23

    B BACKSPl\CE, 99 baiL 10,76, 193 bihlioteka funkcija, 152, 164 binarni sislem, J 2 bit. 10 BLOCK DATA, 38,77 blok naredbi, 24

    C character, 40 C

    c++

    jezik) 162: 17E interfeis, 178 I FORTRAN, 177

    jcz.ik, i 77 -190 interi'ejs, 177, j 88 / FORTRAN, i77

    Ckompajlcr, 177 case - viol SELECT CASE CALL ciklus, 32

    brojcani, 32 us]ovni,32

    CLOSE,99 COBOL,5 COMPILER, 17 COMPLEX, 40 COMMON,73-75

    CONTINUE, 8 I CYCLE,72

    o DATA, 37, 77 datotcka, 98

    sekveflcljalna,98 direklna, 98

    DEALLOCATE,74 DIM ENS rON, 73 DLL,36, 129,176 ciouble 53

    E edilor,51 ckspertni si;;lcm, 2 i END,129 END 00,67 END DO lime], 69 END FILE, j 00 ENTRY, 87 EQUIV ALENCE, 78 exit, 72

    F floal, form, lOI formal

    slobodni, 38 riksirani,3E

    FORMAT narcdba, 49 sinwksa,50 /,a realne brojeve, SQ, 52 La cijeIc brojcve, 49, 52 za double precision, 53 cbaractcr,54

    FORTRAN programski jezik, 5, 8, 129 konzoina aplikacija, 35 standardna aplikacija, 35 QWIN aplikacija, 36, 156 graficke aplikacije, 36, 152 DLL aplikacija, 36, 177

    FUNCTION programska jedinica, 84, 87 primjer,87

  • ,0 '-0 "generator compileri, 20 GOTO, 26, 57

    :n - tormal, 52 grafika sa Fortranom, 152 :;rafika sa ARREA VISUALIZER, 161

    ,grafika sa PLOT 88, 169 ,graficke rutine, 152

    H hardver, 7 heksadecimalne vrijednosti, l3

    IF naredba,61 struktura, 62 THEN ELSE, 63 THEN ELSE IF, 65

    IMPLICIT, 37 INCLUDE, INCLUDE,37 indeksirane varijable, 72 INPUT,49 INQUIRE, 100 INTEGER, 39, 4l INTERFACE

    Visual Basic, 165, 191 C/C++, 178

    interpreter, 17 izvorni program, 8

    J jednodimenzionalni niz, 72 jezici

    K

    assembler, 16 deklarativni, 18 funkcionalni, 19 masinski, 16 objektno orijentisani, 19 paralelni i vektorski, 19 prirodni, 21 proceduralni, 17

    kompajler, 17

    L LOGICAL 40 iogicke

    naredbe,43 izrazi,43

    logicki operatori, 43, 66

    M main, 9 memorija

    RAM, 74 ROM, 74

    MODULE,84

    N

    programska jedinica, 95 primjer, 95 sintaksa, 95

    nacrLna geometrija, 129 naredbe,37

    kontroie taka, 32 grananje, 56 llsiovne,59

    neuralne mreze, 21 nizovi,72

    o objektl1o orijentirani jezici, 19 operativlli sistern, 8,9, 11 oktalni sistem, [3 OPEl luI operator, 42 opisivaci,49-56 OUTPUT,49

    P PASCAL, 1,5 PARAMETER,37 parametri,37 petlje, 32, 67

    brojcane, 32, 67 uslovne, 32, 67, 71 DO, 67, 71,81 DO WHILE, 67, 71 imenovane, 69 ugnijeZdene, 29, 70

    PLOT 88 pakel program, 168 spisak naredbi, 168

    pozivanjc (llnkcija, 87 PRINT, 49, 97 PRIVATE. 129 PROGRAM

    Q

    progrmnska jedinica, 84 prirnjeri, 108-126, 156-161, 167-168,172-174,182-187,194-197

    QUICKWIN, 36, 156

    R READ,49 REAL,41 RETURN,77 REWIND, [01 rotacija, 133, 137, 142

    S SAVE,77 sekundarna rnernorij a, 10 sekvencijalna (vidi datoleka) sislemske funkcije, 44 slrukture, 22 SELECT CASE, 30, 65

    sintaksa, 65 primjer, 30, 66

    SUBROUTINE, 85

    T

    sintaksa, 91 primjer,91

    lransformacije, 130, 141 translacija, 136, 141,161

    U ugnijezdene (vidi petlje), USE,37 uslovni prelazak, 61

    V VISUAL FORTRAN, 152, 193 VISUAL C++, 162, 178-190 VISUAL BASIC, 162,191-197

    W WHrLE, 67,71

  • LITERATURA

    J. L. J. Ribar, "Fortran Programming For Windows", Osborne McGraw-Hill,1993.

    2. R. C. Desai: "Fortran Programming And Numerical Methods", Tata McGraw-Hill Publishing Company Limited New Delhi, 1995.

    3. W. E. Mayo, M. Cwiakala: "Programming With Fortran 90", Schaums Theory and problems-A Mc Graw-Hiil Publication, 1995.

    4. DluITAL Array Visu

  • Na osnovu misljenja Federalnog Ministarstva obrazovanja, nauke, kulture i sporta broj: 04-15-1494/01 udzbenik FORTRAN PROGRAMlRANJE ZA WINDOWS-e autora doc. dr. Mevludina Avditaje proizvod iz clana 19. tacka 10. Zakona 0 porezu na promet proizvoda i usluga na ciji se pcomet ne plata porez na promet proizvoda.