Professional Documents
Culture Documents
0v lsr
tb
DR NEDELIKo panBzeNovrC
FORTRAN
)ffIIIZDAI{IE
A
l, l
*,6.0(-
cqblF^
Eefuiqe r,
-kBEocRAD,reeo. .'-,t,,!O
A&4*l-
DrNedeljko pau;eruvr(,
prof. PMF-a u Beogadu
FOR,TR,AN IV
saDRL*r
IzdrinC it strana
I
IDP kniiSa" 1. lryq)... 3
"IrhnCna
AGoSrA Uam-ldrlrova 5 2. ..PNETTK}DITE I{AP'OUENE O FOSTBAN JEZIKU 5
r,Tberu Po'@ovl
rPSu por@ovr 5
JF
2.2. N.G|l gkaJe progrenrr .... ?
Stranr
a.9.{. Apsolutnr vredDort ....,. i. 56
{. l.
{.{. DodelJlvenJe broSc vr6&o!d prgmstrtyoj 9. 5.
_TrtgonomotrlJrke firnkctJe . . ... s6
t13
113
vrr Dwra!rc r^@fl
t.f. Ea{a*cfF u',4,]dto tcrtrot duosfu}o ta&oaH ....
t"2. Drddctf rcrlac proapanlttv. dvootfl*r tedaoet{ ....
165
166
6.2. r\d.cfj*. arr.&c lt' 6.3. Doildlfvats broFe vrc&o€A reslnio prolocn{tivtm
0.!. nd|cudd pcttrosrlE tt8 d!/{!E*a rrt-o.d tCS
S.S. 1.. Slleih d*tcfsctts vretc fiilctJrkq 8.1.1. Ad*adlfta er..&a 168
po{Fo3rrtlr u24 E.t..2. l{e*rftr xrrr .. ..:.. ....... 168
E.a. OpaU Doipcqrh ts t.l. ladrvnf broJfrL wt&oei{ prowtfl*dh dvoctr.ln€
3.4.tr. Ftoocdsvl tztrz Ir poqrogrrml ....... 180
Lilosd 169
6.5. N|CH prcaofcnJa rrtundtr Ir prolra.Era u pot- E,5. IstaAl*artr .q.+-rrt,pll fudlcijs !a dvoahukos
Pl.ogTtmc 132
tdr#r
6.6. PromarlJtvl u&ll'd u posro0raroG 133
9. .tLGOBrlffi 6* x0t{"t lxa$il xo!&sTAlrrail.a r pRo-
xoDtl**'il .. .. .. ..
6.?. lm.!n Fotrogrrrae kofi ae javljeju keo arguacn-
tf drucdi po$rotrrma ,.:...,. rt8 e.1. D4B{f lmdc**c konstsqte l?E
8.E. Ntrovl k o argun.lrd potprograEl 142
9.2. Ddrfeif 9*cmcntjgvc t?8
7. ALGONITMI S.I LOGIEIfiil KONSTA.N:TAII&{ I PK}lItD{. 0.t. SCd$csir *l.tel.{ }ons{effds proncnl}i-vi:n ... 1a0
LJIVIM 151 t t.l. AtlilndJkr rnm*r rEo
?. 1. Operactje porcdjcnrr C.S.?. Ncra*r rd*r*.. ..,........:
151 lsf
?.1.1. DcflntctJe opsractje poredjonJr g......... 151 9.{.' Ie&r*lie ltn*erd tenplakr*U 5r,rono*liiv.* Lgz
?.1.2. Naredtre preleaka po wrdrorH poirdjcalr .. 152 9.t (antkk?p V*lfiFpdvo*Frrkc ,e{nos{i 184
7.2. Lioglike ogcnciJo 154 t.& llfflAnrn*Jc k9ryl**ih deq\E$iln* 4u*ciF .... lSs
?.2.1. Lc{iluke konatantc I proncndJtvc 154 10. n^oralnLllo rci{*eFn{t* w,!ryaa&rr.* MDnf@rurE ffa-
?. 2.2. DefhtclJc logltkth opcrrcfts ..
. 156 ftil ra ror
?.2.3. LogtCkl lztaz . 158 19. l. hendillvn &rl{rr r*{nl3 ,r9,1
7.2.4. Meutvanjo yrednoEd logtcklra promcnlJlvtm l5E fe-?. v*lndr,r*c *spif#esi€ nenerli*qS tro*tepr u sky,rru
,rhc r*qlm*e lC*rl€€ ls5
13. 1.1. Defhl..nje pod.t*a Z2S
10.2.1. Zrr.&lCkr polrr 18 promonlrlvc lcdarldb du- 13.2. Uap€tra trrkr &'|l
ttnr .,. 1rc 18.2.L. Prmr podrtakr ztg
10.3.1- ZrrGdntdkr Dolrr rr pro:ndrutva rrrll&6h 8.2.f.1. Upt! poditrkr [r EagD3tru tr*u ... 28t
dutlnr' .. t9?
L3.2.1.2. l!&v!nj3 Dodst*e ra megn trG
10.2.1. Zrjcdntdkr i rr nlrovo . 200 trlkc ........ 2g
10.t. Vlaoltruko kortl4atc E.morlrrkog proltorl od rtrr- 1 .2.2. OrDskr kraF gruge po&t b 288
nc vllc pro$rm.ldh Jcdnlor 208
13.2.8. Premt varr. nrgFGttre trak€ ...... tt6
- 10.8.1. Nctnenovaaa zrJcdrlckr uona u momorul .. 203
18.2.3.1. VrlGalJG tato Dr pretbodrn elog .. 238
10.3.2. Imsrovrn zs.J€dDlcks 2(nt u ltroDoruf .... 205
1t,2.8.2. Vr.60r. trrte ne poGotrL grop. ... tt6
11. DODEIJIVANJE POCETNIH VREDNCS ;I PROMENIJIVTM. 2ott
11.1. DodelfvanJe podetrtli wcdaosd promentfvlm aarcd- Ltt.r.lrs. IEO
bom za,ekepllcttnu delilarectru wstG promerlJtvlh . 20s
11.2. Naredba rr dodeljtvanre poletnlh vrednodd .,....,.:l 211 mrcc r
11.3.. Programska Jedlnlce ze dod€Utvrnj. poOetrth vrcd- PnOGRAXTXA NA nACUNARU ?DP-lr /?O . . . . . . . . . . . 237
noafl zaJednldHm zonama u mcmorlJl .... . :. . . . ...: 2L1
RAD SA FORTRAN -
L2. oPSTE Mocucxosn UNoSENJA I IZDAVANJA
PODATAICA 2L7
12.1. Dalre mogrrdnoatl naredbe FICRI\&{T 2L7
12.1. 1.' OpiU opis podataka 2LI
12. l. 2. Koeficijsrt razmere ?19
12.1.3, Razme6taj poua u ulazno-izlaznorn elogu ... 220
12.1.4. Opis heks8dekadnih brojeva 22L
12.1,5. Opis alfabetskih podataka 22t
12.2. Promene FORMAT-naredbe za .weme iz\.rgavanja
proSTama 223
12. 2. 1. Po6tavljanje sadriaia FORMAT-naredbe
sa ulaza 223
L2. 2. 2. Polbvljaqje sadrirja Fon[1AT-naredbe.
keo vrednosti niza .... 224
12.3. Uno6enJe i izdavanje pchtrka po njihovom imenu ... 225
KONISCE.UE SPoLJNIH ]!r r:MoRUA 229
13.1. Magnehi di6k .. . .....:.. 229
l. u v o D
- Tredi
radunar
zahtev omoguduJe izradu programa, koji 6e obezb€dtti da
vr6i prevodjarje sa progrrmskog na maltneH Jezlk. OvaJ pro_
grnm naziva se program za prevodfenje I kao ulazne poaa*e
aobi;a
konstrukcije iz progratnskog Jezika, pa th prevodl u Bkup naredbi
u ma-
lln"I9- Jeztku. Kada Je ceo progtam preveden aa programskog na nra-
6inskl Jezlk, njegovo izvrlavanje na radunaru mole poCetl.
51. ::.2.1
fii
8
3. SIMBOLI FORTRAN-JEZII(A
olll2lsl{l5l6l?lsle
rtr
l0
ll
3.3, Logidke pr-
NE. odgovara simbolu f u matematici (simbol je sastavljen od
konstante $
;
jedna-
Logidke konstante, koje se u algebri logike najdeS6e oznaIavaju eim- vih slova engleskih reei "Not Equal to"' Sto znadi "nije
bolima 0 i l, u FORTttAN-jeziku se pi5u sa ko" ),
> u matematici. (simbol je sastavljen od pr-
. CT. odgovara simbolu
rfAt,sE. I ;'r'nun.
vih slova engleskih reEi "Greater Than"' Sto znadi "ve6e od")'
gde konstanta.I'ALSE. (dita se fo:ls, a znalilatl odgovara 0, a .'l'IttJE. 'GE.odgovarasimbolu>umatematici(simboljesastavljenodpr.
(6ita se tru:, a znadi istina) odgovara I u algebri logike. t'Greater than or Equal to,', Eto znadi
vih slova engleskih reei
"veCe ili jednako"),
3.4. Znaci aritmetldkih opcracija
3.6, Znaci za logiike oPeracije
Znaci arltmetidkih operacija u FORTRAN-lezlku su
3. ?. SPecijalni znaci
3.5. Znacl zi operacije poredjenja
Specijalnt znaci, obuhvataju interpunkcijske znake'
koji se mogu ko-
Znacl za opcracije poredjenja u FO[tTRAN-jeztku su r{etiti u FORTRAN-jezilinr I to su
.LT. i .LE.'' .EQ. i .NE. I .cr, i .cE. (l)i=l,l'lrlbl'lE
pri demu imaju slede6e znadenje: tipografskih sim-
gde eimbol b oznalava medjuprostor ill blanko-lzmedju
. LT. odgovara simbolu ( u nratematici (simbol je sastavljen ocl pr- bola.
vlh slova engleskih reii "LJss Than", Sto znadi "nranje od,,),
. LE. odgovara slmbolu { u ntatematici (slmbol je sastavlJen od pr- 3.8. SluZbene re6i
vih slova engleskih reIi "Lcss than or Equal to", Sto zuali koriste
6u engleske redi koje se u FORTRAN-jeziku
SluZbene refl
"manje ili jednako"), 6amo u obllku datom u ta-
kao gimboli. To zna6i da ee te redi.mogu Pisati
. EQ. odgovara eirnbolu = u m:rtematlci (simbol je sastavljen od pr- u FORTRAN-jeziku' a
beli 3. l. U tabeli je dat oblik pisanja sluZbene re6i
vih slova cngleske reli "I.lQual to", Sto zna6i "jednako"), u ROtrtneN-jeziku to je
poEto znadenje re6i ukazuje na funkciju simbola
I
l
l
rlat I prevocl reii na srpskohrvatski jezik radi lak6eg koriidenja za one i:i-
j'l;
rl
lrl
lrll
fl
1
t2 &
3. 1
Red.
br. SluZbena red znadenje dlta se
il
I
l4 15
Ceo broj se piSe kao niz cifara, ispred kojeg moZe stajatl
dekadnih 4. 1.2. Meiovitl brojevi
ll
znak + za pozltlvan broj, a obavezno znak - za negativan broj. Ovako za-
pisana celobroJna kongtanta mora biti u brojnom intervatu i-231 , 2tl -l-l . Me6ovlt broj ee moZe pieati na dva\nadina, kao:
Ovaj brojni interval je odredjen kapacitetom jednog memorljskog reglstra
ri,
1, a) Niz dekadnth cifara, pri Cemu se celobrojni i razlomljeni deo raz-
(s1.4. l.l.).
ltegistarsadrZl 32delijeoznaEene, naeI.4. l.l, sa0, 1,...,
dvajaju declmalnom ta6kom. ispred ovakvo g niza moLe stajati znak + za po-
31. SaclrZaj delije 3l je najve{e teZine I registruje znak broja. Ceo broj x
zltivne brojeve, a mora stajati znak - za negativne brojeve. ovako zapisan
meSovlt broj mora imati najmanJe jednu cifru, a najviEe ? dekadnih cifara.
!*-l b) ObUk kao pod a) lza kojeg ee pi5e a zalirn se navodi ceo
"lono/E'
dvoclfreni dekadni broj, kojl predstavlja eksponent broja 10. Brojna vred-
,- nost ovako zaplsane konstante jednaka je proizvodu brojeva ispri:d slova.E
O AJAK+
1 ZNAK: i etepena broja 10, aa celobrojnlm eksPonentom navedenim iza slova E'
sI.4. l. t.
kx",f. x" I
registrovan u ovakvom reglstru mora biu u intenralu I il-----r l l--- ----- ----l u
---1 0
-2rl ( x : 2tr -l = 2.147.4g3.64? (4. l.l) Xil
/!NAl< sl.4.1.2.
lz lzloIene deflncije za piCanje celth brojeva eledl da
- ceo broj ne sadrZi decimalnu ta6ku. t MesovltibroJeeregiatruJeumemorijiradunarauobllkupokretnog
izmedju cifara celog broja ne moze stejatl medjuprostor.
zataza (eI.4. 1.2. ). Ovako registrovan broj x ima brojnu vrednost
rl:
'I
$
FIT
ii
16
15. D l5 Aa,Ct372
25. E0 t2A
Al0. A
2l
20
a{
a2'5
.li
I oso (A
ht
t
'r
il
E
22
ta
- ceo broj, ako su svi argumenti aritmetidkog izraza celobrojne kon- 4. 4. Dodeljivanje brojne vrednosti promenljivoj
stante ili celobrojne promenljive, odnosno
- realan, broj, ako je barem jeda5r argument aritmetiekog izraza re_ 4.4. l. Aritmctidka naredba
alna konstanta ili realna promenljlva.
Opsti oblik aritmetilke naredbe Je:
Tabela 4
gde je
U FORTRANU U !{ATEITIATICI
a - ime promenljive,
Ar (B+C),/D A (B+c) 9 - aritmetidki izraz.
D
Ova naredba ima sledece dejstvo: vrednost aritmetidkog izraza p,
- (A+B) r*2*D-4. - (e+g) 2.o-4 pretvara se u vrstu brojnog podatka, saglasno vrsti promenljive a, i do-
deljuje se promenljivoj a.
x* (Y,/ (Y+x) ) x.Yy+x
U aritmetidkorn izrazu V ne moZe se pojaviti promenljiva kojoj nije
dodeljena brojna vrednost pre izvr5avanja naredbe 4. l).
rr24ar @/BD.t2 (-e) 2+a.L
( (.:A) 2 (4 .
( )
B Treba uoditi razliku izmedju znaka jednakosti u aritmeti.6koj nare<J-
bi, i uobldajenogzna6enja u matematici. Znak jednakosti u aritmetilkoj
A,/ (B+c) *r2-4. /D+3. 3_'._1+r naredbi opisuje proces koji se sastoji od:
(B + c)' o
]iI
24 26
A=A+B (4.4.21 maciJa I program koJi ih korlstl dode[uje njihove brojne wrednosti odgova-
rajuelm promenljivim, Naredba koja omoguCuie ovakvo dodeljivanje broj-
5to znadi: sabratl brojne vrednosti promenlJivih A B i dobijenl rezultati
nlh vrednostl promenljivlrn zove se naredba ulsza. Ova naredba se pile u
dodelitl kao novu brojnu vrednost prdmenljivoj A.
obuku
Primeri READ(I, J)ltsta (4.4. 3)
i, slog - niz opisa, medju aobom razdvojenih zarezima, kojima se opl- strani polja ostaje nebuSen. Tako, ako u polju sa opisom Il0 koje sadrZi
suju pojedina polja ulaznog sloga. 10 kolona, od l. do l0.kolone, treba registrovati broj -386, to u kolonama
Ulazni slog je sastavljen od vi3e polja, a svako polje sadrii jednu od 1. do 6. nede biti niSta bu5eno, a -386 6e se bu5iti sleva nadesno od 7. do
konstantu. Za opis ulaznog sloga potrebno je opisati svako polje u okviru 10. kolone.
sloga. Opis polja zavisi od konstante koja se nalazi registrovana u polju.
Neka 3 polja dine jedan ulazni slog. Tada se opis sloga sastoji od 3 opisa 4.4.2.2. Opis me.lovitih brojeva
pojedinih polja, tj. naredba (4.4.41 dobija oblik
Ako polje na kartici sadrZi me5oviti broj, opisuje se sa
j FORMAT(opls1,opis2,9pis3 ) U.4.5)
Fk. d (4.4.7)
Opisi pojedinih polja navode se u naredbi (4.4.5) sleva na desno,ona- gde je
ko kako slede na kartici (s1.4.4. 1), F - simbol FORTRAN-jezika, koji oznadava da se radi o me6ovitom
Da bi se u nizu naredbi koje di; / broju lFixed point),
tle program omogudilo jednozna6no u- poLlEl rc/-7E2 PoLIE 5 k - neoznaden ceo broj, koji ukazuje na broj kolona polja na kartici,
kazivanje na odredjenu naredbu pro- d - broj decimalnih mesta brojnSg podatka.
grama, uvodi se obeleZje naredbe.
Broj k mora biti tako odredjen da zadovoljava rislov
ObeleZje naredbe je jednocifren do sr. 4.4.1
I petoclfren ceo neoznaden dekadni broj. k>c+d+2 (4.4.8)
ObeleZje naredbe se piSe sa leve strane naredbe. Svaka FORI\IAT-naredba gde je
li c - broj cifara celobrojnog dela broja,
mora imati obeleZje (oznadeno sa j u 4.4.4 i 4.4.5), koje seobavezno na-
I
vorli u.naredbi ulaza (4.4.3), odnosno izLaza (4.5.1). IzvrSne naredbe FOR- d - broj cilara razlomljenog dela broja,
TRAN-programa mogu po potrebi imati obeleZja. U jednoj programskoj je- 2 - jedno mesto za znak broja, i jedno mesto za decimalnu taiku.
dinici ne moie se jedno obeleZje koristiti, kao obeleZje, viSe od jedne FOR- Decimalna tadka se moZe izostaviti na kartici, i pri tome 6e bi.ti od-
TRAN-naredbe. redjena opisom (4.4.7). Tako u ovom slu6aju relacija (4.4.8) dobija oblik
I
k>c+dI1 (4. 4. s)
4,4.2.1. Opis celih broJeva
Medjutim, ako postoji decimalna tadka na kartici, ali nije u saglasnosti sa
Ako porje sadrZi celobrojnu konstantu, opisuje se na slede6i na6in
lr
Ll
28
Kohatante zaplaana u eksponencijalnom obli,ku regtstruje Ee u polju Vrlo Gesto je potrebno neke kolone kartlce preekodltl. Qa bl ae ovo
kartlce, kao i raniJe oplsana meEovlta konatanta Semo 6to ee lza declmal- omogudilo uveden Je ople
nlh mesta broja navodi €lovo E, a iza glova E izloillac broja 10. Tako ee
({. {. r3}
moZe pisatt
gde je
17.83E-15
X - elmbol FORTRAN-jezike,koji oznadava daeeradi o opiau praSnog
6to odgovare decimalnom broju l?,83.10-lt. BroJ zaplsan u eksponencijal- polja,
nom oBllku zahteve polje sa n - c€o neoznaden broj, kojl ukazuje kollto kolona eadrti pol.je tgje
k>c+d+6 (4.4. t2l treba preskodltl.
gde je
c - broj clfara celobrdjnog dela broja, Prlmer
d - broJ cifara razlomUenog dela broJa,
Zs zedete vrcdnoetl promen{ivih 1, C, I I g lzreEunatl vrednoat
6 - jedno mesto za znak broja, jedno mesto za decimalnu taEku,slovo
E,jedno mesto za znak eksponenta i dva me$ta za dekadne ciirc X - (el +32,4Xb-2c)
eksponenta. Velldlna f je eeo troclfrgn broJ I nalazi 8e na karticl od l. do 4. kolone.
Znak ekBponenta se moze izoetaviti, ako je eksponent pozitivan broj. Velt6lneC, !ig gadrle 3 cela l2 declmalnameata lnrlaze se nakarticl
Slovo E se mole lzostavltl, ali se pri tome obavezno m6ra plsati znak eks- od 20. do 4O. kolote, pri CeEu eveka zauztma po{e od po ? kotona. Izgled
ponenta. Tako se mogu registrovatl sledede konstante ne karticl: kartlce Je prlkazan nr e1.4.4.2.
-2.147820
-2.147+20
/
+8. l4E-02 t a" b c
8. t4-o2
Me5ovltl br.ojevi zapleani bez slova E i ekspdnenta mogu biti uneti 1...1 ul g- !+.{ol
pomodu opiat (4.4. I t), pri Eemu 6e ae amatrati da je eksponent nula.
sl. 4.4. 2
I
i
n
3l
30
Prvi deo informacije, o imenima promenljivih 6ije se brojne vredno_
Program na FORTRAN-jeziku lma slede6i izgled: sti Zele izdati, zadaje se izvr5nom naredbom izlaza
WRITE (i, j)lista (4. s.1)
READI 5r lol IrArBrC : gde je
ro FaRMATi l4t ltF 7' 2l
Y: I A*rl +32.4 l* ( B-2. *C I
',5xtF7'2tF7' WRITE - sluZbena red, koja ukazuje da se radi o izdavanju brojnih
U naredbi FORMAT opisana su sva Polja na kartlci, sleva na desno' vrednosti promenljivih;
koja 6lne ulaznl slog, ukljueujudi i polje koje se preskeee od 5' do 19' ko-
i - celobrojna konstanta bez znaka ili celobrojna promenljiva,
lone. PromenlJive I, A, B i C dobtjaju brojne vrednosti sleva nadesno' ka- kojoj je dodeljena brojna vrednost pre izvr5enja naredbe
listi naredbe READ. Konstanta 2, u aritmetiCkoj naredbi (4.5. 1). Ova brojna vrednost odredjuje izLazni uredjaj na
ko su zapisane u
kojem se ir5i izdavanje rezultata. Za raaunar IF,M-_360144,
zaplsana je sa decimalnom tadkom, Bto znaEi da 6e u memoriji radunara
kada se izl.az vr5i na budadu kartica to je broj ?, a na Stam.
bitl reglstrovana u obllku Pokretnog zarleza' Na ovaj naein, operacija mno-
Lenja 2.*C izvodi ee izmedju angumenata u pokretnom zarezu' Ako
bi kon- pa6u broj 6,
u obliku j - obeleZje jedne naredbe FORMAT;
atanta bila zaplsana bez decimalne tadke, tj' arttmetiEka naredba
lista - spisak imena promenljivih, medju sobom razdvojenih zare_
Y' ( A'.*l +32.4 I tl 8-2r'C I
zima, dije se brojne vrednosti izdaju.
tada bi konstanta 2 bila registrov:rna u memoriji raEunara kao ceo broj'
Svakoj izvr5noj naredbi izlaza, kao Sto je nareclba (4.5.1) pridruZu_
Ovo bi ZnaEilo da pre lzvodjenja operacije mnoZenja 2*C, ova
konstanta
je se jedna opisna FORMAT-naredba, koja sadr-i informacije o
obliku iz_
mora biti prevedena u oblik pokretnog zareza, a botom izvr5ena aritmetid- davanja brojnih vrednosti promenljivih. Oblik izdavanja zadaje se istim
o_
kaoPeracijamnoZenja.Ijedanidrugioblikari'tmetidkenaredbejekorek- pisima koji su sluZili za opis podataka na kartici, sa-mo Sto sada
ta6- opisuju
tan I dovodl do istog rezultata. Ivledjutim, plvi dbltk (sa decimalnom izgled Stampanog dokumenta ili busene kartice na izrazu. Jedan ili vise po-
kom)predstavljaboljizapis,jer6etakavaritmetleklizrazbitibtlelzta- dataka koji se prenose naizlazni organ dine izlazni slog. DuZina
izlaznog
Cunat pri izvrBavanju programa na raCunaru' sloga zavisi od nosioca informacija na kojem se vr5i upis informacija
na
izlaznom organu radunara. Ako se izlaz vr5i na bu3a6u kartica, tada je
4.5. Izdavanje brojne vrednosti P:9*gtlilte maksimalna duZina izlaznog sloga g0 simbola, koji se mogu bu5iti u g0
ko_
raiunara u lona jedne kartice. Ako se izlaz vr5i na paralelnom Stampa6u,
BroJna vrediroet promenljive registrovana je u memorlji tada je du_
zarezu' Zinaizraznog sloga 120 tipografskih simbola (ovaj broj moze biti i
binarnom broJnom sistemu, kao ceo broj ili kao broj u pokretnom ve61 koci
broja ljudi nekih tipova Stampada), koji dine jedan red na itampanom dokumentu.
Blnarni obllk broja je neBogodan za koriS6enje od strane 3lreg
koji su korisnicl radunara. Zato ie potrebno broj prevesti iz binarnog u tlt'- Opisna naredba, koja se pridruZuje naredbi izlaza ima oblik
flt
Elz 33
FORMAT - sluzbena re6, koia ukazuie na vratu opisne naredbe' - ceo neoznaIen broj, kojlodredJuje bnoJ meeta koJi 6e zauzetl
$log - niz oplsa koji definiSu izlazni slog' brojna vrednost na izlaznom nosiocu informaclja. To je
broj ti_
pografsklh eimbola na Btampa.nom dokumentu, kada se
Izclavanjelz\aznogsloganaparalelnomstampaEuzahtevainformaci. LzLaz vt_
di na Etampa6u, odnosno, broj kolona kartice, kada ee Izlazvr-
ju o vertikalnorn po*"."rrju papira na StamPa'u' Ova informqcija je sadr-
nro- 6i na bu6adu kartica.
Zana u prvom simbolu lzLaznog aloga' Kao prvi simbol izlaznog sloga
Ako se izlaz vrsi na gtampacu i pri tome brojrla vrednost
Ze se pojaviti jedan od simbola +, b,0 i-Li I Pri eemu imaju sledeCe znade - koja se gtah
pa prevazilazi duZinu k, odredjenu na Stampanom
dolarmentu tada se Stampa k
nje:
zvezdica (*) u predvidjenom polju.
+ - bez Pomeranja PaPira, Najvedi ceo broj koji moze biti registrovan u memorijskom
b - Pomeranje PaPira.za I novi red' registru
sadrri l0 dekadnih cifara, a ako se uzme u obzir i l meato za znak,to
0 - Pomeranje PaPira za 2 n'ova reda, i 6i da format Ill uvek obezbedjuje koreltno &ane vrednosti
z,.a-
celobrojne
I - pomeranje papira na prvi red sledede 6trane' promenljive. Brojna vrednoat itampa se na desnoj strani predvldJenog
po_
Jedan od navedena 4 pirnbola mora 5e nalaziti na Podetku
izlaznog lja za Stampanje, a na levoj strani nevaZede rule Etampaju Ee kao medju-
u
sloga. Ako ovaj simbol nije obezbedjen Prvim oplsom izlaznom slogu' prostori (blanko). Znak broJa &a €e nepoaredno levo od prve
vaIede
treba ga naveatl lzmedju apogtrofa kao jedan od opisa izlaznog sloga' cifre pri 6emu ee Etampa znak ( -) za negativne brojeve, a znak +
ss ns
Tako naredba Stampa. Prema tome, predvidjanjem ve6e duzine polja od one
koja je po-
j FoRMAT (',b,, 13.2x,8r2.5) (4.5.3) trebna za ftampanJe broJne vrednosti moZe se obezbediti potreban
broj me_
djuprostora (bfanka) izmedju brojeva koji se Etampaju u jednom
formira izlszni slog od 4 polja, Pri demu prvo polje sadrii jgdan sinrbol redu.
blanko, drugo polje sedrZi tri simbola za vrednost celobrojne promenljive' Prlmer
trede polje sadrZl dva blanka i detvrto polje l2 limbola za brojnu vrednogt
Na kartici eu zadata tri cela broja x, y i z. Broj x je buBen
rcalne promenljive. Prema tome, izlazni elog sadrZi 18 elmbola' Kada
se od 10.
bl- do 15., broj y od 20.do 24., a broj z od 52. do b4. kolone jedne
ovako formlran izlazni slog po5atje na paralelni 6tampai' Prt'i sinrbol kartlce,
-papira na uneti brojeve sa kardce i 6tampad na paralelnom EtampaEu. u ovom sru-
6e upotrebljen kao komandni simbol za vertikalno pomelanje
dokumentu' Eaju potrebne eu eledeCe FORTRAN naredbe:
Btampadu, i u ovom slutaju proizveSde novi red na $tampanom
Oetalih 1? simbola izlaznog sloga bi6e Stampani ocl podetka reda
sleva na
desno kako slede u izlaznom slogu.
READ{5r401 IIr IYrll
40 FORHATI9IT l6r{Xr l5r27I, I3l
URITE(614lltXrlYrtt
1.5. l. gpb btoj* 4l FoRtlAT(r .rl6rl0rl6l
""Uh
se sa
Izdavanje brojne vretlnosti celobrojne pronrenljive opisuje U naredbi FORMAT sa obeleZjem 40, opisi 9X, 4X i 2?X
definiEu
(4.5..11 prrl,na polja na kartict izmedju brojevd x, y i z. Naredba WRITE
IK obezbe_
djuje Stampanje brojnih v.ednosti promenljivih Ix, ry i IZ redom
gde je sleva
nadesno po opisima u FOnMAT-naredbi sa obeleZjem 41, Tako
simbol koji ukazujc' tla sc rarli o cclitu brojcvinl:r' 6e brojne
vrednosti promenljivih rx r rz bru Stampane po opleu 16, a promenrjive
I
Iy
35
34
2- jedno meato za znak broJa (znak negatlvnog broJa lzdaje se kao
po opisu I8. Kako brojna vr€dnost promenljlve rY eadrzl 5 simbola na kar-
simbol - , a.znak pozldvnog kao simbol b), i jedno meato za
ticl, a opis I8 odredJuJe polje od 8 aimbola, to 6e.tri simbola sa leve etra- decimalnu tadku.
ne polja biti nelakorlEdena za prlkazivanje broja I eluli6e za razmak iz'
Ako se za izdavanje vrednogtl realne promenljive koristi opis
medju brojeva na Etampanom dokumentu. SliEno razmatranje vaZi i za pro-
menljivu IZ. Stampani dokumenat 6e imati elededl lzgled Ek. d (4. 5. ?)
tada 6e brojna vrednost na izlazu bitl u obliku
xx)ooo(bbbxlo(xxbbb)o(x
gde Je
X - c{fra dekadnog brojno! sistema, r'n.d.rdr (( b )) iU
medJuprostor tri speclje
soecrial-
ni znak (-),
b - mediuProstor (blenko)'
gde je
4.5. 2. Opia meEovltih broteva 0 - mesto zaznak broja, I to: slmbol - za negativne brojeve, i sim-
bol b za Pozitivne brojeve,
MeEovitl broJ registruJe ee u memorlii u obliku pokretnog zateza. X - clfra dekadnog brojnog sistema,
Ako se za fzdavanJe vrednosti realne promenljlve korlsti opie d - broj decimalnih mesta,
Fk' d (4.5.5) k - ulcupan broj simbola,
Ukupan broj eimbola za lzdavanje brojne vrednosti sa opisom (4.5. 7)
tada 6e broJna vrednoet na izlazu bltl u obliku:
Je
k >d'+ ? (4.5.8)
gde je 6 mesto za znak broJa, i to: elmbol - za negativne brojeve i sim- k blti izdate zvezdice (*).
bol b za pozitlvne brojeve. obuk (4.5.5) izdaje vrednostl promenljivih u
4.5. 3. Ople praznog pola
vldu celobroJnog i razlomljenog dela. celobrojni deo sadrZi maksimum k -
-d- tipografeko meato, ako je broj pozltivan, a k - d - 2 tlpografska
1
Razmak lzmedju brojeva, kao 5to smo ved videli, moZe se ostvaritl
meate, ako Je broJ negativan. Razlomlieni deo sadrZi d dekadnih cifara' predvldjanjem vedeg broja ceth u opisirna I, F iU E. Medjutim, opis
Prema tome, broi k je
nx (4.5.9)
klc+d+2 (4. s.6)
gde je
definlSe'na lzlazuprazno polje od n medjuprostora, tako da se ovim opl-
c - broj clfara celobroJnog dela broja, eom mbgu definleatl proizvoljni razmaci izmedju brojeva.
36
Program zapisan na FORTRAN-Jeztku, prevodl ee na maEineld, Jezlk
Primer pre lzvrgevalja na radunaru. Ovo prevodjenje vr6i program za prevodJe_
nJe, u koJl kao ulaznl podacl ulaze naredbe trroRTRAN-programa, a lzLaz-
Nakarticieenalazebrojevil,XiYuslededemrasporedu: ne vellEine 8u nanedbe u maBlnekom Jezlku. Da bi progro- za prevodJenJe
a) od 1. do 5. kolone ceo broj I (opis I5)' doblo informac{u kada je zavrleno prevodJerlje I zadnJe naredbe FORTRAN-
b) od 6. do 12. kolone meEoviti broj X (opis F?' 2)' -programa, uvodi 8e naredba
c) od 13. do 24. kolone meEovitl broj Y (opis Efz' 5)' END (4.6.3)
Sastaviti program kojl Ce uneti zadate brojeve sa kartlce i Stampatl: koJa ae mora nalazltl na kraju svakog FORTRAN-programa.
Da bi se
U jednom programu moZe 6e nalaziti viEe naredbi STOP'
je zavr6eno izvr6avanje programa'
omogu6io uvid kojom od viSe naredbi
(4'6' 2) na Stampaiu'
to je uveden oblik (4'6. 2), koji izdaje naredbu
39
38
4. ?. Razgranate linijske algoritamske strukture
Prlmer 2
- l{ x <1, lzra.unava l't/{ Niz naredbi koje dine prostu linijsku algoritamsku strukturu izvrga-
sastaviti program koji za zadatu vredno't
vaju se jedna za drugom u zapisanom redosledu. Kod razgranatih linijskih
po formull
algoritrimekih struktura, mora postoiati naredba kojom se redosled izvri:r-
y = to'11: 0,9994 + 0,5998 x + o, 1?03 ' x2 (4.6.5)
vanja naredbi u programu moZe promeniti' Ovakve naredbe se zovu uprav-
Neka je vrednortt argumenta x zadata od 1' do 6' kolone u obliku ljacke naredbe. Postoje dve vrste upravljadkih naredbi: uslovne i bezuslor -
F6..S.NaizlazuStampetivrednogtatgumentalvrednostlfunkcije(4.6.5) ne. Uslovne upravljadke naredbe vrie prelazak na naredbu sa zadatitn o-
beleZjem, ako je navedeni uslov ispunJen, a bezuslovne upravljatkc nar'':rl
'
sl. 4.6, 1. data je blok-shema algoritma'
u obliku 812,5. Na
be vr5e uvek prelazak na naredbu sa zadatim obeleZjem'
REAOl5rl00l Xlr12
100 FORilTT { Ft.:1, F7.3
'
tFlxl-x.z1 10r20r30
20 Y'XlrI2
nz n3 a0 ItlrEl6r200l Y
200 FOR||AT(' I rEl4.?l
sloP
t0 YrXl+I2
sI.4. ?. I sI.4. ?.2 G.0 ro 40
30 Y.XLlf,2
GO rO 40
ENO
4. ?.2. Bezuslovni Prelazak
Primer I
Zazadate vrednosti x1 i x2 izra6unati y po formuli
* *' ako je xt 4 x2
[*' 'bko sl.4. 7.4
y ={xr xz 1" ,,, = ", slede6i naEin
ako je
L*,, *, x1)x2
42
43
Za -c9(x€-r
za -r<x{ 0
y(x) zs. 0(x< r
za r<x<+@
Ze d < 999 zadatlh vrednosti argumenata xi, x2,.. . ; Xa , izra6unati vredno-
stt funkcije y(x).
i,
a) Opis ulaznih podataka
i,,
x2 y(xz)
-" ,,r",
FORTRAN-program sastavlJen po algoritmu na sI.4. ?.5 ima slededi
izgled:
R€aol5rlo0l NrR sl. 4. ?. 5
tOO FORI{ATlI3rF9.4l
80 lFlNl l0r2Orl0 Razgranata algoritamska struktura na s1.4,7.5 nalazi se u okviru cik-
lO REAO|5r20Ol x
luea, kojl Je oznaden na slici sa C. Izlazni kriterijum ovog ciklusa sadrZi
200 FoRriAr I F9.41
lFlIfRl 3Or30r{0 ispitivanje promenljive n, kojom se kontrolise broj izradunavanja funkcije
40 IFIXt tOr50r60
60 tF(I-Rl 3Or30r70 y(x). Kada se lzraduna vrednost funkcije i za zadnju zadatu vrednost argu-
lQ l:lt-f,1:r*Q.i
90 l{RITE(6r3001 XrY menta, izla,zl se iz ciklusa i prekida se dalji rad po programu.
3O0 FORilATI t . tF9.4rEz0.tI Za n=4 i t-12, izlazni rezultati po ovom programu se Stampaju u ob-
ilrN- I
GO TO 80 liku tabele:
20 sToP
,o Y-0 8.1240 o.0
GO TO 90
!Q fr-(f,rr!-X$21..0.5 -l 5. oodo o.o
co T0 e0 -2. 0000 -0.1r83216€ 02
ENO
t7.o+ao 0.500479tE ol
4.1
45
gdc' jr. u prvoj koloni Stampana vrednoet argumenta, a u drugoj odgovaraju- moZe se kraie pieati u obliku
6a vrednost funkcije.
j FoRMAT(3 (r2, F6.4) )
sI.4. 8. 2
ijffi; Holerlt je pronalaza6 uredjaja zh bulenJe kartlca, i po njego-
vom imenu je ureto slovo H za opie teligta.
53
52
je reEavan u matematlci nekoliko stotina godlna unazed, i saetojao se u iz-
Na s1.4.8,2 data je Eema algorltma, gde su uvedene slede6e oznake: nalatenju formula po kojlma se mogu izracunavatt tabuce za elementarne
C - cena, funkctje. To ae najEeS6e vr6ilo razvfientem funkcije u stepene redove i.li
K - koliEina, prlmenom iteraclonih formula. Poelednjlh godina za lzradunavanje elemen-
V - vrednost, tranlh funkclja llroko se kortste ortogonalni poltnomt, a posebno polinomi
U - ukupna vrednoat. Cebldeva.
FORTRAN-program ima 8lede61 lzgled: RazvoJ elelitronaklh radunaldh maBina posebno je doveo do razvoja
raznlh algoritama, koJlma ee mole lzraEuneti vrednoet elementarne funk-
HRITEI6'IO,
fO FORilAfl I ISIFRAT rtXr rCEI{Ar r3Ir tKCLICIt{A'r{Ir TVR8DIOST'/l c$e sa zadatom tadno66u.
UKUPN0'0 je f(r) elemenatarna funkcija, Ciju vrednost treba odrediti za
Neka
20 REAOI5T3OI C€NArA(OL
30 FORilAT{ lXt r5tt*t t2fLO.2tFLZ.2l zadatu vred[oat argumenta. Neka je g(x) aritmetidki lzraz po kojem se vr-
n-(cENAl 4or5or{o
40 VREO.CENA.AROL 6l prlblllno izradunavanje fttrkcije f(x), tako da Je
llRtIEl 6r 30l CENATAXOL rYRED
UKUPNO.UKUPilOTVREII f(r) s g(x) (4. e. l)
GO Tn 20
50 llRlIEl6r6Ol UKUPTIO
60 FORfi Arl lgXr 18( lH- I /l9Xr rU!(UPNOt'Fl2'2/l Na raEunaru ee vr6l lzradunavanJe funkcije f(x) prlmenom aproksimacione
STOP I formule g(x). Apaolutna gre6ka prl ovon izraEunavanJu je
CNO
funkcija( * ) (4.9.4)
SIFRA CE'IIA KOL ICTT'IA VREOI{OST
gde je
ACls 12.00 36.00 4t2.O0
DE3{ l35.o0 l?.50 168t.50 funkcija - propleano lme eleme-ntarne funkclje,
FAl2 15.50 4.70 12,85 V - arltmetiEld, Tzraz, diJa ae vrednost uzima kao argument
aK50 r.75 3oO.OO 525.OO
8E2l 200.oo 45.rO 9l 00.00 tunkclJe,
ur(uPllo I t8 l?. 35
Funkclja zapieana u obliku (4,9.4) moZe se nala?itl kao argument u
arltmetlEkom lzrazu. Izra6unavanje funkcije predstavlja operaciju najvi-
4. 9. Elementarne funkciie
Eeg priorlteta u aritmetlCkom lzrazu. Proplsana lmena funkclja predstav-
U mnogim matematldkim i tehnidldm zadaclma zahteva te izra€una- ljaju uoblEajene matemattdke oznake ovih funkclja. Od toga ee odatupa aa-
vatrje elementarnih funkclja za zadate vrednosu argumenata'Ovaj problem mo u sludajevima kad to ne odgovara uvedenim konvencljama FORTRAN-
-Jezlke.
il 55
vrednost funkcije je l. Relativna greSka ovako lzradunate funkclje iznosi € <0,298.10-? (4. s.16)
E (0, 18?. 10-6 (4. e. e) Srednje vreme izradunavanja kvadratnog korena iznosi oko 140
s.sek.
Ranije smo videli da se kvadratni koren mogao izraeunati preko ope_
Srednje vreme lzradunavanja eksponecijalne funkcije iznosi oko 310 4sek.
^acije stepenovanja, tj.
4, 9. 2. Logaritameka funkcija
(*)**0.5 14.9.17)
Logaritamska funkcija se pl5e u obliku Medjutim, ovde treba imati u vidu da se izradunavanje stepena (4.9.171na
ALOG(q) (4. e. l0) radunaru vrii kori5denjem logaritmovanja i antilogaritmovanja. prema to_
ako se radl o prirodnom Iogaritmu (rnv ) ili me, oblik (4.9. l7) je isto Sto i
Apsolutna vrednogt aritmetidkog Lzraza( I'r'I ) pi$e se sa gde mora biti ispunJen uslov (4.9. 22), pri demu vrednost argumer$a ne
gde su izraEunate vrednosti argumenta i funkcije realni brojevi' **(r. . |)" {4.9.2?)
Ako je izradunata vrednost argumenta ceo broj, apsolutna vrednost gde je k ceo broj.
gde mora biti ispunjen uslov (4' 9. 22). Relativna gre5ka prl izradunavanju lv lrt (4.9. 33)
Relatlvna greSka prl lzra6unavanju funkciJe Je
koslnusne funkcije je
e ( 0,298' l0-t (.r.9.25) e{0,3?2' l0-E (4.9.34)
I
5E
l
59
a srednje vreme izvr5avanja oko 310 &sek.
c) Hiperbolidna tangensna funkcija (tgh V ) pi5e se u obliku
b) Inverzna kosinusna funkcija (alccos v ) pi6e se u oblilcr
TANH( v ) (4.s.42)
ARCOS( v) (4. e, 3s)
gde izradunata vrednost argumenta moze biti ma koji realan broj. Rerativ-
gde mora blti lspunJen uslorr-(4.9.33). Relativna greEka je ista kao kod in- na gre5ka pri izradunavanju funkcije je
verzne sinusne funkcije (4.9.341, a srednje vreme izvr6avanja iznosi oko
€ < o, ?45. 10-8 (4. 9.43)
325 psek.
a srednje vreme izvrEavanja zavisi od vrednosti argumenta i kre6e se od
c) Inverzna funkcija tangenea (arctg V ).p15e ee u obllku
90 do 450 rsek.
ATAN (e) (4. e.36)
gde lzracunata vrednost argumenta moZe blti ma koJl realau broj. Relativ- Primer
ne gredka pri izracunavanJu funkc{e je
Na sedam kartica je zadato ? vrednosti za argument x, sa opi.som
e(0, ?45.10-6 (4. 9. 37) F8. 4. Izradunati vrednosti funkcija
a srednje vreme izvrBavanJa oko 165 psek.
y' = I -e-rsin2x+log(coszx).tgl
4.9. ?. Hiperbolldne funkc{e ,x (1ft)+
y, = arcsin tnlxl. arctgx
Kod svih hiperboUtdh funkc[a izradunete vrednogti argumenta i fun- y, = y'Jr -tfril'+ sinhx - 2coshx
kc{e su realnl brojevi.
i Btampati u obliku tabele.
a) Hlperbolldna slnuana funkctja (stnh V ) piEe ae u obllkra FORTRAN-program u ovom eludaju irna izgled:
srNH( e ) (4. e. 38) t{RItEt6,lo0t
100 F0R|{AI{ . I r 14X1 rX. r l4Xr' yl. rl5Xr.y2r
gde mora biti iepunJen ualov I=0 I l5Xr . yr. t I
l0 REAO( 5t200, x
(4. e. 3e) 200 F0RHAT(F8.4t
lvl(r?4,6?3 vf = f .-Exl(__X, iSlN{ 2..X1 +ALOGtO(COS t X +rZ |TAN(
Relatlvna gre6ka pri lzraCunavardu funkcije je y2 = ARstil(x/loo.l+ALoctleS(xit*ArAil(xtt _-} .--..,..r
xI
y3 : SeRTtABS{.1._rANHtxf
ltRtTEl6r:t001 xr Ylr Y2t Y3fiiinnrxt_2.*cosH(xt
r
e<0,149.10-? (4. 9. 40)
_300 FoRr{ATt, . rF8.4ltl1ltii.tt
a srednje vreme izvr6avanja oko 460 ssek. I = I+l
IFI I-Il lOr20rl0
b) Hiperboltdna kosinusna funkcija (coshv ) pi5e se u obliku 20 sroP
END
Uslovns naredba prelaeke daje moguCnost grananja programa Ako llsta u (4. 10.2) sadrZi m obelezja, sreva nadesno oznadenrh sa
u trl
razlidite grane, pri 6emu je evaka pd njih usrovljena vrednosdu aritmetid- rr,o2,...1'6 tada promenljiva
i! mora imatl jednu od vrednosti zapiea_
koglztaza. Vrednost aritmetidkog izraza se ispituje nih kao obeleija nr, nz 1...,n6, u trenutku izvrBavanja
da Ii je manja, jedna_ naredbe 14, ro,z).
ka ili ve6a od nule. pored ovakve naredbe uslovnog prelaska, postoji Izvr6avanje ove naredbe prouzrokuje prerazak na naredbu
i na- sa obererjem do_
redba po kojoj ee prelazak vr5i po brojnoj vrednosti promenljive.
Ovu na-
deljenim promenljivoj
i. promenljivoj i moie se dodeliti obelezje u ma
redbu 6emo zvati naredba promenljivog bezuslovnog prela'ka. kojem dehi programa naredbom
opSti oblik
ove naredbe je ASSIGN n TO i (4. 10.3)
GO TO (Uete),t (4. 10. t) gde je
gde je -
ASSIGN sluZbena red, i oznadava dodeljlvanje vrednosti obeleZja
GO TO - slulbena red, i oznaEava nafedbu prelaeka, promenljivoj,
lieta - epieak obelezJa izvr5nrh naredbt u programu medju sobom n - obeleZje izvrEne FORTRAN_naredbe, a
razdvojenlh zal"ezlmE, i - ime celobrojne promenljive.
i - irne celobolne promenljlvg.
Neka llsta u (4.10. l) sadrri m obelezja, eleva nadesno oznadenlh
sa nr, n2, . . . , n6, deJetvo ner€dbe (4. 10. l) je dlede6e:
a) Ako je brojna vrednost promenllve I = k, a k € [], m] , onda Ce
se lzvrdltl prelazak na naredbu ea obelelJem n1.
irt
ri I
b) Ako je brojna vrednoat promenlJtveI = p,a pd tl,ml , tada Ce se
pre6l na naredbu koja aledi neposredno lze naredbe (4. 10. l) u programu.
Na sI.4. 10. I prikazana su grananJa koJa se vr6e naredbom (4. f0. l).
Kako je ovakav graftEld prikaz nepotrebno glozen uveden je odgovarajucl
prosttji grafldld prlkaz (sl. 4. 10. 2]..
nr n/
u FoRTRAN-jeziku poetojt r elternatrvni obrrk naredbe promenljivog NAREDBA sI.4. 10. 2
bezuslovnog prelaska, koJl se pi5e sI.4. 10. r
Prlmer
+xr)s-8x1x2x! (4)
(r1+x2 ako ie k = 4
t
ALo t<{ lt,z,s,el taaa se ne vr5i nikakvo izra6unavanje- Rezultate
Etampati u oblilar tabele u kojoj 6e se u Prvoj koloni nalaziti broj k, a vre-
dnoat y1 Stampati u (k+l)-oj koloni. U ostalim kolonama Stampati zvezdi'
ce (*).
Ovaj zadatak se moZe re5iti na dva naEina: bez kori36enja i sa kori3- sI.4. 10. 3
denjem naredbe promenljivog bezuslovno g prelaski.
Ovakav oblik izlaza u FORTRAN-jeziku ostvaren je dodeljivanjem
a) Prvo relenje: bez koriS6enja naredbe promenljivog bezuslovnog yl,
promeljivim Y2, Y3 i Y4 brojne vrednosti ve6e nego Sto je to predvi-
prelaska.
djeno opisom odgovaraju6ih promenljivih u FORMAT-naredbi koja je pri-
Sema algoritma, u ovom sludaju, prikazana je na sl.4. l0' 3.
druZena izLaznoj naredbi. Kako je promenljivim yl, y2, Y3 i Y4 pridru-
U algorltmu 8e dodeliuje, pre izratunavanja funkclje, simbol (*) kao
Zen opis F9.3 u FORMAT- naredbi sa obeleZjem 400, to znadi da rezultat
vrednost odgovarajude promenljive. Zatim 4e ovaj simbol biti zamenjen
moZe imati najviSe 5 celih mesta. Ako se promenljivim dodeli brojna vred-
vrednoEdu funkcije, u odgovaraju6oj promenljivoj y1 , Jr, y, ili y, , a u
nost koja ima ve6i broj celih mesta, na predvidjenom polju za Stampanje
zavi€nosti od toga po kojoj formuli 6e biti vrieno izradunavanje' Na ovaj
vrednosti promeljive bi6e Stampane zvezdice. Zato ie promenljivim Y 1,Y2,
naEln u algoritamskom koraku lzlaza bi6e izdata brojna vrednost promen-
Y3 i Y4 dodeljena brojna vrednost C = 108 , koja 6e pri izlazu dati simbole
live k i jedne funkcije Yr, Yz, Y3 ili Yr' a ostale funkclje de biti izdate zvezdice za one Promenljive kojima se za zadate vrednosti ulaza ne dode-
kao almbol zvezdLce.
ljuje programom izra6unata vrednost po jednoj od formula (l), (2), (3) ifi
65
- buBenjem nevaledeg koda u kolonl kartlce, ilt rodi promenljive u problemu koji ee re6ava, moze btti u
auprotnostl ss u-
- neregularnlpn pololajem buiotlna na kartlci. nutra6njom konvencijom o vrsti promenljive. Tako, MASA, kao ime pro-
menljive, po unutra5njoj konvenclji jeete celobrojna promenljiva,a po pri_
4.tL.2. Kraj ulaznih podataka
rodi problema, predstavlja fizidku veridinu koja po praviru
nrJe ceo broj.
Kraj ulaznlh podataka moZe ge kontrolleatl programakl De dva nedl- Da bi
Je omoguEilo imenovanje promenljivih u auprotnosti 6a unu_
b) U paketu ulaznih kartica aadriaj zadnje kartlce moZe bitl karakte- Opisne naredbe za deklaraciju vr6te promenljive pi6u se na podetku
gde je END = eluZbeni niz simbola, a n obeleZje jedne lzvrEne FORTRAN' vrsta Usta (4.12, tl
-naredbe u programu, Naredba (4,11.2), po uno6enju gvih ulaznif podataki, gde je
vrEi preno6enje upravljanja na FOBTRAN-naredbu sa obeletrjem n. vrsta - eluZbena red INIEGER ili REAL,
END i ERR mogu 6e po.Zeljt piaati u READ-naredbl. Moraju se pisa- liata - spieak imena promenljivih, medju sobom razdvojenih zarezi_
ti lza obeleZja FORMAT-haredbe j, a njlhov redoeled navodjenja je bez zna- ma, koje se deklari5u po vrsti.
6aja. Tako se pored (4. 1 I. I ) i (4. f 1, 2) mogu plsati I obllci Tako oplsne naredbe
Unutradnja konvencija FORTRAN-jezika razdvaja promenljive po vr- Eksplicitna deklaracija.eluZi za deflnieanje vrate promenljive po
eti, na cilobrojne I realne, u zavisnosti od prwog slova imena promeljive. konkretnom imenu promenljive. pored ovakve deklaraclje, Eoze se vrsta
Medjutim, nlje teEko pretpo6taviti da ime promenljive, koje odgovara pri- promenljlve deklarlsatl po poEetnom slovu imena promen{lve. Ovakva de_
klaracija se zove lmpllcltna deklaraciJa vrste promenljlve t zadaje se opi-
snom laredbom:
70 ?l
4. 14. Primeri
sI.4. 14. r Za zedate ulazne podatke, lzlazrrd rezultatt se dobijaju u obliku tabele:
Koordinate teZi{ta na eI.4. 14. l, mogu se izradunatl pomoGu formula
IZR CUilAVANJE TEiISTA
X=-
er. R AI
ffi. (4. 14. I )
30.o0
Y
4. 14, 2. Statistl6ld.Prlmer
- 1$
" =i &*,
(4. r4.3)
I gtandardno odetupanje
N x X - NADX
I
2
tzL..n,x,x,r
Algoritam je prikazan na sI.4. 14.3. Kao Eto ee vidi ea slike, atgorltam c PROGRAIT ZA IIRACUNAVANJE
ee aastoji iz dva dela. U pnrom delu ge vr6t uno6enJe ulaznih podataka u C iniin.rt vREonosrt I sTANDARDNoc oosruPANJA
c
cilju izra6unavanja srednje vr€dnoetl, a u drugom delu ae vrbl ponovno u- REAL NAOX
NX x-tAox
I 0.2190000E 03 -0.20313{2E Ol
2 0.2225000E 03 .0.I468658e 0l
3 0.21r6500E 0l -o.538t3t8E Ol
{ 0.21820008 03 -0.2831345€ Ol
5 0.2210000E 03 -0.31 341 t'E-O r
6 0.22{}500E 03 0.33186{eE or
7 o.22652008 Ot 0.5488647E Ol
SREDAIJA VREDNoSI= O.22lO3L3E 03
STANDARD{O TIDSTUPATT|JE= O.3472305t Ol
sr- 4.14.4.
4. 14. 3. IzraCunavanje korena transcendentne jednadlne
(4.r4.s)
"irr'=* x
C PRT'IEi TTERACIONOG POSTUPKA
za zadate vrednoett parametra A 1z lntervarq [0, t; t,0j. Zt tzra6unava- c
nJe korena prlmenitt lteratlvan poatupak c
C TILAZ ZIGIAYTJA TABELE
c
Xtrr = A tR trE ( 6r'10ot
aU Xl IOO FOR'IATIIIIZR,A'UilAVANJE KORENA JEONACIXE'
gde je xo = tr/2. Iterativan .f Sll{lX, . AlXr ll /l6Xr rArrl2XrrXr/l
poetupak prektnud kada bode lepunjen ualov c
-
C ZADATA GRANICA APSOIUTII€ ERES(E tEPS'
lx'., - xrl<e (4. t4.71 c
CP3'l.E-{
gde je e zedeta ta6noat.
7E
c
C UIAZ PARAI4ETARA 'A'
c
l0 REAOl5r200rEND-701 A
2OO FORfiAT(F5.2I
c
C IESTIRANJE PARAXETRA
'A/
c
tF(a-.tl Lot20t20
20 IFIA-l.l 3Or30rlO
c
C POCEINA VREDNOSI KORENA IX'
c
30 X-3.141592r. i
c
C IT€RAClor'tI CIKLUS
c
{0 II . A/SIN|X! 5. PNOMENUIVE SA INDEKSIMA . NIZOVI
IFlAESlXr-Xl-ePSl 60r5o,tO
50 X.XX
G0 T0 +0
c 5,l. Definlcija niza
C TZLAZ PAN,AilEIRA 'A' I I(ORE{A IX'
c
60 tRITEl6r300l Ar I U mnogim oblastima primene matematike, dolazi do potrebe izvodje-
300 FoRIAIl6Xr2lEX,F5.2ll
GO IO l0 nJa operaclja nad grupom brojnih podataka. Da se ne bi pojedinaCno imeno-
c
C ZAVRSEIAK PROGRAXA vall brotni podacl, ovakva grupa dobija zajednidko ime. Tako se uvodi po-
c i matrice. FORTRAN-jezik pruZa mogudnosti
70 ttIlE I 6, roo I Jam vektora, determinarte
4OO FORI'ATI/' XRAJ PROGRA'IA" lakog zapiea grupe brojnlh podataka. Ovakva grupa brojnih podataka regis-
stoP
Er{0 truJe ee u memor{i talco ifto se svaki elemenat grupe registruje u jednom
memoriJekom regiatru. Neka eu registri memorije adreeirani redom sa
L, 2, 3, .. ., n, gde je n broj regiatera memorije. Neka gr.upa brojnih poda-
Za zedele vrednoati parerDetra A, lzlazni rezultatl re Etampaju u ob[ku
tebele: taka, koja se tell registrovati, eadrZi m elemenata (brojeva). Ako je prvi
eleBenet grupe regl8trorran u registru ea adresom r, tada Ce za registro-
TZR^CUilAVANJE KOREI{A JEDNAEIil€ STNIX) = vanJe cele grupe bitt upotrebljenl redom registri
^./T
r, r+1, r+2, .,. , r}m-l ' (5. l. 1)
0. lo o.a2 Sadrlajl regiatara (5.1. l) Jeeu brojni podaci grupe, Sto znali da se
o.tz o.tt
0.6! 0.8t svake grupe broJnih podataka prlkazuJe u memoriJi u obliku jednog nlza bro-
t.00 l.lt Jeva, bez obzira na raapored broJeva u grupi.
rIAJ PROGRA'II ViSe podataka aa zaJednldldm imenom, u FORTRAN-Jeziku zove se
niz. Prematome, veldorl, deternlnente I matrice u FORTRAN-jeziku |i-
U programu je promen[lva xl , iz algorltmr ne s1.4.14.4, ozna6e-
6u ae kao nlzovl.
na se xx. Tako, kede re elem€rtl mstrice
80 81
gde je levi i niz Je reilan. Vrsta niza Je odredjena unutraSniom konvencijom FloR-
TRAN-Jezika, kao i vrsta promenljive, tj. ako ime niza poEinje slovom I,
ime - ime niza koje se definiEe, kao i ime promenljive,
J,K,L,M ili N, onda Je niz celobrojan, e u auprotnom niz je realan'
lieta - epieak indeksa medju sobom razdvojenih zarezircrra.
Broj indeksa mole biti najmanje jedan, a najvlSe sedam. Ako ge Zeli nizu dodeliti ime koje je u suprotnosti 8a unlrtragnjom
Indeke moZe biti aritmetiCki izraz, Eija ee brojna vrednost izracuna- kornrenclom FORTRAN-jezika, moze 8e korlstittr ekeplicltna tlt lmplicitna
va, a zatim za odredjivanje elementa niza prevodi u celobrojnu konstantu. deklaraiijavrate niza. ,Ekeplicitina,deklaracija vrgte niza vr6i se.oplenim
Vrednost ovako dobijenog celog broja mora biti veda od nule i manja ili jed- neredbama REAL INTEGER, objafnjenim u odeljku 4'tz't; Ime niza se
ifi
naka najvedoJ predvidjenoj vrednostt indeksa. NaJvece predvidjene vredno- navodi u jednoj od ove dve naredbe u zavignosti od toga koje je vr6'te niz'
sti indekea nlza moraju biti zadate na po6etku programa za svaki niz koji
82
83
Ako se deklari.e realan niz, navodi se ime niza
kao elemenat liste naredbe
REAL, ili ako se deklari.e cerobrojni niz, navodi 5. 2. Jednodimenzionalni nizovi
se ime niza kao eleme-
nat liste naredbe INTE.ER. opisnim naredbama REAL i TNTEGER pored
deklaracije vrste niza mogu se zadati i najvece Elemenat jednodimenzionalnog niza ima opSti oblik
mogu.e vrednosti indeksa
odgovarajuceg niza. Tako u ovom sr.ucaju
elemenat u listi ovih naredbi mo-
te imati oblik (5.1.?). Ato eu makeimalne vrednosti ime (i) (5.2. r)
indekea definisane u
I naredbi REAL
ili INTEGER onda ovo ne trebe posebno pieati u naredbi DI-
gde je
MENSION. Medjutim, za svaki niz koji se koristi
u programu moraju se de_ ime - ime niza,
finieati makeirnalne vrednoati rndekea, odakle sredi
da ee svako ime niza i - indeks niza.
mora pojaviti ili u naredbi REAL ili INIEGEB ili
DIMENSION. Tako se mo- Maksimalna vrednost indeksa niza moZe biti zadata u naredbi DIMEN-
Ze plsati
SION ili REAL ili INTEGER. Niz, u ovi.m naredbama, navodi se kao ele-
f,EAL M(5,121, J(2o,20) menat liste u obliku
(5. l. 8)
TNTECER A(5,5), T(10) (5.1.s) ime (i*,) (5.2.21
Naredba BEAL deklarige matrice M i J kao realne
nizove, a naredba INTE- gde je i-.,ceo neozna6en broj koji odredjuje maksimalnu vrednost indeksa,
GER deklariSe matricu A i vektor T kao celobrojne
nizove. odnosno broj elemenata niza. Tako naredba
Implicitna deklaracija vrste niza vrsi se na ieti nadin kao
i implicit-
na deklaraclja vrate promenljive (vidi odeljak 4. lZ.Zl. A(20), VEK (s0) (5.2.3)
To ee postiZe opis_ DTMENSTON
nom naredbom IMPLICIT, kojom se vrsta niza
moZe deklarisati_po poaet_
nom slovu u imenu niza. Tako defini5e 20 elemenata niza A:
deklariSe sve promenljive i nizove dija imena poEinju odnosno 50 elemenata niza VEK:
slovom J ili M kao
realne promenljive, odnoeno nizove,.i eve promenljive
i nizove 6ija ime_
na po6inju slovom A ifi T kao celobrojne promenljive,
vEK(l), vEK(z), .. ., vEK(50).
odnosno nizove.
?reba uoEiti razliku lzmedju deklaracije (S. l. l0) i (S. 1. 8) odnosno Elemenat niza zove se promenljiva sa indeksom. Svaki elemenat ni-
(5' l'9)' Deklaracija (s. l.ro) deklari.e eve promenrjive
i nizove cija ime- ze regictruje se u jednom memorijskom registru. Sve Sto je rebeno da va-
na po€inju alovon J ili M odnosno A ili T, dok
deklaracija (b. l. B) i (S. 1.9) Zi za obianu promenljivu vali i za promenljivu sa indeksom.
deklarise samo nizove 6ija eu imena M i J, odnosno A.
i T.
Eksplicitna deklaraciJa vrate promenrjive i niza irna najvi6i prioritet,
5.2. 1. Jednodimenzionalni nizovi u listi ulazno-izlaznih naredbi
a zatin inplicitna deklaraciJa vrete i na kraju unutrasnja konvencija FoR-
TRAN-jezika.
Nizovi se pojavljuju kao elementi liste ulazne naredbe, kada se vrsi
dodelJivanje brojne vrednosti elementima niza sa ulaza. Ako se vr3i izda-
vanje brojnih vrednosti pojedinih elemenata niza tada se nizovi pojavljuju
84
85
u liati izlazne lraredbe' Elemer$i jednog niza
mogu se pojaviti na v15e na6i-
na u liati.ulezne, odnoano lzlazne j
naredbe.
a) Ako elementi nlza ne elede jedan
za drugim po odredjenom zakonu, je u opisnin naredbama DIMENSTON tU REAL lli INTEGER'
tada ae mogu navoditi u ligti na isti
narin kao imena pt'omenljivih. Tako
ee c)iko elementt niza koji ae navode u listi ne slede jedar iza drugog,
moZe pieati
moze 3e u listi Pis8ti oblik
READ (5,10) A(4), A{2), A(s), A{r5) (ime(i), i mz, mr) (5. 2.8)
= -t,
Sto znadi da Ce elementima A(4), A(2), i u (5. 2-4), a uvedena v€Udina m!,
A(B) i A(1S) niza A biti dodeUeDe gde sve oznake imaju isto znadenje kao
brojne vrednoati sa uleza.
moZe biti ceo neoznaten broj ili celobrojna promenliiva. Zapis (5' 2'8)
b) Ako elementi niza koji 8e navode u
listi slede u.redosledu, poEev ima isti efekat kao da su elementi niza nabrojani u fedosledu:
od elementa m, do zekljulno sa eleo.entorn Erz, tada ae moze plEati
ele-
meDt liste, u ulaznoj, odnoano izlaznoj
naredbi u obliku ime(m), ime(mr+mr), ime(mi +2m!), ..., ime(mr+kmJ (5'2'9)
i - ime eelobrojne promenljive, gde erednja zagrada oznadava celobroJni deo koli[nika
r[1, m3 - celi neozaadeni brojevi ili celobrojne promenljive. Prema tome, oblik (5' 2.8) eadrli k+l elemenst niza, koji eu Davede-
zapie (5'2'4) ima isti efekat kao da su erementi ni u (5.2.9).
niza u listi, navde-
nl u redosledu
\t
t\
86
8?
Prema tome, u rluCaiu nattdbc cllhr.r u oblttu (5.3.4) prolazl kroz clklug
vrle ge 8a vrednoatima lndckaa
co ro
L-mr*kntr, PAUSE
STOP
L*ms + L
IF (po vrednosti aritmetidkog lztazal
DO
gde Je
- eluibena reE i oznadava naredbu bez dejstva.
CONTINUE
Izvr6avanJe ove naredbe ne proizvodi nikakve promene u
4adunaru,
ve4 samo prelazak na naredbu, koja treba da se izvrgi iza
ove naredbe.
Ovde treba razlikovati dva sluCaja:
1) Ako je naredba (5.3. S) zadnja naredba programekog
ciklusa, tada tzL^z: z
ie posle ove naredbe do6i do ponavljanja ciklusa, ako to zahteva izrazni kri-
ierijum, odnosno do prelaska na naredbu koja sledi iz.a naredbe (S.3. S), a-
ko se izlazi iz ciklusa.
2) Ako naredba (S.3. g) nije zadnja naredba ciklusir, tada izvr3avanje sI. 5.3.3.
naredbe (5.3.8) predstavlja prelazak na naredbu koja sledi
iza ove naredbe.
Naredba (5.8.8) koristi se u programiranJu, naJ€eSCe u slededa
dva nalaze se na l0 kartica i to na prvih 5 nalaze 6e elementi niza x' a na dru-
sluCaJa: gih 5 elementi nlza y. Blok-gema algoritma prikazana je na sl' 5 ' 3 ' 3 '
f) Ako bi zadnja naredba ciklusa trebalo da bude neka od nedozvolje_ Program sastavljen po algoritmu na sI' 5' 3' 3' ima slededi izgled:
nih naredbi, tada se kao zadnja naredba moze koristiti naredba (5.3. g).
olrtEr{sIoN x( 501'Yl5Ol rZ(5Ol
2) Ako se Zeli izbaciti iz programa naredba koja ima obeleZje, READl5r50l XrY
tacla,
da se ne bi menjala obelezja, moZe se na mesto izbadene naredbe 5o FORr{ar(10F8.31
ubaciti DO 30 I=l'50
naredba (5. 3.8) sa istim obel< Ijem. lF(YlIll l0'20rlO
to Zllt=x(lllY(I!
30 CONTINUE
Primer tlR I TE t 61 60 I ( Zl I I r I =l 501
'
60 FORHAT( r r17Xr. 1". // lr r rgl4.7l I
! STOP
20 Z(Il'0.
Zadeta su dva niza brojeva x, i y, GO rO l0
END
z, ='\ i = 1,2,...,50
'Jr U ovom primeru naredba sa obeleZjem 10 sadrZi operaciju deljenja'
.
pri je y* = 0, uzetida je z* = 0, Ova operacija se nalazi u ciklusu, jer je treba izvrSiti 50 puta da bi smo
Cemu ako k€ 1r,r,...,SOf . Elementi
nizova xi i y, su brojevi sa maksimum 3 cela
formirali niz Z. Medjutim, u operaciji deljenja delilac ne sme biti jednak
i 3 decimalrra mesta. Neka
se na jednoj kartici nalazi nuli. Zato se pre dolaska na operaciju deljenja vrSi ispitivanje vrednosti
l0 ovakvih brojeva. prema tome, ulazni podaci
delioca(elemenatnizaY),iakojenjegovavrednostrazliditaodnuledola-
n 98
T
f_E
t?
n2 i,=m(21,_f),-!r,
s,I
tli
I n2-+
i
:
Za ovahru kompoziciJu od p programskih ciklusa C1 , C2 , . .., Cn
i
:t f_D9 I
ne i"=61n, -lD,,rrlrt
vaZl sledede:
cpl i
tt
l--np - neki od ciklusa mogu lmati zajedniCla'r zadnju naredbu, a to znali
I
: da neka od obelelja iz elorpa [n1,n2,...,np | -o* biti jednaka,
04 96
n ir=ra{2),
-!r}, -tzt 5. 4. Dvodlmenzionalni nizovi
I
gde je
I
ime - ime niza,
Ako gu lzleznlkriteriJuml clkluea Cr, C2,..., ir , i2 - indeksi niza.
Cp, koJi grade kon_
centricnu kompoziciju takvi da ulazak u ciklus
c1, znaEi prorazik kroz cik- Maksimalna vrednost indeksa niza moZe biti zadata u naredbi DIMEN-
lus q* puta, tada ulazak u koncertricnu kompoziciJu SION ili REAL ili INTEGER. Dvodimenzionalni niz u ovim naredbama
navo-
crklusa defini5e slede_
6i broj prolazaka kroz poJedine clkluse: di se kao elemenat li6te u obliku
- kroz ciklue C, prolazi Be qr puta,
ime(ir-., , ir-*) (5- 4.21
- kioz ciklug C2 prolazi 6e qt .qr puta,
kroz ciklus C1 prolazi ae 91 .9r . . .
9r puta, i
- lcoz ciklus Cp prolazi ae gr . g: . . . qp puta. gde su ir-o i ir-., celi neoznadeni brojevi koji odredjuju maksimalne vred-
Dva ill vlEe cikluea medru sobonr ae ne smeju sedi. Tako ci-
za dva deftniSe 100 elemenata mstrice A:
kluea C1 t C, niJe dozvolJen alededl odnos:
A(r,r), A(1,2), ..., A(1,10)
A(2,1), A(2,21, ..., A(2-10)
A (rb,
ti*----------i
r), (i0,2), ...,A(lri,10)
A
96
n
160 elemenata matrice B:
Ako se u listi navode evi elementl dvodimenzionalnog niza, tada Ee
B(1,1), B(1,2), ..., B(1,s) oblik (5.4. 3) svodi na
B (21 1), B (421, . . ., B (2, 8)
t: ((ime(ir,iz), ir = 1, i1-.1)p i, = 1, i1-..) (5.4.4)
Kao I elemertl jednodimenzlonalnih nizova (vldi b.2.1), teko I ele_ Ovde je vaZro uoditi da obtik (5.4.41' odnosno (5.{' 5) obezbedjuje po-
mentl dvodhaenzionalnih nrzova mogu ae pojaviti u listi ulazno-rzlazne oa- javljivanje elemenata niza u listl u redosledu kolona po kolona mairice'
redbe na vi6e naEina: Medjutim, ako se Zeli redosled vr6ta Po vrsta matrice tada (5'4'4) treb^'
a) Ako ae poJedfnadnt elementi nizova pojavljuju u llsti tada ee vr6l zapisatl u obliku
navodJenje odgweraJu6ih elemeaeta. Tako ee moZe pleati
((lme(i, , ir), iz = 1, i2.o), ir = 1, ir-.,) (5. 4.6)
-!tl - .uU neoznadeni brojevi ili imena celobrojnih promen{ivih, ((ime(i'ir), i, =*lt)., -lt) , m[f) ),i, = -1" ,-1" ,."!') ) {s'e'z)
i' j = r'e'
Zapie (5.4.3) ima isti efekat kao da su elementi matrice navedenl u
gde su eve oznake iste kao u (5.4.3), velidine -lt) i -!') -ogu
a dopisane
slededem redogledu:
blti celi neoznaceni brojevi ili celobroine promenljive. Zapis (5.4. ?) ima
i-e(m{t}, -tit ), ime(mlt) +r,*(r'}),...,ime(m!t), -1,, ), istiefekatkaodasuelementimatricenavedeniuustiu6lede6emredosle-
ime(mjr), -1" *r), ime(mf), +r, -j') + 1),...,ime(m!'),mltr +11, du:
ime(mf),rJ," t, ime(mf) **1",-14 ),...,ime(m!) *krrn:t',t"1")'
ime(m(,t} , -1" ), ime(m!" + l,-lrl ),..., ime(m!r),m(,2) +-l2l 1, ime(-f) *-lt),-!') +,,,!') ), "',ime(m!l) +
ime lrrrl'l , -jrr)
**r,,.$' ,-l') +-!'l ),...,ime(m!t' ,*1" +tr-fl 1,ime(ml') *-(i) ,
m!') trrm!'' ),,,,,Ime(mlt)+lr1mt' ,*l'' *hxml" )
98
99
gde eu
lol rtJ( 5r l0 I rc(5, lol
f ,r, ,tl I
k'|=1fu+l lo
Dll'lENsloN A(5,
qEADl5' l0! I lA(
FoRMAT{ 10F8.3)
I,J ),J=1, lO), l=l 15t, ( (ts(LJl rJ=I, lO), l=l r5l
(5.4.8)
0O ll I-t,5
O0 ll J=lrt0
ll cu,J)=A( I rJl+Bll,Jl
f ,r, ,:,.| r{RIIE(6r20l ( (c( t rJl rJ=lrtolr I=lr5)
k' =l.*;r'-J (5.4.e) 20 FrlRfiAT(. MATRICA C,// (. r,l0Fll.3ll
S ItIP
Er.rt)
dom 2, 3 , 4, , , ., n. m, gde je n. m relativna adresa zadnjeg elementa niza meru na kraju odeljka 5.4.1. u ovom slu[aju tabela 5.4.1 za registrovanje
a(r^, m). U tabeli 5. 4. I prikazan je raspored elemenata niza a(i, j) sa odgo_ elemenata matrice A ima obliktabele 5.4.2. Na isti na6in se reg:struju
.i :l
va:'aju6im retativnim dhresama, elementimatricaBiC.
Iz tabele 5.4.1 sledi da se relativna adresa k, elementa sa indeksi_ Kako je u navedenom primeru pretpo'tavljeno da se elementi matrice
j
ma i, izraEunava po formuli A unose vrsta po vrsta, to znadi da 6e elementi prve vrste biti regi.slrovani
u registrima dije su relativne adrese 1, 6,.11, !6, ZL, 26, 5I,36, 4l i 46.
k=i+n(i-l) (s.4. 10)
Zatim se unose elementi druge vrste i registruju u registrima z, 1, Lz, ird.
Prema tome, dvodimenzionalni niz a(i, j) Ciji indeksi uzimaju vredno_ U istom programu sabiranje matrica je izvr6eno preko dva programska ci._
sti i = 1, 2, ...,ni j
= 1,2,.. ,, m, moZe se posmatrati u memorijt radunara klusa, tako da se sabiraju vrsta po vrsta matrica A i B'i formira se matri-
kao jednodimenzionalni niz a(k) diji indeks uzima vrednostl k = 1,2, . . ., ca C.
n.:n. Veza izmedju indeksa dvodimenzionalnog niza a(i, g) i jednodimenzio_ b) Re5enje zadatka preko jednodimenzionalnih nizova.
nalnog niza a(k) data je relacijom (5.4. 10). . Isti zadatak ae inoze re6iti ako se koriste jednodimenzionalni nizovi.
U ovom slu6aju prograrq na FORTRAN-jeziku ima elede6i izgled:
Primer
DIilENSION A( 50),81 50t,C (50)
READ( 5r IOI A,B
Nadin registrovanja dvodimenzionalnih nizova i njihovu vezu sa jedno_
to FORr.,rAI( 10F8.3t
D0 ll l=t,50
dimenzionalnim nizovima prosledicemo na primeru sabiranja dvodimenzio- ll C(ll=AlIl+8llt
r{RITE(5r20t C
nalnih matrica. Ovde Cemo razlikovati dva sludaja: 20 FORilATIT HATRICA C' lllt .rloFt1.3t,
STOP
1) Dimenzije matrica u programu su iste sa dimenzijama matrica de_ END
finisanim opisnom naredbom DIMENSION.
a) Re5enje zadatka preko dvodimenzionalnih nizova. Tabela 5.4.3 prikazuje registrovanje elemenata matrice A, kada su
Na ovaj naEin reSeno je sabiranje dvodimenzionalnih matrica u pri_ uneti kao jednodimenzionalan niz, a pri tome su na karticarna bili raspore-
Tabela 5.4,2
djeni vrsta po vrsta.
Tabela 5.4.3
,]
N. I 2 3 L 5 6 I I f,) t.i
t\ 1 2 3 L 5 6 7 8 I r0
o l.l o t,2 o o t,4 o l,s o o ol,g o t,9 o
I
1.3 1,6 1,7 t,to
I 6 1l 16 21 26 3t 36 t1 t6 9r,t ot, 02 ,6 o3, t o3,6 oa
,l ol,e los,r los,o
o 2,1 aza o a o z.s o 2,6 o.. o3!- oe
I
t
6
"l,l-
fi 6 -36 ! lt l-ts-
z.i z,t o o 2.to 6 2l 26
- -11- --'---'----'-
ol.z los.z I,--'
2
? 7 t2 l7 22 27 '32 tt L2 L'T ol ot.? 42,2 42,7 03,2 og,?
,7 9l.,a- los,z
orr g.t 2 12
i-17-
I tz- - i--
- 37
o 9,2 o 3,1 o o 1,5 o 3,6 Orr o 3,8 o 3,9 a 3,to 2 t? fl z2 :27
3 _12--.. - 'J'-" --.
I !q t8 q 02.: ol-
-
3
o(,3
13 23 28 33 38 43
3
r,3 or, g oz.8 03. g 8
ol.3 n-e !os,r i9s,a
L
o {,1
I
ot,,2
I t4
a L,r.
tll
n
!!_ 9 4,6_ a r,,? o 4,8 9 4,e o4,lo _,3. I !3 _19 - 23, .28 _ i?. ts-:41 j.__ol-_
2L 29 34 39 I,L 19 ol , t 9r,g 02,L, 02 .9 03, 4 03 .9 q_.L a,n i1r-.-l-
g:,L 19s.."-
5 1!-2_ 9 s,r
o5,4
9!l)< os,6 Oct o5,8
1i,s- o5,io : I 9 IL l9 2T E -34 3e ,, tt i 4e__
5 l0 t5 n 30 35 LO L5 s.1l
5 \s 5
ot, o
t0
42, s
15
oz-r-a-
fr
03,s
)q,
ol,to
1n
oa,--s--
35
1-ro_ i9s,5 ,os,tL
40tt1lso
L.tz 103
Tabela 5.4. 5
\jt\ 2 3 L 5 6 7 I I 0
01, I 02, z
I 9i,-1-
I 6 1l l6 u ,6 31 36 4 46
ar, z
oz,3 o3, l
2
2 7 t2 I'l n n n -n t2 _t7 -_ l_-- ! I I I *-
ol,3 o2,t, lt I ts i2L l2e 131 13e',14_L!9_ -
J
3
or , {
8
o3r I
13 ls n 28 33 38 Lf IL --
-
L
I 9 IL f) ?t, 29 31 39 t,1 -zE-
o2, 1
43,2 Kao Sto se vidi, tabele 5.4. 5 i 5.4.6 razlikuju se Po tome 5to u ta-
5
p 6 n 25 30 35 to -at- 50
5
beli 5.4.5 elementi slede po vrstama, a u tabeli 5.4.6 po kolonama. Kako
Prema tome, elemerti matric€ A sada su rasporedjeni u registrima rezultujudu matricu treba Stampati po vrstama, to se naredbe izlaza t od'
dije adrese slede jedna za drugom. I sabiranje matrica moze se izvrSiti a- govaraju6im programima razlikuju.
ko se primenjuje jedan programski ciklus koji se izvr5ava n x m puta. Navedeni primeri ilustruju razlidite nadine registrovanja dvodimen-
zionalnih nizova u memoriji radunara. VaZno je uoditi da uno5enje eleme-
106 10?
nata dvdimenzioD€ tnatrice kolona po kolona, i unosenje iste matrice kao Ako se indeksi u (5.5.3) menjaju od 1 do maksimalne vrednosti, tj'
Jednodlmenzionog niza ima isti paspored registrovanja elemenata u memo-
riji, ako je tip matrlce jednak maksimalnim vrednostima indeksa u pro- i,^"J, ... , iu =1, i*-.') (5. 5' 4)
lstom algoritmu Q oznadava r.iz diji su elementi q, , i = 1,2, " ', ll zadate
vrednosti argumenta x. Vrednlsti funkcije fi, i = 1,2'..., ll oznadene su
nizom F. Kao Sto se vidi sa sl. 5.6.1. vrednosti funkcije izmedju tadaka
odredjuju se linearnom interpolaciiom, a vrednosti funkcije levo od tadke
A, i desno od tadke An odredjuju se linearnom ekstrapolacijom' Program
ne FORTRAN-jeziku sastavljen po algoritmu na sl. 5.6.2 ima slededi iz-
gled:
sl. 5.6.2
/,/ // 7- ,17 -" nu
6. PorPRoc*o*i-)
\-.-
Za ulazne podatke END kraj potprograma, i pi6e se uvek kao zadnja naredba potprograma. Iz_
x, o 1,00 medju prve i zadnje naredbe potprograma moze se nalazitl proizvoljan broj
FORTRAN-naredbi, osim
Yr -0
xr = -o' 14 - druge FUNCTION - naredbe,
Y2 = -1,05 - druge END - naredbe, ili
xr = 0,35 - SUBROUTINE - naredbe.
Vreta fiktivnih argumenata odredjena je unutrasnjom konvencijom
xs = -o' ?5
rezultat se dobija u obliku FOTRAN-jezika ili opisnim naredbama za eksplicitnu, odno'no implicitnu
deklaraciju vr6te, koje se piSu iza prve naredbe potprograma.
Z. o"L55191i2 02 Prelazak iz programa u ovaj potprogram vr5i se na isti nadin kao i
kod funkcijske naredbe, navodjenjem imena po.tprograma, kao argumenta
6. 3. Funkcijski potprogram aritmetidkog izraza u obliku
Funkcijska naredba se moZe kofistiti kao potprogram, ako se radi o ime(lista) (6. 3. 2)
Jednom aritrnetiEkom izrazu. Medjutim, vrlo desto potprogram sadrZi ve6i
gde je lista spisak stvarnih argumenata, medju sobom razdvojenih 'zarezima,
broJ naredbi I to ne eemo aritmetlCkih. Ovakav potprogram zove ae funk-
kojima se zamenjuju redom fiktivni argumenti potprograma. Na mestima
cijski potprogram. Op5ti@ stedeCi
stvarnih argumenata mogu do6i i aritmetidki izrazi fii imena funkcijskih
FUNCTION ime (llsta) ili opstih potprograma. Stvarni i fiktivni argumenti moraju se Blagati po
(6.3.1) broju, redu i vrsti. Funkcijski potprogram mora lmati najmanje jedan ar_
: gument. Izlazni rezultat funkcijskog potprograma je jedan broj koji 6e do_
END deljuje imenu potprograma. Prema tome, medju FORTRAN-naredbama ko-
I
120 t2l
je dine potprogram mora se nalazlti najmaujF jedna aritmetiCka 4aredba,
na dijoj levoj strani od znaka jedriakosti stoji ime.potprograma, a kojom ee
Tabela 6.3. I
bu rlEr. ot1.
dodeljuje iilazoi rezultat potprograma njegovom imenu. I qrurhr.
!
Povratak iz potprograma u program vr5i se posebnom FORTRAN-na-
4l!, I nlta,att I a,rt.ta_t' tlEltdu ls-
Ett.
redbom
E(rl b(rt I I r,rl.rl-r E@ lqslb
wloht lq{d .T I l,0t.rO_' M l*t6
RETURN (6. 3. 3) F(l) a I T a"a.tl
tlr(tl tblrl I rr<l,tl3.to' t l. tt.ta
koja se mora pojaviti najmanje jedanput izmedju prve i zadnje naredbe pot- illrt I rl<4,:tt.to'
b tdLrb,
* l. tt. lO{ tllptsrtt.
programa. Ako se u potprogramu koriste programski ciklusi onda naredba tM ar, rt [t rl<a,tr5.lO- I l,3l.rc-t
rr, lt !/art
ld. r.r. -. -
(6.3.3) ne sme biti zadnja naredba ciklusa, na slidan nadin kao 5to naredba
rulrt .t{ (rl I rr.l,2tl. l0 I a.3a. r!-'
rr, rt
STOP ne sme biti zadnja naredba ciklusa u programu.
rnlll aoabllt I rt$ I t.:a. ro_'
U FORTRAN-jezlku postoji veliki broj funkcijskih potprograma, koji Icl rr{l I l,al.rc-' M.- Brtc.
rrrd. tdsl,.
se u programu pozivaju propisanim imenom. Ovo su potprogrami opdteg {l:l .Ett(rt rtat I ,.rr.to'
rffilrt,rll 6rt l.!/r:, ri .rY.t a ,.7r.tc-'
karaktera, kao 5to,je izradunavanje elementarnih funkcija i sl., koji se 6es-
to koriste u raznim prora-unima. U tabeli 6.3. I dat je spisak ovih potpro- ruld .Dlr) I .r < lta.atl I !,to.ro{
grama. U tabeli su uvedene sledede oznake slrt I ar <!?a,atl t o.tat.to_'
ua:l 6lrt I a l. u. to-t
x, xr, x2,.,. -artimetidkiizrazi, wlrt,rl....l E(t,rr,..., c .r1.1.2a....<i I
M - maksimalna vrednost celog broja (M=2 147 483 6411 , Nu(4t.rr,..., Sarl'.1...., C rtr.r.:r,...<r I
lativna grSka za razne vrednosti argumenta iz dozvoljenog intervala. 6IeFac I s,zc. ro'7 &tr. r&
Funkcijski potprogrami navedeni u tabeli 6.3. 1, pojavljuju se jedan-
Ul!l t-&fi'et !tat I t.rl'to-l lAl-! l@lt
L22
123
6d trd rt puta su zapisani. Dakle, na svakom meatu gde ae nalazi Diihovo ime, u ma-
,{.o I
do0tN ,a ia
@
t
G1I
,k
Otrt tx tt
,a
-l
t,
o
a,
I
o
E
7 Sinskomprogramu,bi6epostavljenizvestanbrojmaFinaldhnaredbikoje
N'
N J. o
c o e
I d
c utt
Ofi realizuju odgovarajudu funkciju. Ove funkcije su prikazane u tabeli 6' 3' 2'
d
dt
oo
'lnbi a
tl o
L
6 !
o
g rtok
pc) okc n
,a ,
L t, t
d s n.o aJ
c oo Ic 6 no.o
rl O Urk C n o a.t Primer
F o
o 6O.$ a,
dF{ o a
L o
F{ e
t
c
,{
c
at
aa,
>{a
d ,t n t do
OOOL
to .o
ot
8 al A rre
o )ao.o +{ t o d
ttl N d I AE Sastaviti program koji izralunava vrednost funkcije
I
l{ a-l
!.Xra.{
A
4 ta
o
A I Io x:
ra
e,
k-at 0(x,Y) = U(x-Y) - 4,3 u (2x-1,5Y) (6. 3. 4)
tt
a I
n on I I I I I t
(, &t
.ra gde Je
tc lo za t < o
L a,a
a & (, (, e u & (,
ft U & U & &
u(t) = t =o
.l o,u ze (6. 3. s)
o Lt,t z4 t >o
o A E A E
v
t
v Il x
c c| (x, y) nalazi 6e na po
u v tl, za proizvoljan broj parova (x, y). Svaki par brojeva
r, {,o
c N ee opisom polja F10.4'
L d N x jednoj kar{ici, i registruje
o c
3 L
ttl tn
rt
v,
:t
x x 1 Iu:
B
I
A A Algorltam je Prikazan na sl. 6.3.1, gde ie pretpostavljeno da se iz-
! o
x ?
Y
x
A
x x
Y, T I u (sl' 6' 3' 2) '
x x x ta x x x ra€unavanje funkcije (6. 3.5) vrSi pomodu funkcijskog potprograma
It
4,
6 (, a o a o tr (, & o fr q &
r.
d
(, a{ l\
x x N
-,1
.,rt N x
F
E
o
I *ur x
d
x x l\
E x -l
c ,{c
I
.l, or
Ul q c
a
I
A
g o
;x I E
I
g
I
E :l:
a D I
I,a ,a x x x x x x E': li:
o. c{
a tc x N d
a
a x x N x
I x x
,a x
.a,
t C.
I
z r x
x x
x x x
o 1 x (, z tH o t
ra ,l
3t
3 l-a H o 2 o o o ai E
5 h
&.
H
o
H
H
a^
o
H
H
o Io I fi 4o z
f<
H
t
il sI.6.3.1 sr. 6.3.2
II
I
,.\
j
3
ji
o
124
125
FORTRAN-program sastavljen po algoritmu na sI. 6.3.1 ima slede.
vrsta FUNCTION ime(lista) (6. 3.6)
Ci izgled:
iI
hRITE(6rl0l
l0 F0RHATI' rr5Xrrxrr)4Xr'Yrr9XrtTEIA' ll !
l4 READ( 5r 12, EN0:20 I xrY END
l2 FOR},|ATl2FlO.4t
I-+. 3*UFUN( 2. rX-I " 5fy'
TETAiUFUUI X-Y gde namesto redi vrsta moZe doCi sluZbena reE INTEGER ifi REAL u zavis-
IIRITEI6Tl3I X,Y,TETA
|
l3 FORHATI 'rFl0.4r5XrFl0.4r5XrF4. l l no6ti od toge koja se vrsta brojnog podatka dodeljuje imenu promenljive kao
G0 TO l4 rezultat potprograma. Sve ostale re6i u gore navedenoj konetrukciJi imaju
20 sT0P
END ranije opisano znadenje (vidi 6.3. 1).
END
x Y TETA
gde je
I 5" 0750 - 1o.0000 - 3.3
0.0033 480.0000 0.J SUBROUTINE - eluZbena reC i oznaEava podetak i tip potprograma,
- I 50. O000 30" 5000 0.c'
-12.5500 -20.0000 -3.3 ime - naziv potprograma i definiSe se na isti naein kao ime
0"o 0o0 -1.6 promenljive,
5Or OOO0 70.0000 o. ('
Iista - spisak fi}*ivnih argumenata, mediu sobom razdvojenih
zatezima,
6.3. l. Eksplicitna deklaracija vrste funkcijskog potprogram4 END - sluZbena red, koja oznadava fizi6ki kraj potprograma.
t28 L27
END
gde je
CALL - sluZbena ret i oznaCava poziv op5teg potprograma,
ime - naziv opSteg potprograma koji se poziva,
lista - spisak stvarnih argumenata, medJu sobom razdvojenih za-
rezima.
Stvami argumenti mogu biti aritmetilki izrazi, imena funkcijskih i-
Ii imena op5tih potprograma.
Stvarni i fiktivni argumenti moraju se slagati po broju, redu i vrsti'
Od navedenih stvarnih argumenata neki de biti ulazne veliEine u op5tem
potprogramu, a neki Ce biti imena promenljivih ill nizova kojima se docle- n"(xn)= Re(x.)
ljuju vrednosti u potprogramu i predstavljaju izlazne velidine potprogranr:r'
6.4.r
t29
a promenljiva I svoj.om vredno5Cu odredjuje karak:ter re5enia, kako je to programu, dobiJaju 6e rezultati u obliku tabele:
opisano u opgtem potprogramu na sl. 6.4. f. FORTRAN-program sastav-
i
r30
131
sluEaju naredba povratka ima oblik Op5ti potprograln u ovom sludaju ima slededi izgled:
132
133
6. S. Nacit![ preno5enJe argumenate lz progreEa potprqgreme SUBROUI I ilE r.V JED I t Al, l8l t t RE'.l t ltitxl,
u
RElt tHxlrlllxz
tf C RE XZ, I ilXZ, I r. r*, I t
lFl^t 20t2lr20
Funkcijski i op6ti potprogram predstavljaju posebne programske 2J DlsxRr 8r12-{. *a*c
ce- REII.-.8/(2..A1
line. Ovakvi potprogrami kada ee jedanput napiEu mogu se po po,,trebl I llxl.SQRT ( ABS I OtS(R I I I I 2. tA.l
korie_ lFlABSt DISKRt-l.OE-6t llr tlr22
titi u razliditim progrqmima, Sve promenljive i obeleZja koja ee 22 lFlOtSKRl lOrllrl2
Jav{aju u to ;Ft8t l3?l4rl3
potprogramu nezavlsni su od onih u programu. Tako It
se ista obeletje I i.me_ l13
na promerJjivih mogu pojaviti u r5 Itlx2r- I ilx I
Flcrtprogramu i programu. Medjutim, za J.2
ista inena promenljivih, u programu i potprogramu, angaZuju se
razllll_ l6 REI2.REx l
RETURN J
ti registri u mehoriji. U opStem potprogramu za redavanje kvadratne l{ I't
Jed_
nadine, pronenljivrm A, B i c dodeljuju se brojne vrednosti GO TO r5
stvarnrh argu- ll l-2
menate P, Q, R (vidi primer na kraju odeljka 6.4). promenljiva J.l
I Jav{a ee GO TO 16
kao stvarni argumerd i kao fiktirfni argument potprograme. l2 l.l
Medjuttm, broj-
na vrednost p.omenljive I u progremu bi6e u jednom,
REX2-REXI- lrXl
a broJna vrednost pro- RETI'RETIiIHxI
menljive u potprogramu bide u drugom memorijskom reg.istru. RETURN I
Ovakav ne_ 2L 1.5
din prenoEenja vrednosti argumenata zove ae dir:ektan prenos RETURN 3
argumeneta
EilD
iz programa u potprogram.
Prema tome, u slucaju direktnog prenosa argumenata iz programa
u tada ee brojne vrednosti stvarnih argumenata p,
potprogram, vrednosti argumeneta ae prenoEe iz registara Q i R ne6e dodeliti fildiv-
memoriJe -u ko_ nim argumentima A, B i c, ve6 6e se u potprogramu
jiqna se nalaze atvarni argumenti - u registre namesto fiktivnih ar_
memorije angaiovane za fik- gumenata /N' /B/ 7/c/
Euvari adrese registara u kojima se nalaze
tivne argumente potprograma. brojne
vrednosti promenljivih p, e i R. Na ovaj naEin brojne
Pored ovog nadina prenogenja argumenata iz programa u potprograa, vrednosti argumena_
ta P, Q, R koriste ae u potprogramu, indirektno iz
moie se koristiti indirektan prenoa argumenata. u ovom slucaju, kao registara memorije u
fik- kojima se one duvaju u programu, a preko odgovarajudih
tivni argument pojavljuje ge adreea registra u kcjem se nalazi stvarni er- adresa ovih regi_
atare.
gument programa. Na ovaj na6in ee vrednost argumenta
uzima iz registra
memorije u kojem se nalazi stvarni argumert. Da bi se ukazalo
na to da
na mesto fildivnog argumerta dolazi adresa, a ne vrednost
6.6. Promenliivi ulazi ,, -a^-^--^-^
stvarnog argu_
menta, filctivni argumert se pi5e izmedju kosih crta, tj.
U funkcijski i opiti potprogram dolazi se lz programa,
na prvu izvr,
/a/ 6nu naredbu koja eledi iza naredbe FUN.TI.N
(6. 5. r) ili pored
ovakvog prelaza na potprogram, kod ovih potprograma''BROUTIONE_
gde je a ime fiktivnog moze se koristiti
argumente. i promenljivi ulaz u porprogram. pod pojmom t'ulaz u potprogram[
podra_
Tako ako bismo u opBtem potprogramu za regavanje kvadratne jedna- zumeva ae meato u programeko.ur algoritmu na
koje se vr6i prelazak, ka_
6ine,.u prvoj naredbi, fiktivne argumente A, B i C napisali izmedju kosih da ee prelazi iz prograrna na potprogram. promenljivi
ulazi u potprogram
crta, tj. potprogram u obliku oznadavaju ee naredbom
t
r8{ 135
ENTRY tme, (llata) (6.8. l) Naredbe (6.6. l) ne utiCu na redosled lzvrSavanja naredbi patpragraan1
ciklusa del;ni-
ma. Ove naredbe se ne smeju nalaziti u okviru prc'gramskih
gde Je
sanih naredbama DO.
ENTRY - sluibena reE koja ozna{ava mesto ulaska u potprogram,
Primena naredbe (6.6. l), za definisanje viSe ulaza u potprogram' u
ime, - naziv i-tog ulaza u potprogram, koji 6e definiEe na isti na- programiranju je korisna kada se Zele na razli[itim mestima
programa
Ein kao i ime potprograma, vrsti i redu sa
definisati razliditi argumenti, koji se ne slaZu po broju'
Iista - spisak fiKivnih argumenata i-tog ulaza upotprogram, me- (FUNCTION' odnos-
dju sobom razdvoJenlh zerezima. Ovi flltivnt ergumerti se argumentima definisanim u prvoj naredbi potprograr4a
definiSu na isti naCin kao i fiktivni ergumerdi pdprograma,
no SUBROUTINE). Pored toga, ova naredba
je korisna i kada se na razli-
ali mogu biti razlidlti po broju, redu I vrsti od fitrflvnih ar-
gumenata potprograma. ditimmestimaprogramadefiniSurazliditeizlaznevelidinepotprograrna.
Na ovaj na6in motre biti definisan veCi broj mesta u potprogramu, od
koJih moZe podeti izvr5avanje potprograma, pored normalnog pr.elaza iz Primer
programa na potprogram od prve lzvrEne naredbe {za naredbe FUNCTION,
slede6i nadin
odnosno SUBROUTINE. Na ma koje me6to potprogrema, oznaceno kao mo- Velidine A i B odredjuiu D(karlove koordinate na
gudi ulaz naredbom (6,6. 1), moze se dodl u sluCaJu funkcijskog potprogra-
(6. 6. 4)
Ere, navodjenjem argumenta aritmetickog izraza u obllku x-- tf$T6'z
y= tr+B (6. 0. i,)
ime, (lista) (6. 6. 2)
136
13?.
HRIrEl6rtOt
r0 FoRtfATl. tr3xrrxrrSxr.y.rgxrrSrll0xr
trIETAr/. . t.26lf-t.RADIJANA STEPENI./l
50 READ(5r20rENDr4Ol ArB
20 FORiArl2F6.2t
y-A.g
CALL KORR(A,8,XI
CALL KORRTIX,Y,R, RADI JI
CALL KORTSISTEPEN
XETTE(6, 30 I '
XTYTRTRADIJ,STEPEN
30 FORIIATI | . t3lF7.2t2XlrF6.3t2Xtfl.Zl
GO TO 50
{0 sToP
END
r38 4
j
139
Za ulazne podatke Naredba (6.?.2) pi5e se u programu pre prve lzvrEne naredbe pro-
A B grama.
13,20 -?,50
6, l8 ?, 50 Primer
4,37 -6,0?
ll,8? -3,60 Sastaviti potprogram za numeridko izracunavanje odredjenog integra-
izlazni rezultati se dobijaju u obliku tabele la po Simpsonovom obrascu
XY R TETA b
RAOIJANA STEPENI
v = i rt'l a' = | [rt*"t
+4f (xr) +2f(x2)+. ..+4f(xo-t)+f("J] (6. ?. 3)
l8
I 5. ,.7t) 16.22 0n359 20.50
9.72 !3.69 16. ?8 0.953 5a.61
7.48 - l. 70 7.67 -O.22? -l2o8l gde je
12. +O 8.2f ll.gt 0.588 33r59
.h:- b-a (6.?.4)
6. ?. I?",,1: pdprog."-. koj nti d"ugih n
potprograma
an broj podintervala na koji se deli interval integracije
[", U-]. U (6. ?. 3)
VeC je reteno da se kao fiktivni, odnosno odgovarajudi Etvarni, ar_ vrednost apscise x, odredjena je relacijom
gument funkcijskog i opsteg potprograma mote pojeviti ime drugog potpro_
grama. Medjutim, ako u programu 6toji naredba xr =a+ih, i=0,1,...,n (6. ?.5)
FUNtnATrArDt (6. ?. l)
'\'
-c4LL odakle sledi da je
gde ie MAT ime potprogrr. ar A i D imena promenljivih, tada program ze
f(x.) = f(a)
prevodjenje ea FORTRAN-jezlka na maginski jezik ne ra8polare (6. ?. 6)
informa_ f(x") 1161
=
cijom o tome da li je MAT ime potprograma ili lme promenljtve. prema
tome, ava imena potprograma koja se javljaju keo stvarni argurnenti u dru_ Ulazne velidine za potprogram jesu ime potprograma za izradunava-
gim potprogramima moraju biti deklarieana kao takva u programu. nje vrednosti funkcije (x,), granice integracije a i b, kao i broj podinter-
Ovo ae
vr6i poeebnom naredbom vala n. lzlazna veliCina potprograma je vrednost integrala y i broj k koji
u potprogramu dobija sledede vrednosti
EXTERNAL lieta (6.?.2)
l.l1
gram na FORTRAN-jeziku aaetav{en prema algoritmu na el. 6. ?.1 lma
slededi lzgledt
J,o,b,n v k
SUBROUI TNE SlilPSf l FUltrArBrNryrKt
llr2.lll/21
lFti-2t torltrll
l0 K-l
RETURN
ll K.O
H- ( 0-A l/x
SlrOo
S2=0.
X.A+X
lrl =il- l
J.1
DO 12 l.lrill
GO TO lt3rl{lrJ
13 Slr5lrFUN(Xl
J.2
l2 XrX+H
YtlHlTo I r{ FUNI A t +FUN ( I I +4" *Slr2. rS2 I
RETURN
l4 s2rszrFuN(Xl
J.l
GO TO l2
END
I
fax
l-
(6. ?.8)
J1+xz
o
x+h?x
Prematome, funkcija f(x), u ovom s).u6aju, ima oblik
1
r(x) = If;r- (6.?.e)
l L49
il 148
ll
SUER0UTINE VARNI Z (A rN, fl I
DIHENSION A( I I
ii
I SUEROUTIIJE VARNT Z( Arrtr it t Nll.Ntll
DIIIENSION A(3III IOI llrllr lAl I l r-}rlrNt{l
l{RITEI 6r
llRIT€l6r l0t Nrttr lA{lrJI 1J-l I!{t
rr2t4r3Xr{l5l I0 FORIIAT(' tt214r3XrL2I3l
l0 F0RB r(r RETURN
rtil-l) 2Ot3Ot2O ENO
2O DO +0 I-2rN
40 llRITEl6r50t (fltrJtrJ.lrt{l U ovom EluEaju niz (6.8,5) u programu biGe u potprogramu uzet kao
50 FoRttATl. rrllxrtt5l
30 RETURN jednodimenzionalni niz i to u redosledu kolona po kolona niza (6.8. 5). Tako
ENIi
da 6e za razne vrednosti N i M biti definisani elede6i Jednodimenzionalni ni-
tada Ce nizovi u potprogramu imati slededi redosled zovi u potProgramu
A NIZOVT U POTPROGRAI{U
I{IZOVI U POTPROGRA}IU
I ll
rl 11 2 rl 2l
l2 lt L2 3 ll 2t 3t
l3 ll 12 13 + Il 2t 3l r2
l4 lt l2 13 l+ 2 t I I 21
zt ll 2 2 lI 21 3l r2
2L 2 3 LL 2L 3t t2 22 32
2? ll L2 2 4 tL 2L 3t L2 22 32 L3 23
2t 22 I I ll 2l 3l
2t tl t2 13 v 2 LL 21 3T L2 22 t2
2t 22 23 3 3 tL 2L 3t t2 22 32 13 22 3i
24 lt L2 13 1+ 3 + Ll 2t lr tz 22 32 t3 2-7 t1 t+ 2+ 3+
2L 22 23 24
3l ll U potprogramima koji 6e odnose na matriEni ra6un, i nalaze se u bi-
2t
tl blioteci gotovih pqtprograma radunsklh centara, najdesCe 5e matrice treti-
ll t2
2L 22 raju kao jednodimenzionalni nizovi, U ovom sluaaju je vazno uoeiti da Ce
31 32
redosled elemenata matrica u potprogramu biti kolona po kolona matrice,
ll L2 13
zt 22 23 kao jednodimenziorialni niz.
31. 32 33
1l t2 13 14
2L 2; 23 24
31 32 33 34
7. 1. Operaclje poredjenja
aOb (?.1. l)
gde su
a,b - aritmetidki lzrazl,
O - operaclja poredJenja.
Operacija poredjenjau (?. f. l) moZe biti jedna od operacija navede-
nlh u tabeli ?. l. l.
Tabela ?.1- 1.
Operacije poredjenja
U FORTRANU u matematlcl Opis
F:o ledmko
. GT. veCe
.GE. >/ vece lli iednako
. L't'. manle
. L!l^ \< manie lll iednako
. NE. * razliCito
152 16:t
ti iz potencijalno beskonaEnog ekupa veudina, a sama funkcija uzima vred- koja sledi lza naredbe (?.1.5),
nosti iz etcupa - ako je J manje ili jednako 5, preskodlde ae neredba A=B+C i izvr-
lO, ff . tafto, argument j predikata (?. l,3) uzima vredno_
sti iz skr:,pa celih brojeva, a vrednost poredjenja j)b moZe biti istinita lli 6iti naredba koja sledi iza' (1. 1.5).
lazna, a to znadi da uzima jednu od vrednosti, u'rovno oznadenih sa l ili 0. Medjutim, u sluEaJu nar€dbe
(?. 1.6)
j o ?. 1.2.
rF(J.Gr.5' G0 T0 100
Naredba prelaza po vrednosti poredjenja
na naredbu
ako je J veCe od 5, izvr6i6e 8e naredba bezualovnog Preleska
Grananje u programima po vrednosti operacije poredjenja, moZe se
sa obeleZjem 100, a ako je J manje ill jednako 5, pre6i 6e
se na naredbu
izvrEiti pomodu naredbe
koja eledi iza naredbe (?' 1' 6).
IF(p)naredba (?. 1. 4)
gde ie Prlmer
IF - sluZbena red, Zadal je niz brojevaxr, l=1, 2, "' Svaki od brojevd xr nalazi se ne
p - predikat (definisan sa ?.1. l, ), po Jednoj kartici u polju od l. do l0' kolone ea opieom F l0' 5' Odrediti
ko-
naredba - jedna izvrSna FORTRAN-naredba, osim druge naredbe IF brojeva xt ve6e od 25,8'
liko Je od zadatih
po vrednosti poredjenja, ili DO_naredbe.
Algoritam za re5evanje ovog zadatka je prikazan na sI' ?' l' l'
Naredba (7. 1.4) izvrSava se razlidito u zavisnosti od vrednosti pre_ Program saetavljen po algoritmu na 8l' ?' 1' f ima slededi izgled:
dikata p: N.0
30 REAO(5rlO0rCND.20l X
l) Ako je vrednost predikata p = l, tada se izvrEava naredba zapisa- loo FoRtATlFlo.5t
IFlIrGTo25.El ll-N+l
na desno od zatvorene zagrade u (?.1.4), a zatim mogu nastati dva slu6aja: GO tO 30
20 lRlTEl6r40l r
tC FORKATIT 11rrtf4l
STOP
Et{D
tt{
155
sve sto je receno za nizove u s1udal'u brojnih veuEina vazi i za nizove aa z = x^':' (?.2. 10)
logidkim velidinama. gde simbol A oznedava operaclju konjukcije, I 6ita ge "t I y". U tabell
7.2.2 dala je tabela ietlnltoetl za funkclp (7-2.l0l.
?. 2. 2. Definicije logidkih operacija
Tabela 7.2.2.
Logidke operacije definiEu se nad argumentima koji mogu uzimati x v z=xhy
vrednosti iz skupa od dva erementa
fo, rj . Rezultati.logickih operacija u- 0 0 0
zimaju takodje vrednosti iz istog skupa elemenat" 0 I o
rl . u algebri logike
lo, I {, (,
skup funkcija preko kojih se moze izraziti proizvoljna funkcija algebre ro- I I
gike zove se pun sistem funkcija. pun sistem funkcija grade razlidite funk-
Funkclja dlsjunkcije z Je takva sloZena funkcija algebre loglte, ko-
cije algebre logike. u FoRTRAN-jeziku su izabrane tri funkcije koje 6ine
Ja je laZna aamo ako su oba argumenta x i y, od kojih Je saatavljena,la-
pun eistem funkcija, to su:
Zna. U evtm dnrgim eludajevima ta funkcija je tstlnitE. Ova funkclja ae pl-
- negacija ili ne funkcija, le
- konjukcija ili i funkcija, i z=rYy (7.2.1r)
- disjunkcija ili iU fuakcija. gde almbol V oznadava opbraciju dlejunkclje, i 6ita ge
t'r ili yt'. U tabell
Pomodu ove tri funkcije moZe se izraziti proizvoljna funkcija algeb_ ?. 2. 3 data Je tabela letinltoeti za funkcifu (7.2. lLl.
re logike. Sa druge strane, primena ovih funkcija na_jbliZa je Eirem krugu Tabela ?.2.3.
.ljudi, jer argumente povezuje na na6in koji je vrlo blizak uobidajenom na_ x v z = rVy
dinu razmi6ljanja.
o 0 o
Funkcija negacije z je takva sloZena funkcija koja je istinita ako ar_ o I
gument x nije i6tinit, odnosno laZna ako je argument x istinit. Ova fun- I 0
1 I
kclja se dobija primenom operacije negacije nad jednim argumentom
Deflnlsane trl 1og16ke operacije: Degacija, konjukclja i diejunkclja
z=A e.2.g) predatavljaju logidke operaclje u FORTRAN-jeziku. U tabeli 7.2.4 pfika-
gde povlaka iznad x oznadAva operaciju negacije, i 6ita se "ne x,,. ta_
U zanl su simboll ovlh operaclja u FORTRANU.
beli 7.2. 1 data je definicija funkcije negacije.
x z=x
0 I Tabela ?.2- I
o
15E
159
-3t ?.2.3. tpgtctd tzrez Polje na karticl, koje sadrZi logidku konstantu moZb imati jednu ko-
lonu iU vl5e njih. Medjutim, sa glediSta reg"istrovanja logidke konstante od
fddEkl izraz Je aaetav{en od logickth konstalru. foddkfh promen{l_ znaCaja je samo prva kolona. U prvoj koloni polja rno." ju nalaziti bu6en
vlh sa lndeksom ilI bez njega, r predikata'edju aobom povezanih kod elova T, za konetantu.TRUE., odnosno kod slova F za konstantu .FAL-
logirr.rn
operac$ama. vrednost logtEkog tzraza odredjuJe ee rzvrSavanjem sE. .
logld-
&{h operac{a gleva nadeano, prr rem-u vazi alede6r Ako su promenljive A i B deklarisane
prrorrtet: naJpre ee rz- u programu kao logiike pro-
ra6unava vrednoat predlkata. a zatlm redom logi6klh menljive, tada naredbe
operablJa negactJe,
tonjulctle i na kraJu dreJunkclje. Ako se zeli drugacrjt redoaled u prlortte- REA0l5rl0t ArB
tloa operac{a, to ae moZe poett6l uvodjenjem zagrsda. Deo logtEkog l0 FORiArt2LSt
lzra_
ze replsan rzmedfu otvorene r zatvorene male zagradb rma dodeljuju vrednoeti promenljivim A i B sa jedne kartice, pri demu u kolo-
naJvt6l prrorttet.
Dve logiEke opereraclJe u loglGkom lzrazu mogu bltl nama 1. i 6. mora biti bu5en kod slova T ili F u zavisnosti od toga koja
do Jedna druge,
eqho a.ko Je druga od nJth operac{a negaclJe. konkretna vrednost se Zeli dodeliti promenljvim A i B. sadrzaj ostarih ko-
Prlmer loglIkog lzraza u F0RTRANU lona, od 2. do 4. prvog polja i od ?. do 10. drugog polja, na kartici je bez
B. AND. C. L.3.6 (7,2, t2) znaCaja.
3,f t, r. u.
.
Algoritam za izre.Cunavanje funkcija (7.2. I7l prikazan je na
el.?.2.1,
t@ 163
xl x2 x3 FI F2 F3 Primer
10050 13. l2 F F FF T xt natazi
+0. lo 60.00 F F TT T
F
F
Zadat je niz brojeva x1 , i=1,2,... . Sv'kl od brojeva se
1.50 22,00 F T FF T F na po jednoj kartici u polju od 1. do 10. kolone kartice sa opisom FlO' 5'
{o 80 -1o00 T F FF T T
-12.00 -12c00 T T TT T F Odrediti koliko od zadatih brojeva xi leZi u intervalu [-20; -10] iu [5, 1;
-12100 0.0 F F. Ff T F
8,51 .
Na lsti nadin na koji se obidnim promenJ.jivim dodeljuje brojna vred_ stante dvo8truke taonosti.
nost aritmetidkom naredbom, moZe se i promenljlvoj dvostruke tadnosti Opis (8.3.2) navodi Ee na odgovarajudem rnegtu FORMAT-naredbe.
dodeliti brojna vrednost. U ovom sluEaju aritmetidka naredba irna oblik. Konstanta dvoetruke taEnogti, sa odgovaraju6eg polja kartice, dodeljuje se
brojni, tada 6e medjurezultat ove operacije biti u pokretnom zarezu.. Me_ eti. Obllk (8.3.2) i (8.3.3) ne razlikuju se bitno kada se radi o ner:edbi u-
djutim, eada argumenti aritmetidkogizraza V mogu bitl vehdine u pokret- leza. U oba slu€aja konstenta se ulaza dodeljuje se pronenljivoi u Usti i
nom zarezu obidne i dvostruke ta6nosti i celobrojne velidine. U ovakvim regtstruje se na leti nadln u memor{i raEunara. Obllk (8.3,2) je pogoderr
aritmetidkim izrazirna medjurezultati se javljaju u obliku dvoetruke tadno- za zapla vrlo 'nrlih i velikih brojnih vrednoeti, dok je u evlm drugim slu-
sti, ako je barem jedan argument dvostruke tadnosti, Medjutib, ako arit_ 6ajevlma pogodnije korlgtiti oblik (8.3.3).
meti6ki izraz g ne sadrZi argumente dvostruke tadnostl, tada 6e izraEuna_
8.4. Izdavaaje brojnih vrednogti promenljivih dvostruke ta6nosti
ta vrednoet aritmetidkog izraza biti prevedena u oblik dvostruke tadnoeti i
dodeljena promenljivoj a u (8.3. 1). Za lzdranje brojnih vrednooti promenljivih dvosttruke taEnosti moZe
se kortstlti Jedan od oavedenih oplea (8. 3. 2) iU (8.3.3). Kao I u sluEaju o-
8.3. 2. Naredba ulaza
blEne taEnoetl, opie (8.3.2) je pogodan kada ee radi o vrlo mellm ill vrlo
Kada se promenljivoj dvoetruke tadnosti dodeljuje brojna vrednost vsl{klm brojnim vrednostlma, dok je u svlm drugim slu6ajevioa pogodniji
sa ulaza, tada se u ulaznom slogu mora opisati polje koje sadrZi konsten_ opig (8.3.3). Ovo lz razloga Bto je eksponencijalnl oblik broja nepogodniji
tu dvoetruke ta6nosti, Ovaj opis polja pi6e ee u obliku za Eitoqje nego oblik 8a flk8nlm brojem c€lih i decimalnlh mesta. U sluda-
ju dvoetruke taEnostl ekapoaeacijalnl obUk ge izdaJe sa slovom D umeeto
nDk.d (8. 3. 2)
alova E koJe se korigti za obiduu tadnost,
170
L7L
Prlraer
all =-0,000 00.0 00r ?34 798 7 Program koji za zadat ugao u ra-
dijanima (x), izra6unava ugao Ittl4\'x
IzraEunavenje po formuli (8.3.4) daje vrednostl sluuene funkcije sa
i sin((n/a). x), ima elede6i izgled:
relativnom greEkom
i u RADIJANITIA' rl4Xr'sINUs'/ I
=0, 1, ...,+, zatlm lzraEunava
^ ,, lBllil?lu?]n*,'*'r?Xr'UGA'
x
IOO nelOt5rl00rEND-l0ll
Y=x2 lo0 FoRfrAT(F8.51
Y.SINP{X(xl
aLin=3. rar 5 s26535ae7 et 2 / 4' x'
da bi se u clklueu odredila vrednost polinoma r
HRtfE(612OOl X'ALFAtV
n = br +yfbr +y [u3 +yfta+y 1ur+u.y1;]f (8.3.6)
zoo i6inlii;' lFBo5rF22ol6ro2€''161
G0 T0 300
6to odgovara polinomu 10r sToP
ENT)
R = ar +x2 las +x2[a5 +xz (a7 +xz (ae +a11 xr))]f (8. 3. 7)
Rezultati ee Stampaju u obliku tabele
Po lzlasku iz ciklusa dobijena vrednost R se mnoZl sa x, dime je odredjena SINUS
X UGAO U RADIJANIMA
vrednost aprokelmacionog polinoma (8. 3.4) za detu vrednoet x.
l. oo0u0 o.7853eSl 633974480 o.?071067811865450D 00
FunkciJsld potprogram Bastavljen prema algoritmu ne sI.8.3. I ima -o.4oo0o -0.31415e26515897e2 -o.3090169943749487D O0
0.0 0.0 0.0
slede6i lzgled -0. ?85398 I 63389t5L90-O5
-0.oooot -0.0000078539816340 0. 39716789063477e39 00
0.52000 0.40840?0449666730
t72 1?3
Xr - l-e-reln2x + log(coezx).tgx
til$
ti!fi
lrlJF
tfrff
i lrll
i$
aii 9. ALC,ORITMI SA KOMPLEKSNIM KONSTANTAMA
'il1
r pnbvrnrvr"rrvuvr
ffi
;{
U neklm oblaetlma nau6nih i tehnt6kih izradunavanja javljaju,ee kom-
ff plekene veliEine I operacije sa ovakyim veliElnama. Kako ee aritmetieke
rl operacije ea kompleksnlm velidinama svode ne aritmetidke operacije aa
tw
rtt
a+{l
realnim veliEinanta, pri demu se vodi ra6una o realnom i imaginarnom
$i
{ft delu kompleksne veliEine, to Be ovakve operacije mogu programiiati pomo-
6u naredbi u FORTRAN-jeziku koje operi5u sa realnim veli6inama. Medju-
#
tim, kako jedna aritmetiEka operacija nad kompleksnim argumentima zah-
ffi teva vedi broj aritmetiCkih operacija nad realaim velidinama, to je progra-
ll
llil
miranje aritmetidkih operacija nad komplekenim veliEinama vrlo zaroetan
iii poeao. Tako, ako su z1 i z2 kompleksni brojevi
f{'
'.t.
zr =a+bi (e.l)
r$
z2 =c+di
gde su a, b, c I d realne velidine, a i = 6l- tada je
lj
,t'
j1
zr+zz=(e+c)+(b+d)i
21 - N2= (a - c)+(b - d) i (s.2)
i
I
zr . zz = (ac-bd)+(ad+bc)i
It Zt ac+bd bc-ad
+-i
z2 c2+d2 c2+d2
i
l
l
vldi, aritmeti.dka operacija deljenja kompleksnih veliEina
Kao 6to se
j
l zahteva dve operaciJe stepenovanja, detiri oper&cije mnoZenja i detirl ope-
i
bezadeklarisanjevrstepromen1jivih.Medjutim,l@.
-- - laznom Elogu koristi opls meEovltih konstanti dvoetruke tacnostl. I6to vazi
peracija, ako je jedan argument - .lh operacija dvostruke tadnosti, bide ta-
kodje dvostruke tadnosti.
Sve ovo 6ini tadnijim proradun izveden sa dvostrukom taEno56u od
onog sa obidnom taEnoE6u.
Tabela 9.6.1
&!t! Dlr.nlr Primer
U toftranr Ytau ogrelaanr. Opl l
krb
Crylr) I rl < I?a,57f, , I t,ta.to-5 Zz zadatr vrednost kompleksnog broja z izradunati funkcije
u< a rir<-rac
OEP (.1 n rl<l?{.5t3 -- t,5f,' to-rt :lJ. ].
u < o.3i!?.loro n y,
CE{t) I .t&01 t
["", +Ln(3,6+4, Zi)] lcosz I sinzz
=
h(:l z,oo.ro-5 ,rlrodhl 1o9!rttu
CoG(z) u / 0+01 n s.7!. to- "
Jz =[Re(y,1+I-(y,)] * [n"1y, )-I-(rr)] i
CSF(rl
vt n -tbt <9 x
@80nf, (!) Kvrdratnl lorcn
I rt,lbl(P g 9,8c. lo-'" yr = conj(y2)+3,8-4i
CSrr lr) I rt <0.82t5-loo T l,17. to-'
u obidnoj tadnosti.
-'DSIX (r,
ta(t)
( rl < 0,351t.1O"
rl < lta,5tl
I t, ?t. to-r'
tlgotr*t!ljtt.
l[rlc I t.
CG(tt x rl < 0,8239.106 I l,ur-to-6 Za izra6unavanje u obidnoj tadnoeti FORTRAN-program ima slededi
co. (r l )l <l?4.5t!
CDCga ( t! u il <0,35!t-1016 g
lzgled
s, te. ro-t5
bt d lTa,atr
qS(r) I (.2rr2tt/2 <p t 1.8?.to-6
colrPLex Yl3lrz
I rl - lr+btl ltRlTE(6r51
CNs (r) u (.'+b't'lr < D? E t,32. to-l: 5 F0Rl'lAT(r'r6Xr'ReALNI DFO II'IAGINARNI'r
*. DEor/ I
READI 5r l0 I Z
l0 FoRr'rAT( 2F8"41
Y( I l*CSQRT(CEXP ( Z+1. I {CLOG( ( 3.6r4.21 I I r
*ca8sl c c0s(z tFcsINlz.rLl
yl 2 l=CilpLx( REAL(y{ I I l+AIt{AGl yt I I I r
rREAL I Y( I t l-AIr'lAGl Y( I I I I
yl 3 l=CON.rGt y( 2 t l+( 3. 8r-4.O1
URITE{6'201 Zr (Y(l I'l=l'31
20 FOR||ATl t trtZ ='t2El5.7It ItrYl=trZtL5.Il
*, .r.yZ.r t2El5.7lr I, rY3=r rZeL5.7l
STOP
Tabela 9.6.2 ENO
aa.
- izborom optimalne duzine podataka, i
- vitestnrkim koriscenjem memorijskog prostora,
sta definisana unutrasnjom konvencijom FoRTRAN-je zika vazi u listi ove naredbe. U ovom sluEaju naredba ima oblik
standardna
duZina podataka.
vrstaj! a lista (10. r.5)
Za promenljive u programu dija je vrsta definisana opisnom ,aredl
bom za implicitnu deklaraciju vrste duZina podataka moze biti razlidita gde je
i
ukazuje se u naredbi vrata - sluZbena re6 INTEGER, REAL, COMPLEX ifi LOGICAL,
a - c€o neoznaEen broj koji ukazuje na duZinu promenljivih i e_
IMpLICIT iista (10.1.1) lemenata nizova u listi,
llsta - spisak imena promenljivih i nizova medju sobom razdvojenih
gde je element iiste u obliku ' zarezima.
Tako se moZe pisati
vrsta* s (listar) (10. 1.2)
LOGICAL*T A,OELTA,ALFAI I,O I (10. l. 6)
194 195
5to deklariEe promenljive A, DELTA i r0 elemenata niza ALFA gde su elementi liste imena promerrljivih i nizova, pri demu je njihova du-
kao logid-
ke promenljive duzine l, tj. vrednosti ovih promenljivih bice registrovane zina definisana sa brojem s u (10. 1. 1l), ili su elementi liste oblika (10. 1.
gvaka u po jednom podregistru. 9), pri demu je njihova duZina posebno definisana.
b) Definisanje duZina promenljivih za evaku promenljivu ponaosob. u Tako se moZe pisati
ovom sluEaju naredba ima oblik
INTEGER*2 LI ST,MASA ( , GA}IA*4 (i0. 1.12)
'O '
vrsta lista (10. l. ?)
6to znadi da su promenljiva LISTi b0 eiem6nata niza MASA deklarisani kao
gde je
celobrojne promenljive duZine 2 podregistra, a promenljiva GAMA kao 9e_
vrsta - sluZbena red INTEGER, REAL, COMPLEX ili LOGICAL, lobrojna promenljiva duZine 4 podregistra.
lista - spisak elemeneta medju sobom razdvojenih zarezima.
U odeljku 8.2 uvedena je opisna naredba DOUBLE pRECISION za de_
Elemenat ltste, u (10. 1. ?) lma oblik:
klarisanje realnih promenljivih dvostruke tadnosti. Medjutim, eksplicitna
deklaracija pomodu naredbe
ime*s (10. r.8)
imet s (ltsta, ) (r0. r.9) bna potpuno isti efekat kao naredba
ako se odnosi na niz, gde je
ime - naziv promenljive ili niza, DOUBLE pRECISION tista (10.1.14)
s - duZina promenljive, odnosno elementa niza,
ll8tat - spisak, od najvise ?, celih neoznaCenih brojeva, medju so- gde ee podrazumeva da su liste u naredbi (10. 1.13) i (10.1.14) jednake.
bom razdvojenih zarezima, koji defini5u maksimalne vred_
nosti pojadinih indeksa niza.
10. 2. ViSestruko kori56e mem tora u okviru
Tako se moZe pisati
Progr
collPLEx 8ETA, RaD*1r{ GRAD* 16( lo, l5 | (r0. l. l0) Svakom imenu promenljive ili elementa niza dodeljuje se u memoriji
6to znadi da je promenljiva BETA kompleksna promenljiva obidne tadnosti raEunara fizicko meato u kojem se 6uva vrednost ove promenljive. Kao Sto
a RAD i<ompleksna promenljiva dvostruke taenosti, kao i svih rb0 eleme- emo videli, ovo fizieko mesto moze bi.ti najmnnje jedan podregistar, a naj_
nata dvodimenzionalnog niza GRAD. vi6e 16 r.jih u memoriji radunara. prostor u memoriji potreban za regis-
c) Definisanje dulina promenljivih moZe biti udinjeno i konrbinovanjem trovanje jedne konstante zvademo polje, ViSe polja dine zonu u mem()riji
zajedniEke duZine(a) i pojedinadnih duZina (b). u ovom sludaju raEunara. Prema onome gto smo do sada videli svako polje u memoriji re-
naredba ima
oblik giBtruje vrednost jedne promenljive ili jednog elementa niza. U toku izvr_
Savanja programa iz polja se izdaje registrovana konstanta ili se upisuje, a
vrsta*s Usta (10.1. il) u zavisnosti od mesta odgovarajuce promenljive u naredbi koja se izvriava.
196
197
Tako, ako se ime promenljive nalazi na deenoj stranl znaka jednako_
To znaEi da 6e celobrojnim promenljivtm
sti, u aritmetidkoS naredbi, tada ee vr6i izdavanje vrednosti odgovaraju.e A,BETA i C biti dodeljeno
iato polje u memorijl radunare duZlne 2 podregistra,
promenljive iz memorije, a ako ae ime promenljive a promenljivim JOT
nalazi na revoj strani
jednakoeti vrgi ae upis nove vrednosti u odgovarajude
i G pofje dullne 4 podregistare (l memorijeH regietar),
memorijsko polje. i na kraju promen_
ljivim MASA i DUZINA bi6e dode{eno polje durine dva memorijska
Kako FORTRAN-jezik dozvoljava veliki izbor u imenovanju promen_ registra,
poilto eu to realne promenljive dvostruke
ljivih, to se u toku izrade programa uvode imena promenljivih prema nji_ tacnoati. prema tome, ako se ne
bi koristila opiena naredba EQUMLENCE za
hovom znadenju u problemu koji se re6ava, kao i prema mnemotehnidkim registfovanje promenljivih
A,BETA C, JOT, c, MASA i DUZINA bilo
olakdicame u pilanju programa. Medjutim, vrlo 6esto ovakvo bi angazovano gx2+2x4+2x8 = B0
imenovanje podregietara' Medjutim, upotrebom naredbe
promenljivih dovodi do neracionalnog koribdenja memorijskog prostora. EQ'IVALENCE koristi se i+4+
+8=14 podregistara memorije.
Zato u FORTRAN-jeziku poetoji opisna naredba kojom se moZe zahtevati
Opisna naredbe EQUMLENCE pi6e
da'viEe promenrjivih ili nizova imaju zaJedniEku zonu u memoriji. u nared- se.pre prve izvrlne naredbe pro-
grama lli potprograma, U odnosu na ostale
nom izlaganju upoznaCemo se Ba definisanjem zajedniEke zone u opiene naredbe ove naredba se
memoriJl navodl poele naredbe za deklarisanjevr6te
u okvlru jedne programske jedinice, i dimenzije nizova.
1o.2.2.
lO.2.L. Zajedni6ka polja za promenljive jednakih duZina
ZAf POLJA
c16 Kon2
c8 KOMl
RA R.P 2
R4 RP1
T4 T4
L4 L4
l2 T2
L1 L1
10.2.2
sl. 10.2. I
POL]E
1 2 3 4 516l7l8 ? l10l11 112113 14 1s116
Premtr tome, ako se ZeIe registrovati u polju kompleksne promenlji-
+SADRZAT PoLfA -=
ve dvostruke tadnosti KOM2, realna promenljiva dvostruke tadnosti RP2,
kompleksna promenljiva obidne ta6nosti KOM1, realna prpmenljiva obidne c16
ta6nosti RPl, celobrojne promt:nljive 14 i 12 duZine 4, odnosno 2, i logilke cE co
promenljive L4 i Ll duZine 4, odnosno l, tada Ce opisne naredbe imati sle- Rg RA
de6i izgled R4 R4 e,4 R4
cor,tPl Ex Kor.tl, xo]t2*!6 t4 L4 I4 T4
REAL RP2*8
TNTEGER I2I2 L4 L4 L4 L4
LOGTCAL L4rL l*l
EoUIVALENCF I KOHzr KollLr RP2r RPI r | 4, | 2 tL4 tL|| l2 t2 l2 L2 l2 t2 l2 I2
Promenljive RPI i 14 nisu deklarisane po vrsti i duZini, jer za njih vai,i u- L1 Ll L1 LI L1 L1 L1 L1 Lt lLl lLr lL1 LI LI L1 LI
nutragnja konvencija F.ORIRAN-jezika. U ovom sludaju polje sa raspore-
dom promenljivih prikazano je na sl. 10.2.2. sl. 10. 2.3
Medjutim, u jednom polju vede duZine moZe se registrovati vedi broj nadin prikazan na sl.10.2.3. imaju sledeCi izgled:
promenljivih manje duZine. Na 3I. 10.2.3 prikazano je polje od 16 podregis-
cor.rPLEx KoH2*l6r Konl ( 2)
tara sa mrrgudim registrovanjem promenljivih manje duZine. O:nake na sl. REAL RP2*8(2IIRPI(4I
INTEGER I4(4lrl1*2(81
I O. 2. 3 iste su kao ve6 koriSdene oznake na sl. I 0. 2. l. L0GICAL L4(41'L,rll 16,
Opisne naredbe koje deklariSu kori5denje polja od 16 podregistara rt;t EQUMLENCElKOH2rKolll( I !' RP2( I I rRPII I I r
*I{( I }r Il (1. lrL4( I IrL( ll )
!
I
I
r
200
20t
Na sl. 10. 2.4 prlkazan je raspored promenljivih unutar memorijskog
Pored oblika (l0. z. B) na konkretan element niza mote se ukazati i
polja od 16 podregistara
preko odgovarajuceg elemerda Jednodimenzlonelnog niza (vidi odeljak b. s,
POLJE relac{a 5. 5.6), tj.
1lz 3 4 5 617 a 9 110 11 12 .13 114 15 16
ime(J) (10.2.4)
SADRZAJ eolr-
Koy|2 gde te J ceo neozneCen broj odfedten relacljom (5.5.0).
2 INTEGER J*2II2I
1 5 4 5 6 7 o 9 10 OITTENSION A(IOI
EQUIVALENCETA( l t rc( I lrJ I I )l
saocZa: zoxe
U ovom sludaju raspored elemenata nizova prikazan je na s1. 10.2. ?
A(1) A(2) A(3) a(a) A(s) A(6) A(z) .A(6) A(1o)
^(e) ZONAOD IO REOIS'IARA
B(1) B(2) B(5) B(4) B(s)
c(!,1) z(z,t) 4t.z) *4 1 2 5 4 5 6 7 a 9 ro
sADRiAr zoNE--*-.|
sl. 10.2. 5
A(1) A(2) A(s) A(4) A(s) A (6) A(7) A(8) A(?) A.(1o)
ra nalaziti podatak registrovan prema propisanom nadinu registrovanje od- c(1) C(L) c(3) c(4)
govarajuceg podatka.
(1 h ,F)fJ16. (z)FG r(7F(rc (",
Tako se moZe pisati
coHPLEX Ct 4t
INTEGER J*2( I2 I s1. 10.2.7
DIilENSION A{ IO I
EQUIVALENCE(A'3', CI I IrJ( I I I
Raspored elemenata nizova prikazan je na sl. 10.2.6. Elemernat C( l)
10.3. Vi5estruko kori56enje memorijskog prostora od strane
niza C zauzima dva registra u memoriji, kao kompleksna prgmenljiva obid- @
ne taEnosti. U istom polju registrovani su elementi A(3) i A(4) niza A, odr
nosnoelementiJ(l), J(2), J(g), J(4) nizaJ. Naredba EQUMLENCE omogu6uje viSestruko kori56enje memorij-
skog prostcra u okviru jednog programa ili potprograma. Medjutim, pot-
ZONAOD 10 REGISTARA
programi se vrlo desto koriste lt programiranju, i nije teSko pretpostaviti
1 2 5 4 5 6 7 a 7 lo da se izvestan broj podataka koristi u programu kao i u jednom potprogra-
mu ili u vise potprograma, ili pak da se isti memorijski prostor koristi u -
SADRZAI ..+
vise programskih jedinica. u ovom sludaju treba omoguditi da polje ili zona
A(1) A(5) A(s) A(6) A(7) A (o) A(?) A(10)
^(z) ^(4) u memoriji bude zajednidka za vi5e programskih jedinica' Orakve zone u
c(l) c(2) c(5) c(4) memoriji mogu se definisati na dva nadina, kao
- neimenovane zajednidke zone u memoriji, i kao
a u potprogramu naredba Zajednicka zona u memoriji kao i pojedini njeni delovi mogu dobiti
ime. U ovom BluEaju element liste u (10.3. 1) ima oblik
coMMoN xL, x2, x3, Kl, K2
co'|NoN I zoNAtI Al 5I t8 I lO'/zoNA2/KSI I 5I, JOT 6. Olrisna naredba za definisanje zajednidke zone u jednoj programr
gde elementi nizova A i B 6ine_deo zone u memoriji, koja noer ime zoNAl, skoj jedinici (EQUMLENCE),
a elementi niza KsI I promenljiva Jor cine deo zone u memoriji 6a imenorn ?. Funkcijske naredbe, i
7,oNA2. 8. Izvr5ne naredbe programir.
u istol coMMON-naredbi mogu se nalaziti imenovani i neimenovani
delovi zone u memoriji. Ako se iza imenovanog dela, Zeli navesti neimeno-
rran deo zone, tada se oni razdvajaju sa dve kose crte.
Tako se moZe pisati
' collHoN AtBErAlstr92tB?ltCtD,EtLOl
ovakva zajednicka zona sadrZi neimenovani deo, koji 6ine promenljive A.
C, D i niz t(10), i imenovani deo, koji line promenljive E}1, 82 i 83 ea
lmenom- BETA.
Ako ee nadJe vi6e COMMON-naredbi u jednoj programskoj jedinici
ea n razllEitih lista, tj.
COMMON lista,
COMMON llsta, (10.3.4)
I
I
COMMON listao
l
fi
i
F
2Lo
2lr
- deklariEe vrstu promen{lvih po lmenima promenljlvih,
m*k (11.1.4)
- defini5e duZine promenljivih. gde Je
Pored navedenih funkclja, ova naredba se moZe koristitl
i za dode- m - c€o neoznaden broj koji ukazuje na broj konetantl
sa vredno66u
ljivanje poeetnih vredno6ff promenljivim i nizovima koji k,
se pojavljuju u
listi ove naredbd, .iako, oplta funkcija ove naredbe moZe se k - konetanta koja se ponavlja m
opisati na puta.
slededi nadin
Tako ee mole pleati
vfFte * I llsta (11. l.l) ,, INTEGERi2 JOT/186/TALFA(5, tOt t5O+Ot
gde je REAL ftAsA/_7.2f3/ rBEtA( lOt/5.1.0, 5+2.0/
col{PlEXrl6 DEt TA/ I -1.4D-2 13. 2D4 I
vrsta - slulbena red (REAL, INTEGER, COMPLEX ili LOGICAL), LOGIcAL LoG*I/"TRUE. /,PLus/.FALsE./
I
s - nbobavez4n ceo neoznaden lroj kojt definlse duZinu promen_ Iime ee postiZe eledede dejstvo
ljivih za koje to nije posebno ukazano u listi ove naredbe, - promenljiva Jor i elementl niza ALFA deklariSu se kao celobroj-
lista - spisak elemenata medju sobom razdvojenih zarezima. ne promenlJlve duZine dva podregistra, i promenljlvoj
JOT se do_
Ako se deklari5e ime promenljive u listi, onda je elemenat Uste deljuje podetna vrednogt 186, a evih 50 elemenata niza ALFA
dobi-
jafu potetnu vrednoet nula,
tuE * q/k/ (ll.l.2)
gde je - promenljlva MA'A i elementi niza BETA dekrarrdu se kao rearne
ime - nazlv promenlJtve, promen{ive duZlne 4 podregistara, t promenljivoj MASA
dodeljuJe
- oe pocetna vrednoet - 7zoo, a prvrh pet elemenata nlza
s1 neobavezan ceo neoznaden broj koji deflnlEe duZinu promenljl- BETA do-
ve, blJaJu broJnu vrednoat t, dok elede6ih 5 eremeaata
a vrednost 2,
k - neobavezna konstanta, koja - komplekanoj promenljtvoj dvoetruke tadnoeti DELTA dodeljuje ee
ee dodeljuje kao podetna vrednost
promenljivoj. podetna vrednost -0, 014+32000.i,
- logidkoj promenljlvoj LOG duZine jedan podregietar dodelJuje ee
Ako se deklarile ime niza u listi (ll. I. l), onda je element liste poEetna vrednost . TRUE., a logidkoj promenljtvoj pLUS,
duZine
ime*sz (lista r ) llista2 / (ll. 1.3) 4 podregletra, dodeljuje se vrednost . F-AI^SE.
gde je
ime - naziv niza, )rft' ft.2. Naredba za dodeljlvanje podetnih vrednoeti
s2 - neobavezan ceo neoznaden broj, koji definiie duZinu eleme-
nata niza, DodeljivanJe podetnih vrednosti moZe se izvrBiti i pomodu poeebne
lieta1 - neobavezan spisak, od najvi5e ?, neoznadenih, celih naredbe obllka
brojeva,
medju sobom razdvojenih zarezlma, koji defini5u makeimal_
ne vrednosti indeksa niza, DATA Ueta (11.2. r)
gde je
lista2 - neobavezan episak konetanti, medju sobom razdvojenilr
zare-
zima, koje se dodeljuju kao poEet-ne vrednosti elementima DATA - sluZbena re6,
niza.
libta , epleak elemenata medju sobom razdvojenlh zarezima.
Ako au u lieti2 uzaatopne konstante medju sobom jednake,
tada ele-
ment llste2 moie imati obllk Elementl liete, .u (11.2. l), imaju obltk
rlr
\
li:
ii
212 tl
i 'aa3
Iietal /lieta21 (r1.2.21 skom registnr poetavlil pfolzvo{en btaarnl radrzaj. Makaimalni broj clfa_
gde je
ra koji moze imeti hek.edekadna konstarta zavisi od definieane duzine pro-
Ustal - spisak imena promenljivih sa indeksom
ili bez njega i imena menljive, Kako se duZina promenljtve odredjuje po broju,podregistara
za
nizova medju 6obom razdvojenih zarezima, njeno registtovanje, a jedan podregiatar sadrZi dve heksadekadne
Iista2 - spisak konstanata koje se sleva nadesno cifre, to
dodeljuju promenlji_ je maksimalni broj cifara h"ksadekadne konatante dva puta
vedi od duzine
vim i elementima nizova navedenim u listil promenljive kojoj se dobeljuje ova konstanta. Ako j6 broj
, medju sobom cifara heksadekad_
razdvojenih zarezima.
ne konstante ve6i od dozvoljenog,za datu duZinu promenljive,
odbacuju €e
Konstante u listi2 mogu blti celobrojne, realne, heksadekadne cifre e leve strane; ako je pak broj cifara manji, s leve stra_
kompleksne, heksa_
dekadne, 10gi6ke ili alfabetske (literali). ne se dodaju nule. Tako se moZe pisati
Ako je viSe uzastopnih konstanti
jednako, moZe se pisati CoHPLEx CrOrl6
INTEGER*2 OETA,ALFA
m*k (11.2.3) LOGICAL IOG*I
gde je DArA C/ | 3. E "197O. I IDIL6HSREDNJA VREDN0SI/,,
. BEt At I Ag. I , ALFA|ZCLCS| tL}clar'rl
m _ ceo neoznaden broj koji ukazuje na broj ponavljanja
konstante k, dlme ae poettZe slede6e:
- k- konstanta koja se ponavlja.
'Tako se moZe pisati - promenljlvoj C, dtja Je duZlna g, dodeljuje se podetna vrednost li_
teral
LOGICAL t{2I
DI rtil,is I ON Al lO,, C ( 5l 3. 8. 1970
oAr a N/ L 2 / t A / tO+O. I, B,
C f 3, 2t 5*t / t L f .TRuE. r. FALsE. kojl je definiean izmedJu apostrofa,
6ime se postize slede6e dejstvo: "
5 /
- promenljivoj D, 6ija je duZina 16, dodeljuje se kao podetna vred_
- celobrojna promenljiva N dobija brojnu vrednoet 12, noet llteral
- deset elemenata niza A dobijaju vrednost nula,
SNEDNJA VREDNOST,
- promenljiva B dobija vrednost 5,2, apet elemenata niza C dobija_ kojl Je deftnlean opleom 16H,
ju vrednosti l, S, i
- promenrJlvoj BETA, 6lja je duZina 2, dodeljuje se kao podetna vre-
- Iogi6ke promenljive L(l) i L(2) niza L dobijaju vrednosti dno€t llteral
.TnuE
odnosno . FALSE.
.AB
Ako se Zeli proizvoljan sadrZaj postaviti u
memorijski.registar, po_ kojl je definisan lzmedju apostrofa;
godno je koristiti heksadekadne konstante. - promenljivoj ALFA, Eija je duZina 2, dodeljuje se kao podetna vre_
Heksadekadna konstanta pi5e se kao niz dnogt hekeadekadna konstanta
heksadekadnih cifara o,1,2,
3,4,5,6,7,8,9, A, B, C, D, E i F ispred kojih stoji slovo crcs
Z.
Kako binarni k6o heksadekadnih cifara sadrZi koja je definieana podetnim slovomZ, i
detiri binarne cifre, to
znadi da u jednom podregistru sa g 6etija - promenljivoj LOG, Cija je duZlna l, dodeljuje sc kao podetna vred_
mogu da se registruju dve hek_
sadekadne cifre. posto je binarni kod heksadekadnih noet heksadekadna konstanta
cifara potpun ravno_
meran kod, to zna6i da se pomoCu heksadekadnih D3
cifara moie u memorij-
koja je definleana poEetnim elovo
2t4 2t5
nck. d (12.1.1)
gde Je
d) Kompleksna promenljiva
a - vrednoat konatante u ulaznom slogu, a
e) Logt6ka promenljiva Ako ge opla (12.1.3) koriati za opis polja u izl:aznorn slogu, tada on
22L
Koeficijent razmere primenjen na jedan opis u
FoRMAT-naredbi os_
taje u vaznosti i na svim ostallm opisima koji slede vr€dnost promenljive B, nede bitl promenjena, ali 6e oblik dtampanja bitl
iza ovog opisa, Ako ee
ZeIi ukinuti va'noet koeficijenta razmere, treba zapi.sati takav da 6e mantlsa bltl pomnoZena sa 103 , a eksponent umanjen ze 2. lI
opis F, E ili D u
obliku (12. 1.5), (tZ. r.4) iU (12. 1. S) u kojem 6e biti m dfugom lzlaznom slogu raspored polja u slogu je definlsan opislma T.
= 0.
Posebnim opisom moZe se definisati poCetak polja u ulaznom, U odeljku 11.2 videli smo da se podetna vrednost promenljivih moZe
odnos_
no u izlaznom slogu. Ovaj opis se pi6e u obliku postavltl pomo6u heksadekadnih konstanti. Medjutim, hekeadekadna kon-
Tn (12.1.8)
stanta ae moZe na€i i u polju ulaznog ili izlaznog sloga. U ovom sluCaju o-
gde je pisuje se ea
Program saataviti tako da ae moze korlstltl za prolzvoljan broJ ula_ - postav{anjem ea'drZaJa FORMAT-naredbe sa ulaza, i
znlh kartlca. -poatavljanjeeadrZajaFORMAT.naredbekaopodetlevrednostirrlza.
Program na FORTRAN-jeziku ima elededl izgledr
DlHEilStolt A(3t 12.2.1. PoetevUanje eadrZaja FORMAT-naredbe sa ulaza
DATA Al ll l. ALF|. l. f
3OO READIjrl00rENtrriool 2l t.gElA. f ,A l3l t.cAnA.
^l KrI U odeljku 4.8.5 obJa6njeno je da se llteral u FORMAT-naredbi, koja
100 Fo8t|atlllrFg.tl
G0 TO llr2r3lrK
'G0 r0 300 Je prldnrZeoa naredblulaza, zamenjuje aadrZajem odgovarajuceg polja u
I V.X||X+I. ulaznorn elogu. Prema tome, ako je opiena naredba napisana u obllku
{OO llRlTEl6r?O0l AlKl rY
2OO FqRlffllr rlA4r! ' rrEl2.5l j FORMAT('Uteral') (r2'2' r)
60 TO'300
2 l'2tlX+1.5 a lzvr6na naredba ulaza, pomo6u koje ee unoel novl eadrZaj FORMAT-na-
GO r.O 400
redbe
READ (i,J) (t2.2.2)
221 225
tada 6e izvr.nom naredbom (Lz.z.z) brti postav{en Ze ulazne podatke date u tabeli 12. l. l, rezultati se dobijaju, kao i
novr eadrraj naredbe
(I2.2. l) na predvidjenoj duZini izmedju apoetrofa. ranije, u obliku
Na ovaj naEin eadrZaj FORMAT_naredbe moZe se menjati proizvolj_
.= O.1700OE Oz
B€fA 0.6OO0OE Ol
an broj puta
za vreme izvrEavanja programa. Medjutim, ove promene ALFA
ae 6AflA - -0.356O0E Ol
odnose aamo na pisani tekst (Uteral) koji se nalazi ALFA = 0.20000E Ol
izmedju apostrofa.
Tako je ovo pogodan nadin kada ae unoae razlldita objaEnjenja
koja
treba Etampati uz rezultate.
,r.r.
12.2.2.
Uno6enje i izdavanje podatala vrEi se navodjenjen imena promenlji_
vlh, u Usti odgovaraju6ih izvrEnih naredbi, i navodjenjem opiea u listi
SadrZaj FORMAT-naredbe, ukljuduju6i spoljnu otvorenu i
zatvorenu FORMAT-naredbe. pri ovome ae jedna ista informacija o vrsti podataka
zagradu, moZe se postaviti kao vrednost niza sa odgovarajudim navodi dva puta. prvi put je to reEeno preko imena promenljive, a drugi
brojem e_
Iemenata u zavisnoeti oct broja ermbola koje sadrZi put preko opiea polja u ulaznom, odnosno u izlaznom slogu.
FoRMAT-naredba.ova
vrednost moze biti postavljena kao podetna vrednost nlza Postoji mogudnoet da se unoEenje I tzdavar{e podataka
lri dodeljena ele- vrdi lsk{udi_
mentima niza sa ulaza. Naredbom vo preko lmena promenljivih i nizova. Ovo se postiZe naredbom
READ(i, ime)Usta (12.2.3) NAMELIST lleta (r2.3. l)
odnosno gde je
WRITE(i, ime)Usta
, (t2.2.41 NAMELIST - sluZbena red,
gde je liste - epieak elemenata koji se medju sobom ne razdvajaju
ime - naziv niza Cijim elementima je dodeljena vrednost sadrZaja zarezima.
_ FORMAT-naredbe.
Elernenti liete imaju oblik
Primer /ime/lieta, (r2.3.21
gde je
Tako raniji primer na kraju odeljka 12.l.S, mole biti iapiean ime - nazlv koji se eastoji.od jednog do 6est alfanumeridkih sim_
bez
FORMAT-naredbe, i tada program ima slede6l izgled bola, od kojih prvi mora biti slovo,
OIHENSION A{3I,FORUL( 3I,FCRIZI5' Uatal - splsak imena promenljivih i nizova medju sobom razdvoje_
t.iaeiliili
DATA A./.aLFASETAGAMA,
I tFeoit. I nlh zarezima.
_- -]FoRlzl2oHl. rrA4rr . .rEl2.5i
s
226
227
irl gde te .
Ulazni podacl koji se unose pomo6u naredbe (12.3. 1) moraju biti bu-
l
i - ceo neoznaden broJ llt ime celobrojne promenljlve, kojim ee Seni podev od 2. kolone kartice.
i, definlEe nlazno-izlazna jedinica,
i, Naredba (12.3. l) moie se nqlq2ill bilo gde u prograrnu, ali mora bi-
ime - naziv promen{lvlh sadrZanih u lletll u (12.3. Z). tl lspred prve naredbe u kojoj se korrste imena promenljivih iz listel u
fako-ime u (fZ. g.3), odnoeno (12,1, \,-ukazuje na eplsak promeh_ (L2-3.2). Pomocu ove naredbe mogu ae unostiti i izdavati vrerlnosti svih
ljivth t nizova, to znadl da Je ovlm deflnlsana lista urazne. odnosno izlaz_ vrsta promenljivih: celobrojne, meSovite, komplekdne ilt logiike konstan-
ne, naredbe, Opia po{a ulaznog, odnogno Lzlaznog sloga u ovom cludaJu te.
nlje zadat, ali ee zato ulazni, odnoeno lzlazri podaci moraju pisati.u ob[_
ku Prlmer
ime lista2 & EI{D (12. 3.5) Zadate eu dva kompleksna broja Cr i Cz, i l0 elemenata niza A sa
gde je
realnlm konstantama obidne tarnosti, kao i 3 elementa niza L sa Iogidkim
lme - nazlv promenljlvlh eadrZanlh u Uetll u (12. S. 2),
konatantama. IzraCunati C, P i K po formulama
- siisak elemenata medJu sobom razdvojenlh zarezima, i
11sta2
cr
END - gluZbena red, koJa oznaEava kral ulaznlh podataka. c= c,
Elementl llete2 eu oblika l0
P= l-la'
lmeo = I (12. 3.6) I'l
tu K = Lr IrLz ALt
lmeo = llsta3 (r2.3.71 Program na FORTRAN-jeziku ima slededi izgled:
gde je
COIIPLEX CTCTIC2
imep - lme promenllve, koJe mora biti eadrZano u lletll , LOGICALII L(3I,K
k - kongtanta koJa se dodeljuje promen{lvoj sa lmenom imep , OI ON A I IO
'{ENsI
NAI.IEL I ST/ULA '
ZICI,C2,L, AI IZLAZ/CTP TK
lmea - lme niza, koje mora biti eadrtreno u UEtil , R EAo l 5r u_AZ
C-CllC2 '
lieta3 - episak konetand medju sobom razdvojenih zarezima, i<oje se pr1
redom dodefiuju elementima nlza Cije je lme na levoj etrant
0O lO l.lrlO
l0 PrPr11 1 1
/t: \.1,
$
svi podaci koji 6e 6e prenositi ng magnetni disk
ili izdavati aa dis_ ,r,
.;
DEFINE FILE lista ( r3. 1. 1)
gde je
DEFINE FILE _ sluZbena red,
lista - spisak elemenata medju sobom razdvojenih zarezi-
ma.
Elementi u listi (tB. t. l) su oblika
g (s, d, f, p) (13.1.2)
gde je
tt0 231
I - c€o neozna6en broj koJi predatavlja identifikacioni broj grupe, r - ceo neoztreEen broJ ili aritmettckt lzt9;z Elit vrednost ukazuje
8 - c€o neoznalen broj koji definlEe broj elogova u grupi sa iden- na relativan poloZej sloga u grupi sa idertifikacionim brojem g,
tifikacionim brojem g,
d - ceo neoznacen broJ kojt defini6e makeimalnu dutinu sloga u gru.
pi sa identiflkacionim brojem g, 13. 1. 3. Prenos Podataka
f - elovo L, E ili U koje definiFe neEin preno6enJa lli izdavanja po-
dateka, i 13. 1.3.1. UPis Podataka na disk
p - ime celobrojne promenljlve, Cija vrednost definiEe slog na dis-
ku.
Upie podataka iz unutra6nje memorije radunara na disk vr5i se iz-
DuZina sloga d moze se lzraziti broJem podregistara ili brojem re-
vr6nom naredbom
glstara u memoriji Eiji se eadrZaj izdaje na disk ili poatavlja sa di6k; jed-
WRITE (g'r, j) Iieta (13.1.4)
nim elogom obrazovanim za ovakvu komunikaciju.
Slovo L defini6e da se srog za komunikaciju izmedju diska i unutraE-
gde jel
nJememor{e obrazgJe prema F08MAT-naredbi ili bez ove naredbe. Mak-
WRITE - sluZbena re6,
simalna duZlna eloga (d) izraZava se brojem podregistara u memoriji.
g - ceo neoznaden broj ili i-e celobrojne PromenlJive Ciia
Slovo E definiSe da se elog za komunikaciju izmedju diska i unutraS- vrednost predstavlja iderdifikacioni broj grupe,
nje menorije obrazuje prema FORMAT-naredbi. Mahimalna duZina slog'a r - ceo neoznacen broj ili aritmeti6ki izraz tiia vrednost uka-
(.d) lzraZava se brojem znakova. zuj€ na relativan poloZaj eloga u grupi sa idedifikacionim
brojem, g, i
Slovo U definiEe da ee slog zq komunikaoiju izmedju dieka i unutra5- j - neobavezan Parameter, koji ako se navodi mote biti obe-
nJe memorije obrazuje bez upotrebe IORMAT-naredbe. Maksimalna duzi- leZje;edne FoBUaT-naredbe, ili irne jednog nlza' 6iji sa-
na aloga LztaZava ee broJem registara u memoriji. drZaj odgovara sadrZaju jedne FORMAT-naredbe kojom se
defini6u izlazni podacl,
Poele evakog obradanja disku vrednost celobrojne promenljive p bi-
lista - splsak imena promenljivih i nizova, medju sobom razdvo-
va uvedana za jedinicu, Cime ukazuje na slededi slog na disku. jenlh zarezima, 6ije Ce ee vrednosti Prenositi'
Da bl se omogudllo pozicioniranje gleve dlska pre nego 6to dodje do i njihovo prenosenje u unutra6nju memo-
Izdavanje podataka sa diska
izvrdne naredbe uno6enJa ili izdavanja informaciJa ea diska, uvedena je na- rlu re6unara vr6i 8e izvr6nom naredbom
redba
READ (g'r, i, ERR=n) Iieta (13. 1.5)
FIND (g'r) (13.1.3)
gde je 8de je
READ - sluZbena reC,
FIND - sluibena red,
g - ceo neoznecen broj ili ime celobrojne promenljive 6ija
g - ceo neoznaden broj ili celobrojna promenljiva diia vrednost vrednogt predetavlja identiflkacioni broj grupe'
predstavlja identifikacioni broj grupe,
r - ceo neoznaEen broj ili aritmeti6ki izraz dija vrednost uka-
zuje na reletivan p"t"Z.j sloga u grupi ss ldentifikacionim
broJem g,
232
233
;- neobavezan parametar, koji ako se
je jedne FORMAT-nareabe, ili ime navodi mo'e biti obelez_
jednog niza 6iji sadrZaj 30 blRI TE ( 6r 40 I ( 0l J t r J=56t 601
odg.ovara.sadrZaju jedne FORMAT_naredbe
kojom se defini_ 40 F0RilAT( ! rr516l
5u izlazni podaci, 500 STOP
END
n - reobavezan parametar, koji ako se navodi
predstavlja
leZje jedne izvrSne naredbe na koju se vrSi prelazak obe_
u slu_
daju da se otkrije gre5ka na disku za vreme prenogenja
dataka u unutra5nju memoriju radunara, i
po_ Elementi matrice A dine grupu podataka sa identifikacionim brojem
lista - spisak imena promenljivih i nizova, medju sobom 2. Svaka vrsta matrice[ini jedan slog, pa prema lomc grupa je saEinjena
nih zarezima, kojima se dodeljuju brojne vrednostirazdvoje_ od 20 slogova. Svaki slog sadrZi 60 elemenata jedne vr.te matrice. Upis
sa diska.
na disk vrEi se vrsta po vrsta matrice, Sto dini ulnrpno 20 slogova za upis.
Primer Izdavanje sa diska vrsi se u pet slogova, diji su sadrtraJi redom prva, dru-
ga, treCa, detvrta i peta vr6ta. Iz svake vr6te matrict koja se prenese sa
Sastaviti program koji elementu ai,.; matrice dieka u unutragnju memoriju raeunara, Stampa se zadnjil 5 elemenata vrste
od 56. do 60. elementa. Tako ftadlprni dolorment ima slededi izgled
at, al,6o
s6
156 Lrl rto I59 160
?2, Se ai,,eo 256 297 2rA 259 260
356 )r1 tt6 759 360
: i
,,, ',, 456 457 458 +59 +60
516 558 560
15,'s6 a s,'o o
'57 '59
azd, se arri. oo
/ U sludaju da se pri prenoGu podataka sa diska u unutrasniu memori-
dodeljuje brojnu vrednost ju radunara otkrije greSka, tada dolazi do prelaska na naredbu zauetavlja-
nja (ea obeleZjem 500), Eime se prekida dalji rad po Programu.
ar.J = 100i+j (13.1.?)
Naredbi (13.2.1) nije pridrutene opisna FORMAT-naredba, jer ob- koji ima iFto znscenJe kao i neredba ulaza opieana u odeljku 4. r1.2, s tim
lik (13.2.1) pretpo.tavlja prenogenje podataka u internom kodu radunara, 6to i seda ukezuJe na jedinicu magnetne trake. Prema tome, naredbi ( f 3. 2.
tako da FORMAT-naredba nije potrebna. 4) pridrulujq ee FORMAT-naredba 8a obeletjem j.
Pored oblika (f3.2. f) moZe se koristiti i oblik
13.2.2. Oznaka kraja grupe podataka
WRITE (i, ) rista 1t3.2.21
koJi ima isto znaCenje kao i naredba izlaza opisana u odelJku 4. S., s tim Kraj grupe pdataka na magnetnoj traci oznadava se posebnlm zna-
sto 6eda i ukazuje na Jedinicu megnetne trake. prema tome, naredbi (13. kom koji se upisuje naredbom
2
2.) prtdrulute ee FORMAT-ndreilba sa obeleljem j. END FILE g (13.2. s)
trl Fredric stuart: FORTRAN ProgramminS, ilohn Wiley & 8ons, inc' ' PRILOG
New York. 1969,
t2l John Blatt: Introductlon to FORTRAN IV Programming: Using the
Watfor Compiler, Soodyeer Publtehlng cornpany'
Pacific Pell.rdtt, California, 1968'
IBM System/360, FORTRAN IV Language (G30'€b16) ' RAD SA FORTRAN _ PROGRAMIMA
t3l
NA RACUNARU PDP.I1/70
t4l Milan Zotalj: FORTRAN IV, Koordlnecioht odbot' korienika meElna
zs obradu podataka Jugoslavije, 1969'
lsl IBM System/360, FoRTRAN Iv lJtbrery Eubprograms (Cz8-6596-2)
S A D R Z,A J
Strana
l. Uvod 241
2. Opis radunrrskog sistema PDP-ll/70 242
2.1. Tchnidke karakteristike 242
2.2. hoganrski sistem 245
3. Komuitocija korisnika sa sistemom 245
3.1. Podetak rada na terminalu 245
3.2. Kr i rada na terminalu 246
4. Rad na FORTRAN - progamima 247
4.1. ddresa teke 247
4.2. Uno&nje novog prograna 248
4.3. progama
Prevotlenje 249
4.4. programa
Povezivanje 251
4.5. Izwtavanje programa 252
4.6. Obrazovanje komandne teke 252
5. Urealivad tekgta - editor 253
5.1. ReZimi rada editora . 254
5.l.l.Relim unoienja ZS4
5.l.2.ReZim ureilenja 255
5.2. Komande editora 255
5.2.1. Ubacivanje novog telsta ?55
5.2.2.lzbuivan1e teksta 256
5.2.3. hetraZivanje tekrta . 256
5.2.4. Rad sa pokazivadem reda . 2Sj
5.2.5. Unolenje rcvog bloka. 257
5.2.6. fkC nda n cditorom ZSg
240
lal - isrojestoiIo]l
t_, * meiluprostor ili blanko,
CTRL/Cr
C-]RL/ZJ
- ovo su tastaturne komande, kcje se proizvodejednovrem:
eninr pritiskom na tastere CTRL i C, odnosno Z
parumetor - mala kurziv slova, oznadavaju parametre, koje korisnik
definite.i unosi,
TEKST - crna velika slova, oznadavaju tekst, koji korisnik unoci,
uvek u navedenom obliku,
wram(tar - mala kuziv podvudena slova, oznadavaju.parametre, diie
vrednosti rad unar izdaje,
TEKST - velika slova, cnadavaju tekst, kc{i ratrunar izdqie, uvck u
navedcnorn obliku.
- telat podwCen isprekidanom linijom korisnik tipka olt n
no vidi na cltrulu.
242
243
. Ovde su poronetott TEKST, pg.gllg_t_gl i TEKST primeri navedenih oblika Upravljadki orgar
slova.
- asinhronost opcrac{a,
- sistcm prekida,
2. OFIS RACUNARSKOG SISTEMA Pt'P.I T/70 - komunikacioni kanal za vezu izmedu organa sistema (UNIBUS).
ir,
- duZinatrake:731,6m
l:,ll NIBUS ' - brzina kretanja: l,l4 m/sec,
- brzina premotavanja: 3,8 m/sec,
- vrcme polaska i zaustavljanja: 8 msec,
- broj kanala: 9
- gustina: 800 ili 1600 bita/in,
- rer'mak izmotlu blokova: 1,65 cm,
sr. 2.t.t.
- kapacitet 23 MB ili 46 MB,
- brzina prenosa; 36.([0 bajtova/sec, ili 22.000 bajtova/sec.
H H H rEr
interpretatori. Za ratunu PDP-I I /70 je razvijen operativni sistem IAS (Interactive
Applications System), koji omoguduje:
H LflJ
tr tr t-il -
-
sekvencijalnu obradu poslova,
rad u realnom vremenu.
i
tr n tr lll
Na sistemu postoje prevodioci za sledede jezike:
-_ simbolidkijezik,
E tr tr N
FORTRAN IV,
_ FORTRAN IV PLUS, i
- coBoL
tr tr tr E
klao i interpretator za BASIC-jezik.
tr tr tr tr
Svaki korisnik mora, pre rada na sistemu, dobiti Sfre pomodu kojih Ce mu
ol operativni sistem omogueiti rad sa programima sistenra. Ove Sifre korisnik
al odre<luje u dogovoru sa sistem-programerom, koji iste saoptrtsva qerativnom
sistemu. Kada korisnik Zeli da radi na terminalu, mora, po uk[udeqiu terminda u
tr tr @ tr
v)
elektriCno. napajanje, sprovesti odreden dijalog, kre kdi se predstada sistcmu.
Ovaj dijalog ima slededi izglsd;
E tr tr tr
CTRL/C
I.AS PROGRAM DEVEIJOPMEMSYSTEM VERSI0N 2I}
tr tr tr E
weme daUm
PDS>IJOGIN
tr tr tr tr
USER NAME? karktnik
PASSWORD? .rrf_a
USER kortnik I TTOI:
tr tr tr tr
WC [tutalos JOB-ID 12 sarc ettu!4
tr
tr E EJ
l-El poCetsk novog reda).
znaiinja:
U navedcnqrr d$dogu porukc korisnike imaju slcdcCc
@ rH koisttik
gtlra
-
-
nisks simbola odrodena u dogovoru se{stem?rogrilrl.
erqm,
niska simbolr odrollena u dqovoru sa sisbmarogrun,
r
crorn, pri t[kanju ne vidi na ekruru,
246 247
weme
doum
- 6as minut i sekund tekudeg vremena, Primcr
latabt
- dan, mesec i godina tekudeg dana.
. Tako, ako korisnik, DRAGAN, zavr5i r.ad sa terminalom moZe se dobiti
- identifikacioni kod korisirika. sledcdi bve5taj:
Posle zavrietka dijaloga, korisnik, na poruku sistema PDS, moze zahtevati: PDS > LOGOUT
- uno*nje novog programa, USERDRAGAN UIC[20l,tm] TT0l: JoB-rD il t7:38:00 26_FEB_79
- rad sa editorom radi ispravki u programu,
CONECT TIME 08 M SYSTEM UTILIZATION I MCTS
- prevotlenje progt:rma,
- povezivanje progama, ili BYE
- iarriavanje programa.
himer
4. RAD SA FORTRAN-PROGRAMIMA
Neka korimik Cije u
Sifre, ranije ved saopstcnc operativnom sistcmu,
.ill DRAGAN i 1951, teli da radi na terminalu. Tada korimik vodi slededi dijalog: 4.1. Adresa teke
'tt:
:
GTRL/C
Teka !t
opranizovan skup infomracr.ia, koji se duva u memorijskor.
medijumu. Ako teka sadrZi podatke zove se datoreka, a ako sadrii progr:rm zove se
,lift programoteka. Na istan memorijskom medijumu moie se nalaziti vi5e teka.
IAS PR,OCRAM DEI/TIOPMENT SIISTEM VERSION 2.0
r,;i' Informacija po kojoj se pronalazi memor{ski medijum, na kome se nalazi teka,
17:29:56 26-FEB-79 kao i teka na medijumu zwe se adresa teke. Op5ti oblik adrese teke je
TDS>IOGIN
T,SERNA"IIIE? DRAGAN
-- furetloi:l[katatoglimeI sadr|aj)f:verziial
PASSWORD? l$l
' ueu - ukazuje na vrstu memorijskog uredaja, i to tako da
TSERDRAGAN ttlC[201,1001 TTOI: JOB-ID 12 l?:30:fi) 26-FEB=7e prva dva slova dznadavaju vntu uredaja, abroj iza
slova..ukazuje na uredaj iz date vrste. Tako, pored
tDs> ostalih, postoje sli:dedi uretlaji:
MM - magretna traka,
RK magnetni disk,
-
32. Knjtadanatcrmiaah SY sistemski uredaj (disk),
-
Kada korisnik Zcli da zavrli rad na terminalu, na poruku sistema PDS, LP - StampaC,
.
odgovara sa Loc'our' q' lcotalog - t9- t dva-oktalna broja, razdvojena zarezima, koji se
pitu izmetlu uglastih zagrada i moraju biti iz inte;da
pDs > u)"our I I ,377 | . Ovo je idenrifikacioni kod korisnika.
posle Ccga sistem izdajo zavrlmr ponrku u obliku: ine - do dcvet simbola, koji mogu biti slova ili cifre, stim da
prvi simbol mora biti slovo. Ovo je ime teke.
USER /gonsai& lJlC I kttabr ITTOI: JOB-ID 12 ware datton sdrrsi - ukazuje na sadrZaj teke, i to
FTN, - FORTRAN-program,
CDNECTTIME 4 M SYSIEMUTILIZATIONzT MCTS
LST ,- izveSt{ (listing) o programu,
BYE
OBJ - preveden program,
fdo *.f i n odgovuajuCt yrcmcna. OLB - biblioteka,
TSK - ia,r&ri program,
trd ovalcvog zrvrlct&.a radl, mdc i. sistem prckinuti
tcrmindq ako korirnik odrcdcno urmo (nr primer
opdulfuurt CMD - komurdna teka
l0 minuta) ne saopiti nikrhnr
pondru prcko tlrte0n. U oqn slu0{u sirtcm jwljr ponrku.
DAT - datoteka.
tunila - olilalni broj iz intervala [ 1,77777 ] , koji defini&
TIIrIEOtn verziju tcke. Ako se ne navede podrazumeva se vezija
Ldrfczrrlnu ponrku i pruklde oprlulivrnJc torminrh" sa najvcdim brojem.
248
J49
Primcr2 /MAP[:reAn2 l
Komande
Kvalifikator TASK formira khh d izvr5nog programa, diji je opis sadrZaja TSK;
fDS> FORTRAN ako sc ne navede, tada se formira teka sa imenom programa, koji se pwezuje i
FILE? POTI.]LAZ qisom sadrtaja TSK.
Kvalifikator MAP formira teha koja sadrii raspored i veze izmedu
ptcvode program POTULAZ.FTN, i formiraju tetcu sa prcvedcnim programom pod programskih jcdinica, sa opison sadrzaja MAP Ako * tekh ne navede tada se
imenorn K)TULAZ.OBJ. izreltaj izdaje na Stampadu.
Primer 3 Pdncr I
Komande Komande
program
'preii na interpretacdu komandi u navedenoj komandnoj teci, diji opis sadrZaja
FED.OBJ, zdaje_zvestaj o povezivanju
lou:t.uj.
zvrSniprogramsarmenomFED.TSK. J - r- '-"sr na Stampadu i formira mora biti CMD.
Primer 3 Primer
Komande Obrazujmo komandnu teku KOM.CMD na slededi nadin:
PDS >CREATE
PDS > LINK
FILE? KOM.CMD
FILE? RAD
povezuju program READY FOR INPUT
RAD.OBJ, i obrazuju izvrsni program
RAD.TSK.
FORTRAN PROGI
4.5.Izvr3avarje programa FORTRAN/LIST FOTI.JLA Z
FONf,RAN MAX
Kada je FORTRAN-I FORTRAN POTITLAZ
radunaru. #*;#;il;;i:"$Tr.[il1?.: povezan moze se izvrriti m
LINK/TASK: ZADATAK
. PROGI. FOTULAZ, MAX POTIZLAZ
PDS ) RUN r.r ,elz RIJN ZADATAK
ili
CTRL/Z
PDS > RIJN tz
FILE? tet@ I EXIT J
Komande
' -s>@KoM
gde se podraatmwa opis sadrzaja CMD. Interpretacijom orih komandi vrSi se
prevodenje programa PROG I , POTULAZ,MAX,POTIZI.AZ, djihovo povezivanje
PDS >RIJN u i
izvrlni program ZADATAK prelazak na izvrgvanje ovako formiranog
programa. Pri prevotlenju programa POTULAZ dobija se i izveltaj o prevodenju.
FILE? ZADATAK
omoguCuju prelazak
na izvrfuvanje programa ZADATAK.TSK.
5. UREDIVAC TET$TA-EDITOR
4.6. Obrazoruje kornmdnc
bke
Program koji omoguduje uroitenje bilo kakvog tekstazovc se uredivaC teksta
. Jedan FORTRAN-orogram
prolazi koz ili editor. Ovaj program se pciva komandcn
wrevanja. Za svaku
testrranju prqgrama
*;,[j*:.iil;.;ffiuje fazu prevottenja, povezivanja i
komande. Merrutim, prt
cesro treba vis p'ta prodi kroz PDS> EDIIT I
navedene faze. Da bi rc
254 255
C PR.OGRAMPROGI.
IPAGE I l
TNTEGERA(40),Y
I
156
257
t INSERT
I}
l[nistta I
Ima isto dejstvo kao komanda LIST, samo ito
A*o je niska navedena, tada ubacuje navedenu nisku kao novi red koji sledi sp izdavanje vrii na itampadu.
iza tekudeg reda. Pokazivad postavlja u red kojije ubaeen.
Ako nislct nije navedena editor.prelazi u reZim uno5enja. [n] L [ocATEf [zrs&a]
Postavlja pokazivad,reda u red, u kojem je
naiten z-ti dogailaj niske, podev
AIDD] nril<a od rcda koji sledi iza tekudeg reda.
Akci niska nije navedena pokazivad reda se postavlja
Navedena niska se dopizuje na kraj tekuCeg reda. Pokazivad reda ostaje u u slededi red.
tekuiem redu. [n] PL [OCATEI[nistul
l*niska . rma istu funkciju kao komanda LocATE, samo sto prcuaarje
teke. r.vs.sJw s'e
rrs broko'e
uruAv..
Ima istu funkciju kao komanda ADD, osim Sto se novi tekudi red i izdaje.
5.2.4. Rd sa pokazivadan reda
R[EfiPE] [nrsea]
N [ExT] [tr ]
Izbacuje tekudi red i na njegovo mesto postavlja navedenu nisku. Pokazivad
reda ostaje u tekudem redu. pokun&, reda u z.ti red u odnosu na tekudi
Postavua
n)O, unazad za n(0,
red, i to unaprcd za
Ako nistca nije navedina, tada se izbaorje tekudi r€d, a pokazivad reda se
nalazi u slede6em redu, u odnosu na izbaden red. Ako n nije navedeno postavtja pokaz iva0 na slededi
red.
KILL TOF
Zatvan ulaznu teku, bri$e izlaznu teku editoh i vrada sistem u pN. Upisujc tekudi btok u teku ipokazivaC postavlja
naprvi red tcke.
I I I 0
kincr
U slededem programu je nrndbon DECODE dodeljena vrednost promenlji- DIMENSTON Y(4)
voj N; ova vEdnost je u intcmun kodu, tako da se moZe koristiti za
izra0unavanja, tto ie ilustrovano mnoZenjem ove vrednosti sa 2, a zatim je rezultat, 70 TYPE IO
naredban ENCODE, transformisan u ASClI.kod. l0 FORMAT('S POCETNE VREDNOSTT:')
ACCEPT 20, I, J. N
C PROGRAM ILUSTRUJE DECODE I ENODE. ?a F0RI{AT (3I8)
DATA X /, 12Y,. / rF ( N. LT.0) SrOP
DECODE(4, lox )N PRINT 50,I, J
FI)RMAT(I4) 60
'O t
FORMAT( /' ZA rcCETNE VREDNOsTti' .t2,',',t2,' DOBUA SE:')
l;=2eN DO30K=l,N+l
F TCODE(4,10,Y) N DOutOL= l3
TYPE20,Y Y(L)
'10 = RAN(1, J)
20 FORMAT (' REZT LTAT JE ' ,iA ;. 30 PRINT 50, Y
$oP 50 FORMAT{ ",4F10.6;
END GOTO 70
END
Lvriavarjem ovog prograrr dobija se izvclt{:
REZTJLTAT
'82468 Izrrbvo!:m wogprogiunamodo se na lturpafu dobiti rlstledi izveltaj:
Ovrj prcdsn ibrtn$r primenu nucdbi DECODE i ENCQDE.
264
265
NOT(rn) 30 FORMAT('M=',06l
Logidka NE-operacija nad velidinan
m uzetom kao binarna red, I ' N='. 06l
IEOR (rz,z) 2 ' IoR(M,N)='. o6l
bgdk" ekskluzivna lll-operacija nad velidinama
3 ' IAI{D (M, N) = ' , 06l
."0i. m i n vzetimkao binarne 4 ' tfor(M) =' , 9,6/
9 *i'' ovim potprogamima argumenti m i n *sr cerobrqine promenljive'i 5 ' IEOR(M,N)=' . 9,6/
elementi celobrojnih nizova du2inJd".poOregirt
a. 6 ' ISI{FT (M, N) = ' . 9,6/
Prograrn sadr2i.ciklus bez blaznog kriterijuma. Korisnik moZe izadi b ciklusa sEcNrF (t
(programa) tipkanjem.CTRl/C, posle Ccga sistem javlja poruku da je zadatak
Argument: i-ceo broj ili celobrojna promenljiva,
privrcmeno iskljrgen ([ASK SUSPENDFD) i dolazi u PDS. Korisnik, ako Zeli da
prckne rad po programu tipka ABORT, r)ime definitivno iskljuduje program,'a Funkcija: Vrednost funkcijskog potPrograma je broj sekundi od ^i - tog
ako Zeli da se vrati u progr.am tipka CONTINUE. trenutka do teku&g vrem€na, pri demu se porod uzima kao vrcdnost 0. Tac-
nost izmerenog vrcnr€na je 0,02 sekunde.
CALLTIME(p)
6.5. Biblioteka potprogrdna drgumentp-ime pronrenljive ili niza,
Funkcija: Tekude vreme kao zbudni podatak u obliku
55.1. LogiCkc jedinie i teke hh:mm:ss
'%9
268
' dobiti slededi rcatltsti na terminalu:
LOGICALTI D(e),T(8) Izvrlavanjem ovog Programa mogu so
Sl = SECNDS (0.)
CALL ASSIGI.i( i.'onruu.nAT' ,9) Sl = 0,4189920Et05
DEFINE FILE I (4,5, U,L) 52 = 0.08
CALL IDATE(I, J, K) l= 2
CALL EXT I
END
LITERATURA.
[]. PDP-II FORTRAN Language Referencc Manual Order No. DEC_.
II *LFLRA-C-D
l2 I . t AS/RSX-I I FORTRAN IV User's Guide Order No. DEC-| r-
-LMFUA-C-D
[3]. tAS EditinS Utilities, Reference Manual Order\o. DEC-I I-OIEUA-A-D
t4l. IAS User's Guide Order No. DEC-II-OIUGA-C-D Digital Eguipment
Corporation, Maynard, Massachusetts 01754
[5]. PDP-I I /70 Procesor Handbook, DEC, 1976.
18
l9
4.2,2. Yrsta prornenljive po unutraSnjoj konvenciji
CENA
R
i)
iii