Sekwencja poleceń zmieniających krok po kroku stan maszyny jest charakterystyczna dla paradygmatu:
funkcyjnego Źle
imperatywnego Dobrze
logicznego Źle
obiektowego Źle
Powiązanie danych z operacjami na nich w całość, stanowiącą odrębną jednostkę, jest charakterystyczne dla paradygmatu:
imperatywnego Źle
obiektowego Dobrze
Składanie i obliczanie funkcji, bez stanu maszyny i bez efektów ubocznych, jest charakterystyczne dla paradygmatu:
funkcyjnego Dobrze
Dowodzenie wpisanego celu w oparciu o podane przesłanki za pomocą rezolucji jest charakterystyczne dla paradygmatu:
logicznego Dobrze
Który element nie jest charakterystyczny dla programowania strukturalnego?
iteracja Źle
sekwencja Źle
skok Dobrze
wybór Źle
Przykładem programowania sterowanego przepływem danych nie jest:
arkusz kalkulacyjny Źle
potok w systemie Unix Źle
przetwarzanie kolejnych elementów tablicy w pętli for Dobrze
wykonywanie instrukcji przez procesor w zależności od dostępności wyników poprzednich operacji, a nie tylko według ich oryginalnej kolejności Źle
W programowaniu sterowanym zdarzeniami pojęcie zdarzenia raczej nie odnosi się do:
naciśnięcia klawisza Źle
przerwania Źle
rekurencyjnego wywołania funkcji Dobrze
wstawienia nowego rekordu do bazy danych Źle
Które pojęcie jest najogólniejsze?
programowanie rozproszone Źle
programowanie równoległe Źle
programowanie współbieżne Dobrze
wymienione tu pojęcia są nieporównywalne Źle
Który język nie zawiera żadnych wbudowanych mechanizmów obsługi współbieżności?
Ada Źle
C++ Dobrze
Erlang Źle
Java Źle
Czy podobał Ci się wykład o paradygmatach programowania?
nie podobał mi się wcale Źle
nie mam zdania, ale raczej mi się nie podobał Źle
tak, podobał mi się Źle
tak, bardzo mi się podobał Dobrze
Której cechy język obiektowy nie musi posiadać?
abstrakcyjne typy danych Źle
dynamiczne wiązanie wywołań metod z metodami Źle
dziedziczenie Źle
podprogramy rodzajowe Dobrze
Jakie ograniczenie na przedefiniowywanie metod trzeba narzucić w języku silnie typowanym?
przedefiniowana metoda musi być bezparametrowa Źle
przedefiniowana metoda musi być typu void Źle
przedefiniowana metoda musi zachować taki sam protokół Dobrze
nie trzeba narzucać żadnych ograniczeń Źle
Rozstrzyganie odwołań do bytów o takiej samej nazwie mających definicje w dwóch klasach bazowych odbywa się w C++ za pomocą:
operatora :: (dwa dwukropki) Dobrze
operatora . (kropka) Źle
tego nie da się zrobić Źle
dziedziczenie wielokrotne nie jest w C++ dozwolone Źle
W języku C++ obiekty zaalokowane na stosie dealokowane są:
niejawnie Dobrze
za pomocą delete Źle
za pomocą free Źle
w C++ nie ma takich obiektów Źle
Językiem, w którym stosowane jest zawsze dynamiczne wiązanie wywołań z metodami, jest:
C++ Źle
C# Źle
Smalltalk Dobrze
Językiem, w któym klasa może być samoistna (tzn. nie mieć nadklasy), jest:
Smalltalk Źle
W języku C++ metody, które mają być wiązane dynamicznie, deklaruje się za pomocą:
operatora -> (strzałka) Źle
słowa abstract Źle
słowa dynamic Źle
słowa virtual Dobrze
Który nagłówek poprawnie deklaruje w C++ metodę abstrakcyjną?
virtual void p(); Źle
virtual void p()=0; Dobrze
void p()=0; Źle
abstract void p(); Źle
Klasy "lekkie", deklarowane jako struct, alokowane na stosie i nie pozwalające na dziedziczenie występują w:
C# Dobrze
Javie Źle
we wszystkich wymienionych tu językach Źle
Który element nie występuje w JavaScripcie?
klasy Dobrze
obiekty złożone z par (nazwa własności, wartość) Źle
operator new Źle
zmienne
Który język nie pozwala na użycie parametrów z wartością domyślną?
C Dobrze
PHP Źle
Przekazanie funkcji jako parametru można w C# osiągnąć za pomocą mechanizmu:
bezpośrednio, bez dodatkowych mechanizmów Źle
delegatów Dobrze
tablic wielowymiarowych Źle
wskaźników do funkcji Źle
Który język nie sprawdza zgodności typów parametrów?
PHP Dobrze
Przy której deklaracji procedury f wywołanie f(2*x + 3) jest poprawne?
procedure f(n: in out Integer) w Adzie Źle
procedure f(n: out Integer) w Adzie Źle
void f(int n) w języku C Dobrze
void f(int *n) w języku C Źle
Chcąc w języku C przekazać do funkcji tablicę przez wartość, trzeba:
"obudować" ją strukturą i przekazać tę strukturę Dobrze
użyć nawiasów kwadratowych po nazwie tablicy w wywołaniu funkcji Źle
użyć nawiasów kwadratowych po nazwie parametru w nagłówku funkcji Źle
nie trzeba robić niczego szczególnego Źle
Jaką dodatkową cechę mają parametry stałe deklarowane w C++ z użyciem const w stosunku do parametrów w trybie wejściowym w ogóle?
nie mogą być zmieniane nawet w obrębie podprogramu Dobrze
są zawsze alokowane statycznie Źle
wymuszają statyczne sprawdzenie zgodności typu Źle
nie mają żadnej dodatkowej cechy Źle
Załóżmy, że x jest parametrem w trybie out w procedurze w Adzie. Która instrukcja ma szansę być poprawna?
x := x + 1 Źle
x := y + 1 Dobrze
y := x + 1 Źle
y := T(x) Źle
Jawne przekazywanie przez referencję jest w C# możliwe, jeśli umieścimy słowo kluczowe ref:
przy parametrze aktualnym Źle
przy parametrze formalnym Źle
i przy parametrze formalnym, i przy aktualnym Dobrze
to w ogóle nie jest możliwe Źle
W językach z zakresem widoczności zmiennych wiązanym statycznie jako środowiska wykonywania przekazanego przez parametr podprogramu najczęściej używa się:
środowiska instrukcji (w podprogramie), wywołującej przekazany podprogram Źle
środowiska definicji przekazanego podprogramu Dobrze
środowiska instrukcji, która przekazała podprogram jako parametr Źle
żadnego z wymienioinych środowisk Źle
W implementacji podprogramów bez zagnieżdżeń, ale z rekurencją i z dynamicznymi zmiennymi lokalnymi na stosie potrzebne jest przechowywanie w rekordzie aktywacyjnym:
tylko łącza dynamicznego Dobrze
tylko łącza statycznego Źle
łącza dynamicznego i statycznego Źle
żadnego z nich
Pojęcie typu w językach imperatywnych bliskie jest pojęciu:
całki Riemanna Źle
pary uporządkowanej Źle
zbioru nieskończonego Źle
zbioru skończonego Dobrze
Który z opisanych poniżej typów można uznać za typ abstrakcyjny? Rzecz dzieje się w języku C:
struktura wraz z kilkoma działającymi na niej funkcjami Źle
typ wskaźnikowy T *, gdzie T jest zdefiniowane następująco: typedef int T[10]; Źle
wbudowany typ float Dobrze
unia złożona z pól tego samego typu Źle
W której sytuacji tablica asocjacyjna byłaby istotnie wygodniejsza niż zwykła tablica?
mamy katalogi ponumerowane od 1 do 100 i zapisujemy ich rozmiar Źle
sortujemy obszerną tablicę liczb typu double Źle
wyszukujemy największą liczbę w tablicy Źle
zapisujemy kolor przejeżdżających samochodów, identyfikując je numerami rejestracyjnymi Dobrze
Ewentualne luki między przechowywanymi w pamięci polami rekordu biorą się z:
konieczności sprawdzenia zgodności typów Źle
konieczności umieszczania pól pod adresami, których 1 lub 2 najmniej znaczące bity są zerami Dobrze
niedoskonałości kompilatorów Źle
szybkich przesunięć cyklicznych w jednostce arytmetyczno-logicznej procesora Źle
Załóżmy, że w języku C sprawdzamy równość struktur (oczywiście tego samego typu). Dlaczego w ogólności nie można tego zrobić przez porównywanie bloków pamięci?
istnieje kilka rozmiarów liczb całkowitych Źle
napisy mogą zawierać nieistotne znaki za znacznikiem końca Dobrze
nie można z góry przewidzieć, czy napisy są zapisane w kodzie ASCII, czy Unicode Źle
reprezentacja liczb float i double nie jest jednoznaczna Źle
Który operator języka C jest potrzebny, gdy wykorzystujemy wskaźniki do adresowania pośredniego?
& Dobrze
++ Źle
-- Źle
nawiasy kwadratowe do indeksowania Źle
Załóżmy, że p jest zmienną wskaźnikową. W którym języku wyrażenie ++p jest poprawne?
...
rwrc