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);