Szymański Języki i paradygmaty programowania, test


Test 1: Co to jest paradygmat programowania?

  1. Programowanie imperatywne jest ściśle związane z budową sprzętu komputerowego o architekturze: von Neumanna

  2. Abstrakcją komórek pamięci (w paradygmacie imperatywnym) są: zmienne

  3. Dziedziczenie jest cechą charakterystyczną dla programowania: obiektowego

  4. Obiekt to powiązanie danych z: operacjami na tych danych

  5. W programowaniu funkcyjnym nie występują: pętle

  6. Automatyczne dowodzenie twierdzeń (prostych...) jest możliwe w programowaniu: obiektowym

  7. Język C++ reprezentuje paradygmat: imperatywny i obiektowy

  8. Pierwszym językiem obiektowym był język: Simula 67

  9. Czy optymalizacja kodu wykonywana przez kompilator może poprawić asymptotyczną złożoność obliczeniową programu? tak, ale rzadko

  10. Składnię języków programowania opisuje się za pomocą gramatyk: bezkontekstowych

Test 2: Semantyka zmiennych

  1. Program może zawierać dwie różne zmienne o tej samej nazwie, gdy są to zmienne: lokalne w dwóch różnych blokach

  2. L-wartością nazywamy: bieżący adres zmiennej

  3. Wiązanie statyczne: następuje przed wykonaniem programu

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

  5. Okres życia zmiennej to: czas pomiędzy alokacją zmiennej a jej realokacją

  6. Obiekty w Javie są alokowane: dynamicznie, na stercie

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

  8. Silne typowanie bywa ,,osłabiane przez: niejawne konwersje typów

  9. Podtyp to: typ powstały przez ograniczenie zakresu istniejącego typu, zgodny z owym typem

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

Test 3: Typy, typy abstrakcyjne

  1. Pojęcie typu w językach imperatywnych bliskie jest pojęciu: zbioru skończonego

  2. Który z opisanych poniżej typów można uznać za typ abstrakcyjny? Rzecz dzieje się w języku C: wbudowany typ float

  3. W której sytuacji tablica asocjacyjna byłaby istotnie wygodniejsza niż zwykła tablica? zapisujemy kolor przejeżdżających samochodów, identyfikując je numerami rejestracyjnymi

  4. Ewentualne luki między przechowywanymi w pamięci polami rekordu biorą się z: konieczności umieszczania pól pod adresami, których 1 lub 2 najmniej znaczące bity są zerami

  5. 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? napisy mogą zawierać nieistotne znaki za znacznikiem końca

  6. Który operator języka C jest potrzebny, gdy wykorzystujemy wskaźniki do adresowania pośredniego? &

  7. Załóżmy, że p jest zmienną wskaźnikową. W którym języku wyrażenie ++p jest poprawne? C++

  8. Które stwierdzenie jest fałszywe w odniesieniu do klas w języku C++? konstruktor nie może być przeciążany

  9. W Javie obiekty są alokowane: dynamicznie na stercie

  10. Sparametryzowane typy abstrakcyjne uzyskuje się w C++ za pomocą deklaracji z użyciem słowa kluczowego: template

Test 4: Podprogramy

  1. Który język nie pozwala na użycie parametrów z wartością domyślną? C

  2. Przekazanie funkcji jako parametru można w C# osiągnąć za pomocą mechanizmu: delegatów

  3. Który język nie sprawdza zgodności typów parametrów? PHP

  4. Przy której deklaracji procedury f wywołanie f(2*x + 3) jest poprawne? void f(int n) w języku C

  5. Chcąc w języku C przekazać do funkcji tablicę przez wartość, trzeba: "obudować" ją strukturą i przekazać tę strukturę

  6. 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

  7. Załóżmy, że x jest parametrem w trybie out w procedurze w Adzie. Która instrukcja ma szansę być poprawna? x := y + 1

  8. Jawne przekazywanie przez referencję jest w C# możliwe, jeśli umieścimy słowo kluczowe ref: i przy parametrze formalnym, i przy aktualnym

  9. W językach z zakresem widoczności zmiennych wiązanym statycznie jako środowiska wykonywania przekazanego przez parametr podprogramu najczęściej używa się: środowiska definicji przekazanego podprogramu

  10. 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

Test 5: Programowanie obiektowe — przegląd

  1. Której cechy język obiektowy nie musi posiadać? podprogramy rodzajowe

  2. Jakie ograniczenie na przedefiniowywanie metod trzeba narzucić w języku silnie typowanym? przedefiniowana metoda musi zachować taki sam protokół

  3. 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)

  4. W języku C++ obiekty zaalokowane na stosie dealokowane są: niejawnie

  5. Językiem, w którym stosowane jest zawsze dynamiczne wiązanie wywołań z metodami, jest: Smalltalk

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

  7. W języku C++ metody, które mają być wiązane dynamicznie, deklaruje się za pomocą: słowa virtual

  8. Który nagłówek poprawnie deklaruje w C++ metodę abstrakcyjną? virtual void p()=0;

  9. Klasy "lekkie", deklarowane jako struct, alokowane na stosie i nie pozwalające na dziedziczenie występują w: C#

  10. Który element nie występuje w JavaScripcie? Klasy

Test 6: Programowanie funkcyjne — przegląd

  1. Czego z zasady nie ma w językach funkcyjnych? Pętli

  2. Która cecha jest typowa dla języków funkcyjnych, a rzadko występuje w językach imperatywnych i obiektowych? możliwość używania funkcji wyższego rzędu

  3. Listy służą w Lispie do zapisywania: i danych, i kodu

  4. Wywołanie ((LAMBDA (x) (* x x)) 2) w języku Scheme: wyświetli 4

  5. Funkcja DISPLAY w języku Scheme: wyświetla swój argument na ekranie

  6. Wartością wyrażenia (CAR `(A B C)) w języku Scheme jest: A

  7. Wartością wyrażenia (CONS `(A B) `(C D)) w języku Scheme jest: ((A B) C D)

  8. Jak w języku Scheme należy zapisać wywołanie złożenia funkcji f z samą sobą na argumencie x, czyli (f o f)(x)? (f (f x))

  9. Które stwierdzenie nie jest prawdziwe w odniesieniu do języka ML? lista może zawierać elementy różnych typów

  10. Do łączenia list w Haskellu służy: operator ++

Test 7: Programowanie w logice - przegląd

  1. Używane w Prologu klauzule Horna mają w następniku: zero lub jeden term

  2. Stosowana w Prologu metoda wnioskowania to: rezolucja

  3. Klauzula "dziadek(X, Z) :- ojciec(X, Y), ojciec(Y, Z).": mówi tylko, że jeśli X jest ojcem Y i Y jest ojcem Z, to X jest dziadkiem Z

  4. Do tworzenia i rozkładania list w Prologu stosuje się: operator | i odpowiednie dopasowania

  5. Zapis "X is 3 * Y + 4" w Prologu powoduje: utożsamienie (lub sprawdzenie utożsamienia) zmiennej X z wartością wyrażenia 3*Y+4

  6. Jeśli Prologowi nie uda się udowodnić jednego z podcelów, to: wraca do poprzednich podcelów, próbując znaleźć alternatywne rozwiązania

  7. Dla stwierdzeń złożonych Prolog stosuje: przeszukiwanie w głąb

  8. Zapis [X | Y] w Prologu oznacza: listę, gdzie X jest głową, a Y -- ogonem listy

  9. Jaką klauzulę należałoby dopisać przed ,,f(X, [_ | Y]) :- f(X, Y).", by otrzymać funktor sprawdzający przynależność elementu do listy? f(X, [X | _]).

  10. Lista [1, [2, 3], 4, []] ma długość: 4

Test 8: U podstaw programowania funkcyjnego — rachunek lambda

  1. Jeśli 0x01 graphic
    jest termem rachunku lambda, zaś 0x01 graphic
    jest zmienną, to 0x01 graphic
    nazywamy: abstrakcją

  2. W termie 0x01 graphic
    wolna jest zmienna: 0x01 graphic

  3. Który term jest wynikiem 0x01 graphic
    -konwersji termu 0x01 graphic
    ? 0x01 graphic

  4. Wynikiem 0x01 graphic
    -redukcji termu 0x01 graphic
    jest term: 0x01 graphic

  5. Aplikacja 0x01 graphic
    zwana jest redeksem, jeśli: 0x01 graphic
    jest w postaci abstrakcji

  6. Mówimy, że term jest w postaci normalnej, jeśli: żaden jego podterm nie jest redeksem

  7. Postać normalna (o ile istnieje) jest unikalna z dokładnością do: 0x01 graphic
    -konwersji

  8. Przymując standardową reprezentację liczb naturalnych w rachunku lambda, term 0x01 graphic
    reprezentuje: dodawanie

  9. Funkcje reprezentowalne w rachunku lambda (klasycznym, beztypowym) odpowiadają dokładnie modelowi: funkcji obliczalnych totalnych (nieczęściowych)

  10. Operator punktu stałego to term 0x01 graphic
    taki, że dla dowolnego termu 0x01 graphic
    aplikacja 0x01 graphic
    jest równa, modulo 0x01 graphic
    -redukcja: 0x01 graphic

Test 9: U podstaw programowania obiektowego — rachunek sigma

  1. Rachunek sigma opisuje obiekty na poziomie abstrakcji podobnym do tego, na którym funkcje są opisywane przez: rachunek lambda

  2. Podobnie jak w rachunku sigma, obiekty bez klas pojawiają się w języku: JavaScript

  3. Która relacja nie pasuje do pozostałych w kontekście języka C++? relacja zawierania bloków kodu

  4. W rachunku sigma obiekt to zbiór metod, dla których mamy dwie operacje — wywołanie i: nadpisanie

  5. W rachunku sigma każda metoda posiada ciało oraz parametr reprezentujący: jaźń obiektu

  6. Zapis 0x01 graphic
    oznacza: obiekt zawierający jedną metodę, zwracającą obiekt pusty

  7. Jeśli 0x01 graphic
    jest obiektem 0x01 graphic
    , to wywołanie 0x01 graphic
    da w wyniku:wywołanie to nie da wyniku, gdyż obliczenia nie kończą się

  8. Jeśli 0x01 graphic
    jest obiektem 0x01 graphic
    , to wywołanie 0x01 graphic
    da w wyniku: obiekt 0x01 graphic

  9. Relacja redukcji (rozszerzona, z gwiazdką) w rachunku sigma spełnia własność Churcha-Rossera. Oznacza to, że jeśli 0x01 graphic
    i 0x01 graphic
    , to: istnieje 0x01 graphic
    takie, że 0x01 graphic
    i 0x01 graphic

  10. Otrzymawszy wyrażenie, maszyna wirtualna rachunku sigma może zachować się na jeden z trzech sposobów. Które z wymienionych poniżej zachowań nie odpowiada żadnemu z nich? wyliczenie wartości, która nie jest poprawnym wynikiem

Test 15: Inne paradygmaty warte wspomnienia

  1. Sekwencja poleceń zmieniających krok po kroku stan maszyny jest charakterystyczna dla paradygmatu: imperatywnego

  2. Powiązanie danych z operacjami na nich w całość, stanowiącą odrębną jednostkę, jest charakterystyczne dla paradygmatu: obiektowego

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

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

  5. Który element nie jest charakterystyczny dla programowania strukturalnego? Skok

  6. Przykładem programowania sterowanego przepływem danych nie jest: przetwarzanie kolejnych elementów tablicy w pętli for

  7. W programowaniu sterowanym zdarzeniami pojęcie zdarzenia raczej nie odnosi się do: rekurencyjnego wywołania funkcji

  8. Które pojęcie jest najogólniejsze? programowanie współbieżne

  9. Który język nie zawiera żadnych wbudowanych mechanizmów obsługi współbieżności? C++

  10. Czy podobał Ci się wykład o paradygmatach programowania? nie podobał mi się wcale :P



Wyszukiwarka

Podobne podstrony:
Tresci kursu, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
Kol W2, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp), kolos 2
przyklad Zad2, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
Kol W1, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp), kolos 2
po proj, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
przyklad kol1, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
Tresci kursu, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
Języki i paradygmaty programowania
Paradygmaty programowania wyk 1
Przykładowe programy, test egz v2!!!, OCR Document
Zaliczenie z podstaw programowania - Test 1, 1
Paradygmaty programowania wyk 5
Zaliczenie z podstaw programowania - Test 2, 1
Przykładowe programy, test egz v4, OCR Document
test kwalifikacyjny semestr letni 2010[1], Języki, POLSKI, Testy, Test kwalifikacyjny 2010
Paradygmaty programowania wyk 4
Jezyki i paradygmaty cz V

więcej podobnych podstron