Test GR: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Rogoda (dyskusja | edycje)
Nie podano opisu zmian
Rogoda (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
<quiz type="exclusive">
<quiz type="exclusive">
Programowanie imperatywne jest ściśle związane z budową sprzętu
komputerowego o architekturze:
<wrongoption reply="Źle">Dijkstry</wrongoption>
<wrongoption reply="Źle">Hoare'a</wrongoption>
<wrongoption reply="Źle">Turinga</wrongoption>
<rightoption reply="Dobrze">von Neumanna</rightoption>


</quiz>
<quiz type="exclusive">
Program może zawierać dwie różne zmienne o tej samej nazwie, gdy są to zmienne:
  <wrongoption reply="Źle">alokowane dynamicznie</wrongoption>
  <wrongoption reply="Źle">globalne</wrongoption>
  <rightoption reply="Dobrze">lokalne w dwóch różnych blokach</rightoption>
  <wrongoption reply="Źle">lokalne w tym samym bloku</wrongoption>
</quiz>
</quiz>


<quiz type="exclusive">
<quiz type="exclusive">
Abstrakcją komórek pamięci (w paradygmacie imperatywnym) są:
L-wartością nazywamy:
<wrongoption reply="Źle">efekty uboczne podprogramów</wrongoption>
  <rightoption reply="Dobrze">bieżący adres zmiennej</rightoption>
<wrongoption reply="Źle">pętle</wrongoption>
  <wrongoption reply="Źle">wynik wyrażenia arytmetycznego</wrongoption>
<wrongoption reply="Źle">podstawienia</wrongoption>
  <wrongoption reply="Źle">indeks tablicy</wrongoption>
<rightoption reply="Dobrze">zmienne</rightoption>
  <wrongoption reply="Źle">wartość zmiennej po dokonaniu podstawienia</wrongoption>
</quiz>
</quiz>


<quiz type="exclusive">
<quiz type="exclusive">
Dziedziczenie jest cechą charakterystyczną dla programowania:
Wiązanie statyczne:
<wrongoption reply="Źle">funkcyjnego</wrongoption>
  <wrongoption reply="Źle">może zmienić się w trakcie wykonania programu</wrongoption>
<wrongoption reply="Źle">imperatywnego</wrongoption>
  <wrongoption reply="Źle">następuje w trakcie wykonania programu</wrongoption>
<rightoption reply="Dobrze">obiektowego</rightoption>
  <rightoption reply="Dobrze">następuje przed wykonaniem programu</rightoption>
<wrongoption reply="Źle">w logice</wrongoption>
  <wrongoption reply="Źle">odnosi się tylko do zmiennych globalnych</wrongoption>
</quiz>
</quiz>


<quiz type="exclusive">
<quiz type="exclusive">
Obiekt to powiązanie danych z:
Wnioskowanie o typie zmiennej jest najczęstsze w językach:
<wrongoption reply="Źle">kontrolą temperatury procesora</wrongoption>
  <rightoption reply="Dobrze">funkcyjnych</rightoption>
<wrongoption reply="Źle">mechanizmem obsługi przerwań</wrongoption>
  <wrongoption reply="Źle">logicznych</wrongoption>
<rightoption reply="Dobrze">operacjami na tych danych</rightoption>
  <wrongoption reply="Źle">obiektowych</wrongoption>
<wrongoption reply="Źle">systemową obsługą wejścia-wyjścia</wrongoption>
  <wrongoption reply="Źle">nie występuje w żadnym przyzwoitym języku</wrongoption>
</quiz>
</quiz>


<quiz type="exclusive">
<quiz type="exclusive">
W programowaniu funkcyjnym nie występują:
Okres życia zmiennej to:
<rightoption reply="Dobrze">pętle</rightoption>
  <rightoption reply="Dobrze">czas pomiędzy alokacją zmiennej a jej dealokacją</rightoption>
<wrongoption reply="Źle">wywołania rekurencyjne</wrongoption>
  <wrongoption reply="Źle">czas od uruchomienia programu do chwili wykonania na tej zmiennej delete, free itp.</wrongoption>
<wrongoption reply="Źle">składanie funkcji</wrongoption>
  <wrongoption reply="Źle">obszar kodu pomiędzy deklaracją zmiennej a końcem zawierającego ją bloku</wrongoption>
<wrongoption reply="Źle">tablice</wrongoption>
  <wrongoption reply="Źle">czas od pierwszego podstawienia pod tę zmienną do ostatniego jej użycia w programie</wrongoption>
</quiz>
</quiz>


<quiz type="exclusive">
<quiz type="exclusive">
Automatyczne dowodzenie twierdzeń (prostych...) jest możliwe w programowaniu:
Obiekty w Javie są alokowane:
<wrongoption reply="Źle">funkcyjnym</wrongoption>
  <rightoption reply="Dobrze">dynamicznie, na stercie</rightoption>
<wrongoption reply="Źle">imperatywnym</wrongoption>
  <wrongoption reply="Źle">dynamicznie, na stosie</wrongoption>
<rightoption reply="Dobrze">obiektowym</rightoption>
  <wrongoption reply="Źle">dynamicznie, na stosie lub na stercie (decyzję podejmuje kompilator)</wrongoption>
<wrongoption reply="Źle">w logice</wrongoption>
  <wrongoption reply="Źle">statycznie</wrongoption>
</quiz>
</quiz>


<quiz type="exclusive">
<quiz type="exclusive">
Język C++ reprezentuje paradygmat:
Spośród wymienionych tu języków najbliższy silnemu typowaniu jest:
<wrongoption reply="Źle">funkcyjny</wrongoption>
  <wrongoption reply="Źle">C</wrongoption>
<rightoption reply="Dobrze">imperatywny i obiektowy</rightoption>
  <wrongoption reply="Źle">C++</wrongoption>
<wrongoption reply="Źle">logiczny</wrongoption>
  <rightoption reply="Dobrze">C\#</rightoption>
<wrongoption reply="Źle">żaden z wymienionych</wrongoption>
  <wrongoption reply="Źle">PHP</wrongoption>
</quiz>
</quiz>


<quiz type="exclusive">
<quiz type="exclusive">
Pierwszym językiem obiektowym był język:
Silne typowanie bywa ,,osłabiane'' przez:
<wrongoption reply="Źle">Ada</wrongoption>
  <wrongoption reply="Źle">jawne konwersje typów</wrongoption>
<wrongoption reply="Źle">C++</wrongoption>
  <rightoption reply="Dobrze">niejawne konwersje typów</rightoption>
<wrongoption reply="Źle">Pascal</wrongoption>
  <wrongoption reply="Źle">dynamiczne sprawdzanie zgodności typów</wrongoption>
<rightoption reply="Dobrze">Simula 67</rightoption>
  <wrongoption reply="Źle">statyczne sprawdzanie zgodności typów</wrongoption>
</quiz>
</quiz>


<quiz type="exclusive">
<quiz type="exclusive">
Czy optymalizacja kodu wykonywana przez kompilator może poprawić
Podtyp to:
asymptotyczną złożoność obliczeniową programu?
  <rightoption reply="Dobrze">typ powstały przez ograniczenie zakresu istniejącego typu, zgodny z owym typem</rightoption>
<wrongoption reply="Źle">nie, nigdy</wrongoption>
  <wrongoption reply="Źle">nowy typ oparty na już istniejącym, niezgodny z dotychczasowym</wrongoption>
<rightoption reply="Dobrze">tak, ale rzadko</rightoption>
  <wrongoption reply="Źle">typ tablicowy, w którym ograniczono zakres indeksów</wrongoption>
<wrongoption reply="Źle">tak, często tak jest</wrongoption>
  <wrongoption reply="Źle">jedno z pól unii</wrongoption>
<wrongoption reply="Źle">tak, jest tak praktycznie zawsze (po to jest optymalizacja)</wrongoption>
</quiz>
</quiz>


<quiz type="exclusive">
<quiz type="exclusive">
Składnię języków programowania opisuje się za pomocą gramatyk:
W języku C++ dostęp do przesłoniętej zmiennej nielokalnej można
<wrongoption reply="Źle">regularnych</wrongoption>
uzyskać za pomocą operatora:
<rightoption reply="Dobrze">bezkontekstowych</rightoption>
  <rightoption reply="Dobrze">\:\: (dwa dwukropki)</rightoption>
<wrongoption reply="Źle">kontekstowych</wrongoption>
  <wrongoption reply="Źle">. (kropka)</wrongoption>
<wrongoption reply="Źle">typu 0</wrongoption>
  <wrongoption reply="Źle">* (gwiazdka)</wrongoption>
  <wrongoption reply="Źle">-> (strzałka)</wrongoption>
</quiz>
</quiz>

Wersja z 20:06, 12 wrz 2006


Program może zawierać dwie różne zmienne o tej samej nazwie, gdy są to zmienne:

  

alokowane dynamicznie

globalne

lokalne w dwóch różnych blokach

lokalne w tym samym bloku

L-wartością nazywamy:

  

bieżący adres zmiennej

wynik wyrażenia arytmetycznego

indeks tablicy

wartość zmiennej po dokonaniu podstawienia

Wiązanie statyczne:

  

może zmienić się w trakcie wykonania programu

następuje w trakcie wykonania programu

następuje przed wykonaniem programu

odnosi się tylko do zmiennych globalnych

Wnioskowanie o typie zmiennej jest najczęstsze w językach:

  

funkcyjnych

logicznych

obiektowych

nie występuje w żadnym przyzwoitym języku

Okres życia zmiennej to:

  

czas pomiędzy alokacją zmiennej a jej dealokacją

czas od uruchomienia programu do chwili wykonania na tej zmiennej delete, free itp.

obszar kodu pomiędzy deklaracją zmiennej a końcem zawierającego ją bloku

czas od pierwszego podstawienia pod tę zmienną do ostatniego jej użycia w programie

Obiekty w Javie są alokowane:

  

dynamicznie, na stercie

dynamicznie, na stosie

dynamicznie, na stosie lub na stercie (decyzję podejmuje kompilator)

statycznie

Spośród wymienionych tu języków najbliższy silnemu typowaniu jest:

  

C

C++

C\#

PHP

Silne typowanie bywa ,,osłabiane przez:

  

jawne konwersje typów

niejawne konwersje typów

dynamiczne sprawdzanie zgodności typów

statyczne sprawdzanie zgodności typów

Podtyp to:

  

typ powstały przez ograniczenie zakresu istniejącego typu, zgodny z owym typem

nowy typ oparty na już istniejącym, niezgodny z dotychczasowym

typ tablicowy, w którym ograniczono zakres indeksów

jedno z pól unii

W języku C++ dostęp do przesłoniętej zmiennej nielokalnej można uzyskać za pomocą operatora:

  

\:\: (dwa dwukropki)

. (kropka)

* (gwiazdka)

-> (strzałka)