Wyniki egzaminu

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

Egzamin zdany!

Wynik: 28/40 punktów (70,0%)

Wymagane minimum: 20 punktów (50%)

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

Zapisany kod w języku Python ilustruje

Ilustracja do pytania
A. strukturę
B. tablicę asocjacyjną (słownik)
C. stos
D. kolejkę (LIFO)
W tym zadaniu mamy do czynienia z tablicą asocjacyjną, która w Pythonie nazywa się słownikiem. Słownik to taki fajny sposób na przechowywanie par klucz-wartość, co jest naprawdę przydatne. W naszym przypadku kluczami są symbole chemiczne, jak N czy O, a wartościami ich pełne nazwy, czyli Azot oraz Tlen. Dzięki tej strukturze można szybko sięgnąć po konkretne dane, co jest bardzo pomocne w różnych sytuacjach. Na przykład, można używać ich do przechowywania konfiguracji albo do prostych baz danych. Warto też dodać, że słowniki świetnie pasują do obiektów JSON, co jest ważne w tworzeniu aplikacji webowych. Dają nam dużą elastyczność i robią to w bardzo efektywny sposób, dlatego są jednym z kluczowych elementów Pythona. Ułatwiają pisanie kodu, który jest zarówno czytelny, jak i funkcjonalny.

Pytanie 2

Wynik dodawania liczb binarnych 1101 i 1001 to

A. 10111
B. 1110
C. 10110
D. 1001
1110 – Wynik ten pomija przeniesienie, co skutkuje błędnym dodaniem. 10111 – Jest to wynik błędnego przeniesienia. 1001 – To jedna z liczb wejściowych, a nie wynik dodawania.

Pytanie 3

Jakie narzędzie może zostać wykorzystane do automatyzacji testów aplikacji internetowych?

A. Selenium
B. Blender
C. Postman
D. Visual Studio Code
Postman to narzędzie do testowania API, umożliwiające wysyłanie zapytań HTTP i analizowanie odpowiedzi serwera, ale nie jest narzędziem do testowania interfejsów użytkownika w przeglądarce. Blender to narzędzie do modelowania 3D i animacji, które nie ma zastosowania w testowaniu aplikacji webowych. Visual Studio Code to edytor kodu źródłowego, który może być używany do pisania i debugowania kodu, ale samo w sobie nie jest narzędziem do automatycznego testowania aplikacji webowych, jak Selenium.

Pytanie 4

Jaką wartość przyjmie etykieta label po wykonaniu podanego kodu, gdy zostanie on uruchomiony po naciśnięciu przycisku w aplikacji?

Ilustracja do pytania
A. liczby parzyste z przedziału od 0 do 100
B. suma liczb z przedziału od 0 do 100
C. liczby z przedziału od 0 do 100
D. suma liczb parzystych z przedziału od 0 do 100
Kod oblicza i zapisuje sumę liczb parzystych z przedziału od 0 do 100. Pętla iteruje przez kolejne liczby i dodaje te, które spełniają warunek parzystości, zapewniając poprawne wyniki.

Pytanie 5

Która z metod zarządzania projektami jest najbardziej odpowiednia, gdy w początkowej fazie projektu zakres nie jest w pełni określony, wymagania mogą zmieniać się podczas realizacji, a także mogą wystąpić nowe potrzeby?

A. Model kaskadowy
B. Model V
C. Agile
D. PRINCE2
Metodyka Agile jest najbardziej optymalna w przypadku niejasnych wymagań na początku projektu. Agile pozwala na iteracyjne wprowadzanie zmian, dostosowując się do nowych wymagań w trakcie trwania projektu. Jest to elastyczne podejście, które sprzyja szybkiemu reagowaniu na potrzeby klienta.

Pytanie 6

Jaką wartość jest w stanie przechować tablica jednowymiarowa?

A. Wartość logiczną true lub false
B. Wiele wartości pod różnymi indeksami
C. Jedną wartość
D. Wiele wartości pod tym samym indeksem
Tablica jednowymiarowa przechowuje wiele wartości pod różnymi indeksami. Każdy element tablicy jest dostępny za pomocą indeksu, co pozwala na szybkie i efektywne przechowywanie oraz przetwarzanie danych. W programowaniu tablice jednowymiarowe są podstawą do implementacji algorytmów sortowania, wyszukiwania oraz przechowywania sekwencji danych. Tego rodzaju tablice są niezwykle użyteczne w organizowaniu danych o powtarzalnej strukturze, takich jak listy imion, wyniki testów czy współrzędne.

Pytanie 7

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

A. 1024
B. 100
C. 1000
D. 10
Odpowiedzi, które wskazują na wartości 10, 100 i 1000 kilobajtów jako równowartość 1 megabajta, są błędne z perspektywy standardów komputerowych. Wartość 10 KB jest zdecydowanie zbyt mała, aby mogła odpowiadać wielkości 1 MB, which is a fundamental misunderstanding of data measurement. Tego rodzaju konwersja wprowadza w błąd, ponieważ nie uwzględnia potęg liczby 2, które są kluczowe w kontekście binarnego systemu liczenia. Z kolei 100 KB również nie jest właściwe, ponieważ jest to zaledwie 1/10 megabajta, co jest dalekie od rzeczywistej konwersji. Ponadto, traktowanie 1000 KB jako równowartości 1 MB jest nawiązaniem do systemu dziesiętnego, który jest używany przez niektóre branże, ale nie jest to standardowe podejście w obliczeniach komputerowych. Z technicznego punktu widzenia, przyjęcie, że 1 MB to 1000 KB, może prowadzić do błędnych obliczeń oraz problemów z zarządzaniem danymi w systemach operacyjnych, które stosują binarny system pomiaru pamięci. Dlatego kluczowe jest, aby zrozumieć różnice między tymi systemami, aby uniknąć nieporozumień w zakresie pojemności danych.

Pytanie 8

Do implementacji w aplikacji jednokierunkowej funkcji skrótu, zwanej funkcją haszującą, można wykorzystać algorytm

A. MD5
B. AES
C. DES
D. RSA
DES to algorytm szyfrowania symetrycznego, nie funkcja haszująca. RSA to algorytm asymetryczny wykorzystywany do szyfrowania i podpisów cyfrowych. AES to zaawansowany standard szyfrowania blokowego, ale nie jest funkcją skrótu.

Pytanie 9

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

A. 50 lat od chwili pierwszej publikacji utworu
B. 70 lat od zgonu autora
C. Bezterminowo
D. 75 lat od daty powstania utworu
Okres 50 lat od pierwszej publikacji utworu odnosi się zazwyczaj do praw pokrewnych, takich jak ochrona nagrań dźwiękowych lub filmowych. Ochrona przez 75 lat od powstania utworu nie jest standardem w UE, choć niektóre kraje mogą mieć takie przepisy w odniesieniu do specyficznych typów dzieł. Bezterminowa ochrona dotyczy wyłącznie autorskich praw osobistych, a nie majątkowych, które zawsze wygasają po określonym czasie.

Pytanie 10

Zaznaczone elementy w przedstawionych obramowaniach mają na celu

Ilustracja do pytania
A. uzyskanie nazwy obiektu obrazującego okno aplikacji
B. ustawienie tytułu okna na "Tekst"
C. zapisanie tytułu okna do obiektu Tekst
D. przypisanie nazwy obiektu obrazującego okno aplikacji
Elementy w ramkach ustawiają tytuł okna na 'Tekst'. Jest to operacja zmiany właściwości okna, która pozwala użytkownikowi na dostosowanie tytułu wyświetlanego na pasku aplikacji.

Pytanie 11

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

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

Pytanie 12

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

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

Wskaż termin, który w języku angielskim odnosi się do "testów wydajnościowych"?

A. unit testing
B. security testing
C. performance testing
D. integration testing
Testy wydajnościowe, czyli performance testing, to coś, co naprawdę warto mieć na uwadze. Dzięki nim możemy sprawdzić, jak nasza aplikacja działa pod dużym obciążeniem i jak szybko odpowiada na różne żądania. Moim zdaniem, to kluczowy aspekt, zwłaszcza jeśli planujemy, żeby nasza aplikacja miała wielu użytkowników. W końcu, nikt nie lubi czekać, aż coś się załaduje!

Pytanie 14

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

A. bool liczba;
B. char liczba;
C. int liczba;
D. float liczba;
W języku C++ zmienna typu całkowitego jest deklarowana za pomocą słowa kluczowego `int`. Przykładowa poprawna deklaracja to `int liczba;`, co oznacza, że `liczba` jest zmienną, która może przechowywać wartości całkowite, takie jak 1, 42 lub -15. Deklarowanie zmiennych w C++ pozwala na statyczne typowanie, co oznacza, że każda zmienna ma określony typ i nie może przechowywać wartości innego typu. Dzięki temu kod jest bardziej przejrzysty i mniej podatny na błędy związane z niezgodnością typów.

Pytanie 15

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

A. JIRA
B. Git
C. Blender
D. Photoshop
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 16

Który z poniższych przypadków stanowi test niefunkcjonalny?

A. Testowanie wydajności aplikacji pod dużym obciążeniem
B. Sprawdzenie obsługi formularza rejestracji
C. Weryfikacja poprawności logowania użytkownika
D. Sprawdzenie działania przycisku
Sprawdzenie poprawności logowania użytkownika to przykład testu funkcjonalnego, który ocenia, czy aplikacja spełnia wymagania w zakresie autoryzacji i uwierzytelnienia. Weryfikacja działania przycisku oraz obsługi formularza rejestracji to także testy funkcjonalne, które dotyczą poprawności interakcji użytkownika z aplikacją. Testy te nie oceniają wydajności ani stabilności aplikacji w warunkach dużego obciążenia, co jest celem testów niefunkcjonalnych.

Pytanie 17

Który z podanych algorytmów operujących na jednowymiarowej tablicy posiada złożoność obliczeniową O(n2)?

A. Wypisanie elementów
B. Wyszukiwanie binarne
C. Sortowanie bąbelkowe
D. Sortowanie szybkie
Sortowanie bąbelkowe, znane również jako bubble sort, to prosty algorytm sortowania, który działa na zasadzie wielokrotnego przechodzenia przez tablicę i porównywania sąsiadujących ze sobą elementów. Algorytm ten ma złożoność obliczeniową O(n^2), co oznacza, że w najgorszym przypadku liczba operacji porównania wzrasta kwadratowo wraz ze wzrostem liczby elementów w tablicy. Przykładowo, dla tablicy o 5 elementach algorytm może wykonać do 10 porównań. W praktyce sortowanie bąbelkowe jest rzadko stosowane w dużych zbiorach danych ze względu na swoją niską efektywność, jednak jest to dobry przykład do nauki podstaw algorytmów sortujących. Standardy algorytmów sortujących, takie jak te zawarte w podręcznikach algorytmiki, często używają sortowania bąbelkowego jako przykładu do omówienia prostych koncepcji związanych z sortowaniem. Warto zauważyć, że chociaż algorytm ten jest prosty do zrozumienia, jego złożoność czasowa sprawia, że nie jest on praktyczny do stosowania w produkcyjnych rozwiązaniach, gdyż bardziej optymalne algorytmy, jak sortowanie szybkie czy sortowanie przez scalanie, osiągają złożoność O(n log n).

Pytanie 18

Który z frameworków pozwala na tworzenie aplikacji z graficznym interfejsem użytkownika oraz obsługą wydarzeń?

A. TensorFlow
B. Express.js
C. Django
D. Qt
Django to framework do tworzenia aplikacji webowych w języku Python, a nie narzędzie do budowy aplikacji desktopowych z interfejsem graficznym. TensorFlow to biblioteka do uczenia maszynowego i sztucznej inteligencji, która nie ma bezpośredniego związku z projektowaniem GUI. Express.js to framework dla Node.js, który służy do budowy aplikacji serwerowych i API, ale nie jest narzędziem do projektowania interfejsów użytkownika w aplikacjach desktopowych.

Pytanie 19

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

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

Pytanie 20

Jakie wartości jest w stanie przechować zmienna o typie logicznym?

A. Wartość w reprezentacji binarnej
B. Dowolną liczbę rzeczywistą
C. Tylko ciąg znaków
D. Jedną z dwóch opcji: true lub false
Zmienna typu logicznego (boolean) może przechowywać jedną z dwóch wartości: 'true' lub 'false'. Są to podstawowe wartości wykorzystywane w operacjach warunkowych i pętlach, które decydują o przepływie sterowania w programach. Wartości logiczne są kluczowe w konstrukcjach takich jak 'if-else', pętlach 'while' oraz w porównaniach. W wielu językach programowania 'true' jest równoznaczne z 1, a 'false' z 0, co pozwala na łatwą integrację z typami całkowitymi. Typ boolean jest niezbędny w programowaniu, umożliwiając implementację decyzji, walidacji danych i automatyzacji procesów.

Pytanie 21

W języku C# szablon List umożliwia korzystanie z listy. Z definicji obiektu kolekcji wynika, że jego elementami mogą być:

Ilustracja do pytania
A. elementy o nieokreślonym typie
B. liczby całkowite
C. liczby rzeczywiste
D. elementy typu List
Inicjalizacja listy w C# (List) wskazuje, że jej elementami są liczby całkowite (int). Szablony (generics) w C# umożliwiają tworzenie list o określonym typie, co zapobiega błędom podczas dodawania elementów. Listy w C# są dynamiczne, co oznacza, że ich rozmiar może być zmieniany w trakcie działania programu, a elementy mogą być dowolnie dodawane lub usuwane.

Pytanie 22

Dziedziczenie jest używane, gdy zachodzi potrzeba

A. wykorzystania stałych wartości, niezmieniających się w trakcie działania aplikacji
B. asynchronicznej realizacji długotrwałych zadań
C. określenia zasięgu dostępności metod i pól danej klasy
D. sformułowania klasy bardziej szczegółowej niż już stworzona
Asynchroniczna obsługa operacji nie jest związana z dziedziczeniem, raczej chodzi tu o programowanie współbieżne. A jeśli chodzi o stałe, to definiuje się je jako stałe (const), a dziedziczenie to zupełnie inna bajka. Pamiętaj, że widoczność metod i pól kontrolują modyfikatory dostępu, takie jak private, protected i public, więc to też jest ważne.

Pytanie 23

Które z poniższych twierdzeń najlepiej charakteryzuje bibliotekę w kontekście programowania?

A. Zbiór zmiennych globalnych, które są dostępne w trakcie działania aplikacji
B. Zbiór kodu źródłowego, który jest stosowany wyłącznie w fazie kompilacji aplikacji
C. Zestaw funkcji i klas, które mogą być wykorzystywane w aplikacjach
D. Plik wykonywalny, który funkcjonuje jako odrębny program
Biblioteka w programowaniu to taka paczka różnych funkcji i klas, które można wykorzystać w wielu projektach. Dzięki nim programiści mają łatwiej, bo korzystają z gotowych rozwiązań, co oszczędza czas na pisanie aplikacji. W bibliotekach można znaleźć przeróżne moduły – od prostych funkcji matematycznych po skomplikowane narzędzia do obsługi grafiki, sieci czy baz danych. Znam parę popularnych bibliotek, takich jak React.js w JavaScript, NumPy w Pythonie czy STL w C++. Używanie bibliotek sprawia, że praca programisty jest efektywniejsza, a tworzenie bardziej złożonych aplikacji idzie szybciej, bo nie musisz wszystkiego pisać od podstaw.

Pytanie 24

Jakie są główne cechy architektury klient-serwer?

A. Każdy klient funkcjonuje niezależnie od pozostałych
B. Komunikacja odbywa się bezpośrednio między urządzeniami klienckimi
C. Dane są przechowywane i przetwarzane na serwerze, a klient wysyła żądania i odbiera odpowiedzi
D. Serwer pełni rolę pasywnego odbiorcy danych od klientów
Architektura klient-serwer to model, w którym dane są przechowywane i przetwarzane na serwerze, a klient wysyła żądania i odbiera odpowiedzi. Model ten umożliwia centralizację zasobów, co prowadzi do łatwiejszego zarządzania aplikacjami i zwiększonego bezpieczeństwa. Klient-serwer jest podstawą działania aplikacji webowych, usług sieciowych oraz baz danych. Dzięki temu architektura ta umożliwia wielu użytkownikom jednoczesny dostęp do tych samych danych, co czyni ją wydajnym rozwiązaniem dla rozproszonych systemów informatycznych. Serwery mogą obsługiwać różne rodzaje klientów, takie jak przeglądarki, aplikacje mobilne czy urządzenia IoT, co sprawia, że jest to wszechstronny model stosowany w wielu branżach.

Pytanie 25

Celem mechanizmu obietnic (ang. promises) w języku JavaScript jest

A. zarządzanie przechwytywaniem błędów aplikacji
B. zarządzanie funkcjonalnością związaną z kodem asynchronicznym
C. zastąpienie mechanizmu dziedziczenia w programowaniu obiektowym
D. ulepszenie czytelności kodu synchronicznego
Mechanizm obietnic (Promises) w JavaScript umożliwia obsługę kodu asynchronicznego. Pozwala na efektywne zarządzanie operacjami, które mogą się zakończyć sukcesem lub błędem w przyszłości, np. pobieranie danych z API. Promisy umożliwiają unikanie tzw. 'callback hell' i poprawiają czytelność kodu.

Pytanie 26

W środowisku do tworzenia aplikacji, gdzie przedstawiono menu, aby usunąć wszystkie pliki tymczasowe oraz wyniki projektu, należy wybrać opcję

Ilustracja do pytania
A. Run Code Analysis on Solution
B. Clean Solution
C. Batch Build
D. Build Solution
Run Code Analysis on Solution analizuje kod pod kątem błędów, ale nie usuwa plików. Batch Build służy do kompilacji wielu projektów na raz, a Build Solution kompiluje kod, ale nie czyści plików pośrednich, co może prowadzić do błędów podczas budowy projektu.

Pytanie 27

Jaką nazwę elementu interfejsu należy wprowadzić w pierwszej linii kodu, na miejscu

Ilustracja do pytania
A. Switch
B. SeekBar
C. RatingBar
D. Spinner
Kontrolka 'Switch' to taki przycisk, który służy do zmiany stanu, na przykład włączania i wyłączania czegoś. W Androidzie mamy klasę Switch, która często jest używana do aktywacji lub dezaktywacji różnych funkcji w ustawieniach aplikacji. Moim zdaniem, to bardzo przydatne narzędzie, bo pozwala użytkownikom łatwo zarządzać opcjami.

Pytanie 28

Jakie z wymienionych narzędzi służy do testowania aplikacji?

A. Git
B. Selenium
C. Photoshop
D. WordPress
Selenium to potężne narzędzie do automatycznego testowania aplikacji webowych. Umożliwia ono symulowanie działań użytkownika na stronie internetowej, takich jak klikanie przycisków, wypełnianie formularzy czy nawigowanie po witrynie. Dzięki Selenium programiści mogą automatyzować testy funkcjonalne i regresyjne, co pozwala na szybkie wykrywanie błędów i sprawdzanie zgodności aplikacji z wymaganiami. Selenium obsługuje wiele języków programowania, takich jak Python, Java, C# czy JavaScript, co czyni je wszechstronnym narzędziem do testowania aplikacji webowych na różnych platformach i przeglądarkach. Jest to jedno z najważniejszych narzędzi w arsenale testerów oprogramowania i deweloperów dbających o jakość swoich produktów.

Pytanie 29

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

A. Ograniczenie hałasu w pomieszczeniu
B. Umieszczanie monitorów na wysokości oczu
C. Regulowanie poziomu oświetlenia w biurze
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.

Pytanie 30

W jakim języku został stworzony framework Angular?

A. Typescript
B. PHP
C. C#
D. Postscript
Angular został napisany w TypeScript, który jest nadzbiorem JavaScriptu i wprowadza statyczne typowanie. TypeScript pozwala na lepszą organizację kodu, co czyni Angular bardziej stabilnym i efektywnym narzędziem do tworzenia aplikacji webowych.

Pytanie 31

Jakie ma znaczenie operator "==" w języku C++?

A. Porównanie dwóch wartości
B. Zwiększenie wartości zmiennej o 1
C. Przypisanie wartości do zmiennej
D. Negacja logiczna
Operator `==` w języku C++ oraz w wielu innych językach programowania, takich jak Java, Python czy JavaScript, jest używany do porównywania dwóch wartości. Jeśli wartości są równe, zwracana jest wartość logiczna `true`, w przeciwnym razie `false`. Operator ten jest niezbędny w instrukcjach warunkowych i pętlach, umożliwiając programowi podejmowanie decyzji na podstawie porównań. Przykładem użycia jest `if (a == b)`, co oznacza: jeśli zmienna `a` jest równa zmiennej `b`, wykonaj określony blok kodu.

Pytanie 32

Zalecenia standardu WCAG 2.0 dotyczące percepcji koncentrują się na

A. zapewnieniu odpowiedniej ilości czasu na przeczytanie i zrozumienie treści
B. umożliwieniu interakcji między komponentami użytkownika za pomocą klawiatury
C. zrozumieniu i wiarygodności prezentowanych treści na stronie
D. prezentacji elementów interfejsu użytkownika
Rekomendacje standardu WCAG 2.0 dotyczące percepcji koncentrują się na tym, jak użytkownicy postrzegają i interpretują treści na stronach internetowych, co obejmuje również komponenty interfejsu użytkownika. Standardy te nakładają obowiązek projektowania elementów interaktywnych w sposób, który umożliwia ich łatwe identyfikowanie i zrozumienie przez wszystkich użytkowników, w tym osoby z niepełnosprawnościami. Przykłady obejmują odpowiednie etykietowanie przycisków, stosowanie kontrastujących kolorów oraz zapewnienie wyraźnych granic dla interaktywnych elementów. Komponenty takie jak formularze, menu nawigacyjne czy przyciski akcji muszą być intuicyjnie zrozumiałe i łatwe w obsłudze. Odniesienia do standardów WCAG 2.0, szczególnie do wytycznych związanych z percepcją, podkreślają znaczenie dostosowania treści do różnych percepcyjnych sposobów odbioru, co jest kluczowe dla zapewnienia dostępności. Właściwe zastosowanie tych zasad sprzyja lepszej użyteczności, co przekłada się na pozytywne doświadczenia użytkowników.

Pytanie 33

Programista może wykorzystać framework Angular do realizacji aplikacji:

A. mobilnej
B. rodzaju back-end
C. rodzaju front-end
D. na komputerze
Angular to świetne narzędzie do tworzenia aplikacji front-endowych. Chodzi o to, że odpowiada za to, co widzi użytkownik i jak może z tym interagować. Dzięki Angular możemy budować dynamiczne i responsywne aplikacje webowe. Z tego co widzę, używamy tam komponentów, modułów i rzeczy typu dwukierunkowe wiązanie danych, co naprawdę ułatwia życie. Bez wątpienia, Angular jest jednym z najpopularniejszych frameworków do robienia interfejsów użytkownika, co tylko potwierdza jego efektywność.

Pytanie 34

Celem zastosowania wzorca Obserwator w tworzeniu aplikacji WEB jest:

A. monitorowanie działań użytkownika oraz generowanie wyjątków
B. dostosowanie interfejsu użytkownika do różnych kategorii użytkowników
C. zarządzanie funkcjami synchronicznymi w kodzie aplikacji
D. informowanie obiektów o modyfikacji stanu innych obiektów
Wzorzec projektowy 'Obserwator' (Observer) umożliwia powiadamianie obiektów o zmianie stanu innego obiektu, co pozwala na luźne powiązanie między komponentami aplikacji. Jest szeroko stosowany w programowaniu aplikacji webowych i desktopowych, gdzie zmiany w jednym elemencie interfejsu użytkownika mogą automatycznie aktualizować inne części systemu. Dzięki temu wzorzec ten wspiera reużywalność kodu i ułatwia zarządzanie złożonymi systemami.

Pytanie 35

Programista pragnie wybrać algorytm, który najszybciej przetwarza dane w jego aplikacji. Na podstawie złożoności obliczeniowej przedstawionej w tabeli, należy wskazać algorytm numer

Ilustracja do pytania
A. 2 lub 3
B. 1 lub 5
C. 4
D. 3
Algorytm numer 4 w tabeli złożoności obliczeniowej działa najszybciej, co wynika z jego niskiej złożoności czasowej. Algorytmy o niższej złożoności są bardziej efektywne przy dużych zbiorach danych.

Pytanie 36

Jakie narzędzie jest najbardziej odpowiednie do identyfikacji błędów w trakcie działania programu?

A. Interpreter
B. Linker
C. Debugger
D. Kompilator
Kompilator służy do tłumaczenia kodu źródłowego na kod maszynowy przed uruchomieniem programu, ale nie analizuje błędów w czasie jego wykonywania. Interpreter tłumaczy kod na bieżąco, ale nie pozwala na zatrzymywanie programu i analizowanie jego działania krok po kroku. Linker to narzędzie, które łączy różne moduły i biblioteki w jeden plik wykonywalny, ale nie ma funkcji analizy błędów w czasie działania programu – jego rola kończy się po wygenerowaniu pliku wykonywalnego.

Pytanie 37

Jakie zastosowanie ma język Swift w zakresie aplikacji mobilnych?

A. Do tworzenia aplikacji na system Android
B. Do tworzenia aplikacji na system iOS
C. Do przeprowadzania testów aplikacji mobilnych
D. Do zarządzania bazami danych w aplikacjach mobilnych
Swift to język programowania stworzony przez Apple, który służy do tworzenia aplikacji na system iOS, macOS, watchOS i tvOS. Swift został zaprojektowany z myślą o nowoczesnym i bezpiecznym programowaniu, eliminując wiele typowych błędów spotykanych w Objective-C, takich jak null pointer exceptions. Dzięki swojej wydajności, przejrzystej składni i integracji z XCode, Swift stał się standardem w ekosystemie Apple. Język wspiera interaktywną platformę Playground, co umożliwia szybkie testowanie kodu, a także pełną integrację z narzędziami Apple, co czyni go niezbędnym narzędziem dla deweloperów aplikacji na iPhone'y i iPady.

Pytanie 38

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

Ilustracja do pytania
A. O(n2)
B. O(1)
C. O(n log n)
D. O(n)
Złożoność obliczeniowa tego algorytmu to O(n). To znaczy, że jak dodajemy więcej elementów, to czas działania algorytmu rośnie w liniowy sposób. To jest całkiem fajne, bo sprawdza się w wielu praktycznych sytuacjach.

Pytanie 39

Które z poniższych twierdzeń najlepiej charakteryzuje metodę wirtualną?

A. Metoda, która może być wywoływana tylko przez klasę nadrzędną
B. Metoda, która działa wyłącznie dla statycznych pól danej klasy
C. Metoda, która może być przesłonięta w klasie dziedziczącej
D. Metoda, która jest zawsze stosowana w konstruktorach danej klasy
Metoda, która może być wywoływana tylko przez klasę bazową to raczej metoda prywatna lub chroniona, a nie wirtualna. Metody statyczne są związane z klasą, a nie z konkretnymi obiektami, więc nie można ich tak po prostu nadpisać w klasie pochodnej. A tak w ogóle, metody w konstruktorach zazwyczaj nie są wirtualne, bo wywołanie metod wirtualnych w konstruktorze może prowadzić do dziwnych rzeczy – w konstruktorze klasy bazowej składowe klasy pochodnej jeszcze nie są gotowe.

Pytanie 40

Programista może wykorzystać framework Angular do realizacji aplikacji

A. typu back-end
B. desktopowej
C. mobilnej
D. typu front-end
Angular to naprawdę fajny framework, stworzony przez Google, który głównie skupia się na tworzeniu aplikacji webowych po stronie klienta, czyli na front-endzie. Umożliwia programistom tworzenie dynamicznych i interaktywnych interfejsów użytkownika. Dzięki tej modularnej budowie, można łatwo zarządzać różnymi częściami aplikacji, co jest super przydatne. Z własnego doświadczenia mogę powiedzieć, że Angular świetnie nadaje się do aplikacji jednoekranowych (SPA), bo pozwala na ładowanie danych asynchronicznie. Przykładem może być aplikacja do zarządzania projektami, gdzie użytkownik może dodawać, edytować i usuwać zadania bez przeładowywania strony. Angular integruje się też z RxJS, co sprawia, że zarządzanie zdarzeniami i strumieniami danych staje się efektywniejsze. Warto również dodać, że Angular CLI pozwala szybko generować komponenty i inne elementy aplikacji, co przyspiesza cały proces tworzenia i pomaga utrzymać spójność projektu.