Testy.docx

(240 KB) Pobierz

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:

funkcyjnego Źle

imperatywnego Źle

logicznego Źle

obiektowego Dobrze

Składanie i obliczanie funkcji, bez stanu maszyny i bez efektów ubocznych, jest charakterystyczne dla paradygmatu:

funkcyjnego Dobrze

imperatywnego Źle

logicznego Źle

obiektowego Źle

Dowodzenie wpisanego celu w oparciu o podane przesłanki za pomocą rezolucji jest charakterystyczne dla paradygmatu:

funkcyjnego Źle

imperatywnego Źle

logicznego Dobrze

obiektowego Źle

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

Java Źle

Smalltalk Dobrze

Językiem, w któym klasa może być samoistna (tzn. nie mieć nadklasy), jest:

C++ Dobrze

C# Źle

Java Źle

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++ Źle

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ą?

Ada Źle

C Dobrze

C++ Źle

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?

Ada Źle

C# Źle

Java Źle

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?

C++ Dobrze

...

Zgłoś jeśli naruszono regulamin