Upload
shirin
View
57
Download
8
Embed Size (px)
DESCRIPTION
Programski alati za matemati čko modeliranje. FORTRAN BASIC EXCEL PASCAL C++ JAVA MATLAB W.R. Mathematica GPSS. Pristup programiranju. dio računalnih vježbi. 1.) ALGORITAMSKI PRISTUP. FORTRAN QBASIC. MATLAB. 2.) OBJEKTNI PRISTUP. PASCAL VBASIC C++ JAVA. - PowerPoint PPT Presentation
Citation preview
1Programski alati za matematičko modeliranje
FORTRAN
BASIC
EXCEL
PASCAL
C++
JAVA
MATLAB
W.R. Mathematica
GPSS
...
2Pristup programiranju
1.) ALGORITAMSKI PRISTUP
2.) OBJEKTNI PRISTUP
FORTRAN
QBASIC
PASCAL
VBASIC
C++
JAVA
dio računalnih
vježbiMATLAB
3Pristup programiranju
1.) ALGORITAMSKI PRISTUP
2.) OBJEKTNI PRISTUP
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”
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
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
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
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.
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
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
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
12
Izgled osnovnog izbornika
Ovdje pišemo programske naredbe
A=4B=2C=A*B
Operacije s programom biramo iz izbornika
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!
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.
15Logički operatori
<> različito
>
<
<=
>=
16Matematičke funkcije
Neke od mnogobrojnih matematičkih funkcija su
SQR(x)
LOG(x)
SIN(x)
COS(x)
TAN(x)
ABS(x)
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 !!!
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.
19Elementi grafičkog prikaza programa
smjer prijenosa informacije
unos ( čitanje) podataka
izlaz (pisanje) podataka
pridruživanje podataka i varijabli
logičko ispitivanje tvrdnje
kraj
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
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
22PROGRAMSKE STRUKTURE
1. Linijski niz naredbi
2. Program s granama i povratnim tokom (petljom)
3. Struktura s potprogramima ( vektori i matrice )
23Dijagram toka programskih struktura
Linijska struktura
GRANE
PETLJA
24Struktura s potprogramima
potprogram
1
potprogram
2
GLAVNI PROGRAM
paket potprograma
call
return
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)
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
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”
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
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
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
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
32Potprogrami “subroutine”, “procedure”, ”function”
unos podataka
blok naredbi potprogram
prijenos podataka
lokalne varijableprijenos rezultatablok naredbi
kraj
glavni program potprogram
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
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())
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 !!!