Wyniki egzaminu

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

Egzamin niezdany

Wynik: 7/40 punktów (17,5%)

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

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

Ilustracja do pytania
A. liczby rzeczywiste
B. elementy o nieokreślonym typie
C. liczby całkowite
D. elementy typu List
Elementy typu float lub obiekty (List<List>) są możliwe, ale w tym przypadku wyraźnie wskazano typ int. Listy o niezdefiniowanym typie nie są możliwe, ponieważ w C# typ danych musi być określony w momencie deklaracji listy.

Pytanie 2

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

Ilustracja do pytania
A. wszystkie elementy w tablicy odpowiadają wartości konkretnego elementu (argument)
B. konkretny element (argument) jest obecny w tablicy liczb całkowitych
C. w tablicy liczb całkowitych znajdują się jedynie wartości 4, 15, -2, 9, 202
D. konkretny element (argument) przypada w zakresie od 0 do 4
Sprawdzanie równości wszystkich elementów tablicy wymaga innego podejścia, które porównuje każdy element z jednym punktem odniesienia. Weryfikacja zakresów wartości odbywa się poprzez analizę wartości minimalnych i maksymalnych, co nie jest celem tej funkcji. Funkcja ta nie ogranicza tablicy do konkretnych wartości, takich jak 4, 15 czy 202, lecz analizuje pełen zakres danych.

Pytanie 3

Działania przedstawione w filmie korzystają z narzędzia

A. generatora GUI przekształcającego kod do języka XAML
B. kompilatora dla interfejsu graficznego
C. debuggera analizującego wykonujący kod
D. generatora kodu java
Debugger analizuje wykonywany kod, ale nie zajmuje się tworzeniem interfejsów graficznych. Kreator kodu Java jest narzędziem wspomagającym generowanie kodu aplikacji, a nie GUI. Kompilator interfejsu graficznego odpowiada za przekształcanie gotowego kodu, ale nie za tworzenie interaktywnych elementów wizualnych w czasie rzeczywistym.

Pytanie 4

Jednym z kroków publikacji aplikacji mobilnej w Google Play są testy Beta, które charakteryzują się tym, że są:

A. prowadzone w oparciu o dokument zawierający przypadki testowe
B. przeprowadzane przez grupę docelowych użytkowników aplikacji
C. realizowane przez zespół zatrudnionych testerów z Google
D. podzielone na testy dotyczące funkcjonalności, wydajności i skalowalności
Testy funkcjonalne, wydajnościowe i skalowalności są przeprowadzane przez deweloperów lub profesjonalnych testerów, a nie użytkowników końcowych. Google nie zatrudnia bezpośrednio testerów do każdej aplikacji – odpowiedzialność za testy spoczywa na twórcach aplikacji.

Pytanie 5

Aby zdefiniować zmienną, która będzie działała jako licznik instancji danej klasy, należy wprowadzenie takiego zmiennej poprzedzić słowem kluczowym

A. register
B. static
C. operator
D. virtual
Słowo 'register' oznacza zmienną przechowywaną w rejestrze procesora, ale nie jest używane do deklarowania pól klasowych. 'Operator' odnosi się do przeciążania operatorów, co nie ma związku z liczeniem instancji klasy. 'Virtual' dotyczy metod wirtualnych i polimorfizmu, a nie liczenia obiektów klasy.

Pytanie 6

Co następuje, gdy błąd nie zostanie uchwycony przez blok catch?

A. Program kontynuuje działanie, pomijając błąd
B. Błąd zostanie zignorowany przez kompilator
C. Program zakończy działanie z błędem
D. Instrukcja throw zostanie automatycznie wykreślona
Program nie może kontynuować działania po wystąpieniu wyjątku bez jego obsługi – to mogłoby prowadzić do nieprzewidywalnych błędów. Wyjątek nie jest ignorowany przez kompilator – jeśli wyjątek wystąpi w czasie wykonywania programu, kompilator nie ma na to wpływu. 'Throw' nie jest automatycznie usuwane – to instrukcja zgłaszająca wyjątek, a jej wykonanie jest zależne od warunków w kodzie. Brak obsługi wyjątku prowadzi do natychmiastowego przerwania programu, a nie do pominięcia instrukcji.

Pytanie 7

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

A. Scrum
B. Prototypowy
C. Kanban
D. Waterfall
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 8

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

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

Pytanie 9

Co to jest dokumentacja instruktażowa programu?

A. Instrukcją opisującą, jak używać funkcji programu
B. Kolekcją testów jednostkowych oraz ich wyników
C. Zbiorem szczegółów technicznych dotyczących kodu źródłowego
D. Dokumentem przedstawiającym plany rozwoju oprogramowania
Dokument zawierający szczegóły techniczne kodu źródłowego to część dokumentacji dla programistów, a nie instrukcja pomocy skierowana do użytkownika końcowego. Zbiór testów jednostkowych i wyników to część procesu testowania aplikacji, mająca na celu weryfikację poprawności działania kodu, ale nie wyjaśnia użytkownikom końcowym, jak korzystać z programu. Dokumenty związane z planami rozwoju aplikacji są istotne z punktu widzenia zarządzania projektem, ale nie zawierają instrukcji dotyczących bieżącej obsługi i użytkowania oprogramowania.

Pytanie 10

Który z wymienionych poniżej wzorców projektowych można zakwalifikować jako wzorzec strukturalny?

A. Fasada (Facade)
B. Obserwator (Observer)
C. Fabryka abstrakcyjna (Abstract Factory)
D. Metoda szablonowa (Template method)
Metoda Szablonowa (Template Method) to wzorzec behawioralny, który definiuje sposób realizacji algorytmu. Fabryka Abstrakcyjna (Abstract Factory) to wzorzec kreacyjny, który koncentruje się na tworzeniu obiektów bez określania ich konkretnych klas. Wzorzec Obserwator (Observer) to wzorzec behawioralny, który umożliwia powiadamianie obiektów o zmianach stanu innego obiektu, co jest kluczowe w implementacji reaktywnych systemów, ale nie jest przykładem wzorca strukturalnego.

Pytanie 11

Zademonstrowana pętla wykorzystuje obiekt random do

Ilustracja do pytania
A. uzupełnienia tablicy danymi w postaci liczb pseudolosowych
B. jednorazowego wylosowania znaku z określonego zestawu znaków
C. wielokrotnego generowania liczby, aby stworzyć ciąg z liczb pseudolosowych
D. stworzenia losowego napisu o długości 8 znaków składającego się z liter
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 12

Na ilustracji pokazano fragment emulacji iOS z elementem kontrolnym. Który fragment kodu XAML opisuje ten element?

Ilustracja do pytania
A. <Entry IsPassword= "true" />
B. <Stepper Increment= "1" />
C. <Switch IsToggled= "true" />
D. <Slider Maximum= "255" />
Kontrolka <Switch IsToggled= "true" /> w XAML to taki przełącznik. Ma dwa stany: włączony (true) i wyłączony (false). Można to porównać do zwykłego włącznika, tylko że w aplikacjach. Fajnie się z tego korzysta, bo pozwala szybko zmieniać ustawienia, nie trzeba nic więcej wpisywać. To jest dosyć intuicyjne dla użytkowników, więc można nim łatwo zarządzać funkcjami aplikacji.

Pytanie 13

Który algorytm sortowania opiera się na metodzie "dziel i zwyciężaj"?

A. Sortowanie bąbelkowe
B. Sortowanie przez wybór
C. Sortowanie szybkie (QuickSort)
D. Sortowanie przez wstawianie
Sortowanie przez wybór polega na wyszukiwaniu najmniejszego elementu w każdej iteracji i umieszczaniu go na początku tablicy, co prowadzi do złożoności O(n²). Sortowanie bąbelkowe również działa w czasie O(n²) i nie wykorzystuje strategii dziel i zwyciężaj. Sortowanie przez wstawianie polega na stopniowym umieszczaniu elementów w odpowiedniej pozycji, ale nie dzieli tablicy na mniejsze części jak QuickSort, co sprawia, że jest mniej wydajne dla dużych zbiorów danych.

Pytanie 14

Jak określa się proces transferu danych z lokalnego komputera na serwer?

A. Wysyłanie danych
B. Pobieranie danych
C. Przesyłanie danych
D. Streaming
Pojęcia takie jak pobieranie danych, przesyłanie danych oraz streaming są często mylone z wysyłaniem danych, jednak każde z nich ma swoją unikalną definicję i zastosowanie. Pobieranie danych odnosi się do procesu ściągania informacji z serwera na komputer lokalny. Jest to operacja odwrotna do wysyłania danych i jest kluczowa dla użytkowników, którzy chcą uzyskać dostęp do plików lub zasobów umieszczonych na serwerze. Przykładowo, podczas przeglądania internetu, przeglądarka pobiera dane z serwerów, aby wyświetlić stronę użytkownikowi. Przesyłanie danych, z kolei, to termin ogólny, który można wykorzystać do opisania dowolnej wymiany informacji między lokalnym a zdalnym systemem. Obejmuje zarówno wysyłanie, jak i pobieranie danych, co sprawia, że użycie go w kontekście konkretnej operacji może być mylące. Wreszcie, streaming odnosi się do strumieniowego przesyłania danych, które umożliwia użytkownikom nieprzerwaną transmisję multimediów, takich jak filmy czy muzyka, w czasie rzeczywistym. W tym przypadku, dane są przesyłane w małych partiach, co pozwala na ich natychmiastowe odtwarzanie, a nie przechowywanie lokalnie. W związku z tym, choć wszystkie te procesy dotyczą transferu danych, to tylko wysyłanie danych odnosi się do przesyłania informacji z komputera lokalnego na serwer.

Pytanie 15

Jaki jest zasadniczy cel ataku phishingowego?

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

Pytanie 16

Algorytm wyszukiwania sekwencyjnego z wykorzystaniem wartownika opiera się na założeniu, że

A. zbiór danych wejściowych musi być uporządkowany
B. szukany element powinien wystąpić wielokrotnie w zbiorze
C. zbiór ma zawsze 100 elementów
D. na końcu analizowanego zbioru należy dodać wartownika
Zbiór wejściowy musi być posortowany to błędna informacja, ponieważ algorytm sekwencyjnego wyszukiwania działającego z wartownikiem nie wymaga sortowania danych. W rzeczywistości przeszukiwany zbiór może być w dowolnej kolejności, co jest jedną z jego zalet w porównaniu do bardziej złożonych algorytmów, takich jak wyszukiwanie binarne, które rzeczywiście wymaga posortowanych danych. Kolejna nieprawidłowa opcja odnosi się do założenia, że zbiór jest zawsze 100 elementowy. Algorytm sekwencyjnego wyszukiwania działa na zbiorach o dowolnej wielkości, co czyni go elastycznym rozwiązaniem w różnych kontekstach aplikacyjnych. Ostatnim niepoprawnym stwierdzeniem jest to, że szukany element musi powtórzyć się kilkakrotnie w zbiorze. Algorytm ten jest w stanie zidentyfikować element, który występuje w zbiorze jednorazowo, jak i taki, który występuje wielokrotnie. Jego głównym celem jest zlokalizowanie przynajmniej jednego wystąpienia poszukiwanego elementu, niezależnie od jego ilości w zbiorze. Dlatego każda z tych odpowiedzi jest nieprawidłowa i nie oddaje rzeczywistej natury funkcjonowania algorytmu sekwencyjnego wyszukiwania z wartownikiem.

Pytanie 17

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. toggled.
B. button clicked.
C. value changed.
D. tapped.
Zdarzenie 'toggled' mówi o przełącznikach, czyli o tych małych suwakach, co zmieniają stan. 'Value changed' to w sumie zmiana wartości w różnych kontrolkach, takich jak suwaki czy pola tekstowe. A 'Button clicked' dotyczy przycisków, a nie elementów z listy. Każde z tych zdarzeń ma swój cel w interfejsie, więc warto o tym pamiętać.

Pytanie 18

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

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

Pytanie 19

Jaką nazwę nosi framework CSS, który służy do definiowania wyglądu stron internetowych i którego klasy są użyte w przedstawionym przykładzie?

Ilustracja do pytania
A. Symfony
B. Yaml
C. Angular
D. Bootstrap
Bootstrap jest jednym z najpopularniejszych frameworków CSS używanych do tworzenia responsywnych aplikacji internetowych. Jest to zestaw narzędzi open-source, który oferuje gotowe klasy CSS oraz komponenty JavaScript, ułatwiające projektowanie interfejsów użytkownika. W podanym przykładzie klasy takie jak 'col-sm-3' 'col-md-6' i 'col-lg-4' odnoszą się do siatki Bootstrapowej, która umożliwia elastyczne rozplanowanie elementów na stronie w zależności od rozmiaru ekranu. Klasa 'btn-primary' stosowana jest w Bootstrapie do stylizacji przycisków w sposób, który pasuje do domyślnych kolorów motywu. Z kolei 'dropdown-toggle' jest używana do obsługi rozwijanych list. Dzięki Bootstrapowi można z łatwością tworzyć nowoczesne i estetyczne aplikacje, które są zgodne z zasadami responsywnego web designu, co jest kluczowym standardem w dzisiejszej branży. Użycie Bootstrapu przyspiesza proces developmentu, pozwalając skupić się na funkcjonalności i logice aplikacji, zamiast na ręcznym stylizowaniu elementów.

Pytanie 20

Który z poniższych opisów najlepiej definiuje kompilator?

A. Narzędzie przekształcające kod źródłowy na plik wykonywalny
B. System monitorujący zmiany w kodzie źródłowym
C. Program łączący dynamiczne biblioteki z kodem źródłowym
D. Narzędzie do analizy kodu w czasie rzeczywistym
Analiza kodu w czasie rzeczywistym to zadanie debuggera, który umożliwia śledzenie i analizowanie działania programu na bieżąco, a nie kompilatora. Program łączący dynamiczne biblioteki to linker, który działa po skompilowaniu kodu źródłowego i łączy pliki obiektowe oraz biblioteki w jeden program wykonywalny. System śledzący zmiany w kodzie źródłowym to system kontroli wersji, jak Git, który monitoruje zmiany w plikach projektu, ale nie zajmuje się tłumaczeniem kodu na język maszynowy.

Pytanie 21

Jak zostanie przedstawiony poniższy kod XAML?

Ilustracja do pytania
A. Rysunek 3
B. Rysunek 4
C. Rysunek 2
D. Rysunek 1
Błędy w rozumieniu XAML mogą prowadzić do niepoprawnego renderowania interfejsu użytkownika. W przypadku przedstawionego kodu kluczowym elementem jest zrozumienie struktury StackLayout który domyślnie ustawia elementy w pionie chyba że określono Orientation jako Horizontal jak w przypadku etykiety Zgoda RODO i przełącznika co może być mylące gdyż sugeruje potrzebę zwrócenia uwagi na szczegóły. W innych rysunkach jak na przykład Rysunek 1 brak pola nazwisko wskazuje na błędne zrozumienie struktury kodu gdzie Entry dla nazwiska jest obecne ale nie jest widoczne co wskazuje na potrzebę poprawnego zrozumienia jak StackLayout renderuje elementy. Podobnie Rysunek 3 zawiera dodatkowe przyciski co sugeruje błędne zinterpretowanie przycisków nieobecnych w kodzie. Zrozumienie Slidera jest również kluczowe gdyż jego wartości i kolory wpływają na potencjalne błędne renderowanie suwaka w innych rysunkach. Błędy mogą wynikać z ignorowania tak kluczowych elementów jak IsToggled dla przełącznika co determinuje jego początkowy stan i jest często pomijanym aspektem przez mniej doświadczonych programistów. Stąd istotne jest dokładne zrozumienie jak poszczególne właściwości wpływają na końcowy wygląd interfejsu aby uniknąć typowych błędów projektowych i zapewnić funkcjonalność zgodną z oczekiwaniami użytkownika.

Pytanie 22

Która funkcja z biblioteki jQuery w JavaScript służy do naprzemiennego dodawania oraz usuwania klasy z elementu?

A. .bingClass()
B. .switchClass()
C. .toggleClass()
D. .changeClass()
.switchClass() to metoda, która zmienia jedną klasę na inną, ale nie działa tak, jakbyś się spodziewał, bo nie dodaje ani nie usuwa klas naprzemiennie. .changeClass() to już w ogóle nie istnieje w jQuery. A .bingClass()? No cóż, to ewidentnie literówka, bo takiej metody też nie ma.

Pytanie 23

Jakie znaczenie ma deklaracja zmiennej w programowaniu?

A. Stworzenie nowej wartości w bazie danych
B. Określenie typu oraz nazwy zmiennej w kodzie programu
C. Zarezerwowanie miejsca w pamięci dla wyników operacji arytmetycznych
D. Przypisanie zmiennej wartości domyślnej
Utworzenie wartości w bazie danych nie jest związane z deklaracją zmiennej – to operacja wykonywana w językach baz danych (np. SQL). Przypisanie zmiennej wartości domyślnej następuje po jej deklaracji, ale samo przypisanie wartości nie jest równoznaczne z deklaracją. Zarezerwowanie miejsca w pamięci dla wyników operacji arytmetycznych to efekt działania programu, a nie deklaracji zmiennej – rezerwacja pamięci następuje po uruchomieniu kodu, a nie na etapie jego pisania.

Pytanie 24

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. Specyfikacja Procedury Testowej
B. Dziennik Testów
C. Plan Testów
D. Raport Podsumowujący Testy
Test Plan to dokument opisujący strategię i zakres testów, ale nie zawiera bieżących logów z wykonania testów. Test Procedure Specification definiuje kroki wykonania testów, ale nie przechowuje informacji o ich wynikach. Test Summary Report to podsumowanie testów, ale powstaje po ich zakończeniu, a nie w trakcie wykonywania.

Pytanie 25

Który z wymienionych składników wchodzi w skład podstawowego wyposażenia środowiska IDE?

A. Kompilator, serwer webowy, system kontroli wersji
B. Kompilator, edytor kodu, debugger
C. Edytor graficzny, przeglądarka kodu, narzędzia analityczne
D. Edytor tekstowy, przeglądarka internetowa, translator
Edytor tekstowy, przeglądarka internetowa i translator nie są integralnymi komponentami środowiska IDE. Chociaż edytor tekstowy może być używany do pisania kodu, brakuje mu zaawansowanych funkcji dostępnych w edytorach IDE, takich jak podpowiedzi składniowe, automatyczne uzupełnianie kodu czy narzędzia do debugowania. Kompilator, serwer webowy i system kontroli wersji są ważne w środowisku webowym, ale nie wszystkie aplikacje desktopowe wymagają serwera webowego. Edytor graficzny i narzędzia analityczne mogą wspierać rozwój interfejsu, ale nie są to podstawowe narzędzia każdego IDE.

Pytanie 26

Jakie działania należy podjąć, aby uniknąć nieskończonej rekurencji w danej funkcji?

A. Zastosować iterację zamiast rekurencji
B. Dodać warunek zakończenia w funkcji
C. Wykorzystać automatyczny debugger w kompilatorze
D. Rozszerzyć zakres zmiennych globalnych
Zwiększanie zmiennych globalnych nie naprawi nieskończonej rekurencji – tu chodzi o to, że musisz mieć warunek zakończenia, a nie tylko więcej pamięci. Można zastąpić rekurencję iteracją, ale to nie rozwiąże problemu samej idei rekurencji. Wiadomo, że iteracja i rekurencja to różne sposoby podchodzenia do problemów. I nawet jak masz debuggera, to on nie naprawi błędów rekurencji, to ty musisz sam o to zadbać i dobrze zaimplementować warunek stopu.

Pytanie 27

Jakie obliczenia można wykonać za pomocą poniższego algorytmu, który operuje na dodatnich liczbach całkowitych?

Ilustracja do pytania
A. sumę wprowadzonych liczb
B. sumę cyfr wprowadzonej liczby
C. największy wspólny dzielnik wprowadzonej liczby
D. liczbę cyfr w wprowadzonej liczbie
Sumowanie cyfr wymaga dodatkowej operacji dodawania reszt z dzielenia przez 10, czego ten algorytm nie wykonuje. Największy wspólny dzielnik oblicza się zupełnie innymi metodami, np. algorytmem Euklidesa. Sumowanie wczytanych liczb odnosi się do iteracyjnego dodawania kolejnych wartości, co nie jest częścią przedstawionego algorytmu.

Pytanie 28

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

A. Visual Studio, Eclipse, angular, React.js, Node.js
B. ASP.NET Core, Django, Angular, React.js, Node.js
C. ASP.NET Core, jQuery, Joomla!, Wordpress, Angular
D. jquery, Joomla!, Wordpress, android Studio, Xamarin
Joomla! i WordPress – To systemy zarządzania treścią (CMS), a nie frameworki. Android Studio i Xamarin – Służą do tworzenia aplikacji mobilnych, a nie webowych. Eclipse – To środowisko programistyczne, nie framework typowy dla web developmentu.

Pytanie 29

Jaką nazwę kontrolki powinno się umieścić w początkowej linii kodu, w miejscu &lt;???, aby została ona wyświetlona w podany sposób?

Ilustracja do pytania
A. SeekBar
B. RatinoBar
C. Switch
D. Spinner
SeekBar to element interfejsu użytkownika, który pozwala użytkownikowi wybierać wartości w określonym przedziale, przeciągając uchwyt w lewo lub w prawo, co sprawia, że nadaje się do regulacji parametrów takich jak głośność czy jasność. Mimo że również jest to element interaktywny, jego użycie w kontekście binarnych decyzji byłoby niewłaściwe, ponieważ wymaga od użytkownika wyboru wartości w zakresie zamiast prostego włączania lub wyłączania. Spinner, z kolei, jest używany do prezentacji listy rozwijanej, z której użytkownik może wybrać jedną z dostępnych opcji. Jest to bardziej odpowiednie w kontekście, w którym jest wiele alternatyw do wyboru, a nie tylko dwa stany, jak w przypadku kontrolki Switch. RatinoBar wydaje się być literówką lub nieprawidłową nazwą, prawdopodobnie mylącą z RadioButton, który umożliwia wybór jednej opcji z grupy, podobnie jak Spinner, ale w zupełnie inny sposób. RadioButton nie posiada jednak mechanizmu przełączania w kontekście włączania i wyłączania funkcji, jak to ma miejsce w przypadku Switch. Zrozumienie różnic między tymi kontrolkami jest kluczowe dla projektowania intuicyjnych i efektywnych interfejsów użytkownika, a błędne przypisanie funkcjonalności może prowadzić do dezorientacji użytkownika i obniżenia jakości doświadczenia użytkownika w aplikacji.

Pytanie 30

Jakie elementy powinny być uwzględnione w dokumentacji testowej aplikacji?

A. Harmonogram wdrożenia aplikacji
B. Zalecenia dotyczące optymalizacji kodu
C. Specyfikacje techniczne serwera
D. Opis procedur testowych oraz rezultaty wykonanych testów
Plan wdrożenia aplikacji opisuje proces implementacji oprogramowania w środowisku produkcyjnym i nie zawiera szczegółów związanych z przeprowadzaniem testów. Instrukcje dotyczące optymalizacji kodu koncentrują się na poprawie wydajności i refaktoryzacji, ale nie obejmują raportów z testów i procedur ich przeprowadzania. Dane techniczne serwera dotyczą infrastruktury IT, np. konfiguracji sprzętu i oprogramowania, ale nie odnoszą się do procesu testowania aplikacji webowych.

Pytanie 31

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

A. Przeprowadzanie testów systemu po zakończeniu każdej fazy
B. Iteracyjne wprowadzanie modyfikacji na każdym poziomie
C. Równoległe prowadzenie wielu etapów projektu
D. Zakończenie jednej fazy przed rozpoczęciem następnej
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 32

Jakie jest najważniejsze działanie w trakcie analizy wymagań klienta przed rozpoczęciem realizacji projektu aplikacji?

A. Rozdzielenie ról w zespole projektowym
B. Selekcja języka programowania
C. Zrozumienie potrzeb biznesowych i oczekiwań klienta
D. Stworzenie diagramu Gantta
Rysowanie diagramu Gantta jest ważne, ale to dopiero po tym, jak już przeanalizujemy wymagania. Przydzielenie ról w zespole to też istotna rzecz na etapie planowania. Jednak to nie wystarczy, żeby zrozumieć, czego tak naprawdę klient chce od aplikacji. Wybór języka programowania to techniczna sprawa i bazuje na analizie wymagań, więc nie można tego zrobić bez wcześniejszego określenia, jakie są potrzeby biznesowe i funkcjonalności, jakie klient oczekuje.

Pytanie 33

Narzędzie przeznaczone do rozwijania aplikacji w systemie WPf (ang. Windows Presentation Foundation) to

A. Visual Studio
B. NetBeans
C. XamarinStudio
D. PyCharm
Visual Studio jest dedykowanym narzędziem do implementacji aplikacji w środowisku WPF (Windows Presentation Foundation). Umożliwia projektowanie interfejsów użytkownika i zarządzanie projektami opartymi na XAML.

Pytanie 34

Jakiego rodzaju zmiennej użyjesz w C++, aby przechować wartość "true"?

A. liczba całkowita
B. tekst
C. liczba zmiennoprzecinkowa
D. bool
Typ 'string' przechowuje tekst, a nie wartości logiczne 'true' lub 'false'. 'Int' przechowuje liczby całkowite, które mogą reprezentować wartości logiczne, ale nie są natywnym typem logicznym. 'Float' przechowuje liczby zmiennoprzecinkowe i nie może przechowywać wartości boolean. Typ 'bool' jest przeznaczony specjalnie do przechowywania wartości binarnych, co czyni go odpowiednim narzędziem do implementacji logiki decyzyjnej w programowaniu C++.

Pytanie 35

Który z poniższych elementów UI umożliwia graficzną nawigację pomiędzy różnymi sekcjami aplikacji?

A. Przycisk opcji
B. Rozwijana lista
C. Obszar tekstowy
D. Menu
Pasek menu to kluczowy element interfejsu użytkownika, który umożliwia wizualną nawigację pomiędzy różnymi sekcjami aplikacji. Paski menu są powszechnie stosowane w aplikacjach desktopowych i mobilnych, ponieważ pozwalają na szybki dostęp do różnych funkcji oraz ustawień. Dzięki ich hierarchicznej strukturze użytkownicy mogą łatwo odnaleźć potrzebne narzędzia i opcje, co zwiększa intuicyjność i wygodę korzystania z aplikacji.

Pytanie 36

Jakie narzędzie można wykorzystać do stworzenia mobilnej aplikacji cross-platform w języku C#?

A. platformę Xamarin
B. bibliotekę React Native
C. środowisko XCode
D. środowisko Android Studio
React Native jest oparty na JavaScript, a Xcode to narzędzie do natywnego programowania na iOS. Android Studio służy do tworzenia aplikacji na Androida, ale nie jest narzędziem cross-platformowym dla C#.

Pytanie 37

Które z wymienionych działań, które są częścią procesu kreowania prostej galerii zdjęć w formie aplikacji mobilnej, powinno być realizowane przez zespół?

A. Wdrożenie funkcji dodajZdjecie()
B. Stworzenie dokumentacji kodu aplikacji
C. Przygotowanie i konfiguracja repozytorium dla projektu
D. Przygotowanie testu jednostkowego dla funkcji przegladajZdjecia()
Pozostałe odpowiedzi są zadaniami, które w większości przypadków mogą być realizowane indywidualnie, co czyni je zadaniami jednostkowymi. Implementacja funkcji dodajZdjecie() dotyczy konkretnego aspektu programistycznego, który może być wykonany przez jednego dewelopera. Wymaga ona znajomości języka programowania oraz logiki potrzebnej do dodawania zdjęć do galerii, co zazwyczaj nie wymaga współpracy z innymi członkami zespołu. Przygotowanie i skonfigurowanie repozytorium dla projektu natomiast to techniczny proces, który również najczęściej realizuje jedna osoba, odpowiedzialna za ustawienie środowiska pracy. Tworzenie testu jednostkowego dla funkcji przegladajZdjecia() to kolejny krok, który można wykonać samodzielnie, koncentrując się na testowaniu konkretnej funkcji w izolacji, bez potrzeby angażowania innych programistów. W przypadku tych zadań, choć mogą one być częścią większego projektu, to ich realizacja nie wymaga współpracy zespołowej, co sprawia, że nie są to zadania zespołowe.

Pytanie 38

Jakie znaczenie ma pojęcie "debugowanie" w kontekście programowania?

A. Wyszukiwanie i usuwanie błędów w kodzie
B. Przygotowywanie dokumentacji kodu
C. Tworzenie nowych funkcjonalności aplikacji
D. Wdrażanie aplikacji w środowisku produkcyjnym
Tworzenie dokumentacji kodu to proces opisywania funkcji, klas i modułów w celu ułatwienia przyszłych modyfikacji i współpracy, ale nie wiąże się bezpośrednio z usuwaniem błędów. Opracowywanie nowych funkcji aplikacji dotyczy etapu programowania i dodawania kolejnych komponentów, ale nie jest tożsame z eliminacją błędów już istniejących w kodzie. Publikowanie aplikacji w środowisku produkcyjnym oznacza wdrożenie gotowego oprogramowania, co jest ostatnim etapem cyklu życia aplikacji i nie obejmuje aktywnego wyszukiwania błędów, jak ma to miejsce podczas debugowania.

Pytanie 39

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

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

Pytanie 40

Jakie są główne różnice między środowiskiem RAD (Rapid Application Development) a klasycznymi IDE w odniesieniu do aplikacji mobilnych?

A. RAD działa tylko na urządzeniach z systemem iOS
B. RAD pozwala na szybsze budowanie aplikacji dzięki narzędziom do wizualnego designu i automatycznego generowania kodu
C. RAD koncentruje się wyłącznie na procesie debugowania aplikacji
D. RAD nie obsługuje interfejsu użytkownika
RAD (Rapid Application Development) umożliwia szybsze tworzenie aplikacji mobilnych dzięki narzędziom do wizualnego projektowania i automatycznego generowania kodu. RAD koncentruje się na iteracyjnym podejściu do rozwoju oprogramowania, w którym prototypy są budowane i testowane w krótkich cyklach, co pozwala na szybkie dostosowywanie aplikacji do zmieniających się wymagań użytkowników. W kontekście aplikacji mobilnych, RAD skraca czas tworzenia poprzez graficzne narzędzia do budowy interfejsów, gotowe komponenty oraz integrację z backendem. Frameworki RAD, takie jak OutSystems, Mendix czy Flutter, pozwalają na szybkie wdrażanie i modyfikację aplikacji mobilnych, co znacząco zwiększa efektywność programistów.