Documente Academic
Documente Profesional
Documente Cultură
PPOO Raspuns 2008
PPOO Raspuns 2008
MULTIPLE CHOICE
4. Ce este un Applet?
a. Un tip de calculator
b. Un program care ruleaza direct pe orice calculator
c. Un sit web interactiv
d. Un program care ruleaza în contextul unui browser
1
8. Ce metoda apeleaza browserul pe un applet nou incarcat?
a. Main c. Paint
b. Start d. Init
12. Urmatorul cod sursa Java se află într-un fişier. Cum se numeste fişierul?
class Foo {
public static void println() { System.out.println("Foo"); }
}
13. Daca bo este boolean, număr este int, sir este string atunci care din următoarele linii este incorecta?
a. If(bo) c. If(numar<=1)
b. If(numar<0) d. If(sir==”Java”)
2
14. Care sunt valorile variabilelor a şi b dupa executarea instructiunilor:
int a = 1, b = -2;
a = a + b;
b = a – b;
a = a – b;
a. a=1, b=2 c. a=2, b=-3
b. a=0, b=1 d. a=-2, b=1
int a = 1, b = -2;
a = a ^ b;
b = a ^ b;
a = a ^ b;
a. a=-2, b=1 c. a=-1, b=1
b. a=2, b=-2 d. a=1, b=-2
int a = -1, b = 2;
a ^= b;
b = a ^ b;
a ^= b;
a. a= -1, b=2 c. a=2, b=-1
b. a= 1, b=-2 d. a=-2, b=1
int a = -1, b = 2;
a = (a > b ? a : b);
b = (a < b ? a : b);
a. a= 2, b=-1 c. a=1, b=2
b. a= -1, b= 2 d. a= 2, b= 2
3
19. Care sunt valorile variabilelor a şi b dupa executarea instructiunilor:
int a = 1, b = 2;
if (a < b ) a = b;
if (a < b) b = a;
a. a= 1, b=1 c. a=2, b=2
b. a= 1, b= 2 d. a= 2, b= 1
4
27. Ce valori nu poate lua o variabila de tip boolean?
a. a=b (a şi b sunt variabile de tip boolean)
b. a==b (a şi b sunt variabile de tip int)
c. “true”
d. false==x (x este o variabila de tip boolean)
28. Care din următoarele tipuri de date poate retine valori de la -32.768 la 32.767 ?
a. char c. byte
b. short d. int
5
34. Ce efect are următoarea secvenŃade cod?
char a[] = {’a’, ’b’, ’c’};
char [] b = new char[3];
a=b;
a. b se va copia în a
b. a se va copia în b
c. a şi b se referă la aceiaşi zona de memorie
d. se va genera o excepŃie
6
39. O clasă care implementează interfaŃa următoare va implementa în mod obligatoriu
public interface AQuestion
{
void someMethod();
}
a. o metoda public void someMethod();
b. o metoda void someMethod();
c. o metoda public void someMethod(); care obligatoriu va emite exceptii
d. o metoda public abstract void someMethod();
40. Care din liniile din codul de mai jos prezintă o problemă de încapsulare ?
1. class BadCode {
2. int num;
3. public int getNum() {
4. return num;
5. }
6. public void setNum(int num) {
7. this.num = num;
8. }
9. ...
10. }
a. Linia 1 c. Linia 4
b. Linia 2 d. Linia 7
7
42. Dorim să implementam o clasă total protejată şi care să nu mai fie extensibilă, care din liniile
urmatoare ar trebui modificata?
1. class Test {
2. private int key = 1234;
3. //...
4. protected void setKey(int privateKey) {
5. this.key = privateKey;
6. }
7. protected int getKey() {
8. return this.key;
9. }
10. //...
11. }
a. Linia 1 c. Linia 4
b. Linia 2 d. Linia 8
8
46. Pentru a defini un camp care sa stocheze informatii sensibile (conturi, nr. de card) se va folosi:
a. String c. Char array
b. StringBuffer d. Char
9
50. Ce efect are urmatorul program Java?
public class Test{
public static void main(String args[]){
System.out.println("Before Try");
try{ }
catch(IOException t){ System.out.println("Inside Catch"); }
System.out.println("At the End");
}
}
a. Nu se complieaza: nici un obiect IOException nu a fost emis in blocul try
b. Nu se compileaza: nu pot fi prinse obiecte IOException, ci numai Exception
c. Afiseaza “Before try” si “At the End”
d. Afiseaza “Before try” , “Inside Catch” si “At the End”
11
52. Cum se va comporta urmatorul program?
public class A
{
private void method1() throws Exception
{
throw new RuntimeException();
}
public void method2()
{
try
{
method1();
}
catch(RuntimeException e)
{
System.out.println("Caught Runtime Exception");
}
catch(Exception e)
{
System.out.println("Caught Exception");
}
}
public static void main(String args[])
{
A a = new A();
a.method2();
}
}
a. Programul nu se compileaza c. Afiseaza “Caught Runtime Exception”
b. Afiseaza “Caught Exception” d. Afiseaza ambele mesaje
12
53. Cum se va comporta urmatorul program?
class Base
{
public void aMethod() throws ClassNotFoundException
{
}
}
public class Derived extends Base
{
public void aMethod() throws RuntimeException
{
}
}
a. Programul nu se compileaza deoarece RuntimeException nu este derivata din
RuntimeException
b. Se lanseaza o exceptie ClassNotFoundException la compilare
c. Se lanseaza o exceptie RuntimeException la rulare
d. Se compileaza corect
13
54. Cititi cu atentie urmatorul co sursa:
import java.awt.*;
public class TestFrame extends Frame
{
Button bNorth = new Button("North");
Button bSouth = new Button("South");
Button bEast = new Button("East");
Button bWest = new Button("West");
Button bCenter = new Button("Center");
public TestFrame()
{
setLayout(new BorderLayout());
add(bSouth,BorderLayout.SOUTH);
add(bWest,BorderLayout.WEST);
add(bEast,BorderLayout.EAST);
add(bNorth,BorderLayout.NORTH);
add(bCenter);
setLayout(new FlowLayout());
validate();
pack();
setVisible(true);
}
public static void main(String args[])
{
TestFrame tf = new TestFrame();
}
}
a. Programul nu se compileaza
b. Se compileaza si afiseaza butoanele pe o singura linie
c. Se compileaza dar genereaza o exceptie
d. Se compileaza si afiseaza butoanele sub forma de grid
14
56. Urmariti cu atentie codul urmator:
public class NiceThreads implements Runnable
{
public void run()
{
while(true) { }
}
public static void main(String args[])
{
NiceThreads nt1 = new NiceThreads();
NiceThreads nt2 = new NiceThreads();
NiceThreads nt3 = new NiceThreads();
nt1.run();
nt2.run();
nt3.run();
}
}
a. Programul se compileaza si lanseaza trei fire care vor rula la infinit
b. Programul se compileaza si se lanseaza un singur fir
c. Programul nu se compileaza
d. Se compileaza dar genereaza o exceptie la rulare
57. Pentru a preveni executarea unei metode simultan de către mai multe fire de execuŃie folosim:
a. public c. native
b. final d. syncronized
15
62. În Java o clasa poate extinde
a. cel mult o interfaŃă c. oricâte clase
b. cel mult o clasă d. oricâte interfeŃe
65. Pentru a bloca utilizarea directa a unei clase aceasta se va declara folosind specificatorul:
a. abstract c. protected
b. final d. private
66. Pentru a bloca derivarea unei clase aceasta se va declara folosind specificatorul:
a. abstract c. protected
b. final d. private
16
72. Ce cuvânt nu face parte din limbaj:
a. const c. break
b. continue d. delete
17
79. Ce afişează următorul program:
public class Main {
int x=0;
static int f() { return x+1; }
public static void main(String[] args) {
System.out.println("x este " + f());
}
}
a. Eroare la compilare c. x este 0
b. Exceptie la rulare d. x este 1
18
83. Ce afişează următorul program:
class Element{
public Element(){ System.out.print(" Element "); }
}
class Carte extends Element{
public Carte(){ System.out.print(" Carte "); }
}
class Revista extends Carte{
public Revista(){ System.out.print(" Revista "); }
}
public class Main {
public static void main(String[] args) { Element revista = new Revista(); }
}
a. Element c. Element Carte Revista
b. Revista d. Revista Carte Element
19
85. Ce afişează următorul program:
interface Element{
public void Print();
}
class Carte implements Element{
public void Print(){ System.out.print(" Carte "); }
}
class Revista implements Element{
public void Print(){ System.out.print(" Revista "); }
}
class Biblioteca extends ArrayList<Element> implements Element{
public void Print (){
Iterator<Element> it = iterator() ;
while(it.hasNext()){ it.next().Print(); }
}
}
public class Main {
public static void main(String[] args) {
Biblioteca b = new Biblioteca();
b.add(new Carte());
b.add(new Revista());
b.add(b); b.Print();
}
}
a. Nu afiseaza nimic
b. Nu se compileaza, eroare la compilare
c. Se compileaza dar lanseaza exceptie la rulare
d. Carte Revista Carte Revista
20
86. Ce afişează următorul program:
interface Element{
public void Print();
}
class Carte implements Element{
public void Print(){ System.out.print(" Carte "); }
}
class Revista implements Element{
public void Print(){ System.out.print(" Revista "); }
}
class Biblioteca extends ArrayList<Element> implements Element{
public void Print (){
Iterator<Element> it = iterator() ;
while(it.hasNext()){ it.next().Print(); }
System.out.println();
}
}
public class Main {
public static void main(String[] args) {
Biblioteca b1 = new Biblioteca();
Biblioteca b2 = new Biblioteca();
b2.add(b1); b1.add(b2);
b1.Print();
}
}
a. Nu afiseaza nimic
b. Se compileaza dar lanseaza exceptie la rulare
c. Carte Revista Carte Revista
d. Nu se compileaza, eroare la compilare
21
88. Cititi cu atentie urmatorul cod sursa:
class Memory{
int [ ] matrice;
public Memory(){ matrice = new int[100]; }
}
public class Main {
public static void main(String[] args) {
while(true){ Memory m = new Memory(); }
}
}
a. Ruleaza la infinit deoarece memoria se eliberează automat
b. Programul se compileaza dar se blocheaza
c. Consuma toata memoria şi se opreşte
d. Ruleaza dar emite o exceptie
92. În prezenŃa firelor de execuŃie multiple incrementarea atomică a unei variabile partajate se obŃine
prin intermediul specificatorului:
a. X++ c. synchronized
b. final d. static
22
93. În prezenŃa firelor de execuŃie multiple decrementarea atomică a unei variabile partajate se obŃine
prin intermediul specificatorului:
a. const c. x--
b. synchronized d. thread
23
102. Diagrama UML următoare reprezintă
103. Care din diagramele UML următoare reprezintă interacŃiunea actorilor asupra sistemui modelat:
a. O diagramă de clase c. O digramă de caz
b. O diagramă de secvenŃă d. O diagramă de obiecte
24
105. Diagrama UML următoare reprezintă
25
108. Diagrama UML următoare reprezintă
26
111. Diagrama UML următoare reprezintă
27
113. Diagrama UML următoare reprezintă
28
115. Diagrama UML următoare reprezintă
29
117. Diagrama UML următoare reprezintă
118. Fiecare student are un profesor coordonator, fiecare profesor poate coordona oricâŃi studenŃi,
inclusiv niciunul. Care din diagramele de mai jos reflectă în mod corect situaŃia descrisă?
a. c.
b. d.
30
120. Diagrama UML următoare reprezintă
31
123. Diagrama UML următoare reprezintă
32
125. Diagrama UML următoare reprezintă
33
127. Diagrama UML următoare reprezintă
34
128. Diagrama UML următoare reprezintă
35
130. Diagrama UML următoare reprezintă
131. Obiectul A din diagrama de secvenŃă trimite mai multe mesaje obiectului B numite msg:
a. c.
b. d.
36
134. Care din următoarele afirmaŃii este corectă?
a. Clasele din diagrama de clase pot fi grupate în pachete
b. Daca pachetul A depinde de pachetul atunci orice schimbare în B obligă la schimbări în A
c. Diagrama de clase şi diagrama de obiecte sunt complet interschimbabile
d. Diagrama de stări şi diagrama de activităŃi sunt complet interschimbabile
a. Visitor c. State
b. Observer d. Strategy
a. Visitor c. State
b. Proxy d. State
37
137. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Visitor c. Bridge
b. Decorator d. State
a. Visitor c. Strategy
b. Composite d. Bridge
38
139. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Composite c. Flyweight
b. Proxy d. Bridge
a. Prototype c. Observer
b. Interpreter d. Iterator
39
141. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Decorator c. Observer
b. Prototype d. Proxy
a. Prototype c. Bridge
b. Adapter d. Chain of responsability
40
143. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Facade c. Adapter
b. Prototype d. Decorator
a. Bridge c. Adapter
b. Proxy d. Decorator
41
145. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Proxy c. Adapter
b. Mediator d. Decorator
a. Builder c. Command
b. Mediator d. Facade
42
147. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Composite c. State
b. Memento d. Visitor
a. Iterator c. Observer
b. Compozite d. Visitor
43
149. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Adapter c. Facade
b. Proxy d. Mediator
a. Decorator c. Observer
b. Proxy d. Template Method
44
151. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Bridge c. Proxy
b. Template Method d. Decorator
45
152. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Visitor c. Observer
b. Iterator d. Interpreter
46
153. Ce sablon de proiectare reprezinta diagrama urmatoare:
47
154. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Bridge c. Facade
b. Prototype d. Decorator
48
155. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Bridge c. Decorator
b. Facade d. Abstract Factory
49
156. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Bridge c. Singleton
b. Facade d. Decorator
50