Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Univerzitet u Sarajevu

Prirodno - matematički fakultet

Odsjek za matematiku

Dokumentacija za Projekat 1 iz predmeta


Strukture podataka i algoritmi, na temu

POLINOM

Student: Muharem Šahinović


Uvod

Pored implementacije koja je data za početak projekta, klasa Polinom podržava konstruktor bez
parametara,klasični konstruktor (čiji je parametar željeni stepen polinoma), sekvencijski konstruktor koji
omogućava da se koeficijenti polinoma zadaju putem incijalizacione liste, metodu “DajStepen” koja
omogućava da se sazna stepen polinoma (stepen polinoma je za 1 veći od broja njegovih koeficijenata,
zbog postojanja slobodnog člana), funkciju “IzvrsiOperaciju “ , fukciju “f”, te operatore “[]” I “()” za
pristup koeficijentima polinoma, odnosno za računanje vrijednosti polinoma.
Implementacije

Ovdje ću opisati implementacije nekih funkcija.


 Implementacija operatorske funkcije za operator “()”.

Funkcija računa vrijednost polinoma p u tački x Hornerovim algoritmom.

Primjer: x^4+2x^3+3x^2+2x+1 = ( ( (x+2)*x + 3)*x + 2)*x + 1

 Operator “[]” koristimo za pristup koeficijentima datog polinoma.

 Funkcija “IzvrsiOperaciju” izvršava dvije operacije “+” I “-” nad monomima istog stepena.

 Funkcija “f” služi kao pomoćna funkcija “NulePolinoma”. Ona vraća vrijednost zadanog
polinoma u tački x. Tačka x prima zadane vrijednosti funkcije “NulePolinFunkcija “NulePolinoma”
je funkcija metoda bisekcije (metoda polovljenja).

 Metoda bisekcije je najjednostavnija metoda za nalaženje nultačaka. Ona će

sigurno konvergirati prema nultački α, ako je funkcija f kojoj tražimo nultačku

neprekidna na [a; b] i vrijedi f(a) * f(b) < 0:

Kako se radi metoda bisekcije?

1. Nalazi se srednja tačka x0 početnog intervala [a0; b0] = [a; b],

2. a zatim se nastavlja raditi na onom od intervala [a0; x0], ili [x0; b0] u kojem je

ostala nultačka.
3. Da bismo našli gdje je ostala nultačka, dovoljno je provjeriti predznak f(a0) *

f(x0). Ako je on negativan, nultačka je u [a0; x0], a ako je pozitivan, nultačka

je u [x0; b0]. Ako je predznak nula, to znači da je x0 nultačka.

4. Postupak ponavljamo s intervalom koji je dvostruko kraci od početnog. Njegovu

srednju tačku označimo s x1 . . .

Postupak zaustavljamo ili kad je dužina intervala dovoljno mala (ispod zadane

tačnosti "epsilon”).

Ostale funkcije mislim su jasne, tako da za njih ne treba dodatno objašnjenje.

Napomena

Operator “*” za množenje radi u vremenu O(n^2).

Operator “>>” I “<<” unosa ispisa ne vraćaju tražena rješenja (ima grešaka).

Funkciju IzvrsiOperaciju nisam ubacivao u “>>” jer već kako sam rekao ima grešaka.

Također operator za stepenovanje ne može da se pokrene.

Funkciju za sortiranje nisam implementirao.

You might also like