Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 17 kwietnia 2026 19:25
  • Data zakończenia: 17 kwietnia 2026 19:36

Egzamin zdany!

Wynik: 26/40 punktów (65,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Wymień dwa sposoby na zabezpieczenie bazy danych w Microsoft Access.

A. Używanie funkcji anonimowych oraz ustawienie hasła dostępu do bazy danych
B. Wprowadzenie zabezpieczeń na poziomie użytkownika oraz sesji
C. Określenie hasła do otwarcia bazy danych oraz wprowadzenie zabezpieczeń na poziomie użytkownika
D. Zaszyfrowanie pliku bazy danych oraz wysyłanie SMS-ów z kodem autoryzacyjnym
Odpowiedzi sugerujące stosowanie funkcji anonimowych oraz SMS-ów z kodem autoryzującym nie są właściwe w kontekście zabezpieczania bazy danych Microsoft Access. Funkcje anonimowe nie istnieją w standardowym pakiecie Access, co czyni tę koncepcję niepraktyczną i mylącą. W praktyce, anonimowość w systemach baz danych nie jest pożądana, ponieważ uniemożliwia identyfikację użytkowników oraz monitorowanie ich działań, co jest kluczowe dla bezpieczeństwa i zgodności z regulacjami prawnymi, takimi jak RODO. Ponadto, pomysł zabezpieczenia bazy danych za pomocą SMS-ów z kodami autoryzującymi jest stosunkowo nieodpowiedni dla tego typu systemu, ponieważ Microsoft Access nie obsługuje natywnie autoryzacji dwuskładnikowej ani nie jest zaprojektowany do integracji z zewnętrznymi systemami SMS. Takie podejście nie tylko wprowadza dodatkowe ryzyko związane z bezpieczeństwem, ale również stwarza problemy praktyczne, takie jak zależność od zewnętrznych usług, co może prowadzić do przestojów w dostępie do danych. Dlatego kluczowe jest zastosowanie sprawdzonych metod zabezpieczeń, takich jak hasła i uprawnienia użytkowników, które są standardem w zarządzaniu danymi i zapewniają właściwą ochronę przed zagrożeniami.

Pytanie 2

Aby zainstalować system CMS Joomla!, potrzebne jest środowisko

A. Apache, PHP i MySQL
B. Apache oraz PHP
C. IIS, Perl oraz MySQL
D. PHP oraz MySQL
Aby uruchomić system CMS Joomla!, niezbędne jest środowisko składające się z serwera Apache, języka PHP oraz bazy danych MySQL. Apache jest jednym z najpopularniejszych serwerów WWW, który obsługuje zapytania HTTP i serwuje zawartość stron internetowych. PHP to skryptowy język programowania, który jest powszechnie używany do tworzenia dynamicznych stron internetowych i aplikacji webowych. W kontekście Joomla!, PHP jest odpowiedzialne za przetwarzanie kodu i interakcję z bazą danych. MySQL natomiast to system zarządzania relacyjnymi bazami danych, który przechowuje wszystkie dane potrzebne do działania Joomla!, takie jak informacje o użytkownikach, artykułach i ustawieniach systemowych. Współpraca tych trzech komponentów tworzy stabilne środowisko do działania Joomla!, zapewniając optymalizację wydajności oraz bezpieczeństwo. Warto również zaznaczyć, że Joomla! wymaga minimum wersji PHP 7.2 oraz MySQL 5.5, aby zapewnić pełną funkcjonalność i wsparcie dla nowoczesnych rozwiązań webowych.

Pytanie 3

Przypisanie w JavaScript, zapisane jako var x=true;, prowadzi do tego, że zmienna x przyjmuje typ

A. logicznym
B. ciągu znaków
C. liczbowym
D. wyliczeniowym
Deklaracja zmiennej w języku JavaScript, przy użyciu słowa kluczowego 'var', tworzy zmienną x, której typ jest logiczny. Typ logiczny (boolean) w JavaScript ma dwa możliwe wartości: true oraz false. Jest to podstawowy typ danych, który jest szeroko używany w programowaniu do reprezentacji wartości prawda/fałsz, co jest niezbędne przy podejmowaniu decyzji, takich jak warunki w instrukcjach if, pętlach czy operacjach logicznych. Dlatego też, przypisanie wartości true do zmiennej x oznacza, że x jest typu boolean, co można zweryfikować za pomocą operatora typeof. W praktycznych zastosowaniach, typ logiczny jest niezwykle ważny, na przykład w formularzach internetowych, gdzie wartości typu boolean mogą określać, czy dany warunek został spełniony. W odniesieniu do standardów, typ boolean jest zdefiniowany w ECMAScript, co czyni go fundamentalnym elementem w programowaniu w tym języku. Zrozumienie typów danych, a szczególnie typu logicznego, jest kluczowe dla efektywnego programowania i optymalizacji kodu.

Pytanie 4

Tablica tab[] zawiera różne liczby całkowite. Jaką wartość przyjmie zmienna zm2 po wykonaniu podanego fragmentu kodu?

Ilustracja do pytania
A. Średnia arytmetyczna liczb z tablicy
B. Średnia geometryczna liczb od 0 do 9
C. Suma liczb z tablicy
D. Suma liczb od 1 do 10
Pozostałe odpowiedzi są błędne z kilku powodów. Pierwsza odpowiedź sugeruje, że zmienna zm2 przechowuje sumę liczb z tablicy. Jest to nieprawidłowe, ponieważ zm2 reprezentuje wynik pośredni, będący średnią arytmetyczną, gdyż końcowy wynik to zm1 podzielone przez 10. Suma liczb z tablicy znajduje się w zmiennej zm1 przed operacją dzielenia. Druga odpowiedź odnosi się do sumy liczb od 1 do 10, co jest mylnym wnioskiem, ponieważ pętla w kodzie iteruje przez elementy tablicy, a nie przez stałe wartości. Elementy tablicy mogą reprezentować jakiekolwiek liczby całkowite, a kod nie odnosi się do stałych wartości od 1 do 10. Ostatecznie, czwarta odpowiedź o średniej geometrycznej liczb od 0 do 9 również nie jest poprawna, ponieważ kod ani nie odnosi się do zakresu liczb od 0 do 9, ani też nie oblicza średniej geometrycznej, która wymagałaby mnożenia i pierwiastkowania, a nie dodawania i dzielenia. Typowym błędem jest mylenie różnych typów średnich, a także błędne założenia co do zakresu operacji na tablicy. W kontekście programowania, takie nieporozumienia mogą prowadzić do błędów w implementacji algorytmów analizy danych, dlatego ważne jest, aby precyzyjnie rozumieć, jakie operacje są wykonywane w danym fragmencie kodu i jak wpływają one na wynik końcowy. Znajomość różnic między średnimi (arytmetyczna, geometryczna) jest fundamentalna w analizach matematycznych i statystycznych.

Pytanie 5

Według zasad walidacji HTML5, jakie jest prawidłowe użycie znacznika hr?

A. </hr?>
B. <hr>
C. </ hr>
D. </ hr />
Znacznik <hr> to taki prosty element w HTML5, który robi poziomą linię na stronie. Używa się go często do oddzielania różnych sekcji w tekście, co sprawia, że wszystko wygląda bardziej przejrzyście. Co ciekawe, to znacznik samodzielny, więc nie potrzebuje zamknięcia, a dodatkowo w HTML5 nie musimy dodawać znaku '/' na końcu, co czyni go lżejszym w użyciu. Jak użyjemy <hr>, to przeglądarki wiedzą, co z tym zrobić, a to ważne, żeby strona wyglądała spójnie. Moim zdaniem, świetnie działa w artykułach, bo gdy oddziela różne części, to czytelnik łatwiej się w tym odnajduje. No i nie zapominajmy o dostępności – ludzie, którzy korzystają z technologii wspomagających, też lepiej zrozumieją, co się dzieje na stronie dzięki takim znacznikom.

Pytanie 6

W PHP zmienna $_GET stanowi zmienną

A. zwykłą, utworzoną przez autora strony
B. predefiniowaną, służącą do przesyłania informacji do skryptów PHP przez adres URL
C. utworzoną przez autora strony, przeznaczoną do przesyłania danych z formularza przez adres URL
D. predefiniowaną, wykorzystywaną do zbierania danych formularza po nagłówkach żądania HTTP (informacje z formularza nie są widoczne w URL)
Odpowiedzi, które wskazują na to, że zmienna $_GET jest zwykłą zmienną lub jest definiowana przez twórcę strony, są nieprawidłowe. $_GET jest superglobalną tablicą, co oznacza, że jej dostępność jest zapewniona w całym skrypcie bez potrzeby wcześniejszego deklarowania. Zrozumienie różnicy między zmiennymi predefiniowanymi a tymi zdefiniowanymi przez użytkownika jest kluczowe dla właściwego zarządzania danymi w PHP. Ponadto, odpowiedzi sugerujące, że $_GET służy do gromadzenia wartości formularza po nagłówkach zlecenia HTTP, mylą metodę GET z metodą POST. W przeciwieństwie do POST, dane przesyłane za pomocą GET są widoczne w adresie URL, co czyni je mniej bezpiecznymi dla wrażliwych danych. Mówiąc o formularzach, $_GET jest jedynie jedną z metod przesyłania danych, obok $_POST i $_REQUEST, z których każda ma swoje specyficzne zastosowania i ograniczenia. Generalnie, korzystanie z $_GET jest odpowiednie do przesyłania niewielkich ilości danych, takich jak parametry zapytań, ale należy być świadomym, że wykorzystywanie tej metody z danymi wrażliwymi jest ryzykowne i należy unikać tego podejścia w praktyce. Dbając o bezpieczeństwo aplikacji, warto zrozumieć te różnice i stosować się do dobrych praktyk dotyczących przetwarzania danych wejściowych.

Pytanie 7

Skrypt napisany w języku JavaScript wylicza cenę promocyjną dla swetrów w kolorach: zielonym i niebieskim (zmienna kolor) przy zakupach powyżej 200 zł (zmienna zakupy). Warunek do obliczeń powinien być sformułowany za pomocą wyrażenia logicznego?

A. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
B. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
C. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
D. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
Poprawna odpowiedź to "zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')". Wyrażenie to jest zgodne z logiką obliczeń cen promocyjnych. Użycie operatora koniunkcji (&&) wskazuje, że oba warunki muszą być spełnione, aby cena promocyjna mogła być zastosowana. Po pierwsze, wartość zakupów musi przekraczać 200 zł, co jest kluczowym warunkiem, aby móc skorzystać z promocji. Po drugie, kolor swetra musi być jednym z dozwolonych, czyli zielonym lub niebieskim, co zostało zrealizowane za pomocą operatora alternatywy (||). Używając nawiasów, wyraźnie wskazujemy, że sprawdzenie koloru jest niezależne od warunku dotyczącego wartości zakupów. Taka konstrukcja jest zgodna z dobrą praktyką programistyczną, zapewniając czytelność i ułatwiając późniejszą modyfikację kodu. W kontekście praktycznym, można zastosować tę logikę w aplikacjach e-commerce, gdzie dynamiczne obliczenia cen promocyjnych w zależności od różnych kryteriów są powszechne. Przykładowo, przy dodawaniu nowych kolorów lub zmieniając próg zakupów, wystarczy jedynie edytować odpowiednie warunki, co czyni kod bardziej elastycznym i łatwym do zarządzania.

Pytanie 8

Technologia, w której komunikacja użytkownika z serwerem odbywa się bez konieczności przeładowywania całego dokumentu HTML, to

A. Ruby
B. PHP
C. Django
D. AJAX
Poprawna odpowiedź to AJAX, bo właśnie ta technologia pozwala na komunikację z serwerem bez przeładowywania całej strony HTML. W praktyce chodzi o to, że skrypt JavaScript w przeglądarce wysyła żądanie HTTP (np. GET lub POST) do serwera w tle, pobiera dane (często w formacie JSON) i na ich podstawie aktualizuje tylko wybrane fragmenty dokumentu, modyfikując DOM. Użytkownik widzi wtedy płynne odświeżanie zawartości, bez irytującego migania strony. Moim zdaniem to jest jeden z kluczowych fundamentów nowoczesnych aplikacji webowych typu SPA i ogólnie tzw. „rich internet applications”. AJAX nie jest jednym konkretnym językiem, tylko podejściem/technicznym zestawem: HTML + CSS + JavaScript + obiekt XMLHttpRequest lub fetch() + protokół HTTP + najczęściej JSON lub czasem XML. Standardy W3C i WHATWG opisują m.in. API do wykonywania żądań asynchronicznych oraz manipulacji DOM, a dobre praktyki mówią, żeby logikę AJAX trzymać w oddzielnych modułach JS, stosować obsługę błędów, time-outy, a także unikać przeładowywania serwera zbyt częstymi zapytaniami. Przykład z życia: wyszukiwarka podpowiedzi w polu tekstowym (autocomplete w Google), dynamiczne ładowanie komentarzy pod artykułem, paginacja „dociągająca” kolejne rekordy po przewinięciu strony czy formularz, który po wysłaniu zwraca komunikat „zapisano” bez zmiany adresu URL. Z mojego doświadczenia dobrze napisany kod AJAX poprawia UX i zmniejsza transfer, bo zamiast całej strony przesyłamy tylko dane. W połączeniu z frameworkami typu React, Vue czy Angular AJAX jest podstawą komunikacji klient–serwer w aplikacjach webowych klasy enterprise.

Pytanie 9

Do czego służy funkcja PHP o nazwie mysql_num_rows?

A. oddawać następny rekord z wyników zapytania
B. przyporządkować numery rekordom w bazie danych
C. podawać liczbę wierszy, które są w wynikach zapytania
D. zwracać rekord, którego numer został przekazany jako parametr funkcji
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku kluczowych powodów. Pierwsza z niepoprawnych odpowiedzi sugeruje, że funkcja mysql_num_rows ma na celu ponumerowanie rekordów w bazie danych. Takie podejście jest mylące, ponieważ mysql_num_rows nie modyfikuje ani nie przechowuje żadnych danych w bazie, a jedynie zwraca informację o liczbie wierszy w zestawie wyników, co w żaden sposób nie wiąże się z ich numerowaniem. Kolejna błędna odpowiedź wskazuje, że funkcja miałaby zwracać kolejny rekord z wynikami zapytania. W rzeczywistości, mysql_num_rows nie zwraca danych samych w sobie, lecz jedynie informację o ich liczbie, co czyni tę odpowiedź zupełnie nietrafioną. Ostatnia niepoprawna odpowiedź sugeruje, że funkcja zwraca rekord na podstawie numeru podanego w jej parametrze. Znowu, taka interpretacja jest nieprawidłowa, ponieważ mysql_num_rows nie przyjmuje parametrów odnoszących się do konkretnych rekordów, a jedynie do zmiennej wynikowej, która zawiera efekty zapytania SQL. W związku z tym, każde z tych stwierdzeń nieodzwierciedla rzeczywistej funkcji mysql_num_rows i jej zastosowania w kontekście zarządzania i przetwarzania danych w PHP.

Pytanie 10

Wskaż fragment kodu HTML5, który zostanie uznany przez walidator za niepoprawny?

A. <p class="stl"><style>.a{color:#F00}</style>tekst</p>
B. <p class="stl">tekst</p>
C. <p class="stl" style="color: #F00">tekst</p>
D. <p class="stl" id="a">tekst</p>
Odpowiedź <p class="stl"><style>.a{color:#F00}</style>tekst</p> jest błędna, ponieważ zawiera element <style>, który jest nieprawidłowo umieszczony wewnątrz znacznika <p>. W HTML5, elementy <style> powinny występować w sekcji <head> dokumentu lub w kontekście, gdzie są dozwolone, a nie wewnątrz elementów blokowych takich jak <p>. Walidatory HTML5, zgodne z standardami W3C, wskazują na to jako błąd, ponieważ takie umiejscowienie stylu może prowadzić do nieprzewidzianych efektów wizualnych oraz problemów z rozumieniem struktury dokumentu. Zamiast tego, właściwe byłoby umieszczenie stylu w sekcji <head> lub zastosowanie atrybutu style bezpośrednio w elemencie, co jest zgodne z dobrymi praktykami projektowania stron internetowych. Umożliwia to zachowanie semantyki HTML oraz lepszą organizację kodu.

Pytanie 11

Jakie oprogramowanie do zarządzania treścią umożliwia proste tworzenie oraz aktualizację witryny internetowej?

A. SQL
B. PHP
C. CMS
D. CSS
Systemy zarządzania treścią, znane jako CMS (Content Management System), są narzędziami stworzonymi specjalnie do łatwego tworzenia, edycji oraz zarządzania treściami na stronach internetowych. Dzięki CMS użytkownicy, nawet ci bez zaawansowanej wiedzy technicznej, mogą z łatwością aktualizować swoje witryny, dodawać nowe artykuły, zdjęcia oraz inne multimedia. Przykładami popularnych systemów CMS są WordPress, Joomla, czy Drupal. Te platformy oferują szeroką gamę wtyczek oraz szablonów, co pozwala na dostosowanie wyglądu i funkcjonalności strony do indywidualnych potrzeb. Standardy branżowe, takie jak WCAG dla dostępności czy SEO dla optymalizacji pod kątem wyszukiwarek, są również wspierane przez wiele systemów CMS, co czyni je idealnym rozwiązaniem dla osób chcących prowadzić profesjonalne serwisy internetowe. Zastosowanie CMS-u znacząco przyspiesza proces tworzenia stron oraz umożliwia ich łatwe dostosowywanie do zmieniających się potrzeb rynku.

Pytanie 12

Aby przyspieszyć operacje na bazie danych należy dla pól często wyszukiwanych lub sortowanych

A. utworzyć indeks.
B. dodać klucz obcy.
C. utworzyć osobną tabelę przechowującą tylko te pola.
D. dodać więzy integralności.
Prawidłowo – kluczem do przyspieszenia wyszukiwania i sortowania w relacyjnej bazie danych jest utworzenie indeksu na kolumnach, po których najczęściej filtrujesz (WHERE), łączysz tabele (JOIN) albo sortujesz (ORDER BY). Indeks działa podobnie jak spis treści czy indeks na końcu książki – zamiast przeglądać każdą stronę po kolei, silnik bazy danych korzysta z dodatkowej struktury danych (najczęściej drzewa B-drzewiastego, tzw. B-tree), żeby bardzo szybko znaleźć interesujące wiersze. W praktyce oznacza to, że zapytania, które wcześniej skanowały całą tabelę (full table scan), zaczynają wykorzystywać indeks, co drastycznie zmniejsza liczbę odczytanych stron danych z dysku. W SQL jest to standardowa dobra praktyka: dla kolumn używanych w warunkach wyszukiwania i sortowania tworzy się indeksy, ale z umiarem, żeby nie przesadzić. Z mojego doświadczenia w projektach webowych typowe indeksy to np. indeks na kolumnie email w tabeli użytkowników, indeks na data_dodania w tabeli z artykułami albo indeks złożony (wielokolumnowy) na (user_id, created_at) w tabeli logów czy zamówień. Dzięki temu zapytania typu SELECT * FROM zamowienia WHERE user_id = ? ORDER BY created_at DESC działają bardzo szybko. Warto też wiedzieć, że dobry administrator lub programista zawsze sprawdza plany wykonania zapytań (EXPLAIN w MySQL/PostgreSQL) i na tej podstawie decyduje, które indeksy są naprawdę potrzebne. Tworzenie indeksów na oślep nie jest najlepszym pomysłem, ale sensowne indeksowanie jest absolutnym standardem w profesjonalnych systemach bazodanowych i jedną z podstawowych technik optymalizacji wydajności.

Pytanie 13

Aby uruchomić kod JavaScript w przeglądarce, potrzebne jest

A. debugowanie
B. interpretowanie
C. przetwarzanie na kod maszynowy
D. kompilowanie
Wykonywanie kodu JavaScript wymaga zrozumienia różnych procesów, które mogą mylnie sugerować, że debugowanie, zamiana na kod maszynowy czy kompilowanie są kluczowe w tym kontekście. Debugowanie to proces identyfikacji i naprawy błędów w kodzie, który odbywa się już po interpretacji kodu. Kiedy kod jest uruchamiany, programista może używać narzędzi debugujących dostępnych w przeglądarkach, aby analizować działanie skryptu, co jednak nie jest wymogiem do jego wykonania. Zamiana na kod maszynowy oraz kompilowanie dotyczą języków programowania, które nie są interpretowane, a ich kod źródłowy jest przekształcany do postaci zrozumiałej dla procesora przed uruchomieniem. Przykładem mogą być języki takie jak C++ czy Java, które wymagają złożonego procesu kompilacji. W przypadku JavaScript, silnik interpretuje kod w czasie rzeczywistym, co pozwala na natychmiastowe wykonanie skryptów bez wcześniejszego kompilowania, co jest dużą zaletą w kontekście tworzenia aplikacji webowych. Pojęcie kompilacji może prowadzić do nieporozumień, ponieważ niektóre nowoczesne narzędzia, takie jak TypeScript, mogą wymagać kompilacji, ale to nie zmienia faktu, że czysty JavaScript jest interpretowany. Dlatego kluczowym elementem pracy z JavaScript w przeglądarkach jest zrozumienie jego interpretacyjnej natury oraz umiejętność korzystania z narzędzi dostępnych dla programistów.

Pytanie 14

Jakie słowo kluczowe wykorzystuje się do deklaracji zmiennej w języku JavaScript?

A. new
B. variable
C. var
D. instanceof
W JavaScript, żeby zadeklarować zmienną, używa się słowa 'var'. To jeden z najważniejszych elementów tego języka. Używając 'var', tworzysz zmienną, która może mieć zasięg tylko w danej funkcji albo być dostępna globalnie, w zależności od tego, jak ją zadeklarujesz. Jeśli na przykład napiszesz 'var x = 10;', to stworzysz zmienną 'x' i przypiszesz jej wartość 10. Warto jednak zauważyć, że od momentu, gdy wprowadzono ES6, zaleca się używanie 'let' oraz 'const' do deklaracji zmiennych, bo są bardziej przewidywalne, zwłaszcza jeśli chodzi o zasięg zmiennych (block scope). Mimo to, 'var' wciąż można spotkać w wielu starych projektach i dobrze jest znać to słowo, żeby lepiej rozumieć, jak działa JavaScript. Fajnie jest ograniczać 'var' na rzecz 'let' i 'const', bo dzięki temu kod staje się bardziej przejrzysty i łatwiejszy do ogarnienia w większych projektach.

Pytanie 15

W kodzie HTML stworzono formularz, który wysyła informacje do pliku formularz.php. Po naciśnięciu przycisku typu submit, przeglądarka zostaje przekierowana na wskazany adres. Na podstawie podanego adresu /formularz.php?imie=Anna&nazwisko=Kowalska można stwierdzić, że dane do pliku formularz.php zostały wysłane za pomocą metody:

A. COOKIE
B. GET
C. POST
D. SESSION
Poprawna odpowiedź wskazuje na metodę GET. Jako jedna z dwóch podstawowych metod przesyłania danych w protokole HTTP, GET przesyła informacje poprzez dołączenie ich do adresu URL. I tak, jeżeli na załączonym obrazku widzimy adres URL zawierający parametry (np. imię=Anna&nazwisko=Kowalska) dołączone do adresu pliku formularz.php, to oznacza, że dane zostały przesłane właśnie tą metodą. Jest to zgodne z dobrymi praktykami i standardami branżowymi, które zalecają użycie metody GET zwłaszcza przy przesyłaniu niewielkich ilości danych, które nie wymagają specjalnego zabezpieczenia. Ważne jednak jest zrozumienie, że metoda GET nie jest odpowiednia, gdy przesyłane dane są poufne, np. hasła, ponieważ są one widoczne w pasku adresu przeglądarki. Ponadto, warto zauważyć, że dane przesyłane metodą GET mogą być zapisane w historii przeglądarki, co również ma swoje implikacje bezpieczeństwa.

Pytanie 16

Program FileZilla może być użyty do

A. zarządzania bazami danych strony internetowej
B. walidacji strony internetowej
C. publikacji strony internetowej na serwerze
D. zmiany domyślnych ustawień hostingu dla strony internetowej
Program FileZilla jest popularnym klientem FTP, który umożliwia przesyłanie plików na serwery internetowe, co jest kluczowe przy publikacji stron internetowych. Użytkownicy mogą korzystać z FileZilla do łatwego zarządzania plikami na serwerze, co pozwala na przesyłanie wszystkich niezbędnych plików HTML, CSS, JavaScript oraz multimediów do katalogu głównego serwera. Przykładowo, po zakończeniu prac nad stroną lokalnie, użytkownik może użyć FileZilla do przesłania plików na serwer, co sprawia, że strona staje się dostępna dla internautów. Program wspiera różne protokoły transferu plików, takie jak FTP, FTPS czy SFTP, co zwiększa bezpieczeństwo przesyłania danych, zgodnie z dzisiejszymi standardami. Używając FileZilla, użytkownicy mogą również zarządzać strukturą katalogów na serwerze, co jest zgodne z dobrymi praktykami w zakresie organizacji plików. Poznanie tego narzędzia i jego funkcji jest niezwykle istotne dla każdego, kto planuje publikować treści w internecie.

Pytanie 17

Przygotowując raport w systemie zarządzania relacyjnymi bazami danych, można uzyskać

A. aktualizowanie danych w tabelach
B. dodawanie danych do tabel
C. analizę wybranych danych
D. usuwanie danych z tabel
W kontekście systemów obsługi relacyjnych baz danych, raportowanie odgrywa kluczową rolę w analizie danych. Wykonywanie raportu umożliwia użytkownikom dostęp do wybranych informacji, co pozwala na podejmowanie świadomych decyzji opartych na danych. Analiza danych to proces przetwarzania informacji w celu wydobycia wartościowych wniosków. Przykłady zastosowania to generowanie raportów sprzedażowych, finansowych czy analizy trendów klientów. W raportach można wykorzystać różne techniki, takie jak filtrowanie, grupowanie czy agregowanie danych, co umożliwia prezentację wyników w przystępnej formie graficznej. Dodatkowo, standardy takie jak SQL (Structured Query Language) są powszechnie używane do wykonywania zapytań w relacyjnych bazach danych, co pozwala na efektywne przeszukiwanie i analizowanie danych. W praktyce, raporty mogą być generowane na podstawie zapytań do bazy danych i mogą obejmować różne parametry, co zwiększa ich użyteczność w podejmowaniu decyzji strategicznych i operacyjnych.

Pytanie 18

Który z poniższych formatów plików graficznych wspiera przejrzystość?

A. JPG
B. PNG
C. NEF
D. BMP
Format PNG (Portable Network Graphics) jest jednym z najpopularniejszych formatów plików graficznych obsługujących przezroczystość. Jego główną zaletą jest możliwość zachowania kanału alfa, który umożliwia tworzenie obrazów z przezroczystymi elementami. PNG wykorzystuje bezstratną kompresję, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas zapisywania i otwierania pliku. Format ten jest szczególnie ceniony w aplikacjach internetowych, ponieważ pozwala na uzyskanie estetycznych efektów, takich jak cienie, przezroczystość i delikatne przejścia kolorów. Warto również zauważyć, że PNG obsługuje głębię kolorów do 48 bitów, co umożliwia uzyskanie bogatych i szczegółowych obrazów. Standard PNG został opracowany w 1996 roku jako alternatywa dla formatu GIF, który był ograniczony do 256 kolorów oraz nie obsługiwał przezroczystości w sposób, który byłby zadowalający dla projektantów. Dzięki swoim właściwościom, PNG jest szeroko stosowany w grafice komputerowej, w tym w tworzeniu logo, ikon oraz w elementach interfejsów użytkownika, a także w fotografii cyfrowej, gdzie zachowanie jakości jest kluczowe.

Pytanie 19

Celem testów wydajnościowych jest ocena

A. zdolności programu do funkcjonowania w sytuacjach, gdy sprzęt działa niepoprawnie
B. zdolności programu do funkcjonowania w sytuacjach, gdy system działa niepoprawnie
C. stopnia, w jakim system lub moduł spełnia wymagania dotyczące wydajności
D. ciągu zdarzeń, w którym prawdopodobieństwo danego zdarzenia zależy tylko od wyniku zdarzenia wcześniejszego
Testy wydajnościowe są kluczowym elementem procesu zapewnienia jakości oprogramowania, mającym na celu ocenę zdolności systemu lub modułu do spełnienia określonych wymagań wydajnościowych. Ich głównym celem jest zmierzenie, jak system radzi sobie w warunkach obciążenia, a także w różnych scenariuszach użytkowania. W ramach testów wydajnościowych analizuje się takie parametry jak czas reakcji, przepustowość oraz zasoby zużywane przez aplikację. Praktycznym przykładem może być testowanie aplikacji internetowej w warunkach, gdy korzysta z niej wielu użytkowników jednocześnie, co pozwala ocenić, jak skaluje się system. W kontekście standardów, organizacje często odnoszą się do metodologii takich jak Performance Testing Framework, a także do narzędzi jak JMeter czy LoadRunner, które umożliwiają automatyzację procesu testowania. Testy te pomagają w identyfikacji wąskich gardeł, które mogą wpływać na wydajność, co przekłada się na lepsze doświadczenia użytkowników oraz minimalizację kosztów związanych z utrzymaniem systemu.

Pytanie 20

Po wydaniu polecenia użytkownik Jacek będzie mógł

GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';
A. usuwać dane z tabeli i przeglądać dane.
B. zmieniać strukturę tabeli i wstawiać nowe dane.
C. przeglądać dane w tabeli i wstawiać nowe dane.
D. usuwać tabelę i tworzyć nową.
Twoja odpowiedź jest poprawna. Użytkownik Jacek po wydaniu polecenia SQL 'GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';' zyskuje możliwość przeglądania (SELECT) oraz wstawiania (INSERT) danych do tabeli 'mojaTabela' znajdującej się w bazie danych 'baza1'. Jest to zgodne ze standardami SQL i dobrymi praktykami zarządzania uprawnieniami w systemach baz danych. Uprawnienie SELECT pozwala na odczyt danych z tabeli, co jest niezbędne do analizy danych, a uprawnienie INSERT umożliwia dodawanie nowych rekordów do tabeli, co jest kluczowe dla utrzymywania aktualności danych. Pamiętaj, że kontrola dostępu do danych jest kluczowym elementem zarządzania bazami danych, zarówno pod względem bezpieczeństwa, jak i zgodności z regulacjami prawnymi.

Pytanie 21

Który z poniższych znaczników HTML nie służy do formatowania tekstu?

A. <strong>
B. <div>
C. <sub>
D. <em>
Znacznik <div> jest używany w HTML do dzielenia dokumentu na sekcje, co czyni go elementem blokowym, który nie formatuje tekstu w sensie stylizacji, ale organizuje strukturę dokumentu. Użycie <div> jest zgodne z dobrymi praktykami tworzenia przejrzystych i semantycznych kodów HTML, co jest fundamentem w budowie responsywnych oraz dostępnych stron internetowych. Na przykład, <div> może być użyty do grupowania elementów w sekcję strony, co ułatwia ich stylizację za pomocą CSS. Można tworzyć klasy lub identyfikatory dla <div>, co pozwala na dalsze formatowanie i manipulację jego zawartością. Warto pamiętać, że stosowanie <div> jest kluczowe w kontekście nowoczesnych ram CSS, takich jak Flexbox czy Grid, które umożliwiają bardziej zaawansowane układanie elementów na stronie.

Pytanie 22

Aby zrealizować podane czynności w JavaScript, należy w znaczniku <script> umieścić poniższy kod

  1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikacje: ", następnie po zatwierdzeniu
  2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się wartość pobrana z okna "Kwalifikacja: ..."
A. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A)
B. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A)
C. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A)
D. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A)
Funkcja prompt() jest kluczowym elementem do interakcji z użytkownikiem w JavaScript. Próba przypisania wartości za pomocą operatora przesunięcia bitowego << jest błędna, ponieważ ten operator służy do manipulacji bitami liczby, a nie do przypisania wartości w kontekście prompt(). Użycie alert() zamiast prompt() wprowadza użytkownika w błąd, ponieważ alert() wyłącznie wyświetla komunikat i nie zwraca wartości, która mogłaby być przypisana do zmiennej. Ponadto próba konkatenacji za pomocą operatora kropki w JavaScript jest niewłaściwa, ponieważ JavaScript używa operatora + do łączenia ciągów tekstowych. Tego rodzaju błędne koncepcje prowadzą do niepoprawnego rozumienia podstawowych operacji w JavaScript i mogą utrudniać efektywne tworzenie dynamicznych aplikacji webowych. W kontekście dobrych praktyk, ważne jest, aby stosować właściwe operatory i funkcje zgodnie z ich przeznaczeniem. Należy również zaznaczyć, że stosowanie document.write() jest ograniczone do prostych przypadków i w bardziej złożonych scenariuszach zaleca się manipulację DOM poprzez bezpośrednie modyfikacje struktur HTML, co zapewnia większą kontrolę nad zawartością strony i minimalizuje ryzyko nadpisywania istotnych danych.

Pytanie 23

W PHP zmienna $_SERVER zawiera między innymi dane o

A. adresie IP serwera oraz nazwie protokołu
B. informacjach z formularza przetwarzanego na serwerze
C. informacjach związanych z sesjami
D. nazwie ciasteczek zapisanych na serwerze oraz powiązanych z nimi danych
W kontekście zmiennej $_SERVER w PHP, nieprawidłowe odpowiedzi skupiają się na danych, które nie są przechowywane w tej superglobalnej zmiennej. Na przykład, informacje o danych formularza przetwarzanego na serwerze są dostępne w tablicy $_POST lub $_GET, a nie w $_SERVER. Zrozumienie różnicy między tymi tablicami jest kluczowe, ponieważ każda z nich ma swoją specyfikę i zastosowanie. $_POST zawiera dane przesyłane metodą POST, co jest najczęściej wykorzystywane w formularzach, natomiast $_GET zachowuje dane z parametrów URL. Kolejnym nieporozumieniem jest zrozumienie, że dane dotyczące sesji są zarządzane przez zmienną $_SESSION, która jest odrębna od $_SERVER i służy do przechowywania informacji o sesji użytkownika na serwerze. Zmienne ciastka, takie jak $_COOKIE, są również niezależne i nie mają związku z $_SERVER. Warto zauważyć, że niepoprawne odpowiedzi mogą wynikać z mylnego założenia, że $_SERVER gromadzi wszystkie dane związane z interakcją użytkownika z aplikacją webową. W rzeczywistości, każda z tych tablic ma swoje konkretne zastosowanie i zakres, co jest kluczowe dla prawidłowego przetwarzania żądań w PHP oraz efektywnego zarządzania danymi w aplikacjach internetowych.

Pytanie 24

W CSS, aby ustawić różne stylizacje dla pierwszej litery w akapicie, należy wykorzystać selektor

A. pseudoelementu p::first-letter
B. klasy p.first-letter
C. dziecka p + first-letter
D. atrybutu p [first-letter]
W języku CSS do formatowania pierwszej litery akapitu używamy pseudoelementu '::first-letter'. Jest to specjalny selektor, który pozwala na zastosowanie stylów tylko do pierwszego znaku w danym elemencie, na przykład w akapicie <p>. Pseudoelement ten może być używany do nadawania unikalnych właściwości typograficznych, takich jak rozmiar czcionki, kolor, font-weight czy marginesy, co może znacząco wzbogacić stylizację tekstu. Przykładowo, używając stylu 'p::first-letter { font-size: 2em; color: red; }', pierwsza litera każdego akapitu stanie się większa i czerwona. To podejście jest zgodne z dobrymi praktykami w CSS, ponieważ umożliwia selektywne stylizowanie elementów bez wpływu na resztę treści. Aby uzyskać większą kontrolę nad układem i estetyką stron internetowych, warto zaznajomić się z innymi pseudoelementami, takimi jak '::first-line', które działają analogicznie. Prawidłowe używanie pseudoelementów jest kluczowe dla tworzenia bardziej zaawansowanych i atrakcyjnych wizualnie projektów.

Pytanie 25

Aby sprawdzić, czy kod JavaScript działa poprawnie, należy skorzystać z

A. interpretera PERL
B. konsoli w przeglądarce internetowej
C. kompilatora C++
D. interpretera PHP
Konsola w przeglądarce to świetne narzędzie do sprawdzania i naprawiania kodu JavaScript. Dzięki niej możesz od razu zobaczyć, co działa, a co nie. Na przykład, kiedy wpiszesz `console.log('Hello, World!');`, to od razu zobaczysz wynik w konsoli. To bardzo fajny sposób na szybkie testowanie, bo nie musisz czekać ani niczego dodatkowo uruchamiać. Konsola ma też sporo innych przydatnych funkcji, jak inspekcja obiektów czy monitorowanie zdarzeń, więc naprawdę warto się z nią zaprzyjaźnić. Właściwie, każda popularna przeglądarka, jak Chrome czy Firefox, dodaje różne ciekawe opcje, które pomagają w debugowaniu. Z mojego doświadczenia, korzystanie z konsoli to kluczowy element nauki i pracy z JavaScript.

Pytanie 26

Liczba 0x142, przedstawiona w skrypcie JavaScript, jest zapisywana w postaci

A. dwójkowej
B. szesnastkowej
C. ósemkowej
D. dziesiętnej
Odpowiedzi sugerujące, że liczba 0x142 jest zapisana w systemie dziesiętnym, dwójkowym lub ósemkowym, są błędne z kilku powodów. System dziesiętny, bazujący na podstawie 10, używa cyfr od 0 do 9. Gdyby 0x142 byłoby w systemie dziesiętnym, nie miałby prefiksu '0x', a jego wartość wynosiłaby 322, co jest całkowicie inną reprezentacją. Z kolei system dwójkowy, znany również jako binarny, używa tylko dwóch cyfr: 0 i 1. Liczba 0x142 w systemie binarnym wynosi 101000010, co jest zupełnie inną formą niż przedstawienie szesnastkowe. Na koniec, system ósemkowy, mający podstawę 8, obejmuje cyfry od 0 do 7. Aby wyrazić 0x142 w systemie ósemkowym, należałoby najpierw przekonwertować ją na dziesiętną, co dałoby 322, a następnie na ósemkowy, co dawałoby 502. Tak więc żadna z tych odpowiedzi nie jest poprawna, ponieważ 0x142 jest jednoznacznie zapisane w systemie szesnastkowym.

Pytanie 27

Która z definicji tablicy asocjacyjnej w PHP jest składniowo poprawna?

A. $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);
B. $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);
C. $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});
D. $wiek = array("Anna"=>"35", "Ewa"=>"37", "Oliwia"=>"43");
W analizowanych odpowiedziach można zauważyć kilka istotnych błędów składniowych, które uniemożliwiają prawidłowe zdefiniowanie tablicy asocjacyjnej w PHP. Pierwsza opcja, $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);, myli operator przypisania z operatorem asocjacyjnym. Użycie znaku = zamiast => jest kluczowe, ponieważ PHP wymaga użycia operatora => do parowania kluczy z wartościami. W drugiej opcji, $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);, zastosowano niepoprawną składnię tablicy, gdzie zewnętrzne nawiasy kwadratowe powinny być zastąpione funkcją array() lub nawiasami klamrowymi, a także brakuje kluczy. Trzecia odpowiedź, $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});, również jest niepoprawna, ponieważ użyto nawiasów klamrowych, które nie są stosowane w definicji tablic asocjacyjnych w PHP. Nawiasy klamrowe mogą być używane do tworzenia tablic wielowymiarowych, ale w tym kontekście są nieodpowiednie. Typowe błędy myślowe, które prowadzą do takich pomyłek, to mylenie różnych typów struktur danych oraz niewłaściwe zrozumienie zasad parowania kluczy i wartości, co w rezultacie skutkuje błędami w składni i logice kodu.

Pytanie 28

W języku CSS, sformatowanie dowolnego elementu języka HTML w ten sposób, że po najechaniu na niego kursorem zmienia on kolor czcionki, wymaga zastosowania pseudoklasy

A. :coursor
B. :visited
C. :active
D. :hover
Poprawna odpowiedź to pseudoklasa :hover. W CSS służy ona dokładnie do tego, o co chodzi w pytaniu: do zmiany wyglądu elementu w momencie, gdy użytkownik najedzie na niego kursorem myszy (albo innym wskaźnikiem). Mechanizm jest prosty: przeglądarka śledzi pozycję kursora i kiedy znajduje się on nad danym elementem, do selektora z :hover zostają zastosowane zdefiniowane tam style. Przykładowo, żeby po najechaniu zmienić kolor tekstu linku, wystarczy napisać: a:hover { color: red; } Można tak samo stylować dowolny element HTML, nie tylko <a>: button:hover { color: white; background-color: #007bff; cursor: pointer; } W nowoczesnych interfejsach :hover jest podstawą efektów „podświetlenia” przycisków, kart, menu rozwijanych itp. Z mojego doświadczenia warto pamiętać o kolejności pseudoklas dla linków: a:link, a:visited, a:hover, a:active – to jest klasyczna dobra praktyka (czasem zapisywana jako LVHA), żeby style się nie nadpisywały w dziwny sposób. Trzeba też mieć w głowie, że na urządzeniach mobilnych :hover działa inaczej lub wcale, bo tam nie ma typowego kursora. Dlatego sensowne jest, żeby najważniejsze informacje nie były dostępne tylko po najechaniu, a :hover traktować bardziej jako poprawę wygody i estetyki, a nie jedyne źródło funkcjonalności. Mimo to w klasycznym desktopowym webie :hover jest absolutnym standardem do reakcji na najechanie kursorem.

Pytanie 29

Co oznacza pojęcie integralności referencyjnej?

A. Każdej wartości klucza obcego odpowiada dokładnie jedna wartość klucza podstawowego.
B. Każda encja musi mieć zdefiniowany klucz podstawowy o wartości unikatowej i różnej od NULL.
C. Wartość atrybutu należy do jego dziedziny.
D. Baza jest odporna na błędy i awarie wynikające z zawodności sprzętu i oprogramowania.
Pojęcie integralności referencyjnej bywa mylone z innymi rodzajami ograniczeń w bazie danych, dlatego łatwo tu o skrót myślowy. W relacyjnych bazach danych mamy kilka różnych typów integralności: integralność encji, integralność dziedzinową oraz właśnie integralność referencyjną. Każda z nich dotyczy trochę innego aspektu poprawności danych i warto je sobie w głowie rozdzielić, bo w praktyce projektowej to mocno pomaga. Stwierdzenie, że wartość atrybutu należy do jego dziedziny, opisuje integralność dziedzinową. Oznacza to, że np. kolumna typu DATE faktycznie przechowuje poprawne daty, kolumna z ograniczeniem CHECK mieści tylko dopuszczalne wartości, a kolumna typu INT nie zawiera losowego tekstu. To jest ważne, ale nie ma nic wspólnego z powiązaniem między dwiema tabelami. Tutaj mówimy o poprawności pojedynczej kolumny, a nie relacji klucz główny–klucz obcy. Z kolei odporność bazy na błędy sprzętu czy oprogramowania to już zupełnie inny obszar – to domena niezawodności systemu, mechanizmów transakcyjności, backupów, logów transakcyjnych, klastrów HA, replikacji itd. To są dobre praktyki administracyjne i architektoniczne, ale nie opisują integralności referencyjnej. Można mieć świetnie zabezpieczony serwer, a jednocześnie kompletnie rozwaloną spójność logiczną danych, jeśli nie ma poprawnie zdefiniowanych kluczy obcych. Wymóg, że każda encja ma unikalny klucz podstawowy, dotyczy integralności encji. Chodzi o to, żeby każdy rekord w tabeli dało się jednoznacznie zidentyfikować i żeby klucz główny nie był NULL. To jest fundament, ale nadal mówimy tylko o pojedynczej tabeli. Integralność referencyjna wchodzi dopiero wtedy, gdy jedna tabela „wskazuje” na drugą przez klucz obcy. Typowy błąd myślowy polega na wrzuceniu do jednego worka wszystkich zasad typu PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE i nazywaniu tego ogólnie integralnością. W rzeczywistości integralność referencyjna jest ściśle związana z relacjami między tabelami: pilnuje, żeby żaden klucz obcy nie wskazywał na nieistniejący rekord. Jeśli chcemy projektować bazy sensownie, trzeba świadomie odróżniać te pojęcia i korzystać z odpowiednich ograniczeń dokładnie tam, gdzie są potrzebne.

Pytanie 30

W języku JavaScript trzeba zapisać warunek, który będzie prawdziwy, gdy zmienna a będzie jakąkolwiek liczbą naturalną dodatnią (bez 0) lub zmienna b przyjmie wartość z zamkniętego przedziału od 10 do 100. Wyrażenie logiczne w tym warunku ma formę

A. (a>0) && ((b>=10) && (b<=100))
B. (a>0) || ((b>=10) && (b<=100))
C. (a>0) || ((b>=10) || (b<=100))
D. (a>0) && ((b>=10) || (b<=100))
Pierwsza odpowiedź (a>0) || ((b>=10) || (b<=100)) jest niepoprawna, ponieważ używa operatora || w kontekście sprawdzania wartości zmiennej b w sposób, który nie ogranicza jej do przedziału od 10 do 100. Wyrażenie (b>=10) || (b<=100) oznacza, że b może być mniejsze niż 10, co jest sprzeczne z wymaganiami dotyczącymi przedziału. W związku z tym, ta konstrukcja może dopuścić do sytuacji, w której b ma wartość poniżej 10, co nie jest akceptowalne. Kolejna niepoprawna odpowiedź (a>0) && ((b>=10) || (b<=100)) wymaga, aby obydwa warunki były prawdziwe, co również prowadzi do błędnego sprawdzenia. Operator && wymusza spełnienie obu warunków, a zatem jeśli a jest większe od 0, ale b jest mniejsze niż 10, cała konstrukcja zwróci false, co czyni ją nieodpowiednią dla zadanych wymagań. Ostatnia niepoprawna opcja (a>0) && ((b>=10) && (b<=100)) również jest niewłaściwa, ponieważ zamiast umożliwić elastyczność w spełnianiu warunku, wymaga, aby obydwa warunki były prawdziwe jednocześnie. W kontekście zadania, nie możemy narzucić, aby a i b musiały być prawdziwe w tym samym czasie, co uniemożliwia skuteczne sprawdzenie jednej z opcji, przez co odpowiedź nie spełnia wymagań zadania. W związku z tym, wszystkie te odpowiedzi są niepoprawne w kontekście zadania, które wymaga dwóch odrębnych warunków do spełnienia.

Pytanie 31

SELECT AVGcena) FROM usługi; Celem użycia funkcji agregującej AVG w tym zapytaniu jest

A. wyliczyć średnią arytmetyczną cen wszystkich usług
B. zliczyć ilość dostępnych usług w tabeli
C. określić najwyższą cenę usług
D. zsumować wartości kosztów wszystkich usług
Odpowiedź "obliczyć średnią arytmetyczną cen wszystkich usług" jest poprawna, ponieważ funkcja AVG (average) w SQL jest zaprojektowana do obliczania średniej wartości z zestawu danych w danej kolumnie. W podanym zapytaniu, AVG(cena) ma na celu zsumowanie wartości w kolumnie 'cena' dla wszystkich wierszy w tabeli 'usługi' oraz podzielenie tej sumy przez liczbę wierszy, które zawierają dane. W praktyce, średnia arytmetyczna jest niezwykle użyteczna w analizie danych, ponieważ pozwala na uzyskanie jednego, reprezentatywnego wyniku, który może być pomocny w podejmowaniu decyzji biznesowych. Na przykład, firma usługowa może użyć tej informacji do oceny swojej polityki cenowej, porównując średnią cenę swoich usług do średnich cen konkurencji. Zgodnie z najlepszymi praktykami w branży, stosowanie funkcji agregujących takich jak AVG powinno być integralną częścią procesów analizy danych, szczególnie w kontekście raportowania i oceny efektywności operacyjnej.

Pytanie 32

Jaki jest cel funkcji napisanej w PHP?

function fun1($liczba)
{
  if($liczba % 2 == 0)
    return 1;

  return 0;
}
A. Zwrócenie wartości 0, gdy liczba jest parzysta
B. Zwrócenie wartości 1, gdy liczba jest parzysta
C. Wypisanie liczby nieparzystej
D. Wypisanie liczby parzystej
Analizując błędne odpowiedzi, należy skupić się na różnicy między funkcją zwracającą wartość a funkcją wypisującą wynik. Wypisanie liczby parzystej sugerowałoby użycie funkcji echo lub print, co w kodzie nie występuje. Funkcja zwraca wartość za pomocą instrukcji return, co jest istotnym rozróżnieniem w kontekście projektowania funkcji. Wypisanie liczby nieparzystej również nie jest zgodne z treścią funkcji, ponieważ nie ma instrukcji ani warunku, który wskazywałby na takie działanie. Funkcja została zaprojektowana do zwracania wartości logicznej (w tym przypadku liczbowej 1 lub 0), które w dalszej części programu mogą być używane do podejmowania decyzji. Typowym błędem jest niezrozumienie różnicy między wypisywaniem a zwracaniem wartości oraz błędna interpretacja operatora modulo, który w tym przypadku jest kluczowy do zrozumienia działania funkcji. Brakującym elementem w niepoprawnych odpowiedziach jest również właściwe odczytanie instrukcji return i jej wpływu na przepływ sterowania w programie, co często prowadzi do nieporozumień w analizie kodu.

Pytanie 33

Relacja opisana jako: "Rekord z tabeli A może odpowiadać wielu rekordom z tabeli B. Każdemu rekordowi z tabeli B przyporządkowany jest dokładnie jeden rekord z tabeli A" jest relacją

A. jeden do jednego
B. wiele do wielu
C. nieoznaczoną
D. jeden do wielu
Podejście pojmujące relację jako nieoznaczoną jest mylne, ponieważ nie uwzględnia struktury i powiązań między rekordami w tabelach. Nieoznaczona relacja nie definiuje w żaden sposób, jakie są zależności między danymi, co sprawia, że analizy przeprowadzane na takich danych mogą prowadzić do błędnych wniosków. Natomiast koncepcja relacji wiele do wielu, choć może wydawać się pasująca, nie odzwierciedla opisanego scenariusza, w którym z jednego rekordu w tabeli A wychodzi wiele rekordów w tabeli B, ale z każdego rekordu w tabeli B wychodzi dokładnie jeden rekord w tabeli A. Tego typu podejście prowadzi do błędnych wizji organizacji danych i często do skomplikowanych operacji przy próbie wyodrębnienia potrzebnych informacji. Również zrozumienie relacji jeden do jednego w tym kontekście jest niewłaściwe, ponieważ zakłada, że każdemu rekordowi z tabeli A odpowiada dokładnie jeden rekord w tabeli B, co nie jest zgodne z przedstawionym opisem. Zatem istotne jest, aby podczas projektowania baz danych i definiowania relacji między tabelami stosować klarowne i uzasadnione zasady, które umożliwią prawidłowe zarządzanie danymi i ich analizę. Właściwe zrozumienie tych relacji jest fundamentem dobrych praktyk w inżynierii danych i projektowaniu baz danych.

Pytanie 34

Którą rozdzielczość należy ustawić w opcjach kodera, aby przygotować do publikacji film w rozdzielczości HD Ready?

A. 480x360
B. 720x480
C. 1920x1080
D. 1280x720
Prawidłowo – rozdzielczość 1280x720 to standard HD Ready, czyli tzw. 720p. W praktyce oznacza to obraz o proporcjach 16:9 i wysokości 720 linii, co jest przyjętym minimum dla materiału w jakości HD w wielu systemach publikacji wideo. W ustawieniach kodera (np. Adobe Media Encoder, HandBrake, FFmpeg, czy w panelach kodowania na platformach VOD) wybór 1280x720 zapewnia zgodność z typowymi profilami „HD Ready” albo po prostu „720p”. To jest ważne, bo wiele serwisów, od playerów osadzanych na stronach WWW, po YouTube czy Vimeo, rozpoznaje takie predefiniowane rozdzielczości i ustawia je jako osobne profile jakości. 1280x720 daje rozsądny kompromis między jakością a wagą pliku. Przy poprawnym bitrate (np. 3–5 Mbps dla H.264 przy typowym materiale) uzyskuje się obraz wystarczająco ostry do oglądania na monitorach, laptopach i telewizorach HD Ready, a jednocześnie nie „zabija” łącza przy streamingu. Z mojego doświadczenia, przy przygotowaniu wideo do osadzenia na stronach WWW, 720p jest bardzo bezpiecznym wyborem, szczególnie jeśli użytkownicy korzystają ze słabszego internetu lub urządzeń mobilnych. Warto też pamiętać, że HD Ready (1280x720) to inny standard niż Full HD (1920x1080). Częsty błąd to wrzucanie wszystkiego w jedno „HD”, ale w praktyce ma to znaczenie dla obciążenia serwera, zużycia transferu i wygody użytkownika. Dlatego jeśli w wymaganiach projektu albo klient mówi konkretnie o HD Ready, w opcjach kodera ustawiamy dokładnie 1280x720, pilnujemy proporcji 16:9 i dobieramy sensowny bitrate oraz kodek (obecnie najczęściej H.264 lub H.265 w kontenerze MP4).

Pytanie 35

Jaki jest cel wykorzystania znacznika <i> w języku HTML?

A. określenia formularza
B. wstawienia obrazka
C. określenia nagłówka w treści
D. zmiany kroju pisma na pochylony
Znacznik <i> w języku HTML jest używany do oznaczania tekstu, który powinien być wyświetlany w kroju pisma pochyłym. Takie użycie jest zgodne ze standardami HTML, gdzie <i> zwykle wskazuje na tekst, który ma być wyróżniony w kontekście stylistycznym, na przykład w przypadku tytułów książek, nazw gatunków czy terminów technicznych. Z perspektywy semantycznej, HTML5 wprowadza większą elastyczność w definiowaniu znaczenia tekstu, co czyni <i> bardziej konwencjonalnym narzędziem niż w poprzednich wersjach. Warto zaznaczyć, że dla lepszej dostępności i SEO, często zaleca się użycie znacznika <em>, który nie tylko zmienia styl, ale także podkreśla znaczenie tekstu. Przykład zastosowania <i>: <i>„Wojna i pokój”</i> to książka autorstwa Lwa Tołstoja. Z perspektywy użytkowników i wyszukiwarek, ważne jest, aby znać różnice między tymi znacznikami, co pozwala na efektywniejsze tworzenie treści internetowych.

Pytanie 36

Systemem zarządzania wersjami w projekcie programistycznym, który działa w trybie rozproszonym, jest

A. Eclipse
B. GIT
C. FileZilla
D. TotalCommander
GIT jest rozproszonym systemem kontroli wersji, który pozwala na efektywne zarządzanie kodem źródłowym projektu programistycznego. Jego architektura umożliwia każdemu programiście posiadanie lokalnej kopii repozytorium, co przyspiesza operacje takie jak commit, diff czy log, ponieważ nie wymaga dostępu do zdalnego serwera. GIT wspiera równoległą pracę wielu deweloperów, umożliwiając tworzenie gałęzi (branch) do rozwijania funkcji czy naprawy błędów bez wpływania na główną wersję kodu. Przykładami praktycznego zastosowania są: rozwijanie nowych funkcjonalności w oddzielnych gałęziach, zarządzanie kodem w projektach open source, czy współpraca w zespołach rozproszonych geograficznie, gdzie deweloperzy mogą synchronizować swoje zmiany poprzez operacje push i pull. Warto także zaznaczyć, że GIT jest szeroko stosowany w standardach branżowych, takich jak Continuous Integration/Continuous Deployment (CI/CD), co podkreśla jego znaczenie w nowoczesnym procesie wytwarzania oprogramowania.

Pytanie 37

Jakie mogą być źródła rekordów dla raportu?

A. inny raport
B. zapytanie INSERT INTO
C. tabela
D. zapytanie GRANT
Tabela jest podstawowym źródłem danych, które może być wykorzystane do generowania raportów w systemach zarządzania bazami danych (DBMS). Raporty są często tworzone w oparciu o zawartość tabel, które przechowują zorganizowane dane w postaci wierszy i kolumn. Przykładowo, w systemach takich jak SQL Server czy MySQL, można użyć zapytań SELECT, aby pobrać dane z tabel i zaprezentować je w formie raportu. Stosowanie tabel jako źródła informacji jest zgodne z zasadami normalizacji danych, co pozwala na minimalizację redundancji i zwiększa integralność danych. Dobre praktyki w tworzeniu raportów zakładają, że dane powinny być pobierane z tabel skonstruowanych zgodnie z zasadami projektowania baz danych, co zapewnia efektywność i łatwość w zarządzaniu informacjami. Oprócz tego, raporty mogą być wzbogacane o różne agregacje i analizy, co czyni je bardziej użytecznymi w podejmowaniu decyzji biznesowych. W praktyce, programiści i analitycy danych często korzystają z narzędzi do wizualizacji, takich jak Tableau czy Power BI, które łączą się z danymi w tabelach, aby generować interaktywne raporty i dashboardy.

Pytanie 38

W SQL przeprowadzono zapytanie, jednak jego realizacja nie powiodła się, co skutkowało błędem: #1396 - Operation CREATE USER failed for 'anna'@'localhost'. Możliwą przyczyną takiego zachowania bazy danych może być

CREATE USER 'anna'@'localhost' IDENTIFIED BY '54RTu8';
A. nieznane polecenie CREATE USER
B. błędna składnia polecenia CREATE USER
C. istnienie użytkownika anna w bazie
D. niewystarczające hasło dla konta anna
Odpowiedź wskazująca na istnienie użytkownika 'anna' w bazie jest prawidłowa, ponieważ MySQL nie pozwala na tworzenie nowego użytkownika, jeśli użytkownik o takiej samej nazwie już istnieje. W przypadku próby wykonania kwerendy CREATE USER dla istniejącego użytkownika, system generuje błąd #1396, co jest zgodne z zasadami zarządzania użytkownikami w bazach danych. Dobra praktyka polega na sprawdzaniu, czy użytkownik już istnieje przed próbą jego utworzenia, co można zrobić za pomocą zapytania SELECT z tabeli mysql.user. Jeśli użytkownik 'anna' byłby już zdefiniowany, aby uniknąć błędów, programista powinien najpierw usunąć istniejącego użytkownika lub zmodyfikować jego uprawnienia, jeżeli to konieczne. Stosowanie poprawnych procedur zarządzania użytkownikami oraz regularne audyty kont użytkowników są kluczowe dla bezpieczeństwa i wydajności systemu baz danych.

Pytanie 39

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Zmniejszenie kontrastu zdjęcia.
C. Zwiększenie ostrości zdjęcia.
D. Przenikanie zdjęć.
W tym zadaniu łatwo pomylić kilka różnych rodzajów operacji na obrazie, bo wszystkie jakoś „zmieniają wygląd zdjęcia”, ale działają zupełnie inaczej. Efekt pokazany na filmie to przenikanie dwóch zdjęć w czasie, czyli animowane przejście między jednym obrazem a drugim. Kluczowa cecha: widzimy jednocześnie dwa zdjęcia, jedno stopniowo zanika, a drugie stopniowo się pojawia. To nie jest typowa operacja edycyjna na pojedynczym pliku graficznym, tylko efekt animacyjny, często wykorzystywany w pokazach slajdów, sliderach na stronach WWW i w montażu wideo. Zmiana jasności zdjęć to zupełnie inny rodzaj przetwarzania. Jasność modyfikuje poziom luminancji całego obrazu lub jego fragmentów – obraz staje się ciemniejszy albo jaśniejszy, ale dalej jest to to samo zdjęcie. Nie pojawia się nowe, drugie zdjęcie, nie ma nakładania dwóch kadrów. W programach do grafiki mamy to jako „Brightness”, „Exposure” czy „Levels”. Jeśli na filmie widać, że jeden obraz przechodzi płynnie w inny, to nie jest korekta jasności, tylko przejście między dwiema warstwami. Podobnie z ostrością – zwiększenie ostrości polega na podbiciu kontrastu na krawędziach, żeby szczegóły wyglądały wyraźniej. W praktyce używa się filtrów typu Unsharp Mask, Smart Sharpen albo algorytmów wyostrzania w czasie rzeczywistym. Obraz przed i po wyostrzeniu to ciągle ta sama klatka, tylko z innym przetworzeniem detali, nie ma efektu zanikania jednego zdjęcia i pojawiania się drugiego. Zmniejszenie kontrastu to kolejna korekta globalna, która spłaszcza różnice między jasnymi a ciemnymi partiami obrazu. Zdjęcie robi się bardziej „szare”, mniej dynamiczne. Znowu – cały czas pracujemy na jednym ujęciu, bez miksowania dwóch fotografii. Typowym błędem myślowym przy takich pytaniach jest to, że skoro coś się „zmienia w czasie”, to musi chodzić o jakąś regulację parametrów typu jasność czy kontrast. Tymczasem w efektach multimedialnych bardzo często operujemy na wielu warstwach – dwa obrazy, dwie klatki wideo – i animujemy ich wzajemną przezroczystość. Właśnie to jest esencją przenikania zdjęć i odróżnia je od zwykłych korekt obrazu.

Pytanie 40

Jaki jest efekt działania programu w JavaScript?

var osoba = prompt("Podaj imię", "Adam");
A. uzyskanie z formularza wyświetlonego na stronie HTML imienia "Adam"
B. pojawi się okno z pustym polem do edycji
C. przypisanie do zmiennej osoba wartości "Adam"
D. otwarcie okna z polem do edycji, w którym znajduje się domyślny tekst "Adam"
Funkcja prompt w JavaScript jest używana do wyświetlania okna dialogowego z polem edycyjnym pozwalającym użytkownikowi na wprowadzenie danych. W tym przypadku funkcja prompt przyjmuje dwa argumenty: pierwszy to komunikat wyświetlany użytkownikowi, a drugi to domyślna wartość w polu tekstowym. Kod var osoba = prompt('Podaj imię' 'Adam') otwiera okno dialogowe z tekstem Podaj imię i domyślnie wpisanym w polu tekstowym imieniem Adam. Domyślna wartość jest przydatna w sytuacjach gdzie chcemy zasugerować użytkownikowi pewne dane które mogą być dla niego odpowiednie lub często używane. Jest to wygodne rozwiązanie w aplikacjach internetowych pozwalające na szybkie i intuicyjne wprowadzanie danych przez użytkownika. Zastosowanie prompt jest przykładem interakcji między użytkownikiem a stroną internetową co jest kluczowym elementem dynamicznych aplikacji webowych. Ważne jest jednak by pamiętać że funkcja prompt może być blokowana w niektórych przeglądarkach dlatego jej użycie powinno być dobrze przemyślane i ewentualnie zastąpione bardziej nowoczesnymi rozwiązaniami takimi jak formularze HTML z odpowiednimi atrybutami i stylizacjami.