Wyniki egzaminu

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

Egzamin zdany!

Wynik: 35/40 punktów (87,5%)

Wymagane minimum: 20 punktów (50%)

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

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

A. Autorskie prawa majątkowe
B. Prawa pokrewne
C. Licencje wolnego oprogramowania
D. Autorskie prawa osobiste
Autorskie prawa majątkowe wygasają zazwyczaj po 70 latach od śmierci autora, co oznacza, że po tym czasie utwory przechodzą do domeny publicznej. Prawa pokrewne, które dotyczą m.in. artystów wykonawców i producentów fonogramów, mają ograniczony czas trwania (zwykle 50 lat od publikacji). Licencje wolnego oprogramowania, takie jak GNU GPL, również podlegają określonym warunkom czasowym i mogą wygasnąć lub zostać zmienione, jeśli autor zdecyduje się na aktualizację licencji.

Pytanie 2

Jakiego kodu dotyczy treść wygenerowana w trakcie działania programu Java?

Ilustracja do pytania
A. Kodu 2
B. Kodu 4
C. Kodu 1
D. Kodu 3
Zrozumienie typowych błędów jakie mogą wystąpić w kodzie jest kluczowe dla właściwego programowania. Analizując błędne opcje zaczniemy od kodu 1 gdzie zmienna x jest przypisana wartością zero. Samo przypisanie wartości zero do zmiennej nie powoduje żadnego wyjątku arytmetycznego w Javie ponieważ nie zachodzi tutaj żadna operacja matematyczna która mogłaby prowadzić do wyjątku. W przypadku kodu 2 widzimy próbę dostępu do elementu tablicy o indeksie 6. Taki kod może prowadzić do ArrayIndexOutOfBoundsException jeśli tablica nie ma co najmniej siedmiu elementów ale nie jest to wyjątek arytmetyczny który wskazuje na dzielenie przez zero. Przykład kodu 3 zawiera instrukcję warunkową if porównującą zmienne x i y. Tego typu operacje są bezpieczne i nie prowadzą do wyjątków arytmetycznych ponieważ nie wykonują podziału ani innych operacji które mogłyby spowodować błędy matematyczne. Często spotykanym błędem jest zakładanie że każda operacja matematyczna musi powodować wyjątek jednak w rzeczywistości problem pojawia się tylko kiedy wystąpi specyficzna nieprawidłowość jak w przypadku dzielenia przez zero. Rozumienie tych subtelności jest kluczowe w tworzeniu poprawnego kodu w języku Java i jest niezbędnym elementem wiedzy każdego programisty. Poprawna obsługa wyjątków pozwala stworzyć bardziej stabilne i niezawodne aplikacje co jest jednym z fundamentów profesjonalnego programowania. Warto zawsze weryfikować kod pod kątem potencjalnych błędów logicznych i syntaktycznych co zwiększa jego jakość i bezpieczeństwo działania.

Pytanie 3

Który z wymienionych elementów jest fundamentalny w architekturze klient-serwer?

A. Scentralizowane przechowywanie danych
B. Zdalne wykonywanie aplikacji na urządzeniu klienta
C. Brak podziału na funkcje klienta i serwera
D. Wyłącznie komunikacja synchroniczna
Scentralizowane przechowywanie danych to podstawowy element architektury klient-serwer. W takim modelu dane przechowywane są na serwerze, a klient uzyskuje do nich dostęp na żądanie. Dzięki temu możliwa jest efektywna synchronizacja danych oraz ich ochrona przed nieautoryzowanym dostępem. Architektura klient-serwer jest skalowalna i umożliwia obsługę wielu klientów jednocześnie, co czyni ją fundamentem dla większości nowoczesnych aplikacji webowych i mobilnych.

Pytanie 4

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

A. Zoptymalizowuje wydajność aplikacji w środowisku produkcyjnym
B. Generuje plik wykonywalny dla systemu operacyjnego
C. Łączy kod źródłowy z zewnętrznymi bibliotekami
D. Przekłada kod źródłowy na język maszynowy w trakcie działania programu
Interpreter tłumaczy kod źródłowy na język maszynowy instrukcja po instrukcji, co oznacza, że każda linia kodu jest analizowana i wykonywana na bieżąco. Dzięki temu programy interpretowane, takie jak te w Pythonie, Ruby czy JavaScript, mogą być szybko testowane i uruchamiane bez konieczności wcześniejszej kompilacji. Interpretacja pozwala na elastyczność w procesie rozwoju, ponieważ zmiany w kodzie są widoczne natychmiast po zapisaniu pliku. To czyni interpreter idealnym narzędziem do prototypowania i budowania aplikacji w dynamicznych środowiskach.

Pytanie 5

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ólem, drętwieniem oraz zaburzeniami czucia w rejonie 1-3 palca ręki jest

A. zespół cieśni kanału nadgarstka
B. zespół suchego oka
C. kifoza
D. dyskopatia
Zespół cieśni kanału nadgarstka to schorzenie występujące często u programistów i innych osób pracujących przy komputerze. Objawia się bólem, mrowieniem i drętwieniem palców, co wynika z ucisku nerwu pośrodkowego w nadgarstku. Długotrwałe korzystanie z klawiatury i myszy bez ergonomicznych przerw może prowadzić do tego schorzenia. Profilaktyka obejmuje ćwiczenia rozciągające, stosowanie ergonomicznych urządzeń oraz regularne przerwy w pracy.

Pytanie 6

Który komponent systemu komputerowego zajmuje się transferem danych pomiędzy procesorem a pamięcią RAM?

A. Mostek północny (Northbridge)
B. Karta graficzna
C. Zasilacz
D. Kontroler DMA
Mostek północny, znany również jako Northbridge, jest kluczowym elementem architektury komputerowej, który odpowiada za komunikację pomiędzy procesorem a pamięcią RAM. Jego głównym zadaniem jest koordynowanie przepływu danych w systemie oraz zapewnienie szybkiego dostępu do pamięci, co jest niezbędne dla wydajności całego systemu. Mostek północny jest odpowiedzialny za zarządzanie magistralami danych, a także interfejsami, takimi jak PCI Express, które łączą różne komponenty. Dzięki zastosowaniu standardów, takich jak DDR (Double Data Rate), mostek północny umożliwia efektywne przesyłanie danych w wysokiej prędkości. Praktycznym przykładem działania mostka północnego jest sytuacja, kiedy procesor potrzebuje załadować dane z pamięci RAM do rejestrów – mostek północny zarządza tym procesem, minimalizując opóźnienia i maksymalizując wydajność. W nowoczesnych systemach komputerowych mostek północny jest często zintegrowany z procesorem, co dodatkowo zwiększa efektywność komunikacji oraz zmniejsza czas dostępu do danych.

Pytanie 7

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

A. atrybutów klasy
B. destruktorów
C. funkcji zaprzyjaźnionych
D. metod klasy
W językach C++ i C# słowo kluczowe 'virtual' można stosować do metod klasy, co umożliwia ich nadpisanie w klasach pochodnych. Pozwala to na implementację polimorfizmu, co jest kluczowym elementem programowania obiektowego.

Pytanie 8

Który z wymienionych typów kolekcji pozwala na dostęp do ostatnio dodanego elementu w pierwszej kolejności?

A. Lista
B. Stos
C. Tablica dwuwymiarowa
D. Kolejka
Stos to struktura danych działająca na zasadzie LIFO (Last In First Out), co oznacza, że ostatnio dodany element jest usuwany jako pierwszy. Stos znajduje zastosowanie w implementacji mechanizmu wywołań rekurencyjnych, zarządzaniu pamięcią oraz w operacjach związanych z cofaniem i przywracaniem stanu (np. cofanie operacji w edytorach tekstów). Dzięki swojej prostocie stosy są fundamentalnym elementem w programowaniu, szczególnie w językach niskopoziomowych.

Pytanie 9

Jaką wydajność posiada sieć, która przesyła 500 MB danych w czasie 10 sekund?

A. 40 Mbps
B. 500 Mbps
C. 400 Mbps
D. 50 Mbps
Pierwsza odpowiedź, czyli 50 Mbps, jest znacznie za niska. Przy obliczeniach 500 MB w ciągu 10 sekund, ta wartość sugeruje, że tylko niewielka część danych zostałaby przesłana, co nie ma sensu w kontekście technicznym. Z tak małą przepustowością sieć byłaby totalnie nieefektywna, a transfer zająłby o wiele więcej czasu. Z kolei odpowiedź 400 Mbps jest wprawdzie blisko, ale też nie do końca poprawna, bo prawidłowy wynik to 500 Mbps. Chodzi o to, że nie liczy to całkowitej ilości danych w megabitach oraz czasu przesyłu. A na końcu, odpowiedź 40 Mbps to już totalna pomyłka, bo sugeruje ekstremalnie wolny transfer, co na pewno nie wystarczyłoby do przesłania 500 MB w takim krótkim czasie. Taka przepustowość nie spełnia wymagań nowoczesnych aplikacji jak strumieniowe przesyłanie wideo czy komunikacja na żywo, gdzie transfery na poziomie setek megabitów na sekundę to standard.

Pytanie 10

Zamieszczony fragment kodu w Android Studio wdraża metodę nasłuchującą dla obsługi zdarzenia:

Ilustracja do pytania
A. naciśnięcia przycisku
B. zmiany w polu tekstowym
C. wybierania daty
D. zmiany stanu kontrolki Switch
Kod implementuje nasłuchiwanie zdarzenia naciśnięcia przycisku (ang. Button Click). W środowisku Android Studio jest to jedna z podstawowych metod obsługi interakcji użytkownika. Kiedy użytkownik naciśnie przycisk, wywoływana jest określona metoda, co umożliwia np. uruchomienie nowej aktywności, walidację danych lub wywołanie zapytania do bazy danych. Obsługa zdarzeń tego typu jest kluczowa w budowie responsywnych aplikacji mobilnych, zapewniając użytkownikowi płynne i intuicyjne działanie.

Pytanie 11

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

<script src="jquery-3.5.1.min.js"></script>

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

Pytanie 12

Który z poniższych przykładów stanowi aplikację mobilną wykorzystującą bazę danych?

A. Aplikacja gromadząca listę kontaktów użytkownika
B. Aplikacja kalkulator
C. Aplikacja wyświetlająca lokalny czas
D. Aplikacja do robienia zdjęć
Aplikacja przechowująca listę kontaktów użytkownika korzysta z bazy danych do przechowywania, odczytywania i zarządzania danymi. Tego typu aplikacje mobilne muszą efektywnie zarządzać dużą ilością danych i zapewniać ich szybki dostęp. Bazy danych, takie jak SQLite czy Firebase, są szeroko stosowane w aplikacjach mobilnych, umożliwiając przechowywanie kontaktów, wiadomości, notatek i innych informacji użytkownika. Dzięki bazom danych możliwe jest także synchronizowanie danych pomiędzy urządzeniami i przechowywanie ich w chmurze.

Pytanie 13

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

Ilustracja do pytania
A. SeekBar
B. RatingBar
C. Switch
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 14

Która z wymienionych właściwości najlepiej charakteryzuje biblioteki dynamiczne?

A. Są statycznie dołączane do pliku wykonywalnego
B. Zawierają kod źródłowy aplikacji
C. Są ładowane podczas kompilacji
D. Są ładowane w trakcie działania aplikacji
Biblioteki dynamiczne, znane też jako DLL w Windows czy SO w Unix/Linux, ładują się do pamięci, gdy program działa. To super, bo dzięki temu aplikacja nie marnuje zasobów, a jak zajdzie potrzeba, to może z nich korzystać. Można też aktualizować te biblioteki bez potrzeby rekompilacji całego programu – to duża wygoda. Dzięki dynamicznemu ładowaniu kod może być współdzielony przez różne aplikacje, a to zmniejsza rozmiar plików i sprawia, że łatwiej się tym wszystkim zarządza.

Pytanie 15

Jaką funkcję pełnią okna dialogowe niemodalne?

A. wstrzymywania działania aplikacji w czasie wprowadzania oraz zatwierdzania danych
B. zarządzania stanem aplikacji za pomocą systemów menu
C. prezentowania komunikatów, które wymagają potwierdzenia, aby kontynuować działanie aplikacji
D. zarządzania ustawieniami aplikacji, jako okno, które pozostaje widoczne na ekranie przez cały czas trwania aplikacji
Modalne okna dialogowe blokują działanie aplikacji do czasu ich zamknięcia. Okna wymagające potwierdzenia przed kontynuacją to przykład dialogów modalnych, a nie niemodalnych. Komunikaty kontrolujące stan aplikacji przez systemy menu są inną formą interakcji, niezwiązaną z dialogami niemodalnymi.

Pytanie 16

Jakie cechy powinien posiadać skuteczny negocjator?

A. lojalność, nieśmiałość, uczciwość
B. intuicja, cierpliwość, asertywność
C. asertywność, pesymizm, buta
D. dobra reputacja, przekora, porywczość
Cechy dobrego negocjatora to intuicja, cierpliwość i asertywność. Negocjator powinien umieć ocenić sytuację, przewidzieć reakcje drugiej strony i stanowczo, lecz spokojnie dążyć do celu. Te cechy pomagają budować relacje, znajdować kompromisy i skutecznie rozwiązywać konflikty, co jest kluczowe w biznesie i codziennych interakcjach.

Pytanie 17

Który z wymienionych typów testów najlepiej ocenia odporność aplikacji na intensywne obciążenie?

A. Testy bezpieczeństwa
B. Testy obciążeniowe
C. Testy funkcjonalne
D. Testy zgodności
Testy obciążeniowe to rodzaj testów, które sprawdzają, jak aplikacja radzi sobie z dużym ruchem użytkowników lub przetwarzaniem dużych ilości danych. Celem testów obciążeniowych jest wykrycie potencjalnych wąskich gardeł, identyfikacja problemów z wydajnością oraz określenie maksymalnej przepustowości aplikacji. Testy te są kluczowe dla aplikacji o wysokim natężeniu ruchu, takich jak sklepy internetowe czy systemy bankowe, gdzie stabilność pod obciążeniem jest krytyczna dla sukcesu.

Pytanie 18

Jakie kroki należy podjąć po wykryciu błędu w kodzie podczas testowania?

A. Usunąć moduł, który zawiera błąd
B. Zgłosić błąd użytkownikowi końcowemu
C. Pominąć błąd, jeżeli aplikacja funkcjonuje poprawnie
D. Naprawić błąd i przeprowadzić ponowne testy aplikacji
Po znalezieniu błędu w kodzie podczas testowania kluczowym krokiem jest poprawienie błędu i ponowne przetestowanie aplikacji. Taki cykl iteracyjny pozwala na eliminację błędów i zapewnienie, że aplikacja działa zgodnie z oczekiwaniami. Testowanie po każdej poprawce jest niezbędne, aby upewnić się, że wprowadzone zmiany nie wpłynęły negatywnie na inne części aplikacji. Taka praktyka jest integralną częścią Continuous Integration (CI) i Continuous Deployment (CD), które zakładają częste wdrażanie i testowanie kodu. Poprawienie błędów na wczesnym etapie rozwoju minimalizuje koszty i czas potrzebny na naprawę błędów w fazie produkcyjnej, co przyczynia się do stabilności i wysokiej jakości końcowego produktu.

Pytanie 19

Jakie są różnice pomiędzy środowiskiem RAD a klasycznym IDE w kontekście aplikacji webowych?

A. RAD koncentruje się wyłącznie na budowie frontendu aplikacji
B. RAD umożliwia szybsze prototypowanie i rozwój aplikacji dzięki narzędziom wizualnym
C. RAD nie wspiera żadnych języków backendowych
D. RAD funkcjonuje tylko w systemach Windows
Rapid Application Development (RAD) to metodologia, która koncentruje się na szybkim prototypowaniu i iteracyjnym tworzeniu aplikacji. Dzięki narzędziom wizualnym RAD umożliwia programistom i projektantom szybkie budowanie interfejsów użytkownika oraz testowanie funkcjonalności aplikacji na wczesnym etapie rozwoju. RAD skraca czas potrzebny na dostarczenie gotowego produktu, co czyni go idealnym rozwiązaniem w dynamicznie zmieniających się projektach webowych. Narzędzia RAD umożliwiają także automatyczne generowanie kodu, co znacznie przyspiesza proces programowania.

Pytanie 20

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

A. Microsoft Word
B. GIMP
C. Kalkulator systemowy
D. Przeglądarka grafów
Kalkulator systemowy to narzędzie, które umożliwia użytkownikom pracę z różnymi systemami liczbowymi, takimi jak system dziesiętny (DEC), binarny (BIN) oraz szesnastkowy (HEX). Jego funkcjonalność pozwala na konwersję wartości liczbowych pomiędzy tymi systemami, co jest niezwykle przydatne w kontekście programowania, inżynierii komputerowej oraz nauk przyrodniczych. Dzięki kalkulatorowi systemowemu, użytkownicy mogą wprowadzać liczby w jednym systemie, a następnie uzyskiwać ich odpowiedniki w pozostałych systemach, co znacznie ułatwia analizę danych. Na przykład, wpisując liczbę w systemie binarnym, można natychmiast zobaczyć jej reprezentację w systemie dziesiętnym i szesnastkowym, co jest kluczowe w zadaniach związanych z konwersją kodów czy obliczeniami w architekturze komputerowej. Ponadto, kalkulatory systemowe często zawierają funkcje umożliwiające przeprowadzanie bardziej skomplikowanych operacji, takich jak dodawanie czy odejmowanie w różnych systemach liczbowych, co czyni je nieocenionym narzędziem w programowaniu i obliczeniach naukowych. Narzędzia te są zgodne z powszechnie przyjętymi standardami, takimi jak IEEE 754 dla reprezentacji liczb zmiennoprzecinkowych, co zapewnia ich wysoką dokładność i niezawodność w obliczeniach.

Pytanie 21

W jakim przypadku algorytm sortowania bąbelkowego osiąga najlepszą wydajność?

A. Dla tablicy losowej
B. Dla tablicy uporządkowanej rosnąco
C. Dla tablicy z dużą liczbą powtórzeń
D. Dla tablicy uporządkowanej malejąco
Algorytm sortowania bąbelkowego działa z optymalną wydajnością w przypadku, gdy tablica jest już posortowana rosnąco. W takiej sytuacji algorytm wykona jedynie jedno przejście przez tablicę, bez konieczności dokonywania zamian, co sprawia, że jego złożoność wynosi O(n). To znacząco zwiększa jego efektywność w przypadku niemal posortowanych danych, choć nadal pozostaje mniej wydajny niż algorytmy takie jak QuickSort czy MergeSort dla dużych zbiorów. Sortowanie bąbelkowe jest jednak łatwe do zrozumienia i implementacji, co czyni je popularnym narzędziem edukacyjnym.

Pytanie 22

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

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

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

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

Pytanie 24

Które z wymienionych atrybutów klasy mogą być dostępne wyłącznie w obrębie tej klasy oraz jej klas potomnych?

A. Private
B. Public
C. Static
D. Protected
Modyfikator `protected` pozwala na dostęp do pól i metod klasy w ramach tej samej klasy oraz w klasach dziedziczących. Jest to pośredni poziom dostępu między `private` i `public`. Pola `protected` są ukryte przed innymi klasami spoza hierarchii dziedziczenia, ale pozostają dostępne w klasach pochodnych. Dzięki temu dziedziczenie staje się bardziej elastyczne, umożliwiając klasom potomnym korzystanie z chronionych elementów klasy bazowej. Przykład w C++: `class Pojazd { protected: int predkosc; }`. Klasy dziedziczące po `Pojazd` mogą używać `predkosc`, ale obiekty nie mają bezpośredniego dostępu do tego pola.

Pytanie 25

Jakie oprogramowanie służy jako przykład programu do komunikacji audio-wideo?

A. Notion
B. Slack
C. Microsoft Teams
D. Google Drive
Microsoft Teams to naprawdę fajne narzędzie do komunikacji. Łączy w sobie czat, wideo i audio, więc wszystko masz w jednym miejscu. Zostało stworzone przez Microsoft, żeby ułatwić współpracę w zespołach. To idealne, gdy trzeba prowadzić spotkania online z kilkoma osobami. Myślę, że to super rozwiązanie dla firm, które pracują zdalnie. Dzięki WebRTC jakość transmisji audio i wideo jest naprawdę wysoka. Można w nim organizować spotkania, webinary, a nawet stworzyć przestrzeń dla zespołów projektowych, gdzie można dzielić się plikami i prowadzić dyskusje. A jak jeszcze połączysz go z innymi aplikacjami Microsoft 365, jak OneNote czy SharePoint, to masz pełny zestaw do zarządzania projektami. Dobrze też, że Microsoft Teams dba o ochronę danych osobowych, więc jest bezpieczny dla różnych organizacji.

Pytanie 26

Jakie stwierdzenie najlepiej tłumaczy cel podziału programu na funkcje (metody)?

A. Ułatwia proces debugowania oraz ponowne wykorzystanie fragmentów kodu
B. Umożliwia skrócenie kodu przez eliminację wszelkich komentarzy
C. Gwarantuje automatyczną kompilację programu
D. Eliminuje potrzebę korzystania ze zmiennych globalnych
Dzielenie programu na funkcje (lub metody) jest jedną z kluczowych zasad programowania strukturalnego i obiektowego. Funkcje pozwalają na podzielenie dużych bloków kodu na mniejsze, łatwiejsze do zarządzania i ponownego wykorzystania fragmenty. Dzięki temu kod jest bardziej czytelny, zrozumiały i łatwiejszy do testowania. Ułatwia to także proces debugowania, ponieważ błędy można izolować w konkretnych funkcjach, zamiast przeszukiwać cały program. Ponadto funkcje umożliwiają wielokrotne używanie tego samego fragmentu kodu, co zwiększa efektywność i eliminuje konieczność powielania kodu, zmniejszając ryzyko błędów.

Pytanie 27

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 28

Jaki numer telefonu należy wybrać, aby skontaktować się z pogotowiem ratunkowym w Polsce?

A. 998
B. 112
C. 113
D. 997
Numer 112 to europejski numer alarmowy, który działa we wszystkich krajach Unii Europejskiej, w tym w Polsce. Jego wybór pozwala na natychmiastowe połączenie się z dyspozytorem służb ratunkowych (pogotowie ratunkowe, straż pożarna, policja). Jest to uniwersalny numer, który można wybrać z dowolnego telefonu komórkowego lub stacjonarnego, nawet jeśli urządzenie nie ma karty SIM. Dzięki tej uniwersalności jest to najczęściej rekomendowany numer w nagłych wypadkach.

Pytanie 29

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

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

Pytanie 30

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

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

Pytanie 31

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

A. 1000
B. 10
C. 1024
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 32

Jakie z wymienionych czynności może zagrażać cyfrowej tożsamości?

A. Aktywacja uwierzytelniania dwuskładnikowego
B. Tworzenie unikalnych oraz mocnych haseł
C. Klikanie w podejrzane linki w wiadomościach e-mail
D. Cykliczna zmiana haseł do kont
Klikanie w podejrzane linki w wiadomościach e-mail to jedno z najczęstszych źródeł infekcji i naruszenia cyfrowej tożsamości. Cyberprzestępcy często wykorzystują phishing, czyli technikę polegającą na wysyłaniu fałszywych wiadomości, które wyglądają na autentyczne. Kliknięcie w link może prowadzić do zainstalowania złośliwego oprogramowania lub przekierowania na stronę wyłudzającą dane logowania. Aby uniknąć tego zagrożenia, zaleca się sprawdzanie adresu nadawcy, unikanie otwierania załączników z nieznanych źródeł i korzystanie z filtrów antyphishingowych.

Pytanie 33

Jaki komponent środowiska IDE jest niezbędny do tworzenia aplikacji webowych?

A. Narzędzie do tworzenia grafiki
B. Debugger, edytor kodu, integracja z systemem kontroli wersji
C. Emulator urządzeń mobilnych
D. Zarządzanie bazami danych
Debugger, edytor kodu oraz integracja z systemem kontroli wersji to kluczowe elementy środowiska IDE, które umożliwiają efektywną pracę nad aplikacjami webowymi. Debugger pozwala na wykrywanie i naprawianie błędów w czasie rzeczywistym, edytor kodu umożliwia szybkie pisanie i modyfikowanie kodu, a integracja z systemem kontroli wersji (np. Git) pozwala śledzić zmiany i współpracować w zespołach programistycznych. Te narzędzia stanowią podstawę pracy każdego dewelopera webowego.

Pytanie 34

Jakie jest podstawowe działanie w ochronie miejsca zdarzenia?

A. Zagwarantowanie stabilności ciała rannego
B. Usunięcie niebezpiecznych przedmiotów z otoczenia
C. Zastosowanie sterylnych materiałów opatrunkowych
D. Zagwarantowanie odpowiedniego oświetlenia
Z mojego doświadczenia, usunięcie niebezpiecznych rzeczy z miejsca, gdzie doszło do wypadku, to naprawdę kluczowa sprawa. Dzięki temu zmniejszamy szanse na dodatkowe obrażenia i możemy lepiej pomóc poszkodowanemu, nie narażając siebie na ryzyko. Na przykład, warto odsunąć ostre narzędzia, wyłączyć działające maszyny czy podnieść ciężkie przedmioty, które mogłyby kogoś zranić. Takie działania są istotne w każdej sytuacji, czy to wypadek na drodze, czy w pracy.

Pytanie 35

Jakie określenie w programowaniu obiektowym odnosi się do "zmiennej klasy"?

A. Konstruktor
B. Obiekt
C. Pole
D. Metoda
Pole (ang. field) to zmienna należąca do klasy, która przechowuje dane opisujące stan obiektu. Jest to integralna część definicji klasy, a każde wystąpienie klasy (obiekt) ma swoje własne kopie pól. Przykład w C++: `class Osoba { public: string imie; int wiek; }`. W tym przypadku `imie` i `wiek` to pola klasy `Osoba`, które opisują właściwości każdej osoby. Pola mogą mieć różne poziomy dostępu (`public`, `private`, `protected`), co umożliwia kontrolowanie, które części programu mają do nich dostęp. Dzięki polom obiekty przechowują swój stan i mogą zmieniać go podczas działania programu.

Pytanie 36

Który z podanych algorytmów można zrealizować zarówno w sposób iteracyjny, jak i rekurencyjny?

A. Algorytm generowania liczb losowych
B. Algorytm mapowania kluczy w tablicach asocjacyjnych
C. Algorytm sortowania bąbelkowego
D. Algorytm wyszukiwania binarnego
Algorytm wyszukiwania binarnego może być zaimplementowany zarówno iteracyjnie, jak i rekurencyjnie. Wyszukiwanie binarne polega na podzieleniu przeszukiwanej tablicy na dwie części i porównaniu elementu środkowego z wartością, której szukamy. Jeśli element nie zostanie znaleziony, algorytm przeszukuje jedną z połówek tablicy. Rekurencyjna wersja tego algorytmu jest często bardziej elegancka i prostsza w implementacji, natomiast iteracyjna bywa bardziej wydajna pod względem zużycia pamięci.

Pytanie 37

Które z wymienionych pól klasy można zainicjalizować przed stworzeniem obiektu?

A. Publiczne pole
B. Chronione pole
C. Static pole
D. Prywatne pole
Pole statyczne można zainicjować przed utworzeniem obiektu klasy, ponieważ należy ono do samej klasy, a nie do jej instancji. Statyczne pola są inicjalizowane tylko raz, w momencie pierwszego użycia klasy lub jej statycznych metod. Dzięki temu można przechowywać dane wspólne dla wszystkich obiektów danej klasy, co jest kluczowe w optymalizacji pamięci i kodu. Przykładem może być licznik instancji klasy, który zwiększa swoją wartość za każdym razem, gdy tworzony jest nowy obiekt.

Pytanie 38

Zademonstrowana pętla wykorzystuje obiekt random do

Ilustracja do pytania
A. stworzenia losowego napisu o długości 8 znaków składającego się z liter
B. wielokrotnego generowania liczby, aby stworzyć ciąg z liczb pseudolosowych
C. jednorazowego wylosowania znaku z określonego zestawu znaków
D. uzupełnienia tablicy danymi w postaci liczb pseudolosowych
Wielokrotne losowanie – Dotyczy sytuacji, gdy generowane jest wiele liczb, co nie jest zgodne z kodem. Wypełnienie tablicy – Kod dotyczy jednego znaku, a nie tablicy. Generowanie napisu – Pętla mogłaby generować ciąg znaków, ale pytanie dotyczy pojedynczego znaku.

Pytanie 39

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

A. Naprawianie błędów w kodzie aplikacji
B. Przekazywanie danych do programu z zewnętrznych źródeł
C. Wprowadzanie nowych funkcji do aplikacji
D. Zmiana wartości zmiennych globalnych
Operacja wejścia w programowaniu polega na przekazywaniu danych do programu z zewnętrznego źródła, takiego jak klawiatura, plik lub strumień danych. W języku C++ typowym przykładem operacji wejścia jest `cin >> zmienna;`, która pobiera dane od użytkownika i przypisuje je do zmiennej. Operacje wejścia są niezbędne w interaktywnych aplikacjach, które wymagają danych od użytkownika w czasie rzeczywistym, umożliwiając dynamiczne przetwarzanie informacji.

Pytanie 40

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

A. Wartość w reprezentacji binarnej
B. Jedną z dwóch opcji: true lub false
C. Tylko ciąg znaków
D. Dowolną liczbę rzeczywistą
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.