Wyniki egzaminu

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

Egzamin zdany!

Wynik: 25/40 punktów (62,5%)

Wymagane minimum: 20 punktów (50%)

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

Teoria wyznaczania celów definiuje właściwie sformułowany cel jako SMART, od pierwszych liter słów: specyficzny, Mierzalny, Ambitny, Realny oraz Terminowy. Wskaź, który cel wymaga wysiłku i stanowi wyzwanie dla pracownika?

A. Mierzalny
B. Terminowy
C. Ambitny
D. Specyficzny
Cel ambitny (Achievable) w kontekście teorii SMART oznacza taki, który wymaga wysiłku i stanowi wyzwanie, ale jednocześnie jest osiągalny. Cele ambitne motywują pracowników do działania i podnoszenia swoich kwalifikacji, co prowadzi do rozwoju zawodowego.

Pytanie 2

Jaką funkcję spełniają atrybuty klasy w programowaniu obiektowym?

A. Zawierają informacje opisujące stan obiektu
B. Umożliwiają przeprowadzanie operacji na obiektach
C. Zapisują wartości lokalne w funkcjach
D. Określają globalne stałe programu
Pola klasy w programowaniu obiektowym to zmienne, które przechowują dane opisujące stan obiektu. Każdy obiekt posiada swoje własne kopie pól, co oznacza, że różne instancje tej samej klasy mogą przechowywać różne wartości. Przykład w C++: `class Samochod { public: string marka; int przebieg; }`. Pola `marka` i `przebieg` przechowują informacje o konkretnym samochodzie. Pola są kluczowym elementem modelowania rzeczywistych obiektów i umożliwiają przechowywanie oraz modyfikowanie danych w trakcie działania programu. Mogą mieć różne poziomy dostępu (`public`, `private`), co pozwala na lepszą kontrolę nad danymi.

Pytanie 3

Jak wygląda kod uzupełnienia do dwóch dla liczby -5 w formacie binarnym przy użyciu 8 bitów?

A. 00000101
B. 11111011
C. 11111101
D. 10000101
Pierwsza z niepoprawnych odpowiedzi, która przedstawia wartość 00000101, jest błędna, ponieważ jest to binarna reprezentacja liczby 5, a nie -5. Kod uzupełnieniowy do dwóch wymaga przedstawienia liczby ujemnej poprzez inwersję bitów i dodanie jedynki. Ta odpowiedź nie ma zastosowania przy obliczaniu liczb ujemnych, stąd jest niewłaściwa. Kolejna odpowiedź, 11111101, również jest nieprawidłowa. W przypadku tej liczby, zainwersowanie bitów liczby 5 dawałoby 11111010, a dodanie 1 do tej wartości prowadziłoby do 11111011, co wskazuje, że ta odpowiedź nie jest zgodna z zasadą uzupełnienia do dwóch. Ostatnia z niepoprawnych odpowiedzi, 10000101, jest również błędna, ponieważ nie odpowiada żadnej z reprezentacji liczby -5. Gdybyśmy spróbowali konwertować ją z powrotem na wartość dziesiętną, otrzymalibyśmy 133, co jest zdecydowanie niepoprawne. Warto zauważyć, że każda z tych niepoprawnych odpowiedzi wskazuje na brak zrozumienia zasad konwersji liczb ujemnych w systemie binarnym, co jest kluczowe w informatyce i programowaniu, a ich użycie w praktycznych aplikacjach mogłoby prowadzić do poważnych błędów w obliczeniach.

Pytanie 4

Jak określa się proces, w trakcie którego klasa przejmuje właściwości innej klasy w programowaniu obiektowym?

A. Dziedziczenie
B. Polimorfizm
C. Hermetyzacja
D. Abstrakcja
Dziedziczenie to kluczowa cecha programowania obiektowego (OOP), która pozwala jednej klasie (klasie pochodnej) przejmować cechy i zachowania innej klasy (klasy bazowej). Dzięki dziedziczeniu można wielokrotnie wykorzystywać kod, co prowadzi do większej modularności i zmniejszenia redundancji. Dziedziczenie umożliwia rozszerzanie funkcjonalności klas bazowych poprzez dodawanie nowych metod lub modyfikowanie istniejących, bez konieczności ingerencji w oryginalny kod. Przykład w C++: `class Pojazd { ... }; class Samochod : public Pojazd { ... };` – `Samochod` dziedziczy wszystkie publiczne i chronione (protected) elementy klasy `Pojazd`.

Pytanie 5

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

A. Automatycznie wywołać funkcję throw
B. Skorzystać z domyślnej metody obsługi błędów
C. Wykorzystać blok try z pustym blokiem catch
D. Utworzyć klasę, która dziedziczy po std::exception
Użycie standardowej funkcji obsługi błędów, takiej jak 'perror()', nie pozwala na zdefiniowanie własnego wyjątku – 'perror()' wyświetla komunikat o błędzie, ale nie zgłasza wyjątku. Blok 'try' z pustym blokiem 'catch' nie tworzy nowego wyjątku, lecz jedynie przechwytuje istniejące wyjątki. Wywołanie 'throw' automatycznie nie definiuje nowego wyjątku – 'throw' służy do zgłaszania istniejącego wyjątku, ale definicja własnego wyjątku wymaga utworzenia nowej klasy dziedziczącej po 'std::exception'.

Pytanie 6

Jakie znaczenie ma pojęcie "debugowanie" w kontekście programowania?

A. Wdrażanie aplikacji w środowisku produkcyjnym
B. Przygotowywanie dokumentacji kodu
C. Tworzenie nowych funkcjonalności aplikacji
D. Wyszukiwanie i usuwanie błędów w kodzie
Debugowanie to proces wyszukiwania i eliminowania błędów (bugów) w kodzie źródłowym programu. Polega na analizowaniu działania aplikacji linia po linii, śledzeniu wartości zmiennych, analizie stosu wywołań i wykrywaniu miejsc, w których program działa niezgodnie z oczekiwaniami. Debugowanie umożliwia programistom szybkie odnajdywanie błędów logicznych, składniowych oraz problemów z wydajnością aplikacji. Narzędzia takie jak Visual Studio, PyCharm, IntelliJ IDEA czy Chrome DevTools oferują zaawansowane funkcje debugowania, takie jak punkty przerwań (breakpoints), krokowe wykonywanie kodu i podgląd pamięci. Proces debugowania jest kluczowy w każdym etapie rozwoju oprogramowania, ponieważ znacząco wpływa na stabilność i jakość finalnego produktu.

Pytanie 7

Termin ryzyko zawodowe odnosi się do

A. zagrożenia wypadkowego, które może wystąpić w miejscu pracy
B. ciężkości skutków niepożądanych zdarzeń związanych z pracą
C. efektów zagrożeń wypadkowych, jakie występują w miejscu zatrudnienia
D. prawdopodobieństwa, że zdarzenia niepożądane związane z pracą spowodują straty, w szczególności negatywne skutki zdrowotne dla pracowników
Zagrożenie wypadkowe – Odnosi się do specyficznych niebezpieczeństw, a nie prawdopodobieństwa ich wystąpienia. Skutki zagrożeń – Dotyczą konsekwencji, ale nie są definicją ryzyka. Ciężkość następstw – Określa konsekwencje, ale ryzyko odnosi się do prawdopodobieństwa.

Pytanie 8

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

A. sortowanie przez zliczanie
B. sortowanie bąbelkowe
C. sortowanie przez wstawianie
D. sortowanie szybkie
Sortowanie szybkie (QuickSort) jest algorytmem niestabilnym, co oznacza, że nie zachowuje kolejności elementów o tej samej wartości. Jego główną zaletą jest efektywność, jednak brak stabilności może być istotny w aplikacjach wymagających zachowania oryginalnej kolejności danych.

Pytanie 9

Po uruchomieniu podanego kodu w języku C++ na konsoli zobaczymy następujący tekst:

Ilustracja do pytania
A. Wynik dodawania: 5+5.12=10.123450
B. dodawania: 5+5.12345=10.123450 Wynik
C. "%s dodawania: %d + %.2f=%f", "Wynik", a, b, w
D. "%s dodawania: %d + %.2f = %f", "Wynik", 5, 5.12345, 10.123450
Tekst w cudzysłowie – Oznacza surowy tekst, który nie jest interpretowany jako kod. Dodawanie – Nie jest sformatowane zgodnie z wymaganiami pytania. Inne formatowanie – Wynika z błędnej interpretacji zmiennych i formatowania.

Pytanie 10

Wskaź rodzaj testowania, które realizuje się w trakcie tworzenia kodu źródłowego?

A. testy wydajnościowe
B. testy wdrożeniowe
C. testy kompatybilności
D. testy jednostkowe
Testy jednostkowe są przeprowadzane podczas fazy tworzenia kodu źródłowego. Pozwalają one na sprawdzenie poprawności działania poszczególnych funkcji i modułów w izolacji, co pomaga wcześnie wykrywać błędy.

Pytanie 11

W języku C++, zakładając, że przedstawiony fragment kodu poprawnie się skompiluje i zostanie wykonany, to zmiennej liczba przypisana zostanie wartość

Ilustracja do pytania
A. rzeczywista podzielna przez 1OOO
B. dowolna pseudolosowa z przedziału typu int
C. równa 1OOO
D. pseudolosowa nie większa niż 999
Linia kodu int liczba = rand() % 1000; w języku C++ używa funkcji rand() do generowania liczby pseudolosowej. Funkcja ta zwraca liczbę całkowitą z zakresu od 0 do RAND_MAX zdefiniowanego w standardowej bibliotece C++. Obliczenie rand() % 1000 wykonuje operację modulo na wygenerowanej liczbie, co oznacza, że wynik zawsze będzie liczbą z zakresu od 0 do 999. Jest to powszechna technika używana do ograniczenia zakresu wartości zwracanych przez funkcję rand() do konkretnego przedziału. Takie podejście jest często wykorzystywane do generowania pseudolosowych wartości całkowitych w określonym zakresie, co jest przydatne w wielu zastosowaniach, od prostych programów testowych po bardziej złożone aplikacje symulacyjne. Należy pamiętać, że funkcja rand() generuje liczby pseudolosowe, co oznacza, że sekwencja liczb będzie się powtarzać przy każdym uruchomieniu programu, chyba że zostanie zainicjowana za pomocą funkcji srand() z unikalnym ziarnem. Jest to zgodne z dobrymi praktykami, aby zapewnić różnorodność w generowanych liczbach pseudolosowych, zwłaszcza w kontekście testowania i symulacji komputerowych.

Pytanie 12

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

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

Pytanie 13

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. Binary search
B. Jump search
C. Ternary search
D. Exponential search
Binary Search dzieli tablicę na pół przy każdej iteracji, co różni się od przeskakiwania blokowego. Exponential Search i Ternary Search to inne algorytmy o odmiennej logice przeszukiwania, które nie polegają na przeskakiwaniu stałych bloków elementów.

Pytanie 14

Jakie działanie związane z klasą abstrakcyjną jest niedozwolone?

A. Rozszerzanie tej klasy
B. Utworzenie instancji tej klasy
C. Określenie metody wirtualnej
D. Definiowanie pól publicznych
Klasy abstrakcyjne w programowaniu obiektowym to fundament, który umożliwia wprowadzenie abstrakcji i polimorfizmu. Ich głównym celem jest zdefiniowanie wspólnego interfejsu dla klas pochodnych, natomiast nie można tworzyć ich instancji. Przykładem może być klasa abstrakcyjna 'Pojazd', która definiuje metody takie jak 'przyspiesz' i 'hamuj', ale sama nie ma implementacji tych metod. Klasy, które dziedziczą po 'Pojazd', takie jak 'Samochód' czy 'Motocykl', implementują te metody, co umożliwia ich użycie. Zgodnie z zasadami SOLID, klasa abstrakcyjna powinna być używana jako baza dla innych klas, a nie jako samodzielny obiekt. W związku z tym, próbując stworzyć instancję klasy abstrakcyjnej, napotkamy błąd kompilacji. Takie zachowanie jest zgodne z wieloma językami programowania, takimi jak Java, C# czy C++, gdzie klasy abstrakcyjne są kluczowym elementem budowy hierarchii klas oraz wzorów projektowych.

Pytanie 15

Zmienna o typie logicznym może mieć następujące wartości:

A. 0 oraz każda liczba całkowita
B. trzy dowolne liczby naturalne
C. 1, -1
D. true, false
Wartości 1 i -1 mogą być interpretowane jako prawda/fałsz w niektórych językach, takich jak C, ale nie są standardowymi wartościami typu boolean. Wartości 0 lub dowolna liczba całkowita mogą być stosowane w kontekście warunków, ale nie są typowymi wartościami logicznymi. Trzy dowolne liczby naturalne nie mają żadnego związku z typem logicznym – typ boolean zawsze przyjmuje dokładnie dwie wartości, co odróżnia go od typów numerycznych.

Pytanie 16

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

A. 1100
B. 1000
C. 1110
D. 1010
Wszystkie inne proponowane odpowiedzi są nieprawidłowe z różnych powodów. Odpowiedź 1110 jest niepoprawna, ponieważ wynikiem operacji AND nie może być 1 na pozycji bitu, gdzie przynajmniej jeden z porównywanych bitów wynosi 0. W tej operacji, gdy bierzemy pod uwagę drugi i trzeci bit, oba są odpowiednio 0 i 1, co daje wynik 0, a nie 1. Kolejna nieprawidłowość dotyczy odpowiedzi 1100. W tej odpowiedzi otrzymujemy 1 w pierwszym i drugim bicie, co jest sprzeczne z zasadą operacji AND, gdzie jeden z porównywanych bitów również musi być 0. W związku z tym, operacja AND dla tych bitów powinna również zwrócić 0 w tych pozycjach. Ostatnią niepoprawną odpowiedzią jest 1010. Choć ta liczba jest jedną z operowanych i rzeczywiście zawiera bity 1 i 0, wynik operacji AND nie powinien być równy któremuś z oryginalnych operandów, ale rezultatem zgodnym z zasadami logiki binarnej. To pokazuje, że niektóre odpowiedzi mogą zawierać bity, które są zgodne z jednym z operandów, jednak nie są wynikiem właściwej operacji AND. W kontekście systemów logicznych oraz algorytmów cyfrowych, zrozumienie tych zasad jest kluczowe dla prawidłowego manipulowania danymi i projektowania układów cyfrowych.

Pytanie 17

Jakie jest przeznaczenie polecenia "git merge"?

A. Do usuwania zmian w repozytorium
B. Do zakładania nowego repozytorium
C. Do łączenia zmian z różnych gałęzi
D. Do pobierania aktualizacji zdalnego repozytorium
Polecenie 'git merge' służy do łączenia zmian z jednej gałęzi (branch) z inną. Najczęściej używane jest do scalenia gałęzi deweloperskich (feature branches) z gałęzią główną (main lub master). Git merge pozwala na integrację nowych funkcji z głównym kodem projektu, co jest kluczowe w pracy zespołowej. W przypadku konfliktów, Git wymaga ręcznego rozwiązania ich przed zakończeniem procesu scalania. Umożliwia to zachowanie porządku w kodzie i unikanie błędów, które mogłyby wyniknąć z niezgodnych zmian.

Pytanie 18

Jakie jest główne zadanie ochrony danych osobowych?

A. Utrudnianie działalności organom ścigania
B. Udostępnianie danych osobowych w celach marketingowych
C. Gwarantowanie anonimowości dla internautów
D. Zabezpieczenie danych osobowych przed nieautoryzowanym dostępem i ich wykorzystaniem
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 19

Który algorytm sortowania opiera się na metodzie "dziel i zwyciężaj"?

A. Sortowanie przez wybór
B. Sortowanie bąbelkowe
C. Sortowanie przez wstawianie
D. Sortowanie szybkie (QuickSort)
Sortowanie przez wybór polega na wyszukiwaniu najmniejszego elementu w każdej iteracji i umieszczaniu go na początku tablicy, co prowadzi do złożoności O(n²). Sortowanie bąbelkowe również działa w czasie O(n²) i nie wykorzystuje strategii dziel i zwyciężaj. Sortowanie przez wstawianie polega na stopniowym umieszczaniu elementów w odpowiedniej pozycji, ale nie dzieli tablicy na mniejsze części jak QuickSort, co sprawia, że jest mniej wydajne dla dużych zbiorów danych.

Pytanie 20

W jakiej metodzie zarządzania projektami nacisk kładzie się na ograniczenie marnotrawstwa?

A. Prototypowy
B. Waterfall
C. Kanban
D. Scrum
Scrum to inna metodologia zwinna, ale jej celem jest iteracyjne dostarczanie produktów w ramach określonych sprintów, a nie minimalizacja marnotrawstwa. Waterfall to tradycyjny model sekwencyjny, który nie koncentruje się na eliminacji marnotrawstwa, lecz na dokładnym zaplanowaniu projektu na etapie początkowym. Model prototypowy opiera się na iteracyjnym tworzeniu i testowaniu prototypów, ale jego głównym celem jest uzyskanie feedbacku od użytkowników, a nie optymalizacja przepływu pracy.

Pytanie 21

Jakie narzędzie najlepiej sprawdza się w przekształcaniu liczby szesnastkowej na binarną?

A. Kalkulator programisty
B. Program do arkuszy kalkulacyjnych
C. Program do edycji tekstu
D. Aplikacja internetowa
Kalkulator programisty jest najbardziej odpowiednim narzędziem do konwersji liczby szesnastkowej na binarną ze względu na swoje wyspecjalizowane funkcje matematyczne i programistyczne. Narzędzia te umożliwiają użytkownikom łatwe przekształcanie różnych systemów liczbowych, w tym konwersji z systemu szesnastkowego (hex) na system binarny. Kalkulatory programistyczne często zawierają dedykowane opcje dla konwersji liczbowej, co pozwala na szybkie i dokładne uzyskanie wyników bez potrzeby stosowania skomplikowanych algorytmów lub wzorów. Na przykład, aby przekształcić liczbę szesnastkową '1A' na binarną, użytkownik wprowadza '1A' do kalkulatora, a wynik '00011010' zostaje automatycznie wygenerowany. Dodatkowo, wiele kalkulatorów programistycznych jest zgodnych z międzynarodowymi standardami, co zapewnia ich wiarygodność w obliczeniach. Warto również zauważyć, że kalkulatory programistyczne mogą obsługiwać konwersje z różnych systemów liczbowych, co czyni je wszechstronnym narzędziem w pracy z danymi cyfrowymi i kodowaniem. Dzięki temu, kalkulator programisty stanowi idealne rozwiązanie dla programistów i inżynierów, którzy regularnie pracują z różnymi formatami danych.

Pytanie 22

Z analizy złożoności obliczeniowej algorytmów sortowania dla dużych zbiorów danych (powyżej 100 elementów) wynika, że najefektywniejszą metodą jest algorytm sortowania:

Ilustracja do pytania
A. przez scalanie
B. bąbelkowego
C. przez zliczanie
D. kubełkowego
Sortowanie przez zliczanie (Counting Sort) to jeden z najszybszych algorytmów sortowania dla dużych zbiorów danych, jeśli zakres wartości jest ograniczony. Algorytm działa w czasie O(n+k), gdzie n to liczba elementów, a k to zakres wartości. Jest to algorytm stabilny, co oznacza, że zachowuje kolejność elementów o tej samej wartości. Counting Sort jest szczególnie efektywny w przypadku danych numerycznych o ograniczonym przedziale wartości, co czyni go idealnym rozwiązaniem do sortowania dużych zbiorów danych w krótkim czasie.

Pytanie 23

Zestaw operatorów, który został przedstawiony, należy do kategorii operatorów

Ilustracja do pytania
A. przypisania
B. porównawczymi
C. logicznymi
D. arytmetycznych
Przedstawiony zbiór operatorów należy do grupy operatorów arytmetycznych, które wykonują podstawowe operacje matematyczne, takie jak dodawanie, odejmowanie, mnożenie i dzielenie. Są one podstawą obliczeń w większości języków programowania.

Pytanie 24

W wyniku realizacji zaprezentowanego kodu na ekranie pojawią się

Ilustracja do pytania
A. wszystkie elementy tablicy, które mają wartość nieparzystą
B. wszystkie elementy tablicy, które są wielokrotnością 3
C. elementy tablicy o indeksach: 1, 2, 4, 5, 7, 8
D. elementy z indeksów tablicy, które są podzielne przez 3
Co do podzielnych przez 3 – Kod skupia się na indeksach, nie na wartościach. Jeśli chodzi o elementy podzielne przez 3, to to dotyczy wartości, a nie indeksów. Natomiast wszystkie nieparzyste elementy – to znów ogranicza się tylko do wartości, a pytanie dotyczy indeksów tablicy, co może wprowadzać w błąd.

Pytanie 25

Jakie składniki są kluczowe w dynamicznym formularzu logowania?

A. Pola tekstowe do wprowadzania danych użytkownika
B. Plik graficzny
C. Tabela w bazie danych
D. Nagłówek HTTP
Pola tekstowe do wprowadzania danych użytkownika są kluczowym elementem dynamicznego formularza logowania. Umożliwiają one użytkownikowi wprowadzenie informacji, takich jak nazwa użytkownika i hasło, co jest niezbędne do uwierzytelnienia w systemie. Formularze HTML wykorzystują tagido tworzenia pól tekstowych, a ich interakcja z użytkownikiem może być wspierana przez JavaScript lub inne technologie frontendowe, które walidują dane i zapewniają bezpieczeństwo procesu logowania. Pola tekstowe mogą być wzbogacone o atrybuty, takie jak 'required', 'pattern' czy 'type', które dodatkowo zabezpieczają formularz i ułatwiają użytkownikowi poprawne wypełnienie danych.

Pytanie 26

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

A. Wyłącznie w zewnętrznych bazach danych
B. Tylko w pamięci RAM
C. W rejestrze systemu
D. Za pomocą plików SharedPreferences
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 27

Jaką złożoność obliczeniową posiada podany algorytm?

Ilustracja do pytania
A. O(1)
B. O(n log n)
C. O(n2)
D. O(n)
O(n log n) – to typowa złożoność dla algorytmów sortowania, na przykład quicksort czy mergesort. O(1) – to oznacza, że algorytm działa w stałym czasie, niezależnie od wielkości danych, co tu nie pasuje. O(n^2) – to z kolei złożoność dla algorytmów, które mają kwadratową wydajność, jak na przykład sortowanie bąbelkowe, ale to nie jest to, czego szukamy w tym przypadku.

Pytanie 28

Jaką właściwość ma sieć synchroniczna?

A. Nie jest konieczna synchronizacja zegarów
B. Przekazywanie danych zachodzi w sposób niesystematyczny
C. Gwarantuje większą elastyczność w przesyłaniu danych
D. Transmisja danych odbywa się w wyznaczonych interwałach czasowych
Sieć synchroniczna charakteryzuje się tym, że transmisja danych odbywa się w ustalonych odstępach czasu, co oznacza, że wszystkie urządzenia w sieci są zsynchronizowane do jednego zegara. Taki sposób przesyłania danych pozwala na precyzyjne określenie momentu, w którym dane są wysyłane i odbierane, co redukuje opóźnienia i błędy w komunikacji. Przykładem sieci synchronicznej jest system TDM (Time Division Multiplexing), który dzieli czas na różne sloty, przydzielając każdy slot konkretnemu użytkownikowi lub urządzeniu. Dzięki temu każdy uczestnik sieci ma gwarancję, że w swoim czasie dostanie dostęp do medium transmisyjnego. Standardy takie jak SONET (Synchronous Optical Network) i SDH (Synchronous Digital Hierarchy) są przykładami technologii, które wykorzystują synchronizację do efektywnego przesyłania danych na dużych odległościach. Takie podejście jest powszechnie stosowane w telekomunikacji, gdzie wysoka wydajność i niezawodność transmisji są kluczowe dla jakości usług.

Pytanie 29

Jakie elementy powinny być zawarte w instrukcji dla użytkownika danej aplikacji?

A. Wyjaśnienie struktur danych wykorzystywanych w kodzie
B. Opis instalacji, konfiguracji oraz obsługi oprogramowania
C. Harmonogram realizacji projektu
D. Informacje o narzędziach programistycznych zastosowanych w procesie tworzenia aplikacji
W instrukcji użytkownika aplikacji warto, żeby był opis tego, jak zainstalować, skonfigurować i korzystać z programu. Taka dokumentacja, pisana krok po kroku, pomaga użytkownikowi przejść przez wszystkie etapy, od pobrania oprogramowania, przez instalację, aż po to, żeby w pełni wykorzystać wszystkie funkcje. Dobrze, żeby były tam też info o wymaganiach systemowych, sposobach radzenia sobie z problemami czy aktualizacjach oprogramowania. Moim zdaniem, taka dokładna instrukcja jest mega ważna, bo zmniejsza szanse na napotkanie kłopotów podczas korzystania z aplikacji i sprawia, że łatwiej jest wdrożyć ją w pracy. Jak użytkownicy mają porządnie napisaną instrukcję, to są bardziej zadowoleni i szybciej przyzwyczajają się do nowego narzędzia.

Pytanie 30

Który z wymienionych poniżej przykładów stanowi system informacji przetwarzany przez system informatyczny?

A. System PESEL
B. System wentylacyjny w biurowcach
C. System do monitorowania temperatury serwerów
D. System zarządzania oświetleniem drogowym
System wentylacji w biurowcach, system monitorowania temperatury serwerów oraz system sterowania światłami drogowymi, chociaż są przykładami systemów inżynieryjnych, nie stanowią systemów informacji przetwarzanych przez systemy informatyczne w tradycyjnym rozumieniu. System wentylacji w biurowcach to mechanizm regulujący przepływ powietrza, który działa na podstawie fizycznych zasad termodynamiki i wymiany ciepła. W tym przypadku dane są zbierane i przetwarzane w sposób, który nie angażuje intensywnego zarządzania informacjami osobowymi ani gromadzenia danych w skali, jaką obserwuje się w systemach informacyjnych. Z kolei system monitorowania temperatury serwerów służy do zapewnienia odpowiednich warunków pracy sprzętu komputerowego. Choć wykorzystuje technologię informatyczną do zbierania danych, jego funkcjonalność koncentruje się na diagnostyce i bezpieczeństwie sprzętu, a nie na przetwarzaniu informacji o osobach czy instytucjach. Ostatecznie system sterowania światłami drogowymi, mimo że operuje na podstawie zebranych danych o ruchu drogowym, w istocie nie prowadzi złożonych operacji przetwarzania informacji w sensie administracyjnym ani nie gromadzi danych osobowych. Jego działanie opiera się na algorytmach, które reagują na ruch uliczny, a nie na zarządzaniu informacjami w sposób, który jest charakterystyczny dla systemów takich jak PESEL.

Pytanie 31

W pokazanych fragmentach kodu zdefiniowano funkcję pod nazwą fun1. W tej funkcji należy zaimplementować obsługę

Ilustracja do pytania
A. usunięcia kontrolek z pamięci RAM
B. aplikacji po wystąpieniu zdarzenia utraty focusa przez pole opcji
C. inicjacji elementów interfejsu użytkownika
D. naciśnięcia przycisku zatwierdzającego dialog
Obsługa zdarzeń związanych z przyciskami zatwierdzającymi dialogi jest kluczową częścią interakcji użytkownika z aplikacją. W wielu środowiskach programistycznych, takich jak JavaScript, C# czy Java, przyciski te wywołują funkcje obsługi zdarzeń (event handlers), które mogą walidować dane, przetwarzać informacje lub wykonywać inne działania po naciśnięciu przycisku. Implementacja funkcji obsługującej przycisk jest nieodzowna w aplikacjach graficznych, gdzie interakcja z użytkownikiem wymaga dynamicznego reagowania na jego działania. Dzięki temu aplikacje stają się bardziej interaktywne i responsywne, co zwiększa komfort użytkownika i poprawia ogólną użyteczność oprogramowania.

Pytanie 32

W zaprezentowanym fragmencie kodu występuje błąd logiczny. Na czym on polega?

Ilustracja do pytania
A. niepoprawnym użyciu funkcji cout, co skutkuje tym, że zmienna jest wczytywana w pętli
B. nieprawidłowym warunku pętli, który sprawia, że pętla jest nieskończona
C. braku zainicjowania zmiennej x, co powoduje, że zmienna nie ma wartości początkowej
D. niewłaściwym warunku pętli, co powoduje, że pętla nigdy się nie wykona
W programowaniu istotne jest zrozumienie inicjalizacji zmiennych, poprawnego użycia funkcji oraz logicznych warunków sterujących. Brak inicjalizacji zmiennej może prowadzić do nieprzewidywalnego zachowania programu, jednak w tym przypadku zmienna x jest prawidłowo zainicjalizowana wartością 0, co eliminuje ten problem. Błędne zastosowanie funkcji cout mogłoby wskazywać na niepoprawne wywołanie tej funkcji, ale w przedstawionym kodzie funkcja cout jest użyta w sposób poprawny, służąc do wyświetlania wartości zmiennej x w pętli. Ważne jest, aby zrozumieć, że cout jest funkcją wyjściową, a nie wejściową, więc nie ma wpływu na logikę pętli w kontekście wczytywania danych. Co więcej, jednym z częstych błędów jest nieprawidłowy warunek pętli, który może prowadzić do jej nieoczekiwanego zakończenia lub nieskończoności. Warunki pętli powinny być precyzyjnie określone, aby mogły ulec zmianie do wartości fałszywej w pewnym momencie, co pozwala na zakończenie iteracji. Warto również zwrócić uwagę na typowe błędy myślowe, takie jak niewłaściwe operatory logiczne, które mogą prowadzić do błędnych założeń co do działania kodu. Dbałość o te aspekty jest kluczowa w praktyce programistycznej, a znajomość typowych problemów i ich rozwiązań zwiększa jakość i niezawodność oprogramowania.

Pytanie 33

Na podstawie treści zawartej w ramce, określ, który z rysunków ilustruje element odpowiadający klasie Badge zdefiniowanej w bibliotece Bootstrap?

Ilustracja do pytania
A. Rysunek 3
B. Rysunek 1
C. Rysunek 4
D. Rysunek 2
Wybór Rysunku 2 jest poprawny ponieważ przedstawia on elementy badge zdefiniowane w bibliotece Bootstrap Badge to niewielkie oznaczenia wizualne zazwyczaj zawierające liczby lub krótkie informacje które można umieścić obok linków lub innych elementów interfejsu użytkownika W Bootstrapie badge są implementowane za pomocą klasy .badge i można je stosować na przykład do wskazywania liczby nowych wiadomości lub powiadomień w aplikacjach webowych Dzięki temu użytkownik ma natychmiastowy dostęp do ważnych informacji bez konieczności wykonywania dodatkowych działań Przykładem zastosowania badge może być ikonka koperty z liczbą nieprzeczytanych wiadomości w skrzynce odbiorczej Co więcej badge można stylować za pomocą dodatkowych klas kolorystycznych takich jak .bg-primary .bg-success itd co pozwala na dostosowanie ich wyglądu do stylistyki całej aplikacji To praktyczne narzędzie w tworzeniu intuicyjnych interfejsów użytkownika które poprawia użyteczność i estetykę strony internetowej Zastosowanie badge zgodnie z dobrymi praktykami projektowania UX/UI wspiera lepszą organizację i dostępność informacji w aplikacjach internetowych

Pytanie 34

Jaką funkcję pełni operator "|" w języku C++?

A. Bitowe "xor"
B. Operację przesunięcia bitów w prawo
C. Bitowe "lub"
D. Logiczne "lub"
Operator `|` w języku C++ jest operatorem bitowym `OR`, który porównuje bity dwóch liczb i zwraca `1` w pozycji bitu, jeśli przynajmniej jeden z odpowiadających sobie bitów jest `1`. Przykład: `5 | 3` (w notacji binarnej `0101 | 0011`) zwróci `0111`, co odpowiada liczbie `7`. Operatory bitowe są często używane w programowaniu systemowym, kryptografii oraz manipulacji danymi na poziomie bitowym.

Pytanie 35

Jakie działania można podjąć, aby uniknąć pogorszenia wzroku podczas korzystania z komputera?

A. Korzytać ze słuchawek tłumiących dźwięki
B. Zachować stałą temperaturę w biurze
C. Używać filtrów przeciwodblaskowych na ekranie
D. Stosować ergonomiczne podkładki pod ręce
Stosowanie filtrów przeciwodblaskowych na monitorze to skuteczny sposób na zapobieganie pogorszeniu wzroku podczas pracy przy komputerze. Filtry te redukują odbicia światła, zmniejszając zmęczenie oczu i poprawiając komfort pracy. Długotrwała praca przy komputerze bez odpowiedniej ochrony może prowadzić do zespołu suchego oka, bólu głowy i problemów z widzeniem. Filtry przeciwodblaskowe to prosty, ale bardzo efektywny sposób na poprawę ergonomii stanowiska pracy. W połączeniu z odpowiednim ustawieniem monitora, regularnymi przerwami oraz ćwiczeniami wzrokowymi, pomagają one w utrzymaniu zdrowia oczu.

Pytanie 36

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

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

Pytanie 37

Po uruchomieniu podanego kodu w języku C++ w konsoli pojawi się ciąg liczb

Ilustracja do pytania
A. 1 2 3 4 5 6
B. 2 3 4 5 6
C. 2 3 4 5 6 7
D. 1 2 3 4 5
Kod w C++ wyświetla ciąg liczb '2 3 4 5 6', co wynika z iteracyjnego zwiększania wartości początkowej w pętli. Algorytm startuje od wartości 2 i zatrzymuje się przed osiągnięciem 7, co skutkuje wyświetleniem kolejnych liczb.

Pytanie 38

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

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

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

A. Konstruktor powinien zwracać jakąś wartość
B. Konstruktor można wywołać bez konieczności tworzenia obiektu
C. Konstruktor jest uruchamiany jedynie przez destruktor
D. Konstruktor zawsze nosi tę samą nazwę co klasa i nie zwraca wartości
Konstruktor nie zwraca wartości, w przeciwieństwie do zwykłych metod klasy, które mogą zwracać typy danych (`int`, `float`, `string`). Konstruktor nie może być wywoływany bez tworzenia obiektu – jest to mechanizm związany wyłącznie z procesem inicjalizacji obiektu. Destruktor, a nie konstruktor, jest wywoływany po zakończeniu życia obiektu w celu zwolnienia zasobów. Konstruktor jest pierwszą metodą, która działa podczas tworzenia obiektu, co odróżnia go od destruktora, który działa na końcu życia obiektu.

Pytanie 40

Jakie środki ochrony zbiorowej najlepiej chronią kręgosłup w warunkach pracy biurowej?

A. Regulowanie poziomu oświetlenia w biurze
B. Umieszczanie monitorów na wysokości oczu
C. Ograniczenie hałasu w pomieszczeniu
D. Korzystanie z regulowanych krzeseł i biurek
Używanie regulowanych foteli i biurek to jeden z najlepszych sposobów na zapobieganie problemom z kręgosłupem w pracy biurowej. Ergonomiczne fotele pozwalają na dostosowanie wysokości siedziska, podparcia lędźwiowego oraz kąta nachylenia oparcia, co zapewnia optymalne wsparcie dla kręgosłupa i zmniejsza ryzyko bólu pleców. Regulowane biurka umożliwiają zmianę pozycji pracy – z siedzącej na stojącą – co redukuje obciążenie kręgosłupa i poprawia krążenie krwi. Ergonomia stanowiska pracy to kluczowy element profilaktyki zdrowotnej, który minimalizuje ryzyko dolegliwości związanych z długotrwałą pracą w jednej pozycji.