You are on page 1of 64

UNIVERZITET DEMAL BIJEDI U MOSTARU

GRAEVINSKI FAKULTET

vii asistent
mr. Raid Hadovi, dipl.in.gra.

ZBIRKA RIJEENIH ZADATAKA


PROGRAMIRANJE U FORTRANU
SKRIPTA

MOSTAR, 2007.

UNIVERZITET DEMAL BIJEDI U MOSTARU


GRAEVINSKI FAKULTET

ZBIRKA RIJEENIH ZADATAKA


PROGRAMIRANJE U FORTRANU

SK

SKRIPTA

MOSTAR, 2007.

mr. Raid Hadovi, dipl.in.gra.

RI
PT

vii asistent
mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

Programiranje u Fortran-u
Rijeeni zadaci
Problemi za vjebanje
Neki od dosadanjih ispitnih zadataka
Zadaci za seminarski rad
Literatura

02
22
55
62
66
73

SK

1.
2.
3.
4.
5.
6.

mr. Raid Hadovi, dipl.in.gra.

SADRAJ:

RI
PT

vii asistent mr. Raid Hadovi, dipl.in.gra.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

SK

PROGRAMIRANJE U FORTRANU

mr. Raid Hadovi, dipl.in.gra.

RI
PT

vii asistent mr. Raid Hadovi, dipl.in.gra.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

UVOD

DIJAGRAM TOKA PROGRAMA


Definicija

Svaki program se sastoji od pet osnovnih koraka. Prvi korak START odnosno poetak,
drugi korak je UITAVANJE PODATAKA sa kojima e se raditi u programu, trei korak je
OPERACIJA, odnosno faza programa gdje se uneeni podaci obrauju tj. vri se rad sa
podacima u zavisnosti od zadatka. U etvrtom koraku se TAMPAJU rezultati programa,
dok se u petom koraku program zavrava (STOP i END).

Oznaka
ili

Znaenje

Uitavanje podataka u
program
Operacija - rad sa
podacima

SK

ili

tampanje podataka i
rezultata na ekranu ili na
tampau

Naredba u Fortranu

READ, DATA, OPEN


Zavisno od zadatka
koriste se razliite
komande
WRITE, PRINT

Poreenje ispunjenje
uslova

IF

Poetak i kraj programa

START , STOP i END

Povratak iz potprograma
u glavni program

RETURN

Pozivanje potprograma i
potprogram

FUNCTION ili CALL


SUBROUTINE

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

mr. Raid Hadovi, dipl.in.gra.

RI
PT

Dijagrami toka se koriste za grafiko predstavljanje redosljeda svih radnji, koje su sastavni
dio nekog programa: poetka, uitavanja podataka, operacija, poreenja, tampanja
rezultata, pozivanja potprograma i zavretka.
U dijagramima toka se koriste geometrijski oblici radi predstavljanja raznih operacija
programa, koji se obavljaju. Standardizovanim oblicima obezbjeuje se vizuelno
predstavljanje problema zajedniko za sve programe.

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

tampanje
podataka
Poreenje
ispunjenje
uslova
START,
STOP i END
Pozivanje
potprograma
RETURN

Komande koje se stavljaju u dijagram toka da bi se oznaio poetak i kraj


programa.
Znak koji nam slui za pozivanje potprograma. Razlikujemo 2 potprograma:
FUNCTION (funkcijski) i CALL SUBROUTINE (opti).
Komanda koja se koristi da bi se izvrio povratak iz potprograma u glavni
program.

VARIJABLE

mr. Raid Hadovi, dipl.in.gra.

Operacija

Potrebne podatke unosimo sa tastature ili iz nekog poznatog FILE-a. U


Fortranu koristimo naredbu READ(*,*) ili READ(5,*). U sluaju da se podaci
unose u program iz nekog FILE-a onda se koristi naredba OPEN.
U ovu grupu spadaju sve komande, koje obavljaju neku vrstu operacije u
zavisnosti od onog to se trai u zadatku.
Ispis podataka i rezultata na ekranu ili na tampau. Vri se pomou
naredbe WRITE(*,*) ili WRITE(6,*). Oznaka * ili 6 znai da se podaci i
rezultati ispisuju na ekranu. Oznaka * poslije zareza znai da je naredba
uneena u slobodnom formatu.
Najee koritena funkcija je IF (ako u prevodu sa engleskog jezika) koja
nam slui da bi postavili pitanje neke operacije i da bi na to pitanje imali dva
mogua odgovora DA i NE. Kasnije e biti vie rijei o funkciji IF.

Uitavanje
podataka

Objanjenje

RI
PT

Dijagram
toka

vii asistent mr. Raid Hadovi, dipl.in.gra.

Varijable koje poinju sa prvim slovom I, J, K, L, M i N su po standardu cjelobrojne


varijable, a sve ostale su realne varijable.
INTEGER naredba koja od realnih brojeva pravi cijele brojeve
Primjer: INTEGER ALBA ALBA u ovom sluaju postaje cjelobrojna varijabla.

REAL naredba koja od cjelobrojnih varijabli pravi realne varijable


Primjer: REAL MAAS,KRUG,NET (100) u ovom sluaju MAAS,KRUG,NET (100) postaju
realne varijable (cjelobrojne su zato to su poetna slova M, K, N ...)

SK

PRAVILA UPISIVANJA PODATAKA U FORTRAN u

U FORTRAN-u koristimo 80 kolona.


U prvu kolonu unese se slovo C, kao oznaka za komentar. Komentari uneeni na ovaj
nain pri ispisivanju programa na ekranu ili na tampau se ne vide tj. skriveni su u
programu i pomau samo programeru da zna ta je radio u programu i dokle je stigao.
U kolone 2, 3, 4 i 5 upisuju se brojevi komandi.
U estu kolonu se upisuje znak * ili + , koji slui kao nastavak prethodnog reda.
Od sedme kolone se upisuju naredbe jezika FORTRAN, pa do 72 i poslije prelazimo u
sljedei red (ukoliko naredba ne moe da stane).
Znak = u FORTRAN-u nema isto znaenje kao matematiki znak = ve znai: prebaci sa
desne strane jednaine na lijevu stranu.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

OPERACIJE U FORTRANU
Oznake u FORTRAN u
**
/
*
+
-

Aritmetike operacije
Stepenovanje
Dijeljenje
Mnoenje
Sabiranje
Oduzimanje

Definicija
zagrade
stepenovanje
mnoenje i dijeljenje
sabiranje i oduzimanje

Fortran
()
**
*,/
+,-

RI
PT

R.br.
1.
2.
3.
4.

Pisanje formula

Matematiki nain prikazivanja formula


A+ B
C

( ( A+B) C )

Pisanje formula u Fortranu


(A+B)/C

((A+B)*C)**D

B2 + 4 A C
2 A
2 r 2

(B**2+4*A*C)/(2*A)
2*3,1415927*R**2

Zavisne operacije

=
<>
<
>

SK

Znaenje
Jednako
Nije jednako
Manje
Vee
Manje i jednako
Vee i jednako

Prikaz u Fortranu
.EQ.
(Equally)
.NE.
(Not Equally)
.LT.
(Little)
.GT.
(Great)
.LE.
(Little and Equally)
.GE.
(Great and Equally)

mr. Raid Hadovi, dipl.in.gra.

Redoslijed koritenja aritmetikih operacija:

Logike operacije

Znaenje
Nije
I
Ili
Ili je
Ili nije

Fortran
.NOT.
.AND.
.OR.
.EQV.
.NEQV.

Primjer
.NOT.(3.EQ.2) TANO
(3.EQ.3).AND.(2.EQ.2) TANO
(3.EQ.3).OR.(2.EQ.2) TANO
(3.EQ.3).EQV.(2.EQ.2) TANO
(3.EQ.3).NEQV.(2.EQ.2) NETANO
(3.EQ.3).EQV.(3.EQ.2) TANO
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

NEKE OD NAREDBI U FORTRANU:


READ
Naredba za uitavanje podataka u program.
READ(*,*) ili READ(*,n) ili READ(5,n)

Primjer:

RI
PT

READ(5,10)N
10 FORMAT (I2)

WRITE
Naredba za tampanje ili ispis podataka i rezultata na ekranu ili na tampau.
WRITE(*,*) ili WRITE(*,n) ili WRITE(6,n)

mr. Raid Hadovi, dipl.in.gra.

Oznaka * ili 5 znai da se podaci unose sa tastature. Oznaka * poslije zareza znai da je
naredba uneena u slobodnom formatu. Oznaka n predstavlja ime FORMATA, a
oznaava se proizvoljnim brojem i upuuje na broj kojim je predstavljena naredba Format.

Oznaka * ili 6 znai da je ispis prikazan na ekranu. Oznaka * poslije zareza znai da je
naredba uneena u slobodnom formatu. Oznaka n predstavlja ime FORMATA, a
oznaava se proizvoljnim brojem i upuuje na broj kojim je predstavljena naredba Format.
Primjer:

WRITE(6,10)N
10 FORMAT(I2)

SK

FORMAT
Naredba pomou koje, u programu, definiemo ulaz i izlaz podataka tj. prema vrsti
podataka se odreuje format u kojem e biti uneeni (razlikujemo cjelobrojne i realne
varijable), kao i ureenje ekrana ili tampane stranice.
Promjenljiva

FORMAT u
Fortranu
In
Fn.m
En.m

Cijeli broj
Realan broj maksimalno do 7 decimala
Realan broj maksimalno do 7 decimala
Realan broj (do 7 decimala )
Gn.m
decimalan i eksponencijalan
Realan broj (do 16 decimala)
Dn.m
Alfanumeriki broj
An
Logiki broj
Ln
Poetna taka za broj kolone
Tn
Preskakanje n kolona
nX
Broj preskoenih redova
n/
Broj preskoenih kolona
1X
Samo neki od Format-a e biti obraeni u ovoj skripti.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

Naredba Fortrana
u kojoj se koristi
READ/WRITE
READ/WRITE
READ/WRITE
READ/WRITE
READ/WRITE
READ/WRITE
READ/WRITE
WRITE
READ
WRITE
WRITE

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

In format za cjelobrojne varijable


n broj mjesta koja e se ostaviti (rezervisati) za broj cifara cjelobrojnih varijabli
Primjer:

READ(5,10)N
10 FORMAT (I3)
Ili
WRITE(6,10)N
10 FORMAT(I3)

RI
PT

U ovim primjerima mogue je unijeti samo trocifrene pozitivne dok je nemogu unos
neativnih brojeva ili ispisati trocifrene pozitivne dvocifrene negativne brojeve.

Format READ
I4
I4
I4
I4

Uneeni podatak
12
-122
123456
1000

Oitani podatak
12
-122
1234
1000

Format - WRITE
I4
I4
I4
I4

Vrijednost
12
-122
123456
1000

Ispisani podatak
12
-122
****
1000

mr. Raid Hadovi, dipl.in.gra.

Grafiki prikaz formata I4:

SK

Fn.m format za realne varijable


n ukupan broj cifara ukljuujui i mjesto za predznak i jedno mjesto za decimalnu taku
m broj mjesta koja e se ostaviti za decimalne brojeve (za broj cifara koje e doi poslije
decimalne take)
En.m - format za realne varijable (E se koristi za eksponencijalne brojeve)
n ukupan broj cifara ukljuujui i mjesto za predznak i jedno mjesto za decimalnu taku
m broj mjesta koja e se ostaviti za decimalne brojeve (za broj cifara koje e doi poslije
decimalne take)
U ovom formatu se ne mogu koristiti negativni brojevi.
Primjer:

READ(5,10)N
10 FORMAT (F8.2)
Ili
WRITE(6,10)N
10 FORMAT(F8.3)

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Grafiki prikaz formata F8.3

n =A+ B + C + D
A broj mjesta za predznak
B broj mjesta za broj cifara broja koji e biti uneen ili ispisan
C broj mjesta za decimalnu taku
D broj mjesta koji je ostavljen za broj decimalnih brojeva

Prikaz u Fortranu za E8.3


.123E+07
.346E+00
.436E+03
********

Prikaz u Fortranu za F8.3


********
0.346
435.670
-123.456

RI
PT

Matematiki prikaz
1234556.958
0.34567
435.67
-123.4567

Tn poetna taka na ekranu za broj kolone (koristi se u naredbi WRITE)


Primjer:

WRITE(6,10)N
10 FORMAT(T20,I2)

Znaenje u Formatu:
U prvom redu i u 20toj koloni (T20) e poeti ispis rezultata.

mr. Raid Hadovi, dipl.in.gra.

Isto vai i za Format En.m osim to nije predvien broj mjesta za predznak, jer se Format
En.m ne koristi za negativne brojeve.

nX oznaka za broj kolona koje e se preskoiti prilikom unoenja ili ispisa podataka
ili rezultata. Koristi se u naredbama READ i WRITE.
Primjer:

SK

READ(5,10)R
10 FORMAT(10X,F8.2)
Znaenje u Formatu:
10X preskoeno deset kolona

Znak / - oznaka za preskakanje odreenog broja redova pri unosu ili ispisu podataka
ili rezultata. Koristi se u naredbama READ i WRITE.
Primjer:

WRITE(6,*)UNESITE NEKI REALAN BROJ


READ(5,10)R
10 FORMAT(F8.2)
WRITE(6,11)R
11 FORMAT(///,10X,REALAN BROJ JE:,F8.2)
STOP
END
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Znaenje u Formatu:
/// preskoena tri reda i 10X preskoeno deset kolona tj. ispis REALAN BROJ JE: e
poeti u etvrtom redu i u 11-toj koloni.

KONTROLNI IZRAZI U FORTRAN-u


1) Bezuslovni GOTO
Naredba koja usmjerava program direktno na broj nekog reda bez ikakvog uslova.
2) IF

RI
PT

a) LOGIKI IF
b) ARITMETIKI IF
c) BLOK IF

mr. Raid Hadovi, dipl.in.gra.

a) LOGIKI IF

Koristi se za poreenje i ispunjavanje samo jednog uslova koji ima dva odgovora DA ili NE.
Logiki IF se pie u sljedeoj formi:
[<Broj reda>] IF [<Logiki izraz>] <izraz u FORTRAN u >
.EQ.
.NE.
.NOT.
<Logiki izraz> = <Izraz> .GE.
.LT.
.LE.

<Izraz>

promjenljiv
nepromjenljiv
Aritmetiki izraz

SK

<Izraz> :

<Izraz>

.GT.
.AND.
.OR.

<izraz u FORTRAN u >: Ako je rezultat aritmetikog izraza TAAN onda program <izraz
u FORTRAN u > naredbu slijedi, u suprotnom program nastavlja sa svojim tokom (u
sluaju odgovora NE).
Primjer:

K=5
IF(K.EQ.5)WRITE(*,*) USLOV TACAN
WRITE(*,9)USLOV POGRESAN
STOP
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

NE

DA

K=5

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

b) ARITMETIKI IF
Koristi se za poreenje i za ispunjavanje jednog uslova koji ima tri razliita odgovora.

Aritmetiki IF se pie u sljedeoj formi:


<Broj izraza> IF (Aritmetiki izraz) N1, S1, P1
N1: <Arit. Izraz> Ako je rezultat <0 (manji od nule) broj reda
S1: <Arit. Izraz> Ako je rezultat =0 (jednak nuli)
broj reda
P1: <Arit. Izraz> Ako je rezultat >0 (vei od nule) broj reda
<0

>0

=0

mr. Raid Hadovi, dipl.in.gra.

RI
PT

Rezultat

Primjer: Unijeti cijele negativne i pozitivne brojeve i nai pojedinano zbir pozitivnih i zbir
negativnih. Program se zaustavlja unoenjem nule u program.
C
C
C

BROJ: UCITANI CIJELI BROJ


PZBIR: ZBIR CIJELIH POZITIVNIH BROJEVA
NZBIR: ZBIR NEGATIVNIH CIJELIH BROJEVA
INTEGER BROJ, PZBIR
PZBIR=0
NZBIR=0
WRITE(6,*)UNESITE NEKI BROJ
5 READ(5,15)BROJ
15 FORMAT(I4)
IF (BROJ)50,200,100

SK

C
C
C

UNESEN JE NEGATIVNI CIJELI BROJ

50 NZBIR=NZBIR+BROJ
GOTO 5

C
C
C

UNESEN JE POZITIVAN CIJELI BROJ

100
BIR=PZBIR+BROJ
GOTO 5
C
USLOV ZA ZAUSTAVLJANJE PROGRAMA JE ISPUNJEN
200 WRITE(6,10)PZBIR,NZBIR
10 FORMAT(1X,ZBIR POZ. BROJEVA:,I6,///,1X,ZBIR NEG.BROJEVA:,I6)
STOP
END
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

10

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

c) BLOK IF

RI
PT

<Broj izraza> IF (<Uslov>) THEN


--------------------------------------------ELSE
--------------------------------------------ENDIF

Moemo raditi i sa vie uslova i sa vie blokova, ali samo se jedno ENDIF koristi.
a) Sluaj kada se naredba ELSE ne koristi

mr. Raid Hadovi, dipl.in.gra.

ZBIR POZ. BROJEVA:####18


ZBIR NEG. BROJEVA:###-15

Rjeenje:
Prikaz na ekranu e biti, ako unesemo sljedee brojeve 3, 5, -8, -7, 10, 0.

Ako se naredba ELSE ne koristi, onda je uslov taan i program nastavlja sa radom dok ne
doe do naredbe ENDIF, osim u sluaju ako u bloku IF ne postoji naredba GOTO koja bi
preusmjerila tok programa.
Primjer:

SK

K=5
IF(K.EQ.5) THEN
WRITE(6,*)TACNO
WRITE(6,*)KRAJ PROGRAMA
5 GOTO 50
ENDIF
10 WRITE(6,*)NETACNO
50 STOP
END

U ovom sluaju, ako je uslov K=5 taan onda se koristi naredba GOTO da bi se
preusmjerio tok programa na kraj programa, u suprotnom program ispisuje na ekranu
NETACNO i zaustavlja se.
b) Sluaj kada se naredba ELSE koristi

Ako se naredba ELSE koristi u bloku IF i ako je uslov taan onda program ide onim tokom
kako ga usmjeravaju naredbe THEN i ELSE, osim u sluaju ako u bloku IF ne postoji
naredba GOTO koja bi preusmjerila tok programa.
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

11

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

Primjer:
K=5
IF(K.EQ.5) THEN
WRITE(6,*)TACNO
WRITE(6,*)ISHOD POZITIVAN
ELSE
WRITE(6,*)NETACNO
WRITE(6,*)ISHOD NEGATIVAN
ENDIF
STOP
END

vii asistent mr. Raid Hadovi, dipl.in.gra.

IF blokovi mogu raditi na sljedei nain:

a) IF blokovi proces rada: jedan po jedan

SK

[<broj reda>] IF [<Uslov>] THEN


------------BLOK X
------ELSE IF [<Uslov 1>] THEN
------------BLOK Y
------ELSE IF [<Uslov 2>] THEN
------------BLOK Z
------ELSE
------------BLOK W
------ENDIF

mr. Raid Hadovi, dipl.in.gra.

RI
PT

Pomou ELSE programu dajemo mogunost da odabere taan odgovor, odnosno ako je
uslov taan na ekranu bie ispisano:
TACNO
ISHOD POZITIVAN
dok e u suprotnom biti:
NETACNO
ISHOD NEGATIVAN

Redoslijed ispunjavanja uslova:

<Uslov> Ako je TANO program e uraditi BLOK X .


<Uslov> NETAAN i <Uslov 1> TAAN program e uraditi BLOK Y .
<Uslov> i <Uslov 1> NETANI i <Uslov 2> TAAN program e uraditi BLOK Z .
<Uslov>,<Uslov 1> i <Uslov 2> NETANI program e uraditi BLOK W .
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

12

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Redoslijed ispunjavanja uslova:

<Uslov> TAAN program e uraditi BLOK A.


<Uslov> i <Uslov 1> TANI program e uraditi BLOK B.
<Uslov> i <Uslov 1> i <Uslov 2> TANI program e uraditi BLOK C.
<Uslov> i <Uslov 1> TANI i <Uslov 2> NETAAN program e uraditi BLOK C1.
<Uslov> TAAN, a <Uslov 1> NETAAN program e uraditi BLOK B1.
<Uslov> NETAAN program e uraditi BLOK A1.

mr. Raid Hadovi, dipl.in.gra.

RI
PT

b) IF blokovi proces rada: iznutra ka vani


[<broj reda>] IF [<Uslov>] THEN
------------BLOK A
ELSE IF [<Uslov 1>] THEN
------------BLOK B
ELSE IF [<Uslov 2>] THEN
------------BLOK C
ELSE
------------BLOK C1
ENDIF
ENDIF
------------BLOK B1
ELSE
------------BLOK A1
ENDIF

SK

c) svaki blok koji pone mora se i zavriti. Iz jednog IF bloka se ne moe prebacivati
neka informacija u drugi.
Taan blok IF

IF (<Uslov>) THEN
------------------------ELSE
------------------------------------ENDIF

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

13

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Netaan blok IF

RI
PT

IF (<Uslov>) THEN
------------------------ELSE
------------------------ENDIF

Naredba koja se koristi za ponovno uitavanje varijabli nekog niza.

[<broj reda>] DO <Sn> <povratna varijabla> = <prva> , <kraj> [,<korak rasta>]


------------------------<Sn>
[
CONTINUE
]
<povratna varijabla> : moe biti cijeli ili realni broj
<prva> : poetna vrijednost povratne varijable
<kraj> : posljednja vrijednost povratne varijable
<korak rasta> : vrijednost za koju se poveava unos podataka

SK

<prva>, <kraj>, <korak rasta> : mogu biti


promjenljivi
nepromjenljivi
aritmetiki izraz
broj funkcija.

mr. Raid Hadovi, dipl.in.gra.

3) DO CONTINUE petlja

<Sn> : broj reda koji zavrava petlju i kome se pridruuje naredba CONTINUE. Mora biti
cijeli broj.
Pravila:

1. Naredba DO se uvijek mora koristiti zajedno sa naredbom CONTINUE.


2. Petlja poinje sa naredbom DO i uzima vrijednost <prva> i nastavlja sa
radom sve do naredbe CONTINUE.
3. Naredba CONTINUE prilikom svakog okretanja petlje poveava vrijednost
<prva> za vrijednost <korak rasta> dok ne doe do zadnje vrijednosti
<kraj>. Poslije toga program dalje nastavlja sa radom.
4. Ako se vrijednost <korak rasta> ne napie onda se uzima da je 1.
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

14

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

5. Ako je vrijednost <korak rasta> pozitivna vrijednost <povratna varijabla> se


mijenja sve dok ne doe do vrijednosti <kraj> pri tom e izvravati sve
naredbe unutar DO CONTINUE petlje.

RI
PT

WRITE(6,10)
10 FORMAT(1X,24(/))
DO 20 I = 1,5
WRITE(6,25) I
25 FORMAT(1X,I2,.PUTA RADIO)
20 CONTINUE
STOP
END

Primjer:

Primjer:

WRITE(6,10)
10 FORMAT(1X,24(/))
DO 20 I = 5,1
WRITE(6,25) I
25 FORMAT(1X,I2,.PUTA RADIO)
20 CONTINUE
STOP
END
Prikaz na ekranu:
5. PUTA RADIO

tj. ako je vrijednost <prva> vea od vrijednosti <kraj> onda e se petlja jedan put okrenuti.

SK

7. Ako je vrijednost <korak rasta> negativna onda vrijednost <prva> mora biti
vea od vrijednosti <kraj> tako da e se svaki put pri oktretanju petlje
vrijednost <povratna varijabla> smanjivati za vrijednost <korak rasta>.

mr. Raid Hadovi, dipl.in.gra.

6. Ako je ispunjen uslov onda e se DO CONTINUE petlja okrenuti barem


jednom.

Primjer:

WRITE(6,10)
11 FORMAT(1X,24(/))
DO 20 I = 5,1,-1
WRITE(6,25) I
25 FORMAT(1X,I=,I2)
20 CONTINUE
STOP
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

15

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Prikaz na ekranu:
I=5
I=4
I=3
I=2
I=1

U primjeru je vrijednost <prva> N, a vrijednost <kraj> M. npr. N=1, M=5.

9. Vrijednost <povratna varijabla> unutar petlje se ne smije ponovo posebno


zadavati, jer tada petlja nece uraditi predvieno.
Primjer:

SK

WRITE(6,10)
10 FORMAT(1X,24(/))
DO 20 I = 1,5
WRITE(6,25) I
25 FORMAT(1X,I2,.PUTA RADIO)
50 I=6
20 CONTINUE
STOP
END

mr. Raid Hadovi, dipl.in.gra.

RI
PT

8. Ako su vrijednosti <prva>, <kraj>, <korak rasta> definisane kao promjenljive


prije dolaska do naredbe DO tj. prije petlje mora im se prethodno zadati neka
vrijednost.
------------------5 DO 10 I = N,M
------------------10 CONTINUE
-------------------

Prikaz na ekranu:

PUTA RADIO

a da nije bilo reda 50 onda bi prikaz na ekranu bio:


1.
2.
3.
4.
5.

PUTA RADIO
PUTA RADIO
PUTA RADIO
PUTA RADIO
PUTA RADIO

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

16

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

10. Vrijednost <povratna varijabla> moe da bude zadata i kao promjenljiva i da


se koristi u nekoj drugoj svrhi osim u onoj osnovnoj.

RI
PT

20 CONTINUE
WRITE(6,25)ZBIR
25 FORMAT(1X,ZBIR BROJEVA:,I5)
STOP
END

mr. Raid Hadovi, dipl.in.gra.

INTEGER ZBIR
ZBIR=0
WRITE(6,10)
10 FORMAT(1X,24(/))
DO 20 I = 1,100
ZBIR=ZBIR + I

Primjer:

11. Naredbe GOTO ili IF program mogu da izvedu van granica DO CONTINUE
petlje.
MOGUE

DO ...................
GOTO ili IF
...................
CONTINUE

DO..................
....................
....................
CONTINUE
GOTO ili IF

SK

NEMOGUE

12. U sluaju da imamo vie od jedne petlje pravilo rjeavanja petlji je iznutra
prema vani.
MOGUE

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

17

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

NEMOGUE

RI
PT

DO 30
....................
....................
....................
30 CONTINUE
10 CONTINUE
20 CONTINUE

DO 10
DO 20

DO 10 K
DO 10 L
DO 10 M

10 CONTINUE

14. Po zavretku <povratna varijabla> se moe koristiti u razne druge svrhe u


zavisnosti od zadatka.
DIMENSION

Naredba koja odreuje (rezervie) prostor za varijable i promjenljive koje e biti uneene
prilikom koritenja programa.
DIMENSION serija ime (a1, a2, ...) [serija ime 1 (b1, b2,...)]

SK

Primjer:

mr. Raid Hadovi, dipl.in.gra.

13. Za vie petlji moemo da koristimo samo jedan CONTINUE.

DIMENSION AD(100), MAAS (100),MATRICA(10,10)

Pravila:
1.
2.
3.
4.
5.
6.

Naredba DIMENSION se postavlja na poetku programa. (START)


U ovoj naredbi moemo definisati jednu ili vie serija.
U jednom program u naredba se moe vie puta koristiti.
a1, a2, an ili b1, b2, bm dimenzija moe biti cijeli ili promjenljivi broj.
Ne moe se u istom programu 2 puta definisati prostor za istu seriju.
U programu se ne mora koristiti ova naredba.
Primjer: INTEGER A(10,10),B(100).

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

18

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

POTPROGRAMI
Prilikom programiranja mnogo puta se desi da se dijelovi programa ponavljaju. Da ih
ne bi ponovo pisali na razliitim mjestima, koristimo se potprogramima za obavljanje te
funkcije. Znai, program koji moe da radi sam za sebe, a koji je dio glavnog programa
zovemo POTPROGRAM.

Postoje dvije vrste potprograma:

1) Otvoreni potprogram: FUNCTION (funkcijski) potprogram


2) Zatvoreni potprogram: CALL SUBROUTINE (opti) potprogram

RI
PT

Radi povratka iz potprograma u glavni program obavezno je koritenje naredbe RETURN.

Pravila:
1)
2)

mr. Raid Hadovi, dipl.in.gra.

RETURN: Naredba za povratak iz potprograma u glavni program.

Najmanje jedna naredba RETURN mora biti u potprogramu


Prilikom povratka u glavni program vraa se u red iz kojeg je pozvan potprogram
(FUNCTION) ili odmah u prvi poslije poziva CALL (opti).

1) FUNCTION (funkcijski) potprogram

Dio programa koji moe da radi sam za sebe i koji moe da bude pozvan vie puta.
Opti oblik:

FUNCTION <ime> (par1(,par2)...)


----------------------------RETURN
END

SK

INTEGER
REAL
DOUBLE PRECISION
COMPLEX
LOGICAL
CHARACTER

<ime> Ime funkcijskog potprograma.


(par1(,par2)...) promjenljive koje se prebacuju iz glavnog programa u potprogram.
Pravila:

1) FUNCTION potprogram mora poeti sa FUNCTION a zavriti sa END.


2) Moe se koristiti vie od jedne definicije, osim u sluaju ako je funkcija aritmetika,
onda semoe koristiti samo jednom.
3) Koristei se imenom funkcije FUNCTION (funkcijski) potprogram dolazi u aktivno
stanje.
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

19

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Primjer:

RI
PT

S = F(A,B)

FUNCTION F(C,D)
Objanjenje:

mr. Raid Hadovi, dipl.in.gra.

4) Iz ovog potprograma u glavni program vraa se samo jedna vrijednost. Povratna


vrijednost nosi ime funckijskog potprograma.
5) Ime funkcije istovremeno odreuje i tip funkcije.
6) Isti FUNCTION potprogram moe biti pozvan vie puta.
7) U potprogramu mora biti samo jedno RETURN prisutno.
8) Jedan FUNCTION potprogram moe biti pozvan iz nekog drugog FUNCTION
potprograma.
9) Vrijednosti promjenljivih koje se alju u potprogram moraju biti jednake promjenljivim
u tom potprogramu.

F je ime potprograma koji se poziva iz glavnog programa i samim tim je nepoznata u


potprogramu, a dok su A i B ve poznate varijable koje su uneene u glavnom programu.
Prelaskom u potprogram nije obavezno koritenje istih oznaka za varijable, tako da u
primjeru varijabla A prelazi u C, a varijabla B u D. Nakon izvrene potrebne operacije u
potprogramu izraunata vrijednost F se vraa u glavni program i to u isti red iz kojeg je
potprogram, sa imenom F, pozvan. Nakon povratka u glavni program, vrijednost koju je
potrebno tampati ili ispisati na ekranu je vrijednost S (strelicama je objanjen put prelaska
vrijednosti iz glavnog programa u potprogram i nazad).
Kroz gornji primjer je objanjeno na koji nain se izraunava samo vrijednost S koristei
se funkcijskim potprogramom.

SK

2) OPTI POTPROGRAM

Opti oblik CALL SUBROUTINE (opteg) potprograma.


SUBROUTINE <ime potprograma> (par1,(par2),...)
--------------RETURN
END
<ime potprograma> Koristi se za odreivanje imena funkcije
(par1,(par2),...) Lista promjenljivih parametara.

Pravila:
1) Opti potprogram se poziva naredbom CALL iz glavnog programa, a potprogram
poinje sa SUBROUTINE, a zavrava sa END.
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

20

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

2) Unutar opteg potprograma sve naredbe se mogu koristiti.


3) Najmanje jedno RETURN mora postojati.
4) Ime potprograma nema nikakvog uticaja na vrijednost koja se vraa u glavni
program.
5) Jedan SUBROUTINE potprogram moe biti pozvan vie puta.
6) Iz jednog potprograma se moe pozvati novi potprogram.

RI
PT

------CALL PRIMJER (A,B,C,N,...)


------
------
SUBROUTINE PRIMJER (D,E,F,M...)
------------RETURN
END

Objanjenje:

mr. Raid Hadovi, dipl.in.gra.

Primjer:

SK

U gornjem primjeru ime potprograma je PRIMJER i obavezno se mora naznaiti u


potprogramu. Naime, potprogram PRIMJER se poziva iz glavnog programa pomou
naredbe CALL, tako da program prelazi u potprogram pomou naredbe SUBROUTINE.
Pored CALL i SUBROUTINE mora stajati ime potprograma (u ovom sluaju PRIMJER).
Ime programa predstavlja samo vezu izmeu glavnog programa i potprograma, ali se ne
uzima kao nepoznata vrijednost kao kod funkcijskog potprograma. U zagradi se nalaze sve
vrijednosti, poznate i nepoznate, odnosno vrijednosti koje e biti obraivane u
potprogramu.U glavnom programu su A i B nepoznate, a C i N su poznate i prelaze u F i
M, a iz potprograma kao proraunate D i E prelaze u glavni program na mjesto nepoznatih
A i B. U daljnem radu programa mogue je tampati proraunate varijable A i B, kao i
poznate C i N.
Kroz gornji primjer je objanjeno na koji nain se izraunava vei broj nepoznatih
vrijednosti koristei se optim potprogramom.
Glavna razlika izmeu dva predstavljena potprograma je u tome to
funkcijski potprogram moe da prorauna samo jednu vrijednost, a
opti potprogram moe beskonano mnogo vrijednosti.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

21

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

SK

RIJEENI ZADACI

mr. Raid Hadovi, dipl.in.gra.

RI
PT

vii asistent mr. Raid Hadovi, dipl.in.gra.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

22

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

1) Uitati varijable A i B i odtampati ih u glavnom programu.


Rjeenje:
Dijagram toka

START

RI
PT

A, B

STOP
END

Fortran
C
C
C

SK

UCITATI VARIJABLE A i B I ODSTAMPATI IH


UCITAVANJE VARIJABLI A i B
READ(5,10)A,B
10 FORMAT(F8.2)
STAMPANJE VARIJABLI A i B
WRITE(6,20)A,B
20 FORMAT(10X,//,'VARIJABLA A=',F8.2,/,'VARIJABLA B=',F8.2)
ZAUSTAVLJANJE PROGRAMA
STOP
END

mr. Raid Hadovi, dipl.in.gra.

Ispis na ekranu

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

23

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

2) Uitati varijable A, B i ZBI, te odrediti S=(A+ZBI)*B i odtampati ih u glavnom programu.


Rjeenje:
START

Dijagram toka

RI
PT

ZBI

S=(A+ZBI)*B
S

STOP
END

Fortran
C

SK

PROGRAM ZA UNOSENJE ZBI I ODREDJIVANJE S


WRITE(*,*)'PROGRAM ZA PRORACUN S=(A+ZBI)*B'
WRITE(*,*)' '
INTEGER ZBI
WRITE(6,*)'UNESITE VARIJABLU A'
READ(5,1)A
FORMAT(F8.2)
WRITE(6,*)'UNESITE VARIJABLU B'
READ(5,2)B
FORMAT(F8.2)
WRITE(6,*)'UNESITE ZADNJI BROJ INDEKSA'
READ(5,3)ZBI
FORMAT(I2)
S=(A+ZBI)*B
WRITE(6,4)S
FORMAT(/,5X,'VRIJEDNOST S=',F10.2)
STOP
END
na ekranu

mr. Raid Hadovi, dipl.in.gra.

INTEGER ZBI

Ispis

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

24

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

3) Uitati dvije varijable i odtampati onu koja je vea u glavnom programu.


Rjeenje:
Dijagram toka

NE

RI
PT

A>B

STOP
END

Fortran
C
C
10
C
2

SK

20

UCITATI VARIJABLE A i B I ODSTAMPATI VECU


UCITAVANJE VARIJABLI A i B
WRITE(*,*)'UNESITE VARIJABLE A i B'
READ(5,10)A,B
FORMAT(F8.2)
STAMPANJE VARIJABLI A i B
IF(A.GT.B)GOTO 15
WRITE(6,2)
FORMAT(10X,///,'VARIJABLA B JE VECA=',F8.2)
WRITE(6,20)B
FORMAT(10X,///,'VARIJABLA B=',F8.2)
GOTO 100
WRITE(6,3)
FORMAT(10X,///,'VARIJABLA A JE VECA=',F8.2)
WRITE(6,25)A
FORMAT(10X,///,'VARIJABLA A=',F8.2)
STOP
END

mr. Raid Hadovi, dipl.in.gra.

DA

START

15
3

25
100

Ispis na ekranu

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

25

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

4) Uitati varijable A i B, nai sumu i proizvod istih i odtampati ih u glavnom programu.


Rjeenje:
Dijagram toka

A
B

START

PROIZVOD=A*B
SUMA,
PROIZVOD

STOP
END

Fortran
C

SK

KALKULACIJA SUME I PROIZVODA DVIJE VARIJABLE


REAL C
WRITE(*,*)'UNESITE VARIJABLU A'
READ(5,1)A
FORMAT(F6.2)
WRITE(*,*)'UNESITE VARIJABLU B'
READ(5,2)B
FORMAT(F6.1)
C=A+B
P=A*B
WRITE(6,3)C
FORMAT(10X,///,'SUMA=',1X,F7.2)
WRITE(6,4)P
FORMAT(10X,////,'PROIZVOD=',1X,F10.2)
STOP
END

mr. Raid Hadovi, dipl.in.gra.

RI
PT

SUMA=A+B

Ispis na ekranu

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

26

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

5) Uitati varijable A i B, nai sumu i proizvod istih i odtampati veu od njih u glavnom
programu.
Rjeenje:
Dijagram toka

RI
PT

START

P=A*B

DA

NE

S>P

STOP
END

Fortran
C

SK

KALKULACIJA SUME I PROIZVODA I STAMPANJE VECE OD NJIH


WRITE(*,*)'UNESITE VARIJABLU A'
READ(5,1)A
FORMAT(F 6.2)
WRITE(*,*)'UNESITE VARIJABLU B'
READ(5,2)B
FORMAT(F 6.1)
S=A+B
P=A*B
IF(S.GT.P)THEN
WRITE(*,5)
FORMAT(/,'SUMA JE VECA OD PROIZVODA')
WRITE(6,3)S
FORMAT(/,'SUMA JE',1X,F 7.2)
ELSE
WRITE(*,6)
FORMAT(/,'PROIZVOD JE VECI OD SUME')
WRITE(6,4)P
FORMAT(/,'PROIZVOD JE',1X,F 10.2)
ENDIF
STOP
END

mr. Raid Hadovi, dipl.in.gra.

S=A+B

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

27

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Ispis na ekranu

6) Uitati varijable A i B, nai kolinik istih i odtampati ga u glavnom programu.


Rjeenje:

RI
PT

Dijagram toka

DA

B=0

C=A/B
C

STOP

SK

END

mr. Raid Hadovi, dipl.in.gra.

START

Fortran

1
5
2

KALKULACIJA KOLICNIKA
WRITE(*,*)'UNESITE VARIJABLU A'
READ(5,1)A
FORMAT(F 6.2)
WRITE(*,*)'UNESITE VARIJABLU B'
READ(5,2)B
FORMAT(F 6.2)
IF(B.EQ.0)GOTO 5
C=A/B
WRITE(6,3)C
FORMAT(/,'KOLICNIK JE',F10.2)
STOP
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

28

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Ispis na ekranu

Rjeenje:

b b 2 4ac
2a

D= b 2 4ac

RI
PT

x1,2 =

D > 0 => Realna rjeenja (dva rjeenja x1 , x2)


D < 0 => Kompleksno rjeenje
D = 0 => Dvostruko rjeenje (x1 = x2)
Dijagram toka

START

B,C
A

DA

A=0

mr. Raid Hadovi, dipl.in.gra.

7) Napraviti program za rjeavanje kvadratne jednaine: ax2 + bx + c = 0.

SK

D = B2 4 * A * C

IMAM
KOMPLEKSNA
RJESENJA

X1 =

B
2* A

IMAM DVOSTRUKO
RJESENJE, X=
STOP

X1 =

B D
2* A

X1 =

B + D
2* A

IMAM DVA RJESENJA


X1= , X2=

END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

29

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Fortran

30
3
40

4
100

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

20
2

10
1

PROGRAM ZA RJESAVANJE KVADRATNE JEDNACINE


REAL D,X1,X2
WRITE(6,*)'PROGRAM ZA RJESAVANJE KVADRATNE JEDNACINE'
WRITE(6,*)'Ax2+Bx+C=0'
WRITE(6,*)' '
WRITE(6,*)'UNESITE VRIJEDNOST B'
READ(5,1)B
WRITE(6,*)'UNESITE VRIJEDNOST C'
READ(5,1)C
WRITE(6,*)'UNESITE VRIJEDNOST A'
READ(5,1)A
FORMAT(F8.2)
IF(A.EQ.0)GOTO 10
D=B**2-4*A*C
IF(D)20,30,40
WRITE(6,2)
FORMAT(///,2X,'IMAM KOMPLEKSNA RJESENJA')
GOTO 100
X1=-B/(2*A)
WRITE(6,3)X1
FORMAT(///,2X,'IMAM DVOSTRUKO RJESENJE',/,'X=',F10.2)
GOTO 100
X1=-B/(2*A)-SQRT(D)/(2*A)
X2=-B/(2*A)+SQRT(D)/(2*A)
WRITE(6,4)X1,X2
FORMAT(///,2X,'IMAM DVA RJESENJA',/,'X1=',F10.2,/,'X2=',F10.2)
STOP
END

RI
PT

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

30

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

8) Uitati niz od N elemenata i odtampati ga u glavnom programu.


Rjeenje:
Dijagram toka

START
DIMENSION A (100)
UNESITE BROJ
ELEMENATA
NIZA

RI
PT

DO 10 I = 1,N

A (I)

10

ELEMENTI
NIZA A SU:

DO 20 I = 1,N
A (I)

SK

20

STOP

mr. Raid Hadovi, dipl.in.gra.

UITAJTE
ELEMENTE
NIZA A

END

Fortran
C
C

UCITAVANJE I STAMPANJE NIZA ELEMENATA


DIMENSION A(100)
UCITAVANJE BROJA ELEMENATA NIZA
WRITE(6,*)'UNESITE BROJ ELEMENATA NIZA'
READ(5,2)N
2 FORMAT(I4)
UCITAVANJE ELEMENATA NIZA A
WRITE(6,*)'UCITAJTE ELEMENTE NIZA A'
DO 10 I=1,N
READ(5,1)A(I)
1 FORMAT(F8.2)
10 CONTINUE
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

31

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

STAMPANJE ELEMENATA NIZA A


WRITE(*,*)'ELEMENTI NIZA A SU:'
DO 20 I=1,N
WRITE(6,3)A(I)
3 FORMAT(F8.2)
20 CONTINUE
STOP
END

RI
PT

Ispis na ekranu

9) Uitati niz od 20 elemenata i nai sumu lanova na parnim i proizvod elemenata na


neparnim mjestima. Sumu i proizvod odtampati u glavnom programu.
Rjeenje:

START

Dijagram toka

DIMENSION A(20)
DO 10 I=1,20
A(I)

10

SK

P=1

mr. Raid Hadovi, dipl.in.gra.

vii asistent mr. Raid Hadovi, dipl.in.gra.

S=0

DO 20 I=1,10
S=S+A (2*I)
P=P*A (2*I-1)
20

S,P

STOP

END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

32

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Fortran

2
C
20
C

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

10
1

SUMA PARNIH I PROIZVOD NEPARNIH ELEMENATA NIZA


DIMENSION A(20)
WRITE(*,*)'PROGRAM ZA SABIRANJE PARNIH I MNOZENJE NEPARNIH
WRITE(*,*)ELEMENATA NIZA'
WRITE(*,*)'UNESITE 10 ELEMENATA NIZA'
UNOSENJE ELEMENATA NIZA A
DO 1 I=1,10
READ(5,10)A(I)
FORMAT(F8.2)
CONTINUE
OPERACIJA SA ELEMENTIMA NIZA A
P=1
S=0
DO 2 I=1,5
S=S+A(2*I)
P=P*A(2*I-1)
CONTINUE
STAMPANJE SUME I PROIZVODA NIZA A
WRITE(6,20)S,P
FORMAT('SUMA=',F8.2,/,'PROIZVOD=',F14.2)
ZAUSTAVLJANJE PROGRAMA
STOP
END

RI
PT

10) Uitati niz od 10 elemenata, onda formirati drugi niz B, tako da se sastoji samo od
razliitih elemenata niza A. Zatim nai minimalni i maksimalni elemenat niza B. Odtampati
elemente niza A i niza B i minimalni i maksimalni elemenat u glavnom programu.
Rjeenje:
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

33

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

UCITATI NIZ OD 10 ELEMENATA, ONDA FORMIRATI DRUGI NIZ B TAKO DA SE


SASTOJI SAMO OD RAZLICITIH ELEMENATA NIZA A. ZATIM NACI MIN.I MAX.
ELEMENAT NIZA B. ODSTAMPATI NIZ B I MIN. I MAX. ELEMENTE NIZA B.
WRITE(*,*)FORMIRANJE NIZA B OD RAZLICITIH EL. NIZA A
WRITE(*,*)'I TRAZENJE MAKSIMALNOG I MINIMALNOG ELEMENTA NIZA'
DIMENSION A(10),B(10)
UCITAVANJE ELEMENATA NIZA A
WRITE(*,*)'UNESITE 10 ELEMENATA NIZA A'
DO 10 I=1,10
READ(5,1)A(I)
FORMAT(F8.2)
CONTINUE
STAMPANJE ELEMENATA NIZA A
WRITE(*,*)'ELEMENTI NIZA A SU:'
DO 11 I=1,10
WRITE(6,5)A(I)
FORMAT(F8.2)
CONTINUE

SK

C
C
C

mr. Raid Hadovi, dipl.in.gra.

Fortran

RI
PT

Dijagram toka

1
10

5
11

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

34

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

2
15
6
C

30
C
3

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

20

ODREDJIVANJE ELEMENATA NIZA B


B(1)=A(1)
K=0
DO 15 I=1,10
DO 20 J=1,K
IF(A(I).EQ.B(J))GOTO 15
CONTINUE
K=K+1
B(K)=A(I)
STAMPANJE BROJA ELEMENATA NIZA B
WRITE(*,2)B(K)
FORMAT(/,'NOVI ELEMENAT NIZA B JE:',F8.2)
CONTINUE
WRITE(*,6)K
FORMAT(/,5X,'BROJ ELEMENATA NIZA B JE:',I3)
ODREDJIVANJE MAX. I MIN. ELEMENTA NIZA B
PMAX=B(1)
PMIN=B(1)
DO 30 I=1,K
IF(PMAX.LT.B(I))THEN
PMAX=B(I)
ELSE
IF(PMIN.GT.B(I))PMIN=B(I)
ENDIF
CONTINUE
STAMPANJE MAX. I MIN. ELEMENTA NIZA B
WRITE(6,3)PMAX,PMIN
FORMAT(//,'MAX.ELEM.=',F8.2,/,'MIN.ELEM.=',F8.2)
STOP
END

RI
PT

vii asistent mr. Raid Hadovi, dipl.in.gra.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

35

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

11) Uitati 20 elemenata niza A, sortirati ih u rastuem redosljedu i odtampati.


Rjeenje:
Dijagram toka
START

DIMENSION A(20)
DO 10 I=1,20

RI
PT

A(D)

DO 20 I=1,19

DO 15 J=I+1,20

DA

A(I)<A(J)

NE

C=A(I)

A(I)=A(J)
A(J)=C

SK

15

20

mr. Raid Hadovi, dipl.in.gra.

10

A(J)
STOP
END

Fortran
C
UCITATI NIZ A OD 20 ELEMENATA, NAPISATI
C
PROGRAM ZA SORTIRANJE U RASTUCEM REDOSLJEDU
DIMENSION A(20)
WRITE(*,*)'PROGRAM ZA SORTIRANJE EL. NIZA A U RASTUCEM REDOSLJEDU'
WRITE(*,*)'UNESITE 20 ELEMENATA NIZA A'
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

36

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

3
30

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

15
20

DO 10 I=1,20
READ(5,1)A(I)
FORMAT(F8.2)
CONTINUE
SORTIRANJE ELEMENATA
DO 20 I=1,19
DO 15 J=I+1,20
IF(A(I).LT.A(J))GOTO 15
C=A(I)
A(I)=A(J)
A(J)=C
CONTINUE
CONTINUE
WRITE(*,*)'SORTIRANI ELEMENTI NIZA A SU:'
DO 30 J=1,20
WRITE(6,3)A(J)
FORMAT(F8.2)
CONTINUE
STOP

RI
PT

1
10

vii asistent mr. Raid Hadovi, dipl.in.gra.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

37

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

12) Uitati niz A od 10 elemenata, pa formirati niz B tako da imamo sljedee:


B(1)<B(2)>B(3)<B(4)>B(5)<B(6)>B(7)<B(8)>B(9)<B(10)

Rjeenje:
Dijagram toka:

START

DO

10

I=1,10

RI
PT

A(10)

DIMENSION A(10),B(10)

DO 20

I=1,9

DO 30

J=I + 1,10

DA

A(I)>A(J)

C =A(I)

NE

A (I) = A (J)

A(J) = C

30

20

DO 40

I=1,5

SK

B(2*I-1) = A( I )

mr. Raid Hadovi, dipl.in.gra.

10

B(2*I) =A ( I + 5 )

DO

40

50

I=1,10
B(I)

50

STOP
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

38

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Fortran

30

2
40

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

20

1
10

UCITATI NIZ A OD 10 ELEMENATA, PA FORMIRATI NIZ B TAKO DA IMAMO


SLJEDECE: B(1)<B(2)>B(3)<B(4)>B(5)<B(6)>B(7)<B(8)>B(9)<B(10)
DIMENSION A(10), B(10)
WRITE(*,*)'PROGRAM ZA FORMIRANJE NIZA B IZ NIZA A TAKO DA JE'
WRITE(*,*)'B[1]<B[2]>B[3]<B[4]>B[5]<B[6]>B[7]<B[8]>B[9]<B[10]'
WRITE(*,*)' '
WRITE(*,*)'UNESITE ELEMENTE NIZA A'
DO 10 I=1,10
READ(5,1)A(I)
FORMAT(F8.2)
CONTINUE
DO 20 I=1,9
DO 20 J=I+1,10
IF(A(I).GT.A(J))THEN
C=A(I)
A(I)=A(J)
A(J)=C
ELSE
GOTO 20
ENDIF
CONTINUE
DO 30 I=1,5
B(2*I-1)=A(I)
B(2*I)=A(I+5)
CONTINUE
WRITE(*,*)'ELEMENTI NIZA B SU:'
DO 40 I=1,10
WRITE(6,2)B(I)
FORMAT('NIZ B',F8.2)
CONTINUE
STOP
END

RI
PT

C
C

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

39

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

13) Uitati matricu A(44) i matricu B(44), onda nai matricu C kao proizvod matrica A i B.

C i , j = Ai , k B k , j
Rjeenje:

START

Dijagram toka:

DIMENSION A(4,4), B(4,4), C(4,4)


DO 10 I=1,4

RI
PT

DO 10 I=1,4

10

DO 20 I=1,4

DO 20 J=1,4
B(I)

20

DO 50 I=1,4

DO 30 J=1,4
C(I,J) =0

SK

DO 40 K=1,4

mr. Raid Hadovi, dipl.in.gra.

A (I)

C(I,J)= C(I,J) + A(I,K)* B(K,J)


40

30

50

C(I,J)
STOP

END

Fortran
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

40

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

6
2
20

40
8
7
30

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

1
10

NACI PROIZVOD MATRICA A i B, KAO MATRICU C


DIMENSION A(4,4), B(4,4), C(4,4)
WRITE(*,*)'PROGRAM ZA RACUNANJE PROIZVODA DVIJE MATRICE'
WRITE(*,*)' '
WRITE(*,*)'UNESITE ELEMENTE MATRICE A(44)'
DO 10 I=1,4
DO 10 J=1,4
WRITE(6,5)I,J
FORMAT('A(',I1,',',I1,')')
READ(5,1)A(I,J)
FORMAT(F8.2,F8.2)
CONTINUE
WRITE(*,*)'UNESITE ELEMENTE MATRICE B(44)'
DO 20 I=1,4
DO 20 J=1,4
WRITE(6,6)I,J
FORMAT('B(',I1,',',I1,')')
READ(5,2)B(I,J)
FORMAT(F8.2,F8.2)
CONTINUE
WRITE(*,*)'PROIZVOD MATRICA A i B JE:'
DO 30 I=1,4
DO 30 J=1,4
C(I,J)=0
DO 40 K=1,4
C(I,J)=C(I,J)+A(I,K)*B(K,J)
CONTINUE
WRITE(6,8)I,J
FORMAT('C(',I1,',',I1,')')
WRITE(6,7)C(I,J)
FORMAT(F10.2,F10.2)
CONTINUE
STOP
END

RI
PT

vii asistent mr. Raid Hadovi, dipl.in.gra.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

41

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

14) Uitati matricu A(44) onda nai trag matrice A


Rjeenje:
Dijagram toka:

START

DIMENSION A(4,4)
DO 10 I=1,4

DO 10 J=1,4

RI
PT

A(I)

TRAG = 0

DO 20 I=1,4

TRAG=TRAG+ A(I,I)
20

TRAG

STOP

END

Fortran

NACI TRAG MATRICE A


DIMENSION A(4,4)
WRITE(*,*)'PROGRAM ZA RACUNANJE TRAGA MATRICE'
WRITE(*,*)' '
WRITE(*,*)'UNESITE ELEMENTE MATRICE A(4x4)'
DO 10 I=1,4
DO 10 J=1,4
WRITE(6,5)I,J
FORMAT('A(',I1,',',I1,')')
READ(5,1)A(I,J)
FORMAT(F8.2,F8.2)
CONTINUE
TRAG=0
DO 20 I=1,4
TRAG=TRAG+A(I,I)
CONTINUE
WRITE(6,2)TRAG
FORMAT('TRAG MATRICE JE:',F10.2)
STOP
END

SK

mr. Raid Hadovi, dipl.in.gra.

10

1
10

20
2

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

42

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

15) U glavnom programu uitati varijable A i B i pozivom funkcijskog potprograma izraunati


sumu tih varijabli.
Rjeenje:

Dijagram toka:

SK

START

mr. Raid Hadovi, dipl.in.gra.

RI
PT

Ispis na ekranu

P. P.

SUMA = F(A,B)

SUMA

FUNCTION F(A,B)

F= A+B

RETURN
END

STOP
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

43

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Fortran
FUNKCIJSKI POTPROGRAM
WRITE(*,*)'PROGRAM ZA SABIRANJE VARIJABLI POMOCU'
WRITE(*,*)'FUNKCIJSKOG POTPROGRAMA'
WRITE(*,*)' '
WRITE(*,*)'UNESITE VARIJABLU A'
READ(5,1)A
1 FORMAT(F8.2)
WRITE(*,*)'UNESITE VARIJABLU B'
READ(5,2)B
2 FORMAT(F8.2)
SUMA=F(A,B)
WRITE(6,3)SUMA
3 FORMAT('SUMA VARIJABLI JE:',F10.2)
STOP
END
FUNCTION F(A,B)
F=A+B
RETURN
END
Ispis na ekranu

16) U glavnom programu uitati varijablu X, te pomou funkcijskog potprograma odrediti


f(X)=

X2
X2+2
5X

Rjeenje:

ako je
ako je
ako je

X>5
X=5
X<5

P.P.

Dijagram toka:

SK

FUNCTION F(X)

START

UNESITE NEPOZNATU X
Y=F(X)
Y

X>5
X=5
X<5

mr. Raid Hadovi, dipl.in.gra.

RI
PT

DA

F=X2

DA

F=X2+2

DA

F=5X
NE

STOP
END

RETURN

END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

44

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

SK

Ispis na ekranu prvi nain

mr. Raid Hadovi, dipl.in.gra.

PROGRAM ZA ODREDJIVANJE FUNKCIJE


X**2
X>5
f(X)= X**2+2
X=5
5X
X<5
WRITE(*,*)'UNESITE NEPOZNATU X'
READ(5,2)X
2 FORMAT(2F8.2)
Y=F(X)
WRITE(6,1)Y
1 FORMAT(1X,'SUMA:',F7.2)
STOP
END
FUNCTION F(X)
IF(X.GT.5)F=X**2
IF(X.EQ.5)F=X**2+2
IF(X.LT.5)F=5*X
RETURN
END

RI
PT

C
C
C
C

Prvi nain Fortran

Drugi nain Fortran (pomou BLOK IF)


C
C
C
C

ODREDITI FUNKCIJU
X**2
X>5
f(X)= X**2+2
X=5
5X
X<5
WRITE(*,*)'UNESITE NEPOZNATU X'
READ(5,2)X
2 FORMAT(2F8.2)
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

45

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

SK

Ispis na ekranu - drugi nain

mr. Raid Hadovi, dipl.in.gra.

RI
PT

Y=F(X)
WRITE(6,1)Y
1 FORMAT(1X,'F(X)=',F7.2)
STOP
END
FUNCTION F(X)
IF(X.GT.5)THEN
F=X**2
WRITE(6,*)'POSTO JE X>5 VRIJEDNOST FUNKCIJE JE F(X)=X**2'
ELSE
IF(X.EQ.5)THEN
F=X**2+2
WRITE(6,*)'POSTO JE X=5 VRIJEDNOST FUNKCIJE JE F(X)=X**2+2'
ELSE
ENDIF
IF(X.LT.5)THEN
F=5*X
WRITE(6,*)'POSTO JE X<5 VRIJEDNOST FUNKCIJE JE F(X)=5*X'
ENDIF
ENDIF
10 RETURN
END

17) U glavnom programu uitati prvi, pa drugi broj kombinacije, te pozivom funkcijskog
potprograma izraunati kombinaciju: K =

I!
J ! ( I J )!

Rjeenje:
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

46

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Dijagram toka:
START

P.P

INTEGER A,B,C,FAKTI

INTEGER FUNCTION FAKT (L)

I,J

FAKT = 1

A = FAKT (I)

DO 10 N=1,L

B = FAKT (J)

FAKT = FAKT*N

C = FAKT (I-J)

10

K = A/ (B*C)
F,J,K

RI
PT

RETURN

STOP

END

Fortran
C

SK

C
C
C

PRORACUN KOMBINACIJE K=I!/[J!(I-J)!]


INTEGER A,B,C,FAKT
I=PRVI BROJ
J=DRUGI BROJ
K=REZULTAT
WRITE(*,*)'PROGRAM ZA RACUNANJE BROJA KOMBINACIJA'
WRITE(*,*)' '
WRITE(*,*)'UNESITE PRVI,PA DRUGI BROJ KOMBINACIJE'
READ(5,1)I,J
1 FORMAT(2I3)
A=FAKT(I)
B=FAKT(J)
C=FAKT(I-J)
K=A/(B*C)
WRITE(6,3)I,J,K
3 FORMAT(1X,'1.BROJ:',I3,//,1X,'2.BROJ:',I3,//,1X,
+'BROJ KOMBINACIJA:',I4)
STOP
END
INTEGER FUNCTION FAKT(L)
FAKT=1
DO 10 N=1,L
FAKT=FAKT*N
10 CONTINUE
RETURN
END

mr. Raid Hadovi, dipl.in.gra.

END

Ispis na ekranu

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

47

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

18) Uitati x,y koordinate 10 taaka. Napisati funkcijski potprogram koji e da rauna rastojanja
datih taaka sa kordinatom XA = 0.5 i YA = 1.0, te nai najveu i najmanju duinu u glavnom
programu.
Dijagram toka:
START

DO 10

I=1,10

P.P.

DIMENSION X(10),Y(10),D(10)

FUNCTION DUINA (A,B,C,D)

DUINA=SORT((A-C)**2(B-D)**2)

RI
PT

X(I) ,Y(I)
10

RETURN
END

YA =1,0

DO 20 I = 1,10

D(I)=DUINA (X(I),Y(I),XA, YA)

20

DMAX=D(1)
DMIN=D(1)

DO 30

I = 1,10

DA

DMAX<D(1)

DMAX = D(1)

SK

NE

mr. Raid Hadovi, dipl.in.gra.

XA =0,5

NE

DMIN>D(1)

DMIN = D (1)
30

DMAX,DMIN

STOP
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

48

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Fortran

20

30
2

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

1
10

UCITATI x,y KOORDINATE 10 TACAKA.NAPISATI FUNKCIJSKI POTPROGRAM


KOJI CE DA RACUNA RASTOJANJA DATIH TACAKA OD TACKE SA
KOORDINATOM Xa=0,5 i Y=1,0. NACI NAJVECU I NAJMANJU DUZINU U
GLAVNOM PROGRAMU
DIMENSION X(10),Y(10),D(10)
WRITE(*,*)'PROGRAM ZA RACUNANJE RASTOJANJE TACAKA OD TACKE'
WRITE(*,*)'Xa=0,5 i Y=1,0'
WRITE(*,*)' '
WRITE(*,*)'UNESITE KOORDINATE 10 TACAKA A(X,Y)'
DO 10 I=1,10
WRITE(6,3)I
FORMAT('TACKA BROJ',I2,' JE: ')
READ(5,1)X(I),Y(I)
FORMAT(2F8.2)
CONTINUE
XA=0.5
YA=1.0
DO 20 I=1,10
D(I)=DUZINA(X(I),Y(I),XA,YA)
CONTINUE
DMAX=D(1)
DMIN=D(1)
DO 30 I=1,10
IF(DMAX.LT.D(I))THEN
DMAX=D(I)
ELSE IF(DMIN.GT.D(I))THEN
DMIN=D(I)
ENDIF
CONTINUE
WRITE(6,2)DMAX,DMIN
FORMAT(5X,'MAX. DUZINA JE:',F8.2,//,5X,'MIN. DUZINA JE:',F8.2)
STOP
END
FUNCTION DUZINA(A,B,C,D)
DUZINA=SQRT((A-C)**2+(B-D)**2)
RETURN
END

RI
PT

C
C
C
C

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

49

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

19) Uitati matricu A(44). Nai sumu elemenata iznad glavne dijagonale. Zatim nai maksimalni
elemenat (vrijednost) i njegove indekse. Sve to obraditi pomou opteg potprograma.
Rjeenje:
Dijagram toka:
START

P.P

DIMENSION A (4,4)

SUBROUTINE RACUN (B,S,M,N,PMAX)

DO 10 I = 1,10

DIMENSION B (4,4)

DO 10 I = 1,10

RI
PT

S=0

DO 20 J = 1,4

10

I<J

CALL RACUN (A,SUMA ,M,N,PMAX)

S=S+B(I,J)

20

SUMA,PMAX,
PMIN

PMAX=B(1,1)
M=1

STOP

N=1

DO 30 I = 1,4

END

DO 30 J=1,4

SK

PMAX<
B(I,J)

PMAX=B(I,J)
M=I
N=J

mr. Raid Hadovi, dipl.in.gra.

DO 20 I = 1,4

A (I, J)

30

RETURN

END

Fortran

C
C
C

SUMA ELEMENATA IZNAD GLAVNE DIJAGONALE I MAX. ELEM. MATRICE


M= PRVI INDEKS
N= DRUGI INDEKS
DIMENSION A(4,4)
WRITE(*,*)'PROGRAM ZA RACUNANJE SUME ELEMENATA'
WRITE(*,*)'IZNAD GLAVNE DIJAGONALE I MAX. ELEM. MATRICE'
WRITE(*,*)' '
WRITE(*,*)'UNESITE ELEMENTE MATRICE A(4x4)'
DO 10 I=1,4
DO 10 J=1,4
WRITE(6,5)I,J
Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

50

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

RI
PT

5 FORMAT('A(',I1,',',I1,')')
READ(5,1)A(I,J)
1 FORMAT(F8.2,F8.2)
10 CONTINUE
CALL RACUN(A,SUMA,M,N,PMAX)
WRITE(6,2)SUMA,PMAX,M,N
2 FORMAT('SUMA ELEMENATA IZNAD GLAVNE DIJAGONALE JE:',F10.2,/,
+'MAKSIMALNI ELEMENAT:',F8.2,/,'MJESTO MAKSIMALNOG ELEMENTA JE: A('
+,I1,',',I1,')')
STOP
END
SUBROUTINE RACUN(B,S,M,N,PMAX)
DIMENSION B(4,4)
S=0
DO 20 I=1,4
DO 20 J=1,4
IF(I.LT.J)THEN
S=S+B(I,J)
ENDIF
20 CONTINUE
PMAX=B(1,1)
M=1
N=1
DO 30 I=1,4
DO 30 J=1,4
IF(PMAX.LT.B(I,J))THEN
PMAX=B(I,J)
M=I
N=J
ENDIF
30 CONTINUE
RETURN
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

51

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

20) Uitati matricu A(44). Nai sumu elemenata ispod glavne dijagonale. Sve to obraditi
pomou opteg potprograma.
Rjeenje:
Dijagram toka:

P.P

START

SUBROUTINE RACUN (B,S)

DIMENSION A(4,4)

DIMESION B(4,4)

DO 10 I=1,4

S=0

RI
PT

DO 10 J=1,4

DO 20 J=1,4

10

I>J

CALL RACUN (A, SUMA)

SUMA

S= S+B (I,J)

STOP

20

END

RETURN

END

Fortran

SUMA ELEMENATA ISPOD GLAVNE DIJAGONALE


DIMENSION A(4,4)
WRITE(*,*)'PROGRAM ZA RACUNANJE SUME ELEMENATA ISPOD'
WRITE(*,*)'GLAVNE DIJAGONALE MATRICE'
WRITE(*,*)' '
WRITE(*,*)'UNESITE ELEMENTE MATRICE A(4x4)'
DO 10 I=1,4
DO 10 J=1,4
WRITE(6,5)I,J
FORMAT('A(',I1,',',I1,')')
READ(5,1)A(I,J)
FORMAT(F8.2,F8.2)
CONTINUE
CALL RACUN(A,SUMA)
WRITE(6,2)SUMA
FORMAT('SUMA ISPOD GLAVNE DIJ.',F10.2)
STOP
END
SUBROUTINE RACUN(B,S)
DIMENSION B(4,4)
S=0

SK

mr. Raid Hadovi, dipl.in.gra.

DO 20 I=1,4

A (I,J)

1
10

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

52

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

DO 20 I=1,4
DO 20 J=1,4
IF(I.GT.J)THEN
S=S+B(I,J)
ENDIF
20 CONTINUE
RETURN
END

mr. Raid Hadovi, dipl.in.gra.

RI
PT

Ispis na ekranu

21) Napraviti program za proraun reakcija, momenata savijanja i transverzalnih sila na


desetinama raspona proste grede optereene ravnomjernim kontinuiranim optereenjem.

SK

Rjeenje:
Dijagram toka:
START

REAL M,T,Q,L

R=Q*L/2

DO 20 K=0,10

DO 10 I=0,10

I *L
10
I *L

Q*
M = R*
10
2

T = R Q*

I *L
10

M
20
10
STOP

R
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

53

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Fortran

4
10

20
5

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

RI
PT

REAL M,T,Q,L
WRITE(6,*)'PROGRAM ZA PRORACUN M I T SILA PROSTE GREDE'
WRITE(6,*)'ZA RAVNOMJERNO KONTINUIRANO OPTERECENJE'
WRITE(6,*)'NA DESETINI RASPONA GREDE'
WRITE(6,*)' '
WRITE(6,*)'UNESITE STATICKI RASPON GREDE KAO REALAN BROJ'
WRITE(6,*)'STATICKI RASPON GREDE L='
READ(5,1)L
FORMAT(F 6.2)
WRITE(6,*)'UNESITE VRIJEDNOST OPTERECENJA KAO REALAN BROJ'
WRITE(6,*)'VRIJEDNOST OPTERECENJA Q='
READ(5,2)Q
FORMAT(F 6.2)
R=Q*L/2
WRITE(6,3)R
FORMAT(/,1X,'REAKCIJE',/,10X,'Av=Bv=',F 8.2,' kN')
WRITE(6,*)'MOMENTI SAVIJANJA NA DESETINAMA RASPONA'
DO 10 I=0,10
M=R*(I*L/10)-Q*(I*L/10)**2/2
WRITE(6,4)I,M
FORMAT(10X,'M',I2,'=',F 10.2,' kNm')
CONTINUE
WRITE(6,*)'TRANSVERZALNE SILE NA DESETINAMA RASPONA'
DO 20 K=0,10
T=R-Q*(K*L/10)
WRITE(6,5)K,T
CONTINUE
FORMAT(10X,'T',I2,'=',F 10.2,' kN')
STOP
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

54

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

SK

PROBLEMI ZA VJEBU

mr. Raid Hadovi, dipl.in.gra.

RI
PT

vii asistent mr. Raid Hadovi, dipl.in.gra.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

55

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

PROBLEMI ZA VJEBU

Problem 2: Za dati program napisan u FORTRANU napisati izlazne podatke i nacrtati


dijagram toka.

SK

10

INTEGER A,B,C,D
A=3
B=2
C=4
D=1
CALL DENE(A,B,C,D)
CALL ALT(C,D,B,A)
WRITE(*,10)A,B,C,D
FORMAT(/,4(I5,3X))
STOP
END
SUBROUTINE DENE(C,D,B,A)
INTEGER A,B,C,D
I=A+B+C+D
K=A*B
WRITE(*,10)A,B,C,D,I,K
FORMAT(/,4(I5,3X))
CALL ALT(I,K,A,B)
RETURN
END
SUBROUTINE ALT(I,K,A,D)
INTEGER A,D
J=K+A+D
I=J
D=I*J
WRITE(*,10)I,J,K,A,D
FORMAT(/,3(I5,3X))
RETURN
END

mr. Raid Hadovi, dipl.in.gra.

10

RI
PT

10

INTEGER A,B,C,D
A=3
B=2
C=4
D=1
CALL DENE(A,B,C,D)
WRITE(*,10)A,B,C,D
FORMAT(/,4(I5,3X))
STOP
END
SUBROUTINE DENE(C,D,B,A)
INTEGER A,B,C,D
I=A+B+C+D
K=A*B
WRITE(*,10)A,B,C,D,I,K
FORMAT(/,4(I5,3X))
RETURN
END

Problem 1: Za dati program napisan u FORTRANU napisati izlazne podatke.

10

10

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

56

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

mr. Raid Hadovi, dipl.in.gra.

10

RI
PT

10

INTEGER X1,X2
X1=4
X4=6
WRITE(*,10)X1,X2
FORMAT (1X,I4)
CALL ALT (X1,X2)
WRITE(*,10)X1,X2
STOP
END
SUBROUTINE ALT(A,B)
INTEGER A,B
X1=A+B
X2=A*B
A=A*B
B=A+5
WRITE(*,10)A,B
FORMAT (1X,I4)
RETURN
END

Problem 3: Za dati program napisan u FORTRANU napisati izlazne podatke i nacrtati


dijagram toka.

Problem 4: Za dati program napisan u FORTRANU napisati izlazne podatke i nacrtati


dijagram toka.

SK

10

INTEGER X1,X2
X1=4
X4=6
WRITE(*,10)X1,X2
FORMAT (1X,I4)
CALL ALT (X1,X2)
X1=X1+X2
CALL ALT(X2,X1)
WRITE(*,10)X1,X2
STOP
END
SUBROUTINE ALT(A,B)
INTEGER A,B
X1=A+B
X2=A*B
A=A*B
B=A+5
WRITE(*,10)A,B
FORMAT (1X,I4)
WRITE(*,15)X1,X2
FORMAT (1X,F7.2)
RETURN
END

10
15

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

57

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Problem 5: Za dati program napisan u FORTRANU nacrtati dijagram toka.


C
C
C

PROGRAM ZA KORISTENJE FUNKCIJA POMOCU POTPROGRAMA

FUNCTION COS1(X)
COS1=COS(X)
RETURN
END
FUNCTION TAN1(X)
TAN1=TAN(X)
RETURN
END

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

20
10

RI
PT

EXTERNAL SIN1,COS1,TAN1
WRITE(*,5)
FORMAT (1X,'UGAO',T17,'SINUS',T31,'KOSINUS',T46,'TANGENS',/,1X,
+ '----',T17,'-----',T31,'-------',T46,'-------')
DO 10 I=1,90
X=FLOAT(I)*1.745329E-2
CALL PRORACUN(SIN1,X,S)
CALL PRORACUN(COS1,X,C)
CALL PRORACUN(TAN1,X,T)
WRITE(*,20)I,S,C,T
FORMAT(1X,I3,T15,F7.3,T30,F7.3,T45,F7.3)
CONTINUE
STOP
END
SUBROUTINE PRORACUN(FUNC,Y,REZULTAT)
REZULTAT=FUNC(Y)
RETURN
END
FUNCTION SIN1(X)
SIN1=SIN(X)
RETURN
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

58

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

mr. Raid Hadovi, dipl.in.gra.

SK

RI
PT

vii asistent mr. Raid Hadovi, dipl.in.gra.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

59

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

mr. Raid Hadovi, dipl.in.gra.

SK

RI
PT

vii asistent mr. Raid Hadovi, dipl.in.gra.

PRORACUN ARCSINUS-a, ARCKOSINUS-a I ARCTANGENS-a


Zbirka rijeenih zadataka
Programiranje i numerike metode - FORTRAN

60

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

vii asistent mr. Raid Hadovi, dipl.in.gra.

Problem 6: Za dati program napisan u FORTRANU nacrtati dijagram toka.


C
C

PRORACUN ARCSINUS-a, ARCKOSINUS-a I ARCTANGENS-a

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

RI
PT

15
20

WRITE(*,10)
FORMAT(1X,T10,'UGAO',T20,'ARCSINUS',T35,'ARCKOSINUS',T50,
+ 'ARCTANGENS',/,1X,T10,'----',T20,8('-'),T35,10('-'),T50,10('-'))
DO 20 I=0,90,5
X=I*1.745329E-2
S=ASIN(X)
C=ACOS(X)
T=ATAN(X)
WRITE(*,15)I,S,C,T
FORMAT(1X,T10,I3,T19,F10.7,T35,F10.7,T50,F10.7)
CONTINUE
STOP
END

10

SK

Problem 7: Za dati program napisan u FORTRANU napisati izlazne podatke i nacrtati


dijagram toka.
Fortran

10
30

INTEGER BROJ(5,5),ZBI
WRITE(*,*)'RJESENJE ZADAATKA'
WRITE(*,*)'UNESITE ZBI'
READ(5,1)ZBI
FORMAT(I3)
DO 10 I=1,5
DO 10 J=1,5
BROJ(I,J)=0
IF(I.EQ.J)BROJ(I,J)=ZBI
CONTINUE
WRITE(*,30)((BROJ(I,J),J=1,5),I=1,5)
FORMAT(/,5(I2,4X),/)
STOP
END

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

61

Univerzitet Demal Bijedi u Mostaru


Graevinski fakultet
Programiranje i numerike metode

LITERATURA:

SK

1. Cezmi Orkun: Fortran 77, Ornas Yayinlari 1994.


2. Philip Crookall: Programiranje za poetnike, Tehnika knjiga 1983.

mr. Raid Hadovi, dipl.in.gra.

RI
PT

vii asistent mr. Raid Hadovi, dipl.in.gra.

Zbirka rijeenih zadataka


Programiranje i numerike metode - FORTRAN

73

You might also like