Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PROJEKTOVANJE PROGRAMA NA FON-u

[es] :: Art of Programming :: PROJEKTOVANJE PROGRAMA NA FON-u

[ Pregleda: 5858 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Alter Ego
null
Pančevo

Član broj: 1880
Poruke: 453
*.interpacket.net

Sajt: www.tridenet.com


Profil

icon PROJEKTOVANJE PROGRAMA NA FON-u09.04.2002. u 16:00 - pre 268 meseci
Ovo su zadaci sa ispita iz predmeta "Projektovanje programa" na IV godini FON-a. Iz ovog predmeta se radi C++ i OOM, ali zadaci koji dolaze teško mogu da se svrstaju u bilo koju jasno definisanu oblast. Zamolio bih sve one koji su možda polagali ovaj ispit(i položili) i one koji su se susreli sa nečim sličnim da daju neke ideje ili još bolje rešenja ovih zadataka.

Pogledajte sami o čemu se radi:

-Napisati klasu koja će generalno da pamti objekte u datoteci nezavisno od njihove strukture.

Ideja:DBF datoteke, sadrže zaglavlje sa strukturom podataka(klasa koja implementira zaglavlje) i same podatke, ili kao drugo rešenje: sve atribute svesti na stringove i čuvati podatke o dužini atributa.

-Napisati klasu koja će biti odgovorna za obezbeđivanje sledećeg ponašanja:
INSERT objekatA RESTRICTED objekatB za bilo koje dve proizvoljne klase
(Od roka do roka se menja, npr. može da bude INSERT, ili DELETE, umesto RESTRICTED, CASCADES i slično)

Znači nešto kao kod BP. Kako je asistent rekao, za neki konkretan primer se priznaje polovično, a generalno rešenje(templejti) pun iznos poena.

-Napisati klasu koja će da čuva strukturu i ponašanje proizvoljnog sekvencnog dijagrama.(ili klas dijagrama, dijagrama kolaboracije,...)
E ovo mi tek nije jasno! Asistent je dao ideju da se posmatra kao metamodel:
METAMODEL->REL.MODEL->KLASE

Prvi zadatak još i razumem, ali druga dva mi nisu jasni tako da očekujem komentare prevashodno za njih...


 
Odgovor na temu

kobrejabre
Bgd

Član broj: 1793
Poruke: 269
*.eunet.yu

Sajt: www.nemam.com


Profil

icon Re: PROJEKTOVANJE PROGRAMA NA FON-u09.04.2002. u 23:22 - pre 268 meseci
na ovom ispitu sve zadatke treba resavati ISKLJUCIVO upotrebom jakog polimorfizma, nikako templejti (jer onda priznaje npr cetvrtinu zadatka).
 
Odgovor na temu

Alter Ego
null
Pančevo

Član broj: 1880
Poruke: 453
*.panet.co.yu

Sajt: www.tridenet.com


Profil

icon Re: PROJEKTOVANJE PROGRAMA NA FON-u10.04.2002. u 01:38 - pre 268 meseci
Citat:
kobrejabre:
na ovom ispitu sve zadatke treba resavati ISKLJUCIVO upotrebom jakog polimorfizma, nikako templejti (jer onda priznaje npr cetvrtinu zadatka).


Ti si položio ovaj ispit? Jel' ti problem da nabaciš neke ideje za rešavanje zadataka, pošto mi nije baš najjasnije šta se zapravo traži(npr. kako on zamišlja implementaciju sekv. ili nekog drugog dijagrama)?

Koliko detaljno mora da se radi?

 
Odgovor na temu

kobrejabre
Bgd

Član broj: 1793
Poruke: 269
*.eunet.yu

Sajt: www.nemam.com


Profil

icon Re: PROJEKTOVANJE PROGRAMA NA FON-u10.04.2002. u 15:50 - pre 268 meseci
Pa npr. imas klase: klasa, asocijacija, aktor, interfejs, dijagram itd.
 
Odgovor na temu

dostanov

Član broj: 978
Poruke: 148
194.106.161.*

Jabber: dostanov@elitesecurity.org


Profil

icon Re: PROJEKTOVANJE PROGRAMA NA FON-u11.04.2002. u 02:15 - pre 268 meseci
Pazi, zadaci su od martovskog roka malo promenjeni. Sada ima 4 zadatka, plus standardnih 10 teoretskih pitanja.
Zadaci nisu teski pod uslovom da si isao redovno na vezbe. Otprilike su svi zadaci odradjeni na vezbama, tako da ako ih nisi pohadjao, moraces da nabavis svesku od nekog. Ajde malo prodji kroz materiju, pa pitaj nesto konkretno

Evo ti primer ponasanja Insert A Restricted B, a ti probaj da uradis primere za ostala ponasanja.

Code:
template <class T>
struct cvor
{
    T * info;
    cvor * sledeci;
};
 
class A
{
    int kljucA;
    int kljucB;
    public:
    int VratiKljucA() {return kljucA;};
    int VratiKljucB() {return kljucB;};
};
 
class B
{
    int kljucB;
    public:
    int VratiKljucB() {return kljucB;};
};
 
class ListaA
{
    cvor<A> * glava;
    public:
    ListaA() {glava = NULL;};
    ~ListaA();
    void UbaciA(A *);
};
 
class ListaB
{
    cvor<B> * glava;
    public:
    ListaB() {glava = NULL;};
    ~ListaB();
    int PostojiB(int);
};
 
class Odgovorna
{
    public:
    void InsertARestrictedB(ListaA *, ListaB *, A *);
};
 
ListaA::~ListaA()
{
    cvor<A> *pom;
    while (glava != NULL)
    {
        pom = glava->sledeci;
        delete glava;
        glava = pom;
   };
};
 
void ListaA::UbaciA(A * noviA)
{
    cvor<A> *pom = new cvor<A>;
    pom->info = noviA;
    pom->sledeci = glava;
    glava = pom;
};
 
ListaB::~ListaB()
{
    cvor<B> *pom;
    while (glava != NULL)
    {
        pom = glava->sledeci;
        delete glava;
        glava = pom;
   };
};
 
int ListaB::PostojiB(int kljuc)
{
    cvor<B> *pom = glava;
    while (pom != NULL)
    {
        if ( kljuc == pom->info->VratiKljucB())
        {
            return 1;
        };
        pom = pom->sledeci;
    };       
    return 0;
};
 
void Odgovorna::InsertARestrictedB(ListaA *la, ListaB *lb, A *noviA)
{
    if (lb->PostojiB(noviA->VratiKljucB()))
    {
        la->UbaciA(noviA);
    }
    else
    {
        //poruka o gresci
    };
 
};


Obavezno u zadacima napravi i main() metodu u kojoj je vrlo cesto potrebno samo instancirati neku klasu i pokrenuti neku njenu metodu. Zbog ovog se gubi dosta poena.
 
Odgovor na temu

dostanov

Član broj: 978
Poruke: 148
194.106.161.*

Jabber: dostanov@elitesecurity.org


Profil

icon Re: PROJEKTOVANJE PROGRAMA NA FON-u11.04.2002. u 02:16 - pre 268 meseci
Citat:
kobrejabre:
na ovom ispitu sve zadatke treba resavati ISKLJUCIVO upotrebom jakog polimorfizma, nikako templejti (jer onda priznaje npr cetvrtinu zadatka).

Hm, ne bih se slozio sa tobom. Neki zadaci se rade ISKLJUCIVO primenom templejta. Inace, templejti i jak polimorfizam sluze za razlicite stvari tako da ne moraju da iskljucuju jedan drugog.

Zadaci u kojima je potrebno odraditi neku generalnost struktura (Napisati klasu koja će generalno da pamti objekte u datoteci nezavisno od njihove strukture) zahtevaju primenu templejta.

Zadaci u kojima je potrebno odraditi neko nasledjivanje tipa klasa Kvadrat, klasa Kocka, pozivanje virtualnih metoda, itd, zahtevaju primenu jakog polimorfizma.

Dakle, nema veze da li asistent vise voli templejte ili jak polimorfizam, vec zavisi od vrste zadatka.
 
Odgovor na temu

Alter Ego
null
Pančevo

Član broj: 1880
Poruke: 453
195.66.191.*

Sajt: www.tridenet.com


Profil

icon Re: PROJEKTOVANJE PROGRAMA NA FON-u11.04.2002. u 13:47 - pre 268 meseci
Pre svega, HVALA vam na brzim i konkretnim odgovorima!

Znači ceniš da je dovoljno ono s vežbi? To pitam zato što smo se svi zabezeknuli kada je pred kraj nastave izdeklamovao ispitne zadatke. Pretpostavljam da zaista nije teško da se uradi to što se traži, ali treba znati šta on(Siniša) zapravo očekuje, a to znaju oni koji su polagali. Ja nešto sad baš nemam vremena da se posvetim spremanju kompletnog ispita, ali bar ovoga da se rešim(najviše od svega me bedači što sam mislio da znam C++)

Što se tiče polimorfizma i templejta, čini mi se da je bitno da rešenje bude generalno, a sad kako će izgledati implementacija, to je manje važno.

Još jednom hvala, i ako ti nije problem iskomentariši malo ovaj zadatak sa dijagramima, pošto mi nikako nije jasno šta se tu zapravo traži.
 
Odgovor na temu

kobrejabre
Bgd

Član broj: 1793
Poruke: 269
*.eunet.yu

Sajt: www.nemam.com


Profil

icon Re: PROJEKTOVANJE PROGRAMA NA FON-u11.04.2002. u 15:42 - pre 268 meseci
Citat:
dostanov:

Zadaci u kojima je potrebno odraditi neku generalnost struktura (Napisati klasu koja će generalno da pamti objekte u datoteci nezavisno od njihove strukture) zahtevaju primenu templejta.

Dakle, nema veze da li asistent vise voli templejte ili jak polimorfizam, vec zavisi od vrste zadatka. :)


Ja bas za taj zadatak sa klasom koja ce generalno da pamti... itd. tvrdim da treba da se radi preko polimorfizma (mada ne kazem da to ne moze da se izvede pomocu templejta) i to ne zato sto Vlajic to vise voli vec zato sto je to objektivno bolje resenje. To se potvrdilo i na poslednjem roku, jer je ljudima koji su ovaj zadatak uradili preko templejta priznao samo 5-10 poena.
 
Odgovor na temu

Alter Ego
null
Pančevo

Član broj: 1880
Poruke: 453
*.bitsyu.net

Sajt: www.tridenet.com


Profil

icon Re: PROJEKTOVANJE PROGRAMA NA FON-u13.04.2002. u 16:44 - pre 267 meseci
Citat:
dostanov:
Pazi, zadaci su od martovskog roka malo promenjeni. Sada ima 4 zadatka, plus standardnih 10 teoretskih pitanja.

Promenjeni u kom smislu?

Citat:

Ajde malo prodji kroz materiju, pa pitaj nesto konkretno

Evo ti primer ponasanja Insert A Restricted B, a ti probaj da uradis primere za ostala ponasanja.

Code:
template <class T>
struct cvor
{
    T * info;
    cvor * sledeci;
};


Da li može da se piše templejt za nešto drugo osim klase i funkcije?
Može li umesto strukture da bude klasa?


 
Odgovor na temu

dostanov

Član broj: 978
Poruke: 148
194.106.161.*

Jabber: dostanov@elitesecurity.org


Profil

icon Re: PROJEKTOVANJE PROGRAMA NA FON-u13.04.2002. u 17:42 - pre 267 meseci
Citat:
Alter Ego:
Promenjeni u kom smislu?

Pa kao prvo, bilo je 4 zadatka, i nije bio zadatak sa dijagramima.
Evo martovskog roka:

1. Napuni heterogeni niz a zatim prikazati sve objekte po izabranom tipu podataka (klasi).
Na primer: nizX sadrzi objekte: A[1], A[2], A[3], A[4], A[5]
A[1], A[3], A[4] su tipovi S
A[2], A[5] su tipovi N.
Kada korisnik izabere tip S, prikazati objekte A[1], A[3], A[4]
Kada korisnik izabere tip N, prikazati objekte A[2], A[5]

2. Napuniti proizvoljnu listu iz datoteke koriscenjem preklopljenog operatora =

3. Date su dve klase: Objekat i Operacija ... obezbediti strukturno pravilo integriteta DELETE Objekat RESTRICTED Operacija

4. Data je klasa DOKUMENT koja moze biti u jednom od tri moguca stanja: SPREMAN_ZA_UNOS, UNOS_U_TOKU, i ZAVRSEN_UNOS. Za svaki od navedenih stanja napraviti posebne klase, koje ce imati jednu zajednicku metodu: OBRADI(). Napravite program koji ce, u zavisnosti od stanja objekta klase DOKUMENT, pozvati metodu OBRADI() klase koja odgovara navedenom stanju.
Pozeljno bi bilo da se navedeni zadatak resi koriscenjem state uzora (paterna). U resavanju zadatka koristiti koncept jakog polimorfizma.


Probaj da pronadjes i aprilski rok.

Citat:
Alter Ego:

Code:
template <class T>
struct cvor
{
    T * info;
    cvor * sledeci;
};

Da li može da se piše templejt za nešto drugo osim klase i funkcije?
Može li umesto strukture da bude klasa?

Templejt moze da se pise i za struct, kao sto se u primeru i vidi.

U ovom konkretnom primeru neces pogresiti ako koristis klasu class cvor umesto strukture.
U principu postoje pravila kada treba koristiti strukture a kada klase. Da ne bismo ulazili u detaljniju raspravu oko toga, na nivou ovog zadatka je svejedno da li ces koristiti klasu ili strukturu za cvor.
 
Odgovor na temu

[es] :: Art of Programming :: PROJEKTOVANJE PROGRAMA NA FON-u

[ Pregleda: 5858 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.