Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal
1. Powłoka (ang. shell) w systemie UNIX jest odpowiedzialna za: a)Pośredniczenie pomiędzy systemem operacyjnym a użytkownikiem bądź aplikacją b) c) Odpowiedź prawidłowa
2. Wymień zasoby, które w systemach UNIX’owych mogą mieć reprezentację w postaci pliku (np. w wirtualnym systemie plików): a) b)Napęd CD/DVD, pamięć RAM, konsole wirtualne i fizyczne, parametry uruchomionych procesów c) Odpowiedź błędna, prawidłowe odpowiedzi: –dyski, partycje, pętle zwrotne –modemy, myszki, generatory liczb pseudolosowych, generator zer, „czarna dziura” (dev/null)
3. We współczesnych systemach UNIX’owych plik /etc/passwd zawiera między innymi: a) b) c) ścieżki dostępu do katalogów domowych wszystkich użytkowników Odpowiedź prawidłowa, inne możliwości: login, „hasło”, ID użytkownika, ID domyślnej grupy użytkownika, opis,
4. Rezultatem wykonania instrukcji printf(„Witaj”); w języku C/C++ będzie: a) b) c)błąd ponieważ nie podano identyfikatora okienka na które ma zostać wypisany tekst Odpowiedź błędna, poprawna odpowiedź: Wypisanie ‘Witaj’ na standardowe wyjście
5. W języku C/C++ instrukcja #include ma następujące znaczenie: a)Dołącza do programu bibliotekę o nazwie tdio (ang. standard input and output library) b) c) Odpowiedź prawidłowa
6. W programie zadeklarowano następujące zmienne: char tab[25] = „Daj, ac ja pobrusze”; char *wsk = „a ty poczywaj”; która instrukcja wyświetli całą sentencję? a)printf („%s %s\n”, tab, *wsk); b) c) Odpowiedź błędna, prawidłowo: –printf („%s %s\n”, tab, wsk); *wsk – wartość pierwszego elementu
7. Wskaż poprawny sposób kopiowania całego łańcucha znakowego w języku C ze zmiennej wsk do zmiennej tab zadeklarowanej w następujący sposób: char tab[25]; char *wsk = „a ty poczywaj”; a)tab = wsk; b) c) Odpowiedź błędna, prawidłowo: –strcpy(tab, wsk); –strncpy(tab, wsk, strlen(wsk)); –for(i=0;i<14;i++) tab[i]=*(wsk+i); –for(i=0;*wsk;i++) tab[i]=*wsk++;
8. Wskaż fragment kodu, który prawidłowo pobierze łańcuch znaków z klawiatury i umieści go w tablicy char tab[16]. a) b) c)scanf(„%s”, tab); Odpowiedź prawidłowa
9. Wymień instrukcje warunkowe w języku C/C++ a) b) c)… ? … : … Odpowiedź prawidłowa, inne odpowiedzi: if(…) …; else …; switch (…) { case … : …; break; default: … ; }
10. Wymień wszystkie rodzaje pętli w języku C/C++. a)for(…), while(…) b) c) Odpowiedź prawidłowa, inne odpowiedzi: do { } while(…)
11. Jak duża tablica typu czar jest potrzebna aby zapisać następującą sentencję „raz dwa trzy” a)10 b) c) Odpowiedź błędna, poprawna odpowiedź: –12 Dodawany jest znak końca łańcucha „\0”;
12. Wymień instrukcje za pomocą których w języku C/C++ można zakończyć pętlę. a) b)break, return(0) c) Poprawna odpowiedź: –break; return(0); return 0; przerywają działanie całej funkcji
13. Czy definicja funkcji może być również jej deklaracją? a) b) c)wyłącznie wtedy gdy definicja jest poniżej funkcji main() Odpowiedź błędna, poprawna odpowiedź: –wyłącznie wtedy gdy definicja jest powyżej funkcji main()
14. Funkcje rekurencyjne różnią się od zwykłych funkcji tym, że: a)w funkcji rekurencyjnej nie można wykonać instrukcji exit(0); b) c) Odpowiedź błędna, poprawna odpowiedź: wywołują same siebie
15. Zaznacz poprawną definicję zmiennej znaki będącej łańcuchem znaków a) b)char znaki[4]=„123”; c) Odpowiedź poprawna, inne opcje: –char *znaki=„123”; –char znaki[4]={‘1’,’2’,’3’,’\0’}; –char[] znaki =„123”;
16. Jaka jest różnica w zapisie fnc->imie i fnc.imie? a)w zapisie fnc->imie zmienna fnc jest wskaźnikiem do struktury zaś w przypadku fnc.imie zmienna fnc jest strukturą b) c) Odpowiedź poprawna
17. Elementami struktury danych w języku C mogą być: a) b)tablice struktur c) Odpowiedź poprawna, inne opcje: –Elementy dowolnego typu z wyjątkiem: aktualnie deklarowanego typu strukturalnego (ale może być wskaźnik) funkcje (ale może być wskaźnik do funkcji)
18. Jaki typ może zwracać destruktor a)integer b) c) Odpowiedź błędna, poprawnie: –destruktor nie może zwracać żadnego typu deklaracja: ~NazwaKlasy(void)
19. Co powoduje wykonanie operacji delete a a)zwolni zalokowaną pamięć obiektu a b) c) Odpowiedź błędna, poprawnie: –zwolni zalokowaną pamięć obiektu na który wskazuje a delete wskaźnikDoObiektu; delete[] nazwaTablicy;
20. Przeciążenie operatora w języku C++ pozwala: a)dodać do siebie dwie różne klasy np. wektor i liczbę zespoloną b) c) Odpowiedź poprawna
21. Aby wygenerować 100 liczb losowych w zakresie od 0 do 1 o rozkładzie równomiernym w języku Matlab należy wykonać następującą instrukcję: a) b)rand(100,1) c) Odpowiedź poprawna
22. W języku Matlab zadeklaruj wektor x składający się z liczb typu double o wartościach [1,2,3,4,5] a) b) c)x=1:5; Odpowiedź poprawna, inne: –x=1:1:5; –x=[ ] –x=[1:5] –x=linspace[1,5,5] –x=[1;2;3;4;5] – wektor kolumnowy
Dziękuję za uwagę