Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Jakie z wymienionych funkcji są typowe dla narzędzi służących do zarządzania projektami?

A. Przeprowadzanie analizy statystycznej
B. Opracowywanie diagramów przepływu
C. Tworzenie interfejsu użytkownika
D. Nadzorowanie postępu realizacji
Monitorowanie postępu prac to jedna z kluczowych funkcji narzędzi do zarządzania projektami. Dzięki temu zespoły mogą śledzić realizację zadań, identyfikować opóźnienia oraz efektywnie alokować zasoby. Narzędzia takie jak Jira, Trello czy Asana pozwalają na wizualizację postępów, co ułatwia kontrolowanie harmonogramu oraz planowanie kolejnych etapów projektu. Monitorowanie postępu prac pomaga także w wykrywaniu wąskich gardeł i umożliwia szybkie podejmowanie decyzji, co znacząco zwiększa efektywność całego zespołu. Funkcja ta jest szczególnie istotna w zarządzaniu projektami IT, budowlanymi i kreatywnymi, gdzie koordynacja wielu zadań jest kluczowa dla sukcesu projektu.

Pytanie 2

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

A. Wywołanie destruktora klasy bez jej usuwania
B. Umożliwienie dzielenia pól klasy pomiędzy zaprzyjaźnione klasy
C. Zachowanie wartości wspólnych dla wszystkich instancji klasy
D. Tworzenie prywatnych kopii pól dla każdej instancji
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 3

Jakie narzędzie jest wykorzystywane do zgłaszania błędów w projektach IT?

A. JIRA
B. Git
C. Photoshop
D. Blender
JIRA to jedno z najczęściej wykorzystywanych narzędzi do zarządzania projektami i raportowania błędów w projektach informatycznych. JIRA umożliwia śledzenie błędów, zarządzanie zadaniami oraz efektywne monitorowanie postępów prac nad projektem. Dzięki integracji z innymi narzędziami, takimi jak Confluence czy Bitbucket, JIRA stanowi kompleksowe rozwiązanie wspierające zespoły deweloperskie. Raportowanie błędów w JIRA pozwala na łatwe przypisywanie ich do odpowiednich członków zespołu, dodawanie załączników i komentarzy oraz monitorowanie statusu danego problemu, co usprawnia proces zarządzania jakością oprogramowania.

Pytanie 4

Wskaż algorytm sortowania, który nie jest stabilny?

A. sortowanie bąbelkowe
B. sortowanie przez zliczanie
C. sortowanie przez wstawianie
D. sortowanie szybkie
Sortowanie bąbelkowe (Bubble Sort) jest stabilne, ponieważ nie zmienia kolejności elementów o równej wartości. Sortowanie przez wstawianie (Insertion Sort) również zachowuje stabilność. Sortowanie przez zliczanie (Counting Sort) to algorytm stabilny, szczególnie efektywny dla danych o ograniczonym zakresie wartości.

Pytanie 5

Podana deklaracja zmiennych w języku JAVA zawiera

Ilustracja do pytania
A. jedną zmienną typu tekstowego, jedną rzeczywistą, jedną całkowitą, jedną znakową oraz jedną logiczną
B. dwie zmienne typu tekstowego, dwie całkowite oraz jedną logiczną
C. dwie zmienne o typie strukturalnym
D. jedną zmienną typu tekstowego, dwie całkowite, jedną znakową i jedną logiczną
Deklaracja obejmuje jedną zmienną typu napisowego (String), dwie typu całkowitego (int), jedną znakowego (char) oraz jedną logiczną (boolean). Takie zróżnicowanie pozwala na przechowywanie różnych rodzajów danych w jednej klasie lub metodzie.

Pytanie 6

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. zespół suchego oka
B. Dyskopatia
C. kifoza
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 7

Algorytm wyszukiwania sekwencyjnego z wykorzystaniem wartownika opiera się na założeniu, że

A. zbiór danych wejściowych musi być uporządkowany
B. szukany element powinien wystąpić wielokrotnie w zbiorze
C. zbiór ma zawsze 100 elementów
D. na końcu analizowanego zbioru należy dodać wartownika
Algorytm sekwencyjnego wyszukiwania elementu z wartownikiem jest techniką optymalizacji procesu wyszukiwania w strukturach danych, która znacząco zwiększa efektywność operacji w przypadkach, gdy zbiór danych jest duży. Wartownik to specjalny element, który jest dodawany na końcu przeszukiwanego zbioru, co pozwala na uproszczenie warunków zakończenia pętli przeszukiwania. Kiedy algorytm przeszukuje zbiór, porównuje każdy element z poszukiwanym, a gdy znajdzie element, może zakończyć działanie. Dodanie wartownika pozwala uniknąć potrzeby sprawdzania, czy aktualnie przeszukiwany element jest ostatnim z oryginalnego zbioru, co z kolei zmniejsza liczbę porównań i przyspiesza proces wyszukiwania. W praktyce algorytm ten jest szczególnie użyteczny w przypadku niewielkich zbiorów danych, gdzie efektywność jest kluczowa. Przykładem zastosowania może być edytor tekstu, w którym użytkownik wyszukuje konkretne słowa w dokumencie, a dodanie wartownika usprawnia ten proces. Zgodnie z zasadami wydajnego programowania, ta technika stanowi jeden z podstawowych mechanizmów stosowanych w algorytmice, co czyni ją fundamentalnym konceptem w nauce o komputerach.

Pytanie 8

Jak najlepiej przełożyć oczekiwania klienta na dokumentację techniczną dla programistów?

A. Tworząc szczegółowy dokument z funkcjami oraz wymaganiami technicznymi
B. Opracowując wizualne makiety bez dokładnych opisów
C. Rozmawiając wyłącznie z zespołem programistów
D. Pomijając szczegółowe wymagania techniczne
Sporządzenie szczegółowego dokumentu z funkcjami i wymaganiami technicznymi to najlepszy sposób na przełożenie wymagań klienta na specyfikację techniczną. Dokumentacja techniczna jest podstawą do stworzenia aplikacji zgodnej z oczekiwaniami klienta i pozwala na precyzyjne określenie zakresu prac. Zawiera ona opisy funkcjonalności, diagramy architektury, wymagania dotyczące wydajności oraz harmonogram wdrożenia, co minimalizuje ryzyko błędów i nieporozumień podczas realizacji projektu.

Pytanie 9

Jakie obliczenia można wykonać za pomocą poniższego algorytmu, który operuje na dodatnich liczbach całkowitych?

Ilustracja do pytania
A. sumę cyfr wprowadzonej liczby
B. liczbę cyfr w wprowadzonej liczbie
C. największy wspólny dzielnik wprowadzonej liczby
D. sumę wprowadzonych liczb
Algorytm oblicza liczbę cyfr we wczytanej liczbie całkowitej. Iteracyjnie dzieli liczbę przez 10, licząc, ile razy można to zrobić, zanim wynik będzie równy 0. Jest to standardowa metoda na określenie długości liczby w systemie dziesiętnym.

Pytanie 10

Oznaczenie ochrony przeciwpożarowej przedstawione na symbolu wskazuje na

Ilustracja do pytania
A. przełącznik zasilania
B. rozdzielnię elektryczną
C. punkt remote release
D. system alarmowy przeciwpożarowy
Ten symbol to alarm pożarowy. Jest naprawdę ważny w systemach przeciwpożarowych, bo pozwala szybko dać znać o zagrożeniu. Dzięki temu można dużo szybciej zadbać o bezpieczeństwo w różnych budynkach.

Pytanie 11

Jakie są kluczowe etapy realizacji projektu programistycznego?

A. Projektowanie, testowanie, aktualizacja, implementacja
B. Analiza, implementacja, testowanie, aktualizacja
C. Planowanie, analiza, implementacja, wdrożenie
D. Planowanie, projektowanie, debugowanie, konserwacja
Podstawowe fazy realizacji projektu programistycznego to: planowanie, analiza, implementacja i wdrożenie. Planowanie pozwala na ustalenie celów i zasobów, analiza definiuje wymagania, implementacja to właściwy proces tworzenia kodu, a wdrożenie polega na uruchomieniu produktu w środowisku produkcyjnym. Ten klasyczny podział jest stosowany zarówno w tradycyjnych modelach, takich jak Waterfall, jak i w nowoczesnych metodach Agile, gdzie fazy mogą być bardziej iteracyjne. Odpowiednie zarządzanie każdą z tych faz minimalizuje ryzyko błędów i zwiększa efektywność zespołu.

Pytanie 12

W jaki sposób można ograniczyć problemy społeczne wynikające z nadmiernego używania internetu?

A. Zwiększać czas spędzany przy ekranie
B. Całkowicie wycofać się z aktywności wirtualnych
C. Unikać spotkań z ludźmi w realnym świecie
D. Zachować równowagę pomiędzy relacjami w sieci a tymi w rzeczywistości
Utrzymywanie równowagi między relacjami online i offline to kluczowy element zapobiegania problemom społecznym wynikającym z nadmiernego korzystania z internetu. Przeplatanie kontaktów wirtualnych z interakcjami twarzą w twarz wzmacnia więzi społeczne i poprawia umiejętności komunikacyjne. Równowaga między życiem cyfrowym a rzeczywistym pozwala unikać izolacji społecznej i wspiera rozwój empatii oraz zdolności interpersonalnych. Jest to szczególnie ważne w kontekście młodzieży, która może być bardziej podatna na negatywne skutki nadmiernej ekspozycji na treści online.

Pytanie 13

W celu wdrożenia w aplikacji internetowej mechanizmu zbierania danych statystycznych na komputerach użytkowników, można użyć

A. buforowanie
B. formulacje
C. sesje
D. ciasteczka
Ciasteczka (cookies) to mechanizm przechowywania danych na komputerze użytkownika, który pozwala na gromadzenie statystyk, personalizację treści i śledzenie aktywności użytkownika. Jest to powszechne rozwiązanie w aplikacjach webowych.

Pytanie 14

W programowaniu obiektowym odpowiednikami zmiennych oraz funkcji w programowaniu strukturalnym są

A. pola i metody
B. hermetyzacja oraz dziedziczenie
C. metody statyczne i abstrakcyjne
D. pola i kwalifikatory dostępu
Odpowiednikami zmiennych i funkcji w programowaniu obiektowym są pola i metody. Pola przechowują dane (stan obiektu), a metody implementują logikę, pozwalając na manipulowanie tymi danymi i realizację zachowań klasy.

Pytanie 15

Jaką strukturę danych obrazuje zamieszczony kod w języku C#?

Ilustracja do pytania
A. tablicę dwuwymiarową
B. tablicę jednowymiarową
C. stos
D. listę
Kod w języku C# reprezentuje tablicę dwuwymiarową, która jest deklarowana za pomocą podwójnych nawiasów kwadratowych. Tablica taka pozwala na przechowywanie danych w formie macierzy.

Pytanie 16

Programista umieścił poniższą linię kodu w pliku HTML, aby

Ilustracja do pytania
A. zadeklarować własną funkcję JavaScript o nazwie min.js
B. pobrać z Internetu w momencie otwierania strony i użyć biblioteki jQuery
C. skorzystać z funkcji biblioteki jQuery, która była wcześniej pobrana i zapisana lokalnie
D. wstawić kod JavaScript pomiędzy znacznikami <script></script>
Kod HTML jest często używany do włączania zewnętrznych bibliotek JavaScript, takich jak jQuery, które zostały wcześniej pobrane i zapisane lokalnie na serwerze. W tym przypadku atrybut src w znaczniku script wskazuje na lokalnie przechowywany plik jQuery, co oznacza, że przeglądarka załaduje bibliotekę z serwera, na którym znajduje się nasza strona. Korzystanie z lokalnych kopii bibliotek jest dobrą praktyką w przypadku ograniczonego lub niestabilnego dostępu do internetu, ponieważ gwarantuje dostępność bibliotek niezależnie od zewnętrznych źródeł. Zaletą tego rozwiązania jest redukcja potencjalnych opóźnień w ładowaniu strony, ponieważ plik jest już dostępny na tym samym serwerze. Użycie lokalnych plików jest również korzystne z punktu widzenia bezpieczeństwa, gdyż pozwala kontrolować dokładną wersję załadowanej biblioteki i uniknąć potencjalnych zagrożeń wynikających z modyfikacji zewnętrznych plików. W praktyce, programiści często łączą lokalne i zdalne zasoby, wybierając odpowiednią metodę w zależności od potrzeb projektu i dostępnych zasobów sieciowych.

Pytanie 17

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

Ilustracja do pytania
A. Przyciski radio-button są organizowane w elemencie o nazwie <radio-group>
B. Etykieta (label) może być umieszczona wyłącznie po przycisku radio-button
C. Wartość właściwości value grupy radio przechowuje tekst etykiety dla każdego radio-button
D. Właściwość labelPosition może przyjmować jedną z dwóch opcji
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 18

Jakie znaczenie ma termin "hierarchia dziedziczenia" w kontekście programowania obiektowego?

A. Zbiór klas, które nie mają wspólnych powiązań
B. Układ klas, który ogranicza występowanie dziedziczenia wielokrotnego
C. Układ klas w strukturę, w której klasy pochodne dziedziczą cechy od klas bazowych
D. Zespół metod i pól posiadających ten sam modyfikator dostępu
Hierarchia dziedziczenia to fundamentalna koncepcja programowania obiektowego, polegająca na organizacji klas w strukturę, w której klasy pochodne dziedziczą właściwości (pola i metody) od klas bazowych. Pozwala to na wielokrotne wykorzystanie kodu, co zwiększa jego modularność i zmniejsza redundancję. Klasa bazowa dostarcza ogólne cechy i metody, podczas gdy klasy pochodne rozszerzają lub modyfikują tę funkcjonalność, dostosowując ją do bardziej specyficznych wymagań. Przykładem jest klasa 'Pojazd', po której mogą dziedziczyć klasy 'Samochód' i 'Motocykl', zachowując wspólne atrybuty, takie jak 'maksymalna prędkość' czy 'masa'.

Pytanie 19

Jaką cechą charakteryzuje się sieć asynchroniczna?

A. Wymaga synchronizacji zegarów
B. Dane są przesyłane jedynie w określonych przedziałach czasowych
C. Dane są przesyłane w sposób nieciągły, bez synchronizacji zegarów
D. Jest bardziej niezawodna od sieci synchronicznej
Sieci asynchroniczne to rodzaj systemów komunikacyjnych, w których dane są przesyłane w sposób nieciągły, co oznacza, że nie wymagają one synchronizacji zegarów pomiędzy urządzeniami. W takich sieciach, każda jednostka przesyła dane w dowolnym momencie, co zwiększa elastyczność i efektywność komunikacji. Przykładem zastosowania sieci asynchronicznych są systemy oparte na protokołach, takich jak UART (Universal Asynchronous Receiver-Transmitter), które są powszechnie używane w mikrokomputerach oraz różnych urządzeniach elektronicznych. W kontekście standardów, sieci asynchroniczne są często stosowane w komunikacji szeregowej, gdzie dane są przesyłane bez ustalonych ram czasowych, co pozwala na redukcję opóźnień i zwiększenie przepustowości. W praktyce, taki model komunikacji jest idealny w sytuacjach, gdzie ciągłość przesyłu danych nie jest kluczowa, jak w przypadku transmisji danych z czujników czy urządzeń IoT, gdzie urządzenia mogą nadawać dane, gdy są gotowe, a nie w ustalonych interwałach czasowych.

Pytanie 20

Która z niżej wymienionych pozycji jest ekwiwalentem biblioteki jQuery?

A. Bootstrap
B. TypeScript
C. Express.js
D. Lodash
Bootstrap to framework CSS, który służy do stylizacji i tworzenia responsywnych interfejsów użytkownika, ale nie oferuje narzędzi do manipulacji danymi jak Lodash. TypeScript to język programowania, który rozszerza JavaScript o statyczne typowanie, ale nie pełni roli biblioteki do manipulacji obiektami i tablicami. Express.js to minimalny framework do budowy serwerów w Node.js i nie ma zastosowania w kontekście manipulacji danymi na poziomie frontendowym, jak ma to miejsce w przypadku Lodash.

Pytanie 21

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

Ilustracja do pytania
A. naciśnięcia przycisku
B. wybór daty
C. zmiany w polu tekstowym
D. zmiany stanu kontrolki Switch
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 22

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

A. Gdy poszkodowany jest świadomy, lecz ma uraz kończyny
B. Gdy poszkodowany cierpi na krwotok zewnętrzny
C. Gdy poszkodowany nie oddycha
D. Gdy poszkodowany jest nieprzytomny, ale oddycha
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 23

Która z funkcji powinna zostać zrealizowana w warstwie back-end aplikacji webowej?

A. wyświetlanie danych z formularza w przeglądarce
B. sprawdzanie formularzy w czasie rzeczywistym
C. zarządzanie zdarzeniami elementów
D. zarządzanie bazą danych
Obsługa bazy danych jest fundamentalną częścią warstwy back-end w aplikacjach internetowych. Backend odpowiada za przetwarzanie logiki biznesowej, przechowywanie i zarządzanie danymi, a także komunikację z bazą danych. Dane przesyłane z front-endu (interfejsu użytkownika) są walidowane i przetwarzane po stronie serwera, zanim trafią do bazy danych lub zostaną zwrócone użytkownikowi. W przypadku aplikacji dynamicznych, serwer pobiera informacje z bazy danych, przekształca je zgodnie z wymogami aplikacji i przesyła z powrotem na front-end. Właściwe zarządzanie danymi i bezpieczeństwo operacji na bazie danych to kluczowe zadania back-endu. Równie ważne jest zapobieganie wstrzykiwaniu SQL (SQL Injection) i zapewnienie integralności danych, co stanowi podstawę skalowalnych i bezpiecznych aplikacji.

Pytanie 24

Wskaż poprawny komentarz jednoliniowy, który można dodać w linii 3 w miejscu znaków zapytania, aby był zgodny ze składnią i opisywał operację przeprowadzoną w tej linii?

Ilustracja do pytania
A. // wyswietlenie elementu tablicy
B. // wypełnienie elementu tablicy
C. # wypełnienie elementu tablicy
D. # wyswietlenie elementu tablicy
Odpowiedź // wyswietlenie elementu tablicy jest poprawna, ponieważ komentarze jednoliniowe w języku C# rozpoczynają się od dwóch ukośników: //. W tym przypadku linia Console.WriteLine(i); odpowiedzialna jest za wyświetlenie elementu tablicy na konsoli. Komentarz ten poprawnie opisuje, co robi dana linia kodu, co jest dobrą praktyką w programowaniu, ponieważ ułatwia zrozumienie funkcji kodu innym programistom lub nawet nam samym w przyszłości. Komentarze są szczególnie przydatne, gdy kod jest skomplikowany i wymaga wyjaśnień. Warto zawsze stosować komentarze, by opisywały one istotne fragmenty kodu, co znacząco zwiększa jego czytelność i utrzymywalność. Praktyka dodawania takich opisów jest zgodna z zasadami czystego kodu, które promują czytelność i zrozumiałość. Dzięki takim komentarzom osoby przeglądające kod mogą szybko zorientować się, jakie funkcje pełnią poszczególne jego fragmenty, co usprawnia proces debugowania i dalszego rozwoju oprogramowania.

Pytanie 25

W klasie o nazwie samochod przypisano atrybuty: marka, rocznik, parametry[]. Atrybuty te powinny zostać zdefiniowane jako

A. funkcje
B. metody
C. interfejsy
D. pola
Pola klasy to jej atrybuty, które przechowują dane dotyczące obiektów. Definiują one stan obiektu i mogą przyjmować różne wartości w zależności od instancji klasy. W przypadku klasy samochod cechy takie jak marka, rocznik czy parametry to właśnie pola, które odzwierciedlają właściwości poszczególnych obiektów.

Pytanie 26

Zasada programowania obiektowego, która polega na ukrywaniu elementów klasy tak, aby były one dostępne wyłącznie dla metod tej klasy lub funkcji zaprzyjaźnionych, to

A. dziedziczenie
B. polimorfizm
C. wyjątki
D. hermetyzacja
Hermetyzacja (enkapsulacja) to zasada programowania obiektowego polegająca na ukrywaniu wewnętrznych składowych klasy przed innymi klasami i udostępnianiu ich tylko poprzez publiczne metody (gettery i settery). Dzięki temu ogranicza się dostęp do danych i chroni je przed nieautoryzowaną modyfikacją, co zwiększa bezpieczeństwo i czytelność kodu.

Pytanie 27

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. zmiennoprzecinkowy
B. łańcuchowym
C. stałoprzecinkowy
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 28

Jaki jest wymagany sposób do realizacji algorytmu sortowania bąbelkowego na n-elementowej tablicy?

A. n-liczby warunków
B. dwie pętle działające na najwyżej n-elementach każda
C. jedna pętla operująca na 2n elementach oraz warunek
D. dwie pętle funkcjonujące na co najmniej (n+1) elementach każda
Aby zaimplementować algorytm sortowania bąbelkowego, potrzebne są dwie pętle iteracyjne, które porównują i zamieniają miejscami elementy tablicy. Zewnętrzna pętla iteruje po całej tablicy, natomiast wewnętrzna pętla wykonuje kolejne porównania i przestawia elementy, jeśli są one w nieprawidłowej kolejności. Algorytm sortowania bąbelkowego charakteryzuje się prostotą, ale jego złożoność obliczeniowa wynosi O(n²), co czyni go mało efektywnym dla dużych zbiorów danych. Niemniej jednak, jest to jedno z pierwszych ćwiczeń programistycznych, które wprowadza do zagadnień algorytmicznych i uczy podstaw iteracji oraz manipulacji tablicami. Pomimo swojej niskiej wydajności, sortowanie bąbelkowe jest często wykorzystywane do celów edukacyjnych oraz w przypadkach, gdy prostota implementacji ma większe znaczenie niż szybkość działania.

Pytanie 29

Przykład wywołania funkcji zamien w języku C++ może wyglądać w następujący sposób

Ilustracja do pytania
A. zamien(*a, *b); //a,b - zmienne całkowite
B. zamien(12, 34)
C. zamien(&a, &b); //x,y - zmienne całkowite
D. zamien(m,n); //m,n - zmienne całkowite
Wywołanie funkcji 'zamien' w formie zamien(&a, &b) jest poprawne, ponieważ przekazuje adresy zmiennych jako argumenty, co pozwala na modyfikację ich wartości w funkcji. Jest to standardowa technika używana w języku C++ do przekazywania parametrów przez wskaźniki lub referencje.

Pytanie 30

Algorytmy, które są wykorzystywane do rozwiązywania problemów przybliżonych lub takich, które nie mogą być opisane za pomocą algorytmu dokładnego, na przykład w prognozowaniu pogody czy identyfikacji nowych wirusów komputerowych, to algorytmy.

A. rekurencyjne
B. liniowe
C. iteracyjne
D. heurystyczne
Algorytmy heurystyczne są metodami rozwiązywania problemów, które są stosowane w sytuacjach, gdy nie ma jednoznacznego algorytmu dokładnego lub gdy problem jest zbyt skomplikowany, aby można go było rozwiązać w rozsądnym czasie. Przykłady zastosowań algorytmów heurystycznych obejmują przewidywanie pogody, gdzie różne modele atmosferyczne mogą być łączone w celu uzyskania lepszej prognozy, oraz rozpoznawanie nowych wirusów komputerowych, gdzie algorytmy heurystyczne pozwalają na identyfikację wzorców i anomalii w zachowaniu oprogramowania. Algorytmy te różnią się od tradycyjnych algorytmów liniowych, które działają na podstawie z góry określonych kroków oraz algorytmów rekurencyjnych, które polegają na rozwiązywaniu problemu poprzez dzielenie go na mniejsze podproblemy. Heurystyki są bardziej elastyczne, ponieważ pozwalają na zastosowanie intuicji i doświadczenia w procesie rozwiązywania. W praktyce algorytmy heurystyczne często łączą różne podejścia, aby uzyskać wyniki, które są wystarczająco dobre w krótkim czasie, co czyni je idealnymi do zastosowania w dynamicznie zmieniających się dziedzinach, takich jak analiza danych i sztuczna inteligencja.

Pytanie 31

Jakie jest zastosowanie iteratora w zbiorach?

A. Do iterowania po elementach zbioru
B. Do generowania kopii zbiorów
C. Do zmiany rodzaju zbioru w trakcie działania aplikacji
D. Do usuwania elementów ze zbioru
Tworzenie kopii kolekcji to operacja duplikacji danych i nie wymaga iteratorów. Usuwanie elementów z kolekcji może być realizowane przy pomocy iteratora, ale nie jest to jego główna funkcja. Zmiana typu kolekcji to operacja, która często wymaga konwersji lub transformacji, ale iterator nie służy do zmiany typów danych, a jedynie do iteracji po elementach kolekcji.

Pytanie 32

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

A. W rejestrze systemu
B. Tylko w pamięci RAM
C. Za pomocą plików SharedPreferences
D. Wyłącznie w zewnętrznych bazach danych
Przechowywanie danych w rejestrze systemu jest typowe dla aplikacji desktopowych działających na systemach Windows i nie znajduje zastosowania w środowisku Android. Zewnętrzne bazy danych są używane do przechowywania dużych ilości danych, ale nie są optymalnym rozwiązaniem dla prostych preferencji użytkownika, ponieważ wymagają bardziej skomplikowanej konfiguracji. Przechowywanie danych wyłącznie w pamięci RAM jest rozwiązaniem tymczasowym – dane te są tracone po zamknięciu aplikacji lub ponownym uruchomieniu urządzenia, co czyni je niepraktycznymi do przechowywania trwałych ustawień użytkownika.

Pytanie 33

Który z wymienionych poniżej wzorców projektowych można zakwalifikować jako wzorzec strukturalny?

A. Fabryka abstrakcyjna (Abstract Factory)
B. Metoda szablonowa (Template method)
C. Obserwator (Observer)
D. Fasada (Facade)
Metoda Szablonowa (Template Method) to wzorzec behawioralny, który definiuje sposób realizacji algorytmu. Fabryka Abstrakcyjna (Abstract Factory) to wzorzec kreacyjny, który koncentruje się na tworzeniu obiektów bez określania ich konkretnych klas. Wzorzec Obserwator (Observer) to wzorzec behawioralny, który umożliwia powiadamianie obiektów o zmianach stanu innego obiektu, co jest kluczowe w implementacji reaktywnych systemów, ale nie jest przykładem wzorca strukturalnego.

Pytanie 34

Co to jest choroba związana z wykonywaniem zawodu?

A. Stan zdrowia, który uniemożliwia pracę przez okres krótszy niż tydzień
B. Choroba występująca tylko w sektorze przemysłowym
C. Choroba wynikająca z warunków pracy lub związanych z nimi czynników
D. Każda choroba, która występuje w czasie pracy
Choroba zawodowa to stan zdrowotny spowodowany warunkami pracy lub czynnikami związanymi z wykonywaną profesją. Najczęściej wynika z długotrwałego narażenia na szkodliwe substancje, hałas, promieniowanie, pyły lub wykonywanie powtarzalnych czynności. Przykładem chorób zawodowych są pylica płuc, głuchota zawodowa czy zespół cieśni nadgarstka. Kluczowym elementem w zapobieganiu chorobom zawodowym jest odpowiednia profilaktyka, szkolenia BHP oraz dostosowanie środowiska pracy do zasad ergonomii. Pracodawcy są zobowiązani do monitorowania warunków pracy i wdrażania rozwiązań minimalizujących ryzyko wystąpienia chorób zawodowych.

Pytanie 35

W dwóch przypadkach opisano mechanizm znany jako Binding. Jego celem jest

Ilustracja do pytania
A. wiązanie oraz eksportowanie plików z różnych modułów aplikacji
B. przetwarzanie zdarzeń kontrolek interfejsu użytkownika przez wywoływanie odpowiednich funkcji
C. wiązać właściwości (property) elementu interfejsu użytkownika z danymi lub właściwością innego obiektu
D. zarządzanie mechanizmem obietnic (promises) lub obserwatora (observable) w programowaniu asynchronicznym
Binding (wiązanie danych) to mechanizm wiązania właściwości elementu interfejsu użytkownika z danymi lub właściwościami innego obiektu. Umożliwia to automatyczne aktualizowanie UI po zmianie danych. Jest to kluczowa funkcjonalność w nowoczesnych frameworkach front-end, takich jak Angular czy Vue, która pozwala na dynamiczne aktualizowanie widoków bez konieczności ręcznego manipulowania DOM.

Pytanie 36

Który z wymienionych mechanizmów pozwala na monitorowanie stanu użytkownika w trakcie sesji w aplikacji internetowej?

A. Sesje (Sessions)
B. CSS Selectors
C. HTML Forms
D. HTTP Headers
Sesje (sessions) to mechanizm wykorzystywany w aplikacjach webowych do śledzenia stanu użytkownika podczas sesji przeglądania. Sesje umożliwiają przechowywanie danych użytkownika na serwerze przez określony czas i identyfikowanie go za pomocą unikalnego identyfikatora (session ID), który jest zwykle przechowywany w ciasteczkach. Mechanizm sesji pozwala na implementację logowania, koszyków zakupowych oraz innych funkcji, które wymagają zachowania stanu między żądaniami HTTP. Sesje są kluczowe dla aplikacji wymagających autoryzacji i autentykacji, ponieważ umożliwiają śledzenie działań użytkownika bez konieczności wielokrotnego logowania. Zastosowanie sesji w aplikacjach zwiększa bezpieczeństwo i poprawia komfort użytkowania, a także umożliwia personalizację treści w czasie rzeczywistym.

Pytanie 37

Jakiego rodzaju zmiennej użyjesz w C++, aby przechować wartość "true"?

A. liczba całkowita
B. tekst
C. bool
D. liczba zmiennoprzecinkowa
Typ danych 'bool' w języku C++ jest przeznaczony do przechowywania wartości 'true' lub 'false'. Deklaracja 'bool isReady = true;' to przykład poprawnego przypisania wartości logicznej do zmiennej. Typ boolean jest kluczowy w warunkach decyzyjnych, pętlach i operacjach porównawczych. W programowaniu typ 'bool' jest wykorzystywany do kontroli przepływu programu, obsługi wyjątków oraz sprawdzania poprawności danych. Użycie booleanów w kodzie zwiększa jego czytelność i pozwala na bardziej przejrzyste budowanie logiki aplikacji.

Pytanie 38

W językach C++ bądź C# termin virtual można wykorzystywać w kontekście

A. metod klasy
B. destruktorów
C. atrybutów klasy
D. funkcji zaprzyjaźnionych
Virtual nie jest stosowany do pól klasy, ponieważ pola nie mogą być wirtualne. Konstruktorzy również nie mogą być wirtualni – choć można ich wywoływać przez wskaźnik do klasy bazowej, ich implementacja nie jest polimorficzna. Funkcje zaprzyjaźnione (friend) nie mogą być wirtualne, ponieważ nie są składowymi klasy.

Pytanie 39

Które z wymienionych praw autorskich nie wygasa po pewnym czasie?

A. Autorskie prawa majątkowe
B. Prawa pokrewne
C. Autorskie prawa osobiste
D. Licencje wolnego oprogramowania
Autorskie prawa osobiste to rodzaj praw autorskich, które nie wygasają po upływie określonego czasu i są bezterminowe. Obejmują one prawo do autorstwa, oznaczania dzieła swoim nazwiskiem oraz sprzeciwiania się wszelkim zmianom, które mogłyby naruszać reputację twórcy. Prawa osobiste są niezbywalne, co oznacza, że nie można ich przenieść na inną osobę ani sprzedać. Nawet po śmierci twórcy, prawo do ochrony integralności jego dzieła jest respektowane. W praktyce oznacza to, że choć prawa majątkowe mogą wygasnąć (np. po 70 latach od śmierci autora), prawo do bycia uznanym za twórcę trwa wiecznie.

Pytanie 40

W systemie RGB kolor Pale Green przedstawia się jako RGB(152, 251, 152). Jaki jest szesnastkowy kod tego koloru?

A. AO FB AO
B. 98 FE98
C. AO FE AO
D. 98FB98
Kolor Pale Green w systemie RGB jest reprezentowany przez wartości RGB(152, 251, 152). Aby przekształcić te wartości na format szesnastkowy, należy każdy z komponentów koloru (czerwony, zielony, niebieski) przekształcić na format heksadecymalny. Wartość 152 w systemie dziesiętnym odpowiada 98 w systemie szesnastkowym, a 251 w systemie dziesiętnym odpowiada FE w systemie szesnastkowym. Dlatego, łącząc te wartości w kolejności od komponentu czerwonego, zielonego, do niebieskiego, uzyskujemy kod szesnastkowy 98FE98. Kod ten może być używany w projektach graficznych oraz w CSS do definiowania kolorów tła, tekstów i innych elementów. Użycie formatu szesnastkowego w projektowaniu stron internetowych oraz w aplikacjach jest zgodne z zasadami standardu W3C dotyczącego kolorów w HTML i CSS, co zapewnia spójność wizualną i ułatwia pracę z kolorami.