c

 0    190 fiszek    choroszcza17
ściągnij mp3 drukuj graj sprawdź się
 
Pytanie język polski Odpowiedź język polski
Która cecha najlepiej opisuje filozofię projektową języka C?
rozpocznij naukę
Duża kontrola nad sprzętem i pamięcią, „C ufa programiście”
W jakich obszarach język C jest szczególnie istotny?
rozpocznij naukę
Systemy operacyjne, sterowniki, embedded oraz HPC
Która wersja języka C była pierwszym oficjalnym standardem ISO/ANSI?
rozpocznij naukę
ANSI C (C89)
Dlaczego Dennis Ritchie stworzył język C?
rozpocznij naukę
aby przepisać system UNIX z asemblera na język bardziej przenośny i czytelny
Które stwierdzenie najlepiej wyjaśnia, dlaczego C uznawany jest za język przenośny?
rozpocznij naukę
ponieważ ten sam kod źródłowy można kompilować na wielu platformach dzięki abstrakcyjnej maszynie C
Co najlepiej opisuje język programowania według prezentacji?
rozpocznij naukę
Formalny system zapisu algorytmów i struktur danych zrozumiały dla komputera, Most między myśleniem człowieka a wykonaniem przez maszynę
Które poziomy języków programowania zostały wyróżnione?
rozpocznij naukę
Język maszynowy, Assembler, Język wysokiego poziomu
Co jest cechą języków wysokiego poziomu?
rozpocznij naukę
Abstrakcja od szczegółów sprzętowych, Czytelność kodu, Przenośność między platformami
Które języki są zwykle interpretowane?
rozpocznij naukę
Python, JavaScript
Jakie etapy obejmuje praca kompilatora i linkera?
rozpocznij naukę
Analiza leksykalna, Parsowanie, Optymalizacja, Linkowanie
Co oznacza paradygmat programowania?
rozpocznij naukę
Zbiór zasad i wzorców tworzenia programów, Sposób organizacji i dekompozycji problemów, Model myślenia o danych i przepływie sterowania
Które paradygmaty należą do głównych klasyfikacji?
rozpocznij naukę
Imperatywny, Deklaratywny, Obiektowy, Funkcyjny
Czym charakteryzuje się paradygmat deklaratywny?
rozpocznij naukę
Opisuje co osiągnąć, a nie jak. Ukryta kontrola przepływu
Dlaczego warto znać wiele paradygmatów?
rozpocznij naukę
Lepsze dopasowanie narzędzia do problemu. Szersze spojrzenie na projektowanie rozwiązań. Łatwiejsza współpraca w zespołach
Które języki są przykładami języków wieloparadygmatowych?
rozpocznij naukę
Python. JavaScript. Scala
Które osoby są bezpośrednio związane z powstaniem języka C?
rozpocznij naukę
Dennis Ritchie. Ken Thompson
Jakie były główne cele stworzenia języka C?
rozpocznij naukę
Umożliwienie przenośnego tworzenia systemów operacyjnych. Zastąpienie asemblera językiem bardziej czytelnym
Które stwierdzenia opisują symbiozę C i UNIX-a?
rozpocznij naukę
UNIX wymagał przenośnego języka. C zapewnił abstrakcję i kontrolę nad sprzętem. UNIX został przepisany w C
Które standardy języka C są wymienione w historii standaryzacji?
rozpocznij naukę
ANSI C (C89). C99. C11. C23
Jakie języki powstały lub były silnie inspirowane językiem C?
rozpocznij naukę
C++. Java. Rust. Python
W jakich obszarach C jest szczególnie istotny?
rozpocznij naukę
Systemy operacyjne. Mikrokontrolery i IoT. HPC i obliczenia naukowe
Które cechy należą do filozofii języka C?
rozpocznij naukę
Prostota. Pełna kontrola nad pamięcią. Wysoka wydajność
Co oznacza niskopoziomowa kontrola w C?
rozpocznij naukę
Możliwość operowania wskaźnikami. Bezpośredni dostęp do adresów pamięci. Możliwość manipulacji bajtami
Dlaczego C jest uznawany za język deterministyczny?
rozpocznij naukę
Brak garbage collectora. Statyczne typowanie. Przewidywalny czas wykonania
Co zwiększa przenośność kodu w C?
rozpocznij naukę
Abstrakcyjna maszyna C. Biblioteka standardowa. Dostępność kompilatorów na wielu platformach
Które elementy należą do typowej struktury programu C?
rozpocznij naukę
Dyrektywy preprocesora. Deklaracje globalne. Funkcja main()
Które typy należą do podstawowych w C?
rozpocznij naukę
int. char. float
Jakie operatory służą do pracy ze wskaźnikami?
rozpocznij naukę
& (operator adresu). * (operator dereferencji)
Jakie etapy obejmuje proces kompilacji programu w C?
rozpocznij naukę
Preprocesor. Kompilator. Assembler. Linker
Dlaczego język C jest uznawany za fundament współczesnej informatyki?
rozpocznij naukę
Jądra systemów operacyjnych są w nim napisane. Stanowi podstawę wielu innych języków. Zapewnia wysoką wydajność i kontrolę
Co w praktyce oznacza zasada „zero-cost abstractions” w C++?
rozpocznij naukę
że abstrakcje, jeśli są poprawnie użyte, mogą zostać całkowicie zoptymalizowane przez kompilator i nie generować dodatkowego kosztu względem kodu niskopoziomowego
Który zestaw kosztów jest bezpośrednio związany z użyciem funkcji wirtualnych w C++?
rozpocznij naukę
dodatkowy wskaźnik vptr w obiekcie, pośredni skok przy wywołaniu oraz utrudnione optymalizacje (np. inline)
Dlaczego określenie C++ jako języka „wieloparadygmatowego” ma istotne znaczenie praktyczne, a nie wyłącznie teoretyczne?
rozpocznij naukę
Ponieważ programista może świadomie dobierać paradygmat (proceduralny, obiektowy, generyczny, funkcyjny) do charakteru problemu, kontrolując jednocześnie koszty wykonania i model pamięci
Jaki jest kluczowy efekt wprowadzenia semantyki przenoszenia w C++11?
rozpocznij naukę
Redukcja kosztu operacji na obiektach posiadających zasoby z O(n) do O(1) poprzez transfer własności zamiast kopiowania
Dlaczego przypisanie obiektu klasy pochodnej do obiektu klasy bazowej przez wartość jest uznawane za błąd projektowy?
rozpocznij naukę
Ponieważ prowadzi do utraty części obiektu (slicing) i uniemożliwia poprawne działanie polimorfizmu
Jaki jest główny cel reguły zera (Rule of Zero) w nowoczesnym C++?
rozpocznij naukę
Unikanie ręcznego zarządzania zasobami poprzez delegowanie odpowiedzialności do obiektów RAII, co eliminuje potrzebę implementacji destruktorów i konstruktorów kopiujących/przenoszących
Dlaczego referencje w C++ są uznawane za bezpieczniejszą abstrakcję niż wskaźniki, mimo że sprzętowo są realizowane podobnie?
rozpocznij naukę
Ponieważ nie mogą być puste ani ponownie przypisane po inicjalizacji, co eliminuje całą klasę błędów logicznych bez dodatkowego kosztu wykonania
Co odróżnia RAII w C++ od manualnego zarządzania zasobami znanego z języka C w kontekście przewidywalności wykonania?
rozpocznij naukę
powiązanie czasu życia zasobu z czasem życia obiektu gwarantuje deterministyczne zwalnianie zasobów przy opuszczaniu zakresu, także w obecności wyjątków
Które cechy zostały wprowadzone lub rozszerzone w standardzie C99?
rozpocznij naukę
Możliwość deklarowania zmiennych w dowolnym miejscu bloku. Komentarze jednoliniowe //. Nagłówek <stdint. h> z typami o stałej szerokości
Które modele danych są poprawnie sparowane z rozmiarami typów?
rozpocznij naukę
ILP32 → int, long, pointer = 32 bity. LP64 → long i pointer = 64 bity, int = 32 bity... LLP64 → long long i pointer = 64 bity, int i long = 32 bity
Które elementy wchodzą w skład minimalnej struktury programu w C?
rozpocznij naukę
Dyrektywy preprocesora. Funkcja main(). Wartość zwrotna programu (exit code)
Które z poniższych są tokenami według procesu tokenizacji?
rozpocznij naukę
Identyfikatory. Słowa kluczowe. Literały.
Które stwierdzenia o komentarzach w C są prawdziwe?
rozpocznij naukę
Komentarze blokowe nie mogą być zagnieżdżane - Komentarze // wprowadzono w C99 - Komentarze wieloliniowe zaczynają się od /*
Które instrukcje są poprawnymi instrukcjami w C?
rozpocznij naukę
Instrukcja zakończona średnikiem - Blok w {} - Pusty średnik;
Które typy zmiennych zachowują wartość między wywołaniami funkcji?
rozpocznij naukę
Zmienne statyczne - Zmienne globalne
Jakie znaczenie mają kwalifikatory const i volatile?
rozpocznij naukę
const zabrania modyfikacji wartości - volatile informuje o możliwych zmianach spoza programu
Które typy zapewniają dokładną szerokość bitową?
rozpocznij naukę
int32_t - uint64_t
Które stwierdzenia o Two’s Complement są prawdziwe?
rozpocznij naukę
Najstarszy bit jest bitem znaku - Negacja = inwersja bitów + 1 - Zakres: −2^(N−1) do 2^(N−1)−1
Które dotyczą liczb zmiennoprzecinkowych IEEE-754?
rozpocznij naukę
float ma 32 bity - double ma 52 bity mantysy - Porównywanie przez == jest niebezpieczne
Które stwierdzenia o wyrównaniu danych są prawdziwe?
rozpocznij naukę
Struktury są wyrównywane do największego elementu - Padding jest dodawany automatycznie - Operator sizeof zwraca rozmiar w bajtach
Jak realizowany jest typ logiczny w C99?
rozpocznij naukę
Typ _Bool - Makra true i false z <stdbool. h>
Które operatory są bitowe?
rozpocznij naukę
& - | - ^ - ~
Które błędy są typowe w instrukcji if?
rozpocznij naukę
Użycie = zamiast ==. Średnik po warunku. Brak klamer
Które stwierdzenia o pętlach są prawdziwe?
rozpocznij naukę
do-while wykona się co najmniej raz - while może wykonać się zero razy - for od C99 pozwala deklarować iterator w nagłówku
Które działania powodują undefined behavior w tablicach?
rozpocznij naukę
Dostęp poza zakresem - Indeks ujemny
Które stwierdzenia o wskaźnikach są prawdziwe?
rozpocznij naukę
Przechowują adres zmiennej - Dereferencja NULL to undefined behavior - Arytmetyka wskaźników jest skalowana przez sizeof
Które cechy dotyczą unii?
rozpocznij naukę
Wszystkie pola współdzielą tę samą pamięć. Rozmiar = największe pole. Odczyt innego pola niż zapisane jest niezdefiniowany
Które stwierdzenia o przekazywaniu argumentów w C są prawdziwe?
rozpocznij naukę
Argumenty przekazywane są przez wartość. Modyfikacja wymaga przekazania wskaźnika. Funkcja otrzymuje kopię argumentu
Które ograniczenie arytmetyki wskaźników jest kluczowe dla zachowania zdefiniowanego działania programu?
rozpocznij naukę
Operacje porównań i odejmowania wskaźników są dozwolone wyłącznie w obrębie tej samej tablicy (oraz jeden element za końcem)
Dlaczego różnice pomiędzy modelami danych ILP32, LP64 i LLP64 mają kluczowe znaczenie dla przenośności kodu w języku C?
rozpocznij naukę
Ponieważ wpływają na rozmiary typów podstawowych i wskaźników, a tym samym na rozmiary struktur, arytmetykę wskaźników oraz zgodność ABI pomiędzy modułami
Dlaczego nadmiernie szeroki zakres zmiennych (np. globalnych) utrudnia optymalizację kodu przez kompilator?
rozpocznij naukę
Ponieważ kompilator musi zakładać dłuższy czas życia i potencjalne aliasowanie, co ogranicza możliwość optymalizacji rejestrów i eliminacji kodu
Które stwierdzenie najtrafniej opisuje różnicę pomiędzy deklaracją a definicją symbolu w języku C?
rozpocznij naukę
Deklaracja informuje kompilator o istnieniu symbolu i jego typie, natomiast definicja rezerwuje pamięć i dostarcza implementację
Dlaczego stosowanie #pragma pack może prowadzić do problemów przenośności i wydajności?
rozpocznij naukę
Ponieważ niewyrównany dostęp do danych może być wolniejszy lub niedozwolony na niektórych architekturach oraz łamać zgodność ABI
Jaki jest główny powód automatycznego dodawania paddingu w strukturach w języku C?
rozpocznij naukę
Spełnienie wymagań wyrównania architektury procesora, co zapewnia poprawny i wydajny dostęp do pamięci
Dlaczego C++ jest często wybierany do systemów niskopoziomowych?
rozpocznij naukę
Oferuje kompromis między wydajnością a możliwością budowania abstrakcji. Pozwala szacować koszty wykonania na poziomie sprzętu
Które paradygmaty są wspierane przez C++?
rozpocznij naukę
Proceduralny. Obiektowy. Generyczny. Funkcyjny
Co oznacza koncepcja zero-cost abstractions?
rozpocznij naukę
Poprawnie użyte abstrakcje nie generują narzutu runtime. Kompilator może całkowicie je zoptymalizować
Które stwierdzenia opisują RAII?
rozpocznij naukę
Zasób jest nabywany w konstruktorze. Zasób jest zwalniany w destruktorze. Sprzątanie następuje deterministycznie przy wyjściu z zakresu
Które elementy kompilator może automatycznie wygenerować dla klasy?
rozpocznij naukę
Konstruktor domyślny. Destruktor. Konstruktor kopiujący. Operator przypisania
Czym różni się inicjalizacja od przypisania?
rozpocznij naukę
Inicjalizacja zachodzi przed wejściem do ciała konstruktora. Przypisanie działa na już istniejącym obiekcie
Które cechy posiadają referencje (T&)?
rozpocznij naukę
Zawsze odnoszą się do istniejącego obiektu. Nie mogą być puste. Nie mogą być ponownie przypisane
Które stwierdzenia o destruktorach są prawdziwe?
rozpocznij naukę
Są wywoływane automatycznie. Umożliwiają deterministyczne zwalnianie zasobów. Działają również podczas obsługi wyjątków
Reguła trzech oznacza, że klasa zarządzająca zasobem powinna zdefiniować
rozpocznij naukę
Destruktor. Konstruktor kopiujący. Operator przypisania
Reguła zera promuje
rozpocznij naukę
Używanie gotowych obiektów RAII (np. unique_ptr, vector). Brak własnych destruktorów
Co znajduje się fizycznie w pamięci obiektu?
rozpocznij naukę
Pola danych - Subobiekty klas bazowych - Wskaźnik vptr (dla klas polimorficznych)
Czym jest vtable?
rozpocznij naukę
Tablica adresów funkcji wirtualnych - Mechanizm obsługi polimorfizmu w runtime
Które koszty wiążą się z polimorfizmem dynamicznym?
rozpocznij naukę
Dodatkowa pamięć na vptr - Pośredni skok przy wywołaniu funkcji - Dodatkowy odczyt pamięci
Czym jest object slicing?
rozpocznij naukę
Utrata części obiektu przy kopiowaniu do typu bazowego
Które mechanizmy wprowadził C++11?
rozpocznij naukę
Semantykę przenoszenia - Lambdy - auto - Range-based for
Które cechy posiada std: unique_ptr?
rozpocznij naukę
Wyłączna własność zasobu - Brak kopiowania - Automatyczne zwalnianie w destruktorze
Kiedy NIE zaleca się używać std: shared_ptr?
rozpocznij naukę
W systemach czasu rzeczywistego - Jako domyślnego wskaźnika
Co umożliwia semantyka przenoszenia?
rozpocznij naukę
Eliminację kosztownego kopiowania - Transfer własności zasobu - Operacje O(1) zamiast O(n)
Na czym polega const-correctness?
rozpocznij naukę
Oznaczaniu elementów niemodyfikujących stanu jako const - Lepszej czytelności kodu - Umożliwieniu lepszych optymalizacji
Które stwierdzenia o constexpr są prawdziwe?
rozpocznij naukę
Umożliwia obliczenia w czasie kompilacji - Może zastępować makra
Dlaczego masowe stosowanie getterów/setterów dla pól domenowych bywa uznawane za antywzorzec w OOP (szczególnie w C++)
rozpocznij naukę
Ponieważ przenosi logikę i kontrolę niezmienników na zewnątrz klasy, zwiększając liczbę dozwolonych stanów i uzależniając poprawność od kolejności wywołań
Dlaczego destruktor w C++ nie powinien być utożsamiany jedynie z wywołaniem free()?
rozpocznij naukę
Ponieważ kończy odpowiedzialność obiektu i domyka jego kontrakt, zwalniając wszystkie zarządzane zasoby
Co oznacza stwierdzenie, że dziedziczenie wyraża relację „jest”?
rozpocznij naukę
Że obiekt klasy pochodnej musi być logicznie poprawnym obiektem klasy bazowej
Jaka jest kluczowa różnica w zarządzaniu cyklem życia obiektów między C++ a Pythonem?
rozpocznij naukę
C++ zapewnia deterministyczny cykl życia obiektów, a Python polega na niedeterministycznym GC
Jakie są konsekwencje nadużywania polimorfizmu?
rozpocznij naukę
Przebudowane hierarchie, trudna nawigacja i skomplikowane debugowanie
Dlaczego kompozycja sprzyja testowalności?
rozpocznij naukę
Ponieważ komponenty można testować osobno i łatwo je mockować
Dlaczego abstrakcja zwiększa testowalność systemu?
rozpocznij naukę
Ponieważ umożliwia podmianę implementacji i mockowanie zależności
Dlaczego w wykładzie podkreślono, że obiekt powinien być poprawny „zawsze”, a nie dopiero po wywołaniu setterów?
rozpocznij naukę
Ponieważ obiekt nie powinien nigdy istnieć w stanie przejściowo nielegalnym, który łamie niezmienniki
Dlaczego w wykładzie podkreślono, że ponowne użycie kodu nie wymaga dziedziczenia?
rozpocznij naukę
Ponieważ kompozycja często zapewnia mniejsze sprzężenie i większą elastyczność
Czym według wykładu jest programowanie obiektowe?
rozpocznij naukę
Sposobem myślenia o projektowaniu systemów - Narzędziem architektonicznym
Paradygmat a język programowania to
rozpocznij naukę
Dwie różne rzeczy - Paradygmat można stosować w wielu językach
Dlaczego C++ jest dobrym językiem do nauki OOP?
rozpocznij naukę
Nie ukrywa mechanizmów - Pokazuje koszty abstrakcji i polimorfizmu - Ma deterministyczny cykl życia obiektów
Obiekt w sensie paradygmatu to:
rozpocznij naukę
Jednostka odpowiedzialności - Encapsulacja stanu, zachowania i niezmienników
Co musi być spełnione przez cały czas życia obiektu?
rozpocznij naukę
Niezmienniki - Kontrakt obiektu
Konstruktor służy do:
rozpocznij naukę
Zakończenie odpowiedzialności obiektu - Domknięcie kontraktu - Zwolnienie wszystkich zarządzanych zasobów
Enkapsulacja polega głównie na:
rozpocznij naukę
Ochronie niezmienników - Kontroli zmian stanu
Masowe użycie getterów/setterów:
rozpocznij naukę
Zwiększa liczbę możliwych stanów obiektu - Przenosi odpowiedzialność na użytkownika klasy
Abstrakcja odpowiada na pytanie:
rozpocznij naukę
Co obiekt robi - Jakie zachowanie obiecuje
Dziedziczenie oznacza relację:
rozpocznij naukę
„jest”
Kiedy dziedziczenie ma sens?
rozpocznij naukę
Gdy istnieje stabilny kontrakt - Gdy potrzebny jest polimorfizm - Gdy hierarchia jest płytka
Object slicing jest:
rozpocznij naukę
Sygnałem złego projektu - Utratą części obiektu przy kopiowaniu
Co zwykle zapewnia lepszy reuse niż dziedziczenie?
rozpocznij naukę
Kompozycja - Wstrzykiwanie zależności
Polimorfizm
rozpocznij naukę
Jest narzędziem architektonicznym - Umożliwia różne zachowania pod tym samym interfejsem
Polimorfizm dynamiczny oznacza
rozpocznij naukę
Późne wiązanie - Koszt runtime - Decyzję o metodzie w czasie wykonania
OOP bez polimorfizmu:
rozpocznij naukę
Jest możliwe - Może używać tylko kompozycji
Nadużywanie polimorfizmu prowadzi do:
rozpocznij naukę
Przebudowanych hierarchii - Trudnej nawigacji - Problemów z debugowaniem
Kompozycja sprzyja testowalności, ponieważ:
rozpocznij naukę
Komponenty można testować osobno - Zależności można mockować
Kluczowa różnica C++ vs Python w cyklu życia obiektów:
rozpocznij naukę
C++ ma deterministyczny cykl życia - Python polega na GC
Wybierz dwa prawdziwe stwierdzenia o funkcjach wyższego rzędu (higher-order functions):
rozpocznij naukę
Funkcja wyższego rzędu może zwracać funkcję jako wynik (np. fabryka funkcji). - Funkcja wyższego rzędu może przyjmować inną funkcję jako argument
Wybierz dwa prawdziwe stwierdzenia o elementach stylu funkcyjnego w Pythonie:
rozpocznij naukę
Python oferuje konstrukcje wspierające styl funkcyjny, np. lambda, map/filter/reduce oraz (często) list comprehensions. - W Pythonie funkcje są obiektami pierwszej klasy: można je przypisywać do zmiennych i przekazywać jako argumenty.
Które stwierdzenia o kompozycji funkcji są prawdziwe?
rozpocznij naukę
Kompozycja sprzyja budowie potoków przetwarzania danych z małych, wyspecjalizowanych funkcji. - Kompozycja funkcji polega na łączeniu funkcji tak, aby wynik jednej był argumentem kolejnej.
Które stwierdzenia poprawnie opisują różnicę między programowaniem funkcyjnym a imperatywnym?
rozpocznij naukę
Programowanie imperatywne akcentuje sekwencję instrukcji oraz zmianę stanu programu. - Programowanie funkcyjne skupia się na opisie transformacji danych i wartości zwracanych przez funkcje.
Które stwierdzenia o Haskellu są prawdziwe w kontekście programowania funkcyjnego?
rozpocznij naukę
Haskell jest językiem czysto funkcyjnym, który promuje funkcje czyste i ogranicza efekty uboczne. - Haskell ma silny statyczny system typów (w przeciwieństwie do dynamicznego typowania Pythona).
Wybierz dwa prawdziwe stwierdzenia o niemutowalności (immutability):
rozpocznij naukę
Niemutowalność zmniejsza ryzyko błędów w programach współbieżnych, bo ogranicza współdzielony stan. - Niemutowalne struktury danych nie są modyfikowane w miejscu; zamiast tego tworzy się nowe wartości.
Wybierz dwa prawdziwe stwierdzenia o fold/reduce:
rozpocznij naukę
W fold często występuje akumulator (wartość początkowa), który jest aktualizowany w kolejnych krokach redukcji. - reduce (fold) agreguje elementy kolekcji do jednej wartości, stosując funkcję łączącą.
Wybierz prawdziwe stwierdzenia o paradygmacie imperatywnym:
rozpocznij naukę
Akcentuje sekwencję instrukcji oraz zmianę stanu programu. - Stan programu jest centralnym elementem obliczeń. - Pętle i instrukcje warunkowe są podstawowymi narzędziami.
Wybierz prawdziwe stwierdzenia o paradygmacie funkcyjnym:
rozpocznij naukę
Program jest postrzegany jako ciąg transformacji danych. - Unika mutowalnego stanu i efektów ubocznych. - Opiera się na wyrażeniach, a nie sekwencji poleceń.
Wybierz prawdziwe stwierdzenia o funkcjach czystych:
rozpocznij naukę
Wynik zależy tylko od argumentów. - Nie modyfikują stanu zewnętrznego. - Sprzyjają testowalności i debugowaniu.
Wybierz prawdziwe stwierdzenia o niemutowalności danych:
rozpocznij naukę
Dane nie są modyfikowane w miejscu. - Zmiana oznacza utworzenie nowej wersji danych. - Ułatwia programowanie współbieżne.
Wybierz prawdziwe stwierdzenia o funkcjach wyższego rzędu:
rozpocznij naukę
Mogą przyjmować inne funkcje jako argumenty. - Mogą zwracać funkcje jako wynik.
Wybierz prawdziwe stwierdzenia o map/filter/fold:
rozpocznij naukę
map przekształca każdy element kolekcji. - filter wybiera elementy spełniające warunek. - fold/reduce agreguje kolekcję do jednej wartości.
Wybierz prawdziwe stwierdzenia o kompozycji funkcji:
rozpocznij naukę
Buduje potoki przetwarzania danych. - Wynik jednej funkcji jest argumentem kolejnej.
Wybierz prawdziwe stwierdzenia o Haskellu:
rozpocznij naukę
Język czysto funkcyjny. - Silny statyczny system typów. - Leniwa ewaluacja.
Wybierz prawdziwe stwierdzenia o Pythonie jako języku wieloparadygmatowym:
rozpocznij naukę
Obsługuje styl funkcyjny. - Obsługuje paradygmat obiektowy. - Posiada funkcje jako obiekty pierwszej klasy.
Wybierz prawdziwe stwierdzenia o paradygmacie deklaratywnym:
rozpocznij naukę
Opisuje co ma być zrobione, nie jak. - SQL jest przykładem języka deklaratywnego. - HTML/CSS mają charakter deklaratywny.
Wybierz prawdziwe stwierdzenia o paradygmacie obiektowym:
rozpocznij naukę
Łączy dane i operacje w obiekty. - Wspiera dziedziczenie i polimorfizm. - Modeluje świat za pomocą klas i obiektów.
Wybierz prawdziwe stwierdzenia o programowaniu proceduralnym:
rozpocznij naukę
Rozbija program na funkcje/procedury. - Ułatwia modularność. - Jest rozszerzeniem imperatywnego.
Wybierz prawdziwe stwierdzenia o referencyjnej przeźroczystości:
rozpocznij naukę
Wyrażenie można zastąpić jego wartością. - Wynika z czystości funkcji. - Ułatwia optymalizację.
Wybierz prawdziwe stwierdzenia o stanie w paradygmacie funkcyjnym:
rozpocznij naukę
Brak klasycznych zmiennych do modyfikacji.- Każda „zmiana” tworzy nową wartość. - Mniej błędów współbieżnych.
Wybierz prawdziwe stwierdzenia o matematycznych podstawach FP:
rozpocznij naukę
Rachunek lambda. - Ewaluacja wyrażeń.
Wybierz prawdziwe stwierdzenia o strukturach danych w Haskellu:
rozpocznij naukę
Listy są niemutowalne.- Drzewa są strukturami rekurencyjnymi. - Mapy oparte są na strukturach niemutowalnych.
Wybierz prawdziwe stwierdzenia o trendach językowych:
rozpocznij naukę
Języki łączą wiele paradygmatów. - Rosnąca rola bezpieczeństwa pamięci. - Popularność języków jak Rust, Go, Kotlin.
Wybierz prawdziwe stwierdzenia o doborze języka do zadania:
rozpocznij naukę
C/C++ do systemów wbudowanych. - Python do analizy danych. - Kotlin/Swift do aplikacji mobilnych.
Wybierz prawdziwe stwierdzenia o wydajności i abstrakcji:
rozpocznij naukę
C daje wysoką kontrolę i wydajność. - Python daje wysoką produktywność. - Python może korzystać z bibliotek napisanych w C/C++.
Wybierz prawdziwe stwierdzenia o przyszłości paradygmatów:
rozpocznij naukę
Systemy hybrydowe. - Więcej programowania równoległego. - Większy nacisk na bezpieczeństwo.
Wybierz dwa poprawne stwierdzenia o typach prostych w Pythonie.
rozpocznij naukę
Liczby typu float mogą mieć błędy reprezentacji (wynikające z zapisu binarnego), więc nie wszystkie ułamki dziesiętne są reprezentowane dokładnie. - Liczby zespolone w Pythonie zapisuje się m.in. z użyciem litery j (np. 2+3j). -
Które stwierdzenia o napisach (str) w Pythonie są prawdziwe?
rozpocznij naukę
Można używać slicing, np. s[1:4] zwraca fragment napisu (bez znaku o indeksie 4). - Napisy w Pythonie są indeksowane od zera, np. s[0] to pierwszy znak.
Wybierz dwa prawdziwe stwierdzenia o krotkach (tuple).
rozpocznij naukę
Krotki są niemodyfikowalne (immutable), więc po utworzeniu nie można zmieniać ich elementów. - Krotka jednoelementowa wymaga przecinka, np. (50,).
Które stwierdzenia dotyczące Pythona są prawdziwe?
rozpocznij naukę
Python jest językiem interpretowanym (wykonywanym przez interpreter/VM), a kod uruchamia się bez etapu kompilacji do pliku wykonywalnego jak w C. - Czytelność składni i wcięcia jako wyznacznik bloków kodu są elementem filozofii języka.
Które stwierdzenia o listach i list comprehension są prawdziwe?
rozpocznij naukę
List comprehension pozwala tworzyć listę z mapowaniem i/lub filtrowaniem, np. [x for x in range(10) if x%2==0]. - Listy w Pythonie są modyfikowalne (mutable), więc można zmieniać ich elementy po utworzeniu.
Które stwierdzenia opisują, dlaczego Python bywa wybierany jako język dydaktyczny?
rozpocznij naukę
Czytelna i zwięzła składnia - Szybkie prototypowanie i testowanie pomysłów
Które cechy najlepiej opisują Pythona jako język wysokiego poziomu?
rozpocznij naukę
Abstrakcja od szczegółów sprzętowych - Nacisk na czytelność kodu - Bogaty ekosystem bibliotek
Które stwierdzenia dotyczą historii Pythona?
rozpocznij naukę
Twórcą języka jest Guido van Rossum - Pierwsza implementacja powstała w instytucie CWI w Amsterdamie - Nazwa pochodzi od „Monty Python’s Flying Circus”
Które elementy wiążą się z rolą Python Software Foundation (PSF)?
rozpocznij naukę
Koordynacja rozwoju języka - Organizacja konferencji i certyfikacji - Proces zatwierdzania zmian (PEP)
Które stwierdzenia o wersjach Pythona są prawdziwe?
rozpocznij naukę
Python 2.7 nie jest już rozwijany - Python 3. x nie jest w pełni kompatybilny wstecz z Pythonem 2 - Migracja kodu może wymagać zmian
Jakie paradygmaty wspiera Python?
rozpocznij naukę
Proceduralny - Obiektowy - Funkcyjny
Które sposoby uruchamiania kodu Pythona są poprawne?
rozpocznij naukę
Tryb interaktywny (REPL) - Uruchamianie skryptów. py
Które stwierdzenia o wcięciach w Pythonie są prawdziwe?
rozpocznij naukę
Definiują bloki kodu - Są elementem składni języka
Które typy należą do prostych typów danych w Pythonie?
rozpocznij naukę
int - float - bool - str
Które stwierdzenia o typie int są prawdziwe?
rozpocznij naukę
Brak przepełnienia typowego dla C/C++ - Możliwość zapisu binarnego, ósemkowego i szesnastkowego
Które wartości są traktowane jako fałszywe w kontekście logicznym?
rozpocznij naukę
0 - None - Puste kolekcje
Które stwierdzenia o float są prawdziwe?
rozpocznij naukę
Mogą występować błędy zaokrągleń - Obsługują zapis naukowy - Precyzja jest ograniczona
Które stwierdzenia o napisach (str) są prawdziwe?
rozpocznij naukę
Obsługują Unicode - Można stosować slicing - Indeksowane od zera
Które funkcje wbudowane działają na napisach?
rozpocznij naukę
len() - str() - ord()
Które kolekcje są modyfikowalne?
rozpocznij naukę
listy - słowniki - zbiory
Które cechy dotyczą list?
rozpocznij naukę
Zachowują kolejność elementów - Mogą zawierać różne typy - Mają dynamiczny rozmiar
Które stwierdzenia o list comprehension są prawdziwe?
rozpocznij naukę
Pozwalają mapować elementy - Pozwalają filtrować elementy - Są zwięzłym zapisem pętli
Które stwierdzenia o krotkach są prawdziwe?
rozpocznij naukę
Są niemodyfikowalne - Mogą być używane jako klucze słownika - Obsługują indeksowanie i slicing
Które operacje można wykonać na słowniku?
rozpocznij naukę
Dodawanie kluczy - Usuwanie kluczy - Iterowanie po parach klucz–wartość
Które elementy składają się na obsługę wyjątków w Pythonie?
rozpocznij naukę
try / except - else - finally
Które stwierdzenia o OOP w Pythonie są prawdziwe?
rozpocznij naukę
W Pythonie wszystko jest obiektem - Klasy definiują stan i zachowanie - Obsługiwany jest polimorfizm
Wybierz wszystkie elementy wymienione jako składowe „Python: język vs ekosystem”.
rozpocznij naukę
Standard Library („batteries included”) - PyPI i pip
Wybierz poprawne stwierdzenia o plikach. pyc i katalogu __pycache__.
rozpocznij naukę
Pliki. pyc zawierają skompilowany bytecode gotowy do wykonania - Interpreter CPython może automatycznie generować. pyc w katalogu __pycache__
Jak prezentacja opisuje rolę nazw/zmiennych w Pythonie?
rozpocznij naukę
Nazwy są etykietami (referencjami) wskazującymi na obiekty w pamięci
Wybierz poprawne pary (typ → kategoria).
rozpocznij naukę
dict → mutowalny (mutable) - tuple → niemutowalny (immutable)
Który zestaw metod tworzy protokół iteracji używany m.in. przez pętlę for?
rozpocznij naukę
__iter__() oraz __next__()
Wybierz wszystkie elementy wymienione jako powody popularności Pythona.
rozpocznij naukę
Czytelność kodu i filozofia „Zen of Python” - Wieloparadygmatowość - Bogaty ekosystem bibliotek - Uniwersalność zastosowań
Wybierz elementy składające się na „Python: język vs ekosystem”.
rozpocznij naukę
Interpreter CPython - Standard Library - PyPI i pip
Jak wygląda model wykonania programu w Pythonie?
rozpocznij naukę
Kod źródłowy → Bytecode → Python Virtual Machine
Wybierz poprawne stwierdzenia o plikach. pyc.
rozpocznij naukę
Zawierają skompilowany bytecode - Są generowane automatycznie przez CPython
Które cechy opisują Pythona jako język dynamiczny?
rozpocznij naukę
Typy sprawdzane w czasie wykonania - Late binding nazw i atrybutów
Co w Pythonie jest obiektem?
rozpocznij naukę
Liczby - Funkcje - Klasy - Moduły
Które elementy składają się na opis obiektu?
rozpocznij naukę
Tożsamość (id) - Typ - Wartość
Jak prezentacja opisuje zmienne w Pythonie?
rozpocznij naukę
Są etykietami wskazującymi na obiekty
Wybierz typy niemutowalne (immutable).
rozpocznij naukę
int - str - tuple
Wybierz typy mutowalne (mutable).
rozpocznij naukę
list - dict - set
Które z poniższych to typowe pułapki mutowalności?
rozpocznij naukę
Domyślne argumenty funkcji - Współdzielenie tego samego obiektu przez wiele nazw
Jakie cechy mają funkcje pierwszej kategorii?
rozpocznij naukę
Można je przypisywać do zmiennych - Mogą być argumentami innych funkcji - Mogą być zwracane z funkcji
Czym jest funkcja wyższego rzędu?
rozpocznij naukę
Przyjmuje funkcję jako argument - Zwraca funkcję jako wynik
Które stwierdzenia o lambda expressions są prawdziwe?
rozpocznij naukę
Są funkcjami anonimowymi - Zawierają tylko jedno wyrażenie - Często używane jako argumenty
Dopasuj ideę map / filter / reduce.
rozpocznij naukę
map – transformuje elementy. filter – wybiera elementy spełniające warunek. reduce – redukuje sekwencję do jednej wartości
Co charakteryzuje generatory (yield)?
rozpocznij naukę
Zachowują stan pomiędzy wywołaniami - Zwracają wartości leniwie - Są iteratorami
Które metody tworzą protokół iteracji?
rozpocznij naukę
__iter__() - __next__()
Jakie są główne założenia PEP 484?
rozpocznij naukę
Typowanie statyczne jest opcjonalne - Adnotacje nie wpływają na runtime
Czym jest Protocol (PEP 544)?
rozpocznij naukę
Strukturalnym kontraktem opartym na metodach - Alternatywą dla dziedziczenia - Wsparciem dla duck typing
Do czego służy TypedDict?
rozpocznij naukę
Definiowania schematów słowników - Opisu kontraktów danych (np. JSON, API)

Musisz się zalogować, by móc napisać komentarz.