Wyniki egzaminu

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

Egzamin zdany!

Wynik: 33/40 punktów (82,5%)

Wymagane minimum: 20 punktów (50%)

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

Początkowym celem środowisk IDE takich jak: lntellij IDEA, Eclipse, NetBeans jest programowanie w języku

A. Java
B. C++
C. C#
D. Python
Środowiska IDE, takie jak IntelliJ IDEA, Eclipse oraz NetBeans, zostały zaprojektowane z myślą o programowaniu w języku Java, który jest jednym z najpopularniejszych języków programowania na świecie. Te zintegrowane środowiska deweloperskie oferują szereg narzędzi i funkcji, które znacznie ułatwiają proces tworzenia aplikacji w Java. Przykładowo, IntelliJ IDEA, stworzony przez firmę JetBrains, dostarcza wsparcie dla automatycznego uzupełniania kodu, refaktoryzacji oraz analizy statycznej, co przyspiesza cykl rozwoju oprogramowania. Eclipse, będący otwartym oprogramowaniem, umożliwia rozszerzanie swoich funkcji poprzez wtyczki, co czyni go elastycznym narzędziem dla programistów. NetBeans, z kolei, zapewnia łatwe w użyciu interfejsy oraz wsparcie dla wielu technologii związanych z Java, takich jak JavaFX czy Java EE, co czyni go idealnym wyborem dla rozwoju aplikacji webowych i desktopowych. Zgodnie z przyjętymi standardami w branży, Java jest językiem obiektowym, który charakteryzuje się wysoką przenośnością oraz bezpieczeństwem, co czyni go atrakcyjnym wyborem dla wielu projektów komercyjnych oraz edukacyjnych.

Pytanie 2

Jakiego typu testy są stosowane do sprawdzania funkcjonalności prototypu interfejsu?

A. Testy interfejsu
B. Testy obciążeniowe
C. Testy zgodności
D. Testy efektywnościowe
Testy interfejsu są kluczowe w procesie weryfikacji funkcji prototypu interfejsu użytkownika. Testy te koncentrują się na sprawdzeniu poprawności działania wszystkich elementów graficznych, takich jak przyciski, pola tekstowe, menu rozwijane oraz formularze. Testy interfejsu pozwalają upewnić się, że interakcje użytkownika z aplikacją przebiegają zgodnie z oczekiwaniami i nie powodują błędów w nawigacji. Dzięki nim można wykryć problemy związane z nieprawidłowym rozmieszczeniem elementów, brakiem reakcji na kliknięcia lub nieintuicyjnym działaniem, co pozwala na wczesne wdrożenie poprawek i zwiększenie użyteczności aplikacji.

Pytanie 3

Aby tworzyć aplikacje desktopowe w języku Java, można wybrać jedno z poniższych środowisk

A. PyCharm
B. NetBeans
C. Ms Visual Studio
D. SharpDevelop
NetBeans to środowisko IDE dedykowane do programowania aplikacji desktopowych w języku Java. Obsługuje różne projekty, w tym aplikacje graficzne, serwisy sieciowe i narzędzia analityczne.

Pytanie 4

Jakie informacje można uzyskać na temat metod w klasie Point?

Ilustracja do pytania
A. Zawierają błąd, ponieważ nazwy metod powinny być różne.
B. Zawierają przeciążenie operatora.
C. Są przeciążone.
D. Służą jako konstruktory w zależności od liczby argumentów.
Metody przeciążone mogą mieć tę samą nazwę – różnią się sygnaturą, czyli liczbą i typami argumentów, co jest zgodne z zasadami programowania obiektowego. Przeciążenie metod to nie to samo co przeciążenie operatorów, które polega na definiowaniu nowego sposobu działania operatorów (np. +, -, *). Pełnienie funkcji konstruktorów to inny mechanizm i dotyczy głównie klas i ich instancjonowania, nie przeciążania metod.

Pytanie 5

Którą funkcję w C++ można zastosować do dynamicznego przydzielania pamięci dla tablicy?

A. malloc()
B. sizeof()
C. free()
D. delete[]
Funkcja 'malloc()' w języku C i C++ służy do dynamicznego alokowania pamięci dla tablic i innych struktur danych. Jest to kluczowa funkcja pozwalająca na przydzielenie określonej ilości bajtów w czasie wykonywania programu, co zwiększa elastyczność zarządzania pamięcią. Używając 'malloc()', programista może utworzyć tablicę o zmiennym rozmiarze, który nie musi być znany w czasie kompilacji. Dynamiczne alokowanie pamięci jest powszechnie stosowane w aplikacjach wymagających dużych ilości danych lub wtedy, gdy konieczne jest efektywne wykorzystanie zasobów systemowych.

Pytanie 6

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

A. Tworzenie kopii zapasowych plików
B. Analiza rezultatów działalności gospodarczej
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 7

Zademonstrowana pętla wykorzystuje obiekt random do

Ilustracja do pytania
A. wielokrotnego generowania liczby, aby stworzyć ciąg z liczb pseudolosowych
B. uzupełnienia tablicy danymi w postaci liczb pseudolosowych
C. jednorazowego wylosowania znaku z określonego zestawu znaków
D. stworzenia losowego napisu o długości 8 znaków składającego się z liter
Wielokrotne losowanie – Dotyczy sytuacji, gdy generowane jest wiele liczb, co nie jest zgodne z kodem. Wypełnienie tablicy – Kod dotyczy jednego znaku, a nie tablicy. Generowanie napisu – Pętla mogłaby generować ciąg znaków, ale pytanie dotyczy pojedynczego znaku.

Pytanie 8

Jaką rolę odgrywa interpreter w kontekście programowania?

A. Zoptymalizowuje wydajność aplikacji w środowisku produkcyjnym
B. Łączy kod źródłowy z zewnętrznymi bibliotekami
C. Generuje plik wykonywalny dla systemu operacyjnego
D. Przekłada kod źródłowy na język maszynowy w trakcie działania programu
Interpreter tłumaczy kod źródłowy na język maszynowy instrukcja po instrukcji, co oznacza, że każda linia kodu jest analizowana i wykonywana na bieżąco. Dzięki temu programy interpretowane, takie jak te w Pythonie, Ruby czy JavaScript, mogą być szybko testowane i uruchamiane bez konieczności wcześniejszej kompilacji. Interpretacja pozwala na elastyczność w procesie rozwoju, ponieważ zmiany w kodzie są widoczne natychmiast po zapisaniu pliku. To czyni interpreter idealnym narzędziem do prototypowania i budowania aplikacji w dynamicznych środowiskach.

Pytanie 9

Przedstawione logo praw Creative Commons umożliwia bezpłatne użytkowanie dzieła:

Ilustracja do pytania
A. w celu modyfikacji lub remiksowania
B. pod warunkiem udostępnienia go na tej samej zasadzie licencyjnej
C. w działaniach komercyjnych
D. pod warunkiem zachowania go w oryginalnej formie
Prawa Creative Commons umożliwiają darmowe korzystanie z utworu, jeśli celem jest jego zmiana lub remiksowanie. Jest to typowa licencja dla twórców, którzy chcą, aby ich prace mogły być swobodnie modyfikowane i rozwijane przez innych, promując współpracę i kreatywność.

Pytanie 10

W przypadku przedstawionych kodów źródłowych, które są funkcjonalnie równoważne, wartość, która zostanie zapisana w zmiennej b po wykonaniu operacji, to

Ilustracja do pytania
A. 5
B. 6
C. 5.96
D. 596
W tym zadaniu mamy do czynienia z fajnym przykładem konwersji liczby 5.96 na liczbę całkowitą w różnych językach, takich jak Python czy C++. Kiedy robimy rzutowanie, to po prostu odcinamy część ułamkową, co daje nam 5 w zmiennej b. To jest trochę klasyczne rzutowanie albo konwersja typu, gdzie w większości języków po prostu się to robi. Ciekawostką jest, że w Pythonie działa to przez funkcję int(), która zawsze zaokrągla w dół. A w C++ czy Javie używasz po prostu (int) i efekt jest ten sam. Warto też zwrócić uwagę, że przy liczbach ujemnych rzutowanie działa inaczej, bo zawsze zmierza w stronę zera. Z doświadczenia wiem, że warto być świadomym użycia takich konwersji, bo w niektórych przypadkach, jak operacje finansowe, nawet małe różnice mogą się okazać bardzo istotne.

Pytanie 11

Wskaż programowanie, w którym możliwe jest stworzenie aplikacji mobilnej dla systemu Android?

A. C++
B. Obiective-C
C. Swift
D. Java
Java jest jednym z najważniejszych języków programowania wykorzystywanych do tworzenia aplikacji mobilnych na platformę Android. Został stworzony przez firmę Sun Microsystems i obecnie jest rozwijany przez Oracle. Java jest językiem obiektowym, co oznacza, że umożliwia programistom tworzenie aplikacji w sposób modularny i zorganizowany. W kontekście Androida, Java jest podstawowym językiem, w którym bazowe API (Application Programming Interface) zostało opracowane. Wysoka wydajność, bogata biblioteka klas oraz wsparcie dla programowania wielowątkowego sprawiają, że Java jest idealnym wyborem dla deweloperów aplikacji mobilnych. Przykładowo, do stworzenia prostego interfejsu użytkownika w aplikacji Android, programista może wykorzystać takie elementy jak TextView czy Button, które są częścią frameworka Android SDK. Współczesne praktyki wskazują również na wykorzystanie Java w połączeniu z Kotlinem, co pozwala na osiągnięcie lepszych rezultatów i zwiększa efektywność w pracy nad projektami mobilnymi.

Pytanie 12

Który z dokumentów stosowanych w metodologii Agile zawiera listę funkcjonalności produktu uporządkowanych według ich ważności?

A. Backlog sprintu
B. Harmonogram projektu
C. Product backlog
D. Diagram Gantta
Backlog sprintu zawiera jedynie zadania przypisane do aktualnego sprintu i jest podzbiorem całego backlogu produktu, co oznacza, że nie zawiera całości funkcjonalności. Diagram Gantta to narzędzie do planowania harmonogramu projektów, ale nie służy do zarządzania wymaganiami czy funkcjonalnościami produktu. Harmonogram projektu określa czas realizacji poszczególnych etapów, ale nie odnosi się do listy funkcji, jakie muszą zostać wdrożone, co jest celem backlogu.

Pytanie 13

Jaki jest podstawowy okres ochrony autorskich praw majątkowych w krajach Unii Europejskiej?

A. 70 lat od zgonu autora
B. 50 lat od chwili pierwszej publikacji utworu
C. Bezterminowo
D. 75 lat od daty powstania utworu
Podstawowy czas trwania autorskich praw majątkowych w Unii Europejskiej wynosi 70 lat od śmierci autora. Oznacza to, że przez ten okres twórca lub jego spadkobiercy mają wyłączne prawo do korzystania z utworu i czerpania z niego korzyści finansowych. Po upływie tego czasu dzieło przechodzi do domeny publicznej i może być swobodnie wykorzystywane przez każdego, bez konieczności uzyskania zgody. Długość ochrony praw autorskich została ujednolicona w ramach przepisów UE, aby zagwarantować spójność w całej wspólnocie i wspierać ochronę kultury oraz dziedzictwa narodowego.

Pytanie 14

Która z wymienionych właściwości odnosi się do klasy pochodnej?

A. Jest automatycznie usuwana po zakończeniu działania programu
B. Dziedziczy atrybuty i metody z klasy bazowej
C. Nie może być zastosowana w strukturze dziedziczenia
D. Nie ma możliwości dodawania nowych metod
Cechą klasy pochodnej jest dziedziczenie pól i metod z klasy bazowej, co oznacza, że klasa pochodna automatycznie uzyskuje dostęp do wszystkich publicznych i chronionych składowych klasy nadrzędnej. Dzięki temu programista może rozwijać i modyfikować funkcjonalność istniejących klas, tworząc bardziej wyspecjalizowane obiekty. Dziedziczenie to kluczowy mechanizm umożliwiający wielokrotne użycie kodu, co prowadzi do zmniejszenia duplikacji i zwiększenia efektywności w zarządzaniu projektem. Klasa pochodna może również nadpisywać metody klasy bazowej, dostosowując ich działanie do swoich specyficznych potrzeb.

Pytanie 15

Jaką cechą odznacza się framework w porównaniu do biblioteki?

A. Framework stanowi zbiór funkcji, które programista ma możliwość wykorzystania
B. Framework oferuje funkcje użyteczne w konkretnej dziedzinie problemu
C. Framework określa strukturę aplikacji i zapewnia jej fundament
D. Framework zapewnia API do szerszego zestawu funkcji
Framework dostarcza gotowy szkielet aplikacji i narzuca architekturę, zgodnie z którą programista musi budować swoją aplikację. Oferuje zestaw narzędzi i komponentów, które upraszczają rozwój oprogramowania, przy jednoczesnym ograniczeniu swobody działania. Dzięki frameworkowi, programista nie musi tworzyć aplikacji od podstaw – dostaje narzędzia, które integrują się ze sobą, co przyspiesza proces developmentu i zapewnia spójność aplikacji.

Pytanie 16

Zaproponowany fragment kodu w Android Studio realizuje metodę nasłuchującą do obsługi wydarzenia

Ilustracja do pytania
A. wybór daty
B. zmiany stanu kontrolki Switch
C. naciśnięcia przycisku
D. zmiany w polu tekstowym
Metoda OnClickListener, to coś, co na pewno warto znać, gdy pracujesz z aplikacjami na Androida. Gdy użytkownik klika przycisk, wywoływana jest metoda onClick. I tu możesz zrobić różne rzeczy, jak na przykład przejść do innego ekranu, zapisać dane albo uruchomić jakąś akcję w tle. To jest dobry przykład wzorca projektowego zwanego Delegacja, który pomaga oddzielić to, co widzisz w interfejsie, od tego, co dzieje się w aplikacji. Dzięki temu łatwiej zarządzać kodem i wprowadzać zmiany. Fajnie jest, gdy logikę umieszczasz w osobnych metodach, bo wtedy testowanie całej aplikacji staje się prostsze. Przykłady? Możesz na przykład użyć OnClickListenera, żeby zrobić logowanie po kliknięciu przycisku lub wysłać formularz. Pamiętaj też, żeby unikać ciężkich operacji w metodzie onClick, żeby aplikacja działała płynnie.

Pytanie 17

Jakie są korzyści z wykorzystania struktur danych typu mapa (np. HashMap w Javie) w kontekście tworzenia zbiorów danych?

A. Gdyż nie potrzebują znajomości wielkości danych przed kompilacją
B. Ponieważ struktury danych typu mapa zajmują mniej pamięci niż tablice
C. Z powodu szybkiego uzyskiwania dostępu do elementów przy użyciu klucza
D. Bo pozwalają na sortowanie danych bez dodatkowych działań
Tablice faktycznie zajmują mniej pamięci, ale nie mają takiego sposobu dostępu do danych jak mapa, bo korzystamy z indeksów. Mapa nie jest od tego, żeby sortować dane, chociaż da się to jakoś obejść, na przykład z TreeMap. Jest też taka kwestia, że jeśli nie znamy rozmiaru danych przed kompilacją, to to jest typowe dla list i wektorów, a mapa w sumie się w tym nie sprawdzi. No i HashMap działa na zasadzie dynamicznej alokacji, więc sama się powiększa, gdy dodajemy nowe elementy.

Pytanie 18

Gdzie są przechowywane informacje w sytuacji korzystania z chmury obliczeniowej?

A. Na nośnikach optycznych użytkownika
B. Na zdalnych serwerach dostawcy usług
C. Na lokalnym serwerze użytkownika
D. Na dysku twardym użytkownika
Dane w chmurze obliczeniowej są przechowywane przede wszystkim na zdalnych serwerach dostawcy usług chmurowych. Tego rodzaju przechowywanie danych ma na celu zapewnienie wysokiej dostępności, skalowalności oraz bezpieczeństwa. Dostawcy usług chmurowych, tacy jak Amazon Web Services, Microsoft Azure czy Google Cloud Platform, inwestują w infrastrukturę, która obejmuje centra danych rozmieszczone na całym świecie. Te centra danych są wyposażone w zaawansowane systemy zabezpieczeń, takie jak firewall'e, szyfrowanie danych i systemy detekcji intruzów. Dzięki temu użytkownicy mogą mieć pewność, że ich dane są bezpieczne. Dodatkowo, zdalne serwery oferują elastyczność w zakresie przydzielania zasobów obliczeniowych, co pozwala na dynamiczne reagowanie na zmieniające się potrzeby biznesowe. Warto również wspomnieć o standardach bezpieczeństwa, takich jak ISO 27001 czy SOC 2, które regulują sposób przechowywania i zarządzania danymi w chmurze, zapewniając zgodność z najlepszymi praktykami branżowymi.

Pytanie 19

Jakie jest kluczowe działanie przy opracowywaniu zbiorów danych do rozwiązania problemu programistycznego?

A. Zmiana języka programowania na bardziej wydajny
B. Realizacja algorytmu sortującego
C. Weryfikacja zbiorów danych przed ich zastosowaniem
D. Wybór odpowiednich struktur danych
Wybór właściwych struktur danych to mega ważny krok, kiedy projektujesz swoje zestawy danych. To, jaką strukturę wybierzesz, ma ogromny wpływ na to, jak szybko i efektywnie będą działać algorytmy. Każda struktura ma swoje plusy i minusy – na przykład listy pozwalają na elastyczne zarządzanie elementami, stosy i kolejki trzymają dane w określonej kolejności, a drzewa czy grafy są już do bardziej skomplikowanych problemów. Dobrze dobrane struktury mogą znacznie przyspieszyć działanie programu i zmniejszyć zużycie zasobów. Moim zdaniem, jeśli chcesz projektować efektywne algorytmy, musisz naprawdę dobrze rozumieć, jak różne struktury działają i umieć je dopasować do problemu, który chcesz rozwiązać.

Pytanie 20

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

A. Prawa pokrewne
B. Własność przemysłowa
C. Autorskie prawa majątkowe
D. Dobra niematerialne
Dobra niematerialne to szersza kategoria obejmująca różne aspekty własności intelektualnej, ale znaki towarowe są formalnie klasyfikowane jako własność przemysłowa. Autorskie prawa majątkowe dotyczą utworów literackich, muzycznych i filmowych, ale nie obejmują znaków towarowych. Prawa pokrewne chronią wykonawców i producentów nagrań, lecz nie odnoszą się do znaków towarowych i brandingu firm.

Pytanie 21

Zaproponowany fragment kodu w języku Java wypełnia tablicę elementami:

Ilustracja do pytania
A. 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
B. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
C. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
D. 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
Kod w języku Java wypełnia tablicę liczbami parzystymi od 2 do 20. W pętli inkrementacja wynosi 2, co skutkuje dodawaniem kolejnych parzystych liczb. To popularne rozwiązanie przy iteracji po wartościach, które mają spełniać określone warunki, np. podzielność przez 2.

Pytanie 22

Jakie rezultaty pojawią się po uruchomieniu poniższego kodu napisanego w języku C++?

Ilustracja do pytania
A. Pochodna. Bazowa.
B. Pochodna. Pochodna.
C. Bazowa. Bazowa.
D. Bazowa. Pochodna.
Kod wyświetla 'Pochodna. Pochodna.', co wskazuje, że metody klasy pochodnej przejęły kontrolę nad tymi z klasy bazowej. To fajny przykład polimorfizmu, jaki mamy w C++. Tutaj metoda w klasie pochodnej jest lepsza od metody w klasie bazowej. To, jakie wywołanie się wykona, zależy od konkretnego obiektu, a nie od tego, jaką metodę zdefiniowaliśmy w klasie bazowej.

Pytanie 23

Wykorzystując React.js oraz Angular, stworzono funkcjonalnie równoważne kody źródłowe. Aby móc w metodzie handleSubmit pokazać zawartość kontrolki input w miejscu oznaczonym ???, należy odwołać się do atrybutu o nazwie

Ilustracja do pytania
A. nazwa1
B. nazwa4
C. nazwa2
D. nazwa3
Aby wyświetlić zawartość kontrolki input w metodzie handleSubmit, należy odwołać się do atrybutu nazwa1. W React.js przypisanie referencji do elementu za pomocą ref lub state umożliwia dostęp do wartości tego elementu.

Pytanie 24

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

Ilustracja do pytania
A. Kod 3
B. Kod 1
C. Kod 4
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 25

Jak zrealizować definiowanie własnego wyjątku w języku C++?

A. Utworzyć klasę, która dziedziczy po std::exception
B. Wykorzystać blok try z pustym blokiem catch
C. Automatycznie wywołać funkcję throw
D. Skorzystać z domyślnej metody obsługi błędów
Aby zdefiniować własny wyjątek w języku C++, należy stworzyć klasę dziedziczącą po standardowej klasie 'std::exception' lub jednej z jej pochodnych. Klasa ta może zawierać własne metody i pola, dostosowując obsługę błędów do specyficznych potrzeb aplikacji. Dziedziczenie z 'std::exception' umożliwia korzystanie z funkcji takich jak 'what()', która zwraca opis błędu. Dzięki temu programista może precyzyjnie określić typ i przyczynę wyjątku, co prowadzi do bardziej czytelnego i łatwiejszego w utrzymaniu kodu. Tworzenie własnych wyjątków jest szczególnie przydatne w dużych projektach, gdzie występuje potrzeba kategoryzacji i obsługi różnych typów błędów w zależności od ich źródła.

Pytanie 26

Który system operacyjny jest podstawowym środowiskiem do tworzenia aplikacji mobilnych w języku Swift?

A. Android
B. Windows UWP
C. LG UX
D. iOS
iOS to natywny system operacyjny dla aplikacji mobilnych pisanych w języku Swift. Swift to nowoczesny język programowania, stworzony przez Apple, ułatwiający rozwój aplikacji na urządzenia iPhone i iPad.

Pytanie 27

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. dyskopatia
B. zespół cieśni kanału nadgarstka
C. kifoza
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 28

Jaką cechą charakteryzuje się sieć asynchroniczna?

A. Wymaga synchronizacji zegarów
B. Dane są przesyłane w sposób nieciągły, bez synchronizacji zegarów
C. Dane są przesyłane jedynie w określonych przedziałach czasowych
D. Jest bardziej niezawodna od sieci synchronicznej
W pierwszej z niepoprawnych odpowiedzi wskazano, że sieci asynchroniczne wymagają synchronizacji zegarów. To stwierdzenie jest błędne, ponieważ sama definicja sieci asynchronicznych opiera się na braku konieczności synchronizacji zegarów. W sieciach tego typu, każdy element systemu działa niezależnie, co umożliwia bardziej elastyczne przesyłanie danych w porównaniu do sieci synchronicznych. W drugiej niepoprawnej odpowiedzi zasugerowano, że dane są przesyłane tylko w ustalonych ramach czasowych. Jest to charakterystyczne dla sieci synchronicznych, gdzie transmisja danych jest ściśle zorganizowana i wymaga precyzyjnego harmonogramu. W sieciach asynchronicznych, dane mogą być wysyłane w dowolnym momencie, co pozwala na efektywniejsze wykorzystanie pasma. Kolejna niepoprawna odpowiedź sugeruje, że sieci asynchroniczne są bardziej niezawodne niż sieci synchroniczne. Chociaż sieci asynchroniczne mają swoje zalety, jak większa elastyczność, nie można jednoznacznie stwierdzić, że są one bardziej niezawodne. Niezawodność sieci zależy od wielu czynników, takich jak jakość urządzeń, protokoły transmisji oraz warunki pracy, a nie tylko od charakterystyki asynchronicznej czy synchronicznej.

Pytanie 29

Podana deklaracja zmiennych w języku JAVA zawiera

Ilustracja do pytania
A. dwie zmienne typu tekstowego, dwie całkowite oraz jedną logiczną
B. jedną zmienną typu tekstowego, dwie całkowite, jedną znakową i jedną logiczną
C. dwie zmienne o typie strukturalnym
D. jedną zmienną typu tekstowego, jedną rzeczywistą, jedną całkowitą, jedną znakową oraz jedną logiczną
Deklaracja dwóch zmiennych typu napisowego lub strukturalnego nie odpowiada analizowanemu kodowi, ponieważ liczba i typy zmiennych są inne. Pominięcie zmiennej logicznej lub znakowej prowadzi do błędnej interpretacji deklaracji zmiennych w kodzie.

Pytanie 30

Jakie narzędzie wspiera tworzenie aplikacji desktopowych?

A. WPF
B. Xamarin
C. Symfony
D. Angular
WPF (Windows Presentation Foundation) to framework umożliwiający tworzenie aplikacji desktopowych na platformie Windows. Umożliwia projektowanie interfejsów użytkownika przy użyciu XAML.

Pytanie 31

Zamieszczony fragment kodu w Android Studio wdraża metodę nasłuchującą dla obsługi zdarzenia:

Ilustracja do pytania
A. zmiany stanu kontrolki Switch
B. naciśnięcia przycisku
C. zmiany w polu tekstowym
D. wybierania daty
Kod implementuje nasłuchiwanie zdarzenia naciśnięcia przycisku (ang. Button Click). W środowisku Android Studio jest to jedna z podstawowych metod obsługi interakcji użytkownika. Kiedy użytkownik naciśnie przycisk, wywoływana jest określona metoda, co umożliwia np. uruchomienie nowej aktywności, walidację danych lub wywołanie zapytania do bazy danych. Obsługa zdarzeń tego typu jest kluczowa w budowie responsywnych aplikacji mobilnych, zapewniając użytkownikowi płynne i intuicyjne działanie.

Pytanie 32

Jakie metody pozwalają na przesłanie danych z serwera do aplikacji front-end?

A. formatu JSON
B. metody POST
C. protokołu SSH
D. biblioteki jQuery
Format JSON (JavaScript Object Notation) jest powszechnie używany do przesyłania danych z serwera do aplikacji front-end. Jest lekki, czytelny i łatwy do przetwarzania w większości języków programowania, co czyni go standardem w komunikacji API. JSON pozwala na efektywne przesyłanie złożonych struktur danych i ich łatwe mapowanie na obiekty w aplikacji.

Pytanie 33

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. Dzieli program na klasy oraz obiekty
C. Pozwala na tworzenie obiektów z wielu różnych klas równocześnie
D. Ogranicza dostęp do atrybutów klasy
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 34

Modyfikator dostępu, który znajduje się przed definicją metody Dodaj() w klasie Kalkulator, powoduje, że

Ilustracja do pytania
A. nie jest ona dostępna w klasach, które dziedziczą po klasie Kalkulator
B. nie jest ona dostępna z poziomu klas zaprzyjaźnionych z klasą Kalkulator
C. jest ona dostępna zarówno wewnątrz klasy, jak i w klasach dziedziczących po klasie Kalkulator
D. jest ona dostępna w programie głównym i może być wywoływana na rzecz instancji klasy Kalkulator
Modyfikator dostępu protected jest kluczowym elementem programowania obiektowego, umożliwiającym kontrolę nad widocznością i dostępem do składników klasy. Gdy metoda jest oznaczona jako protected, jak w przypadku metody Dodaj() w klasie Kalkulator, oznacza to, że jest ona dostępna nie tylko w ramach tej klasy, ale również w dowolnych klasach, które dziedziczą po klasie Kalkulator. To podejście wspiera koncepcję dziedziczenia, umożliwiając klasom potomnym korzystanie z funkcjonalności klasy bazowej bez konieczności ponownego definiowania metod. Na przykład, jeśli stworzymy klasę DziecięcyKalkulator dziedziczącą po Kalkulator, metoda Dodaj() będzie dostępna w tej klasie potomnej. Takie rozwiązanie jest często stosowane w projektach, gdzie istnieje potrzeba rozszerzania funkcjonalności bazowych klas bez naruszania ich enkapsulacji. Dobre praktyki programistyczne sugerują stosowanie protected tam, gdzie chcemy umożliwić dziedziczenie oraz uniknąć nadmiernego udostępniania elementów klasy zewnętrznym użytkownikom. Dzięki temu kod staje się bardziej modularny i elastyczny, co jest istotne w dużych projektach programistycznych. Zrozumienie roli modyfikatorów dostępu, takich jak protected, jest kluczowe dla efektywnego projektowania i implementacji systemów obiektowych.

Pytanie 35

Jaką komendę w języku C++ używa się do wielokrotnego uruchamiania tego samego bloku kodu?

A. break
B. switch
C. while
D. if
Instrukcja `while` w języku C++ i innych językach programowania pozwala na wielokrotne wykonanie tego samego fragmentu kodu, dopóki warunek logiczny jest spełniony. Przykład: `while (x < 10) { x++; }` będzie zwiększać zmienną `x` o 1, dopóki jej wartość nie osiągnie 10. Pętle `while` są przydatne, gdy liczba iteracji nie jest z góry znana i zależy od spełnienia określonego warunku w trakcie wykonywania programu.

Pytanie 36

Wykorzystanie typu DECIMAL w MySQL wymaga wcześniejszego określenia długości (liczby cyfr) przed oraz po przecinku. Jak należy to zapisać?

A. łańcuchowy
B. zmiennoprzecinkowy
C. stałoprzecinkowy
D. logiczny
Typ DECIMAL w języku MySQL jest używany do przechowywania liczb dziesiętnych z określoną precyzją. Przy definiowaniu tego typu danych wymagane jest określenie dwóch głównych parametrów: długości całkowitej liczby, czyli liczby cyfr przed przecinkiem, oraz długości części dziesiętnej, czyli liczby cyfr po przecinku. Taki zapis ma postać DECIMAL(M, D), gdzie M to maksymalna liczba cyfr, a D to liczba cyfr po przecinku. Przykład zastosowania to: DECIMAL(10, 2), co oznacza, że liczba może mieć maksymalnie 10 cyfr, z czego 2 cyfry będą po przecinku. Typ DECIMAL jest szczególnie przydatny w aplikacjach finansowych, gdzie precyzja obliczeń jest kluczowa, aby uniknąć błędów zaokrągleń, które mogą występować w przypadku typów zmiennoprzecinkowych. Standardy dotyczące typów danych w SQL, takie jak SQL:2008, również uznają znaczenie precyzyjnych reprezentacji liczbowych, co sprawia, że DECIMAL jest preferowany w wielu zastosowaniach. Warto dodać, że MySQL pozwala na elastyczność w definiowaniu długości, co umożliwia optymalne dostosowanie do specyficznych wymagań aplikacji.

Pytanie 37

W klasie pracownik zdefiniowano opisane metody. Która z nich jest odpowiednia do dodania elementu diagnostycznego o treści: cout << "Obiekt został usunięty";

Ilustracja do pytania
A. ~pracownik
B. wypisz
C. pracownik
D. operator==
Destruktor to specjalna metoda w języku C++ oznaczona tyldą przed nazwą klasy która jest wywoływana automatycznie w momencie usuwania obiektu danego typu z pamięci. Dlatego dodanie elementu diagnostycznego cout<

Pytanie 38

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

A. validating
B. focus
C. blur
D. keyup
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 39

Jaką nazwę nosi framework CSS, który służy do definiowania wyglądu stron internetowych i którego klasy są użyte w przedstawionym przykładzie?

Ilustracja do pytania
A. Yaml
B. Bootstrap
C. Angular
D. Symfony
Bootstrap jest jednym z najpopularniejszych frameworków CSS używanych do tworzenia responsywnych aplikacji internetowych. Jest to zestaw narzędzi open-source, który oferuje gotowe klasy CSS oraz komponenty JavaScript, ułatwiające projektowanie interfejsów użytkownika. W podanym przykładzie klasy takie jak 'col-sm-3' 'col-md-6' i 'col-lg-4' odnoszą się do siatki Bootstrapowej, która umożliwia elastyczne rozplanowanie elementów na stronie w zależności od rozmiaru ekranu. Klasa 'btn-primary' stosowana jest w Bootstrapie do stylizacji przycisków w sposób, który pasuje do domyślnych kolorów motywu. Z kolei 'dropdown-toggle' jest używana do obsługi rozwijanych list. Dzięki Bootstrapowi można z łatwością tworzyć nowoczesne i estetyczne aplikacje, które są zgodne z zasadami responsywnego web designu, co jest kluczowym standardem w dzisiejszej branży. Użycie Bootstrapu przyspiesza proces developmentu, pozwalając skupić się na funkcjonalności i logice aplikacji, zamiast na ręcznym stylizowaniu elementów.

Pytanie 40

Co następuje, gdy błąd nie zostanie uchwycony przez blok catch?

A. Błąd zostanie zignorowany przez kompilator
B. Program kontynuuje działanie, pomijając błąd
C. Program zakończy działanie z błędem
D. Instrukcja throw zostanie automatycznie wykreślona
Jeśli wyjątek nie zostanie przechwycony przez blok 'catch', program zakończy działanie z błędem i wygeneruje komunikat o nieobsłużonym wyjątku. Jest to domyślne zachowanie w C++ i innych językach obsługujących wyjątki, co ma na celu zapobieganie dalszemu wykonywaniu kodu, który mógłby prowadzić do nieprzewidywalnych rezultatów. Obsługa wyjątków jest kluczowym elementem zapewniania stabilności i bezpieczeństwa aplikacji – brak jej implementacji może prowadzić do awarii programu. Dlatego zaleca się, aby zawsze stosować odpowiednie bloki 'try-catch' wokół kodu, który może generować wyjątki.