Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji
  • Data rozpoczęcia: 12 stycznia 2025 21:22
  • Data zakończenia: 12 stycznia 2025 21:26

Egzamin zdany!

Wynik: 40/40 punktów (100,0%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jakie jest oznaczenie komentarza wieloliniowego w języku Java?

A. """ ... """
B. <!-- ... -->
C. // ... //
D. /* ... */
Komentarze wieloliniowe w języku Java są oznaczane za pomocą /* ... */. Pozwalają na komentowanie większych fragmentów kodu, co jest przydatne podczas tymczasowego wyłączania kodu lub dodawania obszernych opisów do funkcji i klas.

Pytanie 2

Jakie znaczenie ma polimorfizm w programowaniu obiektowym?

A. Umożliwia jednej metodzie działać w różnorodny sposób w zależności od klasy, do której należy
B. Ogranicza dostęp do atrybutów klasy
C. Pozwala na tworzenie obiektów z wielu różnych klas równocześnie
D. Dzieli program na klasy oraz obiekty
Polimorfizm to zdolność obiektów do używania tej samej metody lub interfejsu, ale z różnymi implementacjami, w zależności od klasy obiektu. Dzięki polimorfizmowi można wywołać metodę `obiekt.wyswietl()`, która zachowuje się inaczej w klasie `Samochod` i inaczej w klasie `Motocykl`, mimo że nazwa metody pozostaje taka sama. Polimorfizm ułatwia rozbudowę aplikacji, ponieważ nowe klasy mogą być dodawane bez modyfikacji istniejącego kodu, co zwiększa elastyczność i rozszerzalność programu. Jest to jedna z najważniejszych zasad programowania obiektowego, obok dziedziczenia i hermetyzacji.

Pytanie 3

Algorytm zaprezentowany w zadaniu można zrealizować w języku Java wykorzystując instrukcję

Ilustracja do pytania
A. switch
B. while
C. if
D. try
Pętla while w języku Java jest idealna do implementacji algorytmów, które wymagają wielokrotnego wykonywania bloku kodu dopóki określony warunek logiczny pozostaje prawdziwy. W przedstawionym schemacie blokowym widzimy iteracyjny proces, który zaczyna się od przypisania wartości 2 do zmiennej number, a następnie kontynuuje dodawanie 2 do tej zmiennej tak długo, jak długo jej wartość nie osiągnie 10. Struktura ta jest typowym przykładem problemu, który najlepiej rozwiązać za pomocą pętli while. Wyrażenie warunkowe number != 10 jest sprawdzane przed każdą iteracją pętli, co umożliwia zakończenie pętli w momencie, gdy warunek przestaje być prawdziwy. To podejście jest zgodne z dobrymi praktykami programistycznymi, które zalecają minimalizowanie niepotrzebnych obliczeń i zwiększanie czytelności kodu. Pętle while są często stosowane w sytuacjach, gdy liczba iteracji nie jest z góry znana i zależy od dynamicznie zmieniających się warunków, co czyni je wszechstronnym narzędziem w wielu aplikacjach, od przetwarzania danych po kontrolę przepływu w symulacjach komputerowych. Praktyczna znajomość pętli pozwala na efektywne rozwiązywanie problemów w złożonych projektach informatycznych.

Pytanie 4

Pętla przedstawiona w zadaniu działa na zmiennej typu string o nazwie ciąg. Jej celem jest

Ilustracja do pytania
A. zamienić w ciągu małe litery na wielkie
B. od każdego znaku w ciągu odjąć kod 32
C. zamienić w ciągu wielkie litery na małe
D. od każdego znaku w ciągu, który nie jest równy 0, odjąć kod 32
Pętla, która zamienia małe litery na wielkie, to naprawdę fajny przykład tego, jak można operować na tekstach. W zasadzie każdy znak w napisie jest przeszukiwany, a jeśli to litera, to modyfikujemy jej kod ASCII. W praktyce dodajemy lub odejmujemy 32, żeby uzyskać odpowiednią wielką literę. Tego typu operacje wykorzystuje się w wielu miejscach, jak na przykład przy filtrowaniu danych czy normalizacji tekstu. No i oczywiście w systemach wyszukujących, gdzie wielkość liter ma znaczenie. Warto umieć zaimplementować taką pętlę, bo przydaje się w różnych aplikacjach, szczególnie tam, gdzie tekst jest kluczowy.

Pytanie 5

Jakie zdarzenie jest wywoływane, gdy kliknięta zostaje myszą nieaktywna kontrolka lub okno?

A. blur
B. validating
C. keyup
D. focus
Zdarzenie 'focus' jest generowane, gdy nieaktywne okno lub kontrolka zostanie kliknięta i przejdzie do stanu aktywnego. Oznacza to, że element uzyskuje fokus, co pozwala na interakcję z użytkownikiem, np. wpisywanie danych do pola tekstowego. Jest to powszechne w formularzach i aplikacjach, gdzie ważne jest śledzenie aktywnego komponentu.

Pytanie 6

Jakie są różnice między procesem kompilacji a interpretacją kodu?

A. Kompilacja przekształca cały kod źródłowy przed jego wykonaniem, podczas gdy interpretacja tłumaczy kod na bieżąco
B. Kompilacja jest stosowana jedynie w programowaniu obiektowym
C. Interpretacja umożliwia tworzenie bibliotek dynamicznych, a kompilacja bibliotek statycznych
D. Kompilacja wymaga użycia debuggera, natomiast interpretacja tego nie potrzebuje
Kompilacja i interpretacja to dwa różne sposoby, żeby uruchomić kod. Kiedy kompilujesz, to cały kod jest zamieniany na język maszynowy przed uruchomieniem programu, a na końcu dostajesz plik, który można odpalić. Z kolei w interpretacji, kod jest analizowany i wykonywany linia po linii „na żywo”. Kompilacja jest bardziej typowa dla języków takich jak C czy C++, a interpretacja jest popularna w językach skryptowych jak Python czy JavaScript. Kompilacja daje większą wydajność, ale musisz poczekać, aż cały kod się skompiluje, a interpretacja pozwala na szybkie testowanie i łatwiejsze znajdowanie błędów.

Pytanie 7

Sposób deklaracji Klasa2 wskazuje, że

Ilustracja do pytania
A. Klasa2 stanowi klasę bazową
B. Klasa1 dziedziczy od Klasa2
C. Klasa2 dziedziczy od Klasa1
D. Klasa1 jest dzieckiem Klasy2
Deklaracja Klasa2 jako klasy dziedziczącej po Klasa1 oznacza, że Klasa2 przejmuje wszystkie publiczne i chronione (protected) pola oraz metody klasy bazowej (Klasa1). Dziedziczenie to jeden z filarów programowania obiektowego, który umożliwia ponowne wykorzystanie kodu i rozszerzanie funkcjonalności istniejących klas. Dzięki temu Klasa2 może nie tylko korzystać z metod Klasa1, ale także nadpisywać je, co jest kluczowe dla implementacji polimorfizmu. Dziedziczenie pozwala na budowanie hierarchii klas, co prowadzi do lepszego zarządzania kodem i ułatwia jego skalowalność. Przykładem może być klasa Pojazd, z której dziedziczy klasa Samochod, rozszerzając jej funkcjonalność o dodatkowe cechy i metody specyficzne dla samochodów.

Pytanie 8

Przedstawiony fragment dotyczy funkcji resize w języku C++. Ta funkcja obniży długość elementu string, gdy wartość parametru

Ilustracja do pytania
A. n jest mniejsza od aktualnej długości łańcucha
B. c jest większa od aktualnej długości łańcucha
C. n jest większa od aktualnej długości łańcucha
D. c jest mniejsza od aktualnej długości łańcucha
Funkcja resize zmniejsza długość elementu string, gdy wartość parametru n jest mniejsza niż bieżąca długość łańcucha. Pozwala to na skrócenie ciągu znaków, zachowując jedynie jego część początkową.

Pytanie 9

W przedstawionych funkcjonalnie równoważnych kodach źródłowych po przeprowadzeniu operacji w zmiennej b zostanie zapisany wynik:

Ilustracja do pytania
A. 6
B. 5
C. 596
D. 5.96
Wynik operacji zapisanej w zmiennej 'b' to 5. Jest to rezultat konwersji wartości zmiennoprzecinkowej na liczbę całkowitą, co oznacza odrzucenie części dziesiętnej. Taka operacja jest powszechna w programowaniu, gdy chcemy uzyskać tylko część całkowitą liczby, np. w algorytmach podziału, zaokrąglania w dół (floor) lub obliczania indeksów w tablicach.

Pytanie 10

Które z wymienionych stanowi przykład zagrożenia fizycznego w miejscu pracy?

A. Brak ergonomicznych miejsc pracy
B. Promieniowanie UV
C. Nieodpowiednie relacje w zespole
D. Obciążenie psychiczne
Zagrożenia fizyczne w środowisku pracy obejmują czynniki, które mogą prowadzić do obrażeń ciała lub problemów zdrowotnych. Przykładem takiego zagrożenia jest promieniowanie UV, które może powodować oparzenia skóry, uszkodzenia oczu oraz zwiększać ryzyko nowotworów skóry. Ochrona przed promieniowaniem UV jest kluczowa w zawodach wymagających pracy na zewnątrz lub przy urządzeniach emitujących intensywne światło UV. Stosowanie odpowiednich środków ochrony, takich jak okulary przeciwsłoneczne z filtrem UV, odzież ochronna i kremy z filtrem, jest niezbędne do minimalizacji ryzyka. Pracodawcy są zobowiązani do wdrażania procedur bezpieczeństwa i zapewniania odpowiednich środków ochrony pracowników narażonych na działanie promieniowania UV.

Pytanie 11

Jaki model zarządzania projektami przewiduje, że wszystkie etapy są realizowane jeden po drugim, bez możliwości wrócenia do wcześniejszych faz?

A. Metodyki zwinne (Agile)
B. Model kaskadowy (waterfall)
C. Model spiralny
D. Model przyrostowy
Model kaskadowy (Waterfall) zakłada, że każda faza projektu jest realizowana sekwencyjnie, bez możliwości powrotu do wcześniejszych etapów. Każda faza musi zostać zakończona przed rozpoczęciem kolejnej, co sprawia, że model ten jest przewidywalny i dobrze nadaje się do projektów o jasno określonych wymaganiach. Dzięki temu ryzyko błędów jest minimalizowane na wczesnym etapie, co zwiększa stabilność projektu. Waterfall jest często stosowany w projektach infrastrukturalnych i rządowych, gdzie istotna jest dokładność i zgodność z pierwotnym planem.

Pytanie 12

Który z przedstawionych poniżej przykładów ilustruje prawidłową deklarację zmiennej typu całkowitego w języku C++?

A. char liczba;
B. bool liczba;
C. float liczba;
D. int liczba;
W języku C++ zmienna typu całkowitego jest deklarowana za pomocą słowa kluczowego `int`. Przykładowa poprawna deklaracja to `int liczba;`, co oznacza, że `liczba` jest zmienną, która może przechowywać wartości całkowite, takie jak 1, 42 lub -15. Deklarowanie zmiennych w C++ pozwala na statyczne typowanie, co oznacza, że każda zmienna ma określony typ i nie może przechowywać wartości innego typu. Dzięki temu kod jest bardziej przejrzysty i mniej podatny na błędy związane z niezgodnością typów.

Pytanie 13

Jaka jest składnia komentarza jednoliniowego w języku Python?

A. !
B. #
C. //
D. ""
Komentarz jednoliniowy w Pythonie rozpoczyna się od znaku '#'. Wszystko, co następuje po tym znaku, jest ignorowane przez interpreter. Używanie komentarzy pomaga dokumentować kod, co zwiększa jego czytelność i ułatwia współpracę w zespołach programistycznych.

Pytanie 14

Jaką kategorię własności intelektualnej reprezentują znaki towarowe?

A. Autorskie prawa majątkowe
B. Własność przemysłowa
C. Prawa pokrewne
D. Dobra niematerialne
Znaki towarowe należą do kategorii własności przemysłowej. Ochrona znaków towarowych pozwala firmom na zabezpieczenie ich brandingu, logotypów oraz nazw produktów przed nieuprawnionym wykorzystaniem przez konkurencję. Rejestracja znaku towarowego daje właścicielowi prawo do wyłącznego używania go w celach komercyjnych i przeciwdziałania naruszeniom. Własność przemysłowa obejmuje także patenty, wzory przemysłowe i oznaczenia geograficzne, stanowiąc kluczowy element strategii ochrony marki oraz wartości firmy na rynku międzynarodowym.

Pytanie 15

Programem służącym do monitorowania błędów oraz organizacji projektów jest:

A. Bugzilla
B. Git
C. Jasmine
D. Jira
Jira to świetne narzędzie, które pomaga w śledzeniu błędów i zarządzaniu projektami. Dzięki niemu można łatwo prowadzić dokumentację i organizować zadania w zespole. Dlatego wiele zespołów IT wybiera właśnie to rozwiązanie, bo ułatwia pracę i poprawia komunikację.

Pytanie 16

Fragment kodu w języku JavaScript to

Ilustracja do pytania
A. prototyp interfejsu
B. definicja funkcji strzałkowej
C. definicja zmiennej typu tablicowego
D. prototyp metody klasy
Kod w JavaScript opisuje definicję funkcji strzałkowej, która jest nowoczesnym i bardziej zwięzłym sposobem definiowania funkcji. Funkcje strzałkowe mają też specyficzne zachowanie w kontekście 'this', co czyni je często preferowanymi przy pracy z obiektami i metodami callback.

Pytanie 17

Wskaż język programowania, który pozwala na stworzenie aplikacji mobilnej w środowisku Android Studio?

A. Java
B. Objective-C
C. C++
D. Swift
Java to jeden z podstawowych języków programowania używanych do tworzenia aplikacji mobilnych na platformę Android. Jest to język, który został stworzony przez firmę Sun Microsystems, a jego pierwsza wersja została wydana w 1995 roku. Java charakteryzuje się silnym typowaniem, obiektowością oraz wsparciem dla programowania wielowątkowego, co czyni go idealnym do tworzenia wydajnych aplikacji mobilnych. Android Studio, oficjalne zintegrowane środowisko programistyczne (IDE) dla Androida, oferuje pełne wsparcie dla Javy, w tym możliwość korzystania z bibliotek Android SDK. Dzięki temu programiści mogą łatwo tworzyć interfejsy użytkownika, zarządzać zasobami oraz implementować logikę aplikacji. Przykładowo, pisząc aplikację do zarządzania zadaniami, programista może użyć Javy do stworzenia klas modelujących zadania oraz do obsługi interfejsu graficznego z wykorzystaniem XML i Java. Ponadto, Java jest zgodna z zasadami programowania obiektowego, co pozwala na łatwe zarządzanie kodem i jego ponowne wykorzystanie. Warto również zaznaczyć, że Java jest wspierana przez dużą społeczność, co zapewnia bogaty ekosystem bibliotek oraz narzędzi, ułatwiających rozwój aplikacji na Androida.

Pytanie 18

W zaprezentowanym kodzie zostało ukazane jedno z fundamentalnych założeń programowania obiektowego. Czym ono jest?

Ilustracja do pytania
A. polimorfizm
B. hermetyzacja
C. dziedziczenie
D. abstrakcja
Ten kod świetnie pokazuje, jak działa dziedziczenie, co jest bardzo ważnym elementem programowania obiektowego. Dzięki temu możesz tworzyć nowe klasy bazując na tych, które już masz. To naprawdę ułatwia późniejsze modyfikacje kodu i pozwala na jego ponowne wykorzystanie w różnych miejscach.

Pytanie 19

Wskaż uproszczoną wersję kodu XAML dla elementów w pokazanym oknie dialogowym?

Ilustracja do pytania
A. Kod 4
B. Kod 3
C. Kod 1
D. Kod 2
Kod 2 jest poprawnym uproszczonym kodem XAML dla przedstawionych kontrolek. XAML (Extensible Application Markup Language) jest używany do definiowania interfejsów użytkownika w aplikacjach WPF (Windows Presentation Foundation) i UWP (Universal Windows Platform). Jego czytelność i deklaratywny charakter pozwalają na tworzenie i zarządzanie kontrolkami w sposób przejrzysty i elastyczny, co przyspiesza proces projektowania interfejsów.

Pytanie 20

Który z języków programowania jest powszechnie wykorzystywany do tworzenia aplikacji na komputery stacjonarne?

A. JavaScript
B. PHP
C. C++
D. HTML
C++ jest jednym z najczęściej wykorzystywanych języków programowania do tworzenia aplikacji desktopowych. Jego wysoka wydajność, niskopoziomowy dostęp do pamięci i możliwość zarządzania zasobami sprawiają, że jest idealnym wyborem do tworzenia aplikacji wymagających dużej mocy obliczeniowej, takich jak gry, oprogramowanie do obróbki grafiki czy aplikacje systemowe. Frameworki takie jak Qt i biblioteki standardowe C++ (STL) umożliwiają budowanie zarówno prostych, jak i zaawansowanych aplikacji z bogatym interfejsem użytkownika. C++ jest wykorzystywany na szeroką skalę w przemyśle, co czyni go jednym z kluczowych języków w ekosystemie programistycznym.

Pytanie 21

Który z faz cyklu życia projektu wiąże się z identyfikacją wymagań użytkownika?

A. Przeprowadzanie testów
B. Wdrażanie
C. Analiza
D. Etap planowania
Analiza to etap cyklu życia projektu, podczas którego określane są wymagania użytkownika. W tej fazie zespół projektowy przeprowadza badania, konsultacje i warsztaty, aby zrozumieć potrzeby klienta i użytkowników końcowych. Wynikiem analizy jest szczegółowa specyfikacja funkcjonalna i niefunkcjonalna, która stanowi podstawę do projektowania i implementacji. Prawidłowo przeprowadzona analiza minimalizuje ryzyko nieporozumień oraz zapewnia, że finalny produkt będzie odpowiadał na realne potrzeby użytkowników.

Pytanie 22

Jakie wartości może przyjąć zmienna typu boolean?

A. 1, -1
B. true, false
C. trzy dowolne liczby naturalne
D. O oraz każdą liczbę całkowitą
Zmienna typu logicznego (boolowskiego) w językach programowania, takich jak C++, Java czy Python, może przyjmować tylko dwie wartości: true (prawda) oraz false (fałsz). Te wartości są fundamentalne w logice komputerowej, ponieważ umożliwiają podejmowanie decyzji oraz kontrolowanie przepływu programu poprzez struktury warunkowe, takie jak instrukcje if, while czy for. Na przykład, w języku Python, tworząc zmienną logiczną, możemy użyć operatorów porównania, aby określić, czy dwie wartości są równe: is_equal = (5 == 5), co ustawia is_equal na true. Zmienne logiczne są zdefiniowane w standardach programowania, takich jak IEEE 754 dla reprezentacji liczb zmiennoprzecinkowych, gdzie wartość logiczna jest kluczowa dla operacji porównawczych. Dobrze zrozumiana logika boolowska jest niezbędna dla programistów, ponieważ stanowi podstawę algorytmu decyzyjnego oraz wpływa na efektywność kodu.

Pytanie 23

Jakie narzędzie służy do zarządzania wersjami?

A. Jira
B. Git
C. Bugzilla
D. Trello
Git to system kontroli wersji, który pozwala na śledzenie zmian w kodzie źródłowym. Jest to narzędzie szeroko stosowane w zespołach programistycznych, umożliwiające współpracę i zarządzanie historią projektu.

Pytanie 24

Który z protokołów w modelu TCP/IP odpowiada za pewne przesyłanie danych?

A. HTTP
B. UDP
C. IP
D. TCP
Protokół TCP (Transmission Control Protocol) jest kluczowym elementem modelu TCP/IP, odpowiedzialnym za zapewnienie niezawodnego i uporządkowanego przesyłania danych między urządzeniami w sieci. TCP działa na poziomie transportu i gwarantuje, że dane są dostarczane w odpowiedniej kolejności oraz bez błędów. Protokół ten wykorzystuje mechanizmy takie jak kontrola przepływu, retransmisja utraconych pakietów oraz potwierdzenia odbioru, co czyni go idealnym do aplikacji wymagających wysokiej niezawodności, takich jak przesyłanie plików czy komunikacja w sieciach WWW. Na przykład, gdy przeglądarka internetowa pobiera stronę, TCP segmentuje dane na mniejsze pakiety, które są następnie przesyłane do użytkownika, a każdy z nich jest potwierdzany przez odbiorcę. Jeśli pakiet nie zostanie potwierdzony w określonym czasie, TCP automatycznie go retransmituje. Protokół ten jest zgodny z standardami RFC 793 oraz RFC 1122, które definiują jego działanie oraz zasady dotyczące niezawodnego przesyłania danych w sieciach komputerowych.

Pytanie 25

Które z wymienionych działań, które są częścią procesu kreowania prostej galerii zdjęć w formie aplikacji mobilnej, powinno być realizowane przez zespół?

A. Wdrożenie funkcji dodajZdjecie()
B. Przygotowanie i konfiguracja repozytorium dla projektu
C. Przygotowanie testu jednostkowego dla funkcji przegladajZdjecia()
D. Stworzenie dokumentacji kodu aplikacji
Utworzenie dokumentacji kodu aplikacji jest zadaniem zespołowym, gdyż wymaga współpracy kilku osób, które muszą zrozumieć ogólną architekturę projektu oraz zasady, jakie powinny zostać zastosowane w dokumentacji. Dokumentacja kodu jest kluczowa dla przyszłej konserwacji i rozwoju aplikacji, a jej przygotowanie powinno obejmować nie tylko opis funkcji i klas, ale także konwencje nazewnictwa, style kodowania oraz strategie testowania. Przykładem może być zastosowanie standardu JSDoc, który pozwala na generowanie dokumentacji z komentarzy w kodzie, co ułatwia zrozumienie struktury i funkcjonowania aplikacji. Dobra dokumentacja zapewnia, że nowi członkowie zespołu będą mogli szybko odnaleźć się w projekcie. Zespołowa praca nad dokumentacją gwarantuje, że wszystkie aspekty projektu zostaną uwzględnione i odpowiednio udokumentowane, co jest niezbędne dla efektywności projektu.

Pytanie 26

Jakie jest główne zadanie portali społecznościowych?

A. Analiza rezultatów działalności gospodarczej
B. Tworzenie kopii zapasowych plików
C. Udostępnianie informacji i interakcja między użytkownikami
D. Zarządzanie handlem produktami i usługami
Główna funkcja portali społecznościowych polega na umożliwieniu użytkownikom tworzenia, udostępniania oraz wymiany treści, a także komunikacji w czasie rzeczywistym. Portale takie jak Facebook, Twitter czy Instagram pozwalają na interakcję poprzez posty, komentarze, polubienia oraz wiadomości prywatne. Użytkownicy mogą dzielić się zdjęciami, filmami, artykułami lub osobistymi przemyśleniami, co sprzyja budowaniu społeczności i nawiązywaniu relacji. Funkcjonalności te są zgodne z najlepszymi praktykami UX/UI, które kładą nacisk na intuicyjność i łatwość obsługi. W kontekście SEO, portale społecznościowe są także ważne ze względu na możliwość generowania ruchu na zewnętrzne strony internetowe poprzez linki i udostępnienia. Przykładem może być wykorzystanie platformy Instagram do promocji produktów, gdzie użytkownicy mogą kliknąć w linki do sklepu. Takie działania zwiększają widoczność marki w Internecie oraz angażują odbiorców, co jest kluczowe dla efektywnej strategii marketingowej.

Pytanie 27

Aby wykorzystać framework Django, należy pisać w języku

A. Java
B. Python
C. C#
D. JavaScript
Framework Django jest napisany w języku Python. Jest to jeden z najpopularniejszych frameworków do tworzenia aplikacji webowych, oferujący bogatą funkcjonalność, elastyczność i szybki czas realizacji projektów.

Pytanie 28

Jakie są kluczowe korzyści z wykorzystania frameworków podczas programowania aplikacji desktopowych?

A. Skracają czas tworzenia aplikacji dzięki gotowym komponentom i narzędziom
B. Redukują zapotrzebowanie na pamięć operacyjną aplikacji
C. Ułatwiają kontrolę nad wersjami systemu operacyjnego
D. Gwarantują dostęp do niskopoziomowego kodu systemowego
Jedną z głównych zalet stosowania frameworków w programowaniu aplikacji desktopowych jest znaczne skrócenie czasu tworzenia oprogramowania dzięki gotowym komponentom i narzędziom. Frameworki dostarczają struktury, która standaryzuje rozwój aplikacji i minimalizuje konieczność pisania kodu od podstaw. Frameworki takie jak WPF, Qt czy Electron umożliwiają szybkie tworzenie interfejsów użytkownika, obsługę zdarzeń oraz integrację z bazami danych i API. Ponadto frameworki wspierają modularność i umożliwiają łatwe zarządzanie dużymi projektami, co przekłada się na lepszą organizację kodu i wyższą jakość oprogramowania.

Pytanie 29

Reguła zaangażowania i konsekwencji jako jedna z zasad wpływania na innych odnosi się

A. do kierowania się zdaniem danej grupy
B. do doprowadzania spraw do końca
C. do odwzajemniania się osobie, która nam pomogła
D. do uległości wobec autorytetów
Reguła zaangażowania i konsekwencji odnosi się do potrzeby doprowadzenia spraw do końca. Kiedy ktoś podejmie decyzję lub działanie, jest bardziej skłonny kontynuować, aby zachować spójność wewnętrzną i unikać dysonansu poznawczego.

Pytanie 30

Który z warunków logicznych weryfikuje, czy zmienna całkowita x jest dodatnią liczbą składającą się z dwóch cyfr i jest podzielna przez 4?

A. (x > 0 && x < 100) || (x / 4 == 0)
B. (x > 9 && x < 100) || (x % 4 == 0)
C. (x > 9 || x < 100) && (x / 4 == 0)
D. (x > 9 && x < 100) && (x % 4 == 0)
Warunek (x > 9 && x < 100) && (x % 4 == 0) sprawdza, czy zmienna x jest dodatnią liczbą dwucyfrową podzielną przez 4. Dzięki operatorom logicznym && programista może precyzyjnie określić, czy liczba mieści się w odpowiednim zakresie i spełnia wymagania dotyczące podzielności. Tego typu warunki są niezbędne przy filtrowaniu danych i walidacji użytkowych wejść.

Pytanie 31

W jakim przypadku należy umieścić poszkodowanego w pozycji bocznej bezpiecznej?

A. gdy wystąpi omdlenie i brak tętna
B. w przypadku urazu kręgosłupa
C. w sytuacji urazu pleców, gdy osoba jest świadoma
D. w przypadku omdlenia, gdy osoba jest przytomna
Ułożenie poszkodowanego w pozycji bocznej bezpiecznej jest kluczowym krokiem w sytuacjach medycznych, zwłaszcza w przypadku omdlenia, gdy osoba jest przytomna i oddycha. Ta pozycja ma na celu zapewnienie drożności dróg oddechowych, co jest niezbędne, aby uniknąć zadławienia się własnymi wymiotami lub śliną. W sytuacji, gdy osoba traci przytomność, lecz nadal oddycha, ułożenie jej na boku minimalizuje ryzyko aspiracji i wspiera naturalne funkcje oddechowe. Ważne jest, aby przyjąć tę pozycję, ale również monitorować stan poszkodowanego, sprawdzając jego oddech i reakcje. Zgodnie z wytycznymi Europejskiej Rady Resuscytacji, w takich sytuacjach kluczowe jest, aby osoba była w pełni zabezpieczona i nie mogła się przewrócić. Przykłady zastosowania tej techniki obejmują sytuacje, gdzie osoba straciła przytomność na skutek omdlenia związanego z nagłym spadkiem ciśnienia krwi lub innymi czynnikami. Wykorzystanie pozycji bocznej bezpiecznej jest standardem w pierwszej pomocy i jest szkolone w ramach kursów dla ratowników oraz medyków.

Pytanie 32

W jakiej topologii sieciowe wszystkie urządzenia są bezpośrednio powiązane z każdym innym?

A. Topologia pierścienia
B. Topologia siatki
C. Topologia gwiazdy
D. Topologia magistrali
Topologia siatki to jedna z najbardziej wydajnych i wszechstronnych struktur sieciowych, w której każde urządzenie (węzeł) jest połączone bezpośrednio z każdym innym węzłem. Tego typu topologia zapewnia wysoką dostępność i odporność na awarie, ponieważ awaria jednego połączenia nie wpływa na komunikację pozostałych węzłów. W praktyce ma to zastosowanie w dużych, zaawansowanych sieciach komputerowych, takich jak sieci miejskie (MAN) czy sieci szerokopasmowe. Istnieją dwie główne formy topologii siatki: siatka pełna, gdzie każde urządzenie ma bezpośrednie połączenia z wszystkimi innymi, oraz siatka częściowa, gdzie nie wszystkie węzły są ze sobą bezpośrednio połączone, ale komunikacja jest możliwa przez inne węzły. Topologia siatki, z uwagi na swoje zalety, jest często wykorzystywana w standardach sieciowych, takich jak Ethernet, oraz w systemach rozproszonych, gdzie kluczowe są niezawodność i efektywność przesyłania danych. Dodatkowo, w kontekście Internetu rzeczy (IoT), topologia siatki umożliwia efektywne zarządzanie dużą liczbą urządzeń, co jest kluczowe w inteligentnych miastach i automatyzacji domowej.

Pytanie 33

Jakie są kluczowe różnice pomiędzy strukturą (struct) a unią (union) w języku C?

A. Unia nie jest obsługiwana przez kompilatory współczesnych języków
B. Struktura wymaga więcej miejsca w pamięci niż unia
C. Struktura przechowuje wiele wartości równocześnie, unia tylko jedną
D. Unia umożliwia dynamiczne przypisywanie typów danych, struktura natomiast nie
Główna różnica między strukturą ('struct') a unią ('union') w języku C polega na sposobie przechowywania danych. Struktura przechowuje wszystkie pola jednocześnie, przydzielając każdemu z nich osobne miejsce w pamięci, natomiast unia używa wspólnej przestrzeni pamięci dla wszystkich swoich pól – w danym momencie można przechowywać tylko jedną wartość. Unia jest bardziej efektywna pod względem pamięci, ale mniej wszechstronna, ponieważ zmiana wartości jednego pola nadpisuje pozostałe. Struktury są powszechnie wykorzystywane w aplikacjach, gdzie konieczne jest przechowywanie wielu niezależnych danych, podczas gdy unie są używane do oszczędzania pamięci.

Pytanie 34

Jedną z dolegliwości, która pojawia się u programistów w wyniku długotrwałego korzystania z myszki komputerowej lub klawiatury, objawiającą się bólem, drętwieniem oraz zaburzeniami czucia w rejonie 1-3 palca ręki jest

A. kifoza
B. zespół cieśni kanału nadgarstka
C. dyskopatia
D. zespół suchego oka
Zespół cieśni kanału nadgarstka to schorzenie występujące często u programistów i innych osób pracujących przy komputerze. Objawia się bólem, mrowieniem i drętwieniem palców, co wynika z ucisku nerwu pośrodkowego w nadgarstku. Długotrwałe korzystanie z klawiatury i myszy bez ergonomicznych przerw może prowadzić do tego schorzenia. Profilaktyka obejmuje ćwiczenia rozciągające, stosowanie ergonomicznych urządzeń oraz regularne przerwy w pracy.

Pytanie 35

Który framework jest powszechnie wykorzystywany do tworzenia aplikacji internetowych w języku Python?

A. Django
B. Angular
C. ASP.NET Core
D. React.js
Django to framework stworzony specjalnie do budowy aplikacji webowych w języku Python. Jest jednym z najbardziej popularnych i zaawansowanych frameworków typu full-stack, który oferuje szeroki wachlarz narzędzi umożliwiających szybkie i efektywne tworzenie aplikacji internetowych. Django pozwala na tworzenie aplikacji zgodnych z zasadą DRY (Don't Repeat Yourself), co oznacza minimalizację powtarzalnego kodu. Posiada wbudowany panel administracyjny, system ORM (Object-Relational Mapping) oraz zabezpieczenia przed atakami CSRF i XSS. Dzięki Django programiści mogą skupić się na rozwijaniu logiki biznesowej, a nie na konfiguracji podstawowych funkcji aplikacji, co znacznie skraca czas wdrożenia gotowego produktu.

Pytanie 36

Celem zastosowania wzorca Obserwator w tworzeniu aplikacji WEB jest:

A. zarządzanie funkcjami synchronicznymi w kodzie aplikacji
B. monitorowanie działań użytkownika oraz generowanie wyjątków
C. dostosowanie interfejsu użytkownika do różnych kategorii użytkowników
D. informowanie obiektów o modyfikacji stanu innych obiektów
Wzorzec projektowy 'Obserwator' (Observer) umożliwia powiadamianie obiektów o zmianie stanu innego obiektu, co pozwala na luźne powiązanie między komponentami aplikacji. Jest szeroko stosowany w programowaniu aplikacji webowych i desktopowych, gdzie zmiany w jednym elemencie interfejsu użytkownika mogą automatycznie aktualizować inne części systemu. Dzięki temu wzorzec ten wspiera reużywalność kodu i ułatwia zarządzanie złożonymi systemami.

Pytanie 37

Który element dokumentacji technicznej jest istotny dla ustalenia metod ochrony danych w aplikacji?

A. Opis architektury klient-serwer
B. Harmonogram zarządzania zadaniami
C. Koncepcja interfejsu użytkownika
D. System ochrony aplikacji
System zabezpieczeń aplikacji to kluczowy element specyfikacji technicznej, który określa metody ochrony danych. Obejmuje on takie elementy jak szyfrowanie, kontrola dostępu, uwierzytelnianie oraz autoryzacja. Prawidłowo zaprojektowany system zabezpieczeń zapewnia ochronę przed atakami hakerskimi, nieautoryzowanym dostępem oraz utratą danych. W aplikacjach webowych i mobilnych systemy zabezpieczeń obejmują również techniki takie jak dwuskładnikowe uwierzytelnianie (2FA), zabezpieczenia API oraz regularne audyty bezpieczeństwa. Implementacja solidnych mechanizmów zabezpieczeń jest niezbędna, aby zapewnić zgodność z regulacjami prawnymi i zyskać zaufanie użytkowników.

Pytanie 38

Jakie pola powinny być umieszczone w klasie nadrzędnej w strukturze dziedziczenia?

A. Pola, które są tylko prywatne
B. Pola, które są charakterystyczne jedynie dla pojedynczej klasy pochodnej
C. Pola, które są wykorzystywane tylko w funkcjach statycznych
D. Pola, które są wspólne dla wszystkich klas pochodnych
W klasie bazowej w hierarchii dziedziczenia umieszcza się pola, które są wspólne dla wszystkich klas pochodnych. Dzięki temu klasy pochodne mogą dziedziczyć te same właściwości, co eliminuje konieczność ich wielokrotnego definiowania. Jest to jedna z głównych zalet programowania obiektowego, umożliwiająca reużywalność kodu i zwiększenie spójności w projekcie. Przykładem może być klasa 'Pracownik', która zawiera pola takie jak 'imię', 'nazwisko' i 'wynagrodzenie', a klasy pochodne, takie jak 'Inżynier' czy 'Księgowy', mogą dziedziczyć te same pola, dodając jedynie specyficzne właściwości dla swojej roli.

Pytanie 39

W języku Java wyjątek ArrayIndexOutOfBoundsException występuje, gdy następuje próba dostępu do elementu tablicy, którego

A. wartość przekracza rozmiar tablicy
B. indeks jest równy lub większy od rozmiaru tablicy
C. indeks mieści się w zakresie od 0 do n-1, gdzie n oznacza rozmiar tablicy
D. wartość przewyższa jego indeks
ArrayIndexOutOfBoundsException występuje, gdy program odwołuje się do indeksu większego lub równego rozmiarowi tablicy. W języku Java indeksy zaczynają się od 0, więc próba dostępu do elementu spoza zakresu wywołuje ten wyjątek.

Pytanie 40

Jakie jest zastosowanie języka XAML przy tworzeniu aplikacji desktopowych?

A. Do optymalizacji działania aplikacji
B. Do obsługi zdarzeń klawiatury
C. Do projektowania graficznego interfejsu użytkownika
D. Do zarządzania bazami danych
XAML (Extensible Application Markup Language) to język znaczników wykorzystywany w technologii WPF (Windows Presentation Foundation) oraz UWP (Universal Windows Platform) do projektowania graficznego interfejsu użytkownika (GUI). XAML pozwala na definiowanie układów, przycisków, etykiet oraz innych elementów interaktywnych w aplikacjach desktopowych. Dzięki XAML, projektowanie interfejsu jest intuicyjne, a kod interfejsu jest oddzielony od logiki aplikacji, co sprzyja przejrzystości projektu. XAML wspiera animacje, style i szablony, co umożliwia budowę nowoczesnych, dynamicznych aplikacji. Jego elastyczność i możliwość współpracy z C# sprawiają, że XAML jest niezastąpiony w środowisku Windows.