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: 16 kwietnia 2025 16:43
  • Data zakończenia: 16 kwietnia 2025 17:17

Egzamin zdany!

Wynik: 20/40 punktów (50,0%)

Wymagane minimum: 20 punktów (50%)

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

Wskaż fragment CSS, który odpowiada rozkładowi bloków 2-5, zakładając, że zostały one zbudowane na podstawie podanego kodu HTML.

Ilustracja do pytania
A. Kod 2
B. Kod 4
C. Kod 3
D. Kod 1
Kod 2 jest prawidłowy, ponieważ dla bloków 2 i 3 stosowane jest ustawienie float: left; co pozwala na ich ułożenie w jednym wierszu z lewej strony. Blok 4 z float: right; umiejscawia się po prawej stronie, co umożliwia uzyskanie układu bloków 2-4 w jednej linii, odpowiadając schematowi. Blok 5 z float: left; rozpoczyna nowy wiersz poniżej, zgodnie z założonym układem. Takie użycie właściwości float oraz width pozwala na zorganizowanie elementów na stronie bez użycia flexbox lub grid, co jest klasycznym podejściem do układu strony w CSS. Dobrym przykładem praktycznego zastosowania jest tworzenie responsywnych layoutów, gdzie float można używać do kontrolowania przepływu elementów na mniejszych ekranach. Mimo że obecnie technologia flexbox i grid jest bardziej popularna, znajomość stosowania float nadal jest istotna, zwłaszcza w kontekście starszych projektów, które mogą wymagać utrzymania zgodności z wcześniejszymi wersjami CSS. To rozwiązanie zapewnia zgodność z wieloma starszymi przeglądarkami, co jest kluczowe w przypadku długoterminowych projektów webowych.

Pytanie 2

Co jest celem funkcji napisanej w PHP?

Ilustracja do pytania
A. Wypisanie liczby nieparzystej
B. Zwrócenie wartości 1, gdy liczba jest parzysta
C. Wypisanie liczby parzystej
D. Zwrócenie wartości 0, gdy liczba jest parzysta
Funkcja w języku PHP została zaprogramowana w taki sposób, aby najpierw sprawdzić, czy podana liczba jest parzysta, używając operatora modulo (%). Operacja $liczba % 2 == 0 sprawdza resztę z dzielenia przez 2, która dla liczb parzystych wynosi 0. Jeśli warunek jest spełniony, funkcja natychmiast zwraca wartość 1, co oznacza, że liczba jest parzysta. Taki sposób kodowania jest wydajny, ponieważ funkcja zakończy działanie natychmiast po spełnieniu warunku, bez dalszego przetwarzania. Jest to dobry przykład stosowania operacji warunkowych w funkcjach, co jest zgodne z dobrymi praktykami programistycznymi, zwłaszcza gdy zależność logiczna jest prosta i może być szybko zidentyfikowana. Takie funkcje często wykorzystywane są w systemach walidacji danych, gdzie szybkie potwierdzenie poprawności danych jest kluczowe dla wydajności całego systemu. Pozwala również na łatwe rozszerzenie logiki, jeśli w przyszłości zajdzie taka potrzeba.

Pytanie 3

Możliwość utworzenia konta użytkownika <strong>jan</strong> z hasłem <strong>janPass</strong> można osiągnąć przy pomocy polecenia

A. CREATE USER 'jan'@'localhost';
B. CREATE USER 'jan'@'localhost' PASSWORD EXPIRE;
C. CREATE USER 'jan'@'%localhost' IDENTIFIED VIA mysql_native_password USING 'janPass';
D. CREATE USER 'jan'@'localhost' IDENTIFIED BY 'janPass';
Odpowiedź ta jest poprawna, ponieważ prawidłowo wykorzystuje składnię polecenia SQL do tworzenia użytkownika w bazie danych MySQL. Polecenie 'CREATE USER 'jan'@'localhost' IDENTIFIED BY 'janPass';' tworzy nowego użytkownika o nazwie 'jan' z hasłem 'janPass', które jest wymagane do autoryzacji. Użycie 'IDENTIFIED BY' jest zgodne z najlepszymi praktykami w zakresie bezpieczeństwa, ponieważ pozwala na bezpośrednie zdefiniowanie hasła w momencie tworzenia konta użytkownika. W praktyce, stworzenie użytkownika z odpowiednim hasłem jest kluczowym krokiem w zarządzaniu bazą danych, zwłaszcza w kontekście bezpieczeństwa danych. Umożliwia to ograniczenie dostępu do zasobów bazy danych tylko do autoryzowanych użytkowników. Dodatkowo, w codziennej pracy należy regularnie aktualizować hasła użytkowników oraz stosować złożone hasła, aby zwiększyć poziom bezpieczeństwa. Warto również zaznaczyć, że w nowoczesnych wersjach MySQL możliwe jest użycie dodatkowych opcji, takich jak 'REQUIRE SSL', dla podniesienia poziomu zabezpieczeń przy nawiązywaniu połączeń.

Pytanie 4

bool gotowe=true;cout<<gotowe;Jakie będzie wyjście w wyniku wykonania podanych poleceń?

A. 0
B. 1
C. Nie
D. Tak
Po wykonaniu poleceń na ekranie zobaczysz '1'. Zmienna 'gotowe' jest ustawiona jako typ bool i ma wartość true. W C++ typ bool może mieć dwie wartości: true lub false. Kiedy zmienną bool wyświetlamy przy użyciu cout, to 'true' pokazuje się jako '1', a 'false' jako '0'. To jest zgodne z zasadami C++, które mówią, że wartości logiczne są traktowane jako liczby całkowite. Z mojego doświadczenia, zrozumienie tego, jak C++ interpretuje różne typy danych, jest naprawdę istotne w programowaniu, bo pomaga lepiej ogarnąć działanie kodu, a także poprawić algorytmy. Na przykład, jeśli programista ma świadomość, że true to 1, może wykorzystać tę wiedzę przy operacjach na liczbach lub podczas tworzenia warunków. To fajnie działa, zwłaszcza gdy zaczynamy tworzyć bardziej złożone struktury danych.

Pytanie 5

Konstrukcja w języku SQL ALTER TABLE USA... służy do

A. usunięcia tabeli USA
B. nadpisania istniejącej tabeli USA
C. zmiany tabeli USA
D. stworzenia nowej tabeli USA
Polecenie SQL ALTER TABLE jest używane do modyfikacji istniejącej tabeli w bazie danych. W kontekście odpowiedzi na to pytanie, modyfikacja tabeli USA może obejmować różne operacje, takie jak dodawanie nowych kolumn, modyfikowanie istniejących kolumn, usuwanie kolumn lub zmiana typu danych kolumn. Przykładowo, jeśli chcemy dodać kolumnę z datą utworzenia rekordu, moglibyśmy użyć polecenia ALTER TABLE USA ADD COLUMN created_at DATE. Ważne jest, aby pamiętać, że ALTER TABLE nie tworzy nowej tabeli, ani jej nie usuwa, co jest kluczowe dla zrozumienia jego funkcji. Dobre praktyki przy użyciu ALTER TABLE obejmują wykonanie kopii zapasowej bazy danych przed wprowadzeniem zmian, aby uniknąć utraty danych, a także rozważenie wpływu wprowadzanych zmian na już istniejące dane oraz indeksy. Ponadto, każda operacja ALTER TABLE może wymagać zablokowania tabeli, co wpływa na dostępność bazy danych podczas modyfikacji.

Pytanie 6

Jaką instrukcję pętli stosuje się do przeprowadzenia określonej liczby operacji na obiekcie lub zmiennej, która nie jest tablicą?

A. for
B. if
C. foreach
D. switch
Wybór instrukcji 'switch' jako odpowiedzi na pytanie o pętlę wykonującą określoną liczbę operacji jest błędny z podstawowego powodu, że 'switch' nie jest pętlą. Jest to struktura kontrolna używana do wyboru jednego z wielu bloków kodu do wykonania, w zależności od wartości zmiennej. Zastosowanie 'switch' jest zatem ograniczone do sytuacji, gdy chcemy wykonywać różne operacje w zależności od konkretnej wartości, a nie do powtarzania tych samych operacji wielokrotnie. Z kolei 'foreach' jest konstrukcją, która służy do iteracji przez kolekcje lub tablice, co również nie odpowiada na postawione pytanie o pętlę wykonującą ustaloną liczbę operacji na pojedynczej zmiennej. Użycie 'if' jest również mylące; jest to instrukcja warunkowa, która decyduje o tym, czy dany blok kodu powinien zostać wykonany w oparciu o spełnienie określonych warunków. W praktyce, błędne zrozumienie roli i funkcji tych konstrukcji często prowadzi do nieefektywnego kodu, który może być trudny do zrozumienia i utrzymania. Kluczowe jest zrozumienie różnicy pomiędzy strukturami kontrolnymi a pętlami, co pozwoli na właściwe podejście do programowania i skuteczne zarządzanie logiką aplikacji. Ważne jest, aby nauczyć się, kiedy używać każdej z tych konstrukcji, aby optymalizować kod i unikać nieporozumień.

Pytanie 7

W HTML, aby ustawić tytuł dokumentu na "Moja strona", który będzie widoczny na karcie przeglądarki internetowej, należy użyć zapisu

A. <meta ttle="Moja strona">
B. <head>Moja strona</head>
C. <ttle>Moja strona</ttle>
D. <meta name="ttle" content="Moja strona" />
Zastosowanie znacznika <title> jest kluczowe w strukturyzacji dokumentów HTML. W przypadku chęci nadania dokumentowi tytułu 'Moja strona', poprawny zapis to <title>Moja strona</title>. Znacznik <title> powinien być umieszczony w sekcji <head> dokumentu HTML, co jest zgodne z zasadami budowy stron internetowych. Tytuł jest istotnym elementem SEO (Search Engine Optimization), ponieważ przeglądarki internetowe wyświetlają go na zakładkach oraz w wynikach wyszukiwania, co wpływa na pierwsze wrażenie użytkownika oraz możliwość znalezienia strony. Prawidłowe tytuły powinny być zwięzłe, informacyjne i zawierać kluczowe słowa związane z treścią strony. Stosując poprawny znacznik <title>, zapewniasz, że strona będzie lepiej postrzegana zarówno przez użytkowników, jak i roboty indeksujące, co przekłada się na lepszą widoczność w Internecie. Warto również zwrócić uwagę na najlepsze praktyki, takie jak unikanie nadmiernej długości tytułu (zaleca się nie więcej niż 60 znaków) oraz stosowanie unikalnych tytułów dla różnych stron.

Pytanie 8

Podczas tworzenia tabeli w SQL, dla jednej z kolumn ustalono klucz główny. Jakie atrybuty należy zastosować, aby uniemożliwić wprowadzenie wartości pustej?

A. NULL
B. DEFAULT
C. UNIQUE
D. NOT NULL
Atrybut NOT NULL jest kluczowym elementem w definiowaniu struktury tabeli w języku SQL, który zabezpiecza kolumnę przed wstawianiem wartości pustych (NULL). W kontekście klucza głównego, który ma zapewnić unikalność i identyfikowalność każdego rekordu w tabeli, użycie NOT NULL jest niezbędne, aby zagwarantować, że każda wartość w tej kolumnie jest zawsze obecna. Dla przykładu, w stworzonej tabeli `Pracownicy`, jeśli kolumna `ID_Pracownika` jest kluczem głównym, atrybut NOT NULL wymusi, że każde wstawienie rekordu będzie wymagało podania unikalnej wartości dla `ID_Pracownika`, co uniemożliwia dodanie rekordu bez tej wartości. Standard SQL definiuje NOT NULL jako jeden z podstawowych atrybutów, które mogą być używane w deklaracji kolumn, a jego stosowanie jest kluczowe dla integracji danych oraz zapewnienia spójności bazy danych. W praktyce, w przypadku prób dodania rekordu z pustą wartością w takiej kolumnie, system generuje błąd, co eliminuje ryzyko powstawania niekompletnych danych.

Pytanie 9

Język PHP zapewnia wsparcie dla

A. zdarzeń związanych z myszą
B. klawiszy klawiatury
C. obiektów przeglądarki
D. sesji i ciastek
PHP, jako język skryptowy po stronie serwera, oferuje wsparcie dla zarządzania sesjami oraz ciasteczkami, co jest kluczowe w kontekście tworzenia aplikacji internetowych. Sesje w PHP umożliwiają przechowywanie danych użytkownika pomiędzy różnymi żądaniami HTTP, co jest istotne w przypadku potrzeb utrzymania stanu aplikacji, np. podczas logowania. Dzięki funkcjom takim jak session_start() można łatwo rozpocząć nową sesję lub wznowić istniejącą. Ciasteczka, z kolei, pozwalają na przechowywanie danych po stronie klienta, co umożliwia personalizację doświadczeń użytkowników na stronie. Przykładem może być zapisywanie preferencji użytkownika, takich jak język interfejsu. Dobre praktyki w zakresie obsługi sesji i ciasteczek obejmują stosowanie bezpiecznych identyfikatorów sesji, ograniczanie czasu życia ciasteczek, a także ich szyfrowanie, co chroni przed atakami typu session hijacking. W ten sposób PHP gwarantuje, że aplikacje są nie tylko funkcjonalne, ale także bezpieczne.

Pytanie 10

Na zaprezentowanym schemacie bazy danych biblioteka, elementy takie jak: czytelnik, wypożyczenie oraz książka stanowią

Ilustracja do pytania
A. atrybuty
B. jednostki
C. krotki
D. pola
W kontekście modelowania baz danych istnieje kilka kluczowych pojęć które często są mylone dlatego ważne jest ich prawidłowe zrozumienie. Atrybuty to szczegółowe informacje które charakteryzują encje na przykład imię i nazwisko w encji czytelnik. Te cechy nie mogą istnieć samodzielnie i są ściśle powiązane z encjami. Krotki z kolei odnoszą się do pojedynczych wierszy lub rekordów w tabeli bazy danych które reprezentują konkretne wystąpienia danej encji jak na przykład dane pojedynczego czytelnika. Pola są elementami struktury tabeli które przechowują poszczególne atrybuty. Każda kolumna w tabeli bazy danych jest polem na przykład imię jest polem dla encji czytelnik. Błędy w identyfikacji tych elementów mogą prowadzić do niepoprawnych modeli danych co z kolei komplikuje zarządzanie danymi. Przykładowo traktowanie encji jako atrybutu może skutkować utratą możliwości precyzyjnego powiązania i zarządzania danymi. Zrozumienie różnic między tymi pojęciami jest kluczowe dla poprawnego projektowania i zarządzania bazami danych zgodnie z zasadami normalizacji i integralności danych co ma fundamentalne znaczenie dla każdego systemu informatycznego.

Pytanie 11

Który z poniższych znaczników HTML można wykorzystać do stworzenia struktury witryny internetowej?

A. <aside>
B. <mark>
C. <input>
D. <em>
Znaczniki <em>, <input> i <mark> mają swoje konkretne zadania w HTML, ale nie są najlepszym przykładem semantycznej struktury, jak to robi <aside>. Znacznik <em> używamy do podkreślenia słów, by nadać tekstowi emocji, ale nie pomaga w organizacji treści na stronie. Trochę jakby nie pasował do budowy strony. Natomiast <input> to element, który pozwala na wprowadzanie danych w formularzach, więc bardziej dotyczy interakcji niż samej struktury strony. Z kolei <mark> służy do zaznaczania istotnych fragmentów tekstu, co może być przydatne, ale znowu, nie wpływa na semantykę budowy strony. Wybierając znacznik, który najlepiej pasuje do organizacji treści, warto myśleć o semantyce i dobrych praktykach. Użycie złych znaczników w budowaniu struktury może sprawić, że zarówno użytkownicy, jak i wyszukiwarki będą miały trudności w interpretacji treści, co jest dosyć powszechnym błędem w projektowaniu stron.

Pytanie 12

W języku PHP zmienna typu float może przyjmować wartości

A. jedynie liczby całkowite
B. wartości zmiennoprzecinkowe
C. wartości logiczne
D. wartości nieliczbowe
W języku PHP zmienne typu float są używane do reprezentowania liczb zmiennoprzecinkowych, co oznacza, że mogą przechowywać zarówno wartości całkowite, jak i wartości z częścią ułamkową. Typ float w PHP jest szczególnie przydatny w sytuacjach, gdzie precyzyjne obliczenia są niezbędne, na przykład w aplikacjach finansowych, gdzie obliczenia z użyciem pieniędzy wymagają uwzględnienia centów. W praktyce, operacje na zmiennych typu float mogą obejmować dodawanie, odejmowanie, mnożenie oraz dzielenie. Warto również zauważyć, że PHP obsługuje zarówno liczby w formacie dziesiętnym, jak i w notacji naukowej. Dobrą praktyką jest używanie funkcji takich jak round() do zaokrąglania wyników obliczeń zmiennoprzecinkowych, aby uniknąć problemów z precyzją, które mogą występować w wyniku ograniczeń reprezentacji liczb zmiennoprzecinkowych w pamięci komputera. W dokumentacji PHP, typ float jest jasno zdefiniowany jako liczba zmiennoprzecinkowa, co podkreśla jego kluczową rolę w różnych zastosowaniach programistycznych. Zrozumienie tego typu zmiennych jest fundamentem dla efektywnego programowania w PHP.

Pytanie 13

Zdefiniowana instrukcja warunkowa w języku JavaScript jest prawdziwa dla zmiennej x mającej wartość

Ilustracja do pytania
A. 3
B. -4
C. -1
D. 2
W danym przykładzie mamy do czynienia z instrukcją warunkową w języku JavaScript, która sprawdza, czy zmienna x spełnia jedno z dwóch warunków: x jest mniejsze od -5 lub x jest większe od 2. Operator logiczny OR (||) oznacza, że wystarczy spełnienie jednego z tych warunków, aby kod wewnętrzny został wykonany. Dla wartości x równej 3, warunek (x > 2) jest spełniony, ponieważ 3 jest większe od 2. W rezultacie instrukcja x++ zostanie wykonana, co oznacza inkrementację zmiennej x, czyli zwiększenie jej wartości o 1. Jest to przykład typowego zastosowania operatorów logicznych w programowaniu do kontroli przepływu programu. W praktyce umiejętność stosowania takich instrukcji jest kluczowa w tworzeniu kodu zdolnego do dynamicznej reakcji na różne warunki wejściowe. Ponadto, użycie operatora inkrementacji jest zgodne z najlepszymi praktykami w optymalizacji kodu, gdyż jest to szybki i efektywny sposób na modyfikację wartości liczbowych.

Pytanie 14

W języku HTML stworzono odnośnik z symbolem #. Co się wydarzy po kliknięciu na podany link?<p style="text-align: center;"><span>&lt;a href="#dane"&gt;</span></p>

A. Uruchomi się skrypt o nazwie dane
B. Zostanie użyty względny adres URL o nazwie dane
C. Otworzy się nowa karta przeglądarki zatytułowana dane
D. Strona przewinie się do elementu z id o nazwie dane
Pierwsza z niepoprawnych odpowiedzi sugeruje, że po kliknięciu w odsyłacz zostanie wywołany skrypt o nazwie 'dane'. To podejście jest nieprawidłowe, ponieważ odsyłacz w HTML ze znakiem # nie wywołuje żadnych skryptów. Hiperłącza z # są używane wyłącznie do nawigacji po stronie i nie mają związku z uruchamianiem skryptów. Druga odpowiedź wskazuje, że otworzy się osobna karta przeglądarki o nazwie 'dane', co również jest błędne. Hiperłącza zaczynające się od # nie prowadzą do nowych kart ani okien; zamiast tego zmieniają lokalizację w bieżącej karcie przeglądarki. Kolejna z niepoprawnych koncepcji sugeruje, że zostanie wybrany adres względny URL o nazwie 'dane'. Jednakże wykorzystanie # odnosi się do lokalizacji na tej samej stronie, a nie do adresów względnych. Warto zrozumieć, że adresy względne są używane do nawigacji pomiędzy różnymi stronami, a nie do lokalizacji na tej samej stronie. Typowym błędem myślowym w takich przypadkach jest mylenie funkcji hiperłączy z różnymi innymi mechanizmami, takimi jak skrypty, nowe karty czy adresy względne. Zrozumienie tych różnic jest kluczowe dla skutecznego projektowania stron internetowych oraz optymalizacji ich nawigacji.

Pytanie 15

Aby dostosować dźwięk do określonego poziomu głośności, należy zastosować efekt

A. podbicia basów
B. normalizacji
C. usuwania szumów
D. wyciszenia
Wyciszenie, jako efekt audio, ma na celu redukcję głośności sygnału do zera lub do wartości znacznie niższej niż oryginalna. Użycie wyciszenia do dopasowania dźwięku do poziomu głośności jest błędne, ponieważ nie zachowuje ono dynamiki nagrania i może prowadzić do utraty ważnych szczegółów w dźwięku. Z kolei podbicie basów jest techniką, która zwiększa poziom niskich częstotliwości, co może powodować, że dźwięk w całości staje się zbyt głośny, a niekoniecznie dopasowany do pożądanego poziomu głośności. Usuwanie szumów koncentruje się na redukcji niepożądanych dźwięków tła, co nie wpływa bezpośrednio na ogólny poziom głośności nagrania. Często myśląc o dźwięku, użytkownicy mylą działania mające na celu poprawę jakości audio z tymi, które służą do dostosowania głośności. Ważne jest zrozumienie, że dopasowanie poziomu głośności wymaga złożonego przetwarzania sygnału, które uwzględnia nie tylko maksymalne poziomy, ale także percepcję głośności przez ludzki słuch, co jest kluczowe w profesjonalnej obróbce audio.

Pytanie 16

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć zapisu

A. p {text-indent: 30px;}
B. p {text-spacing: 30px;}
C. p {line-height: 30px;}
D. p {line-indent: 30px;}
Pierwsza z odpowiedzi, p {line-height: 30px;}, odnosi się do interlinii, czyli przestrzeni między poszczególnymi liniami tekstu. Ustawienie line-height na 30 pikseli wpłynie na odległość między liniami, ale nie wprowadzi wcięcia, co jest kluczowe w przypadku tego pytania. Użytkownicy często mylą te właściwości, co prowadzi do nieporozumień w zakresie formatowania tekstu. Druga odpowiedź, p {text-spacing: 30px;}, jest błędna, ponieważ text-spacing nie jest standardową właściwością CSS. CSS nie definiuje takiej właściwości, co może prowadzić do frustracji podczas pracy nad stylizacją dokumentów. W przypadku trzeciej odpowiedzi, p {line-indent: 30px;}, również nie jest to poprawne podejście, gdyż line-indent nie jest uznawane za standardową właściwość CSS, więc jego zastosowanie nie przyniesie oczekiwanych efektów. Typowym błędem jest zakładanie, że każda właściwość związana z tekstem może być zastosowana w podobny sposób, co prowadzi do niepoprawnych wyników. Kluczowe jest zrozumienie różnicy między właściwościami, takimi jak line-height, text-indent i inne, aby skutecznie stylizować tekst na stronach internetowych.

Pytanie 17

Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające wykonywanie działań na bazie danych, są związane z tematyką zarządzania kontami, użytkownikami oraz ich uprawnieniami?

A. Z właściwościami
B. Z przywilejami systemowymi
C. Z zasadami
D. Z przywilejami obiektowymi
Zarządzanie dostępem do baz danych często opiera się na kilku koncepcjach, które jednak nie są właściwymi odpowiedziami na postawione pytanie. Reguły, jako mechanizmy kontroli dostępu, mogą definiować warunki, które muszą być spełnione, aby użytkownik mógł uzyskać dostęp do danych, jednakże same w sobie nie są odpowiednie do opisywania systemowego nadawania uprawnień. Reguły mogą być stosowane w kontekście bardziej skomplikowanych polityk bezpieczeństwa, ale nie są bezpośrednio związane z przywilejami systemowymi. Atrybuty, z drugiej strony, odnoszą się do cech lub właściwości obiektów w bazie danych, takie jak typ danych, długość czy wartość, ale nie mają one wpływu na systemowe zarządzanie uprawnieniami. W kontekście zabezpieczeń atrybuty mogą być używane w modelach opartych na atrybutach, ale nie są one kluczowe w kontekście przydzielania przywilejów. Przywileje obiektowe to zbiór uprawnień przypisanych do konkretnych obiektów, takich jak tabele czy widoki, które pozwalają użytkownikom na wykonywanie określonych operacji, jak SELECT, INSERT, UPDATE czy DELETE. Chociaż są one istotnym elementem ochrony danych, to jednak nie obejmują one szerszego zarządzania kontami i użytkownikami, które obejmuje również przywileje systemowe. W związku z tym, odpowiedzi te nie dostarczają pełnego obrazu mechanizmów zabezpieczeń stosowanych w zarządzaniu bazami danych.

Pytanie 18

Grafik pragnie przekształcić obraz JPG na format PNG bez utraty jakości, tak aby wszędzie tam, gdzie w oryginalnym obrazie występuje kolor biały, w docelowej wersji była przezroczystość. W tym celu powinien

A. dodać kanał alfa
B. przekształcić obraz w odcienie szarości
C. obniżyć rozdzielczość obrazu
D. zaimportować obraz do edytora grafiki wektorowej
Dodanie kanału alfa do obrazu jest kluczowym krokiem, aby przekształcić JPEG w PNG z zachowaniem przezroczystości. Format PNG obsługuje kanał alfa, który może przechowywać informacje o przezroczystości każdego piksela, co oznacza, że można zdefiniować, które części obrazu są w pełni widoczne, a które są całkowicie przezroczyste. W praktyce, po dodaniu kanału alfa, można użyć narzędzi edycyjnych, aby ustawić białe obszary na przezroczyste. Na przykład w programie GIMP lub Adobe Photoshop, można użyć narzędzia 'Magiczne różdżka' do zaznaczenia białego tła, a następnie usunąć je, co zamieni białe piksele na przezroczystość. Istotne jest, aby pamiętać, że JPEG nie wspiera przezroczystości, dlatego przekształcenie do formatu PNG jest niezbędne. Dobrą praktyką jest zawsze pracować na kopii oryginalnego obrazu, aby móc wrócić do źródłowego pliku, jeśli zajdzie taka potrzeba.

Pytanie 19

Jakie zadanie realizuje funkcja napisana w języku JavaScript?

Ilustracja do pytania
A. zwrócenie parzystych wartości liczb od a do b
B. wypisanie wszystkich liczb w zakresie od a do b
C. sprawdzenie, czy liczba a jest liczbą nieparzystą; jeśli tak, to jej wypisanie
D. wypisanie liczb parzystych w przedziale od a do b
Analiza niepoprawnych odpowiedzi wymaga zrozumienia, dlaczego poszczególne opcje nie pasują do działania funkcji fun1. W pierwszym przypadku, opcja dotycząca sprawdzania, czy liczba a jest nieparzysta i jej wypisywania, nie jest zgodna z logiką funkcji. Chociaż funkcja sprawdza, czy a jest nieparzysta, to nie wypisuje jej, lecz zmienia ją na parzystą, co wskazuje, że jej celem nie jest wypisywanie liczby a, ale przygotowanie jej do dalszej iteracji. Wypisanie wszystkich liczb z przedziału od a do b również nie jest prawidłowe, ponieważ funkcja nie iteruje po wszystkich liczbach, lecz wyłącznie po liczbach parzystych. Warto zauważyć, że funkcja pomija wszystkie liczby nieparzyste, co wyklucza tę opcję. Kolejna możliwa odpowiedź sugeruje zwracanie wartości parzystych liczb od a do b, jednak funkcja nie wykorzystuje żadnej procedury zwracania wartości, a jej konstrukcja wskazuje na bezpośrednie wypisywanie wyników, co wyklucza tę możliwość. Typowy błąd myślowy to niepoprawne rozumienie działania pętli for oraz operacji wypisywania danych w kontekście przeglądarki internetowej, co jest istotne z punktu widzenia dynamicznych aplikacji webowych. Zrozumienie, jak działa operator modulo i jego rola w wyznaczaniu parzystości liczb, jest kluczowe dla poprawnego interpretowania takich fragmentów kodu. Wskazane jest również, aby programiści byli świadomi różnicy między wypisywaniem a zwracaniem wyników, co często prowadzi do nieporozumień w kontekście funkcji i metod w JavaScript i innych językach programowania.

Pytanie 20

Funkcja agregująca MIN w SQL ma na celu obliczenie

A. długości tekstu w rekordach zwróconych przez kwerendę
B. średniej wartości różnych pól w rekordzie zwróconym przez zapytanie
C. liczby wierszy, które zostały zwrócone przez kwerendę
D. wartości najmniejszej w kolumnie wynikowej kwerendy
Funkcja agregująca MIN w języku SQL służy do obliczania wartości minimalnej w kolumnie zwróconej przez kwerendę. Działa ona na zbiorze rekordów i zwraca najmniejszą wartość spośród wartości znalezionych w specyfikowanej kolumnie. Przykładowo, jeśli w naszej bazie danych mamy tabelę 'Pracownicy' z kolumną 'Wynagrodzenie', zapytanie SQL 'SELECT MIN(Wynagrodzenie) FROM Pracownicy;' zwróci najniższe wynagrodzenie wśród wszystkich pracowników. Funkcja ta jest niezwykle przydatna w analizie danych, gdzie często chcemy zidentyfikować najniższe wartości, na przykład w raportach finansowych czy w analizach jakości danych. Dobrze jest też pamiętać, że MIN może być używana w połączeniu z klauzulą GROUP BY, co pozwala na uzyskanie minimalnych wartości w podgrupach danych, co jest standardem w analityce danych w SQL.

Pytanie 21

W HTML-u, aby umieścić animację FLASH w formacie .swf na stronie internetowej, należy skorzystać ze znacznika

A. <audio>
B. <img>
C. <video>
D. <object>
Wybór innych znaczników, takich jak <img>, <audio> i <video>, jest niepoprawny w kontekście osadzania animacji FLASH. Znacznik <img> jest przeznaczony wyłącznie do wyświetlania obrazów i nie obsługuje plików .swf, co oznacza, że nie może wyświetlić animacji ani interakcji. Podobnie, <audio> jest dedykowany do obsługi dźwięku i nie ma możliwości wyświetlania animacji czy jakichkolwiek innych mediów wizualnych. Jego funkcjonalność ogranicza się do plików audio, a więc nie ma zastosowania w kontekście animacji FLASH. Z kolei <video> jest przeznaczony do osadzania filmów, ale również nie obsługuje formatu .swf, który jest specyficzny dla technologii FLASH. Wspierane typy mediów dla <video> ograniczają się do standardowych formatów, takich jak MP4, WebM czy Ogg. W związku z tym, wybierając te znaczniki, nie można osiągnąć zamierzonego celu, jakim jest poprawne wyświetlenie animacji FLASH na stronie, co sprawia, że <object> pozostaje jedynym słusznym rozwiązaniem w tym przypadku.

Pytanie 22

Zamieszczony kod w języku PHP

Ilustracja do pytania
A. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite
B. określa tablicę z sześcioma wartościami
C. jest niepoprawny, nieznany operator =>
D. definiuje tablicę z trzema wartościami
W przedstawionym kodzie PHP definiowana jest tablica asocjacyjna. Jest to typ tablicy, która pozwala na użycie łańcuchów znaków jako kluczy, nie ograniczając się jedynie do liczb całkowitych. Twierdzenie, że operator '=>' jest nieznany, jest błędne. Operator ten jest kluczowym elementem składni PHP, używanym do przypisywania wartości do kluczy w tablicach asocjacyjnych. Ponadto twierdzenie, że indeksy tablicy mogą być tylko liczbami całkowitymi, nie jest prawdziwe dla tablic asocjacyjnych, które są powszechnie używane w PHP do tworzenia bardziej czytelnych i zorganizowanych struktur danych. Tego typu tablice są przydatne wszędzie tam, gdzie dane mają bardziej strukturalny charakter, jak w przypadku danych użytkowników. Pogląd, że tablica definiuje sześć wartości, jest błędny, ponieważ każda para klucz-wartość stanowi pojedynczą jednostkę w tablicy, a nie oddzielne elementy. Częstym błędem jest myślenie o każdej wartości w tablicy jako osobnym elemencie, pomijając fakt, że klucz i wartość tworzą integralną parę. W praktycznym zastosowaniu znajomość i właściwe wykorzystanie tablic asocjacyjnych w PHP znacząco poprawia efektywność pisania i zarządzania kodem oraz jego zrozumienie przez innych programistów.

Pytanie 23

Jakie wyrażenie powinno zostać umieszczone w miejscu ??? w pętli napisanej w języku C++, aby były wyświetlane tylko elementy tablicy tab?

A. i > 6
B. i < 6
C. i >= 6
D. i <= 6
Odpowiedź 'i >= 6' jest błędna, bo prowadzi do tego, że pętla opuści wszystkie elementy tablicy. Gdy i osiągnie 6 lub więcej, pętla staje, więc nic się nie wyświetli, bo przecież indeksy zaczynają się od 0, a kończą na 5. To jest typowy błąd, który wynika z nie do końca zrozumienia, jak działają tablice w C++. Z kolei 'i <= 6' też nie jest ok, bo wtedy pętla zakończy się po wyświetleniu elementu z indeksem 6, co prowadzi do niezdefiniowanego zachowania – a to nie jest fajne, bo nie ma takiego elementu w tablicy z sześcioma elementami. Odpowiedź 'i > 6' też jest źle, bo nie wykona żadnej iteracji, znowu pomijając całą tablicę. Ważne jest, żeby pamiętać, że indeksy tablic zaczynają się od 0, a ostatni indeks przy rozmiarze n wynosi n-1. Stosowanie złych warunków w pętlach może prowadzić do sporych problemów z pamięcią, więc trzeba uważać i pisać warunki, które dobrze pokazują rzeczywisty rozmiar tablicy.

Pytanie 24

Który z poniższych kodów HTML odpowiada opisanej tabeli? (W celu uproszczenia zrezygnowano z zapisu stylu obramowania tabeli oraz komórek)

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź C
C. Odpowiedź B
D. Odpowiedź A
Odpowiedź B jest prawidłowa, ponieważ wykorzystuje atrybut rowspan do połączenia dwóch wierszy w jednej kolumnie tabeli. HTML zapewnia atrybuty rowspan i colspan, które umożliwiają połączenie wielu komórek tabeli w jedną, co jest niezbędne w sytuacjach, gdy dane muszą być przedstawione w sposób bardziej przejrzysty i zwarty. W przedstawionej tabeli labelka Telefon jest wspólna dla dwóch numerów, co skutkuje koniecznością użycia rowspan=2 w komórce, która łączy dwa wiersze. Ta konstrukcja jest zgodna z dobrymi praktykami tworzenia semantycznie poprawnych i wizualnie uporządkowanych tabel w dokumentach HTML. Zastosowanie atrybutu rowspan może poprawić czytelność tabel, co jest szczególnie przydatne przy prezentacji złożonych danych w aplikacjach biznesowych czy raportach. Użycie tego podejścia pozwala na bardziej efektywne wykorzystanie przestrzeni w tabeli i jest zgodne ze standardami W3C, które promują semantykę i dostępność w sieci.

Pytanie 25

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123<br> <pre>CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"; </pre>

A. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`
B. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"
C. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`
D. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123'
Użycie nieprawidłowych składni w zapytaniach SQL może prowadzić do nieporozumień i błędów w konfiguracji użytkowników. W przypadku podanych błędnych odpowiedzi, brak użycia frazy 'IDENTIFIED BY' z odpowiednio umieszczonym hasłem w pojedynczych cudzysłowach jest kluczowym błędem. Na przykład, w jednym z przypadków zastosowano słowo 'IDENTIFY', które jest niepoprawne i nie jest częścią składni SQL dla tworzenia użytkowników. Różnice w użyciu pojedynczych cudzysłowów i backticks również mają znaczenie; backticks są używane do oznaczania nazw obiektów w SQL, podczas gdy hasła powinny być otoczone pojedynczymi cudzysłowami. Ponadto, znaki takie jak ` zaq123` w niektórych odpowiedziach sugerują mylne zrozumienie zasad definiowania danych tekstowych w SQL. Niepoprawne podejście do tworzenia użytkowników może skutkować problemami w zakresie bezpieczeństwa, ponieważ niewłaściwie skonfigurowani użytkownicy mogą uzyskiwać nieautoryzowany dostęp do systemów. Właściwe zrozumienie składni SQL oraz terminologii jest kluczowe do skutecznego zarządzania bazami danych i zapewnienia odpowiedniego poziomu ochrony informacji.

Pytanie 26

Która z list jest interpretacją pokazanego kodu?

Ilustracja do pytania
A. Odpowiedź C
B. Odpowiedź A
C. Odpowiedź B
D. Odpowiedź D
Odpowiedź C jest prawidłowa, ponieważ odpowiada strukturze listy zagnieżdżonej w HTML. W kodzie źródłowym użyto listy uporządkowanej <ol>, co oznacza, że elementy listy będą numerowane. Każdy element <li> w tej liście może zawierać dodatkowe listy nieuporządkowane <ul>, które są oznaczane jako lista punktowana. W przypadku kodu przedstawionego na rysunku mamy dwie główne pozycje 'muzyka' i 'filmy' zawarte w liście uporządkowanej, stąd 1. muzyka i 2. filmy. Pod pozycjami 'muzyka' i 'filmy' znajdują się listy zagnieżdżone nieuporządkowane, zawierające wpisy 'Wpis1', 'Wpis2', 'Wpis3' i 'Wpis4'. Dobre praktyki w projektowaniu stron sugerują użycie list zagnieżdżonych do klarownego przedstawienia hierarchii informacji. Wykorzystanie list uporządkowanych i nieuporządkowanych jest standardem w semantycznym HTML, co wpływa na dostępność stron internetowych oraz ich zgodność z różnymi urządzeniami i technologiami wspomagającymi. Taka struktura ułatwia również nawigację wśród treści dla użytkowników i algorytmów indeksujących wyszukiwarek internetowych.

Pytanie 27

Zgodnie z zasadami ACID dotyczącymi przeprowadzania transakcji wymóg izolacji (ang. <i>isolation</i>) wskazuje, że

A. w sytuacji konfliktu z inną transakcją obie zmieniają te same dane równocześnie
B. po zrealizowaniu transakcji system bazy danych będzie zgodny
C. pod określonymi warunkami dane modyfikowane przez transakcję mogą być cofnięte
D. gdy dwie transakcje działają równocześnie, to zazwyczaj nie dostrzegają zmian wprowadzanych przez siebie
Izolacja w kontekście transakcji baz danych odnosi się do sposobu, w jaki transakcje współdziałają i oddziałują na siebie, a jej zrozumienie jest niezbędne do uniknięcia wielu pułapek związanych z równoległym przetwarzaniem danych. Pierwsza z niepoprawnych odpowiedzi sugeruje, że pod pewnymi warunkami dane zmieniane przez transakcję mogą zostać wycofane. Chociaż wycofywanie transakcji (ang. rollback) jest ważną funkcją zapewniającą integralność danych, nie jest to bezpośrednio związane z izolacją. Izolacja skupia się na interakcji pomiędzy równoległymi transakcjami, a nie na tym, co się dzieje w przypadku ich wycofania. Kolejny błąd wynika z odpowiedzi, która twierdzi, że w przypadku konfliktu z inną transakcją obie modyfikują te same dane w tym samym czasie. Takie podejście jest sprzeczne z zasadą izolacji, ponieważ transakcje powinny być w stanie współistnieć bez wzajemnego wpływania na siebie. Ostatnia niepoprawna odpowiedź, mówiąca o spójności systemu po wykonaniu transakcji, odnosi się do właściwości konsystencji ACID, która jednak nie jest tożsama z izolacją. W praktyce, niezrozumienie izolacji i jej skutków może prowadzić do wystąpienia problemów takich jak zjawisko phantom reads, lost updates czy dirty reads, co w konsekwencji obniża jakość danych przetwarzanych przez aplikacje oraz może prowadzić do błędów w logice biznesowej. Kluczowe jest zrozumienie, że izolacja jest fundamentem dla poprawnego działania aplikacji bazodanowych w środowiskach, w których zachodzi równoległe przetwarzanie danych.

Pytanie 28

Aby zdefiniować pole w klasie, do którego dostęp mają wyłącznie metody tej klasy, a które nie jest dostępne dla klas dziedziczących, powinno się zastosować kwalifikator dostępu

A. opublikowany.
B. chroniony.
C. prywatny.
D. publiczny.
Kwalifikator dostępu 'private' jest używany w programowaniu obiektowym do deklarowania pól klasy, które są dostępne wyłącznie w obrębie tej klasy. Oznacza to, że żadne inne klasy, w tym klasy pochodne, nie mają dostępu do tych pól, co sprzyja enkapsulacji, jednej z fundamentalnych zasad programowania obiektowego. Enkapsulacja pozwala na ochronę danych i logiki wewnętrznej obiektu, co zmniejsza ryzyko wystąpienia błędów oraz zwiększa bezpieczeństwo aplikacji. Przykładowo, gdy w klasie 'Samochod' mamy pole 'prędkość', które powinno być modyfikowane jedynie przez metody klasy 'Samochod', zadeklarowanie go jako 'private' uniemożliwia dostęp do tego pola z zewnątrz. Dobre praktyki sugerują unikanie dostępu do pól klasy bezpośrednio, a zamiast tego korzystanie z metod dostępowych (getterów i setterów), co pozwala na wprowadzenie dodatkowych reguł walidacyjnych. W ten sposób zapewniamy większą kontrolę nad tym, jak dane są używane i zmieniane w aplikacji.

Pytanie 29

Skrypt PHP wyświetla aktualny czas w formacie godzina:minuta:sekunda, na przykład 15:38:20. Czas w tym formacie zostanie uzyskany dzięki funkcji

A. date("G:m:s");
B. time("H:i:s");
C. time("G:m:s");
D. date("H:i:s");
Wybór time("H:i:s") jako metody zwracającej aktualny czas w pożądanym formacie jest błędny, ponieważ funkcja time() nie formatuje daty ani czasu. Zamiast tego, time() zwraca czas w postaci znacznika czasu (timestamp) – liczby sekund, które upłynęły od 1 stycznia 1970 roku, co jest znane jako Unix Epoch. Dlatego wywołanie time("H:i:s") nie zadziała, ponieważ ta funkcja nie akceptuje parametrów formatujących. Kolejną nieprawidłową odpowiedzią jest date("G:m:s"). Chociaż funkcja date() jest stosowana do formatowania czasu, pole 'G' zwraca godziny w 24-godzinnym formacie, ale bez wiodących zer (tak jak 'H'), co może prowadzić do niepoprawnego wyświetlania godzin mniejszych niż 10. Dodatkowo, 'm' odnosi się do miesięcy, a nie minut, co czyni to podejście błędnym we wszystkich aspektach. Wreszcie, w odpowiedzi time("G:m:s") ponownie pojawia się problem ze zrozumieniem funkcji time(), która nie jest używana do formatowania czasu, a zamiast tego służy tylko do uzyskania znacznika czasu. Typowe błędy myślowe związane z tymi odpowiedziami obejmują mylenie funkcji do pozyskiwania danych z funkcjami do ich formatowania oraz niepełne zrozumienie składni i możliwości dostępnych funkcji PHP. Rekomenduje się zawsze dokładne zapoznanie się z dokumentacją PHP oraz praktyczne testowanie funkcji w różnych scenariuszach, aby lepiej zrozumieć ich zastosowanie i ograniczenia.

Pytanie 30

Ogólne tablice służące do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION są elementem języka

A. Perl
B. PHP
C. C#
D. JavaScript
Odpowiedź PHP jest poprawna, ponieważ $_COOKIE i $_SESSION to superglobalne tablice, które są integralną częścią języka PHP. Umożliwiają one przechowywanie i zarządzanie danymi sesji oraz informacjami o ciasteczkach. $_COOKIE służy do odczytywania i zapisywania danych, które są przechowywane w urządzeniu użytkownika w postaci ciasteczek. Z kolei $_SESSION pozwala na przechowywanie danych sesyjnych na serwerze, co jest kluczowe dla utrzymania stanu użytkownika podczas przeglądania strony. Dzięki temu, programiści mogą tworzyć aplikacje webowe, które identyfikują użytkowników, zachowują ich preferencje oraz dane logowania, co poprawia doświadczenia użytkownika. Praktycznym zastosowaniem tych tablic jest na przykład realizacja systemów logowania, gdzie dane o użytkownikach są przechowywane w sesji, a ciasteczka mogą być używane do zapamiętywania ich preferencji na przyszłość. Często stosowanym standardem w branży jest dbanie o bezpieczeństwo danych sesyjnych, co można osiągnąć poprzez odpowiednie zarządzanie czasem życia sesji oraz używanie bezpiecznych ciasteczek.

Pytanie 31

W języku CSS zdefiniowano styl dla elementu h1 zgodnie z podanym przykładem. Zakładając, że nie dodano innych stylów do elementu h1, wskaż, w jaki sposób ten element będzie sformatowany?

A. Rozdział pierwszy. Język HTML wprowadzenie i najważniejsze cechy
B. Rozdział pierwszy. Język HTML wprowadzenie i najważniejsze cechy
C. Rozdział pierwszy. Język HTML wprowadzenie i najważniejsze cechy
D. Rozdział pierwszy. Język HTML wprowadzenie i najważniejsze cechy
Wszystkie podane odpowiedzi są błędne, ponieważ nie odzwierciedlają one właściwego wykorzystania stylizacji dla znacznika h1 zgodnie z przedstawionym kodem CSS. Po pierwsze, ważne jest zrozumienie, że każda z tych odpowiedzi powinna być zgodna z określonymi właściwościami CSS. W przypadku zastosowania 'font-style: oblique;', nie można oczekiwać, że tekst pozostanie w standardowym, prostym stylu. Odpowiedzi podają powtarzający się tekst, który nie jest związany z obliczonym formatowaniem. Po drugie, 'font-variant: small-caps;' nadaje tekstowi unikalny charakter, co znacznie różni się od normalnego zapisu. Odpowiedzi, które jedynie powtarzają fragmenty tekstu, nie odzwierciedlają użycia małych kapitałków, co czyni je niepoprawnymi. Po trzecie, 'text-align: right;' wyraźnie definiuje położenie tekstu w kontekście całej strony. W przypadku tych odpowiedzi brak jest zrozumienia, że wyrównanie tekstu do prawej krawędzi wprowadza dodatkowe zmiany w układzie, co powinno być uwzględnione w odpowiedziach. W efekcie, każda z tych odpowiedzi nie odnosi się do rzeczywistych efektów stylizacji zastosowanych w kodzie CSS, co czyni je nieadekwatnymi.

Pytanie 32

Aplikacja o nazwie FileZilla umożliwia

A. przeprowadzanie testów aplikacji
B. publikację strony internetowej na zdalnym serwerze
C. sprawdzanie poprawności plików HTML i CSS
D. importowanie bazy danych do systemu CMS Joomla!
FileZilla to popularny klient FTP (File Transfer Protocol), który umożliwia użytkownikom przesyłanie plików pomiędzy lokalnym komputerem a zdalnym serwerem. Głównym celem korzystania z FileZilla jest publikacja stron internetowych, co polega na załadowaniu plików HTML, CSS, obrazków oraz innych zasobów na serwer, gdzie strona będzie dostępna dla użytkowników w Internecie. Dzięki intuicyjnemu interfejsowi, użytkownicy mogą łatwo przeciągać i upuszczać pliki, co przyspiesza proces publikacji. FileZilla obsługuje różne protokoły, w tym FTP, FTPS oraz SFTP, co zapewnia bezpieczeństwo podczas transferu danych. Dobrą praktyką jest regularne aktualizowanie programu, aby korzystać z najnowszych funkcji i poprawek bezpieczeństwa. W kontekście publikacji stron internetowych, FileZilla stanowi kluczowe narzędzie dla web developerów, umożliwiając im szybkie i efektywne zarządzanie plikami na serwerach zdalnych. Używanie FileZilla wspiera standardy branżowe, takie jak bezpieczeństwo transferu danych oraz zdalne zarządzanie plikami, co jest niezbędne w profesjonalnym rozwoju stron internetowych.

Pytanie 33

Jaką wartość w formacie heksadecymalnym będzie miała barwa określona kodem rgb(255, 10, 22)?

A. #FF0A16
B. #2551022
C. #251022
D. #FF1016
Odpowiedź #FF0A16 jest poprawna, ponieważ kod RGB (255, 10, 22) jest konwertowany na format heksadecymalny, gdzie każdy z trzech kanałów (czerwony, zielony, niebieski) jest przedstawiany przez dwie cyfry szesnastkowe. W kodzie RGB wartość 255 dla kanału czerwonego odpowiada szesnastkowej wartości FF, wartość 10 dla kanału zielonego odpowiada wartości 0A, a wartość 22 dla kanału niebieskiego odpowiada wartości 16. Łącząc te wartości, otrzymujemy #FF0A16. Praktyczne zastosowania kodów kolorów w formacie heksadecymalnym są powszechne w projektowaniu stron internetowych oraz grafice komputerowej, gdzie umożliwiają precyzyjne definiowanie kolorów. Warto również pamiętać, że standard W3C zaleca używanie formatu heksadecymalnego w CSS, co czyni go bardziej efektywnym dla deweloperów. Ponadto, znajomość konwersji kolorów RGB na heksadecymalny jest kluczowa dla każdego, kto zajmuje się designem i programowaniem wizualnych interfejsów użytkownika.

Pytanie 34

W języku CSS istnieje możliwość wstawienia stylów wewnątrz dokumentu HTML, używając znacznika

A. <body>
B. <style>
C. <meta>
D. <head>
Element <style> umożliwia osadzenie stylów CSS bezpośrednio w dokumencie HTML. Jest on umieszczany w sekcji <head> strony, co pozwala na łatwe zarządzanie wyglądem strony bez potrzeby korzystania z zewnętrznych plików CSS. Przykładowo, aby ustawić kolor tła i czcionki dla całej strony, można użyć następującego kodu:<style>body { background-color: lightblue; color: darkblue; }</style>. W ten sposób można szybko zmieniać styl elementów, co jest szczególnie przydatne w prototypowaniu i tworzeniu małych projektów, gdzie nie jest konieczne segregowanie stylów w osobnych plikach. Z punktu widzenia standardów W3C, umieszczanie CSS w sekcji <style> jest zgodne z dobrymi praktykami, zwłaszcza w kontekście wydajności ładowania strony. Należy jednak pamiętać, że dla większych projektów zaleca się korzystanie z zewnętrznych plików CSS, co umożliwia lepszą organizację kodu oraz ponowne użycie stylów w różnych stronach.

Pytanie 35

Fragment kodu w PHP przedstawia się następująco (patrz ramka): Przy założeniu, że zmienna tablicowa $tab zawiera liczby naturalne, wynik działania programu polega na wypisaniu

Ilustracja do pytania
A. największego elementu w tablicy
B. elementu tablicy równemu wartości $tab[0]
C. tych elementów, które przewyższają wartość zmiennej $liczba
D. najmniejszego elementu w tablicy
Zobaczmy teraz, co poszło nie tak z innymi odpowiedziami. W przypadku tej, co miała znaleźć najmniejszy element, to kod nie jest w stanie tego zrobić, ponieważ warunek if sprawdza, czy element jest większy, a powinien być mniejszy, żeby szukać minimum. Jakby zmienić na if ($element < $liczba), to byłoby ok. W innej odpowiedzi twierdzono, że program znajdzie element równy $tab[0], ale w kodzie nie ma żadnego porównania z tym pierwszym elementem, poza tym, że przypisujemy go do $liczba na początku. Brak tam dodatkowej logiki, żeby to ogarnąć. A w ostatniej odpowiedzi pisano o wypisywaniu elementów większych od $liczba, ale kod nie działa w ten sposób, bo nie ma tam nic, co by pozwalało na wypisywanie więcej niż jednego elementu. Program jedynie aktualizuje $liczba, żeby znaleźć największą wartość. Często takie pomyłki biorą się z braku zrozumienia, jak działa iteracja i porównania w programowaniu, gdzie trzeba dobrze rozumieć, jakie warunki i operacje są potrzebne.

Pytanie 36

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. nieokreślonym (undefined)
B. liczbowym
C. logicznym
D. string (ciąg znaków)
W kontekście deklaracji var x="true"; niepoprawne odpowiedzi opierają się na nieporozumieniu dotyczącym typów danych w JavaScript. Zmienna logiczna, która jest jednym z typów boolean, przyjmuje jedynie dwie wartości: true lub false. Wartość "true" nie jest interpretowana jako wartość logiczna, ale jako tekst, co sprawia, że uznawanie jej za zmienną logiczną jest błędne. W JavaScript nie możemy przypisać stringa do typu boolean i oczekiwać, że uzyskamy wynik logiczny; w tej sytuacji wynik będzie zawsze tekstem. Kolejną niepoprawną odpowiedzią jest uznanie zmiennej za liczbową. Typ liczbowy w JavaScript odnosi się do wartości numerycznych, zarówno całkowitych jak i zmiennoprzecinkowych. Wartość "true" nie może być interpretowana jako liczba, ponieważ jest to ciąg znaków. Typ liczbowy wymaga, aby wartość była zapisana w formacie numerycznym, co w przypadku "true" nie ma miejsca. Ostatnią niepoprawną odpowiedzią jest stwierdzenie, że zmienna ma typ nieokreślony (undefined). W JavaScript typ undefined oznacza, że zmienna została zadeklarowana, ale nie przypisano jej żadnej wartości. W przypadku var x="true"; zmienna została zadeklarowana i przypisano jej wartość, więc nie można jej uznać za undefined. Dlatego wszystkie trzy niepoprawne odpowiedzi są wynikiem nieprawidłowego rozumienia typów danych oraz ich interpretacji w JavaScript.

Pytanie 37

Określ słowo kluczowe w języku C++, które umieszcza się przed wbudowanym typem danych, aby ograniczyć zakres do liczb wyłącznie nieujemnych.

A. const
B. unsigned
C. long
D. short
Wybranie innego słowa kluczowego zamiast 'unsigned' może świadczyć o tym, że nie do końca rozumiesz typy danych w C++. Na przykład 'long', 'const' czy 'short' nie mają nic wspólnego z tym, żeby ograniczać wartości do nieujemnych. 'Long' po prostu daje ci większy zakres liczb niż 'int', ale nie zmienia tego, że mogą być one ujemne. 'Short' z kolei zmniejsza zakres, co też nie ma związku z tym, czy liczby mogą być ujemne. A 'const' to zupełnie co innego, bo oznacza, że wartość zmiennej nie może się zmieniać po jej ustawieniu. Niektórzy programiści mylą te modyfikatory i przez to mogą się się pomylić w kodzie. Ważne jest, żeby dobrze ogarnąć, co te modyfikatory robią, żeby móc je skutecznie stosować. Używanie 'unsigned' tam, gdzie trzeba, zdecydowanie poprawia jakość kodu, co jest kluczowe w dzisiejszym programowaniu.

Pytanie 38

Kod JavaScript aktywowany przez kliknięcie przycisku ma na celu ```<img id="i1" src="obraz1.gif"> <button onclick="document.getElementById('i1').src='obraz2.gif'"> test</button>```

A. ukryć obraz2.gif
B. zamienić obraz1.gif na obraz2.gif
C. pokazać obraz2.gif obok obraz1.gif
D. zmienić styl obrazu o id i1
Wybór odpowiedzi, która sugeruje ukrycie obraz2.gif, jest niepoprawny, ponieważ kod nie ma na celu ukrywania żadnego obrazu, lecz zmienia źródło istniejącego elementu <img>. Ukrycie obrazu wymagałoby zastosowania stylów CSS lub manipulacji atrybutem 'style', co nie znajduje zastosowania w tym przypadku. Odpowiedź mówiąca o zmianie stylu obrazu o id i1 również jest błędna, ponieważ w opisie nie możemy zauważyć żadnej operacji związanej z modyfikacją stylów elementu, a jedynie z jego źródłem. Z kolei wyświetlenie obraz2.gif obok obraz1.gif sugerowałoby dodanie nowego elementu <img> do DOM, co jest sprzeczne z tym, co przedstawia kod. W tym przypadku operacja polega na bezpośredniej zamianie jednego źródła na drugie, co jest powszechnie stosowaną praktyką w programowaniu interakcji w JavaScript. Kluczową koncepcją, którą należy zrozumieć, jest to, że manipulacje DOM są często używane do wprowadzania zmian w przedstawieniu treści na stronie w odpowiedzi na działania użytkownika. Dlatego, przekonanie, że zmiany stylów lub dodanie nowych elementów są równoważne z operacją zamiany źródeł obrazów, prowadzi do mylnych wniosków, które mogą skutkować nieefektywnym lub błędnym kodowaniem w przyszłości.

Pytanie 39

Baza danych księgarni zawiera tabelę o nazwie książki, w której znajdują się: id, idAutor, tytul, ileSprzedanych oraz tabelę autorzy z polami: id, imie, nazwisko. Aby wygenerować raport dotyczący sprzedanych książek z tytułami i nazwiskami autorów, co należy zrobić?

A. zdefiniować relację 1..1 pomiędzy tabelami książki i autorzy, a następnie przygotować kwerendę łączącą obie tabele
B. przygotować dwie oddzielne kwerendy: pierwszą wyszukującą tytuły książek, drugą wyszukującą nazwiska autorów
C. zdefiniować relację 1..n pomiędzy tabelami książki i autorzy, a następnie przygotować kwerendę łączącą obie tabele
D. stworzyć kwerendę wyszukującą tytuły książek
Wybranie odpowiedzi, która mówi tylko o tym, żeby stworzyć kwerendę do wyszukiwania tytułów książek, to nie jest dobry pomysł, bo nie bierze pod uwagę związku między książkami a autorami. Bez połączenia tych dwóch rzeczy raport byłby niespójny i brakowałoby ważnych informacji o autorach. Co do odpowiedzi, która mówi o relacji 1..1 - to też nie jest to prawda, bo tak naprawdę w naszym przypadku autorzy mogą mieć kilka książek, więc relacja powinna być 1..n. W innym wypadku, mogłoby to wprowadzić w błąd. Dodatkowo, robienie dwóch oddzielnych kwerend to nie jest efektywne podejście, bo nie integruje danych, a to jest kluczowe, gdy chcemy mieć pełny obraz sytuacji. Łączenie danych w jednej kwerendzie za pomocą JOIN to standard w analizie baz danych i daje lepszą organizację oraz czytelność wyników.

Pytanie 40

Jaki styl CSS umożliwia ustawienie wyrównania tekstu do prawej strony?

A. <p style="text-align: right"> tekst </p>
B. <p style="positon: right"> tekst </p>
C. <p style="font: right"> tekst </p>
D. <p style="align: right"> tekst </p>
Odpowiedź <p style="text-align: right"> tekst </p> jest poprawna, ponieważ właściwość CSS 'text-align' jest standardowym sposobem definiowania wyrównania tekstu w elemencie blokowym, takim jak <p>. Używając 'text-align: right', tekst wewnątrz elementu <p> zostanie wyrównany do prawej strony, co jest szczególnie przydatne w przypadku projektów webowych, gdzie estetyka i układ treści mają kluczowe znaczenie. Dzięki CSS można z łatwością zmieniać wyrównanie tekstu w zależności od wymagań projektu, co pozwala na elastyczne dostosowywanie stylów do różnych urządzeń i rozmiarów ekranów. Warto również wspomnieć, że stosowanie CSS do stylizacji dokumentów HTML jest zgodne z zasadami kaskadowych arkuszy stylów, co zapewnia separację treści od prezentacji i ułatwia zarządzanie stylami w większych projektach. Dobrą praktyką jest stosowanie zewnętrznych lub wewnętrznych arkuszy stylów zamiast inline stylingu, co zwiększa czytelność kodu i ułatwia jego utrzymanie.