Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji
  • Data rozpoczęcia: 8 stycznia 2025 16:43
  • Data zakończenia: 8 stycznia 2025 16:57

Egzamin niezdany

Wynik: 19/40 punktów (47,5%)

Wymagane minimum: 20 punktów (50%)

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

Jakie działania mogą przyczynić się do ochrony swojego cyfrowego wizerunku w sieci?

A. Zamieszczanie wszystkich szczegółów dotyczących swojego życia prywatnego
B. Weryfikacja ustawień prywatności na platformach społecznościowych
C. Dzieleni się swoimi danymi dostępowymi z przyjaciółmi
D. Niepotwierdzanie źródeł publikowanych informacji
Sprawdzanie ustawień prywatności na portalach społecznościowych jest kluczowe dla ochrony cyfrowego wizerunku. Regularne aktualizowanie ustawień prywatności pozwala na kontrolowanie, kto ma dostęp do publikowanych treści, co chroni przed nieuprawnionym wykorzystaniem zdjęć, filmów i informacji osobistych. Dostosowanie widoczności postów oraz ograniczenie udostępniania danych osobowych minimalizuje ryzyko kradzieży tożsamości i cyberprzemocy. To proste działanie znacząco podnosi poziom bezpieczeństwa w sieci i pozwala utrzymać pozytywny wizerunek w internecie.

Pytanie 2

Jaką funkcję spełniają atrybuty klasy w programowaniu obiektowym?

A. Określają globalne stałe programu
B. Umożliwiają przeprowadzanie operacji na obiektach
C. Zawierają informacje opisujące stan obiektu
D. Zapisują wartości lokalne w funkcjach
Pola klasy w programowaniu obiektowym to zmienne, które przechowują dane opisujące stan obiektu. Każdy obiekt posiada swoje własne kopie pól, co oznacza, że różne instancje tej samej klasy mogą przechowywać różne wartości. Przykład w C++: `class Samochod { public: string marka; int przebieg; }`. Pola `marka` i `przebieg` przechowują informacje o konkretnym samochodzie. Pola są kluczowym elementem modelowania rzeczywistych obiektów i umożliwiają przechowywanie oraz modyfikowanie danych w trakcie działania programu. Mogą mieć różne poziomy dostępu (`public`, `private`), co pozwala na lepszą kontrolę nad danymi.

Pytanie 3

Która z funkcji powinna zostać zrealizowana w warstwie back-end aplikacji webowej?

A. zarządzanie bazą danych
B. wyświetlanie danych z formularza w przeglądarce
C. zarządzanie zdarzeniami elementów
D. sprawdzanie formularzy w czasie rzeczywistym
Obsługa bazy danych jest fundamentalną częścią warstwy back-end w aplikacjach internetowych. Backend odpowiada za przetwarzanie logiki biznesowej, przechowywanie i zarządzanie danymi, a także komunikację z bazą danych. Dane przesyłane z front-endu (interfejsu użytkownika) są walidowane i przetwarzane po stronie serwera, zanim trafią do bazy danych lub zostaną zwrócone użytkownikowi. W przypadku aplikacji dynamicznych, serwer pobiera informacje z bazy danych, przekształca je zgodnie z wymogami aplikacji i przesyła z powrotem na front-end. Właściwe zarządzanie danymi i bezpieczeństwo operacji na bazie danych to kluczowe zadania back-endu. Równie ważne jest zapobieganie wstrzykiwaniu SQL (SQL Injection) i zapewnienie integralności danych, co stanowi podstawę skalowalnych i bezpiecznych aplikacji.

Pytanie 4

Które słowo kluczowe w C++ służy do definiowania klasy nadrzędnej?

A. base
B. public
C. class
D. virtual
Słowo kluczowe 'public' nie definiuje klasy – określa jedynie modyfikator dostępu, umożliwiający dostęp do pól i metod z zewnątrz klasy. 'Virtual' służy do deklarowania metod wirtualnych i wskazuje, że dana metoda może być przesłonięta w klasie pochodnej. 'Base' nie jest słowem kluczowym w C++ – w niektórych językach programowania oznacza klasę bazową, ale nie jest używane do definiowania klasy w C++.

Pytanie 5

Która z metodologii w zarządzaniu projektami umożliwia łatwe dostosowywanie się do zmieniających się potrzeb klienta?

A. Kanban
B. Scrum
C. Model spiralny
D. Model Waterfall
Scrum to metodologia zarządzania projektami, która pozwala na elastyczne reagowanie na zmieniające się wymagania klienta. W Scrumie rozwój produktu odbywa się w iteracyjnych sprintach, a na końcu każdego z nich dostarczana jest działająca część aplikacji. Regularne przeglądy i retrospekcje umożliwiają dostosowywanie zakresu prac, co pozwala na bieżąco wprowadzać zmiany i spełniać oczekiwania klienta. Scrum promuje współpracę z interesariuszami, co zwiększa prawdopodobieństwo sukcesu projektu i dostarczenia wartościowego produktu.

Pytanie 6

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

A. Klasa, która zapewnia wspólne atrybuty i metody dla klas pochodnych
B. Klasa, która nie może być dziedziczona
C. Klasa, która dziedziczy z klasy pochodnej
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 7

W jaki sposób można załadować tylko komponent z biblioteki React?

A. import { Component } from 'react'
B. import Component from 'react'
C. import [ Component ] from 'react'
D. import React.Component from 'react'
Aby zaimportować komponent z biblioteki React, należy użyć składni import { Component } from 'react'. Pozwala to na importowanie konkretnego komponentu, co jest bardziej optymalne i zapewnia czytelność kodu.

Pytanie 8

Jaki modyfikator umożliwia dostęp do elementu klasy z każdego miejsca w kodzie?

A. Protected
B. Private
C. Public
D. Static
Modyfikator 'Public' umożliwia dostęp do składowych klasy z dowolnego miejsca w programie, zarówno w ramach tej samej klasy, jak i poza nią. To najbardziej otwarty modyfikator dostępu, który pozwala na tworzenie interfejsów API, umożliwiających korzystanie z publicznych metod i właściwości przez inne klasy oraz moduły. W praktyce oznacza to, że publiczne metody są widoczne globalnie, co pozwala na ich wywoływanie bez ograniczeń. Jest to przydatne w przypadkach, gdy dana funkcjonalność musi być dostępna w różnych częściach programu lub aplikacji.

Pytanie 9

Użycie modyfikatora abstract w definicji metody w klasie wskazuje, że

A. dziedziczenie po tej klasie jest niedozwolone
B. trzeba zaimplementować tę metodę w tej klasie
C. klasy pochodne nie mogą implementować tej metody
D. klasa ta stanowi podstawę dla innych klas
Modyfikator 'abstract' w definicji klasy oznacza, że klasa ta jest bazowa dla innych klas i nie można jej instancjonować bezpośrednio. Taka klasa zawiera co najmniej jedną metodę abstrakcyjną, którą muszą zaimplementować klasy pochodne.

Pytanie 10

Wskaż programowanie, w którym możliwe jest stworzenie aplikacji mobilnej dla systemu Android?

A. C++
B. Java
C. Obiective-C
D. Swift
Java jest jednym z najważniejszych języków programowania wykorzystywanych do tworzenia aplikacji mobilnych na platformę Android. Został stworzony przez firmę Sun Microsystems i obecnie jest rozwijany przez Oracle. Java jest językiem obiektowym, co oznacza, że umożliwia programistom tworzenie aplikacji w sposób modularny i zorganizowany. W kontekście Androida, Java jest podstawowym językiem, w którym bazowe API (Application Programming Interface) zostało opracowane. Wysoka wydajność, bogata biblioteka klas oraz wsparcie dla programowania wielowątkowego sprawiają, że Java jest idealnym wyborem dla deweloperów aplikacji mobilnych. Przykładowo, do stworzenia prostego interfejsu użytkownika w aplikacji Android, programista może wykorzystać takie elementy jak TextView czy Button, które są częścią frameworka Android SDK. Współczesne praktyki wskazują również na wykorzystanie Java w połączeniu z Kotlinem, co pozwala na osiągnięcie lepszych rezultatów i zwiększa efektywność w pracy nad projektami mobilnymi.

Pytanie 11

Zajmując się pracą w zespole oraz dbając o jego efektywne funkcjonowanie, nie powinniśmy

A. wspierać się nawzajem
B. skupiać się jedynie na własnych korzyściach
C. sumiennie i w ustalonym terminie realizować swoje zadania
D. przyjmować odpowiedzialności za swoje decyzje
Dbanie wyłącznie o własny interes jest niekorzystne w pracy zespołowej, ponieważ prowadzi do konfliktów i obniżenia efektywności grupy. Praca zespołowa wymaga współpracy, wzajemnego wsparcia i odpowiedzialności za wspólne działania, co sprzyja osiąganiu lepszych wyników.

Pytanie 12

Zapisany fragment w Pythonie ilustruje:

Ilustracja do pytania
A. tablicę asocjacyjną (słownik)
B. stos
C. strukturę danych
D. kolejkę (LIFO)
Przedstawiony kod w Pythonie opisuje słownik (tablicę asocjacyjną), czyli strukturę danych przechowującą pary klucz-wartość. Słowniki są niezwykle elastyczne i efektywne, pozwalają na szybki dostęp do wartości na podstawie unikalnego klucza. Są szeroko wykorzystywane w analizie danych, przechowywaniu konfiguracji i implementacji różnorodnych algorytmów.

Pytanie 13

Złośliwe oprogramowanie stworzone w celu przyznania hakerom uprawnień administracyjnych do komputera ofiary bez jej świadomości, to

A. keylogger
B. rootkit
C. wirus
D. robak
Wirus – Replikuje się i infekuje pliki, ale nie zapewnia dostępu administratora. Keylogger – Przechwytuje naciśnięcia klawiszy, ale nie daje uprawnień administracyjnych. Robak – Rozprzestrzenia się przez sieć, ale nie ukrywa swojej obecności jak rootkit.

Pytanie 14

Zaprezentowany diagram Gantta odnosi się do projektu IT. Przy założeniu, że każdy członek zespołu dysponuje wystarczającymi umiejętnościami do realizacji każdego z zadań oraz że do każdego zadania można przypisać jedynie jedną osobę, która poświęci na zadanie pełny dzień pracy, to minimalna liczba członków zespołu powinna wynosić:

Ilustracja do pytania
A. 5 osób
B. 4 osoby
C. 1 osobę
D. 2 osoby
Diagram Gantta przedstawia harmonogram projektu, gdzie poszczególne zadania są przypisane do konkretnych dni. W sytuacji, gdy każdy członek zespołu jest w stanie wykonać dowolne zadanie, minimalna liczba osób potrzebna do realizacji projektu to liczba równoczesnych zadań w najbardziej wymagającym momencie. Kluczowe jest tu równomierne rozłożenie pracy i unikanie przestojów, co zapewnia efektywne wykorzystanie zasobów.

Pytanie 15

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

Ilustracja do pytania
A. < ol class="a, .nav-item" > ... < /ol>
B. < ol class="navbar-nav" > ... < /ol>
C. < ul class="a, .nav-item" > ... < /ul>
D. < ul class="navbar-nav" > ... < /ul>
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 16

Który framework jest powszechnie wykorzystywany do tworzenia aplikacji internetowych w języku Python?

A. Django
B. React.js
C. Angular
D. ASP.NET Core
Django to framework stworzony specjalnie do budowy aplikacji webowych w języku Python. Jest jednym z najbardziej popularnych i zaawansowanych frameworków typu full-stack, który oferuje szeroki wachlarz narzędzi umożliwiających szybkie i efektywne tworzenie aplikacji internetowych. Django pozwala na tworzenie aplikacji zgodnych z zasadą DRY (Don't Repeat Yourself), co oznacza minimalizację powtarzalnego kodu. Posiada wbudowany panel administracyjny, system ORM (Object-Relational Mapping) oraz zabezpieczenia przed atakami CSRF i XSS. Dzięki Django programiści mogą skupić się na rozwijaniu logiki biznesowej, a nie na konfiguracji podstawowych funkcji aplikacji, co znacznie skraca czas wdrożenia gotowego produktu.

Pytanie 17

W środowisku IDE przeznaczonym do tworzenia aplikacji okienkowych zdefiniowano okno Form1. Aby wprowadzić zmiany w ustawieniach, w kolejności: tytuł okna na górnym pasku, standardowy kursor na strzałkę oraz kolor tła okna, należy dostosować następujące pola w oknie Properties:

Ilustracja do pytania
A. (Name), Cursor, BackgroundImage
B. Text, UseWaitCursor, BackColor
C. (Name), UseWaitCursor, BackgroundImage
D. Text, Cursor, BackColor
Jak chcesz zmienić nazwę okna, kursor czy kolor tła w IDE, to trzeba popracować nad polami, czyli 'Text' (to jest nazwa), 'Cursor' (czyli kursor) i 'BackColor' (to kolor tła). Te ustawienia są kluczowe, bo dzięki nim możesz nadać swojemu oknu wygląd, który ci odpowiada, albo taki, który pasuje do wymagań projektu.

Pytanie 18

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

A. PHP
B. HTML
C. JavaScript
D. C++
C++ jest jednym z najczęściej wykorzystywanych języków programowania do tworzenia aplikacji desktopowych. Jego wysoka wydajność, niskopoziomowy dostęp do pamięci i możliwość zarządzania zasobami sprawiają, że jest idealnym wyborem do tworzenia aplikacji wymagających dużej mocy obliczeniowej, takich jak gry, oprogramowanie do obróbki grafiki czy aplikacje systemowe. Frameworki takie jak Qt i biblioteki standardowe C++ (STL) umożliwiają budowanie zarówno prostych, jak i zaawansowanych aplikacji z bogatym interfejsem użytkownika. C++ jest wykorzystywany na szeroką skalę w przemyśle, co czyni go jednym z kluczowych języków w ekosystemie programistycznym.

Pytanie 19

Jaką rolę pełni element statyczny w klasie?

A. Zachowuje wspólną wartość dla wszystkich instancji tej klasy
B. Pozwala na dynamiczne dodawanie nowych metod
C. Ogranicza dostęp do metod publicznych w klasie
D. Automatycznie likwiduje obiekty klasy po zakończeniu działania programu
Składnik statyczny klasy przechowuje wartości współdzielone przez wszystkie obiekty tej klasy. Jest to jedno z najbardziej efektywnych narzędzi w programowaniu obiektowym, pozwalające na ograniczenie zużycia pamięci oraz zapewnienie spójności danych. Główna rola składnika statycznego polega na utrzymaniu jednej kopii zmiennej lub metody, która jest dostępna niezależnie od liczby instancji klasy. To oznacza, że zmiana wartości składowej statycznej jest natychmiast widoczna dla wszystkich obiektów klasy. Przykładem jest licznik instancji klasy lub konfiguracja globalna aplikacji, gdzie statyczność pozwala na scentralizowanie danych i ich jednolite zarządzanie.

Pytanie 20

Jakie środowisko jest przeznaczone do tworzenia aplikacji mobilnych dla urządzeń Apple, wykorzystujące różne języki programowania, takie jak Java i Objective C?

A. React Native
B. XCode
C. Android Studio
D. NetBeans
Xcode to środowisko dedykowane do tworzenia aplikacji mobilnych na urządzenia Apple. Obsługuje języki takie jak Swift i Objective-C, co czyni go narzędziem pierwszego wyboru dla programistów iOS.

Pytanie 21

Zasada programowania obiektowego, która polega na ukrywaniu elementów klasy tak, aby były one dostępne wyłącznie dla metod tej klasy lub funkcji zaprzyjaźnionych, to

A. dziedziczenie
B. wyjątki
C. hermetyzacja
D. polimorfizm
Polimorfizm umożliwia definiowanie metod o tej samej nazwie w różnych klasach, dziedziczenie pozwala na przekazywanie cech klasy bazowej do klas pochodnych, a wyjątki dotyczą obsługi błędów, nie ukrywania składowych klasy.

Pytanie 22

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

A. XamarinStudio
B. PyCharm
C. Visual Studio
D. NetBeans
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 23

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 plików sufiksy @2x, @3x. Android: umieścić grafikę w odpowiednich folderach drawable: -hdpi, -xhpi, xxhdpi
B. iOS: dodać do nazw sufiksy oznaczające rozdzielczość, np. 32ppi. Android: umieścić grafikę w odpowiednich katalogach: 32ppi, 64ppi, 96ppi
C. iOS: dodać do nazw sufiksy #2x, #3x. Android: dodać do nazw sufiks rozdzielczości: -32x32, -64x64, -96x96
D. iOS: utworzyć katalogi hdpi, lhpi, xhpi i dodać do nich grafiki. Android: utworzyć katalogi 32x32, 64x64, 96x96 i dodać do nich grafiki

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kiedy chcemy, żeby grafiki w aplikacjach mobilnych wyglądały dobrze na różnych ekranach, musimy zastosować odpowiednie strategie, które zależą od platformy. Na iOS używa się przyrostków @2x lub @3x, co oznacza, że grafiki są przygotowane dla ekranów Retina, które mają wyższą gęstość pikseli. Na Androidzie z kolei, grafiki umieszcza się w folderach drawable z takimi nazwami jak -hdpi, -xhdpi czy -xxhdpi. Dzięki temu system wie, jaką wersję grafiki wybrać w zależności od rozdzielczości urządzenia. Moim zdaniem, taki system pozwala na super jakość obrazów i lepszą wydajność aplikacji.

Pytanie 24

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

A. metod klasy
B. destruktorów
C. funkcji zaprzyjaźnionych
D. atrybutów klasy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 25

Który z wymienionych elementów stanowi przykład złożonego typu danych?

A. struct
B. char
C. int
D. bool

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ 'struct' w C++ to super sprawa, bo pozwala na trzymanie różnych danych pod jedną nazwą. Dzięki temu można łatwo zorganizować zmienne, które różnią się typami. Wyobraź sobie, że możesz stworzyć strukturę, która będzie reprezentować na przykład samochód z jego marką, rocznikiem i ceną. To naprawdę ułatwia pracę z danymi! Każde pole w strukturze może mieć inny typ, co czyni 'struct' bardzo uniwersalnym narzędziem do modelowania różnych obiektów, jak ludzie czy produkty. W zasadzie, to takie logiczne pudełko, do którego wrzucasz różne informacje i masz do nich szybki dostęp.

Pytanie 26

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

A. Testy funkcjonalne
B. Testy zgodności
C. Testy obciążeniowe
D. Testy bezpieczeństwa

Brak odpowiedzi na to pytanie.

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

Pytanie 27

W programowaniu obiektowym odpowiednikami zmiennych oraz funkcji w programowaniu strukturalnym są

A. pola i kwalifikatory dostępu
B. hermetyzacja oraz dziedziczenie
C. metody statyczne i abstrakcyjne
D. pola i metody

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiednikami zmiennych i funkcji w programowaniu obiektowym są pola i metody. Pola przechowują dane (stan obiektu), a metody implementują logikę, pozwalając na manipulowanie tymi danymi i realizację zachowań klasy.

Pytanie 28

W przedstawionych funkcjonalnie równoważnych kodach źródłowych po przeprowadzeniu operacji w zmiennej b zostanie zapisany wynik:

Ilustracja do pytania
A. 596
B. 5.96
C. 5
D. 6

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wynik operacji zapisanej w zmiennej 'b' to 5. Jest to rezultat konwersji wartości zmiennoprzecinkowej na liczbę całkowitą, co oznacza odrzucenie części dziesiętnej. Taka operacja jest powszechna w programowaniu, gdy chcemy uzyskać tylko część całkowitą liczby, np. w algorytmach podziału, zaokrąglania w dół (floor) lub obliczania indeksów w tablicach.

Pytanie 29

Jakie cechy powinien posiadać skuteczny negocjator?

A. lojalność, nieśmiałość, uczciwość
B. dobra reputacja, przekora, porywczość
C. asertywność, pesymizm, buta
D. intuicja, cierpliwość, asertywność

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Cechy dobrego negocjatora to intuicja, cierpliwość i asertywność. Negocjator powinien umieć ocenić sytuację, przewidzieć reakcje drugiej strony i stanowczo, lecz spokojnie dążyć do celu. Te cechy pomagają budować relacje, znajdować kompromisy i skutecznie rozwiązywać konflikty, co jest kluczowe w biznesie i codziennych interakcjach.

Pytanie 30

Który z języków programowania jest powszechnie stosowany do tworzenia interfejsów użytkownika przy użyciu XAML?

A. C++
B. C#
C. Java
D. Objective-C

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
C# to język programowania szeroko stosowany w tworzeniu aplikacji desktopowych, w tym do budowy interfejsów użytkownika przy użyciu XAML. XAML (Extensible Application Markup Language) to język znaczników wykorzystywany w środowisku WPF (Windows Presentation Foundation) oraz UWP (Universal Windows Platform) do projektowania graficznych interfejsów użytkownika. C# i XAML doskonale się uzupełniają, pozwalając na tworzenie nowoczesnych, interaktywnych aplikacji desktopowych, w których logika (C#) jest oddzielona od warstwy wizualnej (XAML). Dzięki tej separacji możliwe jest szybkie prototypowanie i łatwa rozbudowa aplikacji, co czyni je preferowanym wyborem dla deweloperów pracujących w ekosystemie Microsoftu.

Pytanie 31

Pętla przedstawiona w zadaniu działa na zmiennej typu string o nazwie ciąg. Jej celem jest

Ilustracja do pytania
A. od każdego znaku w ciągu, który nie jest równy 0, odjąć kod 32
B. od każdego znaku w ciągu odjąć kod 32
C. zamienić w ciągu małe litery na wielkie
D. zamienić w ciągu wielkie litery na małe

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pętla, która zamienia małe litery na wielkie, to naprawdę fajny przykład tego, jak można operować na tekstach. W zasadzie każdy znak w napisie jest przeszukiwany, a jeśli to litera, to modyfikujemy jej kod ASCII. W praktyce dodajemy lub odejmujemy 32, żeby uzyskać odpowiednią wielką literę. Tego typu operacje wykorzystuje się w wielu miejscach, jak na przykład przy filtrowaniu danych czy normalizacji tekstu. No i oczywiście w systemach wyszukujących, gdzie wielkość liter ma znaczenie. Warto umieć zaimplementować taką pętlę, bo przydaje się w różnych aplikacjach, szczególnie tam, gdzie tekst jest kluczowy.

Pytanie 32

Aplikacje webowe stworzone z użyciem frameworka Angular lub biblioteki React, działające na standardowych portach, można uruchomić na lokalnym serwerze, wpisując w przeglądarkę

A. localhost:8080 (React) lub localhost:8000 (Angular)
B. localhost:5001 (React) lub localhost:8080 (Angular)
C. localhost:8000 (React) lub localhost:49887 (Angular)
D. localhost:3000 (React) lub localhost:4200 (Angular)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Domyślne porty dla aplikacji tworzonych w React to localhost:3000, a dla Angular to localhost:4200. Te ustawienia pozwalają na szybkie uruchomienie aplikacji na lokalnym serwerze podczas fazy deweloperskiej. React i Angular to popularne technologie do budowy nowoczesnych aplikacji webowych, a korzystanie z domyślnych portów upraszcza proces testowania i wdrażania.

Pytanie 33

Zamieszczony kawałek kodu w języku C# tworzy hasło. Wskaż prawdziwe stwierdzenie dotyczące cech tego hasła?

Ilustracja do pytania
A. Może zawierał małe i wielkie litery oraz cyfry
B. Może zawierać małe oraz wielkie litery, cyfry i znaki specjalne
C. Ma 8 znaków lub więcej i zawiera małe oraz wielkie litery, a także cyfry
D. Ma maksymalną długość 7 znaków, co ustala zmienna i

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Fragment programu w języku C# generuje hasło, które zawiera małe i wielkie litery oraz cyfry. W kodzie widzimy, że zmienna pulaZnakow zawiera wszystkie małe litery alfabetu, wszystkie wielkie litery oraz cyfry od 0 do 9. Zmienna dlPuli przechowuje długość ciągu znaków, co umożliwia losowe wybieranie znaków z pełnego zakresu dostępnych znaków. W pętli for odbywa się iteracja 8 razy, co oznacza, że każde generowane hasło ma długość 8 znaków. Każdy znak jest losowo wybierany z puli, co zapewnia różnorodność i brak uprzedzeń w doborze znaków. Warto również zwrócić uwagę na praktyczne użycie klasy Random, która jest standardem w przypadkowej generacji danych w C#. Takie podejście jest zgodne z najlepszymi praktykami, gdzie hasła powinny mieć różnorodne znaki, co zwiększa ich siłę i trudność złamania. Dobrym pomysłem jest również dodanie symboli specjalnych dla jeszcze większego bezpieczeństwa, co można łatwo zaimplementować modyfikując pule dostępnych znaków.

Pytanie 34

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

A. przeprowadzane przez grupę docelowych użytkowników aplikacji
B. realizowane przez zespół testerów zatrudnionych przez firmę Google
C. podzielone na testy funkcjonalne, wydajnościowe oraz skalowalności
D. przeprowadzane na podstawie dokumentu zawierającego przypadki testowe

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Testy Beta są kluczowym etapem w procesie publikacji aplikacji mobilnej w sklepie Google Play, ponieważ pozwalają na uzyskanie cennych informacji zwrotnych od rzeczywistych użytkowników aplikacji. W tej fazie aplikacja jest udostępniana ograniczonej grupie docelowych użytkowników, którzy są zainteresowani testowaniem oprogramowania przed jego oficjalnym wydaniem. Użytkownicy ci mają możliwość zgłaszania błędów, proponowania ulepszeń oraz oceny funkcjonalności, co jest niezwykle ważne, aby zapewnić, że produkt spełnia wymagania rynku. Przykładem zastosowania testów Beta może być aplikacja społecznościowa, która w pierwszej fazie testowania pozwala wybranej grupie użytkowników na dzielenie się swoimi doświadczeniami. Otrzymane dane są następnie analizowane w celu wprowadzenia niezbędnych poprawek przed pełnym wprowadzeniem aplikacji na rynek. Ponadto, przeprowadzanie testów Beta jest zgodne z najlepszymi praktykami w branży oprogramowania, zgodnie z metodykami Agile, które podkreślają znaczenie interakcji z użytkownikami oraz ich wkładu w rozwój produktów.

Pytanie 35

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

A. Aplikacja kalkulator
B. Aplikacja do robienia zdjęć
C. Aplikacja wyświetlająca lokalny czas
D. Aplikacja gromadząca listę kontaktów użytkownika

Brak odpowiedzi na to pytanie.

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

Pytanie 36

Który z wymienionych sposobów może przyczynić się do optymalizacji kodu źródłowego?

A. Zamiana zmiennych globalnych na lokalne
B. Dodanie większej liczby komentarzy w kodzie
C. Zwiększenie ilości instrukcji warunkowych
D. Eliminacja nieużywanych zmiennych oraz funkcji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Usunięcie nieużywanych zmiennych i funkcji to jedna z najskuteczniejszych metod optymalizacji kodu źródłowego. Nadmiarowe zmienne i niepotrzebne funkcje mogą spowalniać aplikację, zwiększać jej zużycie pamięci i powodować problemy z czytelnością kodu. Ich eliminacja upraszcza kod, zmniejsza ryzyko błędów i poprawia wydajność programu. Oczyszczanie kodu to kluczowy element procesu refaktoryzacji, który pozwala na utrzymanie wysokiej jakości oprogramowania oraz lepszą organizację projektu. Dodatkowo, minimalizacja kodu pomaga w szybszym ładowaniu aplikacji webowych, co ma bezpośredni wpływ na doświadczenie użytkownika (UX) oraz pozycjonowanie w wyszukiwarkach (SEO).

Pytanie 37

Który z wymienionych przykładów przedstawia typ rekordowy?

A. struct w języku C++
B. int w języku Python
C. bool w języku Java
D. float w języku C

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ 'struct' w języku C++ jest przykładem typu rekordowego, który pozwala na grupowanie zmiennych różnego typu pod jedną nazwą. Struktury pozwalają na przechowywanie powiązanych danych, np. informacji o pracowniku (imię, nazwisko, wiek) w jednym obiekcie. Struktury są kluczowe w programowaniu proceduralnym i obiektowym, umożliwiając efektywne zarządzanie danymi złożonymi. Typy rekordowe pozwalają na budowanie bardziej złożonych i zorganizowanych aplikacji, co zwiększa ich czytelność i ułatwia zarządzanie kodem.

Pytanie 38

W podanym fragmencie kodu Java wskaż, która zmienna może pomieścić wartość "T"

Ilustracja do pytania
A. zm1
B. zm3
C. zm2
D. zm4

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienna o nazwie zm3 została zadeklarowana jako typu char co oznacza że może przechowywać pojedynczy znak w tym przypadku wartość T. Typ char w języku Java jest używany do przechowywania znaków Unicode co czyni go idealnym do obsługi liter jako danych. Każdy znak jest przechowywany jako 16-bitowa wartość liczby całkowitej co umożliwia reprezentację szerokiego zakresu symboli w tym litery cyfry i inne znaki specjalne. Przykładowymi zastosowaniami typu char są przypadki gdzie konieczne jest przechowywanie i przetwarzanie liter np. w sytuacjach gdy aplikacja wymaga manipulacji pojedyńczymi znakami w tekście czy analizą ich wartości w kontekście porównywania danych. Dobre praktyki przy pracy z typem char obejmują świadome zarządzanie pamięcią i unikanie niepotrzebnych konwersji do innych typów danych co może prowadzić do strat precyzji lub nieoczekiwanych rezultatów. Ważne jest także zrozumienie jak znaki są kodowane i dekodowane szczególnie w kontekście międzynarodowym gdzie prawidłowa obsługa znaków Unicode jest kluczowa dla zapewnienia kompatybilności i poprawnego działania aplikacji w różnych językach.

Pytanie 39

Jakie operacje na plikach można uznać za podstawowe?

A. Usuwanie oraz tworzenie nowych plików
B. Zmiana rozszerzenia plików podczas działania programu
C. Otwieranie, zapisywanie, odczytywanie, zamykanie
D. Jedynie otwieranie oraz zamykanie plików

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Podstawowe operacje na plikach obejmują otwieranie, zapisywanie, odczytywanie i zamykanie. Te cztery operacje są fundamentem zarządzania plikami w programowaniu i pozwalają na efektywne przechowywanie oraz przetwarzanie danych. Otwarcie pliku umożliwia dostęp do jego zawartości, zapis pozwala na modyfikację lub tworzenie nowych plików, odczyt umożliwia pobieranie danych, a zamknięcie pliku zapewnia integralność danych i zwalnia zasoby systemowe. W wielu językach, takich jak C++, Java czy Python, operacje te są realizowane za pomocą dedykowanych funkcji i klas, co ułatwia ich implementację w kodzie.

Pytanie 40

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

A. bool
B. liczba zmiennoprzecinkowa
C. liczba całkowita
D. tekst

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ danych 'bool' w języku C++ jest przeznaczony do przechowywania wartości 'true' lub 'false'. Deklaracja 'bool isReady = true;' to przykład poprawnego przypisania wartości logicznej do zmiennej. Typ boolean jest kluczowy w warunkach decyzyjnych, pętlach i operacjach porównawczych. W programowaniu typ 'bool' jest wykorzystywany do kontroli przepływu programu, obsługi wyjątków oraz sprawdzania poprawności danych. Użycie booleanów w kodzie zwiększa jego czytelność i pozwala na bardziej przejrzyste budowanie logiki aplikacji.