Subiectul lec ției: ,,Noțiune de algoritmi Algoritmi și executanți”
Algoritmi - primerimedia.matevzdolenc.com/ul-fgg/ri-2011/algoritmi-primeri...Naslov: Algoritmi...
Transcript of Algoritmi - primerimedia.matevzdolenc.com/ul-fgg/ri-2011/algoritmi-primeri...Naslov: Algoritmi...
Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo
http://kgi.fgg.uni-lj.si/pouk/racinfdoc.dr. Matevž Dolenc
Algoritmi- primeri -
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 1
‣ Naloga: - Določi največji element eMax izmed
podanih n števil e1, e2, ..., en.
‣ Podatki:- n, e1, e2, ..., en
‣ Rezultat:- eMax
‣ Klic:- eMax = Največji_element(n, e)
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 1 (rešitev)
‣ Naloga: - Določi največji element eMax izmed
podanih n števil e1, e2, ..., en.
‣ Podatki:- n, e1, e2, ..., en
‣ Rezultat:- eMax
‣ Klic:- eMax = Največji_element(n, e)
eMax = e1Za i=2,3 ... n ponavljaj Če je ei > eMax potem eMax = ei Do semDo sem
Konec
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 2
‣ Naloga: - Določi vsoto n števil e1, e2, ..., en.
‣ Podatki:- n, e1, e2, ..., en
‣ Rezultat:- vsota
‣ Klic:- vsota = Vsota(n, e)
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 2 (rešitev)
‣ Naloga: - Določi vsoto n števil e1, e2, ..., en.
‣ Podatki:- n, e1, e2, ..., en
‣ Rezultat:- vsota
‣ Klic:- vsota = Vsota(n, e)
vsota = 0Za i=1,2,... n ponavljaj vsota = vsota + eiDo sem
Konec
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 3
‣ Naloga: - Po metodi bisekcije določi približek ničle x0 podane zvezne
funkcije f(x) na intervalu [a, b]. Funkcija mora imeti na krajiščih tega intervala nasproten predznak, kar zagotavlja obstoj vsaj ene ničle na danem intervalu.
‣ Podatki:- f(x), a, b, eps
‣ Rezultat:- x0
‣ Klic:- x0 = Ničla_funkcije(f, a, b, eps)
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 3 (rešitev)
‣ Naloga: - Po metodi bisekcije določi približek ničle x0 podane zvezne
funkcije f(x) na intervalu [a, b]. Funkcija mora imeti na krajiščih tega intervala nasproten predznak, kar zagotavlja obstoj vsaj ene ničle na danem intervalu.
‣ Podatki:- f(x), a, b, eps
‣ Rezultat:- x0
‣ Klic:- x0 = Ničla_funkcije(f, a, b, eps)
Ponavljaj c = (a + b) / 2 Če je f(a) * f(c) <= 0 potem b = c Sicer a = c Do sem Dokler je b - a > eps/2
x0 = c
Konec
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 4
‣ Naloga: - Izračunaj ploščino ravninskega mnogokotnika. Koordinate
oglišč podamo v protiurni smeri.
‣ Podatki:- xi, yi ... i = 1... n
‣ Rezultat:- A
‣ Klic:- A = Ploščina_mnogokotnika(n, x, y)
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 4 (rešitev)
‣ Naloga: - Po metodi bisekcije določi približek ničle x0 podane zvezne
funkcije f(x) na intervalu [a, b]. Funkcija mora imeti na krajiščih tega intervala nasproten predznak, kar zagotavlja obstoj vsaj ene ničle na danem intervalu.
‣ Podatki:- f(x), a, b, eps
‣ Rezultat:- x0
‣ Klic:- x0 = Ničla_funkcije(f, a, b, eps)
A = (x(n) - x(1))*(y(n) + y(1))
Za i = 1,2, ...n-1 ponavljaj A = pl + (x(i+1) - x(i))*(y(i+1) + y(i)) Do sem
A = 0.5 * A
Konec
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 5
‣ Naloga: - Podanih je n števil e1, e2, ..., en. Izpiši števila, ki so
večja od 20 ter koliko števil ustreza temu kriteriju.
‣ Podatki:- n, e1, e2, ..., en
‣ Rezultat:- (izpis)
‣ Klic:- Reši_nalogo(n, e)
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 5 (rešitev)
‣ Naloga: - Podanih je n števil e1, e2, ..., en. Izpiši števila, ki so
večja od 20 ter koliko števil ustreza temu kriteriju.
‣ Podatki:- n, e1, e2, ..., en
‣ Rezultat:- (izpis)
‣ Klic:- Reši_nalogo(n, e)
-
s20 = 0
Za i = 1,2, ... n ponavljaj Če je ei > 20 potem Izpiši ei s20 = s20 + 1 Do semDo sem
Izpiši s20
Konec
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 6
‣ Naloga: - Podanih je n števil e1, e2, ..., en. Določi indeks
največjega elementa.
‣ Podatki:- n, e1, e2, ..., en
‣ Rezultat:- imax
‣ Klic:- imax = Indeks_največjega_elementa(n, e)
http://kgi.fgg.uni-lj.si/pouk/racinfNaslov: Algoritmi
Primer 6 (rešitev)
‣ Naloga: - Podanih je n števil e1, e2, ..., en. Določi indeks
največjega elementa.
‣ Podatki:- n, e1, e2, ..., en
‣ Rezultat:- imax
‣ Klic:- imax = Indeks_največjega_elementa(n, e)
eMax = e1iMax = 1Za i = 2,3 ... n ponavljaj Če je ei > eMax potem eMax = ei iMax = i Do semDo sem
Izpiši iMax
Konec