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.