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

Prog 2 - 1. kolokvij 2014. - osvrt (objasnjenje gradiva)
WWW:

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
shimija
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 01. 2007. (18:33:54)
Postovi: (138)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
53 = 55 - 2
Lokacija: Spljit

PostPostano: 22:39 pon, 5. 5. 2014    Naslov: Prog 2 - 1. kolokvij 2014. - osvrt Citirajte i odgovorite

Pokušat ću skrenuti pažnju na česte pogreške u 3. zadatku.
Za početak, i zadatke i rješenja 3. zadatka možete pronaći
na sljedećoj stranici
http://web.math.pmf.unizg.hr/~maerceg/prog2.html

Glavni dio a) dijela zadatka je bio shvatiti kako pročitati
odgovarajuće elemente matrice. Zapravo ista stvar je
napravljena u skripti za vježbe tako da ću samo istaknuti
nekoliko stvari.
U svojim rješenjima sam napisao kod koji linearno ovisi o
[tex]n[/tex] (jedna petlja), ali čak se i elegantnije može
riješiti kad imamo dvije petlje, tj. kvadratnu ovisnost o [tex]n[/tex].
Problem bi se sveo na to da za proizvoljne dvije točke u ravnini
moramo naći uvjet uz koji će ležati na nekom od dva dana
pravca, tj. treba naći jednadžbu pravaca. Vrlo jednostavno možete
dobiti da su dani pravci upravo
[dtex]
y=x +j-i \,, \quad y=-x+j+i \,,
[/dtex]
tj. ako su [tex]k[/tex] i [tex]l[/tex] indeksi proizvoljne točke
na danim pravcima u matrici, onda oni moraju zadovoljavati
[dtex]
l=k +j-i \,, \quad l=-k+j+i \,.
[/dtex]
Još trebamo paziti da ne "pobjegnemo" iz matrice pa zahtjevamo
[tex]k,l\in\{0,1,\dots,n-1\}[/tex]. Konačno, sljedeći kod
[code:1]
zbroj=0;
for(k=0; k<n; k++)
for(l=0; l<n; l++)
if(l==k+j-i || l==-k+j+i)
zbroj+=x[k][l];
[/code:1]
bi bio dobar za jednu grupu. Ako želite još malo pojednostaviti uvjet,
lako možete vidjeti da je on ekvivalentan (što naravno ima i svoju
geometrijsku interpretaciju) s
[code:1]
abs(k-i) == abs(l-j)
[/code:1]

Ipak najčešće rješenje je bilo da se skup traženih točaka podijeli
na četiri skupa (zapravo se radi o četiri dužine) koje dobivamo s
[tex]x[i+k][j+k], \, x[i+k][j-k], \, x[i-k][j-k], \, x[i-k][j+k][/tex], gdje
je [tex]k[/tex] neki brojač u odgovarajućem rasponu. Ovdje su se
javljale tri česte greške. Prva je da se nije pazilo da se srednja
točka, [tex]x[i][j][/tex], ne broji više puta (često se brojala 4 puta),
ali za to sam samo uzimao jedan bod. To naravno ipak nije imalo utjecaja kod grupa s minimumom i maksimumom. Druga pogreška
je da se nije dobro pazilo na raspon brojača [tex]k[/tex], a treća
je da se nije pazilo da prvu i drugu koordinatu, tj. indeks, moramo [b]istovremeno[/b] mijenjati. Konkretno, sljedeći kod
[code:1]
for(k=i; k<n; k++)
for(l=j; l<n; l++)
zbroj+=x[k][l];
[/code:1]
nije dobar.

Što se tiče b) dijela, naglasak je bio da se memorija pravilno
alocira i [b]dealocira[/b], te da se pravilno pozove funkcija jer
je ipak algoritam koji se javio bio nešto što se jako često javljalo
prošli semestar.
Već je bilo dosta pitanja i priče po forumu o mogućnosti deklariranja
matrice na način
[code:1]
int n;
scanf("%d", &n);
double x[n][n];
[/code:1]
ali to nisam prihvaćao kao dobro rješenje. Razlog je što za takvu
matricu funkcija iz a) dijela ne bi bila dobra, tj. program bi trebao
javiti pogrešku. Za razlog se samo prisjetite da smo kod funkcija
pisanih za statičke matrice uvijek eksplicitno morali navesti gornju
ogradu za drugu dimenziju matrice što bi značilo da bismo u prethodnom
slučaju morali napisati u prototip funkcije [tex]x[][n][/tex] što
naravno neće program progutati.
Naravno, i da nema prethodnog razloga, opet bismo vjerojatno
pokušali ne priznati gornji način deklaracije jer je naglašeno na
vježbama da se to neće priznavti na kolokviju.

M.E.

P.S. ako sam nešto krivo rekao, slobodno me ispravljajte
[size=7](jer ipak moje znanje iz programiranja nije puno veće od ovih slova :P)[/size]
Pokušat ću skrenuti pažnju na česte pogreške u 3. zadatku.
Za početak, i zadatke i rješenja 3. zadatka možete pronaći
na sljedećoj stranici
http://web.math.pmf.unizg.hr/~maerceg/prog2.html

Glavni dio a) dijela zadatka je bio shvatiti kako pročitati
odgovarajuće elemente matrice. Zapravo ista stvar je
napravljena u skripti za vježbe tako da ću samo istaknuti
nekoliko stvari.
U svojim rješenjima sam napisao kod koji linearno ovisi o
[tex]n[/tex] (jedna petlja), ali čak se i elegantnije može
riješiti kad imamo dvije petlje, tj. kvadratnu ovisnost o [tex]n[/tex].
Problem bi se sveo na to da za proizvoljne dvije točke u ravnini
moramo naći uvjet uz koji će ležati na nekom od dva dana
pravca, tj. treba naći jednadžbu pravaca. Vrlo jednostavno možete
dobiti da su dani pravci upravo
[dtex]
y=x +j-i \,, \quad y=-x+j+i \,,
[/dtex]
tj. ako su [tex]k[/tex] i [tex]l[/tex] indeksi proizvoljne točke
na danim pravcima u matrici, onda oni moraju zadovoljavati
[dtex]
l=k +j-i \,, \quad l=-k+j+i \,.
[/dtex]
Još trebamo paziti da ne "pobjegnemo" iz matrice pa zahtjevamo
[tex]k,l\in\{0,1,\dots,n-1\}[/tex]. Konačno, sljedeći kod
Kod:

zbroj=0;
for(k=0; k<n; k++)
   for(l=0; l<n; l++)
      if(l==k+j-i || l==-k+j+i)
         zbroj+=x[k][l];

bi bio dobar za jednu grupu. Ako želite još malo pojednostaviti uvjet,
lako možete vidjeti da je on ekvivalentan (što naravno ima i svoju
geometrijsku interpretaciju) s
Kod:

abs(k-i) == abs(l-j)


Ipak najčešće rješenje je bilo da se skup traženih točaka podijeli
na četiri skupa (zapravo se radi o četiri dužine) koje dobivamo s
[tex]x[i+k][j+k], \, x[i+k][j-k], \, x[i-k][j-k], \, x[i-k][j+k][/tex], gdje
je [tex]k[/tex] neki brojač u odgovarajućem rasponu. Ovdje su se
javljale tri česte greške. Prva je da se nije pazilo da se srednja
točka, [tex]x[i][j][/tex], ne broji više puta (često se brojala 4 puta),
ali za to sam samo uzimao jedan bod. To naravno ipak nije imalo utjecaja kod grupa s minimumom i maksimumom. Druga pogreška
je da se nije dobro pazilo na raspon brojača [tex]k[/tex], a treća
je da se nije pazilo da prvu i drugu koordinatu, tj. indeks, moramo istovremeno mijenjati. Konkretno, sljedeći kod
Kod:

for(k=i; k<n; k++)
   for(l=j; l<n; l++)
      zbroj+=x[k][l];

nije dobar.

Što se tiče b) dijela, naglasak je bio da se memorija pravilno
alocira i dealocira, te da se pravilno pozove funkcija jer
je ipak algoritam koji se javio bio nešto što se jako često javljalo
prošli semestar.
Već je bilo dosta pitanja i priče po forumu o mogućnosti deklariranja
matrice na način
Kod:

int n;
scanf("%d", &n);
double x[n][n];

ali to nisam prihvaćao kao dobro rješenje. Razlog je što za takvu
matricu funkcija iz a) dijela ne bi bila dobra, tj. program bi trebao
javiti pogrešku. Za razlog se samo prisjetite da smo kod funkcija
pisanih za statičke matrice uvijek eksplicitno morali navesti gornju
ogradu za drugu dimenziju matrice što bi značilo da bismo u prethodnom
slučaju morali napisati u prototip funkcije [tex]x[][n][/tex] što
naravno neće program progutati.
Naravno, i da nema prethodnog razloga, opet bismo vjerojatno
pokušali ne priznati gornji način deklaracije jer je naglašeno na
vježbama da se to neće priznavti na kolokviju.

M.E.

P.S. ako sam nešto krivo rekao, slobodno me ispravljajte
(jer ipak moje znanje iz programiranja nije puno veće od ovih slova Razz)


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


Pridružen/a: 05. 02. 2013. (09:53:59)
Postovi: (6)16
Sarma = la pohva - posuda
= 3 - 3

PostPostano: 16:08 uto, 6. 5. 2014    Naslov: komentar Citirajte i odgovorite

Vjerujem da su ukupni rezultati kolokvija vrlo diskutabilni, a uvjeren sam da nije problem samo u studentima !!
Neznam dal se ocekivalo da studenti imaju klik na prvu za svaki zadatak,al definitvno 99% studenata taj klik niti je imalo niti je koji od zadataka bio za "klik".....sve u svemu jako lose koncipiran kolokvij...Kolokviji dok je glavni i odgovorni bio V. Sego su imali glavu i rep, bilo je tezih zadataka (sto je i normalno) ali i onih gdje se na prvu znalo sta se radi i gdje su studenti skupljali za prolaz... Ovaj kololvij se nemoze svrstat u najteze al u najlosije koncipirane sigurno ; vjerujem da je prosjek bodova po zadatcima sigurno losiji nego prijasnjih godina kada su vjezbe i predavanja drzali pravi programeri...mozda razlog lezi i u ovogodisnjem programiranju 1 koje je dopuatilo prolaz "bas svima" pa je s obzirom na takvo znanje nerealno ocekivat i neato bolje
Vjerujem da su ukupni rezultati kolokvija vrlo diskutabilni, a uvjeren sam da nije problem samo u studentima !!
Neznam dal se ocekivalo da studenti imaju klik na prvu za svaki zadatak,al definitvno 99% studenata taj klik niti je imalo niti je koji od zadataka bio za "klik".....sve u svemu jako lose koncipiran kolokvij...Kolokviji dok je glavni i odgovorni bio V. Sego su imali glavu i rep, bilo je tezih zadataka (sto je i normalno) ali i onih gdje se na prvu znalo sta se radi i gdje su studenti skupljali za prolaz... Ovaj kololvij se nemoze svrstat u najteze al u najlosije koncipirane sigurno ; vjerujem da je prosjek bodova po zadatcima sigurno losiji nego prijasnjih godina kada su vjezbe i predavanja drzali pravi programeri...mozda razlog lezi i u ovogodisnjem programiranju 1 koje je dopuatilo prolaz "bas svima" pa je s obzirom na takvo znanje nerealno ocekivat i neato bolje


[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: 16:42 uto, 6. 5. 2014    Naslov: Re: komentar Citirajte i odgovorite

[quote="div"]dok je glavni i odgovorni bio V. Sego[/quote]
Kad je to točno V. Šego bio glavni i odgovorni na kolegiju? :grebgreb:
div (napisa):
dok je glavni i odgovorni bio V. Sego

Kad je to točno V. Šego bio glavni i odgovorni na kolegiju? Kotacici rade 100 na sat



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
div
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 05. 02. 2013. (09:53:59)
Postovi: (6)16
Sarma = la pohva - posuda
= 3 - 3

PostPostano: 16:47 uto, 6. 5. 2014    Naslov: Citirajte i odgovorite

Opcenito mislio sam na godinu/e kad je programerska ekipa bila: Doko,Bujanovic,Sego,Singer....A V. Sego je jedne godine bio i profesor i asiatent.. sve u svemu bez nekih igra rijeci mislim da se shvatila poanta komentara i nelogicnost programiranja ove godine !!!
Opcenito mislio sam na godinu/e kad je programerska ekipa bila: Doko,Bujanovic,Sego,Singer....A V. Sego je jedne godine bio i profesor i asiatent.. sve u svemu bez nekih igra rijeci mislim da se shvatila poanta komentara i nelogicnost programiranja ove godine !!!


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


Pridružen/a: 05. 11. 2012. (21:54:05)
Postovi: (17)16
Sarma = la pohva - posuda
-1 = 0 - 1

PostPostano: 6:03 čet, 8. 5. 2014    Naslov: Citirajte i odgovorite

pa gdje su ti rezultati?
pa gdje su ti rezultati?


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


Pridružen/a: 14. 01. 2013. (12:21:41)
Postovi: (C)16
Sarma = la pohva - posuda
-2 = 0 - 2

PostPostano: 8:45 čet, 8. 5. 2014    Naslov: Citirajte i odgovorite

na stranici kolegija,logicno :D
na stranici kolegija,logicno Very Happy


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


Pridružen/a: 05. 11. 2012. (21:54:05)
Postovi: (17)16
Sarma = la pohva - posuda
-1 = 0 - 1

PostPostano: 9:04 čet, 8. 5. 2014    Naslov: Citirajte i odgovorite

da, da, vidim sad :) nisu bili jutros
da, da, vidim sad Smile nisu bili jutros


[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.
Stranica 1 / 1.

 
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