Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji
  • Data rozpoczęcia: 19 maja 2025 10:55
  • Data zakończenia: 19 maja 2025 11:16

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Kolor Pale Green w modelu RGB przedstawia się jako RGB(152, 251, 152). Jaki jest szesnastkowy kod tego koloru?

A. 98 FE 98
B. 98 FB 98
C. A0 FE A0
D. A0 FB A0
Kolor 'Pale Green' w systemie RGB ma wartości (152, 251, 152). W zapisie szesnastkowym odpowiada to #98FB98. Jest to istotne przy projektowaniu interfejsów i stron internetowych, gdzie kolory są definiowane w formacie hex. Prawidłowe przeliczanie wartości RGB na hex jest kluczowe w zapewnieniu spójnej kolorystyki.

Pytanie 2

Co należy zrobić w sytuacji silnego krwawienia z rany?

A. Poczekać, aż krwawienie ustanie samoistnie
B. Przepłukać ranę wodą utlenioną i zostawić do wyschnięcia
C. Nałożyć elastyczny bandaż bez ucisku
D. Założyć opatrunek uciskowy oraz unieść kończynę powyżej poziomu serca
Założenie opatrunku uciskowego i uniesienie kończyny powyżej poziomu serca to najskuteczniejszy sposób na zatrzymanie silnego krwotoku z rany. Opatrunek uciskowy powoduje mechaniczne zamknięcie naczyń krwionośnych, co spowalnia lub całkowicie zatrzymuje wypływ krwi. Podniesienie kończyny dodatkowo zmniejsza ciśnienie krwi w obszarze rany, co ogranicza krwawienie. Ważne jest, aby nie zdejmować opatrunku, nawet jeśli przesiąknie krwią – należy dołożyć kolejną warstwę materiału. W sytuacjach ekstremalnych, gdy opatrunek uciskowy nie zatrzymuje krwawienia, można zastosować opaskę uciskową (tzw. stazę), ale tylko w ostateczności, gdy inne metody zawiodą. Takie działania mogą zapobiec wstrząsowi krwotocznemu i uratować życie poszkodowanego.

Pytanie 3

Co oznacza pojęcie 'hoisting' w JavaScript?

A. Metoda ładowania skryptów z zewnętrznych źródeł
B. Mechanizm zarządzania pamięcią w przeglądarce
C. Proces podnoszenia deklaracji zmiennych i funkcji na górę zakresu
D. Technika optymalizacji kodu przez silnik JavaScript
Omawiając inne odpowiedzi, warto zauważyć, że niektóre z nich mogą wprowadzać w błąd. Na przykład, technika optymalizacji kodu przez silnik JavaScript nie ma nic wspólnego z hoistingiem. Hoisting nie jest związany z optymalizacją, ale z tym, jak JavaScript interpretuje kod. Optymalizacja kodu odnosi się do sposobu, w jaki silniki JavaScript, takie jak V8, przetwarzają kod, aby działał szybciej, poprzez różne techniki, takie jak JIT (Just-In-Time) compilation, a nie przez przenoszenie deklaracji. Z kolei mechanizm zarządzania pamięcią dotyczy sposobu, w jaki JavaScript radzi sobie z pamięcią w czasie wykonania, co również nie jest bezpośrednio związane z hoistingiem. Pamięć jest zarządzana przez garbage collector, który usuwa nieużywane obiekty. Metoda ładowania skryptów z zewnętrznych źródeł także nie ma związku z hoistingiem, ponieważ odnosi się to do sposobu, w jaki zasoby są pobierane i wykonywane w przeglądarkach. Wszystkie te koncepcje, choć dotyczą JavaScriptu, nie mają związku z mechanizmem hoistingu, co prowadzi do powszechnych nieporozumień wśród programistów. Dlatego tak ważne jest zrozumienie, jak działa hoisting, aby uniknąć błędów w kodzie oraz poprawić zrozumienie działania JavaScriptu.

Pytanie 4

Kod funkcji "wykonaj()" przedstawiony powyżej weryfikuje, czy

Ilustracja do pytania
A. w tablicy liczb całkowitych znajdują się jedynie wartości 4, 15, -2, 9, 202
B. wszystkie elementy w tablicy odpowiadają wartości konkretnego elementu (argument)
C. konkretny element (argument) jest obecny w tablicy liczb całkowitych
D. konkretny element (argument) przypada w zakresie od 0 do 4
Funkcja 'wykonaj()' sprawdza, czy określony element (argument) znajduje się w tablicy zawierającej liczby całkowite. Algorytm przeszukuje tablicę iteracyjnie, porównując element wejściowy z każdym elementem tablicy, co pozwala na efektywne odnalezienie wartości, jeśli istnieje.

Pytanie 5

Które z wymienionych działań stanowi zagrożenie dla emocjonalnego dobrostanu człowieka w sieci?

A. Zła postawa podczas pracy przy komputerze
B. Nadmierne korzystanie z mediów społecznościowych
C. Cyberstalking
D. Przesyłanie niezaszyfrowanych plików
Cyberstalking to groźne zjawisko polegające na uporczywym prześladowaniu, nękaniu lub groźbach w przestrzeni internetowej. Może prowadzić do poważnych problemów emocjonalnych, takich jak lęki, depresja, a nawet zespół stresu pourazowego (PTSD). Cyberstalking narusza prywatność ofiary, wywołując poczucie zagrożenia i bezradności. Walka z tym zjawiskiem obejmuje zgłaszanie przypadków organom ścigania, blokowanie prześladowców i korzystanie z narzędzi ochrony prywatności.

Pytanie 6

Jakie składniki powinien mieć plan projektu?

A. Wyłącznie etapy projektu
B. Tylko czas wykonania i budżet
C. Etapy projektu, ramy czasowe, zasoby i zadania
D. Terminy i zasoby ludzkie
Harmonogram projektu powinien zawierać etapy projektu, ramy czasowe, zasoby oraz zadania. Taka kompleksowa struktura umożliwia skuteczne zarządzanie projektem i pozwala na śledzenie postępów. Każdy etap harmonogramu powinien być dokładnie opisany, a zadania powinny być przypisane do odpowiednich członków zespołu. Uwzględnienie zasobów i ram czasowych pozwala na precyzyjne planowanie i minimalizuje ryzyko opóźnień. Harmonogram stanowi nieodłączny element projektów zarządzanych zarówno w modelu Waterfall, jak i Agile, dostarczając przejrzystość na każdym etapie realizacji.

Pytanie 7

Który z wymienionych poniżej typów danych stanowi przykład typu stałoprzecinkowego?

A. decimal
B. double
C. int
D. float
Typ 'float' przechowuje liczby zmiennoprzecinkowe, co oznacza, że może reprezentować wartości z częściami dziesiętnymi, ale nie jest to typ stałoprzecinkowy. Typ 'double' to również typ zmiennoprzecinkowy, charakteryzujący się większą precyzją niż 'float'. Typ 'decimal' służy do przechowywania liczb zmiennoprzecinkowych z dużą dokładnością, głównie w aplikacjach finansowych, gdzie precyzja jest kluczowa, ale nie zalicza się do typów stałoprzecinkowych.

Pytanie 8

Która technologia służy do tworzenia responsywnych stron internetowych?

A. Media Queries w CSS
B. REST API
C. WebSockets
D. Local Storage
Media Queries w CSS to technika, która pozwala na tworzenie responsywnych stron internetowych poprzez dostosowywanie stylów do różnych rozmiarów ekranów i urządzeń. Dzięki zastosowaniu reguł media queries, projektanci mogą definiować, jak elementy na stronie mają się zachowywać w zależności od szerokości ekranu, orientacji urządzenia czy jego rozdzielczości. Na przykład, można ustawić większe marginesy na dużych ekranach desktopowych, a na mniejszych urządzeniach mobilnych zredukować je, aby lepiej wykorzystać ograniczoną przestrzeń. Stosując media queries, można również zmieniać rozmiary czcionek, układ kolumn czy widoczność niektórych elementów, co jest kluczowe dla optymalizacji użytkowania na różnych platformach. Jest to częścią podejścia mobile-first, które stało się standardem w nowoczesnym web designie. Warto również zaznaczyć, że korzystanie z media queries wspiera dostępność i użyteczność stron internetowych, co jest zgodne z dobrymi praktykami branżowymi.

Pytanie 9

Które z wymienionych działań zwiększa bezpieczeństwo transakcji online?

A. Weryfikowanie certyfikatów SSL na stronach zajmujących się transakcjami
B. Zastosowanie publicznego Wi-Fi do logowania się na konto bankowe
C. Udostępnianie informacji o karcie kredytowej w e-mailach
D. Nieaktualizowanie oprogramowania przeglądarki
Sprawdzanie certyfikatów SSL na stronach transakcyjnych to jeden z najważniejszych kroków w zapewnieniu bezpieczeństwa transakcji internetowych. Certyfikat SSL szyfruje dane przesyłane między użytkownikiem a serwerem, chroniąc je przed przechwyceniem przez osoby trzecie. Adresy stron z certyfikatem SSL zaczynają się od 'https', co wskazuje na bezpieczne połączenie. Certyfikaty SSL zapewniają integralność danych i są podstawą dla każdej strony internetowej obsługującej płatności lub przechowującej dane użytkowników. Zignorowanie tej kwestii naraża użytkowników na ataki typu man-in-the-middle i phishing.

Pytanie 10

Jaki jest zasadniczy cel ataku phishingowego?

A. Zakłócanie pracy sieci przez nadmiarowe zapytania
B. Uniemożliwienie dostępu do usług internetowych
C. Zbieranie danych osobowych za pomocą podszywających się stron lub wiadomości
D. Kradzież haseł z pamięci operacyjnej urządzenia
Głównym celem ataku phishingowego jest przejęcie danych osobowych ofiary, co realizowane jest poprzez wykorzystanie fałszywych stron internetowych lub wiadomości. Atakujący tworzą atrakcyjne i wiarygodne kopie legalnych stron, często podszywając się pod znane instytucje bankowe, portale społecznościowe czy serwisy e-commerce. Użytkownik, nieświadomy zagrożenia, wprowadza swoje dane logowania, numery kart kredytowych lub inne wrażliwe informacje, które trafiają w ręce cyberprzestępców. Aby ułatwić ten proces, phisherzy często wykorzystują techniki inżynierii społecznej, takie jak fałszywe powiadomienia o konieczności weryfikacji konta. Przykłady skutecznych ataków phishingowych obejmują kampanie wysyłania e-maili, które informują użytkowników o rzekomych problemach z kontem, kierując ich na podszyte strony. Standardy bezpieczeństwa, takie jak DMARC, SPF i DKIM, są kluczowe dla ochrony przed tego rodzaju atakami, jednak ich brak lub niewłaściwe wdrożenie zwiększa podatność na phishing.

Pytanie 11

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

A. Promieniowanie UV
B. Nieodpowiednie relacje w zespole
C. Obciążenie psychiczne
D. Brak ergonomicznych miejsc pracy
Przeciążenie psychiczne jest zagrożeniem psychospołecznym, a nie fizycznym – dotyczy zdrowia psychicznego i samopoczucia pracownika. Złe relacje w zespole są również zagrożeniem psychospołecznym, prowadzącym do konfliktów i obniżenia efektywności pracy. Brak ergonomicznych stanowisk pracy to zagrożenie ergonomiczne, które może prowadzić do problemów zdrowotnych, takich jak bóle pleców czy nadgarstków, ale nie jest klasyfikowane jako zagrożenie fizyczne. Zagrożenia fizyczne dotyczą głównie czynników środowiskowych wpływających bezpośrednio na ciało pracownika.

Pytanie 12

Wskaż poprawny pod względem składniowym kod dla formatu JSON, który jest używany do wymiany danych między backendem a frontendem aplikacji.

Ilustracja do pytania
A. Kod2
B. Kod4
C. Kod3
D. Kod1
Kod1 niestety jest błędny. W JSON klucze i wartości muszą być w podwójnych cudzysłowach, a nie w pojedynczych. Pojedyncze cudzysłowy tutaj nie działają i będą powodować błąd podczas próby parsowania. Kod3 to nie JSON, tylko przykład XML, który używa znaczników do oznaczania danych, ale w kontekście JSON nie pasuje. Kod4 z kolei przypomina bardziej zapis w jakimś języku programowania, na przykład C. Używasz składni, której parsery JSON nie rozpoznają, bo brakuje nawiasów klamrowych i podwójnych cudzysłowów. Często błędy w JSON wynikają z niewłaściwego użycia znaków interpunkcyjnych i złego formatowania, co może prowadzić do problemów z działaniem aplikacji. Dlatego naprawdę warto zadbać o poprawną składnię JSON, żeby wszystko działało bez zarzutów.

Pytanie 13

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

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

Pytanie 14

Która z wymienionych metod może pomóc w walce z uzależnieniem od internetu?

A. Wprowadzenie systematycznych przerw od używania urządzeń cyfrowych
B. Używanie komputera jedynie w nocy
C. Zainstalowanie większej ilości aplikacji rozrywkowych
D. Zwiększenie czasu spędzanego na mediach społecznościowych
Wprowadzenie regularnych przerw od korzystania z urządzeń cyfrowych pomaga przeciwdziałać uzależnieniu od internetu. Regularne odstawienie urządzeń pozwala na regenerację, zmniejsza ryzyko nadmiernej ekspozycji na treści cyfrowe i pozwala na większą interakcję z rzeczywistym otoczeniem. Przerwy te pomagają w utrzymaniu równowagi psychicznej i fizycznej, poprawiają koncentrację oraz jakość snu.

Pytanie 15

Który z wymienionych dysków oferuje najszybszy dostęp do danych?

A. HDD 5400 RPM, SATA II, 32 MB Cache
B. HDD 7200 RPM, SATA III, 64 MB Cache
C. SSD SATA III, prędkość odczytu do 550 MB/s
D. SSD NVMe PCIe 3.0, prędkość odczytu do 3500 MB/s
Odpowiedź wskazująca na SSD NVMe PCIe 3.0 jako najszybszy dysk do odczytu danych jest zgodna z obecnymi standardami technologii przechowywania. Dyski SSD (Solid State Drive) korzystają z pamięci flash, co pozwala na znacznie szybszy dostęp do danych w porównaniu do tradycyjnych dysków HDD (Hard Disk Drive), które działają na zasadzie mechanicznych ruchomych elementów. Dyski NVMe (Non-Volatile Memory Express) są szczególnie wydajne, ponieważ wykorzystują interfejs PCIe (Peripheral Component Interconnect Express), co umożliwia znacznie wyższe prędkości transferu danych. W przypadku SSD NVMe PCIe 3.0, prędkość odczytu może osiągać do 3500 MB/s, co jest znaczącą różnicą w porównaniu do prędkości odczytu w dyskach HDD i SSD SATA. Przykładowo, w zastosowaniach takich jak edycja wideo, renderowanie grafiki 3D czy gry komputerowe, wyższa prędkość odczytu przekłada się na szybsze ładowanie danych i lepszą wydajność systemu. Standardy SATA III dla HDD również mają swoje ograniczenia, ponieważ maksymalna teoretyczna prędkość transferu wynosi 6 Gb/s, co jest dalekie od osiągów oferowanych przez NVMe. Dlatego SSD NVMe PCIe 3.0 jest zdecydowanym liderem w kontekście wydajności odczytu danych w porównaniu do pozostałych opcji.

Pytanie 16

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

A. w sytuacji omdlenia i braku tętna
B. w przypadku urazu pleców, gdy osoba jest przytomna
C. gdy osoba omdleje, ale oddycha
D. gdy wystąpi uszkodzenie kręgosłupa
Osobę po omdleniu, która oddycha, należy ułożyć w pozycji bocznej bezpiecznej. Taka pozycja zapobiega zadławieniu i zapewnia drożność dróg oddechowych, co jest kluczowe dla bezpieczeństwa poszkodowanego.

Pytanie 17

Wartości składowych RGB koloru #AA41FF zapisane w systemie szesnastkowym po przekształceniu na system dziesiętny są odpowiednio

A. 160, 64, 255
B. 160, 65, 255
C. 170, 64, 255
D. 170, 65, 255
Niektóre błędne odpowiedzi wynikają z błędnej konwersji wartości szesnastkowych. Na przykład AA w szesnastkowym to 170, a nie 160. Poprawna interpretacja kolorów jest istotna w pracy grafików i programistów front-end.

Pytanie 18

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

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

Pytanie 19

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

A. free()
B. malloc()
C. sizeof()
D. delete[]
Funkcja 'free()' służy do zwalniania pamięci zaalokowanej dynamicznie przez 'malloc()', ale nie alokuje pamięci. Funkcja 'sizeof()' zwraca rozmiar typu lub obiektu, ale nie alokuje pamięci dynamicznie – jest wykorzystywana do określania ilości pamięci potrzebnej dla danego typu. 'Delete[]' jest operatorem w C++, który usuwa tablicę dynamicznie zaalokowaną przy użyciu 'new[]', ale nie alokuje pamięci – jest to mechanizm zwalniania pamięci, a nie jej przydzielania.

Pytanie 20

Jaki modyfikator umożliwia dostęp do elementu klasy z każdego miejsca w kodzie?

A. Static
B. Private
C. Public
D. Protected
Modyfikator 'Public' umożliwia dostęp do składowych klasy z dowolnego miejsca w programie, zarówno w ramach tej samej klasy, jak i poza nią. To najbardziej otwarty modyfikator dostępu, który pozwala na tworzenie interfejsów API, umożliwiających korzystanie z publicznych metod i właściwości przez inne klasy oraz moduły. W praktyce oznacza to, że publiczne metody są widoczne globalnie, co pozwala na ich wywoływanie bez ograniczeń. Jest to przydatne w przypadkach, gdy dana funkcjonalność musi być dostępna w różnych częściach programu lub aplikacji.

Pytanie 21

W jakich sytuacjach zastosowanie rekurencji może być bardziej korzystne niż użycie iteracji?

A. Gdy algorytm wymaga naturalnego podziału na mniejsze podproblemy
B. Kiedy liczba iteracji przewyższa maksymalny zakres zmiennej licznikowej
C. Kiedy program jest uruchamiany w środowisku wielowątkowym
D. Gdy kod źródłowy ma być zoptymalizowany dla starszych kompilatorów
Rekurencja jest bardziej efektywna od iteracji, gdy algorytm można naturalnie podzielić na mniejsze podproblemy. Przykładami są algorytmy podziału i zwycięzcy (divide and conquer), takie jak wyszukiwanie binarne, sortowanie szybkie (quick sort) czy obliczanie wartości liczb Fibonacciego. Rekurencja pozwala na bardziej eleganckie i przejrzyste rozwiązanie problemów, które mają strukturę rekurencyjną. W takich przypadkach kod jest krótszy i bardziej czytelny, co ułatwia jego konserwację i rozwój.

Pytanie 22

W jakim modelu Cyklu Życia Projektu Informatycznego znajduje się etap analizy ryzyka?

A. W modelu Fry’ego
B. W modelu z prototypem
C. W spiralnym
D. W kaskadowym
Model kaskadowy nie uwzględnia formalnej analizy ryzyka, a projekt jest realizowany liniowo. Model z prototypem koncentruje się na szybkim tworzeniu działających wersji produktu, ale analiza ryzyka nie jest jego istotnym elementem. Model Fry’ego to starszy model, który nie kładzie nacisku na analizę ryzyka w każdej fazie projektu.

Pytanie 23

W programie stworzonym w języku C++ trzeba zadeklarować zmienną, która będzie przechowywać wartość rzeczywistą. Jakiego typu powinna być ta zmienna?

A. double
B. number
C. int
D. numeric
Typ 'int' przechowuje liczby całkowite, co czyni go nieodpowiednim do przechowywania liczb zmiennoprzecinkowych. Typ 'number' nie jest prawidłowym typem danych w C++. 'Numeric' nie jest natywnym typem w C++, a jego użycie może prowadzić do błędów kompilacji.

Pytanie 24

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

Ilustracja do pytania
A. "%s dodawania: %d + %.2f = %f", "Wynik", 5, 5.12345, 10.123450
B. dodawania: 5+5.12345=10.123450 Wynik
C. Wynik dodawania: 5+5.12=10.123450
D. "%s dodawania: %d + %.2f=%f", "Wynik", a, b, w
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 25

Jaką wartość zwróci poniższa funkcja dla argumentu n = 5?

function silnia(n) { if (n <= 1) return 1; return n * silnia(n - 1); }

A. 120
B. 5
C. 60
D. 24
Podczas analizy funkcji silnia(n) dla wartości n = 5, wiele osób może błędnie wnioskować o jej wyniku. Często zdarza się, że ludzie próbując obliczyć silnię, mylą się w kolejności mnożenia lub nie uwzględniają właściwego przeliczenia. Na przykład, odpowiedź 24 mogłaby wynikać z obliczenia silnia(4) zamiast silnia(5). To błędne myślenie opiera się na zrozumieniu, że silnia n to suma wszystkich poprzednich silni, co jest nieprawdziwe. Silnia to operacja mnożenia, nie sumowania, co jest kluczowe do poprawnego zrozumienia tej funkcji. Ponadto, odpowiedzi 60 i 5 również wynikają z niedokładności w obliczeniach lub mylnego zrozumienia, co oznacza silnia. Na przykład, 60 mogłoby powstać z błędnego pomnożenia, jak 5 * 12, a 5 wydaje się być po prostu nieprawidłowym zrozumieniem, że silnia(n) zwraca n samo w sobie. Dlatego ważne jest, aby pamiętać, że silnia to produkt wszystkich liczb naturalnych od 1 do n, a nie pojedyncza liczba. Dobrze jest również przetestować naszą wiedzę poprzez praktyczne przykłady i weryfikację z działającym kodem, co pozwala na uniknięcie tych typowych pułapek myślowych i lepsze zrozumienie zasadności obliczeń matematycznych w programowaniu.

Pytanie 26

Jakie jest rozwiązanie dla dodawania binarnego liczb 1011 oraz 110?

A. 10101
B. 10001
C. 11101
D. 11001
W analizie błędnych odpowiedzi, pierwsza niepoprawna odpowiedź 11001 wynika z błędu w dodawaniu ostatniej kolumny. Osoba, która udzieliła tej odpowiedzi, mogła popełnić pomyłkę, nie uwzględniając przeniesienia z drugiej kolumny. W systemie binarnym nie można uzyskać wyniku 11001, ponieważ suma 0 + 1 w ostatnich kolumnach prowadzi do przeniesienia, a nie do dodania wartości. Druga propozycja, 10101, może być efektem pomylenia wartości i przeniesień w trakcie dodawania. Wartości w odpowiednich kolumnach są zinterpretowane niepoprawnie. Tutaj również brakuje uwzględnienia przeniesienia, co prowadzi do wyniku, który nie odzwierciedla rzeczywistego sumowania w systemie binarnym. Ostatnia niepoprawna odpowiedź, 11101, zawiera błąd związany z dodawaniem wartości bez przeniesienia. Sumowanie 1 + 1 w drugiej kolumnie prowadzi do 0 z przeniesieniem, co zostało pominięte. W każdej z tych odpowiedzi występuje zrozumienie błędów w arytmetyce binarnej, które są fundamentalne dla prawidłowego obliczania w systemach cyfrowych.

Pytanie 27

Jakie jest podstawowe założenie normalizacji krajowej?

A. Wzrost kosztów produkcji
B. Zwiększenie ilości regulacji prawnych
C. Utrudnienie handlu międzynarodowego
D. Ujednolicenie wymagań technicznych i poprawa bezpieczeństwa
Ujednolicenie wymagań technicznych i poprawa bezpieczeństwa to główne cele normalizacji krajowej. Normalizacja polega na opracowywaniu standardów, które są stosowane w różnych branżach w celu zapewnienia jakości, bezpieczeństwa i kompatybilności produktów oraz usług. Dzięki normalizacji producenci tworzą wyroby zgodne z określonymi normami, co zwiększa ich konkurencyjność na rynku krajowym i międzynarodowym. Wdrożenie jednolitych standardów wpływa także na bezpieczeństwo użytkowników, minimalizując ryzyko awarii lub niezgodności produktów.

Pytanie 28

Kod zaprezentowany w filmie w języku C++ nie przechodzi kompilacji. Co należy zmodyfikować w tym kodzie, aby kompilacja odbyła się bez błędów?

A. dodać deklarację funkcji sprawdz przed funkcją main
B. zadeklarować zmienną sprawdz przed jej wykorzystaniem w linii 11
C. naprawić błąd w funkcji sprawdz, który polega na braku nawiasów {} w pętli for
D. poprawnie zapisać warunek w instrukcji if w linii 11, np. sprawdz(x)==true
Błąd warunku if – Choć poprawny, nie jest przyczyną problemu z kompilacją. Brak nawiasów – Może prowadzić do błędów logicznych, ale nie uniemożliwia kompilacji. Deklaracja zmiennej – Brak zmiennej to inny rodzaj błędu, który może pojawić się na późniejszym etapie.

Pytanie 29

Jaki modyfikator dostępu umożliwia dostęp do pól klasy tylko za pomocą jej metod?

A. Public
B. Static
C. Private
D. Protected
Modyfikator `private` w językach takich jak C++, Java i C# pozwala na ograniczenie dostępu do pól i metod klasy, umożliwiając ich wykorzystanie wyłącznie w obrębie tej samej klasy. Pola `private` są ukryte przed innymi klasami i mogą być modyfikowane lub odczytywane jedynie poprzez metody publiczne (gettery i settery). Przykład w C++: `class Konto { private: double saldo; public: void ustawSaldo(double s) { saldo = s; } }`. Dzięki temu mechanizmowi dane są chronione przed nieautoryzowanymi zmianami, co zwiększa bezpieczeństwo aplikacji i minimalizuje ryzyko błędów.

Pytanie 30

Jakie są różnice między typem łańcuchowym a typem znakowym?

A. Typ znakowy przechowuje pojedyncze znaki, a łańcuchowy ciągi znaków
B. Typ łańcuchowy przechowuje pojedyncze znaki, a znakowy długie ciągi znaków
C. Typ znakowy przechowuje dane logiczne, a łańcuchowy tekst
D. Typ łańcuchowy obsługuje liczby całkowite, a znakowy liczby zmiennoprzecinkowe
Typ znakowy (char) przechowuje pojedyncze znaki, natomiast typ łańcuchowy (string) przechowuje ciągi znaków. Różnica ta ma kluczowe znaczenie w programowaniu, ponieważ typ 'char' jest używany do operacji na pojedynczych literach, cyfrze lub symbolu, podczas gdy 'string' umożliwia przechowywanie i manipulowanie całymi wyrazami lub zdaniami. W wielu językach 'string' to bardziej złożona struktura danych, która zawiera tablicę znaków (array of characters), co pozwala na efektywną pracę z tekstem i budowanie interaktywnych aplikacji.

Pytanie 31

W środowisku IDE przeznaczonym do tworzenia aplikacji okienkowych zdefiniowano okno Form1. Aby wprowadzić zmiany w ustawieniach, w kolejności: tytuł okna na górnym pasku, standardowy kursor na strzałkę oraz kolor tła okna, należy dostosować następujące pola w oknie Properties:

Ilustracja do pytania
A. Text, Cursor, BackColor
B. Text, UseWaitCursor, BackColor
C. (Name), Cursor, BackgroundImage
D. (Name), UseWaitCursor, BackgroundImage
Jak chcesz zmienić nazwę okna, kursor czy kolor tła w IDE, to trzeba popracować nad polami, czyli 'Text' (to jest nazwa), 'Cursor' (czyli kursor) i 'BackColor' (to kolor tła). Te ustawienia są kluczowe, bo dzięki nim możesz nadać swojemu oknu wygląd, który ci odpowiada, albo taki, który pasuje do wymagań projektu.

Pytanie 32

Które z poniższych nie jest algorytmem sortowania?

A. Merge Sort
B. Quick Sort
C. Bubble Sort
D. Binary Search
Binary Search jest algorytmem, który służy do efektywnego przeszukiwania uporządkowanych zbiorów danych, a nie do sortowania. Działa na zasadzie dzielenia zbioru na pół i eliminowania połowy z nich w każdym kroku, co pozwala na szybkie znalezienie poszukiwanej wartości. Jest to przykład algorytmu o czasie działania O(log n), co sprawia, że jest znacznie szybszy od prostego przeszukiwania liniowego. Przykładowo, gdy mamy posortowaną tablicę liczb, Binary Search może być użyty do znalezienia konkretnej liczby, eliminując w każdym kroku połowę zbioru, aż do odnalezienia wartości lub stwierdzenia, że jej nie ma. W kontekście branżowym, Binary Search jest szeroko stosowany w różnych aplikacjach, gdzie wymagane jest szybkie przeszukiwanie danych, na przykład w bazach danych i aplikacjach wyszukiwania. Kluczowe jest zrozumienie różnicy między algorytmem przeszukiwania a algorytmem sortowania; sortowanie odnosi się do organizacji danych w określonym porządku, podczas gdy Binary Search koncentruje się na znajdowaniu elementów w już posortowanych zbiorach.

Pytanie 33

Co to jest API w kontekście programowania?

A. Interfejs programistyczny aplikacji, który definiuje sposób komunikacji między różnymi komponentami oprogramowania
B. Metoda kompresji danych w aplikacjach webowych
C. System zarządzania relacyjnymi bazami danych
D. Narzędzie do testowania interfejsu użytkownika aplikacji
API, czyli Interfejs Programistyczny Aplikacji, to zestaw reguł i protokołów, które umożliwiają różnym komponentom oprogramowania komunikację ze sobą. W praktyce API działa jako most między różnymi systemami, pozwalając na wymianę danych oraz funkcji. Na przykład, API może być wykorzystywane do integracji z zewnętrznymi serwisami, takimi jak systemy płatności, co pozwala na łatwe wdrożenie funkcji zakupów online w aplikacji. Stosowanie API zgodnie z zasadami RESTful czy GraphQL jest powszechną praktyką, ponieważ ułatwia rozwój i utrzymanie aplikacji, umożliwiając tworzenie skalowalnych rozwiązań. Co więcej, dobrze zdefiniowane API zwiększa bezpieczeństwo aplikacji, ograniczając bezpośredni dostęp do wewnętrznych mechanizmów oraz danych. Firmy często tworzą dokumentację API, aby programiści mogli szybko zrozumieć, jak z niego korzystać, co jest zgodne z zasadami dobrych praktyk w branży programistycznej.

Pytanie 34

Aplikacje webowe stworzone z użyciem frameworka Angular lub biblioteki React, działające na standardowych portach, można uruchomić na lokalnym serwerze, wpisując w przeglądarkę

A. localhost:8080 (React) lub localhost:8000 (Angular)
B. localhost:5001 (React) lub localhost:8080 (Angular)
C. localhost:8000 (React) lub localhost:49887 (Angular)
D. localhost:3000 (React) lub localhost:4200 (Angular)
Domyślne porty dla aplikacji tworzonych w React to localhost:3000, a dla Angular to localhost:4200. Te ustawienia pozwalają na szybkie uruchomienie aplikacji na lokalnym serwerze podczas fazy deweloperskiej. React i Angular to popularne technologie do budowy nowoczesnych aplikacji webowych, a korzystanie z domyślnych portów upraszcza proces testowania i wdrażania.

Pytanie 35

Sposób deklaracji Klasa2 wskazuje, że

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

Pytanie 36

Ile kilobajtów (KB) znajduje się w jednym megabajcie (MB)?

A. 1024
B. 1000
C. 10
D. 100
W informatyce jednostki pamięci są często używane do określenia pojemności danych. 1 megabajt (MB) równa się 1024 kilobajtom (KB) w systemie binarnym, który jest podstawowym systemem liczbowym używanym w komputerach. Wynika to z faktu, że komputery operują w systemie binarnym, gdzie wartości są potęgami liczby 2. Z definicji, 1 MB to 2 do potęgi 20 bajtów, co daje 1048576 bajtów. Kiedy dzielimy tę wartość przez 1024, otrzymujemy 1024 kilobajty. W praktyce, ta konwersja jest niezwykle istotna w kontekście zarządzania pamięcią oraz określania rozmiarów plików. Na przykład, przy pobieraniu plików z internetu, znając tę konwersję, można lepiej oszacować czas pobierania oraz zarządzanie przestrzenią dyskową. Warto również zauważyć, że niektóre systemy operacyjne i producenci sprzętu używają systemu dziesiętnego, w którym 1 MB to 1000 KB, co prowadzi do nieporozumień. Dlatego znajomość różnic między systemami binarnym i dziesiętnym jest kluczowa dla zrozumienia pojemności pamięci komputerowej i odpowiednich jednostek.

Pytanie 37

Technika konstruowania algorytmu polegająca na rozbiciu na dwa lub więcej mniejszych podproblemów, aż do momentu, gdy ich części będą wystarczająco proste do bezpośredniego rozwiązania, nosi nazwę:

A. najkrótszej trasy
B. heurystycznej
C. komiwojażera
D. dziel i zwyciężaj
Metoda 'dziel i zwyciężaj' polega na podziale problemu na mniejsze podproblemy, aż do osiągnięcia najprostszych przypadków, które można łatwo rozwiązać. To podejście jest stosowane w algorytmach takich jak Merge Sort czy QuickSort.

Pytanie 38

Która metoda wyszukiwania potrzebuje posortowanej listy do prawidłowego działania?

A. Wyszukiwanie liniowe
B. Wyszukiwanie z hashem
C. Wyszukiwanie sekwencyjne
D. Wyszukiwanie binarne
Wyszukiwanie liniowe (sekwencyjne) działa niezależnie od tego, czy tablica jest posortowana, ale ma złożoność O(n), co czyni je mniej efektywnym dla dużych zbiorów danych. Wyszukiwanie z hashem (hashing) nie wymaga posortowania tablicy, ponieważ działa na zasadzie mapowania kluczy do wartości i ma złożoność O(1) w najlepszym przypadku. Przeszukiwanie sekwencyjne (Linear Search) działa liniowo i nie wykorzystuje sortowania, co sprawia, że jest mniej wydajne dla dużych tablic.

Pytanie 39

Jakie elementy powinny być uwzględnione w scenariuszu testów aplikacji?

A. Zestaw kroków do testowania, oczekiwanych rezultatów oraz warunków początkowych
B. Dokładne wytyczne dotyczące realizacji kodu
C. Strategia wdrożenia aplikacji w środowisku produkcyjnym
D. Dokumentacja techniczna oprogramowania
Scenariusz testowy aplikacji powinien zawierać szczegółowy opis kroków testowych, oczekiwane wyniki oraz warunki wstępne, które muszą być spełnione przed rozpoczęciem testu. Scenariusz testowy to kluczowy dokument w procesie testowania oprogramowania, który pozwala na systematyczne i dokładne sprawdzenie, czy aplikacja działa zgodnie z oczekiwaniami. Uwzględnienie kroków testowych pozwala na replikację testów, a opis warunków wstępnych zapewnia, że test jest przeprowadzany w odpowiednim środowisku.

Pytanie 40

Zapisany kod w języku Python ilustruje

Ilustracja do pytania
A. kolejkę (LIFO)
B. tablicę asocjacyjną (słownik)
C. strukturę
D. stos
Żeby zrozumieć, czemu inne struktury danych nie zadziałały w tym przykładzie, trzeba się przyjrzeć, jak one działają. Stos, czyli kolejka LIFO, to taki układ, w którym ostatni dodany element idzie jako pierwszy. Przykłady to różne algorytmy przeszukiwania czy cofniki w edytorach tekstu. Problem w tym, że stos nie przechowuje par klucz-wartość, przez co nie nadaje się do tego zadania. Zwykła struktura to raczej szerokie pojęcie i nie daje jasnej odpowiedzi na pytanie, jakie mamy w Pythonie. W przeciwieństwie do tego, słownik idealnie pasuje, bo przechowuje dane w formie klucz-wartość, co pozwala na szybki dostęp do informacji. W stosie brak jest też kolejności, jaką można by stosować. Często, gdy wybieramy błędne odpowiedzi, zapominamy o specyfice działania tych struktur, co może prowadzić do pomyłek. Dlatego ważne jest, żeby rozumieć, jak odpowiednio przypisać struktury danych do ich zastosowań, co jest istotne w programowaniu.