Transcript
Page 1: Programski alati  za matemati čko modeliranje

1Programski alati za matematičko modeliranje

FORTRAN

BASIC

EXCEL

PASCAL

C++

JAVA

MATLAB

W.R. Mathematica

GPSS

...

Page 2: Programski alati  za matemati čko modeliranje

2Pristup programiranju

1.) ALGORITAMSKI PRISTUP

2.) OBJEKTNI PRISTUP

FORTRAN

QBASIC

PASCAL

VBASIC

C++

JAVA

dio računalnih

vježbiMATLAB

Page 3: Programski alati  za matemati čko modeliranje

3Pristup programiranju

1.) ALGORITAMSKI PRISTUP

2.) OBJEKTNI PRISTUP

Page 4: Programski alati  za matemati čko modeliranje

4ALGORITAMSKI PRISTUP

Matematički algoritam:

Niz matematičkih operacija kojima se od početnih podataka dolazi do rješenja nekog zadatka.

Računalni algoritam:

Niz programskih naredbi kojima se od početnih podataka dolazi do rješenja nekog zadatka.

Primjer: rješenje kvadratne jednadžbe

Algoritam

ulazni podaci: a,b,c

izlazni podaci: x1 , x2

potprogram“subroutine”“procedure”

Page 5: Programski alati  za matemati čko modeliranje

5Struktura algoritamskog programa

GLAVNI PROGRAM

Podaci i parametri modela

Rješavanje jednadžbi modela

Statistička analiza

baza podataka

regresijski modeli

bilance

numeričke metode

analiza varijance

grafika

Page 6: Programski alati  za matemati čko modeliranje

6

Kod algoritamskog pristupa programiranju podaci i metode se povezuju u cjelinu na osnovu logičnog slijeda koji određuje postupak računanja.

Na primjer: prvo podaci, zatim definicije funkcije modela, primjena numeričke metode, grafički prikaz rezultata, analiza varijance, pisanje izvješća, itd….

Algoritamski pristup programiranju je najbliži uobičajenom inženjerskom pristupu rješavanja problema. Program se izvodi od “vrha” prema “dnu”

Dobra značajka algoritamskih programa je modularnost algoritama koja omogučava jednostavnost primjene, modifikaciju modula, unapređenje itd..

Negativna značajka je nestrukturiranost podataka koja ne omogućava jednostavnost za njihovu nadogradnju.

Značajke algoritamskih programa

Page 7: Programski alati  za matemati čko modeliranje

7Objektno programiranje ( OOP )

Osnovna misao kod objektnog programiranja je povezivanje podataka i metoda u objekte.

Objekti mogu biti fizički, npr. tehnološke jedinice, ili računarski objekti kao što su datoteke, slike, tekst itd..

Primjer objekta: pumpa P1

P2

Podaci o pumpama su u klasi PUMPA

varijable: Qmin , Qmax, , tlak P1 , P2

metode : uključeno, isključeno

parametri: gustoća, viskoznost, temperatura kapljevine

Page 8: Programski alati  za matemati čko modeliranje

8Značajke OOP

Podaci i metode čine cjelinu koju nazivamo objekt.

Objekti su svrstani u klase.

Klase se svrstavaju u više klase i time program ima hijerarhijsku organizaciju, od cjeline do detalja.

Složeni objekti se tvore iz jednostavnih objekata operacijom nasljeđivanja značajki nižih objekata.

Objekti mogu imati generičke i višestruke značajke (polimorfnost) koja omogućuje jednostavno definiranje specifičnih tipova objekata.

Objekti sadrže (encapsulate) metode kojima se njima manipulira.

Objekti se lagano povezuju u nove programe, i prenose iz jednog programa u drugi.

Page 9: Programski alati  za matemati čko modeliranje

9Osnove programiranja u QBASIC-u

QBASIC je algoritamski računalni jezik koji omogućava složenu primjenu potprograma (subroutine), ima bogatu bazu numeričkih i statističkih funkcija, omogućava rad s vektorima, matricama, tekstom, i brojne grafičke funkcije za prikaze rezultata i podataka.

Omogućava strukturno programiranje ali nema mogućnosti strukturiranja podataka.

Program ima izgled teksta koji se sastoji iz slova engleske abecede,

brojeva, i posebnih znakova, npr: *,+ - / “ itd..

Program se satoji od varijabli opisanih riječima i

brojeva.Brojevi se pridružuju varijablama s znakom =protok = 16.7

pridruživanje

Page 10: Programski alati  za matemati čko modeliranje

10Smisao pridruživanja:

Nazivu varijable je dodjeljena (pridružena znakom = ) lokacija u memoriji računala, a na lokaciji je pohranjena vrijednost varijable.

memorija matrica lokacija

16.7

adresa lokacije je: protoksadržaj lokacije

je 16.7

Page 11: Programski alati  za matemati čko modeliranje

11Primjer pridruživanja

A = 3.5

A = A + 2

Koja je vrijednost pohranjena u memorijskoj lokaciji s adresom A ?

Odgovor: 5.5

ili

A=5.5

Pridruživanje je s lijeva na desno. Izraz na desnoj strani se izračuna i pridružuje imenu varijable na lijevoj strani!

Programska naredba: A+B = 10 nema smisla

Page 12: Programski alati  za matemati čko modeliranje

12

Izgled osnovnog izbornika

Ovdje pišemo programske naredbe

A=4B=2C=A*B

Operacije s programom biramo iz izbornika

Page 13: Programski alati  za matemati čko modeliranje

13Operacije s programom

Operacije za manipuliranje s programom izvode se aktiviranjem pojedine funkcije iz izbornika.

Najčešće operacije su:

RUN za izvršenje programa

SAVE za pohranu programa

EDIT za upis naredbi i ispravljanje teksta programa

OPEN za otvaranje postojećeg programa

NEW za početak pisanja novog programa

HELP za pomoć

………. i.t.d. …. vježbati s programom!

Page 14: Programski alati  za matemati čko modeliranje

14Matematičke operacije

+ zbrajanje

- oduzimanje

* množenje

/ dijeljenje

Poredak izvođenja matematičkih operacija je isti kao u matematici.

Poredak se mijenja uporabom zagrada. Postoje samo okrugle zagrade ( ), a može ih se više kombinirati u matematičkom izrazu.

Page 15: Programski alati  za matemati čko modeliranje

15Logički operatori

<> različito

>

<

<=

>=

Page 16: Programski alati  za matemati čko modeliranje

16Matematičke funkcije

Neke od mnogobrojnih matematičkih funkcija su

SQR(x)

LOG(x)

SIN(x)

COS(x)

TAN(x)

ABS(x)

Page 17: Programski alati  za matemati čko modeliranje

17Programske naredbe

Neke od najčešćih naredbi su:

READ čitaj

PRINT piši

DATA podatak

IF ako

THEN tada

ELSE drugo

END kraj

vježbati s programom !!!

Page 18: Programski alati  za matemati čko modeliranje

18Prikaz izvođenja programa“ FLOW CHART”

Organizacija i tijek programa može se prikazati grafički s nekoliko osnovnih grafičkih elemenata (flow chart).

Objektno i strukturno programiranje zatno pojednostavljuju “koncipiranje” programa i eliminiraju potrebu za složenim grafičkim prikazima.

Grafički prikazi izvođenja programa su pomoć u radu i preporučuju se početnike u programiranju.

Page 19: Programski alati  za matemati čko modeliranje

19Elementi grafičkog prikaza programa

smjer prijenosa informacije

unos ( čitanje) podataka

izlaz (pisanje) podataka

pridruživanje podataka i varijabli

logičko ispitivanje tvrdnje

kraj

Page 20: Programski alati  za matemati čko modeliranje

20Primjer programa

Zadatak: Napišite program za proračun protoka za izmjerni pad tlaka na suženju.

21

0

PPAQ

Zadani su slijedeći podaci:

= 0,75

R = 0,125

P1 = 250 000 P2 = 210 000

= 1520

Page 21: Programski alati  za matemati čko modeliranje

21“Flow chart” za

računanje protoka

alfa = 0.75R = 0.125P1 = 250 000 P2 = 210 000 ro = 1520

čitaj

A=3.14*R^2

Page 22: Programski alati  za matemati čko modeliranje

22PROGRAMSKE STRUKTURE

1. Linijski niz naredbi

2. Program s granama i povratnim tokom (petljom)

3. Struktura s potprogramima ( vektori i matrice )

Page 23: Programski alati  za matemati čko modeliranje

23Dijagram toka programskih struktura

Linijska struktura

GRANE

PETLJA

Page 24: Programski alati  za matemati čko modeliranje

24Struktura s potprogramima

potprogram

1

potprogram

2

GLAVNI PROGRAM

paket potprograma

call

return

Page 25: Programski alati  za matemati čko modeliranje

25VEKTORI I MATRICE

a = ( a1 ,a2 , a3 ……an )T

ai u QBASIC-u se piše kao a(i)

a = ( 2 ,-1.5 , 3.1 ……7.4 )T

u QBASIC-u je

a(1) = 2

a(2) = -1.5

a(3) = 3.1

……….

matrica Ai,j je u QBASIC-u

A(i,j)

Page 26: Programski alati  za matemati čko modeliranje

26Primjer: srednja vrijednost

Rezultati mjerenja veličine x su:

4.3, 5.1, 4.8, 4.9, 5.2, 4.85, 5.01, 4.95

Prvo ćemo napisati grafički prikaz tijeka naredbi

a zatim program u QBASIC-u

Page 27: Programski alati  za matemati čko modeliranje

27čitaj N

i = 1

čitaj x(i)

ako i=N

nei i+1

da

suma=0 i=1

suma=suma+x(i)

i i+1

ako i=N

ne

ii+1da

srednjix = suma/N kraj

petlja

“loop”

Page 28: Programski alati  za matemati čko modeliranje

28

učitati program srednjiX

Programiranje petlje

i=1

naredbe koje se ponavljaju

ako i=N i=i+korak

ne

da

For i = 1 TO N STEP korak

naredba1

naredba2

NEXT i

Page 29: Programski alati  za matemati čko modeliranje

29Kvadratna jednadžba

Zadatak: riješite kvadratnu jednadžbu

a*x2+b*x+c=0

Rješenje može biti:

1) realna i različita

2) realna i identična

3) konjugirano kompleksna

Rješenje zavisi od diskriminante D=b2-4*a*c

Page 30: Programski alati  za matemati čko modeliranje

30Dijagram tokačitaj a,b,c

D=b2-4*a*c

ako D>0 x1=(-b+sqr(D))/(2a)

x2=(-b-sqr(D))/(2a)

piši x1,x2

daneako D<0

ne

da

realx= -b/(2a)

imx=sqr(-D)/(2a)

piši realx,imx

kraj

krajx1=x2=-b/(2a)

piši x1,x2

kraj učitaj program kvadj.bas

Page 31: Programski alati  za matemati čko modeliranje

31Vektori i matrice

vektor a= (a1,a2,………….an)T

QBASIC A(i) A(1)a1

nmnn

m

m

aaa

aaa

aaa

21

22221

11211

Amatrica

QBASIC A(i,j) ai,j

Page 32: Programski alati  za matemati čko modeliranje

32Potprogrami “subroutine”, “procedure”, ”function”

unos podataka

blok naredbi potprogram

prijenos podataka

lokalne varijableprijenos rezultatablok naredbi

kraj

glavni program potprogram

Page 33: Programski alati  za matemati čko modeliranje

33Primjer: norma vektora

Zadatak: odrediti norme vektora

a = ( 1, -2, 2.5, 4)T b= (-3 ,2 , 1) T

čitaj a

norma

Ni

iixx

1

2

X

||X||

poziv norma

piši norma(a)

čitaj b

poziv normapiši norma(b)

kraj

učitaj program norma.bas

Page 34: Programski alati  za matemati čko modeliranje

34Potprogrami iz linearne algebre

množenje vektora

zbrajanje matrica

množenje matrica

rješavanje sustava linearnih jednadžbi

VEKTMNOZ(N,a(),b(),p

MATZBROJ(N,M,A(),B(),C())

MATMNOZ(N,P,M,A(),B(),C())

GAUSL(N,NS,A())

Page 35: Programski alati  za matemati čko modeliranje

35Potprogram GAUSL

nsnnnnnn

nsnnn

nsnnn

nnsnn

ns

ns

nnnn

n

n

aaa

aaa

aaa

xxx

xxx

xxx

aaa

aaa

aaa

,2,1,

,22,21,2

,12,11,1

21

22221

11211

21

22221

11211

NS sustava s N nepoznanica

A=

Vježbe !!!


Recommended