Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Który z wymienionych elementów może stanowić część menu w aplikacji desktopowej?

A. CheckBox
B. MenuItem
C. Canvas
D. ScrollBar
MenuItem to podstawowy komponent, który stanowi część systemu menu w aplikacjach desktopowych. Jest to element, który pojawia się w rozwijanym menu i pozwala na wykonywanie określonych akcji, takich jak otwieranie plików, zapisywanie danych czy wywoływanie funkcji aplikacji. MenuItem jest szeroko stosowany w aplikacjach Windows w połączeniu z WPF i WinForms. Tworzenie strukturalnego menu, które ułatwia nawigację po aplikacji, jest kluczowe dla zapewnienia dobrej użyteczności i intuicyjności oprogramowania.

Pytanie 2

Jaki rodzaj testów można scharakteryzować przedstawionym opisem?

Ilustracja do pytania
A. testy jednostkowe
B. testy zgodności
C. testy funkcjonalne
D. testy wydajnościowe
Testy funkcjonalne (functional testing) oceniają, czy aplikacja działa zgodnie z założeniami, testując jej poszczególne funkcjonalności. Są kluczowym etapem w procesie testowania oprogramowania, ponieważ potwierdzają poprawność implementacji.

Pytanie 3

Który z poniższych elementów UI umożliwia graficzną nawigację pomiędzy różnymi sekcjami aplikacji?

A. Obszar tekstowy
B. Przycisk opcji
C. Rozwijana lista
D. Menu
Pasek menu to kluczowy element interfejsu użytkownika, który umożliwia wizualną nawigację pomiędzy różnymi sekcjami aplikacji. Paski menu są powszechnie stosowane w aplikacjach desktopowych i mobilnych, ponieważ pozwalają na szybki dostęp do różnych funkcji oraz ustawień. Dzięki ich hierarchicznej strukturze użytkownicy mogą łatwo odnaleźć potrzebne narzędzia i opcje, co zwiększa intuicyjność i wygodę korzystania z aplikacji.

Pytanie 4

Który z poniższych przykładów stanowi aplikację mobilną wykorzystującą bazę danych?

A. Aplikacja wyświetlająca lokalny czas
B. Aplikacja do robienia zdjęć
C. Aplikacja kalkulator
D. Aplikacja gromadząca listę kontaktów użytkownika
Aplikacja przechowująca listę kontaktów użytkownika korzysta z bazy danych do przechowywania, odczytywania i zarządzania danymi. Tego typu aplikacje mobilne muszą efektywnie zarządzać dużą ilością danych i zapewniać ich szybki dostęp. Bazy danych, takie jak SQLite czy Firebase, są szeroko stosowane w aplikacjach mobilnych, umożliwiając przechowywanie kontaktów, wiadomości, notatek i innych informacji użytkownika. Dzięki bazom danych możliwe jest także synchronizowanie danych pomiędzy urządzeniami i przechowywanie ich w chmurze.

Pytanie 5

Jakie metody umożliwiają przesyłanie danych z serwera do aplikacji front-end?

A. metody POST
B. formatu JSON
C. biblioteki jQuery
D. protokołem SSH
JSON, czyli JavaScript Object Notation, to dość lekki format wymiany danych. Jest prosty do zrozumienia zarówno dla ludzi, jak i komputerów. To dlatego jest tak popularny w aplikacjach webowych, gdzie przesyła się dane między serwerem a klientem. Dzięki strukturze klucz-wartość łatwo jest mapować obiekty w JavaScript, co przyspiesza cały proces z danymi. Pomysł na zastosowanie? Na przykład, gdy przesyłasz dane użytkownika z serwera do swojej aplikacji, to często zamieniasz obiekt JavaScript na format JSON i wysyłasz go przez AJAX. A co ważne, JSON jest zgodny z różnymi standardami, więc możesz go używać praktycznie wszędzie. Co ciekawe, w nowoczesnych aplikacjach JSON jest zdecydowanie bardziej popularny niż XML, bo jest prostszy i mniej obciążający dla sieci. To wszystko sprawia, że strony ładują się szybciej, a użytkownicy mają lepsze doświadczenia.

Pytanie 6

Które z wymienionych stwierdzeń najcelniej opisuje proces uruchamiania aplikacji?

A. Tłumaczenie kodu źródłowego na język pośredni
B. Wykonywanie programu na podstawie przetłumaczonego kodu maszynowego
C. Przetwarzanie kodu źródłowego przez kompilator
D. Generowanie pliku źródłowego
Zaczynanie od pliku źródłowego to jakby start w procesie programowania, zanim jeszcze dojdzie do kompilacji. Twierdzisz, że kompilator wykonuje kod źródłowy, ale to nie tak. Kompilator tłumaczy, a nie wykonuje ten kod. Zamiana kodu źródłowego na język pośredni, jak bytecode w Javie, to właśnie etap kompilacji. Uruchomienie następuje później, więc jest to ważne, żeby to zrozumieć.

Pytanie 7

Jakie ma znaczenie "operacja wejścia" w kontekście programowania?

A. Przekazywanie danych do programu z zewnętrznych źródeł
B. Naprawianie błędów w kodzie aplikacji
C. Wprowadzanie nowych funkcji do aplikacji
D. Zmiana wartości zmiennych globalnych
Operacja wejścia w programowaniu polega na przekazywaniu danych do programu z zewnętrznego źródła, takiego jak klawiatura, plik lub strumień danych. W języku C++ typowym przykładem operacji wejścia jest `cin >> zmienna;`, która pobiera dane od użytkownika i przypisuje je do zmiennej. Operacje wejścia są niezbędne w interaktywnych aplikacjach, które wymagają danych od użytkownika w czasie rzeczywistym, umożliwiając dynamiczne przetwarzanie informacji.

Pytanie 8

W jakiej okoliczności należy umieścić poszkodowanego w pozycji bezpiecznej?

A. Gdy poszkodowany cierpi na krwotok zewnętrzny
B. Gdy poszkodowany jest nieprzytomny, ale oddycha
C. Gdy poszkodowany nie oddycha
D. Gdy poszkodowany jest świadomy, lecz ma uraz kończyny
Ułożenie poszkodowanego w pozycji bezpiecznej jest konieczne, gdy osoba jest nieprzytomna, ale oddycha. Pozycja boczna ustalona zapobiega zadławieniu się językiem lub treścią żołądkową, co może wystąpić u osoby nieprzytomnej. To działanie jest kluczowe w przypadku osób po urazach głowy, zatruciach lub nagłych omdleniach. Dzięki tej pozycji drożność dróg oddechowych zostaje utrzymana, co znacząco zwiększa szanse na przeżycie do czasu przybycia służb medycznych.

Pytanie 9

Jakie jest oznaczenie normy międzynarodowej?

A. CE
B. EN
C. ISO
D. PN
ISO (International Organization for Standardization) to międzynarodowa organizacja zajmująca się opracowywaniem i wdrażaniem standardów technicznych. Oznaczenie ISO wskazuje, że produkt lub usługa spełnia międzynarodowe normy jakości i bezpieczeństwa, co ułatwia handel oraz współpracę na arenie międzynarodowej. Normy ISO obejmują szeroki zakres dziedzin, takich jak zarządzanie jakością (ISO 9001), zarządzanie środowiskowe (ISO 14001) czy bezpieczeństwo informacji (ISO 27001). Certyfikacja ISO buduje zaufanie klientów i zwiększa konkurencyjność firmy na rynku globalnym.

Pytanie 10

Jakie są różnice między kompilatorem a interpretem?

A. Kompilator przetwarza kod na język maszynowy w momencie jego wykonywania
B. Kompilator przekształca kod źródłowy na język maszynowy przed uruchomieniem aplikacji
C. Interpreter tworzy plik wykonywalny, który funkcjonuje niezależnie od otoczenia
D. Interpreter konwertuje kod źródłowy na język maszynowy przed jego kompilacją
Kompilator zamienia kod źródłowy na język maszynowy zanim program się uruchomi. W efekcie dostajemy plik wykonywalny, taki jak .exe w Windowsie. To fajne, bo po skompilowaniu aplikacja działa samodzielnie i nie potrzeba jej tłumaczyć od nowa. Dzięki temu programy, które są skompilowane, są zazwyczaj dużo szybsze i lepiej zoptymalizowane niż te, które są interpretowane. Warto wiedzieć, że kompilatory są wykorzystywane w językach takich jak C, C++ czy Java. Kompilacja ma też tę zaletę, że można wykrywać błędy jeszcze przed uruchomieniem programu, co jest naprawdę przydatne.

Pytanie 11

Jednym z kroków publikacji aplikacji mobilnej w Google Play są testy Beta, które charakteryzują się tym, że są:

A. przeprowadzane przez grupę docelowych użytkowników aplikacji
B. prowadzone w oparciu o dokument zawierający przypadki testowe
C. realizowane przez zespół zatrudnionych testerów z Google
D. podzielone na testy dotyczące funkcjonalności, wydajności i skalowalności
Testy Beta w Google Play są wykonywane przez rzeczywistych użytkowników, którzy zgłaszają błędy i proponują zmiany. Jest to kluczowy etap testowania, który pozwala na ocenę aplikacji w warunkach zbliżonych do rzeczywistego użytkowania przed oficjalną premierą. Testy te pomagają wykrywać błędy, które mogły zostać pominięte podczas testów wewnętrznych.

Pytanie 12

Który z wymienionych elementów stanowi przykład zbiorowej ochrony?

A. Kask ochronny
B. Ekran akustyczny
C. Okulary ochronne
D. Zatyczki do uszu
Ekran akustyczny to przykład środka ochrony zbiorowej, który redukuje poziom hałasu w miejscu pracy, chroniąc większą grupę pracowników jednocześnie. Środki ochrony zbiorowej mają na celu eliminowanie zagrożeń u źródła i zabezpieczanie całego środowiska pracy, a nie pojedynczych osób. Ekrany akustyczne są często stosowane w zakładach produkcyjnych, gdzie hałas maszyn może przekraczać dopuszczalne normy. Dzięki nim można zmniejszyć poziom hałasu i poprawić komfort pracy, bez konieczności wyposażania każdego pracownika w ochronniki słuchu. Środki ochrony zbiorowej są bardziej efektywne w długoterminowej perspektywie, ponieważ zmniejszają ryzyko dla wszystkich pracowników na danym stanowisku.

Pytanie 13

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ólami, drętwieniem oraz zaburzeniami czucia w obszarze 1-3 palca dłoni jest

A. Dyskopatia
B. kifoza
C. zespół suchego oka
D. zespól cieśni kanału nadgarstka
Zespół cieśni kanału nadgarstka to schorzenie, które powstaje w wyniku ucisku na nerw pośrodkowy w kanale nadgarstka. Jest to wąski tunel utworzony przez kości nadgarstka oraz więzadła, przez który przechodzą ścięgna oraz nerwy odpowiedzialne za czucie i ruch w dłoni. Objawy zespołu cieśni kanału nadgarstka obejmują bóle, drętwienie oraz zaburzenia czucia, szczególnie w obszarze pierwszych trzech palców ręki. Praca z myszą komputerową i klawiaturą przez długi czas, szczególnie w niewłaściwej ergonomicznej pozycji, może prowadzić do nadmiernego obciążenia i zapalenia tkanek otaczających nerw pośrodkowy. W praktyce, osoby cierpiące na to schorzenie często skarżą się na problemy z chwytaniem przedmiotów, a także na osłabienie siły uchwytu. W leczeniu zespołu cieśni kanału nadgarstka zaleca się m.in. unikanie czynników przyczynowych, stosowanie ortez, fizjoterapię oraz w niektórych przypadkach leczenie chirurgiczne. Należy również zwrócić uwagę na ergonomię stanowiska pracy, co może znacząco zredukować ryzyko wystąpienia tej dolegliwości. Zarządzanie czasem spędzanym przy komputerze oraz regularne przerwy są kluczowe w prewencji tego schorzenia.

Pytanie 14

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

A. int liczba;
B. float liczba;
C. char liczba;
D. bool 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 15

Klasa Mieszkaniec zawiera atrybuty: imie, nazwisko, ulica, nrDomu, rokUrodzenia. W tej klasie umieszczono opisane poniżej konstruktory (zapisano jedynie typy argumentów). Do tworzenia obiektu za pomocą konstruktora kopiującego wykorzystany będzie konstruktor określony w punkcie

Ilustracja do pytania
A. 1
B. 2
C. 3
D. 4
Konstruktor kopiujący to taka fajna metoda, która pozwala nam stworzyć nowy obiekt, będący kopią innego obiektu tej samej klasy. To naprawdę ważny element w programowaniu obiektowym, bo dzięki niemu możemy tworzyć nowe instancje bez konieczności ręcznego wpisywania wartości pól. Taki konstruktor kopiujący dba o to, żeby dane były spójne i integralne, co jest super istotne, zwłaszcza przy obiektach, które mają wskaźniki lub potrzebują dynamicznie przydzielanej pamięci.

Pytanie 16

Jaką strukturę danych można zrealizować, korzystając jedynie z wymienionych poniżej metod:

Ilustracja do pytania
A. kolejka
B. drzewo binarne
C. stos
D. tablica
Stos (LIFO) to struktura danych, w której elementy dodawane są na wierzchołek i zdejmowane w odwrotnej kolejności (Last In, First Out). Podstawowe operacje to 'push' (dodanie elementu) i 'pop' (usunięcie elementu). Stos jest szeroko stosowany w algorytmach rekurencyjnych, wycofywaniu operacji (undo) i zarządzaniu pamięcią.

Pytanie 17

Która z wymienionych topologii sieci wykazuje cechę, że wszystkie urządzenia są połączone jednym kablem?

A. Topologia magistrali
B. Topologia pierścienia
C. Topologia gwiazdy
D. Topologia siatki
Topologia magistrali to jedna z podstawowych topologii sieci komputerowych, w której wszystkie urządzenia są podłączone do jednego kabla, zwanego magistralą. W tej konfiguracji dane przesyłane są w obu kierunkach na wspólnym przewodzie, a każde urządzenie musi odczytać dane i zidentyfikować, czy są one przeznaczone dla niego. Kluczową zaletą topologii magistrali jest jej prostota oraz niskie koszty instalacji, ponieważ wymaga mniej kabli niż inne topologie. Jest to jednak także jej największa wada - awaria jednego segmentu kabla może spowodować przerwanie komunikacji w całej sieci. Topologia magistrali jest często wykorzystywana w małych sieciach lokalnych oraz w systemach, gdzie nie ma potrzeby dużej niezawodności. Standardy, takie jak IEEE 802.3, definiują zasady działania sieci Ethernet korzystających z tej topologii. W praktyce, zastosowanie topologii magistrali można zaobserwować w starszych instalacjach sieciowych, gdzie budżet na infrastrukturę był ograniczony, a wymogi dotyczące skomplikowania sieci były minimalne.

Pytanie 18

Jaki będzie rezultat operacji logicznej AND dla wartości binarnych 1010 oraz 1100?

A. 1100
B. 1010
C. 1110
D. 1000
Wynik logicznej operacji AND dla liczb binarnych 1010 i 1100 uzyskuje się poprzez porównywanie odpowiadających sobie bitów obu liczb. W systemie binarnym, operacja AND zwraca 1 tylko wtedy, gdy oba bity są równe 1. W przypadku liczb 1010 (co w systemie dziesiętnym odpowiada 10) oraz 1100 (co w systemie dziesiętnym odpowiada 12), analizujemy każdy bit od prawej do lewej. Pierwszy bit: 0 AND 0 = 0, drugi bit: 1 AND 0 = 0, trzeci bit: 0 AND 1 = 0, czwarty bit: 1 AND 1 = 1. Zatem wynik operacji AND to 1000 (co w systemie dziesiętnym odpowiada 8). Takie operacje logiczne są podstawą działania systemów cyfrowych i stosowane są w programowaniu oraz w projektowaniu układów cyfrowych, gdzie logika binarna jest niezbędna. Operacje AND są również używane w bazach danych oraz w językach programowania, gdzie umożliwiają filtrowanie danych na podstawie logicznych warunków. W kontekście standardów, operacje logiczne są definiowane przez różne normy, takie jak IEEE 754 dla arytmetyki zmiennoprzecinkowej, co podkreśla ich fundamentalne znaczenie w informatyce.

Pytanie 19

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

A. indeks mieści się w zakresie od 0 do n-1, gdzie n oznacza rozmiar tablicy
B. indeks jest równy lub większy od rozmiaru tablicy
C. wartość przekracza 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 20

Jakie jest główne zadanie ochrony danych osobowych?

A. Utrudnianie działalności organom ścigania
B. Gwarantowanie anonimowości dla internautów
C. Zabezpieczenie danych osobowych przed nieautoryzowanym dostępem i ich wykorzystaniem
D. Udostępnianie danych osobowych w celach marketingowych
Ochrona danych osobowych przed nieuprawnionym dostępem i wykorzystaniem to podstawowy cel ochrony danych osobowych. Zasady ochrony prywatności, takie jak RODO (GDPR), zapewniają użytkownikom prawo do kontroli nad swoimi danymi i decydowania, kto może je przetwarzać. Firmy i organizacje muszą wdrażać środki techniczne oraz organizacyjne, aby zabezpieczyć dane przed wyciekiem, kradzieżą i nadużyciami. Przestrzeganie tych zasad nie tylko chroni jednostki, ale również buduje zaufanie klientów do przedsiębiorstw.

Pytanie 21

Użycie typu DECIMAL w SQL wymaga wcześniejszego określenia liczby cyfr przed przecinkiem oraz ilości cyfr za przecinkiem. Jest to zapis:

A. stałoprzecinkowy
B. łańcuchowym
C. zmiennoprzecinkowy
D. logicznym
Typ DECIMAL w języku SQL to typ zmiennoprzecinkowy, który umożliwia przechowywanie liczb z określoną liczbą miejsc po przecinku. Jest szeroko stosowany w finansach i innych dziedzinach wymagających dużej precyzji, ponieważ unika błędów zaokrągleń, które mogą wystąpić przy użyciu typów FLOAT lub REAL. Przechowywanie danych liczbowych w dokładny sposób ma kluczowe znaczenie w aplikacjach związanych z walutami i statystyką.

Pytanie 22

Która z operacji logicznych zwróci wartość "true", gdy obie zmienne są sobie równe?

A. x != y
B. x || y
C. x && y
D. x == y
Operator `==` w języku C++ i wielu innych językach programowania (np. Python, Java, JavaScript) służy do porównywania dwóch wartości. Zwraca `true`, jeśli obie wartości są sobie równe, oraz `false`, jeśli są różne. Przykład: `if (x == y)` sprawdza, czy zmienna `x` jest równa zmiennej `y`. Operator ten jest kluczowy w instrukcjach warunkowych oraz pętlach, gdzie konieczne jest porównywanie wartości w celu podejmowania decyzji na podstawie wyniku tego porównania.

Pytanie 23

Jakiego kwalifikatora powinno się użyć dla metody, aby umożliwić do niej dostęp jedynie z wnętrza tej klasy oraz klas dziedziczących, a także, by metoda ta nie była dostępna w żadnej funkcji?

A. reinterpret_cast
B. public
C. protected
D. private
Metoda oznaczona jako 'protected' jest dostępna tylko z poziomu klasy oraz jej klas potomnych. Chroni to przed bezpośrednim dostępem spoza klasy, zapewniając większe bezpieczeństwo kodu i ograniczenie dostępu.

Pytanie 24

Wskaż fragment kodu, który stanowi realizację przedstawionego algorytmu w języku C++

Ilustracja do pytania
A. kod 1
B. kod 4
C. kod 3
D. kod 2
Jak się przyjrzysz innym opcjom, można zauważyć sporo problemów, które mogą wprowadzać w błąd przy implementacji algorytmu związanym z schematem blokowym. Opcja Kod 2 stosuje instrukcję if-else, co już jest dużym błędem. W związku z tym operacje dodawania i zwiększania zmiennej `i` wykonają się tylko raz, jeśli początkowy warunek jest spełniony. Z tego wynika brak powtarzalności, co ważne w algorytmach, gdzie trzeba coś robić wielokrotnie, aż warunek będzie spełniony. Z kolei Kod 3 używa pętli for, która lepiej nadaje się do przypadków, gdzie liczba powtórzeń jest znana. Ale tutaj zmienna `i` jest źle umiejscowiona i nie pasuje do logiki algorytmu. Dodatkowo, sama konstrukcja pętli for nie pokazuje, że musimy coś zrobić przynajmniej raz, zanim sprawdzimy warunek. Kod 4 chociaż używa pętli while, to i tak nie spełnia warunku, że operacja musi się wykonać przynajmniej raz przed sprawdzeniem tego warunku. Pętla while najpierw weryfikuje warunek, więc jeśli na początku jest nieprawdziwy, to nie wejdzie w żadną iterację, co jest sprzeczne z logiką algorytmu. Dlatego tylko Kod 1 jest naprawdę zgodny z wymaganiami algorytmu i może być traktowany jako poprawna implementacja według tego schematu.

Pytanie 25

Jakie środowisko jest natywne do tworzenia aplikacji desktopowych w języku C#?

A. PyCharm
B. Eclipse
C. MS Visual Studio
D. NetBeans
MS Visual Studio to środowisko natywne do programowania aplikacji desktopowych w języku C#. To jedno z najczęściej używanych IDE do programowania w ekosystemie Microsoftu, oferujące wsparcie dla debugowania, projektowania interfejsu użytkownika i integracji z .NET. Visual Studio posiada również zaawansowane narzędzia do refaktoryzacji kodu, analizy oraz tworzenia aplikacji webowych i mobilnych.

Pytanie 26

Która z właściwości przycisków typu Radio-button opisanych w przedstawionym fragmencie dokumentacji jest poprawna?

Ilustracja do pytania
A. Wartość właściwości value grupy radio przechowuje tekst etykiety dla każdego radio-button
B. Właściwość labelPosition może przyjmować jedną z dwóch opcji
C. Przyciski radio-button są organizowane w elemencie o nazwie
D. Etykieta (label) może być umieszczona wyłącznie po przycisku radio-button
Właściwość 'labelPosition' przyjmuje jedną z dwóch wartości, co pozwala na ustawienie pozycji etykiety po lewej lub prawej stronie przycisku radio-button. Jest to kluczowa funkcjonalność, która wpływa na układ i dostępność interfejsu użytkownika.

Pytanie 27

Ergonomiczną oraz właściwą pozycję do pracy przy komputerze zapewni fotel, którego

A. oparcie w rejonie szyi jest nachylone do przodu o 40o
B. oparcie wspiera lordozę w dolnym odcinku pleców
C. podłokietniki znajdują się 20 cm poniżej blatu
D. podłokietniki są 30 cm powyżej blatu
Prawidłowa i ergonomiczna pozycja pracy przy komputerze jest kluczowa dla zdrowia i komfortu użytkownika. Oparcie krzesła, które zapewnia lordozę w odcinku lędźwiowym, jest niezbędne, ponieważ pozwala na zachowanie naturalnej krzywizny kręgosłupa. Lordoza lędźwiowa to naturalne wygięcie kręgosłupa w dolnej części pleców, które wspiera prawidłowe ułożenie ciała podczas siedzenia. Krzesło powinno być zaprojektowane tak, aby oparcie przylegało do krzywizny ciała, co minimalizuje ryzyko bólu pleców oraz przeciążeń. Praktycznym przykładem ergonomicznej pozycji jest ustawienie oparcia w taki sposób, aby jego dolna część była dostosowana do odcinka lędźwiowego. Zgodnie z normami ISO 9241, które dotyczą ergonomii miejsc pracy przy komputerze, krzesło powinno umożliwiać użytkownikowi przyjęcie wygodnej pozycji z podparciem dla dolnej części pleców. W odpowiedniej pozycji stopy powinny spoczywać płasko na podłodze, a kolana powinny być na poziomie bioder, co wspiera prawidłowe krążenie krwi oraz redukuje napięcia mięśniowe.

Pytanie 28

Jakie z wymienionych czynności można zrealizować przy pomocy składnika statycznego danej klasy?

A. Tworzenie prywatnych kopii pól dla każdej instancji
B. Zachowanie wartości wspólnych dla wszystkich instancji klasy
C. Wywołanie destruktora klasy bez jej usuwania
D. Umożliwienie dzielenia pól klasy pomiędzy zaprzyjaźnione klasy
Składnik statyczny klasy przechowuje wartości wspólne dla wszystkich instancji danej klasy. Oznacza to, że niezależnie od liczby utworzonych obiektów, istnieje tylko jedna kopia składowej statycznej, która jest współdzielona przez wszystkie instancje. Składowe statyczne są często wykorzystywane do przechowywania liczników, stałych wartości lub danych konfiguracyjnych. Metody statyczne mogą być wywoływane bezpośrednio na klasie, bez konieczności tworzenia obiektu, co czyni je niezwykle użytecznymi w przypadku funkcji narzędziowych.

Pytanie 29

Jakie są różnice między konstruktorem a zwykłą metodą w klasie?

A. Konstruktor zawsze nosi tę samą nazwę co klasa i nie zwraca wartości
B. Konstruktor powinien zwracać jakąś wartość
C. Konstruktor jest uruchamiany jedynie przez destruktor
D. Konstruktor można wywołać bez konieczności tworzenia obiektu
Konstruktor różni się od zwykłych metod klasy tym, że nosi taką samą nazwę jak klasa i nie zwraca żadnej wartości, nawet `void`. Konstruktor jest wywoływany automatycznie podczas tworzenia obiektu i nie można go wywołać ręcznie jak zwykłą metodę. Jego zadaniem jest inicjalizacja pól obiektu i przygotowanie go do działania. Przykład w C++: `class Samochod { public: Samochod() { marka = "Ford"; } }`. W przeciwieństwie do innych metod konstruktor nie wymaga deklaracji typu zwracanego, co jest jedną z jego najbardziej charakterystycznych cech.

Pytanie 30

Podaj przykład incydentu w miejscu pracy?

A. kontuzja stawu skokowego, która zdarzyła się w trakcie bezpośredniej drogi do miejsca zatrudnienia
B. złe samopoczucie spowodowane przewlekłą chorobą zatrudnionego, które wystąpiło w biurze
C. złamanie nogi w trakcie urlopu wypoczynkowego przyznanego przez pracodawcę
D. oparzenie dłoni, które miało miejsce podczas nieobowiązkowego szkolenia w czasie prywatnym pracownika
Jak dla mnie, to uraz stawu skokowego w drodze do pracy jak najbardziej można uznać za wypadek przy pracy. Wiesz, nawet jeśli to się wydarzy poza firmą, to jeśli szedłeś prosto do niej, to masz prawo do ochrony i świadczeń z ubezpieczenia. To ważne, żeby to wiedzieć.

Pytanie 31

Który z wymienionych terminów dotyczy klasy, która stanowi podstawę dla innych klas, lecz nie może być tworzona w instancji?

A. Klasa statyczna
B. Klasa finalna
C. Klasa pochodna
D. Klasa abstrakcyjna
Klasa abstrakcyjna to klasa, która nie może być instancjonowana i służy jako szablon dla innych klas. Definiuje ona ogólną strukturę oraz interfejs, który klasy pochodne muszą zaimplementować. Klasy abstrakcyjne mogą zawierać zarówno metody z ciałem (zdefiniowane), jak i metody czysto wirtualne (bez implementacji), które muszą być przesłonięte w klasach pochodnych. W C++ deklaracja czysto wirtualnej metody odbywa się za pomocą '= 0'. Klasa abstrakcyjna zapewnia spójność interfejsu i narzuca implementację określonych metod we wszystkich klasach dziedziczących, co prowadzi do bardziej przewidywalnego i bezpiecznego kodu.

Pytanie 32

Mobilna aplikacja przedstawia listę, w której każdy element można dotknąć palcem, aby zobaczyć jego detale. Zdarzenie, które odpowiada tej czynności, to

A. value changed.
B. tapped.
C. button clicked.
D. toggled.
Zdarzenie 'tapped' oznacza, że stuknęliśmy w coś na liście na naszym telefonie. To takie podstawowe zdarzenie, które przydaje się w aplikacjach mobilnych. Dzięki temu możemy wchodzić w interakcje z różnymi elementami, na przykład, gdy klikniemy na coś w liście, pojawią się dodatkowe szczegóły. Ta obsługa zdarzeń 'tap' jest naprawdę ważna w aplikacjach mobilnych, bo to w zasadzie główny sposób, w jaki poruszamy się po interfejsie.

Pytanie 33

Metoda przeszukiwania w uporządkowanych tablicach, która polega na podzieleniu tablicy na kilka części i wykonywaniu wyszukiwania liniowego tylko w tej części, gdzie może znajdować się poszukiwany element, w języku angielskim jest określana jako

A. Ternary search
B. Exponential search
C. Jump search
D. Binary search
Jump Search to metoda wyszukiwania w posortowanych tablicach, polegająca na przeskakiwaniu o określoną liczbę elementów. Jeśli przeskok prowadzi do wartości większej niż szukana, wyszukiwanie kontynuowane jest liniowo od poprzedniego przeskoku. Jest to bardziej efektywne niż liniowe przeszukiwanie, ale mniej efektywne niż wyszukiwanie binarne.

Pytanie 34

Modyfikator dostępu znajdujący się przed definicją metody Dodaj() w klasie Kalkulator sprawia, że:

Ilustracja do pytania
A. nie jest ona osiągalna w klasach, które dziedziczą po klasie Kalkulator
B. nie jest ona dostępna z poziomu klas, które są zaprzyjaźnione z klasą Kalkulator
C. jest ona możliwa do wykorzystania w programie głównym i można ją wywołać na instancji klasy Kalkulator
D. jest ona dostępna zarówno w samej klasie, jak i w klasach dziedziczących po klasie Kalkulator
Modyfikator dostępu w C# to taki fajny element, który pozwala, żeby metoda Dodaj() była dostępna nie tylko w klasie Kalkulator, ale też w klasach, które dziedziczą po niej. To naprawdę ważne w programowaniu obiektowym, bo dzięki temu możesz rozbudowywać funkcje klasy bazowej, nie grzebiąc w jej kodzie. To w sumie daje większą elastyczność i ułatwia ponowne wykorzystywanie fragmentów kodu w różnych częściach aplikacji.

Pytanie 35

Jakie metody można wykorzystać do przechowywania informacji o użytkownikach w aplikacji mobilnej na systemie Android?

A. Tylko w pamięci RAM
B. Za pomocą plików SharedPreferences
C. W rejestrze systemu
D. Wyłącznie w zewnętrznych bazach danych
SharedPreferences to jedno z najprostszych i najczęściej stosowanych narzędzi do przechowywania danych użytkownika w aplikacjach mobilnych na Androidzie. SharedPreferences umożliwia zapisywanie małych porcji danych w postaci par klucz-wartość. Jest to idealne rozwiązanie do przechowywania ustawień użytkownika, preferencji aplikacji oraz stanów interfejsu. Dane przechowywane w SharedPreferences są zapisywane w plikach XML i pozostają na urządzeniu nawet po zamknięciu aplikacji, co czyni je doskonałym narzędziem do przechowywania trwałych informacji. Deweloperzy cenią SharedPreferences za prostotę implementacji i wydajność, co sprawia, że jest to jedno z najbardziej uniwersalnych narzędzi do lokalnego przechowywania danych w aplikacjach mobilnych.

Pytanie 36

Metoda tworzenia algorytmu polegająca na dzieleniu go na dwa lub więcej mniejszych podproblemów, aż do momentu, gdy ich rozwiązanie stanie się proste, jest techniką

A. dziel i zwyciężaj
B. komiwojażera
C. heurystyczną
D. najkrótszej ścieżki
Strategia znana jako 'dziel i zwyciężaj' to sposób, w jaki można podejść do rozwiązywania problemów w algorytmice. Chodzi o to, żeby rozdzielić większy problem na mniejsze kawałki, które są już łatwiejsze do ogarnięcia. Robimy to, aż każdy z tych kawałków da się rozwiązać bez większego trudu. Jak już mamy rozwiązania tych mniejszych problemów, to je łączymy, żeby uzyskać odpowiedź na nasz pierwotny problem. Przykłady? No to mamy algorytm sortowania szybkiego (Quicksort) oraz Mergesort, które świetnie sobie radzą z porządkowaniem danych, dzieląc je na mniejsze części. Jak patrzy się na to z perspektywy analizy algorytmów, to ta strategia często prowadzi do lepszej złożoności obliczeniowej, co sprawia, że jest naprawdę przydatna w praktyce, zwłaszcza w informatyce. W książce Cormena i innych, 'Introduction to Algorithms', można znaleźć sporo informacji na temat tych metod i ich zastosowań, co czyni je naprawdę istotnymi w obszarze programowania i analizy danych.

Pytanie 37

Który z wymienionych elementów stanowi przykład złożonego typu danych?

A. char
B. int
C. bool
D. struct
Typ 'struct' w C++ to super sprawa, bo pozwala na trzymanie różnych danych pod jedną nazwą. Dzięki temu można łatwo zorganizować zmienne, które różnią się typami. Wyobraź sobie, że możesz stworzyć strukturę, która będzie reprezentować na przykład samochód z jego marką, rocznikiem i ceną. To naprawdę ułatwia pracę z danymi! Każde pole w strukturze może mieć inny typ, co czyni 'struct' bardzo uniwersalnym narzędziem do modelowania różnych obiektów, jak ludzie czy produkty. W zasadzie, to takie logiczne pudełko, do którego wrzucasz różne informacje i masz do nich szybki dostęp.

Pytanie 38

Które z wymienionych sytuacji jest przykładem hermetyzacji w programowaniu obiektowym?

A. Ograniczenie dostępu do pól klasy poprzez modyfikatory dostępu
B. Tworzenie klasy abstrakcyjnej
C. Tworzenie wielu metod o tej samej nazwie w różnych klasach
D. Wykorzystanie klasy nadrzędnej w innej klasie
Hermetyzacja (ang. encapsulation) to mechanizm programowania obiektowego, który polega na ukrywaniu wewnętrznych danych obiektu oraz udostępnianiu dostępu do nich tylko za pośrednictwem metod publicznych (gettery i settery). Dzięki hermetyzacji dane klasy są chronione przed bezpośrednią modyfikacją, co zwiększa bezpieczeństwo i stabilność kodu. Przykład w C++: `class Konto { private: double saldo; public: void wplata(double kwota) { saldo += kwota; } }` – saldo jest polem prywatnym, które można modyfikować tylko poprzez metody publiczne, co zapobiega nieautoryzowanemu dostępowi.

Pytanie 39

W wyniku realizacji zaprezentowanego kodu na ekranie pojawią się

Ilustracja do pytania
A. elementy tablicy o indeksach: 1, 2, 4, 5, 7, 8
B. wszystkie elementy tablicy, które są wielokrotnością 3
C. elementy z indeksów tablicy, które są podzielne przez 3
D. wszystkie elementy tablicy, które mają wartość nieparzystą
Kod pokazuje elementy tablicy, które mają konkretne indeksy, takie jak 1, 2, 4, 5, 7 i 8. To efekt przechodzenia przez tablicę i wybierania tylko tych elementów, które spełniają określone warunki. Filtrowanie tablic w ten sposób jest dość powszechne w programowaniu, więc to całkiem popularna technika.

Pytanie 40

Który komponent systemu komputerowego zajmuje się transferem danych pomiędzy procesorem a pamięcią RAM?

A. Kontroler DMA
B. Zasilacz
C. Mostek północny (Northbridge)
D. Karta graficzna
Mostek północny, znany również jako Northbridge, jest kluczowym elementem architektury komputerowej, który odpowiada za komunikację pomiędzy procesorem a pamięcią RAM. Jego głównym zadaniem jest koordynowanie przepływu danych w systemie oraz zapewnienie szybkiego dostępu do pamięci, co jest niezbędne dla wydajności całego systemu. Mostek północny jest odpowiedzialny za zarządzanie magistralami danych, a także interfejsami, takimi jak PCI Express, które łączą różne komponenty. Dzięki zastosowaniu standardów, takich jak DDR (Double Data Rate), mostek północny umożliwia efektywne przesyłanie danych w wysokiej prędkości. Praktycznym przykładem działania mostka północnego jest sytuacja, kiedy procesor potrzebuje załadować dane z pamięci RAM do rejestrów – mostek północny zarządza tym procesem, minimalizując opóźnienia i maksymalizując wydajność. W nowoczesnych systemach komputerowych mostek północny jest często zintegrowany z procesorem, co dodatkowo zwiększa efektywność komunikacji oraz zmniejsza czas dostępu do danych.