Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Jaką cechę powinien posiadać dobry negocjator?

A. myślenie tylko o sobie
B. przechwalanie się
C. brak pewności
D. spokój
Cechą dobrego negocjatora jest opanowanie, które odgrywa kluczową rolę w procesie negocjacji. Osoba potrafiąca zachować spokój w trudnych sytuacjach może lepiej ocenić sytuację, zrozumieć potrzeby drugiej strony oraz zidentyfikować potencjalne punkty konfliktu. Opanowanie pozwala na skuteczne zarządzanie emocjami, co jest niezbędne w celu osiągnięcia korzystnych rezultatów. Przykładem może być sytuacja, w której negocjator musi zmierzyć się z agresywnym przeciwnikiem; zachowanie zimnej krwi pozwala na analizę sytuacji bez emocjonalnych impulsów. Ponadto, opanowanie wpływa na postrzeganie osoby negocjującej przez innych, budując zaufanie i respekt. W kontekście standardów negocjacyjnych, takich jak BATNA (Best Alternative to a Negotiated Agreement), opanowanie umożliwia lepsze podejmowanie decyzji w trudnych sytuacjach. Dlatego umiejętność zachowania spokoju jest fundamentem skutecznych negocjacji.

Pytanie 2

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 2
B. Rysunek 1
C. Rysunek 3
D. Rysunek 4
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 3

Zaprezentowany diagram ilustruje wyniki przeprowadzonych testów:

Ilustracja do pytania
A. wydajnościowych
B. funkcjonalności
C. użyteczności
D. ochrony
Wykres obrazuje wyniki testów wydajnościowych, które pokazują, jak system lub aplikacja radzi sobie pod dużym obciążeniem. Testy te pomagają zidentyfikować wąskie gardła i umożliwiają optymalizację wydajności.

Pytanie 4

Jak przedstawia się liczba dziesiętna 255 w systemie szesnastkowym?

A. FE
B. 100
C. EF
D. FF
Liczba dziesiętna 255 jest reprezentowana w systemie szesnastkowym jako FF. Aby zrozumieć, dlaczego tak jest, należy przyjrzeć się procesowi konwersji z systemu dziesiętnego na szesnastkowy. System dziesiętny oparty jest na podstawie 10, co oznacza, że używa dziesięciu cyfr od 0 do 9. W systemie szesnastkowym, który ma podstawę 16, używane są cyfry od 0 do 9 oraz litery od A do F, gdzie A odpowiada 10, B - 11, C - 12, D - 13, E - 14, a F - 15. Aby przeliczyć 255 na system szesnastkowy, dzielimy tę liczbę przez 16. Pierwsza operacja daje nam 15 jako wynik całkowity oraz 15 jako resztę, co w systemie szesnastkowym jest reprezentowane literą F. Dalsze dzielenie 15 przez 16 daje wynik 0 oraz resztę 15, co również jest reprezentowane jako F. Zatem, zapisując reszty w odwrotnej kolejności, otrzymujemy FF. Taki zapis jest używany w różnych standardach, takich jak HTML i CSS, gdzie kolory są przedstawiane w formacie szesnastkowym. Przykładem może być kolor czerwony, którego zapis to #FF0000, co oznacza maksymalną wartość czerwonego składnika i zera dla niebieskiego oraz zielonego. Warto znać te konwersje, zwłaszcza w programowaniu i projektowaniu stron internetowych, gdzie często pracuje się z wartościami szesnastkowymi.

Pytanie 5

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

A. obiekt oraz klasa są identyczne
B. obiekt to typ złożony
C. obiekt jest instancją klasy
D. obiekt pozwala na zdefiniowanie 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 6

Który z algorytmów ma złożoność O(n<sup>2</sup>)?

A. Bubble Sort
B. Binary Search
C. Dijkstra
D. Merge Sort
Bubble Sort to algorytm o złożoności O(n²), co oznacza, że jego czas wykonania rośnie kwadratowo wraz ze wzrostem liczby elementów wejściowych. Algorytm porównuje sąsiadujące elementy i zamienia je miejscami, jeśli są w złej kolejności. Proces ten powtarza się wielokrotnie, aż do uzyskania pełnego posortowania tablicy. Ze względu na swoją prostotę, Bubble Sort jest często wykorzystywany do nauki podstaw algorytmiki, ale w praktyce rzadko stosuje się go do sortowania dużych zbiorów danych, ponieważ jest nieefektywny w porównaniu do bardziej zaawansowanych algorytmów, takich jak QuickSort czy Merge Sort.

Pytanie 7

Zgodnie z dokumentacją dotyczącą menu Navbar z biblioteki Bootstrap 4, w celu stworzenia menu należy zdefiniować listę

Ilustracja do pytania
A. < ul class="navbar-nav" > ... < /ul>
B. < ol class="navbar-nav" > ... < /ol>
C. < ul class="a, .nav-item" > ... < /ul>
D. < ol class="a, .nav-item" > ... < /ol>
Aby utworzyć menu nawigacyjne w Bootstrap 4, należy użyć listy <ul class="navbar-nav">. Tego typu struktura pozwala na tworzenie dynamicznych i responsywnych pasków nawigacyjnych, które automatycznie dostosowują się do różnych rozdzielczości ekranu.

Pytanie 8

Jakie korzyści płyną z użycia pseudokodu przy tworzeniu algorytmu?

A. Możliwość szybkie zrealizowania algorytmu w którymkolwiek języku
B. Generowanie dynamicznych struktur danych
C. Zrozumiałość dla osób nieznających się na programowaniu
D. Łatwość w zmianie kodu maszynowego
Zaletą wykorzystania pseudokodu podczas projektowania algorytmu jest jego czytelność i prostota, dzięki czemu jest zrozumiały nawet dla osób, które nie są biegłe w programowaniu. Pseudokod pozwala skupić się na logice działania algorytmu bez konieczności przestrzegania ścisłej składni konkretnego języka programowania. Dzięki temu proces projektowania jest szybszy, a algorytm można łatwo przełożyć na dowolny język programowania. Pseudokod ułatwia również współpracę między programistami i analitykami, wspierając tworzenie i dokumentowanie złożonych rozwiązań.

Pytanie 9

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

A. .bingClass()
B. .changeClass()
C. .switchClass()
D. .toggleClass()
Metoda .toggleClass() w jQuery jest mega przydatna, bo pozwala na dodawanie lub usuwanie klasy CSS w czasie rzeczywistym. Dzięki temu można fajnie urozmaicić interakcje na stronie i dodać różne efekty wizualne, co na pewno przyciąga uwagę użytkowników.

Pytanie 10

Wskaż kod, który jest funkcjonalnie równy zaprezentowanemu

Ilustracja do pytania
A. Kod 4
B. Kod 2
C. Kod 1
D. Kod 3
Kod 2 jest funkcjonalnie równorzędny do przedstawionego. Zawiera te same operacje i instrukcje, co zapewnia identyczne wyniki dla tych samych danych wejściowych.

Pytanie 11

W dwóch przypadkach opisano mechanizm znany jako Binding. Jego celem jest

Ilustracja do pytania
A. przetwarzanie zdarzeń kontrolek interfejsu użytkownika przez wywoływanie odpowiednich funkcji
B. wiązanie oraz eksportowanie plików z różnych modułów aplikacji
C. zarządzanie mechanizmem obietnic (promises) lub obserwatora (observable) w programowaniu asynchronicznym
D. wiązać właściwości (property) elementu interfejsu użytkownika z danymi lub właściwością innego obiektu
Binding (wiązanie danych) to mechanizm wiązania właściwości elementu interfejsu użytkownika z danymi lub właściwościami innego obiektu. Umożliwia to automatyczne aktualizowanie UI po zmianie danych. Jest to kluczowa funkcjonalność w nowoczesnych frameworkach front-end, takich jak Angular czy Vue, która pozwala na dynamiczne aktualizowanie widoków bez konieczności ręcznego manipulowania DOM.

Pytanie 12

Programista aplikacji mobilnych pragnie zmienić swoją ścieżkę kariery na Full-Stack Developera. Wskaż kurs, który powinien wybrać, żeby to osiągnąć?

A. Ultimate C# Serier from Beginner to Advanced
B. Mastering Cross-platform Developping
C. Raster and Vector Graphics with Adobe
D. Complete JavaScript React, SQL, Node.js Cource
Kurs 'Complete JavaScript React, SQL, Node.js Course' obejmuje naukę pełnego stosu technologii webowych, umożliwiając przejście z roli developera mobilnego na stanowisko Full-Stack Developer. Kurs ten pokrywa zarówno frontend (React), jak i backend (Node.js, SQL), co jest kluczowe dla pracy full-stack.

Pytanie 13

W programie stworzonym w języku C++ trzeba zadeklarować zmienną, która będzie przechowywać wartość rzeczywistą. Jakiego typu powinna być ta zmienna?

A. int
B. numeric
C. double
D. number
Typ zmiennej 'double' przechowuje liczby rzeczywiste (zmiennoprzecinkowe) w języku C++. Jest to najczęściej używany typ do operacji wymagających precyzji, takich jak obliczenia matematyczne czy fizyczne. Double oferuje większą dokładność niż 'float' i jest standardem w większości aplikacji.

Pytanie 14

Jednym z elementów, które mają zostać zaimplementowane w aplikacji, jest możliwość cofnięcia ostatnich działań do 20 operacji wstecz (undo). Struktura danych, która jest odpowiednia do tego celu i pozwala na dostęp tylko do ostatnio dodanego elementu, to:

A. stos
B. tablica
C. drzewo
D. kolejka
Stos to struktura danych, która działa na zasadzie LIFO (Last In, First Out), co oznacza, że ostatni dodany element jest pierwszym, który zostaje usunięty. Ta cecha sprawia, że stos jest idealnym rozwiązaniem dla funkcjonalności cofania operacji, ponieważ pozwala na skuteczne zarządzanie historią działań użytkownika. W przypadku aplikacji, która wymaga cofania ostatnich 20 operacji, stos może przechowywać te operacje, dodając nowe elementy na szczyt, a następnie usuwając je z tej samej pozycji. Przykładem zastosowania stosu w praktyce może być edytor tekstu, w którym użytkownik może cofać swoje ostatnie zmiany. Gdy użytkownik wykonuje operację, taka jak dodanie lub usunięcie tekstu, ta operacja jest umieszczana na stosie. Jeśli użytkownik wybiera opcję cofnięcia, ostatnia operacja jest usuwana z góry stosu, co przywraca wcześniejszy stan dokumentu. Warto również zauważyć, że wiele języków programowania oferuje wbudowane klasy lub biblioteki do zarządzania stosami, co ułatwia jego implementację. Stos jest nie tylko efektywny w kontekście czasowym, ale także pamięciowym, co czyni go doskonałym wyborem dla tego typu aplikacji.

Pytanie 15

Który z poniższych opisów najlepiej charakteryzuje system informatyczny?

A. Zbiór urządzeń technicznych używanych w pracy biurowej
B. Zespół ludzi, procedur, oprogramowania i sprzętu służący do przetwarzania danych
C. Sieć komputerowa, która umożliwia komunikację pomiędzy użytkownikami
D. Oprogramowanie wspierające jedynie zarządzanie danymi osobowymi
Pierwsza z niepoprawnych odpowiedzi definiuje system informatyczny jedynie jako zespół urządzeń technicznych używanych do pracy biurowej. Tego rodzaju podejście jest zbyt wąskie i nie obejmuje istotnych elementów, takich jak ludzie i procedury, które są kluczowe w kontekście przetwarzania danych. Oprogramowanie i procedury są równie ważne, ponieważ stanowią podstawę dla skutecznego działania systemu informatycznego. Kolejna odpowiedź ogranicza się wyłącznie do oprogramowania wspierającego zarządzanie danymi osobowymi, co również jest nieprawidłowe. Systemy informatyczne są zdecydowanie bardziej złożone i obejmują szereg funkcjonalności, takich jak zarządzanie procesami, analizę biznesową czy integrację z innymi systemami. Ostatnia odpowiedź odnosi się do sieci komputerowej, co jest tylko jednym z komponentów systemu informatycznego. Sieć komputerowa może być wykorzystywana do komunikacji, ale nie definiuje całego systemu, ponieważ brak w niej odniesienia do ludzi, procedur i oprogramowania, które są kluczowe dla pełnego zrozumienia roli systemu informatycznego w organizacji.

Pytanie 16

Który z etapów umożliwia zwiększenie efektywności aplikacji przed jej wydaniem?

A. Optymalizacja kodu
B. Testowanie jednostkowe
C. Tworzenie interfejsu graficznego
D. Dodawanie komentarzy do kodu
Optymalizacja kodu to kluczowy etap poprawy wydajności aplikacji przed jej publikacją. Polega na eliminacji zbędnych operacji, poprawie algorytmów oraz minimalizacji użycia zasobów, co pozwala na szybsze działanie aplikacji i zmniejszenie jej zapotrzebowania na pamięć. Optymalizacja kodu obejmuje również refaktoryzację, czyli przekształcenie kodu w bardziej czytelną i efektywną formę bez zmiany jego funkcjonalności. Dzięki optymalizacji aplikacje działają płynniej, szybciej się ładują i oferują lepsze doświadczenie użytkownika, co ma kluczowe znaczenie dla SEO oraz pozycjonowania aplikacji w wyszukiwarkach. Dodatkowo, zoptymalizowany kod jest łatwiejszy w utrzymaniu i rozwijaniu, co przekłada się na długoterminowe korzyści dla zespołu deweloperskiego.

Pytanie 17

Wskaż właściwość charakterystyczną dla metody abstrakcyjnej?

A. nie ma implementacji w klasie bazowej
B. jest pusta w klasach dziedziczących
C. zawsze jest prywatna
D. jest pusta w klasie nadrzędnej
Metoda abstrakcyjna to metoda zadeklarowana w klasie bazowej, ale nieposiadająca implementacji. Wymusza ona na klasach dziedziczących zaimplementowanie tej metody. Taki mechanizm pozwala na tworzenie szkieletów klas, gdzie szczegóły implementacyjne są delegowane do klas potomnych. Dzięki temu można stosować polimorfizm i ujednolicić interfejs dla różnych obiektów.

Pytanie 18

Które z wymienionych działań zwiększa bezpieczeństwo transakcji online?

A. Udostępnianie informacji o karcie kredytowej w e-mailach
B. Zastosowanie publicznego Wi-Fi do logowania się na konto bankowe
C. Weryfikowanie certyfikatów SSL na stronach zajmujących się transakcjami
D. Nieaktualizowanie oprogramowania przeglądarki
Korzystanie z publicznego Wi-Fi do logowania na konto bankowe jest niezwykle ryzykowne, ponieważ takie sieci są często niezabezpieczone i podatne na ataki. Udostępnianie danych karty kredytowej w wiadomościach e-mail to jeden z głównych powodów kradzieży danych – e-maile mogą zostać przechwycone przez hakerów. Brak aktualizacji oprogramowania przeglądarki powoduje, że jest ona podatna na luki w zabezpieczeniach, które mogą zostać wykorzystane do ataku na użytkownika podczas korzystania z bankowości internetowej.

Pytanie 19

Który z warunków logicznych weryfikuje, czy zmienna całkowita x jest dodatnią liczbą składającą się z dwóch cyfr i jest podzielna przez 4?

A. (x > 9 || x < 100) && (x / 4 == 0)
B. (x > 0 && x < 100) || (x / 4 == 0)
C. (x > 9 && x < 100) || (x % 4 == 0)
D. (x > 9 && x < 100) && (x % 4 == 0)
Warunek (x > 9 && x < 100) && (x % 4 == 0) sprawdza, czy zmienna x jest dodatnią liczbą dwucyfrową podzielną przez 4. Dzięki operatorom logicznym && programista może precyzyjnie określić, czy liczba mieści się w odpowiednim zakresie i spełnia wymagania dotyczące podzielności. Tego typu warunki są niezbędne przy filtrowaniu danych i walidacji użytkowych wejść.

Pytanie 20

Czym jest klasa w programowaniu obiektowym?

A. zmienna
B. wskaźnik
C. typ danych
D. instrukcja
Klasa w programowaniu obiektowym jest typem danych, który pozwala na definiowanie własnych struktur zawierających pola (dane) i metody (funkcjonalność). Klasy są podstawą paradygmatu obiektowego i umożliwiają tworzenie obiektów, które są instancjami danej klasy. Klasa definiuje szablon dla obiektów, określając ich zachowanie i właściwości.

Pytanie 21

Który z dokumentów stosowanych w metodologii Agile zawiera listę funkcjonalności produktu uporządkowanych według ich ważności?

A. Diagram Gantta
B. Backlog sprintu
C. Harmonogram projektu
D. Product backlog
Backlog sprintu zawiera jedynie zadania przypisane do aktualnego sprintu i jest podzbiorem całego backlogu produktu, co oznacza, że nie zawiera całości funkcjonalności. Diagram Gantta to narzędzie do planowania harmonogramu projektów, ale nie służy do zarządzania wymaganiami czy funkcjonalnościami produktu. Harmonogram projektu określa czas realizacji poszczególnych etapów, ale nie odnosi się do listy funkcji, jakie muszą zostać wdrożone, co jest celem backlogu.

Pytanie 22

Jaki jest zasadniczy cel ataku phishingowego?

A. Zakłócanie pracy sieci przez nadmiarowe zapytania
B. Uniemożliwienie dostępu do usług internetowych
C. Zbieranie danych osobowych za pomocą podszywających się stron lub wiadomości
D. Kradzież haseł z pamięci operacyjnej urządzenia
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 23

Który z poniższych aspektów najlepiej definiuje działanie e-sklepu?

A. Zarządzanie serwerem e-mail
B. Dostęp do bazy danych klientów
C. Mechanizm generowania grafiki 3D
D. System obsługi koszyka oraz realizacji zamówień
System zarządzania koszykiem i realizacją zamówień to kluczowy element każdej aplikacji e-commerce (sklepu internetowego). Umożliwia użytkownikom dodawanie produktów do koszyka, zarządzanie ich ilością, a następnie finalizację transakcji poprzez proces realizacji zamówienia i płatności. Tego typu funkcjonalność wymaga integracji z bazą danych oraz systemami płatności online, co zapewnia bezpieczeństwo i wygodę użytkownika. Systemy koszyków zakupowych często oferują zaawansowane funkcje, takie jak kupony rabatowe, kody promocyjne czy integracje z magazynami i systemami logistycznymi. Realizacja zamówienia obejmuje procesy takie jak autoryzacja płatności, generowanie faktur oraz śledzenie zamówień, co jest podstawą funkcjonowania nowoczesnych platform e-commerce.

Pytanie 24

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

A. W rejestrze systemu
B. Wyłącznie w zewnętrznych bazach danych
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 25

Które z wymienionych stwierdzeń najtrafniej charakteryzuje klasę bazową?

A. Klasa, która dziedziczy z klasy pochodnej
B. Klasa, która zapewnia wspólne atrybuty i metody dla klas pochodnych
C. Klasa, która nie może być dziedziczona
D. Klasa, która zawsze zawiera metody wirtualne
Klasa bazowa to klasa, która dostarcza wspólne pola i metody dla klas pochodnych. Definiuje ogólną funkcjonalność, która może być rozszerzana lub modyfikowana przez klasy dziedziczące. Dzięki temu programowanie obiektowe umożliwia wielokrotne wykorzystanie kodu, co prowadzi do jego większej modularności i czytelności. Klasa bazowa często zawiera metody wirtualne, które mogą być nadpisywane przez klasy pochodne, co pozwala na dostosowanie funkcjonalności do konkretnych potrzeb. Przykładem jest klasa 'Pojazd', która posiada metody takie jak 'Jedz()' czy 'Zatrzymaj()', a klasy pochodne, np. 'Samochód' lub 'Rower', rozszerzają tę funkcjonalność.

Pytanie 26

Jaką wartość ma zmienna b po wykonaniu poniższego kodu?

Ilustracja do pytania
A. 5
B. 2
C. 20
D. 11
Po przeanalizowaniu przedstawionego kodu, możemy zauważyć, że zmienne a b i c są zainicjalizowane odpowiednio wartościami 1 20 i 3. Pętla while jest zależna od warunku a <= 10 co oznacza że będzie się wykonywać dopóki a nie przekroczy 10. W ciele pętli najpierw zmniejszamy wartość b o wartość c czyli b = b - c a następnie zwiększamy a o 2 czyli a += 2. Ponieważ a jest początkowo równe 1 pętla będzie się wykonywać pięć razy zanim a stanie się większe niż 10 (1 3 5 7 9). Podczas każdej iteracji wartość b zmniejsza się o 3 (ponieważ c=3). Po pięciu iteracjach wartość b zostanie zmniejszona o 15 (5*3) z początkowej wartości 20 uzyskując ostatecznie 5. W tym kontekście poprawna odpowiedź to 5. Takie podejście do analizy pętli i zmiennych jest kluczowe podczas programowania ponieważ pozwala zrozumieć jak zmieniają się wartości zmiennych w czasie wykonywania programu. Zrozumienie tych zasad jest fundamentalne w programowaniu proceduralnym oraz w debugowaniu kodu.

Pytanie 27

Po wykonaniu podanego kodu na konsoli wyświetli się liczba

Ilustracja do pytania
A. 0
B. 115
C. 73
D. 108
Kod generuje liczbę 115 w konsoli, co jest wynikiem przetwarzania wartości ASCII znaków lub obliczeń matematycznych na poziomie bajtów. W języku C++ konwersja i manipulowanie wartościami liczbowymi często obejmuje użycie operacji na typach całkowitych oraz zmiennych pomocniczych, co umożliwia precyzyjne zarządzanie wynikiem wyjściowym.

Pytanie 28

Która z poniższych struktur danych jest najbardziej odpowiednia do przechowywania unikalnych elementów?

A. Sekwencja
B. Kolejka priorytetowa
C. Zbiór (Set)
D. Tablica
Lista pozwala na dodawanie powtarzających się elementów, więc nie daje ci unikalności. Tablica działa podobnie, bo też trzyma duplikaty, bez jakiegoś mechanizmu, który by je automatycznie usuwał. Kolejka priorytetowa przechowuje rzeczy według określonej kolejności, ale tu znowu nie jest mowa o unikalności. Każda z tych struktur ma swoje zadania, ale żadna nie jest tak dobra jak zbiór, jeśli chodzi o trzymanie unikalnych danych. Dziwne, nie?

Pytanie 29

Jakie są kluczowe etapy realizacji projektu programistycznego?

A. Analiza, implementacja, testowanie, aktualizacja
B. Projektowanie, testowanie, aktualizacja, implementacja
C. Planowanie, analiza, implementacja, wdrożenie
D. Planowanie, projektowanie, debugowanie, konserwacja
Podstawowe fazy realizacji projektu programistycznego to: planowanie, analiza, implementacja i wdrożenie. Planowanie pozwala na ustalenie celów i zasobów, analiza definiuje wymagania, implementacja to właściwy proces tworzenia kodu, a wdrożenie polega na uruchomieniu produktu w środowisku produkcyjnym. Ten klasyczny podział jest stosowany zarówno w tradycyjnych modelach, takich jak Waterfall, jak i w nowoczesnych metodach Agile, gdzie fazy mogą być bardziej iteracyjne. Odpowiednie zarządzanie każdą z tych faz minimalizuje ryzyko błędów i zwiększa efektywność zespołu.

Pytanie 30

Zaznaczone elementy w przedstawionych obramowaniach mają na celu

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

Pytanie 31

W aplikacji mobilnej, aby określić warianty grafiki w zależności od wielkości ekranu, należy (uwaga: odpowiedzi wariantowe dla dwóch systemów - sugerować się systemem omawianym na zajęciach)

A. iOS: dodać do nazw sufiksy oznaczające rozdzielczość, np. 32ppi. Android: umieścić grafikę w odpowiednich katalogach: 32ppi, 64ppi, 96ppi
B. iOS: utworzyć katalogi hdpi, lhpi, xhpi i dodać do nich grafiki. Android: utworzyć katalogi 32x32, 64x64, 96x96 i dodać do nich grafiki
C. iOS: dodać do nazw sufiksy #2x, #3x. Android: dodać do nazw sufiks rozdzielczości: -32x32, -64x64, -96x96
D. iOS: dodać do nazw plików sufiksy @2x, @3x. Android: umieścić grafikę w odpowiednich folderach drawable: -hdpi, -xhpi, xxhdpi
Lepiej nie używać oznaczeń w stylu 32ppi czy 64ppi, bo to nie pasuje do żadnej z tych platform. To bardziej pasuje do druku, a nie aplikacji mobilnych. Foldery 32x32 czy 64x64 też nie mają sensu w kontekście Androida czy iOS. Jak stworzysz foldery o nazwach lhpi czy 32x32 to może być problem z wyświetlaniem grafiki na różnych urządzeniach. Z mojego doświadczenia, lepiej trzymać się ustalonych standardów, żeby uniknąć błędów.

Pytanie 32

Jakie jest rozwiązanie dla dodawania binarnego liczb 1011 oraz 110?

A. 10101
B. 11101
C. 11001
D. 10001
Dodawanie binarne to podstawowa operacja w systemie liczbowym, który używa tylko dwóch cyfr: 0 i 1. W przypadku dodawania liczb binarnych, proces ten przypomina dodawanie w systemie dziesiętnym, jednak z pewnymi różnicami ze względu na ograniczony zestaw cyfr. Gdy dodajemy liczby 1011 i 110, należy ustawić je w kolumnach, podobnie jak w dodawaniu dziesiętnym. Zaczynamy od najmniej znaczącej cyfry. W pierwszej kolumnie mamy 1 + 0, co daje 1. W drugiej kolumnie mamy 1 + 1, co daje 0, ale musimy przenieść 1 do następnej kolumny (przeniesienie jest kluczowym elementem w dodawaniu binarnym). W trzeciej kolumnie dodajemy 1 (przeniesienie) + 0 + 1, co daje 0 i przenosimy 1 do następnej kolumny. W czwartej kolumnie dodajemy przeniesienie 1 + 1 (z liczby 1011), co daje 10 w systemie binarnym, co oznacza 0 i przeniesienie 1. Końcowym wynikiem dodawania daje 10001 w systemie binarnym. To podejście jest zgodne z zasadami arytmetyki binarnej, które są fundamentem działania komputerów i systemów cyfrowych, w których operacje na danych są realizowane w systemie binarnym.

Pytanie 33

Jaką technologię stosuje się do powiązania aplikacji internetowej z systemem baz danych?

A. JavaScript
B. CSS
C. HTTP
D. SQL
SQL, czyli język do zarządzania danymi, to mega ważna rzecz, jeśli chodzi o relacyjne bazy danych. Dzięki niemu można tworzyć, modyfikować, a nawet usuwać tabele. To taki most, który łączy aplikacje webowe z bazą danych. Dzięki SQL programiści mogą łatwo przechowywać i przetwarzać różne informacje na serwerze. Przykłady? Można generować listy produktów, ogarniać użytkowników czy analizować dane z transakcji. Właściwie bez SQL-a nie dałoby się zbudować solidnych aplikacji, na przykład tych, które działają na MySQL, PostgreSQL czy Microsoft SQL Server. Chociaż pewnie o tym wiesz, ale warto to zaznaczyć.

Pytanie 34

W przypadku przedstawionych kodów źródłowych, które są funkcjonalnie równoważne, wartość, która zostanie zapisana w zmiennej b po wykonaniu operacji, to

Ilustracja do pytania
A. 5.96
B. 6
C. 596
D. 5
W tym zadaniu mamy do czynienia z fajnym przykładem konwersji liczby 5.96 na liczbę całkowitą w różnych językach, takich jak Python czy C++. Kiedy robimy rzutowanie, to po prostu odcinamy część ułamkową, co daje nam 5 w zmiennej b. To jest trochę klasyczne rzutowanie albo konwersja typu, gdzie w większości języków po prostu się to robi. Ciekawostką jest, że w Pythonie działa to przez funkcję int(), która zawsze zaokrągla w dół. A w C++ czy Javie używasz po prostu (int) i efekt jest ten sam. Warto też zwrócić uwagę, że przy liczbach ujemnych rzutowanie działa inaczej, bo zawsze zmierza w stronę zera. Z doświadczenia wiem, że warto być świadomym użycia takich konwersji, bo w niektórych przypadkach, jak operacje finansowe, nawet małe różnice mogą się okazać bardzo istotne.

Pytanie 35

Która z właściwości przycisków typu Radio-button opisanych w przedstawionym fragmencie dokumentacji jest poprawna?

Ilustracja do pytania
A. Wartość właściwości value grupy radio przechowuje tekst etykiety dla każdego radio-button
B. Właściwość labelPosition może przyjmować jedną z dwóch opcji
C. Przyciski radio-button są organizowane w elemencie o nazwie <radio-group>
D. Etykieta (label) może być umieszczona wyłącznie po przycisku radio-button
Właściwość 'labelPosition' przyjmuje jedną z dwóch wartości, co pozwala na ustawienie pozycji etykiety po lewej lub prawej stronie przycisku radio-button. Jest to kluczowa funkcjonalność, która wpływa na układ i dostępność interfejsu użytkownika.

Pytanie 36

Które z wymienionych sytuacji jest przykładem hermetyzacji w programowaniu obiektowym?

A. Tworzenie wielu metod o tej samej nazwie w różnych klasach
B. Wykorzystanie klasy nadrzędnej w innej klasie
C. Tworzenie klasy abstrakcyjnej
D. Ograniczenie dostępu do pól klasy poprzez modyfikatory dostępu
Hermetyzacja (ang. encapsulation) to mechanizm programowania obiektowego, który polega na ukrywaniu wewnętrznych danych obiektu oraz udostępnianiu dostępu do nich tylko za pośrednictwem metod publicznych (gettery i settery). Dzięki hermetyzacji dane klasy są chronione przed bezpośrednią modyfikacją, co zwiększa bezpieczeństwo i stabilność kodu. Przykład w C++: `class Konto { private: double saldo; public: void wplata(double kwota) { saldo += kwota; } }` – saldo jest polem prywatnym, które można modyfikować tylko poprzez metody publiczne, co zapobiega nieautoryzowanemu dostępowi.

Pytanie 37

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

A. realizowane przez zespół zatrudnionych testerów z Google
B. podzielone na testy dotyczące funkcjonalności, wydajności i skalowalności
C. przeprowadzane przez grupę docelowych użytkowników aplikacji
D. prowadzone w oparciu o dokument zawierający przypadki testowe
Testy Beta w Google Play są wykonywane przez rzeczywistych użytkowników, którzy zgłaszają błędy i proponują zmiany. Jest to kluczowy etap testowania, który pozwala na ocenę aplikacji w warunkach zbliżonych do rzeczywistego użytkowania przed oficjalną premierą. Testy te pomagają wykrywać błędy, które mogły zostać pominięte podczas testów wewnętrznych.

Pytanie 38

W jakiej sytuacji wykorzystanie stosu będzie korzystniejsze niż lista podczas projektowania zestawu danych?

A. Gdy ważne jest szybkie znajdowanie elementów
B. Gdy dane muszą być uporządkowane
C. Gdy kolejność przetwarzania danych jest odwrócona (LIFO)
D. Gdy chcemy usunąć element z końca
Stos to struktura danych działająca na zasadzie LIFO (Last In First Out), co oznacza, że ostatni dodany element jest przetwarzany jako pierwszy. Jest to niezwykle efektywne rozwiązanie w przypadkach, gdy dane muszą być przetwarzane w odwrotnej kolejności niż były dodane. Stos jest szeroko wykorzystywany w implementacji algorytmów rekurencyjnych, obsłudze wywołań funkcji oraz w systemach zarządzania historią (np. w przeglądarkach internetowych lub edytorach tekstu). Stos zapewnia szybki dostęp do ostatnio dodanych danych i efektywne zarządzanie pamięcią, co czyni go niezastąpionym w wielu aplikacjach informatycznych.

Pytanie 39

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

Ilustracja do pytania
A. skorzystać z funkcji biblioteki jQuery, która była wcześniej pobrana i zapisana lokalnie
B. wstawić kod JavaScript pomiędzy znacznikami &lt;script&gt;&lt;/script&gt;
C. zadeklarować własną funkcję JavaScript o nazwie min.js
D. pobrać z Internetu w momencie otwierania strony i użyć biblioteki jQuery
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 40

Do form komunikacji werbalnej zalicza się

A. pozycja ciała
B. wyraz twarzy
C. mówienie
D. gestykulacja
Mówienie jest formą komunikacji werbalnej, która obejmuje przekazywanie informacji za pomocą słów. Jest to podstawowy sposób wyrażania myśli, instrukcji i emocji w bezpośredniej interakcji z innymi osobami.