Upload
maleah
View
35
Download
3
Embed Size (px)
DESCRIPTION
Tema:Algoritam razgranate strukture na primeru kvadratne jednačine. Jasmina Milić. - PowerPoint PPT Presentation
Citation preview
Tema:Algoritam razgranate strukture Tema:Algoritam razgranate strukture na primeru kvadratne jednačinena primeru kvadratne jednačine
Tema:Algoritam razgranate strukture Tema:Algoritam razgranate strukture na primeru kvadratne jednačinena primeru kvadratne jednačine
Jasmina MilićJasmina Milić
Algoritam se definiše kao konačan, uređen niz precizno formulisanih pravila kojima se rešava jedan ili čitava klasa problema.Algoritam proizvoljne složenosti može biti predstavljen kombinacijom tri bazne strukture: linijske, razgranate i ciklične.
• Linijskim se nazivaju algoritmi kod kojih se naredbe (ili instrukcije) izvršavaju jedna za drugom-svaka naredba izvršava se tačno jedanput.
• Razgranatim se nazivaju algoritmi kod kojih se u zavisnosti od vrednosti logičkog uslova izvršavanje nastavlja jednom od dve grane-svaka naredba izvršava se najviše jedanput.
• Cikličnim se nazivaju algoritmi koji sadrže niz instrukcija (telo ciklusa) koje se mogu ponavljati više puta.
• Postupak građenja algoritma razgranate strukture ilustrovaćemo na primeru kvadratne jednačine.
• Formulaciju rešiti kvadratnu jednačinu ax2+bx+c=0
možemo smatrati postavkom problema.• Da bi rešili ovaj problem treba da odgovorimo
na sledeća pitanja: – Koje su veličine poznate (ili ulazne), a koje
su nepoznate (ili izlazne) ?– Koje su moguće veze između poznatih i
nepoznatih veličina?– Šta se izdaje kao rezultat?
Za dati problem na postavljena pitanja mogu se dati sledeći odgovori:– Ulazne veličine su koeficijenti kvadratne
jednačine a, b i c- Veze imeđu poznatih i nepoznatih veličina
uspostavljamo odgovarajućom diskusijom - Izlazne veličine su rešenja kvadratne
jednačine x1, x2 ili odgovarajući komentar
Diskusija se svodi na razmatranje sledeća dva slučaja:
1. a≠0- potpuna kvadratna jednačina
2. a=0 –jednačina nije kvadratna
D>0rešenja su
realna i različita
D=0rešenja su
realna i jednaka
D<0rešenja su
konjugovano-komleksna
a
Dbx
21
a
Dbx
22
a
bxx
221
a
D
a
b
ix
ix
2Im
2Re
ImRe
ImRe
2
1
a≠0, potpuna kvadratna jednačinaračunamo diskriminantu D=b2-4ac i razmatramo slučajeve
b≠0jednačina ima jedinstveno
rešenje
b=0moguća su dva slučaja
1. c=0 - jednačina je neodređena, ima beskonačno mnogo rešenja
2. c≠0 - jednačina je nemoguća, nema rešenja
b
cx
a=0, linearna jednačina bx+c=0
Sada se algoritam može izraziti tekstualnim opisom:
Korak 1. Definisati vrednosti ulaznih veličina: a, b i cKorak 2. Pitati da li je a≠0
DA: 1. Izračunati vrednost diskriminante D=b2-4a*c 2. Pitati da li je D>0
DA: 1. Izračunati x1=(-b+D1/2)/(2*a) 2. Izračunati x2=(-b-D1/2)/(2*a) 3. Definisati rezultate, realna i različita rešenja x1 i x2 NE: 1. Pitati da li je D=0 DA: 1. Izračunati x=-b/(2*a) 2. Definisati dvostruko rešenje x1=x2=x NE: 1. Izračunati Re=-b/(2*a) 2. Izračunati Im=(-D)1/2/(2*a) 3. Definisati konjugovano kompleksna rešenja x1=Re+i*Im i x2=Re-i*Im
NE: 1. Pitati da li je b≠0 DA: 1. Izračunati x=-c/b 2. Definisati x- jedinstveno rešenje linearne jednačine NE: 1. Pitati da li je c=0 DA: 1. Izdati komentar da je jednačina neodređena NE: 1. Izdati komentar da je jednačinna nemoguća
• Ovo je primer algoritma na prirodnom jeziku.• Algoritam opisuje operacije ne nad konkretnim
vrednostima, već nad apstraktnim objektima (njegova formulacija ne zavisi od vrednosti promenljivih a, b i c).
• Samim tim isti algoritam može se primeniti za rešavanje bilo koje kvadratne jednačine.
• Kako je tekstualni opis algoritma kod složenijih problema teško čitljiv, pribegava se preglednijem grafičkom prikazu algoritma.
• Grafički prikaz algoritma se naziva blok šema ili algoritamska šema.
U algoritamskoj šemi se koriste sledeći grafički simboli za pojedine algoritamske korake:
POČETAK
KRAJ
-Definiše početak algoritma
-Definiše ulazne veličine algoritma
-Blok izračunavanja
-Grananje u zavisnosti od nekog uslova
-Definiše izlazne veličine algoritma
-Definiše kraj algoritma
Koristeći ove simbole možemo napraviti grafički opis algoritma za rešavanje kvadratne jednačine.
POČETAK
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
KRAJ
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
KRAJ
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
KRAJ
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
KRAJ
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
KRAJ
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
KRAJ
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
KRAJ
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
KRAJ
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
KRAJ
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
KRAJ
a, b, c
a≠0
D>0
D=b2-4ac
a
Dbx
21
a
Dbx
22
x1, x2
D=0b≠0
a
bx
2
x
a
b
2Re
a
D
2Im
x1,2 = Re±iIm
c=0b
cx
x ∞ 0
DA
DA
DADA
NE
NE
NE NE
DA
NE
POČETAK
KRAJ
Algoritam je dobar ukoliko ispunjava sledeće zahteve:
1. Definisanost-svaka naredba algoritma je jednoznačno definisana, nema proizvoljnih i nejasnih tumačenja
2. Determinisanost-vrednosti koje se dobijaju u bilo kom koraku jednoznačno su određene vrednostima iz prethodnih koraka
3. Izvršivost-svaka naredba je izvršiva; primer neizvršive naredbe bio bi: “Promenljivoj X dodeliti najveći realan broj manji od 1.”
4. Masovnost-algoritam rešava opštu klasu problema, koji se razlikuju samo po ulaznim veličinama. Na primer, umesto kreiranja algoritma koji rešava jednačinu x2-2x+1=0 rešen je opšti slučaj ax2+bx+c=0
5. Rezultativnost-algoritam u konačnom nizu koraka daje tražene rezultate za sve slučajeve za koje je kreiran
Jednostavnom proverom možemo utvrditi da naš algoritam ispunjava sve navedene zahteve. Vežbe radi zapisaćemo algoritme za rešavanje sledećih problema:
1. Odrediti min (max) brojeva a i b.2. Odrediti min (max) brojeva a, b i c.3. Ukoliko je a>b (a<b), zameniti mesta promenljivima a i
b.4. Za date vrednosti x i y izračunati z po formuli:
5. Za dato x izračunati y po formuli:
),(max1
5,0),min(2 yx
yxz
5,2
51,12
10,1
0,5
xx
xx
xx
x
y
Domaći zadatak:• Zapisati algoritam kojim se rešava sistem od dve
linearne jednačine sa dve nepoznate:a1x+b1y=c1
a2x+b2y=c2.
• Ako se od odsečaka sa dužinama x,y i z može konstruisati trougao, izračunati njegovu površinu po formuli:
2
))()((
zyxs
zsysxssp
K R A JK R A J