Sari la conținut
EXAMS.RO

An II

Programare Orientata Obiect

11 subiecte

2016

Programare Orientata Obiect

Carmen Odubasteanu

2016 · Sesiune · CC

2017 Majoritatea subiectelor: compileaza/ruleaza/arunca exceptie/ce afiseaza programul urmator? https://postimg.org/image/3ri91g2q9/

16 februarie 20171 fișier pierdut

Programare Orientata Obiect

Lorina Negreanu

2016 · Sesiune · toate CA

POO 2017 sesiunea de iarna Ziua 1: 1) Continuati afirmatia: Tipurile de date sunt o multime de valori... 2) aveai o clasa cu un membru static si unul nonstatic. instantia clasa de 2 ori si se modificau membri si trebuia sa iti dai seama ca cel static la final va fi cel de dupa a doua instantiere 3) C extends B, B extends A. Ce returneaza obiectul x de tip C instructiunea "x instanceof A" 4) reparati codul urmator: era o clasa cu o metoda statica generica in T cu determinareMinim(T x, T y). corect era sa spui ca era <T extends Comparable<T>>, ca sa le poti compara cand determini minimul 5) Explicati si exemplificati patternul Factory La problema aveai de implementat un SortedDictionary, care pornea de la interfata dictionary, care era basically un vector de elemente de tip Entry, cu K cheie V valoare, si era sortat dupa chei. trebuia sa implementezi metodele de Add, locateElement, constructorul, si clasa Entry Ziua 2: 1) Explicati si exemplificati ce e delegarea ( o portcarie din curs. Daca scriai agregare luai 7+ pe subiectul asta, depinde cata vrajeala scriai) 2) Daca am o metoda m() intr-o clasa A, clasa care e extinsa de o alta clasa B, e posibil sa aflam de cate ori a fost apelata metoda m() dintr-o instanta dinamica de B si de cate ori a fost apelata dintr-o instanta dinamica de A(nu stiu daca asta era exact exprimarea, dar in mare aia e ideea) ? Daca da, modificati metoda m(), daca nu, justificati(hint: se poate). 3) Fie 2 clase A si B care implementeaza interfata I. E posibil ca lista List < I > l sa contina elemente de tipurile A si B ? Justificati. (se poate) 4) Ce afiseaza codul si de ce ? class A{ public int x; public A() { this(1); } public A(int x) { this.x = x; } public int m() { return x;} } class B extends A { public int x; public B() { this(2); } public B(int x) { super(x + 1); this.x += super.x + 1; } public int m() { return x; } } … Public static vod main(…) { A a = new A(); B b = new B(); Syso(a.x); Syso(a.m()); Syso(b.x); Syso(b.m()); a = new B(); b = (B) a; Syso(a.x); Syso(a.m()); Syso(b.x); Syso(b.m()); } 5) Daca avem o variabila x si facem castul (Integer)x, se va modifica static sau dinamic referinta variabilei x ? (era mai nasol formulata, dar asta era esenta intrebarii) hint: nu, nu se modifica nicio referinta. x e vazut ca Integer doar in momentul castului, in rest e la fel. Problema: vreti sa create un joc in care personajele sunt oameni sau extraterestrii. Fiecare personaj are 2 coordonate x si y si poate executa o actiune. Actiunea oamenilor este de a afisa “actiune umana”, iar cea a extraterestrilor afiseaza “actiune extraterestra”(asta pt simplitate). La o mutare, un personaj isi modifica pozitia dupa ecuatiile x += xincrement si y = yincrement. Jocul consta intr-o lista List <Personaj> listaPersonaje care la fiecare pas se parcurge si fiecare personaj executa o mutare(adica isi modifica pozitia si face o actiune). Lista trebuie sa poate fi sortata folosind Collection.sort(listaPersonaje) astfel incat oamenii sa se afle inaintea extraterestrilor in lista. Realizati designul corespunzator pentru aceasta problema. (Aici se voia sa fie cat mai POO. Totusi, daca faceai Visitor, Factory, Singleton nu primeai cine stie ce punctaj. Trebuia facuta o clasa abstract Personaj cu o metoda abstracta actiune(). Clasa asta sa fie mostenita de Om si Extraterestru. Era de ajuns sa faci asa pentru ca toate celelalte metode erau commune si pt Om si pt Extraterestru. Instanceof era depunctat mult. Se voia sa nu se duplice cod deloc)

28 ianuarie 20171 fișier pierdut

2015

Programare Orientata Obiect

Carmen Odubasteanu

2015 · Sesiune · CC

Aceasta este una dintre parti o parte semnificativa a exercitiilor sunt de tipul "trece urmatoarea secventa de cod de compilare? apar erori la compialare/rulare? nu - de ce? da - justificati"

5 februarie 20151 fișier, 1 imagine

2012

2011

Programare Orientata Obiect

Carmen Odubasteanu

2011 · Sesiune · CC

2 Februarie 2011 Sa se creeze o clasa MapFolder care contine un obiect de tip Map si extrage tipurile fisierelor si o lista cu numele lor dintr-o locatie data ca parametru in constructor.Se va creea separat o lista pentru fisierele care nu au extensie cu cheia NULL. --------------------------------------------------- Sa se scrie o interfata grafica cu JTextField si 2 JListuri. Cand scrii in JTextField iti apar extensiile in lista 1, cand selectezi ceva din lista 1 iti apar in lista 2 numele fisierelor cu ext respectiva.

21 septembrie 2011

Programare Orientata Obiect

Florin Moraru

2011 · Sesiune · 324 CA

Tue Feb 1, 2011 8:27 pm V-as spune cerintele exacte de la examenul nostru, dar nu mai tin minte nimic.Fiecare problema era pe jumatate de pagina(scrisa la calculator). Incerc sa scriu din memorie : 1. La prima problema trebuia sa implementam o clasa abstracta DomTrav cu 2 metode: traverse() si proccess(TNode nod). In continuare a trebuit sa implementam vreo 2 clase derivate din DomTrav pe care le-am fi folosit in final la parcurgerea unui arbore DOM. O ultima clasa era cu interfata grafica, in care aveam un TextField (in care introduceai numele unui folder) , un ComboBox(de unde puteai alege un fisier xml din cele existente in folderul introdus) si un JTree(unde afisai arborele DOM creat cu clasele implementate mai sus) + ascultatori, bineinteles. 2. La a 2-a a trebuit , de asemenea sa implementam vreo 2 clase cerute de el, iar a 3-a era pentru interfata grafica. Ideea era sa folosim un parser STAX pe un fisier xml. Numele lui era introdus intr-un textFiled, in altul era introdus un nume de tag , iar programul trebuia sa afiseze toate elementele cu acel tag din fisierul xml. Astea erau afisate intr-un fel de JTable, doar ca nu era JTable. Primele 2 clase trebuia sa simuleze un JTable, in sensul ca iti faceai unul din vectori de JPanel pentru date si un vector de JLabel pentru titluri.

12 septembrie 2011

Programare Orientata Obiect

Florin Moraru

2011 · Sesiune · 321 CA

Fri Jan 28, 2011 6:29 pm "o problema cu o parcurgere recursive pe fisiere , JTree si o chestie cu arhivare si a doua problema cu un parser XML SAX la care se cerea crearea unui tabel cu atributele si valorile din fisier .xml. La ambele probleme existau elemente GUI ( cu Listener si etc. ) "

12 septembrie 2011

Programare Orientata Obiect

Carmen Odubasteanu

2011 · Altele · CC

Probleme POO 1) Sa se defineasca clasa "Folder" ce contine o functie "types" ce extrage tipurile de fisiere dintr-un director dat(ca argument in constructor) intr-un obiect de tip Map ce contine ca si chei tipurile (extensile) iar ca valori listele ordonate a numelor fisierelor de acel tip(tipul poate aparea cu litere mici) Fisierele fara tip (fisierele care nu contin punct in numele lor) apar intr-o lista separata cu cheia "NULL"(daca exista). Sa se scrie un program cu interfata grafica pentru afisarea ordonata a tipurilor(extensiilor) de fisiere din obiectul de tip Map creat intr-un JList si afisarea intr-o a doua lista Jlist a numelor fisierelor de tipul selectat de operator(se poate defini o clasa filtru ce va implementa interfata FilenemeFilter pentru selectia fisierelor cu o anumita extensie). Numele directorului va fi introdus in JTextField. 2) Sa se defineasca urmatoarele clase: -Clasa SLSet pentru o multine ordonata lista inlantuita (derivata din clasa LinkedList , si cu metodele add si addAll redefinite) -Clasa DS pentru o colectie de multimi disjuncte care contine o lista (Vector) de multimi SLSet si are metodele : int find (Object x) numarul multimii care contine pe x void union (Object x ,Object y) reuniune de multimi ce contin x si y toString() - string ce cate o multie pe cate o linie separata Constructor : DS(int n) -n numarul total de elemente din colectie Program pentru afisarea componentelor conexe ale unui graf dat prin lista arcelor folosind urmatorul algoritm repeta pentru fiecare arc din varf extrage extremitati arc in v si w daca find(v) != find(w) // v si w in subgrafuri diferite union(v,w) //reuniune subgrafuri Lista de arce se citeste dintr-un fisier text cu structura urmatoare:prima linie contine numarul de noduri din graf , fiecare din liniile urmatoare contine cate doi intregi ce definesc un arc 3) a] Sa se defineasca o clasa ArraySet pentru o multime sortata de obiecte.Se vor definii urmatoarele metode de adaugare : -boolean add(Object o) -boolean addAll (Collection c) Clasa ArraySet extinde pe AbstractSet si contine un obiect ArrayList b] Sa se defineasca o clasa abstracta "CollectionFilter" pentru filtrarea oricarei colectii de obiecte , cu urmatoarele metode publice abstract boolean accept(Object o) - daca obj este acceptabil sau nu ListSelect (Collection c) - retin in lista obiectele acceptabile , metoda ce trebuie implementata Sa se defineasca o clasa instantiabila , derivata din clasa precedenta pentru selectarea obiectelor care , transformate in siruri cu metoda toString , contin un sir dat (argument in constructor). Sa se verifice clasa printrun program ce realizeaza afisarea listei produse de metoda select 4) Sa se defineasca o clasa Directory ce contine o functie "get_extentions" ce extrage tipurile de fisiere dintr-un director dat (ca argument in constructor) intr-un obiect de tip Map ce contine ca si chei tipurile(extensile) iar ca valori numarul fisierelor de acel tip(tipul poate fii cu litere mari sau mici) .Fisierele fara tip (ce nu au punct in numele lor) apar intr-o lista separata cu cheia NULL. Sa se scrie un program cu interfata grafica pentru afisarea ordonata a tipurilor de fisiere din obiectul de tip Map creat intr-un JList si afisarea intr-o a doua lista JList a numarul fisierelor de tipul selectat de operator. Numele directorului va fi introdus intr-un JTextField. 5) Sa se creeze un ArraySet realizat ca o multime ordonata de obiecte, in doua feluri a. Folosind o clasa ce extinde ArrayList si implementeaza Set b. Folosind o clasa ce extinde AbstractSet 6) Sa se creeze un filtru care sa afiseze fisierele dintr-un director cu o anumita extensie. Clasa se va rula in main si se va face fie cu o clasa cu nume(adica instantierea unui obiect de tip filtru) si o clasa anonima. 7) Sa se creeze un JFrame care sa contina doua JTextField si un JTable. Sa se creeze un tabel cu doua coloane in care vor fi introduse campurile unui dictionar. Dictionarul este creeat de pe urma unui fisier dat intr-unul din JtextField. În cel de-al doilea JtextField se va afisa numarul coloanei selectate printr-un ListSelectionEvent. Se vor crea clasele createModel() si createMap() (dictionarul extras din fisier) 8) Sa se defineasca o clasa SortedVector care contine un obiect de tip Vector. Pt. sortarea vectorului se va folosi metoda sort din clasa Collections. Se vor defini metodele: addElement(Object) insertElementAt(Object, int) Scrieti un main pt. folosirea clasei create anterior. 9) Sa se defineasca o clasa SelectieFisiere care primeste ca argument in constructor o cale catre un director. Se doreste afisarea tuturor fisierelor din directorul respectiv care au extensia "java" sau "class". Se va defini si folosi o clasa Filtru care implementeaza interfata FileFilter. Se va implementa metoda: boolean accept(File).

21 septembrie 2011

2010

2009