1) Jak można zdefiniować wyjątek w programie?
Odp. Nietypowa sytuacja (np. błąd)
2) Stworzono wzorzec definicji pewnej klasy Beta dla ogólnego typu Typ.
template <class Typ> class Beta {
Jak prawidłowo zdefiniować obiekty X, Y tej klasy z typem double?
Odp. Beta<double> X, Y;
3) Wskaż jakie komunikaty są generowane przez opisane zdarzenia zachodzące w polu edycji (Edit Control) lub na przycisku (Button).
Linia przestaje być aktywnym oknem EN_KILLFOCUS
Wykonano kliknięcie na przycisku BN_CLICKED
Tekst w linii uległ zmianie EN_CHANGE
Linia staje się aktywnym oknem EN_SETFOCUS
Wykonano podwójne kliknięcie na przycisku BN_DOUBLECLICKED
4) Jakie pola występują w obiekcie klasy pochodnej?
Odp. Podobiekt bazowy i niestatyczne dane klasy pochodnej
5) Gdzie jest wyłapywany wyjątek?
Odp. W funkcji nadrzędnej, która wywołała funkcję, w której wyjątek zgłoszono
6) Edytując właściwości pozycji menu w aplikacji SDI, można tę pozycję uczynić:
Odp. Separatorem (poziomą linią)
Komendą
Pozycją rozwijanego podmenu
7) Zaznacz prawdziwe zdania o konstruktorach klas pochodnych.
Odp. Funkcje wirtualne zachowują się w konstruktorach jak funkcje zwykłe.
W liście inicjacyjnej należy wywołać konstruktor klasy bazowej.
8) Zaznacz informacje przekazywane do funkcji obsługi zdarzeń generowanych przez myszkę.
Odp. Stany klawiszy Ctrl i Shift podczas zdarzenia
Którego przycisku myszki zdarzenie dotyczy
Współrzędne myszki w oknie w chwili zajścia zdarzenia.
9) Zdefiniowana w klasie dokumentu metoda Serialize jest używana do:
Odp. Zapisu danych z dokumentu do pliku
Wprowadzenia danych z pliku do dokumentu
10) Do zgłaszania wyjątków służy słowo kluczowe:
Odp. Throw
11) Zaznacz obszary tematyczne typowe dla klasy widoku w aplikacji SDI.
Odp. Obrazowanie danych na ekranie
Tworzenie interfejsu użytkownika
Redagowanie wydruków
12) Zaznacz obszary tematyczne typowe dla klasy dokumentu w aplikacji SDI.
Odp. Serializacja danych
Przetwarzanie danych
Przechowywanie danych (podczas przetwarzania)
13) Zaznacz elementy występujące w diagramach przypadków użycia
Odp. Zawieranie i rozszerzenia
Przypadki użycia
Aktorzy
Liczność
14) Zaznacz elementy występujące w diagramach klas
Odp. Klasy i ich metody
Generalizacja (uogólnienie)
Atrybuty i operacje
Skojarzenie
15) W aplikacji SDI zdefiniowana w klasie widoku metoda OnDraw:
Odp. Może być użyta do tworzenia wydruku na drukarce
Jest automatycznie wywoływana zawsze, gdy trzeba przemalować widok
16) Wybierz metody (funkcje) do wykonania następujących czynności:
Kopiuj tekst ze zmiennej tekstowej do kontrolki SetWindowText
Nadanie zmiennym wartości i kontrolkom stanów (tekstów) początkowych. OnInitDialog
Kopiuj tekst z kontrolki do zmiennej tekstowej GetWindowText
Nadanie zmiennej kontrolki Edit Box wartości zapisanej w UpdateData
kontrolce lub odwrotnie.
Daj w wyniku wskaźnik na kontrolkę o zadanym numerze ID GetDlgItem
Zmień status kontrolki na nieaktywny lub na aktywny. EnableWindow
17) Jakie zdarzenie związane z komendą XXX menu w aplikacji SDI jest obsługiwane przez funkcję OnUpdateXXX ?
Odp. Każdorazowo przed pokazaniem pozycji XXX
Przed pierwszym pokazaniem pozycji XXX (na ekranie)
18) Połącz symbole i przykłady z terminami.
<<include>> zawieranie
<<extend>> rozszerzenie
Strzałka o trójkątnym grocie uogólnianie
Linia zakończona wypełnionym rombem Silna agregacja
1..* liczność
19) Stworzono wzorzec definicji pewnej klasy Beta dla ogólnego typu Typ.
template <class Typ> class Beta {
Jak prawidłowo zdefiniować wzorzec nagłówka konstruktora kopiującego?
Odp. Beta<Typ>::Beta(const Beta<Typ> &v)
20) W jakiej w kolejności powinny być wyłapywane wyjątki w bloku try-catch?
Odp. Najpierw sytuacje szczegółowe, a następnie ogólne.
Najpierw wyjątki klasy pochodnej, a następnie bazowej.
21) Które kontrolki są obiektami klasy CButton ?
Odp. Przełącznik opcji (Radio B.)
Pole wyboru (Check Box)
Przycisk (Button)
22) Kliknięcie na przycisku powoduje pokazanie się okna "About". Które instrukcje tworzą treść funkcji obsługi tego przycisku?
Odp. Z.doModal( );
CAboutDlg Z;
23) Dobierz symbole określające dostęp do składowych klasy.
Składowa publiczna (public) +
Składowa prywatna (private) -
Składowa publiczna w zasięgu pakietu ~
Składowa zabezpieczona (protected) #
24) Niech klasa o nazwie Pochodna ma upublicznioną klasę bazową o nazwie Bazowa. Dopasuj konwersje do opisów.
Konwersja musi być zdefiniowana odpowiednim konstruktorem. Z Bazowa do Pochodna
Standardowa konwersja wskaźników Z Pochodna* do Bazowa*
Konwersja standardowa ze stratą danych zdefiniowanych Z Pochodna do Bazowa
w klasie pochodnej
Konwersja standardowa bez straty danych. Z Pochodna& do Bazowa&
25) Ponumeruj funkcje catch w kolejności, w jakiej powinny wystąpić po bloku try.
catch(const exception &e) 3
catch(...) 4
catch(const runge_error &e) 1
catch(const runtime_error &e) 2
26) Połącz określenia z terminami.
Program czeka na określone zdarzenie, aby potem Program proceduralny
realizować zaplanowany algorytm.
Informacja opisująca i identyfikująca zdarzenie. Komunikat
Program czeka na nieokreślone zdarzenie, aby potem Program zdarzeniowy
realizować algorytm obsługujący to zdarzenie.
Algorytm wykonywany w odpowiedzi na zachodzące zdarzenie. Funkcja obsługi zdarzenia
27) Dla kontrolki Edit Control chcemy zdefiniować zmienną typu double. Z jakiej opcji kontekstowego menu tej kontrolki należy skorzystać i jaką zakładkę wybrać?
Odp. Add Variable
28) Aby podczas przebiegu aplikacji SDI w jej menu zmieniać (np. aktywować, deaktywować, zmieniać opis itp.) komendę o nazwie XXX, należy to oprogramować w:
Odp. Funkcji OnUpdateXXX
29) Co oznacza zapis =0 w deklaracji funkcji polimorficznej?
virtual Typ Funkcja( . . . )=0;
Odp. W tej klasie funkcja nie ma zdefiniowanego algorytmu.
Klasa z tą funkcją jest klasą abstrakcyną
30) W konsekwencji zgłoszenia wyjątku zwykle następuje:
Odp. Wyjście z funkcji (w której wyjątek zgłoszono).
Poszukiwanie funkcji catch z parametrem pasującym do typu wyjątku.
31) Zaznacz informacje przekazywane do funkcji obsługi zdarzeń generowanych przez klawiaturę.
Odp. Stany klawiszy Ctrl i Shift podczas zdarzenia
Ile razy naciśnięto klawisz podczas zdarzenia
Kod klawisza, którego zdarzenie dotyczy
32) Czym różni się realizacja poniższych dyrektyw preprocesora?
#include "defs.h"
#include <defs.h>
Odp. Pierwsza zaczyna przeszukiwać od katalogu bieżącego, druga od katalogu "include" kompilatora.
33) Jeśli wystąpił błąd w konstruktorze, to co należy zrobić przed zgłoszeniem wyjątku?
Odp. "Wyczyścić" obiekt (np. dealokacje), a następnie wykonać instrukcję throw
34) Dopasuj słowa kluczowe i nazwy funkcji do opisów.
Otwiera blok instrukcji, które mogą zgłosić wyjątki. try
Służy do zgłaszania i filtrowania wyjątków throw
Funkcja wirtualna dająca tekst przekazany konstruktorowi wyjątku what
Klasa bazowa wyjątków zdefiniowanych w MFC exception
Wyłapuje wyjątki określonego typu catch
35) Dziedziczenie polega na przejęciu z klasy bazowej ... (wybierz co jest przejmowane)
Odp. danych wraz z ich algorytmami przetwarzania
36) W aplikacji SDI funkcja OnNewDocument jest wywoływana:
Odp. Po wybraniu komendy "New" w menu
Po starcie aplikacji
37) Dopasuj określenia do nazwy diagramów
Służy do modelowania czynności i zakresu
odpowiedzialności elementów bądź Diagram aktywności
użytkowników systemu.
Pokazuje możliwe stany oraz przejścia,
które powodują zmianę stanu obiektu. Diagram maszyny stanowej
Pokazuje fizyczne rozmieszczenie procesorów,
urządzeń i komponentów oprogramowania wraz Diagram wdrożeniowy
z połączeniami odwzorowującymi połączenia
komunikacyjne komponentów sprzętowych.
Opisuje współpracę oraz komunikację między
obiektami i zarządzanie przesyłaniem wiadomości. Diagram sekwencji
Obrazuje kolejność przesyłania komunikatów w czasie.
Opisuje podział modelu na logiczne kontenery i
wysokopoziomowe interakcje między nimi. Diagram pakietów
Ilustruje ogólną organizację systemu.
Służy do opisu zależności przy przesyłaniu
komunikatów pomiędzy obiektami. Przedstawia Diagram przeglądu interakcji
zazwyczaj zachowanie systemu dotyczące jednego
przypadku użycia.
38) Połącz określenia z terminami angielskimi.
Katalog roboczy kompilatora do umieszczania
w min plików źródłowych i zasobów programu. WorkSpace
Aplikacja z oknem zawierającym menu, linię Single Document Interface
statusu i obszar widoku.
Funkcja obsługująca zdarzenie. Handler
Właściwości (np. kontrolki w oknie dialogowym) Properties
Aplikacja, której okno główne jest przeznaczone, Dialog Base
aby umieszczać w nim kontrolki.
39) Wskaż prawidłową kolejność dyrektyw preprocesora w sekcji if.
Odp. #if, #elif, #else, #endif
#if, #elif, #elif, #endif
40) Dopasuj terminy (związane z diagramami klas) do opisów.
Składowa do przechowywania danych. Atrybut
Związek między instancjami dwóch klas. Skojarzenie
Łącze dziedziczenia, które wskazuje, że jedna Uogólnienie
klasa jest nadrzędna w stosunku do drugiej.
Skojarzenie ze strzałką wskazującą kierunek Nawigacja
przechodzenia lub odpytywania.
Usunięcie obiektu klasy agregującej nie usuwa Słaba agregacja
obiektów klasy agregowanej.
41) Podaj komunikaty generowane przez podane zdarzenia oraz nazwy funkcji.
Funkcja obsługi naciskanego klawisza na klawiaturze. OnKeyDown
Komunikat podczas naciskania klawisza na klawiaturze. WM_KEYDOWN
Funkcja obsługi zwalnianego lewego przycisku myszki. OnLButtonUp
Komunikat podczas zwalniania lewego przycisku myszki. WM_LBUTTONUP
42) W klasach Bazowa i Pochodna (class Pochodna:public Bazowa{ ...};) funkcja Fun1 jest funkcją zwykłą, a Fun2 jest funkcją polimorficzną (virtual). Zdefiniowano:
Bazowa *p;
Pochodna X;
Z której klasy funkcje będą wywołane w instrukcjach:
p=&X;
p->Fun1( . . . );
p->Fun2( . . . );
Odp. Fun2 z klasy Pochodna
Fun1 z klasy Bazowa
43) Dopasuj określenia do nazwy diagramów
Przedstawia fizyczne elementy wchodzące Diagram komponentów
w skład systemu i połączenia między nimi.
Pokazuje sieć i sekwencje wiadomości lub Diagram komunikacyjny
komunikację między obiektami w czasie
rzeczywistym, podczas współpracy.
Statyczny diagram, przedstawiający strukturę Diagram klas
klas i zależności między nimi.
Opisuje system z punktu widzenia użytkownika, Diagram przypadków użycia
pokazuje co robi system, a nie jak to robi.
Obrazuje obiekty występujące w systemie i ich Diagram obiektów
związki.
Łączy diagramy sekwencji i stanów ukazując stany Diagram czasowy
obiektów na przestrzeni czasu oraz komunikaty
zmieniające te stany.
44) Jeżeli klasa bazowa jest dziedzczona publicznie, to jej dane i funkcje prywatne są w klasie pochodnej:
Odp. Niedostępne