Wyniki egzaminu

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

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óry z wymienionych typów danych należy do typu logicznego?

A. char
B. float
C. int
D. bool
Typ danych 'bool' (boolean) jest typem logicznym, który przechowuje jedną z dwóch wartości: 'true' lub 'false'. Typy logiczne są nieodłącznym elementem programowania, ponieważ umożliwiają implementację warunków i pętli sterujących przepływem programu. Typ 'bool' znajduje zastosowanie w praktycznie każdym języku programowania, w tym C++, Java, Python i C#. Operacje logiczne, takie jak 'AND', 'OR' i 'NOT', opierają się na wartościach typu 'bool', co czyni je podstawą dla algorytmów decyzyjnych i strukturalnych. Zastosowanie typów logicznych zwiększa czytelność kodu i pozwala na efektywne zarządzanie warunkami logicznymi.

Pytanie 2

Z podanej definicji pola licznik można wywnioskować, iż

Ilustracja do pytania
A. pole nie może być zmieniane w kodzie klasy
B. bieżąca wartość pola jest wspólna dla wszystkich instancji klasy
C. pole jest związane z określoną instancją klasy i jego wartość jest unikalna tylko dla tej instancji
D. bieżąca wartość pola jest wspólna dla wszystkich instancji klasy i nie może być zmieniana
Aktualna wartość pola licznik jest wspólna dla wszystkich instancji klasy, co oznacza, że jest to pole statyczne (static). Wartość takiego pola zmienia się globalnie dla całej klasy, a nie dla poszczególnych obiektów.

Pytanie 3

Wskaż odpowiedź, która używa parafrazowania jako metodę aktywnego słuchania, gdy klient mówi: "Interesuje mnie aplikacja, która działa szybko, niezależnie od tego, czy korzysta z niej kilku czy tysiąc użytkowników"?

A. Jeśli dobrze zrozumiałam, chodzi o aplikację, która efektywnie obsługuje różne obciążenia
B. Dlaczego Pani potrzebuje takiej aplikacji?
C. Czuję pewne wątpliwości w Pani głosie. Czy mogę zadać kilka pytań?
D. Ilu użytkowników planuje z niej skorzystać?
Parafraza to świetna technika, która pomaga zrozumieć, co rozmówca ma na myśli. Jak w tym przypadku – odpowiedź, która mówi: 'Jeśli dobrze rozumiem, chodzi o aplikację, która radzi sobie z różnym obciążeniem,' naprawdę dobrze oddaje to, co klient próbował przekazać. Klient podkreśla, że ważne jest dla niego, aby aplikacja była wydajna, niezależnie od tego, ile osób z niej korzysta. Użycie terminu 'radzi sobie z obciążeniem' jest trafne, bo dotyczy zdolności systemu do przystosowywania się do zmieniającej się liczby użytkowników i ich aktywności. To pokazuje, że konsultant dobrze zrozumiał potrzeby klienta i otwiera możliwości do dalszej rozmowy o technicznych detalach aplikacji, a to jest kluczowe w sprzedaży i budowaniu dobrych relacji z klientem.

Pytanie 4

W zaprezentowanym kodzie stworzono abstrakcyjną klasę figura oraz klasę prostokąta, która dziedziczy po niej, zawierającą zdefiniowane pola i konstruktory. Wskaż minimalną wersję implementacji sekcji /* metody klasy */ dla klasy Prostokat:

Ilustracja do pytania
A. A
B. C
C. D
D. B
Minimalna implementacja klasy Prostokat wymaga zaimplementowania podstawowych metod określonych w klasie abstrakcyjnej figura. Implementacja zawiera niezbędne pola i metody, które muszą być obecne, aby klasa mogła być skompilowana i działała poprawnie.

Pytanie 5

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

A. Operację przesunięcia bitów w prawo
B. Bitowe "xor"
C. Bitowe "lub"
D. Logiczne "lub"
Operator `||` to operator logiczny `OR`, który działa na wartościach logicznych i zwraca `true`, jeśli przynajmniej jeden z operandów jest prawdziwy, ale nie operuje na poziomie bitów. Operator `^` to operator `XOR` (exclusive or), który zwraca `1` tylko wtedy, gdy jeden z operandów ma wartość `1`, a drugi `0`. Operator `>>` to operator przesunięcia bitowego w prawo, który przesuwa bity liczby w prawo o określoną liczbę miejsc, co skutkuje podzieleniem liczby przez potęgę dwójki. Każdy z tych operatorów działa inaczej niż `|`, który jest operatorem bitowego `OR`.

Pytanie 6

Jakie są typowe frameworki/biblioteki używane w aplikacjach webowych?

A. jquery, Joomla!, Wordpress, android Studio, Xamarin
B. ASP.NET Core, Django, Angular, React.js, Node.js
C. Visual Studio, Eclipse, angular, React.js, Node.js
D. ASP.NET Core, jQuery, Joomla!, Wordpress, Angular
Frameworki i biblioteki typowe dla aplikacji webowych to ASP.NET Core, Django, Angular, React.js i Node.js. Umożliwiają one tworzenie dynamicznych aplikacji front-end i back-end, zapewniając szeroką funkcjonalność, skalowalność oraz obsługę nowoczesnych technologii webowych.

Pytanie 7

Jaką wartość zwróci funkcja napisana w języku C++, jeżeli jej argumentem wejściowym jest tablica stworzona w sposób następujący: int tablica[6] = {3,4,2,4,10,0};?

Ilustracja do pytania
A. 23
B. 0
C. 10
D. 20
Funkcja w C++ zwraca sumę elementów tablicy, co daje wynik 23. Algorytm iteracyjnie dodaje wszystkie elementy do zmiennej sumującej, co jest typowym rozwiązaniem dla tego typu operacji.

Pytanie 8

Wartość liczby 1AF, zapisana w systemie szesnastkowym, po przeliczeniu na system dziesiętny wynosi

A. 26
B. 431
C. 6890
D. 257
Słuchaj, liczba szesnastkowa 1AF to w systemie dziesiętnym 431. Przeliczenie robimy tak: (1 * 16^2) + (10 * 16^1) + (15 * 16^0). To jest jedna z podstawowych rzeczy, które musisz znać przy konwersji liczb. Szczególnie przydaje się to w programowaniu i ogólnie w informatyce, gdzie często mamy do czynienia z różnymi systemami liczbowymi.

Pytanie 9

Który z wymienionych elementów UI w aplikacjach mobilnych jest odpowiedzialny za przechodzenie pomiędzy ekranami?

A. ListView
B. Navigation Drawer
C. Przycisk
D. Pasek narzędziowy
Navigation Drawer to jeden z najczęściej stosowanych komponentów interfejsu użytkownika w aplikacjach mobilnych na platformie Android. Pozwala na stworzenie bocznego menu nawigacyjnego, które użytkownik może wysunąć z lewej (lub rzadziej z prawej) krawędzi ekranu. Drawer umożliwia szybki dostęp do różnych sekcji aplikacji, co poprawia nawigację i organizację interfejsu. Navigation Drawer jest szeroko wykorzystywany w aplikacjach mobilnych takich jak Gmail, YouTube czy Google Maps, ponieważ zapewnia przejrzysty i intuicyjny sposób poruszania się po aplikacji, zachowując minimalistyczny wygląd interfejsu. Dzięki niemu użytkownik ma dostęp do wielu opcji bez konieczności zaśmiecania głównego ekranu aplikacji przyciskami nawigacyjnymi. W Android Studio Navigation Drawer można zaimplementować poprzez gotowe szablony lub za pomocą komponentu DrawerLayout.

Pytanie 10

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

A. int matrix[];
B. int matrix[3];
C. int matrix[3][3][3];
D. int matrix[3][3];
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 11

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

A. PyCharm
B. Visual Studio
C. Android Studio
D. XCode
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 12

Jakie informacje przedstawia diagram Gantta?

A. Model przepływu danych
B. Strukturę plików w projekcie
C. Relacje między różnymi projektami
D. Plan działań w projekcie
Diagram Gantta to narzędzie używane do wizualizacji harmonogramu zadań w projekcie. Przedstawia on zadania w układzie osi czasu, co pozwala na łatwe śledzenie terminów, zależności i etapów realizacji projektu. Diagram Gantta jest niezwykle przydatny w dużych projektach, ponieważ ułatwia planowanie zasobów i umożliwia identyfikowanie potencjalnych opóźnień. Dzięki czytelnej formie, managerowie mogą szybko ocenić, które zadania są w trakcie realizacji, a które są opóźnione. Diagramy Gantta są szeroko stosowane w zarządzaniu projektami budowlanymi, IT oraz w planowaniu kampanii marketingowych.

Pytanie 13

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

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

Pytanie 14

Jakie z wymienionych czynności można zrealizować przy pomocy składnika statycznego danej klasy?

A. Tworzenie prywatnych kopii pól dla każdej instancji
B. Zachowanie wartości wspólnych dla wszystkich instancji klasy
C. Umożliwienie dzielenia pól klasy pomiędzy zaprzyjaźnione klasy
D. Wywołanie destruktora klasy bez jej usuwania
Składnik statyczny klasy przechowuje wartości wspólne dla wszystkich instancji danej klasy. Oznacza to, że niezależnie od liczby utworzonych obiektów, istnieje tylko jedna kopia składowej statycznej, która jest współdzielona przez wszystkie instancje. Składowe statyczne są często wykorzystywane do przechowywania liczników, stałych wartości lub danych konfiguracyjnych. Metody statyczne mogą być wywoływane bezpośrednio na klasie, bez konieczności tworzenia obiektu, co czyni je niezwykle użytecznymi w przypadku funkcji narzędziowych.

Pytanie 15

Jakie funkcje realizuje polecenie "git clone"?

A. Łączy dwa branche w repozytorium
B. Rejestruje zmiany w historii repozytorium
C. Tworzy lokalną kopię już istniejącego repozytorium
D. Usuwa zdalne repozytorium
Polecenie 'git clone' tworzy kopię lokalną istniejącego repozytorium, co pozwala programistom na szybkie rozpoczęcie pracy z projektem. Proces ten pobiera całą historię commitów oraz wszystkie gałęzie repozytorium, dzięki czemu użytkownik posiada pełną wersję projektu na swoim komputerze. Jest to podstawowe polecenie podczas rozpoczynania pracy nad nowym projektem, który znajduje się na platformach takich jak GitHub, GitLab czy Bitbucket. 'git clone' umożliwia również sklonowanie repozytoriów prywatnych, pod warunkiem posiadania odpowiednich uprawnień dostępu.

Pytanie 16

Który z wymienionych objawów może sugerować nagłe zagrożenie dla zdrowia?

A. Ostry ból w klatce piersiowej
B. Intensywne pocenie się w gorącym otoczeniu
C. Obniżony nastrój w ciągu dnia
D. Zwiększona efektywność pracy
Ostry ból w klatce piersiowej to jeden z najbardziej alarmujących objawów wskazujących na nagłe zagrożenie zdrowotne, takie jak zawał serca lub zatorowość płucna. Tego rodzaju ból jest często opisywany jako gniotący, ściskający lub rozlewający się na inne części ciała, takie jak ramię, szyja czy żuchwa. W takich przypadkach kluczowe jest szybkie wezwanie pomocy medycznej, ponieważ każda minuta opóźnienia może zwiększyć ryzyko powikłań lub śmierci. Edukacja w zakresie rozpoznawania tego objawu może uratować życie, dlatego tak ważne jest rozróżnianie go od innych mniej groźnych objawów.

Pytanie 17

Który z wymienionych frameworków służy do budowy aplikacji webowych w C#?

A. React.js
B. Angular
C. ASP.NET Core
D. Django
ASP.NET Core to nowoczesny, wydajny i skalowalny framework opracowany przez Microsoft, który jest przeznaczony do budowy aplikacji webowych w języku C#. ASP.NET Core umożliwia tworzenie dynamicznych stron internetowych, API oraz aplikacji mikroserwisowych. Jego modularność i wsparcie dla kontenerów (Docker) oraz chmury sprawiają, że jest to jeden z najczęściej wybieranych frameworków w środowiskach enterprise. ASP.NET Core obsługuje zarówno aplikacje serwerowe, jak i aplikacje klient-serwer, a dzięki technologii Razor Pages i Blazor pozwala na budowanie aplikacji, w których logika biznesowa jest ściśle zintegrowana z warstwą prezentacji. Dodatkowo ASP.NET Core oferuje wbudowane mechanizmy do zarządzania tożsamością użytkowników, autoryzacji i autentykacji, co czyni go doskonałym wyborem do tworzenia aplikacji biznesowych oraz korporacyjnych.

Pytanie 18

Jakie są różnice między testami funkcjonalnymi a niefunkcjonalnymi?

A. Testy funkcjonalne oceniają zgodność działania aplikacji z założeniami, a niefunkcjonalne analizują aspekty wydajności, bezpieczeństwa i użyteczności
B. Testy funkcjonalne są realizowane tylko przez końcowych użytkowników, natomiast niefunkcjonalne przez programistów
C. Testy funkcjonalne oceniają wydajność aplikacji, podczas gdy niefunkcjonalne weryfikują poprawność kodu
D. Testy funkcjonalne koncentrują się na interfejsie, a niefunkcjonalne na backendzie aplikacji
Testy funkcjonalne sprawdzają, czy aplikacja działa zgodnie z założeniami i spełnia określone wymagania użytkownika. Obejmują one testowanie interfejsu, przepływu pracy oraz funkcji kluczowych dla działania oprogramowania. Testy niefunkcjonalne koncentrują się na aspektach takich jak wydajność, skalowalność, bezpieczeństwo i użyteczność. Różnica polega na tym, że testy funkcjonalne oceniają 'co' robi aplikacja, podczas gdy testy niefunkcjonalne oceniają 'jak dobrze' aplikacja działa w różnych warunkach. Testy niefunkcjonalne obejmują testy obciążeniowe (load testing), testy penetracyjne oraz analizy UX. Oba typy testów są niezbędne dla zapewnienia wysokiej jakości oprogramowania i jego niezawodności w środowisku produkcyjnym.

Pytanie 19

Celem zastosowania wzorca Obserwator w tworzeniu aplikacji WEB jest:

A. dostosowanie interfejsu użytkownika do różnych kategorii użytkowników
B. zarządzanie funkcjami synchronicznymi w kodzie aplikacji
C. informowanie obiektów o modyfikacji stanu innych obiektów
D. monitorowanie działań użytkownika oraz generowanie wyjątkó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 20

Jakie wartości może przyjąć zmienna typu boolean?

A. O oraz każdą liczbę całkowitą
B. trzy dowolne liczby naturalne
C. true, false
D. 1, -1
Zmienna typu logicznego (boolowskiego) w językach programowania, takich jak C++, Java czy Python, może przyjmować tylko dwie wartości: true (prawda) oraz false (fałsz). Te wartości są fundamentalne w logice komputerowej, ponieważ umożliwiają podejmowanie decyzji oraz kontrolowanie przepływu programu poprzez struktury warunkowe, takie jak instrukcje if, while czy for. Na przykład, w języku Python, tworząc zmienną logiczną, możemy użyć operatorów porównania, aby określić, czy dwie wartości są równe: is_equal = (5 == 5), co ustawia is_equal na true. Zmienne logiczne są zdefiniowane w standardach programowania, takich jak IEEE 754 dla reprezentacji liczb zmiennoprzecinkowych, gdzie wartość logiczna jest kluczowa dla operacji porównawczych. Dobrze zrozumiana logika boolowska jest niezbędna dla programistów, ponieważ stanowi podstawę algorytmu decyzyjnego oraz wpływa na efektywność kodu.

Pytanie 21

Na podstawie definicji zamieszczonej w ramce, wskaż, który z rysunków ilustruje komponent Chip zdefiniowany w bibliotece Angular Material?

Ilustracja do pytania
A. Rysunek 4
B. Rysunek 1
C. Rysunek 2
D. Rysunek 3
Komponent Chip w bibliotece Angular Material to interaktywny element, który reprezentuje fragment informacji, tag lub wybór. Może zawierać tekst, ikonę lub być klikalny, co czyni go niezwykle użytecznym w projektowaniu nowoczesnych interfejsów użytkownika. Komponenty tego typu często wykorzystywane są w formularzach lub systemach tagowania, umożliwiając użytkownikowi intuicyjne dodawanie lub usuwanie elementów. Wyróżnia się swoją minimalistyczną formą i możliwością dostosowania do różnych potrzeb projektowych.

Pytanie 22

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

A. 113
B. 112
C. 997
D. 998
Numer 997 łączy bezpośrednio z policją, 998 ze strażą pożarną, a 113 nie jest numerem alarmowym w Polsce. Choć numery 997 i 998 są ważne, to numer 112 jest bardziej wszechstronny, umożliwiając kontakt z wszystkimi służbami jednocześnie, co jest kluczowe w sytuacjach kryzysowych.

Pytanie 23

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

A. obiekt oraz klasa są identyczne
B. obiekt pozwala na zdefiniowanie klasy
C. obiekt to typ złożony
D. obiekt jest instancją klasy
Obiekt to instancja klasy, co oznacza, że klasa działa jako szablon lub plan, a obiekt jest jej konkretnym przykładem. W programowaniu obiektowym klasa definiuje właściwości i metody, które mogą być wykorzystywane przez obiekty. Obiekty są podstawą manipulacji danymi i interakcji w aplikacjach obiektowych, co umożliwia enkapsulację, dziedziczenie i polimorfizm. Każdy obiekt ma swoją unikalną tożsamość, stan i zachowanie, co pozwala na modelowanie rzeczywistych bytów w kodzie.

Pytanie 24

Jaki framework jest powszechnie wykorzystywany do rozwijania aplikacji desktopowych w języku C++?

A. Flutter
B. Node.js
C. Qt
D. WPF
Node.js to środowisko uruchomieniowe dla języka JavaScript, przeznaczone do tworzenia aplikacji serwerowych i skryptów backendowych, a nie aplikacji desktopowych. WPF (Windows Presentation Foundation) jest frameworkiem dla języka C#, a nie C++. Flutter to framework stworzony przez Google, który służy do budowy aplikacji mobilnych i webowych, wykorzystując język Dart, co sprawia, że nie jest narzędziem pierwszego wyboru dla programistów C++.

Pytanie 25

Wskaż fragment kodu, który wykreuje przedstawioną kontrolkę?

Ilustracja do pytania
A. Kod3
B. Kod1
C. Kod4
D. Kod2
Odpowiednim kodem do wygenerowania przedstawionej kontrolki jest Kod3 który korzysta z klasy RatingBar w Androidzie. RatingBar to bardzo przydatny element interfejsu użytkownika pozwalający użytkownikom na ocenę w skali gwiazdek. W tym przypadku RatingBar posiada atrybut android:rating ustawiony na 2.5 co oznacza że kontrolka wyświetli dwie pełne gwiazdki i jedną połowę co odpowiada przedstawionej grafice. Dodatkowo atrybut android:progressTint ustawiony na #4682B4 zmienia kolor gwiazdek na niebieski. Użycie RatingBar jest standardową praktyką w aplikacjach mobilnych dla zbierania opinii użytkowników. Ważne jest aby pamiętać że RatingBar może być konfigurowany do obsługi różnych wartości minimalnych i maksymalnych oraz do dostosowywania wyglądu za pomocą stylów i tematów. Dobrym zwyczajem jest dbanie o czytelność i intuicyjność interfejsu co osiąga się m.in. przez odpowiednie oznaczanie i rozmieszczanie kontrolek takich jak RatingBar.

Pytanie 26

W standardzie dokumentacji testów oprogramowania IEEE 829-1998 opisany jest dokument, który zawiera dane o tym, jakie przypadki testowe były wykorzystane, przez kogo i czy zakończyły się sukcesem. Co to jest?

A. Plan Testów
B. Dziennik Testów
C. Specyfikacja Procedury Testowej
D. Raport Podsumowujący Testy
Test Log to dokument, który rejestruje wszystkie przeprowadzone przypadki testowe, informacje o ich wykonaniu oraz wyniki. Umożliwia śledzenie przebiegu testów i analizę ich efektywności. Jest to kluczowy element dokumentacji testowej, który pozwala zidentyfikować powtarzające się błędy oraz ocenę jakości kodu na podstawie przeszłych wyników.

Pytanie 27

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

A. Zarządzanie transferem danych pomiędzy urządzeniami wejścia/wyjścia
B. Tymczasowe magazynowanie danych i instrukcji dla procesora
C. Trwałe przechowywanie systemu operacyjnego
D. Umożliwienie tworzenia kopii zapasowej danych użytkownika
Pamięć operacyjna, znana jako RAM (Random Access Memory), odgrywa kluczową rolę w funkcjonowaniu systemu komputerowego. Jej głównym zadaniem jest tymczasowe przechowywanie danych i instrukcji, które są niezbędne dla procesora w trakcie wykonywania programów. Kiedy uruchamiamy aplikację, jej kod oraz dane są ładowane z pamięci masowej (np. dysku twardego) do pamięci RAM, co umożliwia szybki dostęp do nich przez procesor. Dzięki dużej prędkości działania pamięć operacyjna znacząco przyspiesza procesy obliczeniowe, ponieważ operacje na danych przechowywanych w RAM są wielokrotnie szybsze niż na danych znajdujących się na dysku twardym. Współczesne komputery często wyposażone są w kilka gigabajtów pamięci RAM, co pozwala na efektywne zarządzanie wieloma uruchomionymi aplikacjami jednocześnie. Standardy takie jak DDR4 i DDR5 określają nie tylko wydajność, ale również szybkość przesyłania danych, co ma kluczowe znaczenie w kontekście wydajności systemu komputerowego. W efekcie, pamięć operacyjna jest niezbędna do płynnego działania systemu operacyjnego oraz aplikacji, a jej pojemność i szybkość mają bezpośredni wpływ na ogólną wydajność komputera.

Pytanie 28

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

A. atrybutów klasy
B. funkcji zaprzyjaźnionych
C. metod klasy
D. destruktorów
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 29

Wynik dodawania liczb binarnych 1101 i 1001 to

A. 10111
B. 1001
C. 1110
D. 10110
Sumą liczb binarnych 1101 i 1001 jest 10110. Dodawanie binarne odbywa się analogicznie do dodawania dziesiętnego, z przeniesieniem jedności na kolejny bit, co prowadzi do poprawnego wyniku.

Pytanie 30

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

A. decimal
B. double
C. int
D. float
Typ danych 'int' (integer) to przykład typu stałoprzecinkowego, który przechowuje liczby całkowite. Stałoprzecinkowe typy danych są podstawą w programowaniu, ponieważ pozwalają na efektywne przechowywanie wartości bez części ułamkowej, co przyspiesza obliczenia i redukuje zużycie pamięci. Typ 'int' jest szeroko stosowany w językach takich jak C, C++, Java i Python, a jego główną zaletą jest szybkość operacji arytmetycznych oraz przewidywalność wyników. Stałoprzecinkowe typy danych znajdują zastosowanie w algorytmach, systemach sterowania i aplikacjach embedded, gdzie precyzja obliczeń jest kluczowa.

Pytanie 31

Algorytm zaprezentowany w zadaniu można zrealizować w języku Java wykorzystując instrukcję

Ilustracja do pytania
A. if
B. try
C. switch
D. while
Pętla while w języku Java jest idealna do implementacji algorytmów, które wymagają wielokrotnego wykonywania bloku kodu dopóki określony warunek logiczny pozostaje prawdziwy. W przedstawionym schemacie blokowym widzimy iteracyjny proces, który zaczyna się od przypisania wartości 2 do zmiennej number, a następnie kontynuuje dodawanie 2 do tej zmiennej tak długo, jak długo jej wartość nie osiągnie 10. Struktura ta jest typowym przykładem problemu, który najlepiej rozwiązać za pomocą pętli while. Wyrażenie warunkowe number != 10 jest sprawdzane przed każdą iteracją pętli, co umożliwia zakończenie pętli w momencie, gdy warunek przestaje być prawdziwy. To podejście jest zgodne z dobrymi praktykami programistycznymi, które zalecają minimalizowanie niepotrzebnych obliczeń i zwiększanie czytelności kodu. Pętle while są często stosowane w sytuacjach, gdy liczba iteracji nie jest z góry znana i zależy od dynamicznie zmieniających się warunków, co czyni je wszechstronnym narzędziem w wielu aplikacjach, od przetwarzania danych po kontrolę przepływu w symulacjach komputerowych. Praktyczna znajomość pętli pozwala na efektywne rozwiązywanie problemów w złożonych projektach informatycznych.

Pytanie 32

Jakie jest podstawowe zadanie firewalla w systemie komputerowym?

A. Ochrona danych na poziomie aplikacji internetowych
B. Szyfrowanie danych przesyłanych w sieci
C. Zarządzanie ruchem sieciowym i blokowanie nieautoryzowanego dostępu
D. Zapobieganie wyciekom informacji na skutek awarii systemu
Szyfrowanie danych chroni prywatność użytkownika, ale nie zabezpiecza przed nieautoryzowanym dostępem do sieci. Zapobieganie wyciekom danych to funkcja systemów DLP (Data Loss Prevention), a nie firewalla. Ochrona na poziomie aplikacji dotyczy technologii WAF (Web Application Firewall), która działa inaczej niż standardowy firewall systemowy, ograniczający ruch sieciowy na poziomie IP.

Pytanie 33

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

A. 10
B. 1024
C. 100
D. 1000
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 34

Jaką liczbę warstw zawiera model TCP/IP?

A. 5
B. 4
C. 7
D. 2
Model TCP/IP, znany również jako Internet Protocol Suite, składa się z czterech warstw: warstwy aplikacji, warstwy transportowej, warstwy internetowej oraz warstwy dostępu do sieci. Warstwa aplikacji zajmuje się interakcjami z użytkownikami oraz aplikacjami, implementując protokoły takie jak HTTP, FTP, SMTP. Warstwa transportowa zapewnia komunikację między aplikacjami, w tym protokoły TCP i UDP, które różnią się pod względem niezawodności i kontroli przepływu. Warstwa internetowa, reprezentowana głównie przez protokół IP, odpowiada za adresowanie i trasowanie pakietów danych w sieci. Ostatnia warstwa, warstwa dostępu do sieci, obejmuje protokoły odpowiedzialne za fizyczne przesyłanie danych przez różne media, jak Ethernet czy Wi-Fi. Zrozumienie tych warstw jest kluczowe dla projektowania i implementacji rozwiązań sieciowych, a także dla analizy standardów, takich jak RFC 791 dla IPv4 oraz RFC 2460 dla IPv6, które definiują zasady działania protokołów w warstwie internetowej.

Pytanie 35

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

A. W kaskadowym
B. W modelu z prototypem
C. W spiralnym
D. W modelu Fry’ego
Model spiralny zawiera etap analizy ryzyka na każdym poziomie iteracji. To kluczowy element tej metodyki, który pozwala minimalizować potencjalne problemy na wczesnym etapie rozwoju projektu.

Pytanie 36

Termin ryzyko zawodowe odnosi się do

A. efektów zagrożeń wypadkowych, jakie występują w miejscu zatrudnienia
B. ciężkości skutków niepożądanych zdarzeń związanych z pracą
C. zagrożenia wypadkowego, które może wystąpić w miejscu pracy
D. prawdopodobieństwa, że zdarzenia niepożądane związane z pracą spowodują straty, w szczególności negatywne skutki zdrowotne dla pracowników
Ryzyko zawodowe to prawdopodobieństwo wystąpienia niepożądanych zdarzeń związanych z pracą, mogących prowadzić do strat zdrowotnych lub materialnych. Ocena ryzyka to kluczowy element zarządzania bezpieczeństwem pracy.

Pytanie 37

W jakim celu wykorzystuje się diagram Gantta?

A. do przedstawiania funkcjonalności systemu
B. do dokładnej analizy czasowo-kosztowej projektu
C. do wizualizacji powiązań między elementami systemów
D. do planowania i zarządzania projektem
Diagram Gantta służy do planowania i zarządzania projektami. Umożliwia wizualizację harmonogramu i postępów prac, co jest kluczowe w efektywnym zarządzaniu czasem i zasobami.

Pytanie 38

Które z poniższych zdań najlepiej określa funkcję zaprzyjaźnioną w ramach klasy?

A. Funkcja, która uruchamia się automatycznie po stworzeniu obiektu
B. Funkcja, która jest statyczna i nie ma możliwości modyfikacji pól klasy
C. Funkcja, która ma dostęp do prywatnych pól i metod klasy, z którą jest zaprzyjaźniona
D. Funkcja, która pozwala na dziedziczenie wielokrotne
Funkcja zaprzyjaźniona (ang. friend function) to funkcja, która ma dostęp do prywatnych i chronionych pól oraz metod klasy, mimo że nie jest jej częścią. Służy do realizacji operacji wymagających bezpośredniego dostępu do wewnętrznych elementów klasy, ale bez naruszania zasad hermetyzacji. Przykład w C++: `class Konto { private: double saldo; friend void wyswietlSaldo(Konto k); }`. Funkcja `wyswietlSaldo` może odczytać pole `saldo`, mimo że jest ono prywatne. Funkcje zaprzyjaźnione są używane, gdy konieczna jest bliska współpraca między klasami lub funkcjami, ale nie chcemy nadmiernie otwierać interfejsu klasy.

Pytanie 39

W programie desktopowym stworzono rozwijaną listę oraz przypisano cztery funkcje do obsługi zdarzeń tej kontrolki. Jaki komunikat pojawi się po dokonaniu wyboru w tej liście?

Ilustracja do pytania
A. Zdarzenie 2
B. Zdarzenie 3
C. Zdarzenie 1
D. Zdarzenie 4
W momencie wyboru elementu z listy rozwijanej zostanie wyświetlone 'Zdarzenie 1', co wskazuje na przypisanie odpowiedniej funkcji obsługującej interakcję użytkownika z kontrolką.

Pytanie 40

Który z podanych terminów najlepiej odnosi się do składnika statycznego w klasie?

A. Pole lub metoda, która jest przypisana do klasy, a nie do jej instancji
B. Zmienna lokalna wewnątrz danej klasy
C. Metoda z dostępem ograniczonym tylko do tej samej klasy
D. Funkcja, która wywołuje destruktor danej klasy
Składnik statyczny klasy to pole lub metoda, która należy do klasy jako całości, a nie do konkretnego obiektu. Oznacza to, że istnieje tylko jedna kopia składnika statycznego współdzielona przez wszystkie obiekty tej klasy. Przykład w C++: `class Licznik { public: static int liczbaObiektow; }`. Zmienna `liczbaObiektow` przechowuje liczbę utworzonych instancji klasy i jest wspólna dla wszystkich obiektów. Składniki statyczne są często używane do implementacji liczników, zarządzania zasobami lub przechowywania danych globalnych w obrębie klasy.