Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Hornerov algoritam
WWW:
Idite na Prethodno  1, 2
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 11:36 čet, 19. 1. 2012    Naslov: Citirajte i odgovorite

Ako pozelis promjenu nicka, javi se PMom. Nakon sto promijenim, saljem PM da znas da je promijenjeno i od tada se ulogiravas s "novim".
Ako pozelis promjenu nicka, javi se PMom. Nakon sto promijenim, saljem PM da znas da je promijenjeno i od tada se ulogiravas s "novim".



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Zenon
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 09. 2011. (19:14:43)
Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]

PostPostano: 15:11 čet, 19. 1. 2012    Naslov: Citirajte i odgovorite

[quote="vsego"]Mudro Strumfeta (btw, znas da je ispravno Strum[color=red]p[/color]feta? :D) zbori, no ima jos jedna stvar: imamo umnozak polinoma, sto znaci da treba staviti [tt]p = 0;[/tt] prije ulaska u unutrasnju petlju u funkciji, inace se ispravno racuna vrijednost samo prvog polinoma. Ostalo mi se cini ok.

Samo da naglasim sto je Strumfeta rekla: dok ste na Prog, ne stavljati [tt]tip varijabla[[color=red]izraz[/color]];[/tt], osim ako je [tt]izraz[/tt] konstantan (npr. [tt]17*19[/tt]). Nizove varijabilne duljine radimo dinamickom alokacijom u prvoj polovici ljetnog semestra. U Prog 1 obicno zadamo duljinu; ovdje je valjda to zaboravljeno, pa zato ide proizvoljno.

No, ako uvodite neki niz koji zapravo ne treba, uvodjenje ogranicenja se ne prihvaca. Recimo: "Funkcija prima niz i treba ga sortirati po sumi znamenaka". Onda ne smijete dodati pomocni niz, jer ne znate gornju ogradu na njegovu duljinu. Ako dodatni nizovi nisu zabranjeni, smijete s dinamickom alokacijom (iako ju nismo radili), no onda mora biti korektno obavljena, ali zapravo se cilja na rjesenje bez pomocnih nizova (dakle, u skladu s obradjenim gradivom).

Ako mislite da trebate deklarirati neki niz za koji nismo zadali maksimalnu duljinu, mozete pitati dezurnog je li greska da te duljine nema u zadatku.[/quote]

Ovo je zadatak iz skripte, i da, kaže da je duljina niza [tex]n^2+1[/tex], tj. ovisi o veličini učitanog n-a. Glupo mi je sada staviti a[100] jer ako korisnik učita prirodni broj veći od 9, već je prešao limit niza. A nisam znao da se ovako ne smije. Ok!

Radi mi ispravno!!! :party: :thankyou:
vsego (napisa):
Mudro Strumfeta (btw, znas da je ispravno Strumpfeta? Very Happy) zbori, no ima jos jedna stvar: imamo umnozak polinoma, sto znaci da treba staviti p = 0; prije ulaska u unutrasnju petlju u funkciji, inace se ispravno racuna vrijednost samo prvog polinoma. Ostalo mi se cini ok.

Samo da naglasim sto je Strumfeta rekla: dok ste na Prog, ne stavljati tip varijabla[izraz];, osim ako je izraz konstantan (npr. 17*19). Nizove varijabilne duljine radimo dinamickom alokacijom u prvoj polovici ljetnog semestra. U Prog 1 obicno zadamo duljinu; ovdje je valjda to zaboravljeno, pa zato ide proizvoljno.

No, ako uvodite neki niz koji zapravo ne treba, uvodjenje ogranicenja se ne prihvaca. Recimo: "Funkcija prima niz i treba ga sortirati po sumi znamenaka". Onda ne smijete dodati pomocni niz, jer ne znate gornju ogradu na njegovu duljinu. Ako dodatni nizovi nisu zabranjeni, smijete s dinamickom alokacijom (iako ju nismo radili), no onda mora biti korektno obavljena, ali zapravo se cilja na rjesenje bez pomocnih nizova (dakle, u skladu s obradjenim gradivom).

Ako mislite da trebate deklarirati neki niz za koji nismo zadali maksimalnu duljinu, mozete pitati dezurnog je li greska da te duljine nema u zadatku.


Ovo je zadatak iz skripte, i da, kaže da je duljina niza [tex]n^2+1[/tex], tj. ovisi o veličini učitanog n-a. Glupo mi je sada staviti a[100] jer ako korisnik učita prirodni broj veći od 9, već je prešao limit niza. A nisam znao da se ovako ne smije. Ok!

Radi mi ispravno!!! Tuluuuuum!!! Thank you



_________________
It's a wonderful, wonderful life!
[tex]\heartsuit \ \mathcal{PMF-MO} \ \heartsuit[/tex]
[tex]\mathbb Z\Sigma\mathbb N\emptyset\mathbb N[/tex]
[Vrh]
Korisnički profil Pošaljite privatnu poruku
aj_ca_volin_te
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2011. (20:18:49)
Postovi: (6F)16
Sarma = la pohva - posuda
20 = 22 - 2

PostPostano: 21:06 čet, 19. 1. 2012    Naslov: Citirajte i odgovorite

http://degiorgi.math.hr/prog1/kolokviji/p1-kolokvij-0910-2.pdf
3.zadatak

[code:1]double h( double a[], double b[], int n, double x)
{
int i, j, m,
double sum, prod=1;
for(i=1;i<=n;i++)
{
sum=0;
for(j=n;j>=1;j--)
{
sum=sum*x+(a[i-1]+b[j-1]);
}
for(m=i;m>0;m--)
{
sum=sum*x;
}
prod=sum*prod;
}
return prod;
}
[/code:1]
jeli mi moze mozda netko ukazati na greske u ovom kodu, iako se nadam da ih nema :P
http://degiorgi.math.hr/prog1/kolokviji/p1-kolokvij-0910-2.pdf
3.zadatak

Kod:
double h( double a[], double b[], int n, double x)
{
    int i, j, m,
    double sum, prod=1;
    for(i=1;i<=n;i++)
    {
        sum=0;
        for(j=n;j>=1;j--)
        {
            sum=sum*x+(a[i-1]+b[j-1]);
        }
        for(m=i;m>0;m--)
        {
            sum=sum*x;
        }
        prod=sum*prod;
    }
    return prod;
}
       

jeli mi moze mozda netko ukazati na greske u ovom kodu, iako se nadam da ih nema Razz


[Vrh]
Korisnički profil Pošaljite privatnu poruku
homoviator
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 31. 01. 2011. (18:42:32)
Postovi: (3A)16
Sarma = la pohva - posuda
= 6 - 5

PostPostano: 22:34 čet, 19. 1. 2012    Naslov: Citirajte i odgovorite

[latex]
$\begin{align*}
p_i(x) &:= \sum_{j=1}^n (a_{i-1} - b_{j-1}) x^{i+j} = \sum_{j=0}^{n-1} (a_{i-1} - b_j) x^{i+j+1} \\
&= x^{i+1} \sum_{j=0}^{n-1} (a_{i-1} - b_j) x^j.
\end{align*}
[/latex]
Može li raspis Hornerovog algoritma za ovaj polinom(usput to je dio zadatka iz kolokvija 09./10.)?
Unaprijed hvala!

Može li raspis Hornerovog algoritma za ovaj polinom(usput to je dio zadatka iz kolokvija 09./10.)?
Unaprijed hvala!


[Vrh]
Korisnički profil Pošaljite privatnu poruku
mdoko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12)
Postovi: (71A)16
Spol: muško
Sarma = la pohva - posuda
199 = 237 - 38
Lokacija: Heriot-Watt University, Edinburgh

PostPostano: 1:16 pet, 20. 1. 2012    Naslov: Citirajte i odgovorite

[quote="homoviator"]Može li raspis Hornerovog algoritma za ovaj polinom:[dtex]
x^{i+1} \sum_{j=0}^{n-1} (a_{i-1} - b_j) x^j
[/dtex]
[/quote]
[code:1]polinom = 0;
for(j = n - 1; j >= 0; --j) polinom = polinom * x + a[i-1] - b[j];
for(j = 0; j < i + 1; ++j) polinom *= x;[/code:1]
homoviator (napisa):
Može li raspis Hornerovog algoritma za ovaj polinom:[dtex]
x^{i+1} \sum_{j=0}^{n-1} (a_{i-1} - b_j) x^j
[/dtex]

Kod:
polinom = 0;
for(j = n - 1; j >= 0; --j) polinom = polinom * x + a[i-1] - b[j];
for(j = 0; j < i + 1; ++j) polinom *= x;



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 1:37 pet, 20. 1. 2012    Naslov: Citirajte i odgovorite

@aj_ca_volin_te: Posto postoje sluzbena rjesenja, usporedi s tim. Meni se cini da ti fali jedna potencija [tt]x[/tt]-a, jer potencije u polinomu idu od [tt]i+1[/tt] to [tt]i+n[/tt], sto znaci da treba izluciti [tex]x^{i+1}[/tex], a ne [tex]x^i[/tex].
@aj_ca_volin_te: Posto postoje sluzbena rjesenja, usporedi s tim. Meni se cini da ti fali jedna potencija x-a, jer potencije u polinomu idu od i+1 to i+n, sto znaci da treba izluciti [tex]x^{i+1}[/tex], a ne [tex]x^i[/tex].



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
lost_soul
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 18. 10. 2009. (17:38:41)
Postovi: (133)16
Sarma = la pohva - posuda
= 15 - 6

PostPostano: 22:38 sri, 1. 2. 2012    Naslov: Citirajte i odgovorite

jedno pitanje vezano uz hornera na ovogodišnjem kolokviju.. nije mi jasno zašto u 2. zadatku prve grupe u for petlji i ide od (n-2)/3? zar nebi trebalo ići od (n-1)/3? :?
jedno pitanje vezano uz hornera na ovogodišnjem kolokviju.. nije mi jasno zašto u 2. zadatku prve grupe u for petlji i ide od (n-2)/3? zar nebi trebalo ići od (n-1)/3? Confused


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 23:02 sri, 1. 2. 2012    Naslov: Citirajte i odgovorite

Zbog pomaka (onog +1 u formuli). Ako stavis [tt](n-1)/3[/tt] i onda to u nekom trenu pomnozis s 3, dobit ces broj koji je manji ili jednak od [tt]n-1[/tt], ovisno o ostatku pri dijeljenju [tt]n[/tt] s 3.

Recimo da je [tt]n % 3 == 1[/tt], tj. da je [tt]n-1[/tt] djeljivo s 3. Tada bi ti taj rubni slucaj, [tt]3 * ((n-1)/3) == n-1[/tt] bio indeks djeljiv s 3. Dodas 1 (jer su indexi koje gledamo oblika [tex]3i+1[/tex], dakle imaju ostatak 1 pri dijeljenju s 3) i dobijes indeks [tt]n[/tt] sto je previse.

Ili, jednostavnije, uzmi taj pocetni [tt]i[/tt] (iz bilo koje od dvije verzije) i uvrsti u pripadni [tt]a[...][/tt], pa vidi sto se dogadja.

Zdravo je provjeriti za 3 vrijednosti [tt]n[/tt] takve da su im ostaci pri dijeljenju s 3 razliciti. Npr. uvrsti [tt]n = 5,6,7[/tt] (svima bi najveci index morao ispasti 4).
Zbog pomaka (onog +1 u formuli). Ako stavis (n-1)/3 i onda to u nekom trenu pomnozis s 3, dobit ces broj koji je manji ili jednak od n-1, ovisno o ostatku pri dijeljenju n s 3.

Recimo da je n % 3 == 1, tj. da je n-1 djeljivo s 3. Tada bi ti taj rubni slucaj, 3 * ((n-1)/3) == n-1 bio indeks djeljiv s 3. Dodas 1 (jer su indexi koje gledamo oblika [tex]3i+1[/tex], dakle imaju ostatak 1 pri dijeljenju s 3) i dobijes indeks n sto je previse.

Ili, jednostavnije, uzmi taj pocetni i (iz bilo koje od dvije verzije) i uvrsti u pripadni a[...], pa vidi sto se dogadja.

Zdravo je provjeriti za 3 vrijednosti n takve da su im ostaci pri dijeljenju s 3 razliciti. Npr. uvrsti n = 5,6,7 (svima bi najveci index morao ispasti 4).



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
lost_soul
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 18. 10. 2009. (17:38:41)
Postovi: (133)16
Sarma = la pohva - posuda
= 15 - 6

PostPostano: 23:12 sri, 1. 2. 2012    Naslov: Citirajte i odgovorite

oke hvala :)
oke hvala Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 23:32 sri, 1. 2. 2012    Naslov: Citirajte i odgovorite

Inace, uvijek provjeravajte granicne slucajeve petlji. Ja sam bogatije "skidao" bodove na indeksima koji izlete iz niza nego na jednostavno pogresnim formulama (kad su indexi pogresni, ali ostanu unutar niza). A stvarno ne bi trebalo biti neki problem uvrstiti rubne slucajeve (i [b]ne[/b] dobiti, kao lijep broj studenata, da [tt]i[/tt] krece od [tt]n-1[/tt], za index koji ima formulu [tt]n-1-2*i[/tt], dakle gotovo uvijek je u prvom koraku petlje negativan).
Inace, uvijek provjeravajte granicne slucajeve petlji. Ja sam bogatije "skidao" bodove na indeksima koji izlete iz niza nego na jednostavno pogresnim formulama (kad su indexi pogresni, ali ostanu unutar niza). A stvarno ne bi trebalo biti neki problem uvrstiti rubne slucajeve (i ne dobiti, kao lijep broj studenata, da i krece od n-1, za index koji ima formulu n-1-2*i, dakle gotovo uvijek je u prvom koraku petlje negativan).



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2
Stranica 2 / 2.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan