ATEMATICKI INSTITUT - BEOGRAD Savremena racunska tehnika i pt 8 mena Knjiga 1 , NEDELJKO PAREZANOVIC ALGORITMI 1 PROGRAMSKI JEZIK FORTRAN JV Drugo neiz menjeno izdanje BEOGRAD 1972
Savremena racunska tehnika i . pt 8 mena Knjiga 1
, NEDELJKO PAREZANOVIC
ALGORITMI 1
Knjiga 1 "\~... ""~';:'/. ~""" . . ~ "'0:
./.~ .' .... ~~ :'
'."
...
Savremena raeunska tehnika na1azi sve siru primenu u razliCitim
oblastimaCoveCije de1atnosti. Ovo za sobom pov]aci potrebu
upoznavanja sirokog kruga ]judi sa naCinom rada i mogucnostima
racunara, kao i sa matematickim metodama za resavanje slozenih
zadataka racunara. Za ovo neophodno postojanje odgovarajuce
literature. 1 serija Matema tickog instituta
SAVREMENA RAtUNSKA TEHNIA 1 NJENA PRIMENA
m osnovni zadatak da potrebnom teorijskom i praktiCnom nivou upozna
citaoca sa dostignuCima u ovoi oblasti.
Ova publikacija nije periodicna. Rukopise oprem1jene za stampu
slati adresu: atematicki institut,
11000 Beograd, Knez Mihailova 35,
Redakcioni odbor - Comite de r';daction
Glavni urednik - Redacteur chef: N edeljko Parezanovii Sekretar -
Secretaire: Bosko Jovanovic
C]ano\'i odbora - Membres du comite: Mirko Stojakovii, Slavisa r i
Pavle Pejovii
Tehnicki urednik: Milan (;avcic
~AMPA: SAPARIJA RADIo-LEVIZI RD Batajnicki put 24, telefon
607-073
II INSTITUT - BEOGRAD
NE~LZO PAREZANOVIC
PREDGOVOR
Problem komunikacije izmedju ~oveka i ra~unara, spada u vrl0
aktu
elne probleme danaAnje ra~nske tehnike. problem naj~eA~e
danas
reAava uvodjenjem programskih jezika, koji lako,p.rihvatljivi od
strane
~oveka, kojih mogu~e izvrAiti formalno prevodjenje maAinski
zik. Kako prevodjenje formalizovano, 'to zna~i da moze biti
izvrAeno
od strarie ra~unara. Prema tome, programski jezik mora zadovoljiti
dva
osnovna uslova:
- da t prihvatljiviji za ~oveka,
- da tako definisan da za prevodjenje maAinski jezik moz~
na~i postupak ~ kojeg ovo prevodjenje moze izvrAavati
ra~una~.
od 1954. godine, kada nastali prvi radovi u oblasti
programskih
jezika, do danas definisano nekoliko stotina programskih jezika.
Ne
ki od ovih jezika usavrAavani i danas koriste, mnogi od njih
pripa
daju ttlrtvim jezicima. FORTRAN-jezik pripada prvoj grupi
jezika.
programski jezik razvijen u okviru americke firme IBM. Prva
varijanta 0-
vog jezika pojavi1a 1954. godine, i od tada ovaj jezik usavrAavan,
ta
ko da dartas najviAe koristi cetvrta varijanta, tzv. FORTRAN IV.
Danas
800/0 svih racunara u svetu koristi FORTRAN kao programski
jezik.
U ovoj knjizi izlozeni algoritmi i programski jezik FORTRAN
IV.
Karakteristike ovog izlaganja :
hovog prenoAenja ' racunar. Detaljno obradjene mogu~e
algoritamske
strukture kao i graficki nacin njihovog prikazivanja.
4 N. ParezaDo"i.c!
koje sadrzi jezik.
- Izlozene su op§te vazete de1'inicije FORTRAN-jezika, tamo
gde to bilo potrebno navedene su speci1'i~nosti primene ra~unaru
I
-360/44.
Autor zahvaljuje . Cav~itu tehni~koj opremi materijala, kao
i . Zivkovi6 jezi~koj redakturi teksta.
1.03.1972. god. Beograd u t r
1.
2.
3.
4.
SADRZAJ
PREDGOVOR ......................................... .
5
Sh"ana
3
13
1 ~ 1. A1goritam i algbritamski korak . . • . . . . . . . . . • . .
• . . . . 13 1.2. Algoritamske strukture i njihovo g!k prikazivanje
17 1. 3. Linijske algoritamske strukture. . . . . . . . . . • . . .
. . . . . . 2
1.3.1. Proste linijske strukture ............ ,.. .. .. 20 1. 3. 2.
Razgranate linijske strukture • . . . . • . • . . . • . . .
21
1.4. CiklH!ne algoritamske strukture ....•.............. 24
1.4.1. Konstantne ik!k strukture........... .... 25 1.4.2.
Promenljive cikli~ke strukture ••....•...... 28
1.5. Slozene algoritamske strukture ...... '.' . . . . . . • . . .
. • 31
1. 6. Algoritmi i programiranje , . . . . . . . • . . . . . . • . .
. . . . . . . 34
1.7. UopAte programskim jezicima .•...........•...•• 35
PRETHODNE NAPOMENE FORTRAN JEZIKU ••.....•.. 39
2. 1. i!l pojmovi • . . . • . . . . . • . . • . . . . . . . . . . .
. . . . . . . . . . . 39
2. 2. Na~in pisanja programa....................... .... 41
SIMBOLI FORTRAN JEZIA •..••...................•..
43
47
4.1.1. Celi brojevi . . . . . . . . • . . . . . . . . . . . . . . .
. . . . • . . 48
4.2. Definicija realne prQmenljive. . .•... . .. ... .• ... ..•.
51
4.2.1. Ime promenljiVe .... '" . ...•. .. . ...• .....•. 51
6 . 'arezaaovl ~
4.3.2. Upotreba za,grada ................ '.' . ..... . .. 55
4.4. Dodeljivanje brojne vrednosti promenljivoj. . . . . . . . . .
. . 57
4.4.1. itmtik naredba ......................... 57
4.4.~.1. Opis celih brojeva ....... ; .......... 60
4.4.2.2. Opls IXleAovitih brojeva ............. 61
4.4.2. . Opis praznog polja . ... .... . . . .•.. .. . 63
4.5. lzdavanje n vrednosti promenljive ............... 64
4.5.1. Qpis celih brojeva .. . . . ..... ... . .... . .. . .... .
66
4.5.2. Opis meAovitih brojeva .. " . . . . • . . . . . . . . . . .
. . . 68
4.5.3. Opis praznog l". . . . . . . . . . . . . . . . . . . . . . .
. . . 69
4.6. Proste linijske algoritamske strukture ...............
70
4.6.1. Prekid rada programu i fiziki kraj programa 70
4.6.2. Primeri algoritama sa prostim linijskim struktu- . ....
...... ...... .... .............. ..... 71
4.7. Ra.zgranate linijske algoritamske strukture .............
73
4. 7. 1. U slovni prelazak vrednosti ritmtikg izraza 73
4. 7 . 2. Bezuslovni prelazak .................. '. . . . . . . .
74
4.7. . ! razgranatih linijskih struktu~a •..... ; .. 74
4.8. Dalje mogu~nosti naredbe FORMAT •............... ; ...
78
4.8.1. Ponavljanje jednog l ....... ;.............. 78
4.8.2. Ponavljanje vi§e opisa ......................•. 78
4.8.3 .. Prelazak novi slog ......................•. ' . 79
4.8.4. Veza izmedju opisa i liste ...... . . . . . . . . . . . . .
. . 81
4.8.5. Tekst u FORMAT-naredbi. : ... ;' ............. , . 83
4.9. Elernentarne funkcije . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 86
4.9.2. Logaritarnska funkcija ........................ 88
pritmi I pro'1'8m.t1 je.zit JlN IV 7
Strana
4.9. 5. Trigonometrijske funkcije '" . . . . . . . . . • . . . .
9
4.9.6. Inverzne trigonometrijske funkcije •....•.. ~ 91
4.9.7. i:n funkcije .................•... 92
4. 11. Dalje mogu~nosti haredbe ulaza . . . . . • . . . • . . . . .
. . . . 101
4.11.1. Gk ulazu ...•..................... 101
4. 11. 2. ulaznih podataka ................... 102
4.12. Deklarisanje vrste promenljive .. : .•........•.. '"
102
4.12.1. Eksplicitna deklaracija ............•..•.. 103
4.12.2. Implicitna deklaracija ................... 103
4.13. Tekstuelna nn u programu ............. '" 105
4. 1 . 1. Privremeni prekid rada i poruke operaturu 105
4. 1 . 2. Komental'i u programu • .. .. .. . .. . • . . .. . ..
106
4.14. Primeri .................•...............•..... 106
4.14. 2. Statisti~ki primer ....................... 108
4.14. 3. Izra~unavanje korena transcendentne jedna- cine
......................•.•.......... 110
5. PROMENLJIVE SA INDESIA. - NIZOVI ...........•.•. 113
5.1. Definicija niza ................. ' .............. " .;.
113
5.1.2. Vrsta niza •.... .... .....•.. ...•.. ... .. . . ..
115
5.2.1. Jednodimenzionalni nizovi u listi ulazno-izlaz- nih naredbi
., ..•..•.....•..•... '............ 117
5.2.2. Elementi niza u aritmeti~koj naredbi •....... 119
5. 3. Cikli~ne algoritamske strukture ............. '" • . ..
121
5.3.1. Naredba za opis programskog ciklusa • . . . . . . .
121
5.3.2. Naredba.bez dejstva ....................... 124
5.4. Dvodimenzionalni nizovi .......................... 129
5.4.1. Dvodimenziona1ni nizovi u listi ulazno-izlaz- nih naredbi..
. . . . . . . . . . . . . . . . .. . . . . . . . . . . . .
130
5.4.2. Registrovanje dvcidimenzionalnog niza u moriji racunara i
·veza jednodimenzionalnim nizom ......................... , .. , .
. . . . 133
5.5. ViAedimenzionalni nizovi ....................... 140
5. 6, Redosled elemenata dva niza ili viAe nizova u listi
ulazDo-izlznih naredbi ............. , ... '.' . . . . . .
143
POTPROGRAMl ........ ' ............................. . 1:47
6.3. Funkcijski potprogram ............... , ........ ,. 152
6.4. ! potprogram ........... .... ......... 159
6.4.1. Promenljivi izlaz iz potprograma ... ,.. . . • . 164
6.5. Nacini prenosenja argumenata iz programa u pot- progriime ..
,.................................. 166
6 •. 6. Promenljivi ulazi u potprograme .. , ., ., ........ , .
167
6.7. ImeQa potprograma koji javljaju kao argumenti drugih
potprograma .................. , ..... , . . . . 172
6. 8. Nizovi. kao ·argumenti potprograma ..... , . , . . . . . . .
1 ~6
ALGORITMI SA LOGl~lM KONSTANTAA 1 PROMEN- LJIVIM., .. , ..
,.................................... 185
7.1. Operacije poredjenja •.... , ............. ,....... 185
7.2. Logicke operacije ....... , ............... , ..... ,
188
7.2. 3, Logicki izraz ..... ", .... , .. " .. ,....... 192
7 , 2,4. Dodeljivanje vrednosti logickim promenljivim 192
7.2.4. 1. Dodeljivanje vrednosti ulaza . . . . 192
7.2.4,2. Logicka naredba . , ... ~ .. , .. ,. , . " 193
Strana
7.2.6. Naredba prelaska vrednosti logi~kog izra- za
•....................•............ '" .... 196
ALGORITMI SA REALNIM KONSTANTAMA 1 PROENLJI- VIM DVOSTRUE TACNCSTI
•..•.................. " ...
8. 199
8. 3. Dodeljivanje n vrednosti realnim promenljivim dvostruke
tacnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . •
. . . 202
8.3. 1. Aritmeticka naredba . . . . . . . . . . . . . . . . . . . •
. . . 202
8.3.2. Naredbaulaza ............................ 202
9. 1. Definicija kompleksne konstant . • . . . . . . . . . . • . .
. . . • . 212
9.2. Definicija kompleksne promenljive ................ , 212
9.3. Dodeljivanje vrednosti kompleksnim promenlji'vim .. .
214
9.3.1. Aritmeticka naredba . . . . . . . . . . . . . . . . . . . .
. . . 214
9.3.2. Naredba ulaza .......... " .. . .. . ... . ... . . . .
215
9.5. Kompleksne veli~ine dvostruke ta~nosti ............ ,
218
9.6. Izracunavanje kompleksnih elementarnih funkcija .• , .
220
10. RACIONALNO KORIstENJE UNUTRASNJE MEMORIJE RA- CUNARA ....
,.".".,.,., .. ,." .. " .. ",., .... ",:" 225
10.1, Promenljiva duzina pOdataka " ., ... " ,' ....... ,.,
225
10,2, Visestruko koris~enje memorijskog prostora u okviru jedne
programske jedinice , .... ,.,.,.".,.,...... 229
10,2.1. Zajednicka polja za promenljive jednakih du- zina •.
,.,.,., .. ,.",.,., .. ,., ..... , .. " 230
1 . 2. 2. Zajednicka polja za promenlj ive razI!itih duzina ... ,
......... ,."." ... , .. ,., .. ,', 231
10.2.3. Zajednicka zona za nizove. , .. , '" .' .. , ,. . 234
10
11.
12.
13.
10.3. ViAestruko korii!i6enje memorijskog prostora od stra ..
vii!ie programskih jedinica . . . • . .. ............. 237
10.3.1. Neimenovana zajedni~ka zona u memorij~ .. 237
1 . 3. 2. lna zajedni~ka zona u memoriji .....
DODELJIV ANJE (:N VREDNOSTI PROMENLJIVIM
11.1. Dodeljivanje po~etnih vrednosti promenljivim nared-
239
243
11. 3. Programska jedinica za dodeljivanje etnih vred- nosti zdikim
zonama u memoriji .....•....... 248
OFSTE MOGUCNOSTl UNOSENJA IIZDAVANJA PODATAA
......•.•....•••....•.•..••••••••••...•••. 251
\
12.1.1. Opiti opis ttak ............ ..... 251
12.1.2. Koeficijent razmere .....••...•...•....•. 253
12.1.4. . heksadekadnih brojeva . . • • • • • • . • . . • 255
12.1.5. Opis alfabetskih podataka ...••...•.•.•.•• 255
12.2. Promene FORAT-naredbe za vreme izvrAavanja programa
...........•........•...•..•.•.•....•. 257
12.2.1. Postavljanje sadrzaja FORAT-naredbe ulaza
••••••..........•...•.•.•....•• 257
12.2.2. Postavljanje sadrzaja FORAT-naredbe kao vrednosti niza
••.•.•.•..•••.•....•.. 258
1·2. . UnoAenje i izdavanje podataka njihovom. imenu .• 259
KORffiCENJE SPOLJNIH MEMORIJA 263
13.1. Magnetni disk.................................. 263
13.1.1. Definisanje podataka .•.................. 263
13.1.3. podataka. . . .. . ... . . .. . . .•. ... . .• 265
13.1.3.2. Izdavanje podataka sa diska . . .. 265
13.2. Magnetna traka ... .. . ' ....... 167
lpritai i ror8t1 jezi1: 'R IV 11
• Strana
13.2. 1.2. Izdavanje podataka magnetne trake
....................... 268
13. 2. 2. Oznaka kraja grupe podataka . . . . . . . . . . . .
269
13.2.3. Premotavanje.magnetne trake. .......... 269
13.2.3.2. Vra6anjetrake po~etak grupe 269
L i t r t u r . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 270
1. ALGORITJ 1 NDV 8TRUKTURE
1. 1. Algoritam i algoritamski korak
od algoritmom, u najopMijem smislu ove re~H, podrazumevamo
skup svih pravila formulisanih u cilju rei!iavanja odredjene vrste
problema.
Jasno da svi mi u svakodnevnom !ivotu sre~emo velikim bl"ojem
algoritama. Neke ovih algoritama nesvesno izvri!iavamo, mnoge
njih pamtimo i prema potrebi koristimo. Posebno matematika
obiluje"ve1i
kim brojem algoritama. 8vaka definicija funkcije predstavlja u
stvari algo
ritam za njeno izra~unavanje, za zadate vrednosti argumenata. k
ovako
uopst"enu definiciju algoritama primenimo matemati~ke probleme,
mogli
81.1.1.1
opis ra~nskog procesa, koji primenjen izves
ne brojne podatke dovodi do kona~nih rezultata.
Neka ~kup polaznih podataka l' 2' ••• , ",
i neka zadat algoritam koji ovaj skup podata
ka prevodi u rezultat . ! da 1' i =
= 1'2' ••• , predstavlja ulazne pOdatke za algori
tam broj izlaznu vrednost algoritma. Ne u
laze~i u to kakvim su aritmeti~kim operacijama
vezani ni podaci 1' i = 1, 2, ... , medju
u ci1ju dobijanja broja , ! grafi~ki prikazati algoritam kao
blok
ulazima x(.,i=1, 2, ... ,nii;lazom (l. 1.1. 1) .Izra~unavanje
veli~ine !
sastojati iz niza aritmeti~kih operacija,tako da u toku primene
algoritma
dolazi do medjurezultata l' 2' .•. 'Ym.Drugim re~ima,algoritam u
sui!itini
14 . Pareza.oylt:!
mole rzt,tiniz algoritama A~. i=1, 2, .... , ~iji su izlaziYJ;,
1=1, 2, ... , . U-
1azi u a1goritam , mogu biti:proizvo1jan broj e1emenata skupa 1 Xi
1, i =
=1,2, ... ,n, kaoiskupa {)\I, 1=1,2, .•• ,k, gdejek<p{s1.
1.1.2). Iz-
1az 1z a1goritma .. .. ~ uzeti da i rezu1tat a1goritma , tj.
--- ,-----r- r------- r-f--------- I I
!
---
81. 1.1.2
= • Ako su a1goritmi Ai , i = 1,2, ••• , m dov01jno prosti u smis1u
pot
punog razumevanja algoritma kale da su Ai i = 1,2, •.• , m
koraci
a1goritma . Prema tome, svaki aigoritamski korak ima svoje ulaze i
svoj
iz1az, s tim su u1azi u prvi a1goritam.ski korak 1ent1 iz
skupa
1 = 1,2, ••• ,, dok u sve druge korake mogu u1azu pojav1t1. i
1z1a
zi iz prethodnih koraka. Prema ovome, izg1eda da svaki s1ede~i
ko
rak u a1goritmu sve s10leniji jer pojav1juje sve ve~i broj u1aza.
Medju
tim, u prakti~ ril koraci biraju tako da svaki od njih bude
dov01jno prost, malim'brojem ulaza, izvrAav~jem pojedinih
koraka
sve viAe priblilavamo kona~om rezultatu a1goritma, tako da i
broj
ulaza u a1goritamske korake naj~eA~e smanjuje. Takodje treba imati
u vi
du da rezultat a1goritma i pojedinih a1goritamskih koraka mol~
javiti ve~i broj iz1aznih veli~ina, dok mi radi
prostijegobjalnjenja u
zeli da ! jedna izlazna veli~ za svaki a1goritamski korak.
i a1guritam u ce1ini.
laoritlDi i prop' .... ld jezik FORRN IV 15
Radi ilutracije ovoga smo do sada rekli a1goritmima,
pros1edi
a1goritam izraeuDavanja funkcije
A1goritamski korak neka bude jedna aritmetit!ka operacija (+, -
x).Onda,
izrat!unavanje vrednoti funkcije (1.1'.1), za date vrednoti
argumenata I '
~
81. 1.1.3
i = 1,2, , 4, 5, o~e rait!laniti na slede~e operacije:
1 = 1 + 2
(1.1.2)
= " •• 1
Niz operacija (1.1. 2) mo~e se grafit!ki"prikazati, .0 ut!injeno na
slici
1.1.3.
U ovom primeru algoritamski korak bio jedna od aritmetil!kih
racija, i za svakog ko poznaje aritmetit!ke operacije sabira"nja,
oduzimanja
16
i m.nozenja. a1goritam 1. 1.1. 3~ za izra~navanje funkcije .
dov01j
jasno napisan. IzvrAavanjem pojedinih a1~oritamskih koraka. u
s1u
caju aritmetickih operacija. 1eva desno (1. 1.1.3) d01azimo do
vred
nosti funkcije . Medjutim. ako ne bi poznava1i kako izvode pojedine
ritmeticke operacije a1goritam na 1. 1.1.3 ne bi ja~no zapisan. jer
ga
prakticno ne bi mog1i koristiti. Tako. .za trenutak zamis1imo da ne
zna
operaciju sabiranja viAecifrenih brojeva, 6 sabiranje
jednocifre
.ih dekadnih brojeva, onda potrebno opisati a1goritam sabiranja
viAecif
.nih dekadnih brojeva. Zaistami znamo napamet· zbir dva
jednocifrena de
kadna , medjutim zbir dva viAecifrena ne znamo napamet. a1i
znamo a1goritam kojem d01azf do rezultata. koriste6i cinjenicu
da
znamo zbir dva jednocifrena . Neka treba sabrati trocifreni
dekadni
ciframa ~ 1 i trocifreni ciframa Y~ 2 1 ' Rezu1-
tat sabiranja moze biti cetvorocifreni dekadni z ciframa Z4 zi Z2
Zl'
Imaju6i vidu pretpostavku da poznajemo rezu1tate sabiranja dva
jednocif
rena , to sabiranje brojeva + izvrAili s1ede6i nacin:
Z~ Z2. Z1
z;
gde Pi i ; , i = 1,2,3 1 i1i u
zavisnosti od toga da li zbir odgovara
ju6ih cifara dvocifren ili jednocifren .
Na ! 1. 1.4 prikazan graficki algo-
17
ritam za sabiranje trocifrenih dekadnih brojeva. Na s1:ici
pretpostav1je-
da algoritam izvr§ava OOozgo nadole, dok l. 1.1. pretpo
stavili da algoritamski koraci s1ede jedan za drugim sleva nadesno.
Vai-
uo~iti ~injenicu da uvek mor.amo znati koji prvi korak, kao i
koji
slede6i korak ! izvrsavanju a1goritma.· Ako uvedemo vremena u
izvr§avanja a1goritma, nd ~ vremenski trenutak za izvrAa
vanje prvog a1goritamskog koraka oznal:iti 8 t 1 za ostale
a1goritamske
korake redom t a ' t a ' ••• , t l1i (81. 1. 1.2), gde , t 1 <
t2 , t a < t ' •.•• t.n..l<t.n. Na sli~an ~in mogu uvesti
diskretna vremen~ 1:1 , t z ' •••. , za a1gorit
81. 1.1. i l. 1.1.4. UopAte uzevAi t 1 , t 2 ,.. tm mogu
pretstav
ljati vremenske intervale, koji slede jedan za drugim na vremenskoj
ska1i.
Na osnovu svega re~eno a1goritmima moiemo navesti slede6e
in algoritama:
diskretnim ns intervalima. Svakom l1lgoritamskom kora
ku pripada OOredjen ns interval . vremenskoj skali.
2) DeterminisQost a1goritma. Sl izlaznih velil:ina izral:unatih
u
kom algorita;mskom koraku, jednoznacnp OOredjen ,.1
ulaznih veli~ina u doticnom algoritamskom kl.
) Elementarnost algoritamskog koraka. Zakon dobijanja iz1aznih
licina, ulaznih ve1icina algoritamskog koraka biti
prost i n.
4) Usmerenost algoritma. Za mogu6i skup ulaznih 'velicina u
algoritmu biti definisano Ata treba smatrati rezultatom, 00-
izlaznom velicinom, ;ilgoritma.
5) t algoritma. Sl ulaznih v~i mo~ebiti izabran pod
sl, skupa neograniceno velikim elemenata.
1.2. Algoritamske strukture i graficko prikazivanje
U primerima navecienim u prethodnom ll, predpostavljali
da , pri izvrsavanju algoritrna, algoritarnski koraci izvrAavaju
jedan za
drugim leva desno (sl. 1. 1.2 i l. 1. 1. ), odnosno OOozgo
do1e
(1. 1.1.4). ulaze u algoritamske korake navOOili podatke nad
ko-
18 N. Parezanovic!
jima vr§i obrada u doti~om gitmskm koraku, i,zlazna veli~ina
l rezu1tat a1goritamskog koraka. Ovakvo prikazivanje algoritama
nekada
moze blti pogodno, ako se 'zeli ist'a~i tok podataka pri
izvr§avanju algoritam
skog . Medjutim, ! ~eo uvesti uprav1janja izvr§avanjem
algoritma i u da1jim izlaganjimagrafi~ki prikazivati algoritme u
cilju preg
lednog uvida u redosled algoritamskih koraka pri izvr§avanju
,algoritma. Pod
upravljanjem izvr§avanjem algoritma podrazumeva~emo jednoznacno
defi
nisanje pocetnog koraka, kao i svakog slede6eg koraka, nakon
izvr§enog
jednog algoritamskog koraka. U primerima s1. 1.1.2 i s1. 1.1.3
uprav
ljanje sastojalo u definiciji prvog sa leva a1goritamskog koraka
kaopo
cetnog i susednog desnog slede6eg koraka, dok u primeru 1. 1. 1.
4
! odozgo pocetni, prvi ispod slede6i a1goritamski korak.
Medju
tim, u slede6im primerima dolazi6emo do znatno slozenijih
algoritamskih
struktura i opisani nacin prikazivanja algoritamskih struktura
godan. U 6 6 u pravougaoniku, koji oznacava algoritamski
korak
navoditi kompletnu obradu u d5m koraku, dok ranije navodili
relaciju kojom vezani ulazni podaci, rezultat izlaz
velicina, od sada 6 i rezultat biti pisan unutar algoritamskog
koraka.
Ulaz u al~oritamski korak ukaziva6e iz koga algoritamskog koraka
pre
! upravljanje doticni algoritamski korak izlaz iz algoritamskog
ko
raka ukaziva6e slede6i algoritamski korak.
Da vidimo sada kakve mogu6e obrade, unutar jednog
algoritamskog
koraka. svega moze se izraeunavati vrednost funkcije zada
tih vrednosti argumenata, ovo relacija oblika
= f{x 1 , 2'··. ,xU> (1.2.1)
gde su argumenti 1 ' 2, ••• medjusobom povezani aritmetickim
cijama. Nezavisno promenljive ., i = 1,2, ...• i zavisno
promenljivu
zva6emo zajednickim imenom promenljive, izuzetno ako potrebno
nagla
si6emo da li se ! nezavisnoj zavisnoj promenljivoj. Relacija
(1.2.1)
matematici i treba obja§njavati, napomenimo
da iza oznake 1, i = 1,2, ... , podrazumevamo konkretne
vrednosti kojih dolazimo vrednosti . Znak jednakosti
Aloritmi i programski Jezik FORTRAN IV· 19
(=) konstatuje l:injenicu da brojna vrednost levoj strani jednaka
broj
vrednosti desnoj strani (i obratno). Medjutim, kod praktil:nog
izvr
~avanja algoritama, n kada radi njihovom izvrAavanju
~ cifarskih ral:unara, potrebno osim konstatacije izraziti tok
pOdataka
u ral!unaru. U ovom cilju koristi~emo simbol =;> . Ovaj simbol
~e ozna
l!avati da brojna vrednost levoj strani simbt>la uzima, kao
n
vrednost promenljive desnoj strani ovog simbola. Tako relacija
(1.2.1)
moze napisati u obliku
(1.2.2)
Treba dobro uol:iti razliku izmedju relacije (1.2.1) i (1.2.2).
Relacija'
(1.2.2·) izrazava proces izral!unavanja brojne vrednosti levoj
strani
simbola, zatim pripisivanje izral:unate brojne vrednosti
promenljivoj .
Ovo nam daje mogu~nost da piAemo
(1.2.3)
Ato znal!i da osnovu brojnih vrednosti , i = 1,2, ... , i
prethodne
vrednosti izral!unava nova brojna vrednost za promenljivu .
Za grafil!ko prikazivanje algoritama, koristi~emo graficke
simbole
koji ~e svojim oblikom ukazivati prirodu pojedinih algoritamskih
kora
ka. Nize opisani pojedini graficki simboli:
~ Grafil!ki simbol za algoritamski korak kojem definiAu ulazne
velil!ine algoritma.
~ Graficki simbol za algoritamski korak kojem vrsi obrada.
? Graficki simbol za algoritamski korak u kojem definiAu izlaz- n
velicine algoritma.
20 N. Par.laDoyi~
Grafi~ki s1mbo1i za a1goritamsk.
~ korake u kojima donose odlu- ke daljem toku a1goritma.
ne
~ ne
( i
PrenoAenje upravljanja ta~ku 111.
1. . Linijske a1goritamske strukture
k-aktistika linijskih algoritamskih struktura da pri jed
nom izvrAavanju a1goritma dolazi samo do jednog izvrAavanja svakog
algo
ritamskog·koraka. Prema tome. upravljanje u iiki algoritmima .
0-
karakterisano time se it jednog algoritamskog koraka. upravljanje
ife preneti algoritamski korak koji nije ni jedanput izvrAen.
1. . 1. Proste linijske strukture
Pod prostim linijskim strukturama podrazumeva~emo algoritme
~iji
se koraci sastoje isk1ju~ivo od obrade nad ulaznim podacima, koja
kao re
zultat daje broJni podatak bez dejstva prenoseJ1je upravljanja
slede~i
algoritamski korak. Prema tome, u ovakvim strukturama redosled
algori
tamskih koraka unapred definisan i ne moife biti promenjen u toku
rada
lpritmi i programsld jez1Jt I'ORkN 21
a1goritma. Ov algoritamske struktureredovno sre~u pri
izra~una
vanju aritmeti~kih izraza. Tako ranije navedeni primer izra~avanja
vred
SI. 1.3.1
koja d~ta na 1. 1.3.1.
Veza izmedju dva a1goritamska koraka obrade,
predstavlja bezuslovno prenoAenje uprav1janja
jednog drugi, a1i ovo ni potrebno posebno oz
nal!avati.
lazak jednog a1goritamskog koraka na s1ede~i ne
moze zavisiti od rezu1tata obrade u kojem alg
ritamskom koraku. Medjutim, u rl~!m ra(!unu
vrl0 ~esto tok ra~unanja zavisi od medjurezu1tata
dobijenih u toku ra~llnanja, ili od konkretnih vred
nosti polaznih podataka. U ovakvim algoritmima mora posiojati
algoritam-
korak u kojem donosi odluka toku r1nskg procesa odnosno pre
noAenju upravljanja jedan 11! drugi algoritamski kor~k.
Najelementarni
razgranata linijska struktura dobija komponovanjem tri proste
1inijske
strukture 1 , 2 i (l. 1. . 2). Struktura 1 neka sastoji od
izr.a~u
slede~ih medjurezultata
2 = f2 (X1 ' Xz ····, )
= fm (X1 • 2'···.
(1.3.2)
Funkcija Z ra(!una jednoj od prostih linijskih struktura 2 11i •
u
zavisnosti od istinitos.ti relacije €> . gde simbol @ ozna(!ava
ma koju re-
22 ~. ParezaDovi~
laciju poredjenja i , brojevi i pripadaju
{
Ip 1 (t 1 ,t ' ... , tJ za €) nije ispunjena
z- Ip 2 (t1 ,t2 ' ••• , t k) za €) ispunjena
(1.3.3)
gde argumenti funkcije 911 i '2 mogu biti iz l polazni1;l veli~ina.
jx t },
i = 1,2, ... , ili iz skupa. medjurezultata fYt} i = 1,2, ... , .
Rela.cije €)
izmedju i mogu biti:
1) = , suprotno f
2) < , suprotno ~
3) >, sUPiotno ,
S1. 1.3.2
Algorltmi i pro,ramsld jezlJt FR.R.N ~ 23
Ispitivanje istinitosti nazna~ene relacije izmedju brojeva i .
grafi~ki
ozna~eno rombom. u ~ijoj unutraAnjosti navodi relacija koja
ispituje.
Algoritamski korak u kojem !ile vrAi ispitivanje istinitosti
relacije izmedju
brojeva ima jedan ulaz i dva izlaza. Jedan izlaz prenosi
upravljanje u slu
~aj da navedena relacija ni zadovoljena (ozna~im() ga NE). drugi
iz
laz prenosi upravljanje u slu~aju da relacija zadovoljena
(ozna~avamo ga
DA).
IzvrAavanje algoritama razgranatom strukturom uvek sastoji
od prostih linijskih struktura. Tako l. (1.3.2) nikada
izvrAavaju
strukture 2 i za konkretne vrednosti polaznih podataka, ve6 6
izvri:liti jedna od ovih struktura. slucaju da naznacena relacija
nije ispu
na izvri!li6e struktura l , zatim struktura 2 (l. 1.3.3),
odnosno
ako naznacena relacija ispunjena, izvri!li6e struktura 1 zatim (l.
1. 3.4). Povezivanjem elementarnih razgranatih struktura mogu
do
biti vrl0 slozene razgranate algoritamske strukture.
. Parez.Doyi~
Izral::unati vrednost formul1
Na l. 1. 3. 5 prikazan grafil::ki a1goritam za izral::unavanje
vrednosti .
U navedenom primeru dovoljno ispitati da 1i l< , i l = Xz. k
ni
jedan ovih uslova nije ispunjen znal::i da l > , •
DA
Qrakteristika cildll::kih algoritamskih struktura jeste
viAestr1,1-
ko izvrAavanje jednog algoritamskog koraka 111 viAe njih za razliku
linij
B~ struktura kOO kojih svaki korak j-edanput izvrAava.
Razlikova-
A1.80ntmi i pl'Ogramski jezlJt FRRN .IV 25
6- dva tipa ik!kih struktura:
- konstantne cikli~ke strukture i
- promenljive cikli~ke strukture.
stijem slu~aju sastoji se od dve
proste linijske strukture (l i p~.
izmedju kojih se na1azi us10v za iz-
1azak iz ciklusa, odnosno za nasta
v1janje ciklusa (sl. 1.4.1). Iovde.
kao i kod razgranatih 1inijskih struk
tura, us10v se izrazava odnos'om
dva €> . Re1acija izmedju
brojeva i moz~ biti ispunjena i
li ne; u jednom slu~aju uprav1janje
se predaje algoritamskom koraku van ciklusa, u drugom al~aj
a1gori
tamskom koraku u ciklusu. Uobi~ajeno da cikli~ke algoritamske
stru
kture zovu !! i petlje, us10v za iz1azak iz ciklusa zove !! i
iz1azni
kriterijum. Cikli~ka struktura moze imati i vi!ie iz1aza, u
zavisnosti od
re1acija koje se ispituju u iz1aznom kriterijumu.
1.4.1. K.onstantne ciklicke strukture
Ako u toku izvr!iavanja a1goritma ne do1azi do promena zakona
de u a1goritamskim koracima koji cine cikli~ku strukturu, kazemo da
to
konstantna ciklicka struktura. Iz1azni kriterijum kod konstantnih
ciklickih
struktura naj~e!!~e broj izvr!!enih cik1usa il! pak dostignuta
ta~nost pri
ra~unanju iterativnom postupku. Nave§~emo primer jednog i drugog
iz-
1aznog kriterijuma.
Primer 1
=
v = vz Njutnovoj iter~tivnoj formuli
gde =1= , = , 1,2, ••.. Ovde
izlazni kriterijum broj ponavlja
nja cik1usa u stepenovanja bro
u naAem slu~aju cik1us treba
izvrAiti puta. vrednost
promenljiva od slu~aja do slu~aja,
to bilo nemogu6e algoritam
opisati prostom linijskom struktu
6 bismo za svako razli~ito mo
rali imati posebnu llidjsku struktu
ru. Na l. 1.4.2 prikazan ~ra
fi~ki algoritam za izra~unavanje
n-tog stepena broja .
i = 0,1,2, •.• (1.4. )
gde 6emo uzeti da = z + 1. Proces ra~unanja prekinuti kada
sedostig
ne zadata taooost , tako da
(1.4.4)
Formula (1.4. ) dobija.se kao an slu~aj odredjivanja nule funkcije
f(x)
P9motu Njutnove tangentne metode (l. 1.4. ). Jedna~ina tangente
kroz ta~
ku 1 ima oblik
IJOl'itllif { pro,Ta.'ki Jezi.t FORTlUN IV 27
Ako uzmemo da
{() = 2 - Z (1.4.7)
gde z ~iji kvadratni koren treba odrediti, to iz (1.4.6)
dobija
(1.4.3). Moze pOkazati da izlozeni iterativni postupak
izra~navanja
kyadratnog korena uvek konvergentan. i da
lim ! = v i .....
(1.4.8)
Na l. 1.4.4 prikazan algoritam za izra~unav.:anje kvadratnog
ko
rena. Ovde vazno uo~iti razliku izmedju matematl~ke s.imbo1ike u
itera
tivnoj formuli (1. 4. 3) i one koja koriA6ena 1. 1.4.4.
formuli
(1. 4. 3~ u svakom iterativnom ciklusu dolazi do uvodjenja nove
Qnliv
l ' xz , •.. , kojih moze biti veliki •. t zavisi od brzine
konvergenci
iterativnog postupka. Medjutim. u syakom lterativnom ciklusu
stvarno
pojavljuju dva brojna podatka: rezultat prethodne iteracije·l
rezul
tat iteracije koja ra~una. Pri grafi~kom prikazivanju a1goritma
l.
1.4.4 uzetQ da promenljiva predstavlja rezultat prethodne
iteracije,
.. rezultat iteracije koja ra~una. Ako nije dOBtignuta zadata
ta~nost
dolazi do zamene lzra~unate vrednoBti 1 kao nove pretpostav1jene
vredna
Bti i iterativni proceB naBtavlja.
28 N. ParezaDoyl~
Pri grafickom prikazivanju a1goritama treba teziti za manjim
brojem promenljivih. jer to znaci i angazovanih registara
rije. kada se a1goritam prenosi na e1ektronske racunare.
ik!k a1goritamske strukture kod kojih izlazni kriterijum dos
tignuta tacnost u iterativnom postupku iovu se § i iterativne
ciklicke
strukture. Vazno uociti da se iterativne ciklicke strukture ne mogu
raz
viti u linijsku strukturu. ponavljanja iterativnog ciklusa zavisi
od
p01aznih podataka i razlicit za razlicite vrednosti po1aznih
pOdataka.
red toga. broj ponavljanja iterativnog ciklusa zavisi~e i od zadate
tacnosti
kojom se zeli odrediti trazeno re§enje.
1.4.2. Promenljive cikli~ke strukture
Kod konstantnih ciklickih struktura dolazilo do promene ulaznih
dataka u pojedinl.=! algoritamske korake u ciklusu. zakon obrade u
a1go-
1r'ftmi i ro je'Zik ..N 29
ritamskom koraku ostao nepromenjen za vreme izvr~avanja ciklusa.
Kod
promenljivih cikli~kih struktura, u toku rada ci~usa, dolazi do
promena
zakona obrade u nekom od algoritamskih koraka u okviru ciklusa. Ova
pro
mena moze biti promenljivim koje javljaju u algoritamskom
koraku
ili nad operacijama kojima su one povezane medju sobom.
(1) '----.,....-_ ...
(3)
(4) L.-__ --'
(5) L.-_"""'-__
S1. 1.4.5
Promene u algoritmu u~injene izvr~avanjem samog algoritmk
zva~e
mo modifikacija algoritma. RealizacijaalgO!'itama cifarskim
elektron
sldm ra~unarima dozvoljava njihovu modifikaciju, omogu~je
znatno
kra~e zapisivanje algoritama u memoriji raCunara. Modifikacija
algoritma
znaci mogu~nost obrade n samo polaznih podataka, ve~ i informacija
koje
cine i al algoritam.
. Parezaaovic!
za I = + i . / , i = , 1 ••.• ,. Izracunate. vrednosti funkcije [()
do
deliti promenljivim R1• Na l. 1.4.5 dat grafi~ki prikaz algoritma
za
ovog zadatka. Algoritam sastavljen pet algoritamskih ~oraka.
slici oznacenih sa (1). (2). (). (4) i (5). Algoritamski koraci
(2), ().
(4) i (5) nalaze unutar ik:k strukture. dok korak (1) nalazi
ispred
ciklicke strukture. Korak (1) sluzi za postavljanje pocetne
vrednosti indek
1. tako da u prvom prolazu rezultat algoritamskog koraka (2)
dodelju
promenljivoj Ro• U tre6em algoritamskom koraku proverava
izlazni
kriterijum iz ciklusa, tako da ako izracunata i vrednost funkcije
f(xn) do
lazi do kraja a1goritma. U cetvrti algoritamski korak dolazi ako
izlaz
ni kriterijum ni zadovoljen, i izracunava s1ede6a vrednost
argumenta
funkcije. Ovo izracunavanje sastoji u dodavanju koraka /
prethodnu
vrednost argumenta. Kako prethodna vrednost gunt mora biti
cuvana,to dovoljno imati nu promenljivu ( cija 6 vrednost
tnenjati u toku izvr§avanja algoritma. Peti algoritamski korak
karakte
ristican za promenljive cikli~ke strukture. U koraku dolazi do
indeksa.1. to prakticno znaci dq promene imena promenljive
kojoj
dodeljuje rezultat drugog algoritamskog koraka .. Prema tome,
modifi
kacija algoritma, u slucaju, sastoji u ! mesta gde 6 biti
zapisan rezultat algoritamskog koraka, u memoriji racunara
sva
koj promenljivoj dodeljuje registar u kojem cuva na brojna
vrednost.
Primer 2
(1.4.10)
za zadatu vrednost .-. Algoritam sastaviti tako da moze koristiti
za
koji stepen . Izracunatu vr.ednost li dode1iti promenlji
F. (1.4.1 ) moze napisati u obliku
f(x) = + i 1 + [2 · + ••• + (n_l + . >]} (1.4.11)
koji pogodniji za izracunavanje vrednosti , jer mgu sasta
vljanje ciklicke algoritamske strukture.
Ni l. 1.4.6 dat algoritam za izral!unavarije'vrednosti
polinoma
fQrmuli (1.4. 11). Algoritam pored ulaznih i izlaznih koraka'
s&.dr!i 6 kora
ka od kojih dva pripremna, ostala 4 nalaze u ciklusu .. prva
dva
koraka vrAi postavljanje pol!etne vrednosti za..t i d04eljivanje
brojne
vrednosti nula promenljivoj F. Kada prvi put dodje u tre~i
al~oritamski
korak, ~e F = , tako da ~e izvrAiti operacija dodeljivanja &11
=-F.
(1 )
81. 1.4.6
u st algoritamskom koraku vrAi mno!enje F i postavljanje pro
izvoda kao nove vrednosti promenljive F. Promenoin indeksa! vrAi
difikacija promenljive l redom promenljive an. a n_l , •.. , l, .
Kada
indeks i dostigne vrednost , to znaci da tre~em koraku izvrAeno
doda
vanje i zadnje konstante prethodnoj vrednosti pI'bmen1jive F,
cime
vrednost polinoma izracunata, i ovim algoritam zavrAava.
1.5. Blozene algoritamske strukture
Do sada upoznali elementarnim algoritamskim struktura
: prostim i razgranatim iinijskim strukturama, kao i ,konstantnim i
pro-
32 . ParezaDoyl~
tarnih struktura do1azi do vr10 slozenih i raznovrsnih
a1goritamskih
struktura. Jasno takodje da za reiiavanje istog zadatka moze
sastavi
ti viiie a1goritama raz1i~itim strukturama. Za ovakve a1goritme
kazemo
da 4I;u medjusobom ekviva1entni. Pri prakticnom reiiavanju zadataka
treba
medju ekviva1entnim a1goritmima izabrati onaj koji najefikasnije
dovodi do
rezu1tata. Ovo posepno vazno kada radi primeni racunara u u
izvriiavanja a1goritama. U ovom luu na kona~an izbor a1goritma
moze
uticati angazovanih registara memorije, brzina rada a1goritma,
sloze
nost a1goritamske strukture i sl.
Slozenost a1goritamske strukture naro~ito se uve~ava prisustvom
cik
lickih, posebno promenljivih ciklickih struktura. Dve ciklicke
strukture,
kompoziciji algoritma, mogu slediti jedna iza druge ! mogu
obuhvatiti
jedna drugu. Za viiie ciklicnih struktura koje slede jedna iza
druge kazemo
da cine linijsku kompozicijti cikli~kih struktura. Ako jedna
cik1icka stru
ktura nalazi unutar druge cikli~ke strukture kazemo da se radi
koncentric
kompoziciji cikli~kihstruktura.
Izracunati vrednost po1inoma
f(x) = + {l + [2 + ... + x(a D _1 + ] 1 (1.5.1)
za = + k. , k = 0,1,2, ... , .
Izracunate vrednosti po1inoma dode1iti promen1jivim F 1 ' i = 0,1,
... , m
tako da
i = 0,1, ... , m
Na l. 1. 5. 1. dat a1goritam za izracunavanje vrednosti
p01in()ma,
postupk (1.5.1), za razne vrednosti argumenta. Algoritam se
sasto
! od 10 koraka sa dve ciklicke str.ukture ( 1 i Cz), od kojih jedna
cikli
cka struktura (Cz) na1azi okviru druge ciklicke strukture ( 1).
Prvi a1go
ritamdki korak mni i vr§i postav1janje indeksa!s: A1goritamski
ko-
lgoritmi i pro'1'ams1i jezik RRN IV 33
Sl. 1.5.1.
raci od (2) do (7) odgovaraju ranijem primeru izracunavanja
vrednosti
linm datom sl. 1.4.6. A1goritamski korak (8) predstav1ja u
iz-
1aznog kriterijuma za. iz1azak iz cik1usa l. koraku (9) vri§i se
mn
indeksa ls: 6n argumenta za korak t.x·vri§i se desetom
a1gori
tamskom koraku. m tome, malom cik1usu 2 vri§i se
izr,acunavanje
vrednosti nm n-tog stepena, velikom cik1usu 1 vr§i se mn
argumenta i postavljanje pocetnih vrednosti za odvijanje ciklusa 2
• U algo
ritmu 81. 1.5.1. dolazi do modifikacije u 81ede6im algoritamskim
kora
cima (3), (4) i (7), dolazi do mn imena promenljivim ; . i Fk
pri
svakoj promeni indeksa i odnosno Js., Postavljanje indeksa i u
koraku (2), u
pravilnog odvijanja cik1usa.C2 (izracunavanje vrednosti nm).
zo
se restauracija vrednosti promenliive i.
34 ~. ".rezaDoYlc!
1. 6. Algoritmi i programiranje
Videli lgritm mozemo jednozna~no opisati koriste~i
blok ~. Medjutim, algoritam takodje mogli
sati ako koristili izrazavanjem u obliku pisanog teksta. Tako
ni uzeti primer izra~unavanja funkcije
za 1 .. + i. lIx, i = 0,1, ... , i dodeljivanje izra~unatih
vrednos
ti funkcije «1) promenljivim Rj', i:: 0.1, ••• , moze opisati
l
de~i ~in:
1 korak: Uzeti da i = , i pre~i korak 2,
2 korak: Izra~unati f(xJ = + , i izra<::unatu v:dst dodeliti
promenljivoj R1, zatim pre~i korak 3,
korak: Ako i = zv!i raeunanje, ako i'" pre~i korak 4,
4 korak: Pove~ati vrednost argumenta za fJ.x, i pre~i korak
5,
5 korak: Pove6ati indek8 i za jedan, i korak 2.
Poredjenjem gornjeg algoritma i onog datog 81. 1.4.5.
vidi seda opisa u suMini ista. Medjutim, tekstualni opis
algorita
nije pogodan za slozenije algoritme, jer uo(!ava struktu
ra algoritma, to mogu6nosti u otkrivanju logickih gresaka.
Sa druge strane pri tekstualnom moze do~i do neprecizno
formuli
<::ni, cime unosi ~ u opisivanje algoritma.
Grafi~ko prikazivanje algoritama 6 blok-seme odlikuje
-slede~im in:
1) Omogu~uje 'prikazivanje toka izvrsavanja algoritma, nacin
koji pruza najve6e za otkrivanje logickih gresaka u postavci
algo
"ritma.
2-) Omogu6uje kra~i i ! zapis algoritma, nego pisanim jezi-
kom.
4) algoritama u obliku blok-sema nezavisno
kasnij"g koristenja algoritma.
Zadnja ina posebno znaCajna. jer graficko prikazivanje
algorit
nije orijentisano na prenoAenje algoritma odredjeni raCunar.
0-
mogu6uje da algoritam u obliku blok-Aeme mogU koristiti i ljudi'
koji ne poz.
naju raCunare. Detaljisanje algoritma pri grafikom prikazivanju !
biti
razlicito i zavisi od namene blok-Aeme algoritma. Kada radi
prenoAe
nju algoritma cifarske raCunare. radi u stvari takvoj
detaljizaciji
algoritma, koja 6 omogu6iti jednoznacno prihvatanje alg<?ritma
od strane
raCunara. Ovakav nacin pisanja algoritama zove programiranje,
ovako
zapisan algoritam zva6emo programski algoritam ili program. Prema
tome,
programski algoritam takav zapis aIgoritma koji omogu6uje njegovo
·pre
noAenje cifarske raCunare. Algoritam zapisan.u obliku blok-Aeme ne
ze biti prihva6en od strane ra~unara, detaljizacija algoritma nije
t
go definisana.
Algoritam zapisan preko skupa naredbi racunara prihvatljiv za
ra
cunar, ali ne odgovara l!oveku. Nivo maAinskog jezika za
programiranje
podrazumeva takvu detaljizaciju algoritma da to predstavlja vrlo
mukotrpan
za cove.ka, najva!nije veoma podle!an greAkama. Za pi
sanje programa maAinskom jeziku P9trebno poznavanje
konstruktivnih
osobina racunara, takodje veoma ogranicilo broj ljudi koji
mogli
koristiti raCunar.
Slede6a faza u reAavanju problema komunikac1je izmedju coveka i
ra
cunara' bila uvodjenje simbolicnog programirarija. Simbolicno
programira
nje podrazumeva uvodjenje mnemotehnickih skra6enica za kodove
operacija,
kao i simbolicno pisanje adresa. Svakako da ovakav simbolican jezik
pri
hvatljiviji za coveka nego masinski jezik. Medjutim, i ovaj nacin
programi
an zahteva veliku detaljizaciju, koja nosi sve nedostatke
mai!iinskog jezi
ka, u bl! formi.
Simbolican jezik mora tako definisan da mogu6e sastavitialgo
ritam za formalno prevodjenje maAinski jezik. ovo prevodjenje
jednoznacno to ga mogu6e izvri!iiti pom06u raCunara.
1.7. UopAte programskim jezicima
Je.zik sredstvo za komunikaciju izmedju najmanje dva
korisnika.O
cigledno da jezik biti definisan tako da prihvatljiv za sve
korisni-
36 . ParezalloYi~
ke. Ako posmatra bl komunikacije izmedju coveka i racunara
uzeti u obzir dobre i l strane jednog -i drugog i bazi
togamo
formirati jezik za njihovu komunikaciju. Jezik veoma si
§ i zbog toga prihvatljiv za coveka. Medjutim, pisani ili
govorni
jezik coveka nije dovoljno precizan da prihvatljiv za .
tome. traziti nekakav novi jezik kpji 6 biti prihvatljiv i za
coveka
i za . Jezici koji defip.isani da zadovolje ovaj uslov zovu
prog
ramski jezici. Programski jezik da odgovori slede6im
zahtevima:
1) Da pruzi §to mogu6e ve6i komfor za coveka, pri § l
goritama ,
2) Da omogu6i lako 6 programskog algoritma od §to ve6eg
ljudi, i
3) Da mogu6e formalno prevodjenje programskog jezika
§inski jezik.
Prvi zahtev znaci da programski jezik obezbediti lako izraza
vanje bl koji zeli reAiti 6 . Medjutim, primena
jako Airoka, samim tim i problemi raznovrsni. U takvoj
situaciji definisani programski jezici za pojedine oblasti primene
. Danas najpoznatiji programski jezici:
FORTRAN - naucno-tehnickim problemima (FORmula TRANslating),
ALGOL
COBOL
PL/I
- poslovnoj obradi podataka ( in Orientid Language),
- naucnim, tehnickim i pos1ovnim problemima (Programming Language
1)
Pored ovih jezika postoji desetine programskih jezika. Medju-
tim, od svih ovih jezika najvi§e rasprostranjen FORTRAN. Na skoro
800/0
danaAnjih moze,se koristiti programski jezik FORTRAN.
Drugi navedeni zaht.ey za programski jezik, treba da omogu6i
razme
nu programskih algoritamK, medju strucnjacima koji bave
odgovaraju6im
problemima. ;tome, g,msk1 jezik:mora biti izgradjen
skupu tipografskih simbola, i konstrukcije u jeziku biti lako
shvatl)ive za Ato Airi krug strucnjaka.
AlgoritJni i programsti jezik PORTRAN IV 37
Tre6i zahtev omogu6uje izradu programa. koji 6 obezbediti da
ral:!u
nar vrsi prevodjenje sa programskog na masinski jezik. Ovaj program
se.
zove program za prevodjenje. i kao ulazne podatke dobija
konstrukcije iz
programskog jezika i prevodi ih u skup naredbi u masinskom jeziku.
Kada
program preveden sa programskog masinski jezik, tada moze
njegovo izvrsavanje racunaru~
AlaoritDd .[ ro. ••• . Jezi1: 'ORTRANIV 39
2. PRETHODNE NAPOMENE FORTRAN-JEZIKU
2. 1. OpMi pojmovi
Osnovna, nedeljiva jedinica jezika zove simbol. FOTRAN
tacki jezik, koji definiie nad izabranim skupom simbola. Skup
simbola
izabran tako da odgovara uobicajenim tipografskim simbo1ima. Novi
sim
boli konstruisani od postoje6ih tipografskih simbo1a, njihova
konstruk
cija 1ako shvatljiva za iiri krug strucnjaka raz!icitih
profila.
Simbo1 kao jedinica jezika ne izra:lava niAta drugo, osim ito
predstav-
1 samog .
simbo1a. E1ementarna konstrukcija ima odredjeno znacenje, 11
za
ne egzistira programu. E1ementarne konstrukcije FORTRAN
-jezika
:
- konstante,
- promenljive,
S10zena konstrukcija, FORTRAN jeziku sacinjena od niza simbo-
1 i e1ementarnih konstrukcija. Ona egzistira programu i ima
lrdni
smisao za . S10zene konstrukcije FORTRAN-jeziku :
- naredbe,
Naredbe FORTRAN-jezika se dele : izvrshe i opisne. Izvrsne
nared
odredjuju koja operacija treba da se izvrsi i nad kojim podacima,
pre
tome one predstavljaju akciju koju ra~unar treba da sprovede.
Opisane
naredbe pruzaju sve dodatne informacije potrebne za izvrsne
naredbe, koje
se odnose to kako treba izvrsiti odredjenu akciju, ili daju
informacije '0
programu u celini, sto omogu~uje lakse prevodjenje programa sa
FORTRAN
-jezika masinski jezik.
Pravila kako se nad skupom simbola jezika grade elementarne i
sloze
ne konstrukcije ~ine gramatiku jezika. Prema tome, poznavanjem
gramatike
mozemo re~i svakoj zadatoj konstrukciji u jeziku da li korektna ili
nije,
ne ulaze~i u njeno zna~enje. Sintaksa jezika izu~ava gramati~ki
korektne
konstrukcije i daje mogu~nost formalnog otkrivanja gresaka u
konstrukcija
. Odmah treba uo~iti da sintaksi~ke greske u programtt mogu biti
otkri
vene u programu za prevodjenje, jer su formalne prirode.
Semantika jezika izu~ava zna~enje pojedinih konstrukcija u
jeziku.
Program sastavlja ~ovek, isve konstrukcije FORTRAN-jezika
koje
~ine program, napisane su prema algoritmu sastavljenom za resavanje
od
redjenog problema. Prema tome, semanti~ke greske u programu,
pra
vilu. ne mogu biti formalno otkrivene, jer su to naj~es~e greske u
algoritmu,
samim tim ove greske ne moze otkriti program za provodjenje, ve~
jedino
~ovek.
Pravila kojima se grade pojedine konstrukcije FORTRAN -jezika
lako se pamte, ako se uo~e razlozi za§to su ona uvedena. Zato treba
imati
u vidu slede~e:
1) svaka konstrukcija u FORTRAN-jeziku. mora tako definisana
da se jednozna~no razlikuje od svih ostalih konstrukcija,
2) konstrukcije se moraju tako definisati da se omogu6i sto lakse
nji
hovo prevodjenje ma!Hnski jezik. i
3) konstrukcije moraju biti sto razumljivije za ~oveka.
Pri definisanju svakog programskog jezika mora se voditi
ra~un~
ova tri aspekta jezika. Kako to sprovedeno u FORTRAN-jeziku ~e
izlo
zeno u materijalu koji sledi.
AI~itmi .• programsJd Jezit IV 41
2.2. Nal:in pisanja programa
8ve naredbe FORTRAN -programa prenete kartice da
program unet u ral:unar. Da program za prevodjenje pravilno
pri
hvatao naredbe sa kartica, se postovati sledec5a pravila
busenju
kartica:
1) Od 1. do 5. kolone zakljul:no busi se koji predstavlja
obelezje
naredbe.
2) od 7. do 72. kolone zakljul:no busi se niz simbola koji l:ine
naredbu.
3) k neka naredba sadrzi vise od 66 simbola, odnosno moze
bu§ena jednoj kartici, moze se koristiti ukupno 20 kartica za njeno
§
nje, ali svaka kartica, osim prve, sadrzati znak razlil:it od l
i
blanka 6. koloni.
4) Od 73. do 80. kolone moze se busiti kakav tekst.
Najl:esc5e
to tekst koji sluzi' za id~ntifikaciju programa i za redosled
kartica progra
. 8adrzaj ovih kolona ne uzima u obzir od programa za
prevodjenje.
5) Obja§njenja u programu koja se ne odnose program za
prevodje
nje, vec5 olaksavaju prac5enje programa od strane l:oveka, pisu se
od 2. do
80. kolone, ! u prvoj koloni nala,ziti slovo . Ovakav t~kst
se moze pisati l0 kojem mestu programa, i bez znal:.aja pri
formi
ranju masinskog programa.
pogodno pisati FORTRAN-program u formularima oblika
prikazanog
sl. 2.2.1.
__ .... 1...-----'
Naredbe FQRTRAN-programa l§ odozgo nadole onim redom kako
izvr§avaju u programu. U okviru naredbe moze se nalaziti
proizvoljan
broj simbola blanko. omogu~uje pregledno pisanje naredbe, ne
menja
njeno znacenje.
3. SIMBOLI FORTRAN -JEZIA
- velikih slova engleske azbuke,
- dekadnog brojnog sistema,
3.1. Ve1ika slova engleske azbuke
Velika slova engleske azbuke cine 26 simbola FORTRAN -jezika, i
to
IllDIIFIGIlrlIILllNIIIQIRISIIUIVlwl
XIYIZ
simbole jezika.
Cifre dekadnog brojnog sistema cine 10 simbola FOTRAN-jezika i
to
0111213141516171819
Logicke konstante, koj~ u algebri logike na oznacavaju sim
i 1, u FORTRAN-jeziku pisu
FALSE. 1 . TRUE.
gde konstanta . FALSE. (cita fo:ls, znaci laz) odgovara , •
TURE.
(cita tru:, znaci istina) odgovara 1 u algebri lo,gike.
.4. Znaci aritmetickih operacija
+ 1-1 * I / I ** pri cemu imaju sledece znacenje
+ sabiranje
oduzimanje
* mnozenje
/ delenje
** stepenovanje
Znacl za operacije poredjenja u FORTRAN-jeziku su
.LT. I.LE.I .EQ. '.~. I.. l.dE.
pri cemu imaju s1edece znacenje:
· LT. odgovara simbolu < u matematici (simbol sastavljen od
pr·,
vih slova engleskih reci "Less Than", sto znaci " od"),
· LE. odgovara simbolu , u matematici (sil sastavljen od pr
vih slova engleskih reci "LeS&. than or Equal to", sto
znaci
" il! jednako"),
· EQ. odgovara simbolu ;: u matemat1ci (simbol sastavljen od
pr
vih slova engleske reci "EQual to", sto inaci \ljednako"),
loritJDi i plO'1'a •• 1d jezik , IV 45
· NE. odgov~ra liIimbolu r u matematici (liIimbol liIaliltavljen od
pr
vih slova engleskih rec:!i "Not Equa1 to", 't znac:!i "ni
dna
ko"),
· . odgovara .simbolu > u matematici (simbol sastavljen od
pr
slova engleskih rec:!i "Greater han", t znac:!i "ve6e od"),
· . odgova~a simbolu ~ u matematici (simbol sastavljen od pr
slova engleskih rec:!i "Greater than or 1 to", t znac:!i
"ve6e lli jednako").
Znaci za l~gic:!ke operacije u FOBTRAN-jeziku su
.oR.I.AND.I.NOT.
.OR. logicka "11i" operacija,
· AND. logicka "i" operacija.
· NOT .. logicka l'ne" operacija.
ristiti u FORTRAN-jeziku i to su
( I ) I =1 , 1 . 1 s I 1 '.1 &
gde simbol oznacava medjuprostor lli ank izmedju tipografsldh
il
bola.
Sluzbene reci su engleske reci koje u FORTRAN-jeziku koriste
kao simboli. znaci da te ! mogu pisati u obliku datom u ta
bleli . 1. U tabeli dat oblik pisanja sluzbene reci u
FORRAN-jeziku,
posto znacenje ! ukazuje funkciju simbola u FORTRAN-jeziku to
dat i prevod reci srpskohrvatski jezik radi lakseg koriscenja 'za
ci-
46 N. Parozanovic!
taoce koji ne poznaju engleski jezik. Takdoje u tabeli dat i
izgovor reci,
zapisan u fonetskoj transkripciji.
1. SSIi dodeli asain
. CALL pozovi kol
5. COMPLEX kompleksan k;)mpleks
6. CONTINUE nastavi kantinju:
7. DATA podaci deitct
8. DIMENSION dimenzija dimensan
9. DO izvrsi du:
11. EQVIV ALENCE odgovarajl1ci ikwivalans
12. EXTERNAL spoljasnji iksta:nal
13. FORMAT raspored fQ:mat
15. GO predji gou tu
16. IF ako if
18. LOGICAL logicki lodzikal
19. PAUSE pauza po:z
20. READ citaj ri:d
21. REAL realan rial
22. RETURN povratak rita:n
23. STOP zaustavi stop
24. SUBROUTINE potprogram stu:ti:
25. WRITE pisi rait
AJoritmi i. ro'1'slli .fezi.ll , IV 47
4. ALGORITMI SA REALNIM KONSTANAA 1 PROMENLJIVIM
Svaki racunski proces moze ral!claniti niz formula, kojima
vrsi izracunavanje medjurezultata i konacnih rezultata. Formula u
uo -
bicajenoj matematickoj notaciji sadrzi promenljive i konstp.nte
medjusob -
povezane aritmetickim operacijama. Promenljivim, koje nalaze
na
desnoj strani neke formul~, moraju biti dodeljene brojne vrednosti
pre ra
cunanja toj formuli. Ov promenljive dobijaju brojne vrednosti, pre
cetka rada algoritmu, kao polazne velicine ili su to medjurezultati
izra
unanj prethodnim formulama.
sadrzi promenljive l' 2' " cijebrojne vrednosti moraju biti
poznate
pre izracunavanja velicine . Na desnoj strani formule (4.1)
figurisu i kon
stante 2; , 7 i 4. Izracunavanje formuli (4.1) predstavlja
izracunavanje
vrednosti aritmetickog izraza desno od znaka jednakosti, i
dodeljivanje iz
racunate brojne vrednosti promenljivoj , levoj strani znaka
jednakosti.
Sve opite poznato u matematici i predstavlja"uobicajeni nacin
korii6enja formula od strane iirokog broja ljudi razlicitih
profesija.
U glavi 6 biti izlo!eno kako piiiu formule u FORTRAN-jezi
ku. Imaju6i u vidu ita sadrze formule, to u FORTRAN -jeziku
mora
ju definisati slede6i :
- kako piiu aritmeticki izrazi,
- kako dodeljuju vrednosti promenljivim,
48 . I'are zaaoYll!
- kako izdaju konacni rezultati.
4. 1. Definicija brojne konstante
U FORTRAN-jeziku brojna konstanta ~oze biti broj mesovit
broj. Ova stroga podela konstanti 1 i mesovite us10vljena
nacinom
re~Btrovanja konstanti u memoriji racunara. Celobrojna konstanta
regi
struje kao binarni broj, . mesovita konstanta reg!struje kao
broj
u pokretnom zarezu.
4. 1. 1. CeU brojevl
broj pise kao niz d~kadnih cifara, ispred kojeg moze stajati
znak + za pozitlvan broj, obavezno znak - za negativan broj. Ovako
za
pisana ce1obrojna konstanta mora biti u brojnom interValu [_231,
2'1 -1] •
brojni interval odredjen kapacitetom jednog memorijskog
registra
(1.4. 1. 1.). Registar sadrzi 32 ceUje oznacene, na 1. 4. 1. 1, ,
1, ••• ,
31. 8adrzaj 31 najvece tezine i registruje znak broja. broj
i 1--- ~------
ZW,+
1 LNA-
81.4.1.1.
re gistrovan u ovakvom re g1stru mora biti u intervalu
_231" 1; 231 -1 = 2.147.483.647
lz izlozene defincije za pisanje ceUh brojeva sledi da
- broj ne sadrzl decima1nu tacku, i
- izmedju cifara celog broja ne moze stajati medjuprostor.
(4.1.1)
Primeri
-386
65
2147483647
35.0
49
) Niz dekadnih , ! cemu se l0! i razlomljeni deo raz
dvajaju decimalnom tackom. Ispred ovakvog niza moze stajati znak +
za
zitivne brojeve, stajati znak - za negativne brojeve. Ovako
zapisan
mesovit ro imati jednu cifru, najvise 7 dekadnih .
) Oblik kao pod ) iza kojeg pise slovo . zatim navodi
dvocifreni dekadni . koji predstavlja eksponent 10. vred
nost ovako zapisane konstante jednaka proizvodu brojeva ispred
slova
i stepena 10, sa celobrojnim eksponentom navedenim iza slova
.
111-----1 11--- 5i ----2423-- 11'
SI.4.1.2.
Mesoviti se registruje u memoriji racunara u cu pokretnog
zareza (81.4.1.2.). Ovako regi8trovan inia brojnu vrednost
(4.1.2)
50 . ParelaDoy·ic!
gde eksponent re gistruje 1'>inarni broj.
- 64:1iiX B '63 (4. 1.3)
mantisa registruje u binarno kodiranom heksadekadnom sistemu.
tako da
(4.1.4)
Zamenom (4.1.3) i (4.1.4) u (4.1.2) lako dobija da brojni
inter
val za broj u pokretnom zarezu
' I I .. (1_16-6 ).1663 (4.1.5)
Najmanja vrednost mantise raz1icita od nule jeste 16 -1 , tako da
svi
brojevi mn! apsolutnoj vrednosti od 16-65 u racunaru
registruju
kao nule. Prema tome, broj =1 , mora biti u intervalu
(4.1.6)
(4.1.7)
Mesoviti brojevi, razliciti od nule. zapisani u jednom od
dozvoljenih
ob1ika () i1i () moraju brojnoj vrednosti pripadati dozvoljenom
interva
lu (4.1.7). Brojevi ispod donje granice intervala registruju kao
nule,
brojevi iznad gornje granice ruzku prekoracenje kapac·iteta
registra.
Primeri
0.345
-22.0
) Nedozv01jeni obUci mel:iovitih brojeva
2.000.596
-15.I36
25.
1.876.00
4.2.1. Ime promen1jive
u matematici uobicajel'lo da promenljive oznacavaju jednim
10-
vom azbke .• U FORTRAN -jeziku niz simbola oznacavaju promenljivu.
Ova
kav niz simbola zove ime promenljive. Niz simbola koji in i
pro
menljive mora ispunjavati sledece us10ve:
- prvi simbo1 mora biti veUko s1ovo eng1eske azbuke i11
specijalni
znak ••
- ostaU i mogu biti: veUka s10va eng1eske azbuke. cifre
dekad
nog brojnog sistema specijalni znaci •
- broj simb01a koji in ime promenljive moze biti od 1 do 6.
Primeri
Vrsta promenljive odredjuje prema tome kakva brojna vrednost
moze dodeliti promenljivoj. Svaka promenljiva mora biti definisana
vrs
ti. znaci da promenljiva dobija i1i celobrojne vrednosti ili
meAovite
brojne vrednosti (brojeve u pokretnom zarezu). Ako promenljiva
uzima
mo celobrojne vrednosti zove celobrojna promenljiva. ako uzima
vre
dnosti meAovitih brojeva zove realna promenljiva.
Vrsta promenljive. unutraAnjoj konvenciji FORTRAN-jezika.
defi
nise . sledeci' nacin:
- ako ime promenljive pocinje slovom 1. , . L. ili . to
lobrojna promenljiva.
- ako ime promenljive ne pocinje jednim od navedenih slova. to
re
alna promenljiva.
Svakoj promenljivoj u FORTRAN-programu izvrAenja programa
racunaru. dodeljuje jedan registar u kojem cuvati brojna
vred
nost promenljive. Ako promenljiva celobrojna njena brojna
vrednost
registrovati u odgovarajucem registru kao . Ako promenljiva
realna njena brojna vrednost biti registrovana kao u pokretnom
za-
rezu.
irei
1
119
IAB
MASA
4.3. Aritmeticki izraz
Aritmeticki izraz cine jedan argument ill vise argumenata medju
razdvojenih znacima aritmetickih operacija. Argument aritmetickog
iz
raza konstanta l1i promenljiva.
4.3.1. Aritmeticke operacije
Aritmeticke operacije su:
** stepenovanje.
ritmki izraz pise kao niz, koji sastoji od naizmenicnog
smenjivanja argumenata i aritmetickih ope~acija, pri cemu:
- niz pocinje argumentom znakom minus (-), koji oznacava pro
menu znaka prvom argumentu, i
- niz zavrsava argumentom.
Vrednost aritmetickog izraza izracunava sleva desno, pri cemu
vaz1 prioritet aritmetickih operacija, prikazan u tabe1i 4. . 1,
gde 1
oznacen najvisi prioritet, pz operacija promene znaka
argumentu.
l 4. . 1
1 ·*,pz sdesna levo
2 .,/ sleva desno
3 +,- sleva desno
Aritmeticka operacija izmedju dvaargumenta, koja su ceU
brojevi,
daje kao rezultat broj. , dele dva la broja rezultat
celobrojni 'deo koUcnika.
realan, -Ugi celobrojni, su rea1na, jeste rea1an.
Za operaciju stepenovanja treba imati u vidu kk ona reaUzuje
raeunaru:
) Ako izlozilac stepena broj, tada operacija stepenovanja
svodi na mnozenje. Prema tome. stepen
racuna, kao
···
) Ako izlozi1ac stepena realan broj, tada vrednost stepena
ra
cuna logaritmovanjem i antilogaritmovanjem. ako treba
izracunati
to izracunava kao
ti.Ln( 2. 5.tn )
Iz ovoga sledi da u operaciji stepenovanja, kada izlozi1ac
reai
an. ne moze pojaviti negativan broj kao osnova jer operacija
logaritmovanja
ni definisana za nega.tivne brojeve.
) Niz operacija stepenovanja izvrAavaju s desna na levo.
'Izraz
****
racuna tako Ato najpre odredi ( ** ), zatim ** (**). OV
razUcito od (**) **.
d) Promena znaka ima isti prioritet kao 1 stepenovanje tako
ako
napiAe izraz
- **
ovo ~e biti izracunato kao - ( ** ). ne (-)**.
loritmi ,i ro;rsti Je'Zn RRN 55
U tabeli 4.3.2. navedeni BU primeri aritmeti~kih izraza i njihovi
ek
vivalenti u matemati~koj notaciji.
Tabela 4.3.2.
ARIEIeKI IZRAZI
/* ~C
- +.-5,6
4. 3~ 2. Upotreba zagrada
Ako utvrdjeni prioritet aritmet1ckiii operacija ne odgovara
aritmetic
kom izrazu koji zeli zapisati, mogu koristiti' zagrade. Prem tome,
za
grade tr~ba koristiti, kao i, u matematici, kada zeli promeniti
p'rioritet
operacija. Deo aritmetickog izraza u okviru otvorene i zatvorene
za
grade dobija najviiH prioritet. Ako t1 ve6i broj zagrada,
unutra~nja za
grada najviAeg prioriteta. Deo aritmeti~kog izraza izme.dju
zagrada, od
nosi pre'ma aritmetickom izrazu u celin1 kao jedan argument.
U tabeli 4.3.3. navedeni su primeri aritmeti~kih izraza
zagrada
i njihovi ekvivalenti u matemati~koj notaciji.
4.3.3. Vrsta 'aritm.et1ckog izraza,
Izra~unata brojna vr10st, koja dobija kao rezultat
aritmeti~kog
izraza vrsti jeste:
56 . Pal'ozanovl'c!
_ broj, ako su sv! argument1 aritmeti~kog izraza celobrojne
kon
stante lli celobrojne promenljive, dn
_ realan. broj, ako barem jedan argument aritmeti~kog izraza
re
ln konstanta 111 realna promenljiva.
Tabela 4 . . ARITETI~KI IZRAZI
U FORTRANU U ATEATICI
D
* (/ (+) ) .
+
«-A)**2+A*(D/B»**2 «-) 2+A.~ ) 2
A/(B+C)**2-4./D+3. - 4 + 3
( +<=)2 D
u tabeli 4. . 4. dati su primeri ar1tmeti~kih izrata oznakom
vrste
aritmeti~kog izraza,
(/12)*/ broj
(/12)*/3. realan
gde
4.4.1 •. Aritmetil:ka naredba ',. Qpiti oblik aritmetil:ke naredbe
:
- ime promenljive,
pretvara u vt brojnog podatka, saglasno vrsti'promenljive .!., i
do
deljuje se promenljivoj .!..
U aritmetil:kom izrazu '" ne moze se pojaviti promehljiva kojoj
nije
dodeljena brojna vrednost pre izvrsavanja naredbe (4.4.1).
Treba ul: razliku izmedju znaka jednakosti u aritmetil:koj
nared
, i uobil:ajenog znal:enja u matematici. Znak jednakosti u
aritmetil:koj
naredbi opisuje proces koji sastoji od:
- izral:unavanja vrednosti aritmetickog izraza, desnoj strani
zna
ka jednakosti, konkretnim vrednostima promenljivih,
- dovodjenja 1zracunate brojne vrednosti promenljive u celobrojni
111
realni oblik, u saglasnosti vrstom promenljive levoj strani znaka
jed
nakoBti, i
strani znaka jednakosti.
Sve navedene faze u izvrsavanju aritmeticke l1aredbe dogadjaju se
dna za drugom. Pl'ema tome, u fazi izral:unavanja vrednosti
aritmetickog
izraza moze koristiti n vrednost promenljive, kojoj u zadnjoj
Caz! biti dodeLjena izracUl\ata n vrednost. Kako brojna
vrednost
promenljive cuya u odl'edjenom memorijskom registru, to u
slul:aju
znaci da sadrzaj Oyog re~Lstra moze korl§cen u fazi izracunavanja
ednosti arittHetickog iz :17.;\, zti unist uisI nove brojne
vr.ednosti
koja do(!eljLlje I'l1liv. Tako Iz pisati
58 .~. PatezaDovlt
= + (4.4.2)
t zl sabrati brojne vrednosti promenljivih i i dobijeni
rezultati
dodeliti kao brojnu vrednost promenljivoj .
Primeri
I=J+A*~2-4
BRZINA=PUT /VREE
VREDN=CENA*KOLIC
2) Aritmeticka naredba
A=I/3-4*B
za 1 = 10 i = 3.5 dode1juje promen1jivoj brojnu vrednost - 11.
.
4.4.2. Naredba u1aza
racunatoj vrednosti aritmetickog izraza. Medjutim, neke promen1jive
u 1-
goritmu dobijaju pocetne vrednosti prema konkretnom primeru koji
re
sava. Ovakve veliCine zovu se ulazne velicine. Tako, algoritam
1.1.3.5.
sadrzi u1azne velicine l i 2, kojima ,moraju biti 1 brojne
vred
nosti pocetku izvrsavanja a1goritma. U lstom algoritmu promenljiva
.!. brojnu vrednost preko aritmeticke naredbe. Prema tome, postoja
-
promenljivih koje dobijaju brojne vrednosti pocetku algoritma,
"
gu~uje primenu algoritma za razlicite konkretne brojne vrednosti
ovih pro
men1jivih. Algoritam u kojem postoje promen1jive, kojima
brojna
vrednost moze dode1iti kao in koja ulazi u algoritam~ predstav1ja
niz
izracunavanja koji pri svakom izvrsavanju algoritma dovodi do istog
',zu1-
tata. Jasno da ovakav a1goritam retko ima praktlcnog l1.
Najcesce
potrebno sastaviti a1goritam koji ~e izracunavati rezu1tate za
razlicite
polazne podatke. Po1azni podaci nalaze spo1jnim nosiocima
informa-
Iritmi i proJ1'amski jeziJt FR.R.N IV 59
macija i program koji ih koristi dodeljuje njihove brojne vrednosti
odgova
raju6im promenljivim. Naredba koja omogu6uje v dodeljivanje
broj
nih vrednosti promenljivim zove naredba ulaza. Ova naredba piAe
u
l
READ(i, j)Usta (4.4. ,r
READ .., sluzbena rec, koja oznacava da radi rtaredbi ulaza,
i - cel~brojna konstanta bez znaka ime celobrojne promen
ljive, kojoj mora biti dodeljena brojna vrednost pre izvrAa
vanje naredbe (4.4.3),
lista .., spisak imena promenljivih, medju r.zdvojenih zare
zima, kojima dodeljuju brojne vrednosti ulaza.
k spoljni nosilac informacija kartica, tada veUcina .!
ukazuje
citac kartica kojeg 6 bit~ c1tani brojni podaci. Kod racunara
IBM.
-360/44, kada vrii ui.az preko citaca kartica, treba uzeti da 1 =
5.
Naredba ulaza izvrina naredba i i slede6e znacenje: procitati
ulazne
podatke ulaznog uredjaja .!' pod kontrolom opisne naredbe 1, i
dode
Uti procitane brojne vrednosti promenljivim, navedenim u
list1.
Prema tome. izvr naredba sadrzi informaciju tome gde na
laze ulazni podaci (i), i kojim promenljivim dodeljuju (Usta).
Medjutim
kako izgledaju brojne vrednosti kartici to ni receno izvrAnom
nared
ulaza. Brojni podatak ~artici nalazi u obliku konstante, kon
stante su sastavljene od niza simbola FORTRAN-jezika. Svaki simbol
kon
stante busi u jednu kolonu kartice. Vise kolona, koje zauzima dn
kon
stanta kartici, in polje. dn viie polja, koja dn kartice
unose u memoriju racuI).ara, in slog. Opisna naredba, kojom
opisuje
izgled sloga, pise u obliku
gde
FORMAT(slog) (4.4.4).
.., obelezje naredbe,
FORMAT - sluzbena rec, koja ukazuje da radi naredJ:)i za opis
podataka, i
slog - niz opisa. medju razdvojenih zarezima. kojima opi
suju pojedina polja ulaznog sloga.
Ulazni slog sastavljen od viAe polja. svako l sadrzi jednu
konstantu. Za opis ulaznog sloga potrebno opisati svako l u
okviru
sloga. Opis polja zavisi od konstante koja nalazi registrovana u
polju.
Neka polja cine jedan ulazni slog. Tada opis sloga sastoji od
opisa
pojedinih l. tj. naredba (4.4.4) dobija oblik
FORAT(opis 1 .OpiS2 .is ) (4.4.5)
Opisi pojedinih l navode u naredbi (4.4.5) sleva desno.ona
ko kako slede kartici (l. 4. 4.1).
Da u nizu naredbi koje ci
ne program omoguci1o jednoznacno u
kazivanje odredjenu naredbu pro
grama. uvodi obelezje naredbe. l zje naredbe jednocifren do
petocifren neoznacen dekadni broj.
I POLJE1 POLJE2 PQLJE .3 ---
81.4.4.1
Obelezje naredbe leve strane naredbe. Svaka FORAT-naredba
imati obelezje (oznaceno u 4.4.4 i 4.4.5). koje obavezno na
vodi u naredbi ulaza (4.4. ). odnosno izlaza (4.5. l. IzvrAne
naredbe FOR
TRAN-programa mogu potrebi imati obelezja. U jednoj programskoj
dinici moze dn obelezje koristiti. kao obelezje. vise od jedne
FOR
TRAN-naredbe.
Ako polje sadrzi celobrojnu konstantu, opisuje sledeci nacin
Ik (4.4.6)
- simbol FORTRAN-jezika, koji oznacava da radi celom
(Integer),
k - neoznacen , 'koji ukazuje kolona polja kartici.
Ako k takav, da polje sadrzi veci 'j kolona nego sto to
zahteva brojnog podatka, tada odgovarajuci kolona levoj
lrit:mi i '1'011'.111.11 jeziJt .FRRN .IV 61
strani polja ostaje nebusen. Tako, ako u polju opisom 110 ~oje
sadr!i
10 kolona, od 1. do 10.kolone, treba registrovati broj -386, to u
kolonama
od 1. do 6. nista buseno, -386 busiti sleva nadesno od 7. do
10. kolone.
gde
gde
Ako polje kartici sadrzi broj, opisuje ·
Fk.d (4.4.7)
F - simbol FORTRAN-jezika, koji oznacava da radi mesovitom
broju (Fixed pOif:lt),
k - neoznacen , koji ukazuje kolona polja kartici,
d - decimalnih mesta brojnog podatka.
k biti tako odredjen da zadovoljava uslov
k ~.c + d + 2
(4.4.8)
2 - jedno mesto za znak broja, i jedno mesto za decimalnu
tacku.
Decimalna tacka moze izostaviti kartici, i ! tome od
redjena opisom (4.4.7). Tako u slucaju relacija (4.4.8) (
oblik
k~.c+d+l (4.4.9)
Medjutim, ako postoji decimalna tacka kartici, nije u
saglasnosti
opisom (4.4.7), tada prihvaceno mesto (lecimalne tacke
kartici,
u opisu (4.4. 7). Tako, opis. F8. upisivati podatke u
riju racunara (lecimalnih mestn, za(!atih decimalnom tackom u
odgovarajucem polju k.ti.
Ako u polju registruju pozitivni bl'ojevi, moze izostaviti
mesto za znnk ,. ako izostavi i .t za d-inlnu tacku, to
r!:'Jacija (4.4.9) svodi
k ~ + (1 (4.4.10)
62 . rareza.oYic!
Za registrovanje vrlo i1i velikih brojeva oblik (4.4.7) nepo
godan, jer zahteva navodjenje svih cifara broja. U ovom slu~aju
pogodno
koristiti obli:k
- simbol FORTRAN-jezika, koji ukazuje da radi meiiovitom
broju, zapisanom u eksponencijalnom obl1ku (Exponential
form),
k - neozna~en broj koji uk:azuje broj kolona polja kartici,
d - broj decima1nih mesta brojnog podatka.
Konstanta zapisana u eksponencijalnom obliku registruje u
polju
kartice, kao i ranije opisana mesovita konstanta s sto iza
decimal
nih mesta broja navodi slovo , iza slova izlozilac broja 10.
Tako
moze pisat1
sto odgovara decimalnom broju 17, 83.10-15. -Broj zapisan u
eksponencijal
obliku zahteva polje
gde
(4.4.12)
6 - jedno mesto za znak broja, jedno mesto za decimalnu ta~ku,
slovo
, jedno mesto za znak1eksponenta i dva mesta za dekadne c1fre
eksponenta.
Znak eksponenta moze izostaviti, ako eksponent pozitivan .
Slovo moze izostaviti, ali pri tome obavezno mora pisati znak
eks
ponenta. Tako mogu regif!itrovati sledece konstante kartici:
-2. 14720
-2.147+20
+8. 14-02
8. 14-02
Mesoviti brojevl zapisani bez slova i eksponenta mogu blti
uneti
opisa (4.4.11), ! se smatrati da eksponent nula.
.\JOritDd .1 pro,=r .... k1 ,Jezlk '·OR.TIUNIV . 63
Tako ' mo!e pisati
20.156
Svi navedeni primeri ~e u memoriji racunara biti registrovani u
obliku
kretnog zareza, i predstavlja~e brC?jnu vrednost 20, 156.
4.4. 2. 3. Opis praznog polja
Vrlo cesto potrebno neke kolone kartice preskociti. Da
omogu~ilo uveden opis
gde
nx (4.4.13)
- simbol FORTRAN -jezika,koji oznacava .da r.adi opisu
praznog
polja.
- neoznacen broj. koji ukazuje koliko kolona sadr!i polje
koje
treba preskociti.
Za zadate vrednosti promenljivih .!. ~. i izra~unati vrednost
= (1 +32.4)(-2)
Velicina .! trocifren broj i nalazi kartici od 1. do;4.
kolone.
Velicine ~ ~ i ~ sadrze 1 i 2 decimalna mesta i nalaze se na
kartici
od 20. do 40. ko1one. pri cemu svaka zauzima 1 od 7 ko1ona.
Izgled
kartice prikazan 1. 4. 4. 2 .
. L Q,
81.4.4.2
Program FORTRAN-jeziku ima slede6i izgled:
REAO(S,LOt I,,8, LO FQRMAT(I~,LSX,F7.2~F7.2,F7.21
Y·tA**1+32.4)*tB-2 •• t
u naredbi FORMAT opisana su polja kartici, sleva ciesno,
koja cine ulazni slog, uklwcujuc1 i polje koje od 5. do 19.
ko
lone. Promenljive 1, , i dobijaju brojne vrednosti sleva, nadesno,
ka
ko su zapisane u listi naredbe READ. Konstanta 2, u aritmetickoj
naredbi
zapisana sa decimalnom tackom, sto znaci da u memoriji
racunara
registrovana u obliku pokretnog zareza. N'a nacln, operacija
mno
zenja 2. * izvodi se izmedju argumenata u pokretnom zarezu. Ako
kon
stanta bila zapisana bez decimalne tacke, tj. aritmeticka naredba u
obUku
tada konstanta 2 bila re gistrovana u memoriji racunara kao
broj.
znacilo da pre 1zvodjenja operacije mnozenja 2*, konstanta
mora biti prevedena u oblik pokretnog zareza, potom izvr!!iena
aritmetic
ka operacija mnozenja. 1 jedan i drugi oblik aritmeticke naredbe
korek
t~n i dovodi do istog rezultata. ~[edjutim, ! oblik ( decitna1nom
tac
kom) predstavlja l)oljl. zapl.s, takav aritmeticki izt'az bt'ze
izra
cunat pri izvrsavanju pt'ograma n.
4.5. Izdavanje bt'ojne vrednosti promenljive
n vrednost promenljivc t'egl.stt'ovana u memot'l.ji racul\ara
u
nn brojnom sistu, kao 1)1' ! kao u kt't[\ zarezu.
Binarn~ oblik nepogodan ·ZfJ. koriscenje od strane sit'eg bl'oj"
lli
koji korisnici racunal'a. Zato potrebl\o prevesti iz bil\al'!\og u
de
kadni brojni sistem, i ['ezu1tate i.zclati u dekadl\om sistu.
Potpu
informacija izdavanju n vednosti promenljl.vih, izlazl\i
organ,
sadrzi sledece:
- l I'lllivill cije n vredl\()sti zele i.zclati, kao i
- oblik izdaval\ja bl'ojnilt vI'cdl\ostl,
lgoritmi i progTams1d jezik FRRN lV 65
! deo informacije. imenima promen1jivih cije brojne vredno
sti ze1e izdati. zadaje izvr1!inom naredbom izlaza
gde
WRITE (i. j)li~ta (4.5.1)
WRITE - sluzbena . koja ukazuje da radi izdavanju brojnih
vrednosti promen1jivih;
kojem vrsi izdavanje rezultata. Za un IBM -360/44.
kada izlaz ! bu1!iacu kartica to 7. 1!itam
broj 6,
zima, cije se vrednosti izdaju.
Svakoj izvr1!inoj naredbi izlaza, kao sto naredba (4.5.1)
pridruzu
jedna opisna FORMAT-naredba, koja sadrzi informacije obliku
iz
davanja vrednosti promenljivih. izdavanja zadaje se istim 0-
pisima koji su sluzili za opis podataka kartici. sto sada
opisuju
izgled 1!itampanog dokumenta bu1!iene kartice izlazu. Jedan 11i
vise
dataka. koji se prenose izlazni organ cine izlazni slog.
Duzinaizlaznog
s10ga zavisi od nosioca informacija kojem se vrsi upis
informacija
izlaznom organu . Ako izlaz vrsi kartica, tada
maksimalna duzina izlaznog sloga 80 simbola, koji se mogu busiti u
80 ko-
10 jedne kartice. Ako se izlaz vrsi paralelnom stampacu, tada
du
zina izlaznog sloga 120 tipografskih simbola ( moze biti i !
kod
nekih tipova stampaca), koji cine jedan red stampanom
dokumentu.
gde
FORMAT(slog) (4.5.2)
za (4.5.1),
slog - niz oplsa koji definHiu izlazni slog.
lzdavanje izlaznog sloga paralelnom stampacu ~ahteva
informacl
ju vertikalnom pomeranju papira stampacu. 'Qva 1nformacija
sadr
zana u simbolu izlaznog ·sloga. ! simbol izlaznog sloga
ze se pojaviti jedan od simbola +, . ili 1 pri cemu imaju sledete
znace -
nje:
- pomeranje papira za 2 nova reda, i
1 - pomeranje papira prvi red sledete strane.
Jedan od navedena 4 simbola mora se nalaziti pocetku
izla.znog
sloga. Ako ovaj simbol nije obezbedjen prvimopisom u iz1aznom
s1ogu,
treba ga navesti izmedju apostrofa jedan od opisa izlaznog
s10ga.
Tako naredba
FORAT('b', 13, 2, 12. 5) (4.5.3)
formi"ra izlazni slog od 4 polja. pri cemu polje sadrzi jedan
simbol
blanko, drugo polje sadrzi tri simbola za vrednost'celobrojne
promenljive,
trete polje sadrzi d-va blanka i cetvrto polje 12 simbola za brojnu
vrednost
realne ~romenljive. Prema tome, izlazni slog sadrzi 17 simbola.
Kada
ovako form~ran izlazpi slog posalje paralelni stampa~, ! simbol
te upotrebljen kao komandni simbol za. vertikalno pomeranje
papira
stampacu, i u ovom slucaju proizveste novi red stampanom
dokumentu.
Osta1ih 16 simb()la izlaznog sloga bite stampani od pocetka reda.
sleva
desno kako slede u izlaznom slogu.
4.5.1. Opis brojeva
lk (4.5.4)
1 - simbol koji ukazuje da se radi ce1im brojevima,
AlgoritmJ i prograll1s!d l IV 67
k - neozna~en broj. koji odredjuje broj mesta koji 6 zauzeti
brojna vrednoat izlaznom nosiocu inform~cija. broj ti
pografskih simbola Atampanom dokumentu. kada izlaz vr
! Atampa~u. odnosno. broj kolona kartice. kada izlaz vr-
8i b8a~ kartica.
Ako se izlaz vrsi Stampa~u i. pri tome brojna vrednost koja se
Stam
prevazilazi duzinu k, odredjenu Stampanom dokumentu tada stampa
k
zvezdica (*) u predvidjenom polju.
Najve6i broj koji moze biti registrovan u memorijskom
registru
sadrzi 10 dekadnih cifara, ako se uzme u obzir i 1 mesto za
znak:,.to ,,~
ci da format 111 uvek obezbedjuje korektno stampane vrednosti
celobrojne
promenljive. Brojna vrednost Stampa desnoj strani predvidjenog
lja za stampanje, a"na levoj strani nevaze6e nule 8ta~paju kao
medju
prostori (blanko). Znak broja Stampa se neposredno levo prve
vaze6e
cifre pri ~em stampa znak (-) za negativne brojeve, znak + se
ne
stampa. Prema tome, predvidjanjem ve6e duzine polja one koja
trebna za Stampanje brojne vrednosti moze obezbediti potreban broj
-.
djuprostora (blanka) izmedju brojeva koji se Stampaju u jednom
redu.
PrimeI"
Na kartici su zadata tri cela broja , i z. Broj busen od 10.
do 15., broj od 20. do 24 •• broj z od 52. do 54. kolone jedne
kartice.
Uneti brojeve sa kartice i 8tampati paralelnom i!itampa~u. U ovom
slu
potrebne su slede6e FORTRAN naredbe:
READ(5,40IIX,IY,IZ 40 FORMAT(9X,16,4X,I5,27X,131
WRITE(6,411IX,Iy,IZ 41 FORMAT(' ',16,18,161
u naredbi FORMAT sa obelezjem 40, opisi 9, 4 i 27 definisu
prazna polja kartici izmedju brojeva , i z. Naredba WRITE
obezbe
djuje stampanje brojnih vrednosti promenljivih IX, IY i IZ redom
sleva
nadesno opisima u FORMAT-naredbi sa obelezjem 41. Tako brojne
vrednosti promenljivih IX i IZ biti stampane opisu 16,
promenljive
68 N. Parezanovi4!
opisu 18. Kako brojna vrednost promen1jive sadrzi 5 simbola
kar
tici, opis 18 odredjuje polje od 8 simbola, to tri simbo1a, leve
stra
ne polja biti neiskoriscena za prika:zivanje i sluzice za razmak
iz
medju stampanom dokumentu. Slicno razmatranje vazi i za
men1jivu IZ. Stampani dokumenat imati sledeci izgled
ni znak (-),
Mesoviti registruje u memoriji u obliku poketnog zareza.
Ako se za izdavanje vrednosti realne promen1jive koristi opis
(4.5.5)
tada brojna vrednost izlazu biti u obliku:
gde Q} mesto za znakbroja, i to: simbol - za negativne i sim
bol za pozitivne . Oblik (4.5.5) izdaje vrednosti promenljivih
u
vidu celobrojnog i razlomljenog dela. Celubrojni deo sadrzi
maksimum k
_ d _ 1 tipografsko mesto, ako broj pozitivan, k - d - 2
tipografska
mesta, ako negativan. Razlomljeni deo sadrzi d dekadnih .
Prema tome, k
gde
(4.5.6)
Alpritmi i propam.1d Jez!t IV 69
2 - dn mesto za znak broja (znak negatlvnog broja izdaje se
kao
simbol - , zi1ak pozlt1vnog s1mbol ), 1 jedno mesto za
dec1malnu ta~ku.
Ek.d (4.5.7)
gde
- mesto za znak broja, i to: simbol - za negativne brojeve, i
-
bol za pozitivne brojeve,
- cifra dekadnog brojnog sistema,
d - broj decimalnih mesta,
k - ukupan broj s1mbola.
Ukupan broj simbola za izdavanje brojne vrednost1 opisom (4.5-.
7)
k.-d + 7 (4.5.8)
Ako u opisima (4.5.5) i (4.5.7) broj k definiAe an! broj
s1mbola
od onog koji zahteva zapis brojne vrednost1. to 6 predvidjenoj
duzini
k biti izdate zvezdice (*).
4.5. . Opis praznog polja
Razmak izmedju brojeva, sto vec videli, moze ostvariti
predvidjanjem ve6eg broja celih u opisima 1, F i1i . Medjutim,
opis
nx (4.5.9)
definise ' izlazu prazno polje od medjuprostora, tako da ov1m
opi
mogu definisati proizvoljni razmaci izmedju brojeva.
70 ~. ParC!zanovit
Primer
Na kartici nalaze brojevi 1, i u .sledetem rasporedu:
) od 1. do5. kolone broj 1 (opis 15),
) od 9. do 12. ko1one mesoviti broj (opis F7. 2),
) od 13. do 24. kolone mesoviti broj (opis 12. 5).
Sastaviti program koji te Uneti zadate brojeve kartice i
staxpati:
READ(5,8) I,X,Y 8 FORMAT(I5,F7.2,E12.S)
WR I ( 6, 7 ) 1, , 7 FORMAT(' ·,I5,2X,F7~},2X,~12.5)
Za 1=18, =-24.5 i =0.3-20, stampani dokumenat i izgled
,8-24. 50. 30000-20, • -11'1' "1"-1'" • 15 2 F7.2 2 12.5
4.6. Proste linijske 'algoritam1!ke striture
4.6.1. Prekid rada program~ i fizicki kraj programa
Dosadasnje izlaganje FORTRAN-jezika omogutuje zapis
prostih'linij
skih algoritamskih struktura. Medjutim, za korektan zapis
algoritama na
FORTRAN':'jezikunedostaje mogutnost ukazivanja zadnji lgomski
korak u algoritmu. Ovo u FORTRAN-jeziku vrsi naredbom
STOP (4.6.1)
STOP - sluzbena , koja oznacava kraj rada programu,
- jednocifreni do petocifreni dekadni bez znaka.
U jednom programu moze se nalaziti vise naredbi STOP. Da se
omogucio uvid kojom od vise naredbi zavrseno izvrsavanje
programa,
to uveden oblik (4.6.2), koji izdaje naredbu (4.6. 2)
stampacu.
,\Igoritmi i pro,ram.ki jezi.k FORTRAN IV 71
Program zapisan FORTRAN-j~ziku. prevodi·se masinski jezik
izvrsavanja racunaru. prevodJenje vrsi rgrai za. prevodje
nje. u kOJi ~ao ulazni podaci u1aze naredbe FORTRAN-programa~
izlaz
ne velicine su naredbe u masinskom jeziku. Da prQgram za
prevodjenje
dobio informaciju kada zavrseno prevodjenje i' zadnje naredbe
FORTRA~
-programa. uvodi naredba
4.6.2. Primeri algoritama prostim liniki strukturama
Primer 1
jednoj kartici se nalaze brojne vrednosti promeDlj~vih l. X~.
;
4 i xs: u obliku F7. . Izracunati rezu1tat formuli
(4.6.4)
izlazu stampati zadate brojeve Xl. i = 1. 2 •••. 5. i rezultat
.
l. 1. . 1. data graficka shema algoritma. FORTRAN-prog
ram ima sledeci izgled:
Y-((l+2)*3-4.S.l . WRITEC6,11) l,2,,~,S,
11 FORMATCI ',F1.,F9.3F9.,F9.,F9.,I9.7) STOP END
u naredbi FORMAT sa obelezjem 11 promenljiva l se stampa u
istom obliku u kojem se nalazi kartici. Ostale ulazne velicine
stam
paju u obliku F9. , cime BU obezbedjena dva medjuprostora ~medju
bro
jeva koji stampaju. 'Rezultat stampa u obli~ 19. 7. cime 0-
bezbedjen razmak od 5 medjuprostora u odnosu brojnu vrednost
promen
ljive 5.
Primer 2
5astaviti program koji za zadatu vrednost - l' ,1, izracunava
10'1./·
formuli
'1./4 2 = 10 :::: 0,9994 + 0,5998 + , 170-3 . (4.6.5)
Neka vrednost argumenta zadata od 1. do 6. ko1one u obliku
F6.3. Na iz1azu stampati vrednost argumenta i vrednosti funkcije
(4.6.5)
u obliku 12. 5. Na 1. 4.6.1. data blok-shema algoritma.
51.4.6.1
( 5,101
WRlE(6,151 , 15 FORMAT(' '.F6.,2,12.51
SJOP ENO
tmima sa prostim linijskim strukturama. U toku jednog izvrsavanja
takvog
programa, svaka naredba sc izvrsi jedanput. Naredbe izvrsavaju
odoz
go dole, kako slede u zapisanom nizu. Dolaskom naredbu STOP
prekida se dalji rad programu.
napomenuti da su navedeni primeri zapisanu u obliku progra