2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
11. Ile elementów pomieści H-poziomowe drzewo binarne? (korzeń liczymy jako pierwszy poziom) 2007.I.18
H
A. 1 B. H/2 C. log
-1
_____________________________________________________ ____________
2H D. 2
INFK2A
12. Ile średnio operacji naleŜy wykonać, aby odnaleźć element w N-elementowej, nieuporządkowanej liście Imię i Nazwisko
Nr albumu
/ ??
Test wielokrotnego wyboru, ujemne punkty. Odpowiedzi wpisuj w górną tabelkę. C++.
jednokierunkowej?
2
A. 1 B. N/2 C. log
-1
Jeśli w zadaniu nie ma polecenia, to brzmi ono domyślnie: „WskaŜ prawdziwe zdania”.
2N D. N
13. WskaŜ, które operacje definiujemy dla stosu:
1. Klasa języka C++ moŜe mieć:
A. umieść (ang. push) B. znajdź (ang. find) C. zdejmij (ang. pop) D. sortuj (ang. sort) A. jeden konstruktor
B. jeden destruktor
14. Utworzona została dynamiczna zmienna int *t = new int[100]; Którymi sposobami moŜna ją usunąć?
C. dwa konstruktory
D. zero destruktorów i zero konstruktorów
A. delete t; B. ~t; C. delete [] t; D. free(t);
2. Tworząc klasę pochodną w C++:
15. Mamy następujące klasy A i B oraz fragment kodu:
A. moŜemy przesłonić tyle metod klasy nadrzędnej, ile potrzebujemy
class A { public:
class B : public A { public:
A* o = new B();
B. musimy przesłonić wszystkie metody klasy nadrzędnej, nawet jeśli ich nie uŜywamy void m() { cout <<"mA "; }
void m() { cout << "mB "; }
o->m();
C. moŜemy określić równocześnie wiele klas nadrzędnych
};
};
3. Wyjątki w C++:
A. wywoła się metoda m() z klasy A
A. Są zawsze obiektami
B. wywoła się metoda m() z klasy B
B. Przechwytywanie wyjątków jest obowiązkowe
C. wywoła się metoda m() z klasy A, a następnie m() z klasy B
C. Wyjątki moŜemy przechwytywać wtedy, kiedy zaleŜy nam na ich obsłudze
D. nie moŜna wykonać podstawienia A* o = new B();
D. Mogą być zmiennymi typu podstawowego, wskaźnikowego lub obiektowego
16. Metody i pola umieszczone w sekcji private klasy K:
4. Słowo this w języku C++:
A. są dostępne wyłącznie wewnątrz klasy K
A. Jest związane z obsługą wyjątków
B. są dostępne dla wszystkich obiektów klasy K
B. UmoŜliwia odwoływanie się do pól i metod obiektu przesłoniętych parametrami formalnymi C. są dostępne z poziomu klas lub funkcji zaprzyjaźnionych z K
C. W ten sposób definiujemy klasę bazową
D. są dostępne dla wszystkich klas i funkcji odwołujących się do obiektu klasy K
D. MoŜe być uŜywane podobnie do zmiennej wskaźnikowej
17. Do zapewnienia hermetyzacji słuŜy:
5. Zapis void g(char x) { if(x>0) g(x-1); } to przykład:
A. przeciąŜanie konstruktorów i operatorów
A. referencji B. rekurencji C. reinkarnacji
B. wydzielenie sekcji private lub protected w klasie
6. Klasa abstrakcyjna w C++
C. zaszyfrowanie pliku źródłowego na dysku tak, aby nikt nie mógł go odczytać
A. Zwykle słuŜy jako klasa bazowa dla innych klas
18. Wyjątkiem w programie nazywamy:
B. Utworzony obiekt tej klasy nie wykonuje Ŝadnych działań
A. sytuację, która wymaga podjęcia szczególnych kroków,
C. Klasę abstrakcyjną moŜna utworzyć dodając "abstract" przed nazwą klasy B. błąd programu,
D. Nie da się utworzyć obiektów tej klasy
C. brak zabezpieczenia przed przepełnieniem bufora
7. Charakterystyczne cechy strukturalnego stylu programowania:
19. Polimorfizm to pojęcie oznaczające:
A. uŜywanie wcięć i formatowania tekstu dla zwiększenia czytelności kodu źródłowego A. wykonanie metod obiektu z klasy zgodnej z typem wskaźnika na obiekt
B. podział programu na mniejsze, logicznie wydzielone fragmenty
B. wykonanie metod z klasy ustalonej na podstawie konstruktora tworzącego obiekt C. uŜywanie zmiennych typu ‘struct’ zamiast innych typów danych
C. nazwę greckiego ustroju politycznego, poprzedzającego demokrację
8. Wynikiem działania tego kodu będzie wyświetlenie:
20. W klasie K umieszczono metodę virtual int m() = 0; . Klasa KP jest klasą pochodną K.
int f(int x) { if(x>0) return x; else throw "Wyjątek"; }
A. 1 0
A. metoda ta zwraca wartość 0 B. moŜna wykonać K *obiekt; void main() {
B. 1 Wyjątek
C. nie moŜna wykonać K obiekt; D. moŜna wykonać K *obiekt = new KP(); try { cout << f(1); cout << f(0); }
C. W1
E. moŜna wykonać KP *obiekt = new K(); F. klasa K jest abstrakcyjna
catch (int w) { cout << "W1"; }
D. 1 W2
21. Ile destruktorów moŜe zawierać klasa w języku C++?
catch (char * w) { cout << "W2"; }
E. W1 W2
A. dowolną liczbę B. tyle, ile konstruktorów C. jeden D. Ŝadnego
} }
22. Klasa K zawiera pola wskaźnikowe i dynamiczną alokację pamięci.
Zakładamy, Ŝe K *a = new K(), b = *new K(); Brak przeładowanego operatora przypisania moŜe 9. Pewną klasę zdefiniowano następująco:
A. o1 o2
spowodować błąd w trakcie wykonania:
class A { public: static int x; }; i wykonano poniŜszy
B. 1 1
A. a=b B. *a=*b C. delete a; D. delete a; delete b;
fragment kodu. Jakie wyniki zostaną wyświetlone?
C. 1 2
23. Plik „naglowek.h” jest dołączany w 2 modułach pewnego projektu. Które wiersze nie mogą znaleźć się w A o1, o2; o1.x = 1; o2.x = 2; cout << o1.x << o2.x;
D. 2 2
pliku naglowek.h?
A.unsigned short int x; B. int p;
C.void f(); D. const int n=1000;
10. Dany jest szablon:
Które przypadki kodu zadziałają prawidłowo (zwrócą
24. Wartością wyraŜenia (a>b) ? 1 : 2 dla int a=3, b=4; jest:
template <class Typ>
sensowną wartość maksymalną jednego z 2 argumentów)?
A. 1 B. 0.5 C. 0 D. 2
Typ max(Typ a, Typ b)
A. max("abc", "xyz");
{
B. max(‘P’, ‘Q’);
return a > b ? a : b ;
C. max(1, 2)
}
D. max(3.3, 3.7);