Prethodna tema :: Sljedeća tema |
Kako ocjenjujete težinu zadaće? |
Ne razumijem što trebam napraviti! |
|
56% |
[ 13 ] |
Nerješivo! |
|
4% |
[ 1 ] |
Preteško. |
|
26% |
[ 6 ] |
Naporno. |
|
4% |
[ 1 ] |
Optimalno. |
|
8% |
[ 2 ] |
Trivijalno :) |
|
0% |
[ 0 ] |
|
Ukupno glasova : 23 |
|
Autor/ica |
Poruka |
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
Postano: 12:44 pet, 8. 12. 2006 Naslov: Druga zadaća 06/07 |
|
|
Druga zadaća dostupna je [url=http://web.math.hr/nastava/rp4/?download=DZ2_06_07.pdf]ovdje[/url].
Dodatne upute:
Tekst zadatka [b]nije[/b] striktna specifikacija.
Zadatak smijete slobodno tumačiti i neke stvari (npr. dozvoljena imena datoteka i direktorija) realizirati drugačije no što je zadano, dok god slijedite "duh" zadatka implementirajući uporabljiv, na memoriji baziran i serijalizabilan datotečni sustav.
ISO C++ ne poznaje koncept path separatora. Kako se on razlikuje na MS Windowsima (\) i POSIX (/) sustavima, tu nevolju pri parsiranju imena datoteka iz "stvarnog" sustava možete izbjeći na više načina:
Neće biti (jako) zamjereno budete li podržavali samo jedan separator.
Ipak, bit će vrednovano omogućite li podršku i za Windows i POSIX.
Najlakše je to izvesti uvjetnom deklaracijom sličnom ovoj:
[code:1]#if defined(WINDOWS)
const char separator = '\\';
#elif defined(POSIX)
const char separator = '/';
#else
#error Nije definiran makro za ciljni sustav!
#endif[/code:1]
Pri kompilaciji vašeg programa kompajleru definirate (opcijom [tt]-D[/tt]) makro WINDOWS ili POSIX, ovisno o ciljnom sustavu.
Alternativno, proučite boost::filesystem biblioteku:
[url]http://boost.org/libs/filesystem/doc/index.htm[/url]
Druga zadaća dostupna je ovdje.
Dodatne upute:
Tekst zadatka nije striktna specifikacija.
Zadatak smijete slobodno tumačiti i neke stvari (npr. dozvoljena imena datoteka i direktorija) realizirati drugačije no što je zadano, dok god slijedite "duh" zadatka implementirajući uporabljiv, na memoriji baziran i serijalizabilan datotečni sustav.
ISO C++ ne poznaje koncept path separatora. Kako se on razlikuje na MS Windowsima (\) i POSIX (/) sustavima, tu nevolju pri parsiranju imena datoteka iz "stvarnog" sustava možete izbjeći na više načina:
Neće biti (jako) zamjereno budete li podržavali samo jedan separator.
Ipak, bit će vrednovano omogućite li podršku i za Windows i POSIX.
Najlakše je to izvesti uvjetnom deklaracijom sličnom ovoj:
Kod: | #if defined(WINDOWS)
const char separator = '\\';
#elif defined(POSIX)
const char separator = '/';
#else
#error Nije definiran makro za ciljni sustav!
#endif |
Pri kompilaciji vašeg programa kompajleru definirate (opcijom -D) makro WINDOWS ili POSIX, ovisno o ciljnom sustavu.
Alternativno, proučite boost::filesystem biblioteku:
http://boost.org/libs/filesystem/doc/index.htm
Zadnja promjena: venovako; 15:40 ned, 14. 1. 2007; ukupno mijenjano 2 put/a.
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
Postano: 19:28 ned, 14. 1. 2007 Naslov: nerazumijevanje zadaće |
|
|
Vidim da se neki studenti izjašnjavaju kako ne razumiju zadaću.
Ako su anketni rezultati vjerni, imamo problem.
Ppl, ako nešto nije jasno, pitajte!
Ovdje, mailom, kako god želite.
Ideja zadaće je da napišete netrivijalni program, naučite se pronaći informacije i povezati ih s gradivom drugih računarskih kolegija.
To ne isključuje konzultiranje!
Iskoristite to (valjda ste u 4+ godine studiranja shvatili da konzultacije -- u raznim oblicima -- nisu ime za neko srednjevjekovno oruđe Svetog Uficija).
Vidim da se neki studenti izjašnjavaju kako ne razumiju zadaću.
Ako su anketni rezultati vjerni, imamo problem.
Ppl, ako nešto nije jasno, pitajte!
Ovdje, mailom, kako god želite.
Ideja zadaće je da napišete netrivijalni program, naučite se pronaći informacije i povezati ih s gradivom drugih računarskih kolegija.
To ne isključuje konzultiranje!
Iskoristite to (valjda ste u 4+ godine studiranja shvatili da konzultacije -- u raznim oblicima -- nisu ime za neko srednjevjekovno oruđe Svetog Uficija).
|
|
[Vrh] |
|
B&I Forumaš(ica)
Pridružen/a: 06. 09. 2006. (07:56:55) Postovi: (44)16
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
Postano: 22:15 ned, 14. 1. 2007 Naslov: |
|
|
RAM disk, tj. komad memorije koji OS rezervira, na njemu napravi strukturu datotecnog sustava i prezentira ga kao jos jedan disk (recimo za privremeno spremanje podataka kojima treba iznimno brz pristup) jedna je od tehnologija koja je bliska ideji zadatka.
Takodjer, vjerojatno ste se susreli s idejom da se datotecni sustav potrpa u datoteku nekog drugog sustava. Najrasireniji je primjer izrada i koristenje ISO slika CD i DVD medija. Unutar .iso datoteke zivi kompletan datotecni sustav, kojemu, ako vam to OS ili neka aplikacija podrzava, mozete pristupati kao svakom drugom datotecnom sustavu. Sigurno ste radili s .iso datotekama, a ne sumnjam da su ih mnogi od vas "mount-ali" i pristupali sadrzaju kao da se zbilja nalazi na fizickom disku.
Zadatak za zadacu pojednostavljena je kombinacija gornjih dvaju tehnologija.
Nije mi bas jasno sto vas muci... S datotecnim sustavima radite koliko i s racunalom, znate sto od njega ocekujete, sto su datoteke i direktoriji, te operacije s njima. Trebate ih moci potrpati u komad memorije na razuman nacin, tamo s njima nesto baratati (brisati, kopirati, dodavati nove datoteke i direktorije...), pametno spremiti tu memoriju u neku "vanjsku" datoteku (sliku) i moci kasnije tu sliku ucitati te nastaviti raditi sa spremljenim podacima.
Probajte preciznije formulirati pitanje, tj. koji dio u prici "steka"?
Opet naglasavam: zadatak je samo smjernica!
Ako ste shvatili sto se nacelno hoce (serijalizabilni RAM disk), imate punu slobodu u implementaciji!
Od vas se ne trazi da iznova napisete neki postojeci, produkcijski datotecni sustav i portate ga za RAM umjesto disk!
Vas datotecni sustav je minimalisticki i mozete ga napisati kako god hocete, dok god poznaje datoteke, direktorije i uobicajene operacije na njima, modulo prethodne napomene.
Naravno, primjeri gotovih sustava znaju dati inspiraciju...
RAM disk, tj. komad memorije koji OS rezervira, na njemu napravi strukturu datotecnog sustava i prezentira ga kao jos jedan disk (recimo za privremeno spremanje podataka kojima treba iznimno brz pristup) jedna je od tehnologija koja je bliska ideji zadatka.
Takodjer, vjerojatno ste se susreli s idejom da se datotecni sustav potrpa u datoteku nekog drugog sustava. Najrasireniji je primjer izrada i koristenje ISO slika CD i DVD medija. Unutar .iso datoteke zivi kompletan datotecni sustav, kojemu, ako vam to OS ili neka aplikacija podrzava, mozete pristupati kao svakom drugom datotecnom sustavu. Sigurno ste radili s .iso datotekama, a ne sumnjam da su ih mnogi od vas "mount-ali" i pristupali sadrzaju kao da se zbilja nalazi na fizickom disku.
Zadatak za zadacu pojednostavljena je kombinacija gornjih dvaju tehnologija.
Nije mi bas jasno sto vas muci... S datotecnim sustavima radite koliko i s racunalom, znate sto od njega ocekujete, sto su datoteke i direktoriji, te operacije s njima. Trebate ih moci potrpati u komad memorije na razuman nacin, tamo s njima nesto baratati (brisati, kopirati, dodavati nove datoteke i direktorije...), pametno spremiti tu memoriju u neku "vanjsku" datoteku (sliku) i moci kasnije tu sliku ucitati te nastaviti raditi sa spremljenim podacima.
Probajte preciznije formulirati pitanje, tj. koji dio u prici "steka"?
Opet naglasavam: zadatak je samo smjernica!
Ako ste shvatili sto se nacelno hoce (serijalizabilni RAM disk), imate punu slobodu u implementaciji!
Od vas se ne trazi da iznova napisete neki postojeci, produkcijski datotecni sustav i portate ga za RAM umjesto disk!
Vas datotecni sustav je minimalisticki i mozete ga napisati kako god hocete, dok god poznaje datoteke, direktorije i uobicajene operacije na njima, modulo prethodne napomene.
Naravno, primjeri gotovih sustava znaju dati inspiraciju...
Zadnja promjena: venovako; 0:31 uto, 16. 1. 2007; ukupno mijenjano 1 put.
|
|
[Vrh] |
|
Casper Forumaš(ica)
Pridružen/a: 02. 04. 2005. (14:45:29) Postovi: (7E)16
Spol:
Lokacija: Krk
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
Postano: 23:11 sri, 17. 1. 2007 Naslov: |
|
|
Sto se tice upisa ocjene, odnosno termina istog, o tome niti odlucujem niti trenutno znam ista vise no sto je objavljeno.
Svjestan sam da zadaca nije nimalo lagana, i mogu razumjeti zelju za odgodom, no termin predaje zadace uvjetovan je i terminom upisa ocjene.
Nikako mi ne odgovara da se zadace predaju u drugom semestru, no bude li odredjeno da ce prvi rok za upis ocjene biti u ozujku ili kasnije, vidjet cu da li se nesto uciniti.
Ako ce upis ocjene biti tijekom zimskih rokova, kraca odgoda nije nemoguca.
No, kako se nista jos ne zna (a bojim se da ce tek krajem mjeseca situacija biti nesto jasnija), radite kao da se rok za predaju ne mijenja.
Ponovno molim dvije stvari:
Napisite zadacu cim prije. Ako ni zbog koje druge motivacije, necete zadnji dan morati gubiti sate cekajuci na predaju. Takva situacija stvara nepotrebnu nervozu, a i tesko cete moci dobiti sansu da nesto popravite i ponovno donesete.
Ako ima nejasnoca, pitajte. Ne bih bas htio 6. veljace, ili koji god vec deadline bio, slusati isprike tipa "nije mi bilo jasno sto se treba napraviti, a nije se moglo nikoga pitati".
Sto se tice upisa ocjene, odnosno termina istog, o tome niti odlucujem niti trenutno znam ista vise no sto je objavljeno.
Svjestan sam da zadaca nije nimalo lagana, i mogu razumjeti zelju za odgodom, no termin predaje zadace uvjetovan je i terminom upisa ocjene.
Nikako mi ne odgovara da se zadace predaju u drugom semestru, no bude li odredjeno da ce prvi rok za upis ocjene biti u ozujku ili kasnije, vidjet cu da li se nesto uciniti.
Ako ce upis ocjene biti tijekom zimskih rokova, kraca odgoda nije nemoguca.
No, kako se nista jos ne zna (a bojim se da ce tek krajem mjeseca situacija biti nesto jasnija), radite kao da se rok za predaju ne mijenja.
Ponovno molim dvije stvari:
Napisite zadacu cim prije. Ako ni zbog koje druge motivacije, necete zadnji dan morati gubiti sate cekajuci na predaju. Takva situacija stvara nepotrebnu nervozu, a i tesko cete moci dobiti sansu da nesto popravite i ponovno donesete.
Ako ima nejasnoca, pitajte. Ne bih bas htio 6. veljace, ili koji god vec deadline bio, slusati isprike tipa "nije mi bilo jasno sto se treba napraviti, a nije se moglo nikoga pitati".
|
|
[Vrh] |
|
Sil Gost
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
Postano: 19:35 pet, 19. 1. 2007 Naslov: |
|
|
[quote="Sil"]1. sto znaci stvaranje i citanje korisnicki imenovanih diskovnih slika? ne razumijem pojam diskovna slika u ovom primjeru ni kako da ga prenesem programu.[/quote]
Diskovna slika je datoteka (na "stvarnom" disku) koja sadrzi vas datotecni sustav i to tako da se iz nje moze taj datotecni sustav ponovno ucitati u memoriju. Dakle, ovaj je put:
Stvori FS u memoriji ==> nesto radi s njim ==> presnimi ga u diskovnu sliku ==> ucitaj diskovnu sliku bilo kad kasnije ==> nastavi raditi s FSom.
Diskovna slika [latex]\cong[/latex] ISO image.
[quote="Sil"]2. da li za kreiranje FS-a, direktorija i datoteka mogu koristiti definirane strukture podataka ili je nuzno definirati nove klase? da li reprezentaciju direktorija mogu napraviti tako da koristim stabla? pretpostavljam da je trik da dobro definiram strukturu podataka.[/quote]
Mozes sto god hoces dok se drzis C++ standarda.
Da, ideja je dobro definirati strukture podataka, kompleksnost koda moze drasticno opasti s porastom kvalitete dizajna.
[quote="Sil"]3. sto znaci da FS mora omoguciti kopiranje svojih datoteka u datoteke vanjskog sustava i obratno?[/quote]
Hm, a kako ces inace staviti datoteke u FS?
Imas neke datoteke na "stvarnom" disku i moras ih moci prekopirati u FS, i obratno, iz FSa kopirati datoteke na disk.
[quote="Sil"]4. koja je veza sa kreiranim FS-om i komandnim interpreterom koji podrzava naredbe definirane u zadatku?[/quote]
Veza u kom smislu?
FS je biblioteka. Nema entry-point (main() funkciju), nije izvrsni program.
Komandni interpreter jedan je od mogucih programa koji koriste tu biblioteku, kao sto su npr. Command Prompt i Windows Explorer dva programa koji koriste sistemski podrzane datotecne sustave, ali niti jedan od njih ne implementira funkcionalnost file sistema.
Ako mislis kako se iskoristi biblioteka u programu, to je druga strana price, ali ne stignem sad raspisivati... Ako je to pitanje, reci, pa cu odgovoriti kasnije.
Sil (napisa): | 1. sto znaci stvaranje i citanje korisnicki imenovanih diskovnih slika? ne razumijem pojam diskovna slika u ovom primjeru ni kako da ga prenesem programu. |
Diskovna slika je datoteka (na "stvarnom" disku) koja sadrzi vas datotecni sustav i to tako da se iz nje moze taj datotecni sustav ponovno ucitati u memoriju. Dakle, ovaj je put:
Stvori FS u memoriji ⇒ nesto radi s njim ⇒ presnimi ga u diskovnu sliku ⇒ ucitaj diskovnu sliku bilo kad kasnije ⇒ nastavi raditi s FSom.
Diskovna slika ISO image.
Sil (napisa): | 2. da li za kreiranje FS-a, direktorija i datoteka mogu koristiti definirane strukture podataka ili je nuzno definirati nove klase? da li reprezentaciju direktorija mogu napraviti tako da koristim stabla? pretpostavljam da je trik da dobro definiram strukturu podataka. |
Mozes sto god hoces dok se drzis C++ standarda.
Da, ideja je dobro definirati strukture podataka, kompleksnost koda moze drasticno opasti s porastom kvalitete dizajna.
Sil (napisa): | 3. sto znaci da FS mora omoguciti kopiranje svojih datoteka u datoteke vanjskog sustava i obratno? |
Hm, a kako ces inace staviti datoteke u FS?
Imas neke datoteke na "stvarnom" disku i moras ih moci prekopirati u FS, i obratno, iz FSa kopirati datoteke na disk.
Sil (napisa): | 4. koja je veza sa kreiranim FS-om i komandnim interpreterom koji podrzava naredbe definirane u zadatku? |
Veza u kom smislu?
FS je biblioteka. Nema entry-point (main() funkciju), nije izvrsni program.
Komandni interpreter jedan je od mogucih programa koji koriste tu biblioteku, kao sto su npr. Command Prompt i Windows Explorer dva programa koji koriste sistemski podrzane datotecne sustave, ali niti jedan od njih ne implementira funkcionalnost file sistema.
Ako mislis kako se iskoristi biblioteka u programu, to je druga strana price, ali ne stignem sad raspisivati... Ako je to pitanje, reci, pa cu odgovoriti kasnije.
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
Postano: 21:20 sri, 24. 1. 2007 Naslov: |
|
|
[b]VAŽNO[/b]:
Krajnji rok za predaju druge zadaće je srijeda, 21. veljače u jutarnjim satima.
Naime, priča oko RP4 mora biti završena na drugom zimskom roku, a srijeda je zadnji dan za prijavu ispita u C razredu.
Molim, ne čekajte tu srijedu!
Ako se slažete, fiksirao bih moguće termine za predaju zadaće.
Predlažem da za slijedeći tjedan to budu:
ponedjeljak 29. siječnja 12h
srijeda 31. siječnja 16.30h
petak 2. veljače 18.30h
Naknadno ću javiti termine za kasnije.
Molim da mi se svakako najavite dan ranije, da znam hoće li itko doći.
Svakako ponesite i source i izvršni kod sa sobom!
Za svaki slučaj, pošaljite mi (barem) source i na mail venovako na studentu, znamo kako je hardveraj (ne)pouzdan.
VAŽNO:
Krajnji rok za predaju druge zadaće je srijeda, 21. veljače u jutarnjim satima.
Naime, priča oko RP4 mora biti završena na drugom zimskom roku, a srijeda je zadnji dan za prijavu ispita u C razredu.
Molim, ne čekajte tu srijedu!
Ako se slažete, fiksirao bih moguće termine za predaju zadaće.
Predlažem da za slijedeći tjedan to budu:
ponedjeljak 29. siječnja 12h
srijeda 31. siječnja 16.30h
petak 2. veljače 18.30h
Naknadno ću javiti termine za kasnije.
Molim da mi se svakako najavite dan ranije, da znam hoće li itko doći.
Svakako ponesite i source i izvršni kod sa sobom!
Za svaki slučaj, pošaljite mi (barem) source i na mail venovako na studentu, znamo kako je hardveraj (ne)pouzdan.
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
B&I Forumaš(ica)
Pridružen/a: 06. 09. 2006. (07:56:55) Postovi: (44)16
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
|
[Vrh] |
|
|