algoritmi - primerimedia.matevzdolenc.com/ul-fgg/ri-2011/algoritmi-primeri...naslov: algoritmi...

13
Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo http://kgi.fgg.uni-lj.si/pouk/racinf doc.dr. Matevž Dolenc Algoritmi - primeri -

Upload: others

Post on 02-Mar-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

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