Wyniki egzaminu

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

Egzamin zdany!

Wynik: 22/40 punktów (55,0%)

Wymagane minimum: 20 punktów (50%)

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

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

A. free()
B. sizeof()
C. malloc()
D. delete[]
Funkcja 'malloc()' w języku C i C++ służy do dynamicznego alokowania pamięci dla tablic i innych struktur danych. Jest to kluczowa funkcja pozwalająca na przydzielenie określonej ilości bajtów w czasie wykonywania programu, co zwiększa elastyczność zarządzania pamięcią. Używając 'malloc()', programista może utworzyć tablicę o zmiennym rozmiarze, który nie musi być znany w czasie kompilacji. Dynamiczne alokowanie pamięci jest powszechnie stosowane w aplikacjach wymagających dużych ilości danych lub wtedy, gdy konieczne jest efektywne wykorzystanie zasobów systemowych.

Pytanie 2

Przedstawione kody zawierają realizację funkcji oraz jeden zdefiniowany test automatyczny, który weryfikuje działanie funkcji w przypadku, gdy argumentem jest liczba ujemna. W miejscu kropek trzeba dodać drugi test, który sprawdzi funkcjonalność funkcji, kiedy argumentem jest liczba dodatnia. Który z poniższych kodów jest odpowiedni do tego testu?

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź C
C. Odpowiedź B
D. Odpowiedź A
Błędne odpowiedzi A B oraz D wynikają z niepoprawnego zrozumienia działania funkcji fun1 która przekształca wartość ujemną na dodatnią ale nie zmienia wartości dodatnich Odpowiedź A sugeruje że funkcja powinna dodać 1 do wartości co nie jest zgodne z jej definicją Funkcja nie wykonuje operacji arytmetycznych poza mnożeniem ujemnych liczb przez -1 co w odpowiedzi A nie ma zastosowania Wynik testu oczekiwany jako result+1 nie odzwierciedla poprawnego działania funkcji Odpowiedź B natomiast błędnie zakłada że funkcja przekształca dodatnie liczby w ujemne co nie jest prawdą Funkcja jedynie zmienia znak dla ujemnych wartości więc test oczekujący że 2 przekształci się w -2 jest niepoprawny Odpowiedź D z kolei zakłada że funkcja zmienia znak liczby dodatniej 1 do wartości -1 co również nie jest zgodne z założeniami funkcji Fun1 powinna zwracać tę samą wartość dla liczby dodatniej Funkcje jednostkowe są kluczowym narzędziem do zapewnienia niezawodności kodu i ich prawidłowe zrozumienie jest niezbędne do skutecznego testowania oprogramowania W kontekście tego pytania jedynie odpowiedź C prawidłowo odzwierciedla poprawne zachowanie funkcji dla wartości dodatnich co jest zgodne z jej implementacją

Pytanie 3

Jakie znaczenie ma poziom dostępności AAA w WCAG 2.0?

A. Najwyższy poziom dostępności
B. Dostosowanie tylko do użytkowników mobilnych
C. Średni standard dostępności
D. Najnizszy poziom dostępności
Poziom dostępności AAA w WCAG 2.0 oznacza najwyższy standard dostępności, który ma na celu zapewnienie, że treści internetowe są dostępne dla wszystkich użytkowników, w tym osób z różnymi rodzajami niepełnosprawności. WCAG, czyli Wytyczne dotyczące dostępności treści internetowych, są międzynarodowym standardem, który definiuje, jak tworzyć dostępne treści. Poziom AAA obejmuje wszystkie wytyczne z poziomów A i AA oraz dodatkowe wymagania, które są bardziej rygorystyczne. Przykładem może być konieczność zapewnienia alternatywnych opisów dla wszystkich mediów, w tym dla materiałów wideo i audio, a także użycie odpowiednich kontrastów kolorystycznych. W praktyce oznacza to, że strony internetowe muszą być projektowane z myślą o właściwej nawigacji, dostępnym oprogramowaniu czytającym oraz dostosowanych formatach tekstowych, które są łatwe do przetwarzania przez osoby z różnymi ograniczeniami. Wdrożenie poziomu AAA jest wyzwaniem, ale przyczynia się do bardziej inkluzywnego środowiska online.

Pytanie 4

Jedną z dolegliwości, która pojawia się u programistów w wyniku długotrwałego korzystania z myszki komputerowej lub klawiatury, objawiającą się bólami, drętwieniem oraz zaburzeniami czucia w obszarze 1-3 palca dłoni jest

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

Pytanie 5

Który z wymienionych aktów prawnych odnosi się do ochrony danych osobowych w krajach Unii Europejskiej?

A. GDPR (RODO)
B. DMCA
C. Creative Commons
D. Open Source Initiative
GDPR (RODO) to akt prawny dotyczący ochrony danych osobowych w Unii Europejskiej. Wprowadza on jednolite zasady przetwarzania danych, zwiększając ochronę prywatności obywateli. RODO daje użytkownikom prawo do dostępu do swoich danych, ich poprawiania, a także żądania ich usunięcia (prawo do bycia zapomnianym). Firmy muszą transparentnie informować o celach przetwarzania danych oraz zapewniać odpowiedni poziom zabezpieczeń. Niezastosowanie się do przepisów RODO skutkuje wysokimi karami finansowymi.

Pytanie 6

Jakie środowisko deweloperskie jest najczęściej wykorzystywane do budowy aplikacji na platformę Android?

A. PyCharm
B. XCode
C. Visual Studio
D. Android Studio
Android Studio to oficjalne środowisko programistyczne (IDE) do tworzenia aplikacji na system Android. Zostało opracowane przez Google i zapewnia pełne wsparcie dla języków takich jak Java, Kotlin oraz C++. Android Studio oferuje narzędzia do projektowania interfejsu użytkownika (UI), emulatory urządzeń, a także debugger i profiler, które pozwalają na testowanie i optymalizację aplikacji. IDE to jest zintegrowane z Android SDK, co ułatwia dostęp do API systemu Android oraz narzędzi takich jak ADB (Android Debug Bridge). Android Studio to kluczowe narzędzie dla deweloperów mobilnych, umożliwiające szybkie wdrażanie aplikacji na różne urządzenia oraz publikację w Google Play Store.

Pytanie 7

Jakie pola powinny być umieszczone w klasie nadrzędnej w strukturze dziedziczenia?

A. Pola, które są tylko prywatne
B. Pola, które są charakterystyczne jedynie dla pojedynczej klasy pochodnej
C. Pola, które są wykorzystywane tylko w funkcjach statycznych
D. Pola, które są wspólne dla wszystkich klas pochodnych
W klasie bazowej w hierarchii dziedziczenia umieszcza się pola, które są wspólne dla wszystkich klas pochodnych. Dzięki temu klasy pochodne mogą dziedziczyć te same właściwości, co eliminuje konieczność ich wielokrotnego definiowania. Jest to jedna z głównych zalet programowania obiektowego, umożliwiająca reużywalność kodu i zwiększenie spójności w projekcie. Przykładem może być klasa 'Pracownik', która zawiera pola takie jak 'imię', 'nazwisko' i 'wynagrodzenie', a klasy pochodne, takie jak 'Inżynier' czy 'Księgowy', mogą dziedziczyć te same pola, dodając jedynie specyficzne właściwości dla swojej roli.

Pytanie 8

Jak zostanie przedstawiony poniższy kod XAML?

Ilustracja do pytania
A. Rysunek 3
B. Rysunek 1
C. Rysunek 2
D. Rysunek 4
W przedstawionym kodzie XAML widoczna jest struktura składająca się z kilku elementów UI ułożonych w pionowym StackLayout co skutkuje wyświetleniem ich w pionowej kolejności. Pierwszym elementem jest Entry z placeholderem Imię a kolejnym Entry z placeholderem Nazwisko co determinuje obecność dwóch pól tekstowych tak jak w Rysunku 4. Następnie w kodzie znajduje się poziomy StackLayout z etykietą Zgoda RODO i przełącznikiem ustawionym na wartość true co oznacza że przełącznik jest domyślnie włączony. To również odpowiada widokowi na Rysunku 4. Kolejny element to Slider z ustawionymi kolorami MinimumTrackColor i MaximumTrackColor co pozwala na zmianę koloru paska suwaka co również jest widoczne w Rysunku 4. Na końcu znajduje się Button z tekstem Zapisz i jest to jedyny przycisk w całym układzie co także zgadza się z Rysunkiem 4. Rozumienie kodu XAML i jego renderowania jest kluczowe w tworzeniu aplikacji mobilnych ponieważ pozwala na precyzyjne określenie wyglądu i funkcjonalności interfejsu użytkownika i jest zgodne z najlepszymi praktykami w projektowaniu UI.

Pytanie 9

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

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

Pytanie 10

W przedsiębiorstwie IT obowiązują określone zasady dotyczące zarządzania projektami, co wskazuje, że firma wykorzystuje model zarządzania

Ilustracja do pytania
A. zwinny
B. spiralny
C. kaskadowy
D. prototypowy
Prototypowy – Skupia się na szybkim tworzeniu prototypów, a nie iteracyjnym rozwoju. Kaskadowy – Charakteryzuje się sztywną, liniową strukturą, bez elastyczności. Spiralny – Łączy prototypowanie i analizę ryzyka, ale nie jest bezpośrednio modelem zwinnym.

Pytanie 11

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

A. formatu JSON
B. metody POST
C. biblioteki jQuery
D. protokołem SSH
Jest taka sprawa z jQuery – chociaż to super narzędzie do manipulacji DOM i pracy z asynchronicznymi żądaniami HTTP, to jednak nie jest formatem danych. Tak, jQuery świetnie działa z AJAX-em, ale nie definiuje, jak dane powinny być przesyłane. Jak już używasz jQuery do przesyłania danych, to potrzebujesz formatu, na przykład JSON. Dlatego ta odpowiedź jest niepoprawna. Metoda POST umożliwia przesyłanie danych do serwera w protokole HTTP, ale sama w sobie nie mówi, w jakim formacie te dane będą przesyłane. Można używać różnych formatów, w tym JSON, ale sama metoda POST to za mało. A SSH, czyli Secure Shell, to protokół do bezpiecznego logowania i zdalnego zarządzania systemami, a nie do przesyłania danych między aplikacjami webowymi a serwerem. Dlatego tu też mamy błąd. Wszystkie te technologie są ważne, ale nie mówią o przesyłaniu danych w kontekście front-endu tak, jak robi to JSON.

Pytanie 12

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

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

Pytanie 13

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

A. Przekazywanie danych do programu z zewnętrznych źródeł
B. Wprowadzanie nowych funkcji do aplikacji
C. Naprawianie błędów w kodzie aplikacji
D. Zmiana wartości zmiennych globalnych
Dodawanie nowych funkcji do programu to element programowania, ale nie jest to związane z operacją wejścia. Modyfikowanie wartości zmiennych globalnych to operacja na poziomie kodu, a nie proces wejścia danych. Usuwanie błędów w kodzie programu to etap debugowania, a nie operacja wejścia. Operacje wejścia koncentrują się na interakcji z użytkownikiem lub innymi źródłami danych, co odróżnia je od modyfikacji kodu czy zarządzania błędami.

Pytanie 14

Jakie składniki powinien mieć plan projektu?

A. Tylko czas wykonania i budżet
B. Wyłącznie etapy projektu
C. Terminy i zasoby ludzkie
D. Etapy projektu, ramy czasowe, zasoby i zadania
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 15

Jakie z wymienionych działań jest fundamentalne w modelu kaskadowym?

A. Zakończenie jednej fazy przed rozpoczęciem następnej
B. Przeprowadzanie testów systemu po zakończeniu każdej fazy
C. Iteracyjne wprowadzanie modyfikacji na każdym poziomie
D. Równoległe prowadzenie wielu etapów projektu
Równoległa realizacja kilku faz to cecha modelu przyrostowego lub iteracyjnego, który pozwala na pracę nad różnymi etapami jednocześnie. Iteracyjne wprowadzanie zmian to charakterystyczna cecha Agile, gdzie projekt rozwijany jest stopniowo. Testowanie po każdej fazie jest istotnym elementem w różnych metodykach, ale sam proces testowania nie definiuje modelu kaskadowego – tutaj testowanie odbywa się dopiero po zakończeniu implementacji całego systemu.

Pytanie 16

Która z poniższych informacji o pojęciu obiekt jest prawdziwa?

A. obiekt to typ złożony
B. obiekt jest instancją klasy
C. obiekt oraz klasa są identyczne
D. obiekt pozwala na zdefiniowanie klasy
Obiekt nie jest typem złożonym – jest konkretnym egzemplarzem klasy, która jest typem złożonym. Obiekt i klasa to nie to samo – klasa jest definicją, a obiekt jej instancją. Obiekt nie definiuje klasy, to klasa tworzy obiekt poprzez swoje instancje. Takie rozróżnienie jest kluczowe dla zrozumienia programowania obiektowego.

Pytanie 17

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

A. performance testing
B. integration testing
C. security testing
D. unit 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 18

Jaką rolę odgrywa pamięć operacyjna (RAM) w komputerowym systemie?

A. Umożliwienie tworzenia kopii zapasowej danych użytkownika
B. Zarządzanie transferem danych pomiędzy urządzeniami wejścia/wyjścia
C. Tymczasowe magazynowanie danych i instrukcji dla procesora
D. Trwałe przechowywanie systemu operacyjnego
Odpowiedzi, które sugerują inne funkcje pamięci operacyjnej, są niepoprawne z kilku powodów. Stałe przechowywanie systemu operacyjnego jest zarezerwowane dla pamięci masowej, takiej jak dyski twarde lub SSD, które zapewniają długoterminowe przechowywanie danych. Pamięć RAM jest ulotna, co oznacza, że wszystkie dane są tracone po wyłączeniu zasilania, podczas gdy system operacyjny musi być zawsze dostępny po restarcie komputera. Kolejną nieścisłością jest sugestia, że RAM zarządza przepływem danych między urządzeniami wejścia/wyjścia. To zadanie leży w gestii kontrolerów i systemu operacyjnego, które koordynują interakcję między różnorodnymi urządzeniami, a nie samej pamięci operacyjnej. Ostatnia odpowiedź dotycząca zapewnienia kopii zapasowej danych użytkownika również jest błędna. Kopie zapasowe są zwykle przechowywane na pamięci masowej, a nie w RAM, która nie ma zdolności do trwałego przechowywania danych. Pamięć operacyjna służy jedynie do tymczasowego przetrzymywania danych potrzebnych do bieżącego działania systemu komputerowego.

Pytanie 19

Jakie jest źródło błędu w podanym kodzie przez programistę?

Ilustracja do pytania
A. argumenty konstruktora powinny być przekazane podczas inicjacji obiektu
B. pole autor jest niedostępne z tego poziomu
C. inicjacja obiektu została błędnie zapisana
D. brak konstruktora w definicji klasy
Brak konstruktora w definicji klasy nie jest błędem – jeśli konstruktor nie zostanie jawnie zdefiniowany, kompilator wygeneruje domyślny konstruktor bez parametrów. Błędna inicjalizacja obiektu lub brak argumentów w wywołaniu konstruktora mogą prowadzić do błędów kompilacji, ale nie mają związku z dostępem do prywatnych pól klasy. Problem polega na naruszeniu zasad dostępu do pól prywatnych, co jest rozwiązane poprzez odpowiednie mechanizmy dostępowe i stosowanie konwencji programistycznych, takich jak wzorzec projektowy getter-setter.

Pytanie 20

Który z języków programowania jest powszechnie wykorzystywany do tworzenia aplikacji na komputery stacjonarne?

A. C++
B. JavaScript
C. HTML
D. PHP
HTML to język znaczników używany do tworzenia stron internetowych, a nie aplikacji desktopowych. Choć HTML może być wykorzystany do budowy interfejsów w aplikacjach webowych, nie oferuje bezpośredniego wsparcia dla budowy natywnych aplikacji desktopowych. PHP jest językiem skryptowym, który działa po stronie serwera i jest głównie stosowany w aplikacjach webowych – jego zastosowanie w aplikacjach desktopowych jest ograniczone. JavaScript jest językiem programowania używanym głównie w przeglądarkach internetowych i rzadko stosowanym w budowie tradycyjnych aplikacji desktopowych, z wyjątkiem technologii takich jak Electron, które pozwalają na tworzenie aplikacji wieloplatformowych w oparciu o webowe technologie.

Pytanie 21

Jaką rolę odgrywa interpreter w kontekście programowania?

A. Generuje plik wykonywalny dla systemu operacyjnego
B. Przekłada kod źródłowy na język maszynowy w trakcie działania programu
C. Łączy kod źródłowy z zewnętrznymi bibliotekami
D. Zoptymalizowuje wydajność aplikacji w środowisku produkcyjnym
Tworzenie pliku wykonywalnego jest cechą kompilatora, który generuje gotowy program działający niezależnie od kodu źródłowego. Łączenie kodu z bibliotekami zewnętrznymi to zadanie linkera, który przygotowuje aplikację do uruchomienia, a nie interpretera. Optymalizacja działania aplikacji w środowisku produkcyjnym to rola profilerów i narzędzi do monitorowania wydajności, a nie interpretera, który nie ingeruje w działanie programu po jego uruchomieniu.

Pytanie 22

Który z wymienionych elementów można zdefiniować jako psychofizyczny?

A. Nadmiar światła w miejscu pracy
B. Stres i monotonia pracy
C. Promieniowanie elektromagnetyczne
D. Zanieczyszczenie powietrza
Czynniki psychofizyczne w środowisku pracy obejmują takie elementy jak stres, monotonia pracy oraz nadmierne obciążenie organizmu. Są to zagrożenia, które mogą prowadzić do wypalenia zawodowego, depresji, spadku koncentracji i zwiększonego ryzyka popełniania błędów. Stres i monotonia pracy to jedne z najczęstszych psychofizycznych zagrożeń, które mogą wpływać nie tylko na zdrowie psychiczne, ale również na fizyczne samopoczucie pracownika. W celu ich minimalizacji organizacje wdrażają programy wsparcia psychologicznego, zapewniają przerwy, rotację obowiązków i dbają o dobrą atmosferę w pracy. Kluczowe jest także odpowiednie zarządzanie czasem pracy i eliminowanie monotonnych zadań na rzecz bardziej zróżnicowanych obowiązków.

Pytanie 23

Jednym z rodzajów testów funkcjonalnych, które można przeprowadzić na aplikacji webowej, jest ocena

A. poprawności wyświetlanych elementów aplikacji
B. poziomu optymalizacji kodu aplikacji
C. bezpieczeństwa aplikacji
D. wydajności aplikacji
Testy funkcjonalne w aplikacji webowej są super ważne, bo sprawdzają, czy wszystko działa jak należy. Mówiąc prościej, chodzi o to, żeby zobaczyć, czy wszystkie elementy na stronie są wyświetlane prawidłowo, jak przyciski i formularze. To też dotyczy tego, jak użytkownicy wchodzą w interakcję z różnymi częściami strony. Moim zdaniem, dobrze przeprowadzone testy mogą naprawdę poprawić doświadczenie użytkownika.

Pytanie 24

Dziedziczenie jest używane, gdy zachodzi potrzeba

A. sformułowania klasy bardziej szczegółowej niż już stworzona
B. asynchronicznej realizacji długotrwałych zadań
C. określenia zasięgu dostępności metod i pól danej klasy
D. wykorzystania stałych wartości, niezmieniających się w trakcie działania aplikacji
Dziedziczenie to fajna sprawa, bo pozwala nam tworzyć nowe klasy na bazie tych, które już mamy. Dzięki temu możemy zaoszczędzić dużo czasu na pisaniu kodu i jednocześnie dodawać nowe funkcje do tych klas. To naprawdę kluczowy element programowania obiektowego.

Pytanie 25

Który z poniższych składników NIE jest konieczny do stworzenia klasy w C++?

A. Definicja destruktora
B. Zastosowanie słowa kluczowego class
C. Definicja funkcji członkowskich klasy
D. Deklaracja atrybutów klasy
Do utworzenia klasy w C++ nie jest wymagana definicja destruktora. Destruktor to specjalna metoda klasy, która jest wywoływana automatycznie w momencie zniszczenia obiektu, ale jego obecność jest opcjonalna. Klasy, które nie operują bezpośrednio na zasobach zewnętrznych, takich jak dynamiczna pamięć lub pliki, często nie potrzebują destruktora, ponieważ domyślny destruktor generowany przez kompilator jest wystarczający. Aby utworzyć klasę, wystarczy deklaracja pól i metod oraz użycie słowa kluczowego 'class'. To sprawia, że C++ pozwala na szybkie definiowanie prostych klas, które można później rozwijać w miarę potrzeby.

Pytanie 26

Który z poniższych metod najlepiej zabezpiecza dane karty płatniczej podczas zakupów online?

A. Udostępnianie danych karty na platformach internetowych
B. Podawanie informacji o karcie w odpowiedzi na wiadomość e-mail od nieznajomego
C. Przechowywanie numeru karty w przeglądarce internetowej
D. Używanie wirtualnych kart płatniczych lub jednorazowych kodów
Korzystanie z wirtualnych kart płatniczych lub jednorazowych kodów to skuteczny sposób na ochronę danych karty płatniczej podczas transakcji internetowych. Wirtualne karty mają ograniczony okres ważności i są powiązane z określoną kwotą, co minimalizuje ryzyko kradzieży całego konta bankowego. Jednorazowe kody płatności wygasają po jednorazowym użyciu, co uniemożliwia ich ponowne wykorzystanie przez osoby trzecie. Dzięki tym metodom użytkownicy znacznie redukują ryzyko oszustw i nieautoryzowanych transakcji.

Pytanie 27

Który z poniższych aspektów najdokładniej określa cel realizacji projektu?

A. Określenie problemu i metody jego rozwiązania
B. Stworzenie harmonogramu działań
C. Zidentyfikowanie technologii, które mogą być zastosowane
D. Ocena postępów w czasie realizacji projektu
Określenie problemu i sposobu jego rozwiązania to fundamentalny cel każdego projektu. Bez jasno zdefiniowanego problemu i sprecyzowanej metody jego rozwiązania, projekt może stać się chaotyczny i nieefektywny. Precyzyjna analiza problemu pozwala na wyznaczenie celów, które prowadzą do stworzenia wartościowego produktu lub usługi. Dzięki temu zespół może skupić się na kluczowych zadaniach i efektywnie zarządzać zasobami. Określenie problemu to pierwszy krok w metodykach Agile i Waterfall, który warunkuje sukces całego przedsięwzięcia.

Pytanie 28

Który z wymienionych procesów NIE jest częścią etapu kompilacji?

A. Weryfikacja błędów składniowych
B. Optymalizacja kodu
C. Tłumaczenie kodu źródłowego na język maszynowy
D. Analiza działania programu w czasie rzeczywistym
Optymalizacja kodu to integralna część kompilacji, mająca na celu zwiększenie wydajności programu poprzez usunięcie zbędnych instrukcji i usprawnienie algorytmów. Tłumaczenie kodu źródłowego na język maszynowy jest głównym zadaniem kompilatora, który generuje plik wykonywalny. Weryfikacja błędów składniowych jest jednym z pierwszych etapów kompilacji, mającym na celu upewnienie się, że kod jest poprawny pod względem składni, zanim zostanie przekształcony na kod maszynowy.

Pytanie 29

W jakim języku został stworzony framework Angular?

A. Postscript
B. Typescript
C. C#
D. PHP
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 30

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

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

Pytanie 31

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

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

Pytanie 32

Jakie są kluczowe różnice między typami stałoprzecinkowymi a zmiennoprzecinkowymi?

A. Typy zmiennoprzecinkowe przechowują wyłącznie liczby ujemne
B. Typy stałoprzecinkowe przechowują liczby całkowite, a typy zmiennoprzecinkowe przechowują liczby z ułamkami dziesiętnymi
C. Typy stałoprzecinkowe obsługują liczby ujemne, natomiast typy zmiennoprzecinkowe tylko dodatnie
D. Typy stałoprzecinkowe wymagają większej ilości pamięci niż typy zmiennoprzecinkowe
Stałoprzecinkowe typy obsługują zarówno liczby dodatnie, jak i ujemne – stwierdzenie, że obsługują tylko liczby dodatnie, jest błędne. Stałoprzecinkowe typy danych nie wymagają więcej pamięci niż zmiennoprzecinkowe – wręcz przeciwnie, typy takie jak 'float' zajmują więcej miejsca ze względu na możliwość przechowywania części ułamkowych. Zmiennoprzecinkowe nie przechowują wyłącznie liczb ujemnych – mogą przechowywać zarówno liczby dodatnie, jak i ujemne, co czyni je bardziej wszechstronnymi w niektórych aplikacjach.

Pytanie 33

Która z poniższych deklaracji w języku C++ poprawnie opisuje tablicę dwuwymiarową?

A. int matrix[3][3][3];
B. int matrix[3];
C. int matrix[3][3];
D. int matrix[];
Deklaracja 'int matrix[3][3];' poprawnie definiuje tablicę dwuwymiarową w języku C++. Tablice dwuwymiarowe to kluczowe narzędzie do przechowywania macierzy i danych tabelarycznych. Każdy element macierzy jest dostępny poprzez dwa indeksy, co umożliwia łatwe odwzorowanie układów współrzędnych lub plansz w grach. Tablice tego rodzaju są wykorzystywane w algorytmach obliczeniowych, grafice komputerowej oraz analizie danych. Struktura 'matrix[3][3]' tworzy siatkę 3x3, która może przechowywać 9 elementów, co czyni ją efektywnym rozwiązaniem dla problemów wymagających przestrzennych danych.

Pytanie 34

Które z wymienionych narzędzi najlepiej chroni dane na urządzeniach mobilnych?

A. Zainstalowanie aplikacji rozrywkowych
B. Hasło ustawione na urządzeniu
C. Nieaktualne oprogramowanie
D. Szyfrowanie danych na urządzeniu
Szyfrowanie danych na urządzeniu przenośnym to jedna z najskuteczniejszych metod zabezpieczania poufnych informacji. Szyfrowanie przekształca dane w formę, która jest nieczytelna dla osób nieposiadających odpowiedniego klucza deszyfrującego. Dzięki temu, nawet jeśli urządzenie zostanie zgubione lub skradzione, dane pozostają zabezpieczone przed nieautoryzowanym dostępem. Szyfrowanie to standardowa praktyka stosowana przez największe firmy technologiczne i jest zalecana we wszystkich urządzeniach przenośnych, takich jak laptopy i smartfony.

Pytanie 35

Jakie z wymienionych narzędzi pozwala na jednoczesne korzystanie z systemów BIN, DEC i HEX?

A. Microsoft Word
B. GIMP
C. Przeglądarka grafów
D. Kalkulator systemowy
Microsoft Word to edytor tekstu, który głównie służy do tworzenia, edytowania i formatowania dokumentów. Nie jest on zaprojektowany do pracy z systemami liczbowymi, a jego funkcjonalności koncentrują się na przetwarzaniu tekstu, co czyni go nieodpowiednim narzędziem do konwersji pomiędzy systemami BIN, DEC i HEX. Nie ma wbudowanych funkcji do matematyki binarnej ani konwersji systemów liczbowych, co ogranicza jego zastosowanie w kontekście obliczeń matematycznych. Z kolei GIMP jest programem graficznym używanym do edycji obrazów, który również nie ma funkcji związanych z systemami liczbowymi. Jego główną rolą jest praca z grafiką rastrową i nie oferuje dedykowanych narzędzi do konwersji wartości liczbowych, co sprawia, że nie może być wykorzystany do zadań wymagających pracy z różnymi systemami liczbowymi. Przeglądarka grafów, chociaż może być używana do wizualizacji danych i różnorodnych analiz, to jednak nie jest narzędziem do obliczeń matematycznych ani konwersji systemów liczbowych. Jej funkcjonalność skupia się na prezentacji informacji w postaci wizualnej, a nie na obliczeniach, co niewątpliwie czyni ją nieodpowiednią do zadań związanych z systemami BIN, DEC i HEX.

Pytanie 36

Który rodzaj kolekcji pozwala na dostęp do elementów w porządku FIFO (First In First Out)?

A. Kolekcja LIFO
B. Tablica
C. Kolejka
D. Sekwencja
Lista to struktura, która pozwala na dowolny dostęp do elementów i nie działa zgodnie z zasadą FIFO. Stos działa na zasadzie LIFO (Last In First Out), co oznacza, że ostatni dodany element jest usuwany jako pierwszy. Wektor to dynamiczna tablica, która umożliwia szybki dostęp do elementów za pomocą indeksów, ale nie działa zgodnie z zasadą FIFO.

Pytanie 37

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

A. Visual Studio Code
B. Blender
C. Postman
D. Selenium
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 38

Jakie mogą być konsekwencje długotrwałego narażenia na hałas w pracy?

A. Wzrost efektywności pracy
B. Obniżenie ostrości wzroku
C. Choroby skórne
D. Uszkodzenie słuchu i zmęczenie
Długotrwały hałas w miejscu pracy może prowadzić do poważnych konsekwencji zdrowotnych, takich jak uszkodzenie słuchu oraz przewlekłe zmęczenie. Stała ekspozycja na hałas o wysokim natężeniu może powodować stopniową utratę słuchu, szumy uszne, a także zwiększać poziom stresu i obniżać koncentrację. Zmęczenie wynikające z hałasu wpływa negatywnie na produktywność i samopoczucie pracowników, prowadząc do spadku efektywności oraz wzrostu ryzyka popełniania błędów. W celu ochrony przed hałasem zaleca się stosowanie środków ochrony indywidualnej, takich jak nauszniki lub zatyczki do uszu, a także instalowanie ekranów dźwiękochłonnych i ograniczenie źródeł hałasu w środowisku pracy.

Pytanie 39

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 40

Ile gigabajtów (GB) mieści się w 1 terabajcie (TB)?

A. 512
B. 1024
C. 2048
D. 1000
Odpowiedzi 1000, 2048 i 512 są błędne z różnych powodów. Zaczynając od 1000 – często spotykana w reklamach, zwłaszcza w kontekście dysków twardych, odnosi się do systemu dziesiętnego, gdzie 1 TB to 1 000 GB. Ale w informatyce to tak nie działa, bo 1 TB to 1024 GB, co może nieco mylić. Odpowiedź 2048 to też nie to, bo tu mamy do czynienia z pomyleniem jednostek – 2048 wynika z 2^11 i nie pasuje do terabajtów i gigabajtów. Na koniec, 512, to w ogóle nie gra, bo 512 MB to tylko 0,5 GB, co w porównaniu do 1 TB jest po prostu za małe. Dlatego warto ogarnąć te różnice między systemami binarnym i dziesiętnym, żeby dobrze wiedzieć, jak przeliczać jednostki pamięci.