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

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

RI PT
PROGRAMIRANJE U FORTRANU
SKRIPTA MOSTAR, 2007.

A
mr. Raid Hadovi, dipl.in.gra.

ZBIRKA RIJEENIH ZADATAKA

SK

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
SADRAJ: 1. 2. 3. 4. 5. 6. 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

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
PROGRAMIRANJE U FORTRANU

SK
2

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

UVOD
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).

DIJAGRAM TOKA PROGRAMA


Definicija

RI PT
Znaenje ili Uitavanje podataka u program Operacija - rad sa podacima ili tampanje podataka i rezultata na ekranu ili na tampau Poreenje ispunjenje uslova Poetak i kraj programa Povratak iz potprograma u glavni program Pozivanje potprograma i potprogram
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

Oznaka

Naredba u Fortranu

READ, DATA, OPEN Zavisno od zadatka koriste se razliite komande WRITE, PRINT

SK

IF

START , STOP i END RETURN FUNCTION ili CALL SUBROUTINE

mr. Raid Hadovi, dipl.in.gra.

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

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

Dijagram toka Uitavanje podataka Operacija tampanje podataka Poreenje ispunjenje uslova START, STOP i END Pozivanje potprograma RETURN

Objanjenje 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.

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

VARIJABLE

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.

mr. Raid Hadovi, dipl.in.gra.

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.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

OPERACIJE U FORTRANU Aritmetike operacije Stepenovanje Dijeljenje Mnoenje Sabiranje Oduzimanje Oznake u FORTRAN u ** / * + -

Redoslijed koritenja aritmetikih operacija: R.br. 1. 2. 3. 4. Definicija zagrade stepenovanje mnoenje i dijeljenje sabiranje i oduzimanje Pisanje formula

RI PT
(A+B)/C

A
Pisanje formula u Fortranu ((A+B)*C)**D (B**2+4*A*C)/(2*A) 2*3,1415927*R**2 Prikaz u Fortranu .EQ. (Equally) .NE. (Not Equally) .LT. (Little) .GT. (Great) .LE. (Little and Equally) .GE. (Great and Equally)
5

Matematiki nain prikazivanja formula A+ B C

( ( A+B) C )

B2 + 4 A C 2 A 2 r 2

Zavisne operacije

SK
Logike operacije Fortran .NOT. .AND. .OR. .EQV. .NEQV. Znaenje Nije I Ili Ili je Ili nije

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

= <> < >

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

mr. Raid Hadovi, dipl.in.gra.

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: READ(5,10)N 10 FORMAT (I2)

WRITE(*,*) ili WRITE(*,n) ili WRITE(6,n)

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)

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.

SK
Promjenljiva

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.

FORMAT u Fortranu In Fn.m En.m

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

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

mr. Raid Hadovi, dipl.in.gra.

WRITE Naredba za tampanje ili ispis podataka i rezultata na ekranu ili na tampau.

RI PT

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.

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)

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

RI PT

Format READ I4 I4 I4 I4 Uneeni podatak 12 -122 123456 1000 Vrijednost 12 -122 123456 1000 Format - WRITE I4 I4 I4 I4
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
Oitani podatak 12 -122 1234 1000 Ispisani podatak 12 -122 **** 1000

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

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.

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Grafiki prikaz formata F8.3

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. Matematiki prikaz 1234556.958 0.34567 435.67 -123.4567 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
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

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

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.

nX oznaka za broj kolona koje e se preskoiti prilikom unoenja ili ispisa podataka ili rezultata. Koristi se u naredbama READ i WRITE. Primjer: READ(5,10)R 10 FORMAT(10X,F8.2) Znaenje u Formatu: 10X preskoeno deset kolona

SK
Primjer:

Znak / - oznaka za preskakanje odreenog broja redova pri unosu ili ispisu podataka ili rezultata. Koristi se u naredbama READ i WRITE. 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
8

mr. Raid Hadovi, dipl.in.gra.

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 a) LOGIKI IF b) ARITMETIKI IF c) BLOK IF a) LOGIKI IF

RI PT
<Izraz> .GT. .AND. .OR. <Izraz> promjenljiv nepromjenljiv Aritmetiki izraz
NE

A
DA

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> :

SK
Primjer:

<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).

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

K=5

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

mr. Raid Hadovi, dipl.in.gra.

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

RI PT
=0

Rezultat

A
10

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
50 NZBIR=NZBIR+BROJ GOTO 5 C C C

C C C

UNESEN JE NEGATIVNI CIJELI BROJ

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

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Rjeenje: Prikaz na ekranu e biti, ako unesemo sljedee brojeve 3, 5, -8, -7, 10, 0. ZBIR POZ. BROJEVA:####18 ZBIR NEG. BROJEVA:###-15 c) BLOK IF <Broj izraza> IF (<Uslov>) THEN --------------------------------------------ELSE --------------------------------------------ENDIF

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
11

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

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.

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT
[<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
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

IF blokovi mogu raditi na sljedei nain:

a) IF blokovi proces rada: jedan po jedan

SK
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 .
12

mr. Raid Hadovi, dipl.in.gra.

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

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

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT
IF (<Uslov>) THEN ------------------------ELSE ------------------------------------ENDIF
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

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.

SK
Taan blok IF

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

13

mr. Raid Hadovi, dipl.in.gra.

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

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Netaan blok IF IF (<Uslov>) THEN ------------------------ELSE ------------------------ENDIF 3) DO CONTINUE petlja

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
14

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 <prva>, <kraj>, <korak rasta> : mogu biti promjenljivi nepromjenljivi aritmetiki izraz broj funkcija.

SK
Pravila:

<Sn> : broj reda koji zavrava petlju i kome se pridruuje naredba CONTINUE. Mora biti cijeli broj. 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.

mr. Raid Hadovi, dipl.in.gra.

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. Primjer: 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

6. Ako je ispunjen uslov onda e se DO CONTINUE petlja okrenuti barem jednom. 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

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
15

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

SK
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

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.

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 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 -------------------

RI PT
PUTA RADIO 1. 2. 3. 4. 5. PUTA RADIO PUTA RADIO PUTA RADIO PUTA RADIO PUTA RADIO
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

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: 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

SK
Prikaz na ekranu:

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

16

mr. Raid Hadovi, dipl.in.gra.

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. Primjer: INTEGER ZBIR ZBIR=0 WRITE(6,10) 10 FORMAT(1X,24(/)) DO 20 I = 1,100 ZBIR=ZBIR + I

RI PT
DO ................... GOTO ili IF ................... CONTINUE DO.................. .................... .................... CONTINUE GOTO ili IF
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

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

NEMOGUE

SK
MOGUE

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

17

mr. Raid Hadovi, dipl.in.gra.

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

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

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

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

RI PT
DO 10 K DO 10 L DO 10 M 10 CONTINUE Primjer: INTEGER A(10,10),B(100).
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
18

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,...)] Primjer:

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

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

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.

mr. Raid Hadovi, dipl.in.gra.

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.

1) Otvoreni potprogram: FUNCTION (funkcijski) potprogram 2) Zatvoreni potprogram: CALL SUBROUTINE (opti) potprogram

Radi povratka iz potprograma u glavni program obavezno je koritenje naredbe RETURN. RETURN: Naredba za povratak iz potprograma u glavni program. Pravila: 1) 2)

RI PT
FUNCTION <ime> (par1(,par2)...) ----------------------------RETURN END
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

Postoje dvije vrste potprograma:

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:

SK
Pravila:

INTEGER REAL DOUBLE PRECISION COMPLEX LOGICAL CHARACTER

<ime> Ime funkcijskog potprograma. (par1(,par2)...) promjenljive koje se prebacuju iz glavnog programa u potprogram.

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.
19

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Primjer: S = F(A,B) FUNCTION F(C,D) Objanjenje:

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

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. 2) OPTI POTPROGRAM

SK
Pravila:

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.

1) Opti potprogram se poziva naredbom CALL iz glavnog programa, a potprogram poinje sa SUBROUTINE, a zavrava sa END.
20

mr. Raid Hadovi, dipl.in.gra.

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. ------CALL PRIMJER (A,B,C,N,...) ------ ------ SUBROUTINE PRIMJER (D,E,F,M...) ------------RETURN END

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
21

Primjer:

Objanjenje:

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.

SK

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.

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT
RIJEENI ZADACI

A SK
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

22

mr. Raid Hadovi, dipl.in.gra.

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

RI PT
B A, B STOP
END
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
23

START

Fortran C C C C

SK
Ispis na ekranu

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.

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: Dijagram toka
START

INTEGER ZBI

A B

RI PT
S=(A+ZBI)*B S STOP
END

ZBI

A
24

Fortran C

SK
2 3 4 Ispis

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

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

mr. Raid Hadovi, dipl.in.gra.

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
START

B
DA

RI PT
A B STOP
END

A>B

A
NE

Fortran C C 10 C 2 20 15 3

SK
25 100 Ispis na ekranu

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

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

25

mr. Raid Hadovi, dipl.in.gra.

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
START

A B

RI PT
PROIZVOD=A*B SUMA, PROIZVOD STOP
END

SUMA=A+B

A
26

Fortran C

SK
3 4 Ispis na ekranu

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

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

mr. Raid Hadovi, dipl.in.gra.

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
START

RI PT
S=A+B P=A*B
DA NE

A
P

S>P

STOP
END

Fortran C 1

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
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

SK

27

mr. Raid Hadovi, dipl.in.gra.

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: Dijagram toka

RI PT
START A B
DA

A
28

B=0

C=A/B C

STOP
END

SK
Fortran C 1 5 2 3

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

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Ispis na ekranu

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


Rjeenje:

x1,2 =

RI PT
START B,C A
DA

b b 2 4ac 2a

A
X1 = X1 = B D 2* A B + D 2* A
IMAM DVA RJESENJA X1= , X2=

D= b 2 4ac

D > 0 => Realna rjeenja (dva rjeenja x1 , x2) D < 0 => Kompleksno rjeenje D = 0 => Dvostruko rjeenje (x1 = x2)
Dijagram toka

A=0

SK
IMAM KOMPLEKSNA RJESENJA

D = B2 4 * A * C

X1 =

B 2* A

IMAM DVOSTRUKO RJESENJE, X= STOP END

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

29

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Fortran C 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

10 1

30 3 40

4 100

Ispis na ekranu

SK
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

30

mr. Raid Hadovi, dipl.in.gra.

20 2

RI PT

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
UITAJTE ELEMENTE NIZA A DO 10 I = 1,N A (I) 10 ELEMENTI NIZA A SU: DO 20 I = 1,N A (I)
20

A
31

SK
Fortran C C C

STOP

END

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

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

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

Ispis na ekranu

RI PT
START DIMENSION A(20) DO 10 I=1,20 A(I) 10 P=1 S=0 DO 20 I=1,10 S=S+A (2*I) P=P*A (2*I-1) 20 S,P STOP END

A
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

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:

Dijagram toka

SK

32

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Fortran C 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

C 10 1 C

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
33

2 C 20 C

Ispis na ekranu

SK
Rjeenje:

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.

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Dijagram toka

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
Fortran C C C C 1 10 C 5 11 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

34

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

20 C 2 15 6 C

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

30 C 3

Ispis na ekranu

SK
35

mr. Raid Hadovi, dipl.in.gra.

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

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

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

RI PT
DO 20 I=1,19 DO 15 J=I+1,20
A(I)<A(J)
DA NE

A
36

DIMENSION A(20)

C=A(I)

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

SK

20

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

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

1 10 C

15 20

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

3 30

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

A
37

Ispis na ekranu

SK

mr. Raid Hadovi, dipl.in.gra.

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:


Rjeenje: Dijagram toka:
START

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

DO

10

I=1,10

RI PT
10

A(10)

A
DA

DIMENSION A(10),B(10)

DO 20 DO 30

I=1,9

J=I + 1,10

A(I)>A(J)

C =A(I)

NE

A (I) = A (J)

A(J) = C

30

20

DO 40

I=1,5

SK
DO

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

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

40

50 B(I)

I=1,10

50

STOP
END

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

38

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Fortran C C 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

1 10

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
39

20

30

2 40

Ispis na ekranu

SK

mr. Raid Hadovi, dipl.in.gra.

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: Dijagram toka:

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

RI PT
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 DO 40 K=1,4

A
40

START

SK
Fortran

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

30

50

C(I,J)
STOP

END

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

1 10

6 2 20

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
41

40 8 7 30

Ispis na ekranu

SK

mr. Raid Hadovi, dipl.in.gra.

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

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 A(I)

RI PT
10
TRAG = 0 DO 20 I=1,4 TRAG=TRAG+ A(I,I) 20

A
TRAG
STOP END

Fortran C

1 10

20 2

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

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

42

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Ispis na ekranu

RI PT
START P. P. A B
FUNCTION F(A,B)

A
15) U glavnom programu uitati varijable A i B i pozivom funkcijskog potprograma izraunati sumu tih varijabli.
Rjeenje: Dijagram toka:

SK
SUMA = F(A,B) SUMA STOP
END

F= A+B

RETURN END

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

43

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Fortran C 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

RI PT
f(X)= X2 X2+2 5X ako je ako je ako je X>5 X=5 X<5
P.P. FUNCTION F(X) X>5 X=5 X<5
NE DA

A
DA

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

Rjeenje:

Dijagram toka:

SK
START UNESITE NEPOZNATU X Y=F(X) Y STOP END

F=X2 F=X2+2 F=5X

DA

RETURN

END

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

44

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Prvi nain Fortran C C C C 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
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
45

Ispis na ekranu prvi nain

SK
C C C C

Drugi nain Fortran (pomou BLOK IF) 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)

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT
I! J ! ( I J )!
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

Ispis na ekranu - drugi nain

SK
Rjeenje:

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

46

mr. Raid Hadovi, dipl.in.gra.

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

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Dijagram toka:
START
INTEGER A,B,C,FAKTI

P.P
INTEGER FUNCTION FAKT (L) FAKT = 1 DO 10 N=1,L

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

RI PT
END
STOP
END

A
FAKT = FAKT*N
10

RETURN

Fortran C C C C

SK
Ispis na ekranu

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

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

47

mr. Raid Hadovi, dipl.in.gra.

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
DIMENSION X(10),Y(10),D(10) DO 10 I=1,10

X(I) ,Y(I)
10

RI PT
XA =0,5 YA =1,0 DO 20 I = 1,10 D(I)=DUINA (X(I),Y(I),XA, YA)
20

A
RETURN
END
DA

P.P.

FUNCTION DUINA (A,B,C,D)

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

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

DO 30

I = 1,10

DMAX<D(1)

DMAX = D(1)

NE

SK
30

NE

DMIN>D(1)

DMIN = D (1)

DMAX,DMIN

STOP END

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

48

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Fortran C C C C 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

3 1 10

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
49

20

30 2

SK

Ispis na ekranu

mr. Raid Hadovi, dipl.in.gra.

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 DIMENSION A (4,4)

DO 10 I = 1,10 DO 10 I = 1,10 A (I, J) 10

RI PT
DO 20 I = 1,4 DO 20 J = 1,4
I<J

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

P.P

DIMENSION B (4,4) S=0

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

S=S+B(I,J)

SUMA,PMAX, PMIN

20

PMAX=B(1,1) M=1 N=1

STOP END

DO 30 I = 1,4 DO 30 J=1,4
PMAX< B(I,J)

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

SK
Fortran C C C

30

RETURN

END

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

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

Ispis na ekranu

SK
51

mr. Raid Hadovi, dipl.in.gra.

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

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:

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

RI PT
DO 20 I=1,4 DO 20 J=1,4
10

A
SUBROUTINE RACUN (B,S) DIMESION B(4,4) S=0 I>J S= S+B (I,J) 20 RETURN END
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

START

P.P

CALL RACUN (A, SUMA)

SUMA

STOP

END

Fortran C

1 10

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

52

mr. Raid Hadovi, dipl.in.gra.

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

RI PT
DO 10 I=0,10

A
DO 20 K=0,10

Ispis na ekranu

21) Napraviti program za proraun reakcija, momenata savijanja i transverzalnih sila na desetinama raspona proste grede optereene ravnomjernim kontinuiranim optereenjem.
Rjeenje: Dijagram toka:
START

SK
REAL M,T,Q,L L Q R=Q*L/2 R

I *L 10 I *L Q* M = R* 10 2
M

T = R Q*

I *L 10

20 10 STOP

END

Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

53

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Fortran 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

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
54

4 10

20 5

Ispis na ekranu

SK

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT SK
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
PROBLEMI ZA VJEBU
55

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

PROBLEMI ZA VJEBU Problem 1: Za dati program napisan u FORTRANU napisati izlazne podatke.
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

10

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
56

10

Problem 2: Za dati program napisan u FORTRANU napisati izlazne podatke i nacrtati dijagram toka.
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

10

SK
10 10

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

Problem 3: Za dati program napisan u FORTRANU napisati izlazne podatke i nacrtati dijagram toka.
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

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
57

10

10

Problem 4: Za dati program napisan u FORTRANU napisati izlazne podatke i nacrtati dijagram toka.
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

SK
10 15

mr. Raid Hadovi, dipl.in.gra.

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 5 PROGRAM ZA KORISTENJE FUNKCIJA POMOCU POTPROGRAMA 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

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

20 10

A
58

FUNCTION COS1(X) COS1=COS(X) RETURN END FUNCTION TAN1(X) TAN1=TAN(X) RETURN END Ispis na ekranu

SK

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT SK
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
59

mr. Raid Hadovi, dipl.in.gra.

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT SK
C PRORACUN ARCSINUS-a, ARCKOSINUS-a I ARCTANGENS-a
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
60

mr. Raid Hadovi, dipl.in.gra.

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 10 PRORACUN ARCSINUS-a, ARCKOSINUS-a I ARCTANGENS-a 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

15 20

SK
Fortran 1 10 30

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

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

mr. Raid Hadovi, dipl.in.gra.

Ispis na ekranu

RI PT

Univerzitet Demal Bijedi u Mostaru Graevinski fakultet Programiranje i numerike metode

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

RI PT
Zbirka rijeenih zadataka Programiranje i numerike metode - FORTRAN

A
LITERATURA: 1. Cezmi Orkun: Fortran 77, Ornas Yayinlari 1994. 2. Philip Crookall: Programiranje za poetnike, Tehnika knjiga 1983.

SK
73

mr. Raid Hadovi, dipl.in.gra.

You might also like