Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 11 maja 2026 09:01
  • Data zakończenia: 11 maja 2026 09:25

Egzamin zdany!

Wynik: 24/40 punktów (60,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

W języku SQL, aby wybrać wszystkie rekordy z tabeli B, w tym część wspólną z tabelą A, należy zastosować typ związku

Ilustracja do pytania
A. A LEFT JOIN B
B. A INNER JOIN B
C. A FULL OUTER JOIN B
D. A RIGHT JOIN B
W tym pytaniu pułapka polega na tym, że łatwo pomylić pojęcie części wspólnej z całością jednego ze zbiorów. Diagram pokazuje całą tabelę B (włącznie z przecięciem z A), a nie tylko przecięcie. W SQL typ złączenia określa, z której tabeli bierzemy wszystkie rekordy, a z której tylko te pasujące. To, że widzimy też obszar wspólny, jest naturalnym efektem działania złączeń zewnętrznych, ale nie oznacza jeszcze, że chodzi o `INNER JOIN`. Jeśli ktoś wybiera `A LEFT JOIN B`, to zwykle wynika z myślenia „chcę część wspólną i coś jeszcze”, ale myli kierunek. `LEFT JOIN` gwarantuje wszystkie rekordy z **lewej** tabeli (A), a z prawej (B) tylko dopasowane. Diagram z pytania pokazuje dokładnie odwrotną sytuację: komplet danych z B, a z A tylko tam, gdzie istnieje relacja. `A LEFT JOIN B` odpowiadałoby sytuacji, gdzie podświetlony jest cały zbiór A i przecięcie, a nie B. Z kolei `A INNER JOIN B` zwróciłby wyłącznie część wspólną A∩B, czyli tylko te rekordy, które mają dopasowanie po obu stronach. Na diagramie byłby wtedy zaznaczony wyłącznie środek, a nie cały zielony obszar B. To typowy błąd: utożsamianie każdego JOIN z „częścią wspólną”. INNER JOIN jest dobry, gdy interesują nas tylko powiązane dane (np. zamówienia, które mają istniejącego klienta), ale w zadaniu wyraźnie mowa o „wszystkich rekordach z B”. `A FULL OUTER JOIN B` idzie w drugą stronę – zwraca wszystko z A **i** wszystko z B, niezależnie od tego, czy jest dopasowanie, czy nie. To byłby diagram z zaznaczonymi obiema kółkami, czyli suma zbiorów A∪B. W standardzie SQL taki typ złączenia jest opisany jako pełne złączenie zewnętrzne i stosuje się go rzadziej, np. do porównywania różnic między dwiema tabelami. Tutaj jest to za szeroki zakres danych w stosunku do pytania. Poprawne podejście wymaga więc skojarzenia, że skoro chcemy wszystkie rekordy z tabeli B, to w zapisie `A ... JOIN B` tabela B musi być po tej stronie, która jest „obowiązkowa”. Właśnie to zapewnia `RIGHT JOIN`: pełny zestaw wierszy z prawej tabeli, plus dopasowania z lewej tam, gdzie istnieją. Świadome operowanie tymi pojęciami bardzo ułatwia projektowanie zapytań raportowych i unikanie nieoczekiwanych braków lub duplikacji danych.

Pytanie 2

W celu przyznania użytkownikowi w systemie MySQL możliwości nadawania i modyfikowania uprawnień innym użytkownikom, konieczne jest użycie klauzuli

A. GRANT OPTION
B. FLUSH PRIVILEGES
C. ALL PRIVILEGES
D. TRGGER
Aby w systemie MySQL nadać użytkownikowi prawo do nadawania i zmiany uprawnień innym użytkownikom, należy zastosować klauzulę GRANT OPTION. Ta klauzula jest istotnym elementem systemu zarządzania uprawnieniami, ponieważ umożliwia użytkownikowi, który posiada określone uprawnienia, dzielenie się nimi z innymi użytkownikami. Oznacza to, że użytkownik z GRANT OPTION ma prawo nie tylko do wykonania pewnych działań, ale także do przekazywania tych uprawnień innym, co jest kluczowe w zarządzaniu dużymi bazami danych, gdzie konieczne jest delegowanie zadań. Przykład użycia klauzuli GRANT OPTION może wyglądać następująco: 'GRANT SELECT, INSERT ON my_database.* TO 'user1'@'localhost' WITH GRANT OPTION;', co daje użytkownikowi 'user1' prawo do wykonywania operacji SELECT i INSERT oraz możliwość przekazywania tych uprawnień innym użytkownikom. Taki mechanizm jest fundamentalny dla utrzymania hierarchii uprawnień i bezpieczeństwa w bazach danych, co jest zgodne z najlepszymi praktykami w zarządzaniu dostępem do danych.

Pytanie 3

Jaką formę ma kolor przedstawiony w systemie szesnastkowym jako #11FE07 w formacie RGB?

A. rgb(11,127,7)
B. rgb(17,254,7)
C. rgb(17,FE,7)
D. rgb(17,255,7)
Wszystkie trzy niepoprawne odpowiedzi odzwierciedlają błędne konwersje wartości szesnastkowych na wartości dziesiętne w systemie RGB. Pierwsza z odpowiedzi sugeruje użycie rgb(17, FE, 7), co jest niepoprawne, ponieważ 'FE' nie zostało przekształcone na wartość dziesiętną. W systemie szesnastkowym 'FE' odpowiada wartości 254, więc ta odpowiedź nie oddaje prawidłowej wartości dla koloru. W drugiej odpowiedzi, rgb(11, 127, 7), również występuje nieprawidłowa konwersja - '11' powinno być 17, a '127' nie ma odpowiadającej wartości w kolorze #11FE07, ponieważ powinno to być 254. Ostatnia odpowiedź, rgb(17, 254, 7), jest bliska prawidłowej, ale nie jest uznawana za poprawną, co może budzić wątpliwości. Kluczowe w całym procesie jest zrozumienie, że każda para szesnastkowa musi być konwertowana na odpowiednią wartość dziesiętną, a błędne konwersje prowadzą do nieprawidłowych reprezentacji kolorów. Właściwe rozumienie i precyzyjne stosowanie konwersji jest fundamentalne w pracy z kolorami w różnych projektach graficznych.

Pytanie 4

Wykorzystanie definicji stylu CSS spowoduje, że nagłówki drugiego poziomu będą się wyświetlać

h2 {
    text-decoration: overline;
    font-style: italic;
    line-height: 60px;
}
A. czcionką kursywną, z linią pod tekstem, wysokość wiersza wynosi 60 px
B. czcionką kursywną, z linią nad tekstem, wysokość wiersza wynosi 60 px
C. czcionką standardową, z linią pod tekstem, odległość między znakami wynosi 60 px
D. czcionką standardową, z linią nad tekstem, wysokość wiersza wynosi 60 px
Odpowiedź numer 2 jest poprawna, ponieważ definicja stylu CSS zawiera właściwości, które dokładnie odpowiadają tej opcji. Właściwość font-style: italic sprawia, że tekst nagłówka będzie zapisany czcionką pochyloną, co jest często stosowane w celu nadania tekstowi bardziej dynamicznego i estetycznego wyglądu. Jest to szczególnie przydatne w projektowaniu stron internetowych, gdzie wyróżnienie nagłówków ma kluczowe znaczenie dla czytelności i atrakcyjności wizualnej. text-decoration: overline dodaje linię nad tekstem, co jest mniej powszechnym, ale interesującym sposobem na wyróżnienie tekstu. Może być używane w nowoczesnych projektach, aby nadać stronie unikalny charakter. Wysokość wiersza line-height: 60px zapewnia odpowiednią przestrzeń między wierszami, co zwiększa czytelność, szczególnie przy większych czcionkach. Taki sposób formatowania jest zgodny ze standardami projektowania UX/UI, które kładą nacisk na estetykę i funkcjonalność. Dlatego zrozumienie tych właściwości i ich zastosowanie jest kluczowe dla każdego projektanta stron internetowych.

Pytanie 5

Jakie imiona spełniają warunki klauzuli LIKE w zapytaniu?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Krzysztof, Krystyna, Romuald
B. Rafał, Rebeka, Renata, Roksana
C. Arleta, Krzysztof, Krystyna, Tristan
D. Gerald, Jarosław, Marek, Tamara
Zapytanie SQL wykorzystuje klauzulę LIKE, która pozwala na wyszukiwanie wzorców w danych tekstowych. W tym przypadku wzór '_r%' oznacza, że szukamy imion, które mają na drugiej pozycji literę 'r' i mogą mieć dowolne znaki po tej literze. W analizowanych imionach, Arleta, Krzysztof, Krystyna oraz Tristan spełniają ten warunek, ponieważ: Arleta ma 'r' na drugiej pozycji, Krzysztof również, Krystyna także, a Tristan ma 'r' na drugiej pozycji. Przykład użycia klauzuli LIKE jest szczególnie przydatny w systemach, gdzie często zachodzi potrzeba filtrowania danych tekstowych na podstawie określonych wzorców. W praktyce, stosowanie klauzuli LIKE w zapytaniach SQL powinno być zgodne z najlepszymi praktykami, takimi jak optymalizacja indeksów i unikanie nadmiernego używania znaków wieloznacznych, które mogą prowadzić do spadku wydajności. Warto również pamiętać, że w wielu systemach baz danych klauzula LIKE jest czuła na wielkość liter, co może wpływać na wyniki zapytań.

Pytanie 6

W skrypcie JavaScript operatory: ||, && wchodzą w skład grupy operatorów

A. arytmetycznych
B. logicznymi
C. przypisania
D. bitowych
Operatory || (OR) i && (AND) w języku JavaScript są klasyfikowane jako operatory logiczne. Służą one do wykonywania operacji na wartościach boolowskich, które mogą przyjmować jedynie dwie wartości: true (prawda) oraz false (fałsz). Operator && zwraca true, jeśli oba operandy są prawdziwe, w przeciwnym przypadku zwraca false. Przykładem jest wyrażenie: true && false, które zwraca false. Operator || zwraca true, jeśli przynajmniej jeden z operandów jest prawdziwy. Na przykład, wyrażenie: false || true, zwraca true. Operatory te są powszechnie wykorzystywane w warunkach kontrolnych, takich jak instrukcje if, pętle oraz w kombinacjach z innymi operatorami. Dodatkowo, JavaScript posługuje się tzw. 'krótkim circuiting', co oznacza, że w przypadku operatora &&, jeśli pierwszy operand jest false, to nie sprawdza drugiego, ponieważ wynik będzie na pewno false. W kontekście standardów, JavaScript przestrzega specyfikacji ECMAScript, która definiuje zasady działania tych operatorów. Zrozumienie operatorów logicznych jest kluczowe dla efektywnego programowania i tworzenia złożonych warunków.

Pytanie 7

Zmienna o typie integer lub int jest w stanie przechowywać

A. łańcuch znaków
B. liczbę rzeczywistą
C. znak
D. liczbę całkowitą
Zmienna typu integer, znana również jako int, jest podstawowym typem danych w wielu językach programowania, takich jak C, C++, Java czy Python. Jej kluczową zaletą jest możliwość przechowywania tylko liczb całkowitych, co czyni ją idealnym wyborem do operacji arytmetycznych, które wymagają precyzyjnego zarządzania wartościami całkowitymi bez części dziesiętnych. Przykłady zastosowania to m.in. przechowywanie ilości przedmiotów w magazynie, zliczanie punktów w grze lub reprezentowanie indeksów w tablicach. W praktyce, użycie zmiennych typu integer umożliwia efektywne wykorzystanie pamięci, ponieważ zajmują one mniej miejsca niż zmienne typu zmiennoprzecinkowego, a ich operacje są wykonywane szybciej. Ponadto, stosowanie zmiennych całkowitych jest zgodne z dobrymi praktykami programowania, które zalecają dobór odpowiednich typów danych do specyficznych potrzeb aplikacji, co zwiększa ich wydajność i czytelność kodu. Warto także zrozumieć, że w kontekście programowania, typ zmiennej determinuje zakres wartości, które można przechowywać, co w przypadku typu integer zwykle wynosi od -2,147,483,648 do 2,147,483,647 w standardzie 32-bitowym, co czyni go wystarczającym dla wielu zastosowań.

Pytanie 8

W języku HTML zdefiniowano listę:

<ol>
  <li>biały</li>
  <li>czerwony
    <ul>
      <li>różowy</li>
      <li>pomarańczowy</li>
    </ul></li>
  <li>niebieski</li>
</ol>
A. Nie ma zagłębień i jest punktowana, wyświetla 5 punktów.
B. Nie ma zagłębień i jest numerowana, słowo "niebieski" ma przyporządkowany numer 5.
C. Jest to lista numerowana z zagłębioną listą punktowaną.
D. Jest to lista punktowana z zagłębioną listą numerowaną.
Dobra robota! Twoja odpowiedź jest na miejscu. Ta lista HTML, co widziałeś na obrazku, to faktycznie lista uporządkowana, stworzona przy pomocy znacznika <ol>. Takie listy są numerowane, co sprawia, że łatwiej je śledzić. W HTML mamy dwa rodzaje list: uporządkowane, czyli numerowane z <ol>, i nieuporządkowane, które robimy z <ul> i one są punktowane. Fajnie, że pamiętasz o CSS, bo dzięki niemu możemy dostosować wygląd tych list. Ogólnie, lista numerowana zaczyna od 1 i idzie dalej (1, 2, 3 itd.), a punktowana pokazuje kropki. Co ciekawe, można też zagnieżdżać listy, co daje nam takie wielopoziomowe struktury. Dlatego w tej liście mamy wewnątrz punktowaną, która jest stworzona z <ul>. I pamiętaj, że używanie właściwych znaczników ma znaczenie – szczególnie dla osób korzystających z czytników ekranu.

Pytanie 9

W HTML, aby utworzyć sekcję z cytatem, która może zawierać wiele akapitów i aby przeglądarka dodała wspólne wcięcie, trzeba użyć znacznika

A. <blockquote>
B. <indent>
C. <q>
D. <blockq>
Znacznik <q> jest używany do oznaczania cytatów wprowadzonej w linii, co oznacza, że jest przeznaczony do krótkich cytatów, a nie dłuższych fragmentów tekstu. Jego zastosowanie nie zapewnia odpowiedniego wcięcia ani oddzielenia wizualnego od reszty treści, co może prowadzić do nieczytelności dłuższych cytatów. Odpowiedź <indent> nie jest poprawna, ponieważ nie istnieje taki znacznik w HTML. Użytkownicy mogą pomylić go z CSS, gdzie właściwość 'text-indent' służy do dodawania wcięć, ale sama nie definiuje struktury dokumentu. Z kolei <blockq> to literówka, gdyż poprawny znacznik to <blockquote>. Użycie nieistniejącego znacznika prowadzi do błędów w renderowaniu strony i zmniejsza jej semantyczność. Ważne jest, aby w projektowaniu stron internetowych stosować właściwe i standardowe znaczniki HTML, które nie tylko wpływają na estetykę, ale również na SEO i dostępność. W kontekście zarządzania treścią na stronie internetowej, niepoprawne użycie znaczników może wprowadzać w błąd użytkowników oraz maszyny przeszukujące, co negatywnie wpływa na ich doświadczenia i skuteczność wyszukiwania.

Pytanie 10

Formaty wideo, które są wspierane przez standard HTML5, to

A. MP4, AVI
B. Ogg, AVI, MPEG
C. Ogg, QuickTime
D. MP4, Ogg, WebM
Wybór odpowiedzi takiej jak MP4, AVI, nie uwzględnia faktu, że format AVI nie jest obsługiwany przez HTML5. AVI to starszy format kontenera, który wymaga zainstalowanych kodeków, co czyni go mniej przydatnym w kontekście nowoczesnych aplikacji webowych, które stawiają na zgodność i łatwość użycia. Podobnie, wybór Ogg, QuickTime również jest błędny, ponieważ format QuickTime, choć popularny, nie jest częścią standardu HTML5 i wymaga korzystania z dodatkowych wtyczek lub komponentów w przeglądarkach, co nie sprzyja wydajności ani wygodzie użytkowników. W przypadku Ogg, choć jest to format otwarty, jego zastosowanie w praktyce jest ograniczone w porównaniu z MP4 czy WebM. Również zestawienie Ogg, AVI, MPEG jest mylące, ponieważ MPEG to bardziej ogólne określenie dla różnych standardów kompresji wideo, a nie konkretny format pliku. Współczesne praktyki programistyczne i standardy internetowe preferują formaty, które są natywnie wspierane przez przeglądarki, a te, które wymagają dodatkowych wtyczek lub nie są powszechnie używane, są odrzucane. Zrozumienie, które formaty są zgodne z HTML5, jest kluczowe dla zapewnienia optymalnych doświadczeń użytkownika.

Pytanie 11

Które z poniższych poleceń przyznaje użytkownikowi uczen najniższy poziom uprawnień w zakresie zmiany danych i struktury tabel?

A. GRANT DROP ON szkola.przedmioty TO uczen;
B. GRANT SELECT ON szkola.przedmioty TO uczen;
C. GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
D. GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
Rozpatrując inne polecenia, które zostały zaproponowane, należy zauważyć, że każde z nich przyznaje użytkownikowi 'uczen' szerszy zakres uprawnień, co nie jest zgodne z założeniem nadawania minimalnych uprawnień. Przyznanie uprawnień DROP, jak w przypadku polecenia GRANT DROP ON szkola.przedmioty TO uczen, pozwoliłoby użytkownikowi usunąć tabelę 'przedmioty', co jest nieakceptowalne w kontekście użytkownika edukacyjnego. Takie działanie nie tylko zagrażałoby integralności bazy danych, ale również mogłoby prowadzić do utraty ważnych informacji. Podobnie, przyznanie uprawnień INSERT, jak w poleceniu GRANT INSERT, DROP ON szkola.przedmioty TO uczen, umożliwia użytkownikowi dodawanie nowych rekordów do tabeli, co w przypadku ucznia nie jest pożądane, ponieważ jego rola powinna być ograniczona do przeglądania danych. Co więcej, polecenie GRANT ALTER, SELECT ON szkola.przedmioty TO uczen zawiera uprawnienie ALTER, które pozwala na modyfikację struktury tabeli, co również nie powinno mieć miejsca w kontekście użytkownika, który jest tylko uczniem. Wszelkie te niepoprawne podejścia prowadzą do niebezpieczeństwa związane z nieautoryzowanymi zmianami w bazie danych, co jest sprzeczne z najlepszymi praktykami w zakresie zarządzania uprawnieniami i bezpieczeństwa danych. Warto pamiętać, że właściwe zarządzanie uprawnieniami nie tylko zabezpiecza dane, ale również usprawnia procesy edukacyjne, zapewniając odpowiedni dostęp do informacji w sposób kontrolowany.

Pytanie 12

Aby zweryfikować ustawienia w pliku php.ini, można wykonać skrypt PHP, który zawiera polecenie

A. <?php phpinfo(); ?>
B. <?php phpcredits(); ?>
C. <?php echo phpversion(); ?>
D. <?php ini_set(); ?>
Funkcja phpinfo() jest jednym z najczęściej używanych narzędzi w PHP do uzyskiwania szczegółowych informacji o środowisku PHP, w tym ustawieniach konfiguracyjnych z pliku php.ini. Po jej wywołaniu, generowana jest strona HTML zawierająca dane o wersji PHP, zainstalowanych modułach, dostępnych zmiennych i wielu innych istotnych informacjach. Dzięki temu programiści mogą szybko zidentyfikować, jakie opcje są aktywne, co jest szczególnie przydatne przy diagnozowaniu problemów lub optymalizacji aplikacji. Przykładowo, w przypadku występowania błędów związanych z pamięcią lub czasem wykonywania skryptów, programista może skorzystać z phpinfo(), aby sprawdzić, jakie limity są ustawione. Warto również zauważyć, że korzystanie z tej funkcji w środowisku produkcyjnym powinno być ograniczone, aby uniknąć ujawnienia informacji o serwerze. Dobrym praktyką jest ograniczenie dostępu do wyników phpinfo() tylko do zaufanych użytkowników lub wyłączenie jej w wersji produkcyjnej.

Pytanie 13

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. wykluczenia.
C. części wspólnej.
D. grupowania.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 14

Metainformacja “Description" zawarta w pliku źródłowym HTML powinna zawierać

<head>
    <meta name="Description" content="..." >
</head>
A. informację, kto jest autorem strony.
B. wyrazy kluczowe, z których korzystają wyszukiwarki sieciowe.
C. opis, co znajduje się na stronie.
D. nazwę programu, przy użyciu którego została stworzona strona.
Należy podkreślić, że choć autor strony czy program, którym strona została stworzona, to informacje mogą być ciekawe, nie są one celem metainformacji 'Description'. Informacje o autorstwie czy narzędziach służących do stworzenia strony mogą zostać uwzględnione w innych metatagach lub sekcjach strony, ale nie w 'Description'. Na przykład, metatag 'author' jest przeznaczony do wskazywania autora strony. Podobnie, informacje o oprogramowaniu, które zostało użyte do stworzenia strony, zwykle są zawarte w metatagu 'generator'. Co do wyrazów kluczowych, to choć są one istotne dla optymalizacji strony pod kątem wyszukiwarek, nie powinny być jedyną zawartością metatagu 'Description'. Kluczowe słowa powinny być raczej wplecione w naturalny, czytelny dla użytkownika opis strony. W ten sposób 'Description' staje się efektywnym narzędziem SEO, które pomaga zwiększyć ruch na stronie.

Pytanie 15

Który z elementów relacyjnej bazy danych, zapisany w języku SQL, może być wykorzystany w zapytaniach modyfikujących kolumny danych udostępnione jako tabela, niezależnie od tego, czy jest stworzony programowo, czy dynamicznie?

A. Trigger
B. Procedura składowa
C. Funkcja zdefiniowana
D. Zasada
Kiedy analizujemy inne obiekty bazy danych, takie jak reguły, wyzwalacze i procedury składowe, możemy zidentyfikować, dlaczego nie są one odpowiednie w kontekście tego pytania. Reguły w SQL są używane do automatyzacji modyfikacji zapytań, ale ich zastosowanie jest ograniczone i rzadko używane w nowoczesnych bazach danych. Reguły są rzeczywiście często pomijane w nowoczesnych implementacjach ze względu na ich złożoność oraz ograniczenia w stosowaniu. Wyzwalacze natomiast są mechanizmami, które automatycznie wywołują się w odpowiedzi na określone zdarzenia w bazie danych, takie jak dodawanie, aktualizacja lub usuwanie rekordów. Choć mogą modyfikować dane, to nie są one wywoływane bezpośrednio przez zapytania, a raczej jako odpowiedź na zdarzenia, co czyni je mniej elastycznymi w kontekście bezpośrednich zapytań. Procedury składowe są kolejnym typem obiektu bazy danych, które mogą implementować złożoną logikę, jednak są one zazwyczaj wywoływane jako całość i nie mogą być używane w kontekście zapytań modyfikujących dane, jak to ma miejsce w przypadku funkcji zdefiniowanej. Zatem w kontekście elastyczności i modułowości w modyfikacjach danych, funkcje zdefiniowane pozostają najodpowiedniejszym rozwiązaniem.

Pytanie 16

Dla jakiej wartości zmiennej x instrukcja warunkowa w JavaScript jest spełniona?

if ((x < -5) || (x > 2))
    x++;
A. -4
B. 2
C. -1
D. 3
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 17

Co można powiedzieć o przedstawionym zapisie języka HTML 5?

<title>Strona o psach</title>
A. Jest fakultatywny w kontekście HTML 5 i nie jest wymagany w dokumencie.
B. Stanowi jedynie informację dla robotów wyszukiwania i nie jest widoczny w przeglądarce.
C. Zostanie umieszczony w treści strony, na samym czubku.
D. Pojawi się na karcie dokumentu w przeglądarce.
Zaznaczenie poprawnej odpowiedzi pokazuje, że to, co jest w znaczniku <title>, pojawia się na karcie w przeglądarce. To naprawdę ważny element HTML, bo informuje użytkowników, o czym jest dana strona. Zgodnie z tym, co mówi W3C, tytuł strony jest kluczowy dla SEO, gdyż wyświetla się w wynikach wyszukiwania i na zakładkach przeglądarek. Fajnie, jak tytuł jest krótki, ma kluczowe słowa, które mówią o zawartości, i przyciąga wzrok. Na przykład, jak zrobisz stronę o psach rasowych, to tytuł <title> w stylu 'Strona o psach - Poradnik dla właścicieli' nie tylko mówi, o czym będzie treść, ale też może sprawić, że lepiej widać ją w wynikach wyszukiwania. Pamiętaj, że zawartość znacznika <title> widać na górze okna przeglądarki, co ułatwia poruszanie się i znajdowanie otwartych kart.

Pytanie 18

Wszelkie dane, które dostarczają informacji o innych danych, nazywane są

A. markup language.
B. metadata.
C. metalanguage.
D. databus.
Poprawna odpowiedź to „metadata”, czyli po polsku metadane. Metadane to wszystkie dane, które opisują inne dane. Można powiedzieć, że są to „informacje o informacji”. Przykład z życia: plik zdjęcia JPG. Sam obraz to dane, a takie elementy jak data wykonania, model aparatu, rozdzielczość, lokalizacja GPS, autor – to właśnie metadane zapisane np. w formacie EXIF. Podobnie w świecie WWW: w dokumencie HTML mamy sekcję <head>, a w niej znaczniki <meta>. Te znaczniki nie są wyświetlane użytkownikowi jako treść strony, ale przekazują wyszukiwarkom i przeglądarkom informacje o stronie, np. opis, słowa kluczowe, kodowanie znaków, język. To jest klasyczny przykład metadanych w praktyce. W bazach danych metadane to np. definicje tabel, typy kolumn, klucze główne, indeksy, ograniczenia. System zarządzania bazą danych przechowuje je w tzw. katalogach systemowych. Dzięki temu wie, jak interpretować rekordy, jakie są relacje między tabelami, jakie są dopuszczalne wartości. Bez metadanych dane byłyby po prostu chaotycznym zbiorem bitów, z którego niewiele da się wyciągnąć. W standardach branżowych stosuje się różne schematy metadanych, np. Dublin Core dla zasobów cyfrowych, czy schema.org dla stron internetowych, aby wyszukiwarki lepiej rozumiały zawartość. Z mojego doświadczenia warto od początku myśleć o metadanych jako o czymś, co podnosi jakość systemu: ułatwia wyszukiwanie, integrację, automatyczne przetwarzanie danych. Dobra praktyka jest taka, żeby dla ważnych zasobów (pliki, rekordy w bazie, strony WWW, API) zawsze planować strukturę metadanych: kto utworzył, kiedy, jaki typ, wersja, status. To bardzo pomaga przy utrzymaniu aplikacji, debugowaniu i rozwoju systemu.

Pytanie 19

W SQL uprawnienie SELECT przydzielone za pomocą polecenia GRANT umożliwia użytkownikowi bazy danych

A. generowanie tabeli
B. zmienianie danych w tabeli
C. uzyskiwanie danych z tabeli
D. usuwanie danych z tabeli
Przywilej SELECT w języku SQL, przyznawany przy użyciu polecenia GRANT, umożliwia użytkownikowi baz danych na wykonywanie operacji odczytu danych z określonych tabel. Oznacza to, że użytkownik może pobierać informacje zapisane w tabelach bazy danych, co jest kluczowe dla większości aplikacji korzystających z danych. Na przykład, w kontekście aplikacji analitycznych, dostęp do danych pozwala na generowanie raportów i analiz, które wspierają podejmowanie decyzji. W praktyce, przyznanie przywileju SELECT jest standardową procedurą zabezpieczającą, ponieważ pozwala na kontrolowanie, którzy użytkownicy mogą zobaczyć dane w bazie, minimalizując ryzyko nieautoryzowanego dostępu. Warto również zaznaczyć, że w bazach danych, takich jak MySQL, PostgreSQL czy Oracle, przywileje są zarządzane w sposób hierarchiczny, co oznacza, że użytkownik z przywilejem SELECT może dodatkowo dziedziczyć inne przywileje, co zwiększa elastyczność zarządzania dostępem.

Pytanie 20

Najprostszy sposób przekształcenia obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 to

Ilustracja do pytania
A. narysowanie docelowego obiektu
B. animowanie obiektu
C. geometryczne transformowanie obiektu
D. zmiana warstwy obiektu
Geometria transformacji to niezwykle ważne pojęcie w dziedzinie grafiki komputerowej i projektowania. Polega na zmianie kształtu obiektu za pomocą operacji takich jak skalowanie, obracanie, przesuwanie czy odkształcanie. W kontekście pytania, geometria transformacji umożliwia przekształcenie obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 poprzez zmianę jego kształtu i wielkości. Praktyczne zastosowanie transformacji geometrycznych obejmuje m.in. skalowanie w celu dostosowania rozmiarów obiektów do różnych nośników lub kontekstu wyświetlania. Obracanie jest używane do orientacji obiektów w przestrzeni, co jest niezwykle przydatne w modelowaniu 3D czy animacjach. Dobre praktyki projektowania graficznego zalecają korzystanie z transformacji geometrycznych, aby uzyskać spójną i estetyczną kompozycję. Standardy branżowe często definiują konkretne algorytmy i formaty danych dla transformacji, jak na przykład macierze przekształceń w grafice trójwymiarowej. Zrozumienie i umiejętne zastosowanie tych pojęć pozwala na efektywne tworzenie złożonych struktur wizualnych oraz interaktywnych aplikacji.

Pytanie 21

Jakie polecenie SQL zmieni w tabeli tab wartość w kolumnie kol z Ania na Zosia?

A. ALTER TABLE tab CHANGE kol = 'Zosia' kol = 'Ania'
B. ALTER TABLE tab CHANGE kol = 'Ania' kol = 'Zosia'
C. UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia'
D. UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania'
Polecenie SQL UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania' jest poprawne, ponieważ używa ono właściwej składni do aktualizacji wartości w istniejącej tabeli. W tym przypadku komenda ta zmienia wszystkie wystąpienia wartości 'Ania' w kolumnie 'kol' na 'Zosia'. Jest to klasyczna operacja aktualizacji, która jest szeroko stosowana w zarządzaniu bazami danych. Przykładowo, jeśli w tabeli 'tab' znajdują się rekordy przedstawiające użytkowników, a potrzebujemy zmienić imię 'Ania' na 'Zosia', to powyższa komenda wykona tę operację poprawnie. Zgodnie z zasadami dobrych praktyk, warto również przed dokonaniem aktualizacji wykonać zapytanie SELECT, aby upewnić się, jakie rekordy zostaną zmienione. Dodatkowo, do zminimalizowania ryzyka wystąpienia niezamierzonych zmian, warto przeprowadzić tę operację w kontekście transakcji, aby móc cofnąć zmiany w razie potrzeby, co jest szczególnie istotne w przypadku krytycznych danych.

Pytanie 22

Po wykonaniu poniższego kodu JavaScript, co będzie przechowywać zmienna str2?

var str1 = "JavaScript";
var str2 = str1.substring(2,6);
A. vaScri
B. vaSc
C. avaS
D. nvaScr
W przypadku analizy kodu JavaScript kluczowym aspektem jest zrozumienie działania metody substring która służy do wyodrębniania fragmentów łańcuchów znaków. Metoda przyjmuje dwa parametry: indeks początkowy oraz opcjonalny indeks końcowy. W kontekście pytania błędnym podejściem jest niedokładna interpretacja tych indeksów. Pierwsza niepoprawna odpowiedź avaS zakłada że wyodrębniane są znaki od 0 do 3 co jest niezgodne z podanymi indeksami 2 i 6. Druga odpowiedź vaScri zakłada że metoda substring obejmuje znaki aż do indeksu 6 włącznie co jest błędnym zrozumieniem zakresu działania tej metody. Metoda substring kończy wybieranie na znaku poprzedzającym indeks końcowy dlatego indeks 6 nie jest uwzględniany przy wyborze znaków. Kolejna niepoprawna odpowiedź nvaScr próbuje wybrać znaki rozpoczynając od indeksu 1 co jest błędnym startowym punktem dla zakresu 2 do 6. W kontekście dobrych praktyk programistycznych istotnym jest zrozumienie że indeksowanie od zera ma wpływ na rezultaty metod operujących na łańcuchach znaków. Częstym błędem początkujących programistów jest nieuwzględnienie tego faktu co prowadzi do niepoprawnych wyników i błędów logicznych w aplikacjach. Znajomość tych zasad pozwala efektywnie wykorzystywać możliwości języka JavaScript w codziennej pracy programistycznej.

Pytanie 23

Kto z wymienionych zajmuje się nieprzerwanym przygotowaniem systemu bazy danych do pracy produkcyjnej, zarządzaniem kontami użytkowników oraz instalowaniem aktualizacji systemu bazodanowego?

A. Administratorzy systemu bazy danych
B. Projektanci i programiści Systemu Zarządzania Bazą Danych
C. Administratorzy serwerów oraz sieci komputerowych
D. Twórcy narzędzi dla deweloperów
Wybór projektantów narzędzi deweloperskich jako odpowiedzialnych za przygotowanie systemu bazy danych do pracy produkcyjnej jest błędny, ponieważ ich głównym zadaniem jest projektowanie i rozwijanie narzędzi oraz aplikacji, które ułatwiają proces tworzenia oprogramowania. Nie zajmują się oni bezpośrednio zarządzaniem bazami danych, lecz tworzą rozwiązania, które mogą być wykorzystywane przez administratorów baz danych. Z kolei administratorzy serwerów i sieci komputerowych koncentrują się na zarządzaniu infrastrukturą sieciową i serwerową, co obejmuje utrzymanie sprzętu oraz zapewnienie jego dostępności i wydajności. Ich praca jest istotna dla ogólnego funkcjonowania systemów, ale nie zajmują się oni bezpośrednio bazami danych ani nie zarządzają nimi. Ostatnia grupa, czyli projektanci i programiści Systemu Zarządzania Bazą Danych, koncentruje się na tworzeniu oprogramowania do zarządzania bazą danych oraz na jego rozwoju. Choć ich praca jest niezbędna w kontekście tworzenia funkcjonalności bazy danych, to nie odpowiadają oni za codzienne zarządzanie i utrzymanie działającego systemu. Dlatego też tylko administratorzy systemu bazy danych są odpowiedzialni za ciągłe przygotowanie systemu do pracy produkcyjnej oraz zarządzanie użytkownikami.

Pytanie 24

Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT ```SELECT model FROM samochody WHERE rocznik=2016;``` Jakie wartości zostaną zwrócone w wyniku tego zapytania?

Ilustracja do pytania
A. Czerwony, grafitowy
B. Fiat, Opel, Toyota
C. Punto, Corsa, Corolla
D. Punto, Corsa, Astra, Corolla, Yaris
Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.

Pytanie 25

Aby w języku HTML uzyskać formatowanie paragrafu przedstawione w ramce, należy zastosować kod

Ilustracja do pytania
A. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
B. <p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
C. <p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
D. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
Poprawnie wybrałeś kod z poprawnie zagnieżdżonymi i domkniętymi znacznikami: <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>. To dokładnie odpowiada temu, co widać na podglądzie: zwykły akapit, w nim jedno słowo podświetlone na żółto oraz inne wyróżnione kursywą. Znacznik <p> tworzy paragraf – podstawowy blok tekstu w HTML. W środku używasz elementów liniowych (inline): <mark> do zaznaczenia fragmentu tekstu jak zakreślaczem oraz <em> do zaznaczenia treści istotnej znaczeniowo, co domyślnie jest renderowane jako kursywa. Według specyfikacji HTML5 <mark> służy do semantycznego wyróżnienia tekstu związanego z kontekstem, np. wynik wyszukiwania na stronie czy aktualnie ważna informacja. <em> natomiast podkreśla akcent logiczny w zdaniu, a nie tylko ozdobne pochylenie, co jest dobrą praktyką dostępnościową. Ważne jest też poprawne zagnieżdżanie: najpierw otwierasz <mark>, potem go zamykasz </mark>, dopiero później otwierasz <em> i zamykasz </em>. Żaden z tych znaczników nie nachodzi na siebie w sposób krzyżowy. Tego pilnują walidatory W3C i warto się do tego przyzwyczaić od początku. W codziennej pracy taki kod możesz wykorzystać np. w artykułach, dokumentacji technicznej, materiałach szkoleniowych, gdzie chcesz: zakreślić słowo kluczowe (<mark>) i jednocześnie podkreślić termin ważny dla autora lub kontekstu (<em>). Moim zdaniem lepiej stosować <em> zamiast <i>, bo <em> niesie znaczenie semantyczne i czytniki ekranu potrafią je zinterpretować, co poprawia dostępność strony.

Pytanie 26

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123

CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"; 
A. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`
B. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`
C. CREATE USER `sekretarka`@`localhost` IDENTIFY "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 27

Jak nazywa się technika sortowania, która polega na podziale zbioru na n przedziałów o równej długości, gdzie przeprowadza się sortowanie, a następnie analizuje i prezentuje posortowane elementy z tych przedziałów?

A. Sortowanie kubełkowe
B. Sortowanie przez wybór
C. Sortowanie szybkie
D. Sortowanie bąbelkowe
Sortowanie szybkie (ang. quicksort) jest algorytmem typu „dziel i zwyciężaj”, który działa poprzez wybór tzw. pivota i podział danych na mniejsze podzbiory, które są sortowane rekurencyjnie. Choć jest to jedna z najszybszych metod sortowania w praktyce, nie polega na podziale na kubełki, co czyni ją nieodpowiednią odpowiedzią na postawione pytanie. Sortowanie bąbelkowe (ang. bubble sort) natomiast, to algorytm, który porównuje sąsiadujące ze sobą elementy i wymienia je, jeśli są w złej kolejności. Jest to metoda mało efektywna, szczególnie dla dużych zbiorów danych, i nie ma zastosowania w kontekście podziału na przedziały. Z kolei sortowanie przez wybór (ang. selection sort) działa poprzez znajdowanie minimalnego (lub maksymalnego) elementu w zbiorze i przenoszenie go na początek, co również nie związane jest z koncepcją kubełków. Typowym błędem myślowym jest mylenie różnych metod sortowania, co często wynika z nieznajomości ich specyfiki i zasad działania. Różne algorytmy mają swoje unikalne cechy i zastosowania, a ich wybór powinien być oparty na charakterystyce danych oraz wymagań dotyczących wydajności, co jest kluczowe w praktycznych zastosowaniach informatycznych.

Pytanie 28

Który znacznik lub zestaw znaczników nie jest używany do określenia struktury dokumentu HTML?

A. <div>
B. <section>
C. <i>, <b>, <u>
D. <header>, <footer>
Te znaczniki, czyli <i>, <b> i <u>, nie są jakby do tworzenia struktury dokumentu HTML, ale bardziej do formatowania tekstu. Zgodnie z nowymi standardami HTML5, są to elementy semantyczne, które wpływają na to, jak coś wygląda, a nie na to, jak jest zorganizowane. Znacznik <i> używamy, jak chcemy coś napisać kursywą, <b>, żeby coś podkreślić, a <u>, żeby coś podkreślić. Często korzysta się z nich w stylach CSS, ale nie nadają one hierarchii ani kontekstu dokumentu. Jak chcesz wyróżnić jakiś tekst w kontekście kodu czy tytułu rozdziału, lepiej skorzystać z bardziej semantycznych znaczników, jak <em> dla podkreślenia znaczenia albo <strong> dla podkreślenia wagi. W czasach, kiedy dostępność i SEO są coraz ważniejsze, używanie semantycznych elementów to klucz do tworzenia lepszych i bardziej przejrzystych stron.

Pytanie 29

Która z poniższych funkcji języka PHP zamieni wyraz „kota” na wyraz „mysz” w zdaniu „ala ma kota”?

A. replace("kota", "mysz", "ala ma kota");
B. str_replace( "kota", "mysz", "ala ma kota");
C. replace("ala ma kota", "kota", "mysz");
D. str_replace("ala ma kota", "kota", "mysz");
Funkcja str_replace w języku PHP jest używana do zastępowania fragmentów tekstu w łańcuchach znaków. W przypadku podanego zadania, funkcja ta ma trzy argumenty: pierwszy argument to szukany ciąg ("kota"), drugi argument to ciąg, który ma zastąpić ten szukany ("mysz"), a trzeci argument to łańcuch, w którym ma zostać dokonana zmiana ("ala ma kota"). Dzięki tej funkcji, wynikowym tekstem po zastosowaniu będzie "ala ma mysz", co jest dokładnie tym, co chcemy osiągnąć. W praktyce, str_replace jest często wykorzystywana w aplikacjach webowych do dynamizowania treści, gdzie na przykład użytkownik może podać różne dane, które należy przetworzyć. Stosowanie str_replace jest zgodne z najlepszymi praktykami programowania w PHP – umożliwia łatwe i efektywne manipulowanie danymi tekstowymi, co jest integralną częścią wielu projektów. Dodatkowo, warto zaznaczyć, że str_replace jest funkcją case-sensitive, co oznacza, że rozróżnia wielkość liter, więc stosowanie jej wymaga staranności w kontekście przetwarzania tekstów.

Pytanie 30

Które z poniższych poleceń JavaScript zmieni kolor tekstu na niebieski w paragrafie oznaczonym w HTML?

<p id="jeden">Kwalifikacja EE.01</p>
A. document.getElementById("jeden").color = "blue";
B. document.getElementById("jeden").background-color = "blue";
C. document.getElementById("jeden").style.background-color = "blue";
D. document.getElementById("jeden").style.color = "blue";
W języku JavaScript do zmiany stylu elementu HTML używamy obiektu style powiązanego z danym elementem. W przypadku zmiany koloru tekstu w akapicie używamy właściwości color. Poprawna składnia to document.getElementById("jeden").style.color = "blue";. Funkcja getElementById pobiera element o podanym identyfikatorze w tym przypadku jeden. Następnie poprzez przypisanie wartości blue do style.color zmieniamy kolor tekstu wewnątrz tego elementu na niebieski. Jest to zgodne z praktykami programowania w JavaScript ponieważ separacja stylów od treści jest istotna dla czytelności i utrzymania kodu a użycie style pozwala na bezpośrednią modyfikację właściwości CSS. Dobre praktyki sugerują aby stylowanie umieszczać w plikach CSS jednak JavaScript daje możliwość dynamicznej modyfikacji stylów co jest użyteczne w interaktywnych aplikacjach webowych. Przykładowo podczas tworzenia dynamicznych interfejsów użytkownika możemy reagować na różne zdarzenia zmieniając style elementów w odpowiedzi na działania użytkownika co zwiększa responsywność i atrakcyjność aplikacji.

Pytanie 31

Została zaprezentowana tabela o nazwie konta. Aby obliczyć liczbę rejestracji w poszczególnych latach oraz wyświetlić te wartości razem z rokiem rejestracji, należy wykonać zapytanie

A. ```SELECT rejestracja, COUNT(rejestracja) FROM konta;```
B. ```SELECT COUNT(rejestracja) FROM konta JOIN rejestracja ON id;```
C. ```SELECT rejestracja, COUNT(rejestracja) FROM konta GROUP BY rejestracja;```
D. ```SELECT COUNT(rejestracja) FROM konta GROUP BY rejestracja;```
Rozważając inne odpowiedzi, można zauważyć kilka typowych błędów w rozumieniu operacji SQL. Odpowiedź 'SELECT rejestracja, COUNT(rejestracja) FROM konta;' pomija klauzulę GROUP BY, która jest niezbędna do prawidłowego grupowania wyników po kolumnie 'rejestracja'. Bez niej, zapytanie spowoduje błąd, ponieważ próbuje zliczyć wartości bez określenia, jak je grupować. Takie podejście jest niezgodne z zasadami SQL, które wymagają, aby wszystkie kolumny niewykorzystywane w funkcjach agregujących były zawarte w klauzuli GROUP BY. W przypadku 'SELECT COUNT(rejestracja) FROM konta GROUP BY rejestracja;', mamy poprawnie użyte GROUP BY, ale brak jest kolumny 'rejestracja' w selekcji, co oznacza, że wyniki wyświetlą tylko liczby bez odpowiadających im lat, co nie spełnia założeń pytania. Odpowiedź 'SELECT COUNT(rejestracja) FROM konta JOIN rejestracja ON id;' wprowadza dodatkowy błąd związany z niepoprawnym użyciem JOIN. Kolumna 'rejestracja' nie jest tabelą, a próbując połączyć ją z tabelą 'konta' za pomocą JOIN, wprowadza się błędną koncepcję struktury danych. JOIN jest używany do łączenia różnych tabel na podstawie powiązanych kolumn, co w tym przypadku nie ma zastosowania. Takie niezrozumienie składni SQL może prowadzić do błędnych wyników i niepotrzebnego skomplikowania zapytań. Powszechnym błędem w korzystaniu z JOIN jest niepoprawne używanie go do prostych operacji grupowania, które nie wymagają połączenia wielu tabel.

Pytanie 32

W CSS określono styl dla pola do edycji, które będzie miało tło w kolorze jasnozielonym po aktywacji.

input:focus { background-color: LightGreen; }
A. jeśli zostanie na nie najechane kursorem bez kliknięcia
B. w każdej sytuacji
C. po kliknięciu myszką w celu wprowadzenia tekstu
D. gdy jest to pierwsze użycie tego elementu w dokumencie
Odpowiedź "po kliknięciu myszą w celu zapisania w nim tekstu" jest poprawna, ponieważ reguła CSS `input:focus { background-color: LightGreen; }` definiuje styl, który ma zastosowanie, gdy pole edycyjne (input) jest w stanie "focus". Stan ten jest aktywowany, gdy użytkownik klika na pole, co pozwala na wpisywanie tekstu. To podejście jest zgodne z zasadami dostępności i użyteczności interfejsów, ułatwiając użytkownikom interakcję z formularzami. Przykładowo, w formularzach online, takie wizualne wskazanie na aktywne pole poprawia doświadczenie użytkownika, zwiększa czytelność oraz umożliwia łatwiejsze wprowadzanie danych. Warto również pamiętać, że dobrym standardem jest stosowanie kolorów tła, które są kontrastowe w stosunku do kolorów tekstu, aby zapewnić ich czytelność. Ponadto, w praktyce developerskiej, często wykorzystuje się dodatkowe efekty, takie jak animacje, które mogą poprawić interaktywność i wyrazistość reakcji na działania użytkownika. Właściwe stosowanie stylów CSS w kontekście stanu focus jest więc kluczowe dla tworzenia przyjaznych dla użytkownika interfejsów.

Pytanie 33

Aby wyeliminować nienaturalne odwzorowanie ukośnych krawędzi w grafice rastrowej, znane jako schodkowanie, powinno się użyć filtru

A. gradientowego
B. antyaliasingu
C. pikselowego
D. szumowego
Antyaliasing, znany również jako wygładzanie krawędzi, jest techniką stosowaną w grafice komputerowej, której celem jest redukcja efektu schodkowania występującego na krawędziach obiektów. Schodkowanie to zjawisko, w którym krawędzie obiektów w grafice rastrowej wydają się ząbkowane lub poszarpane, co jest spowodowane ograniczoną rozdzielczością pikseli. Antyaliasing działa poprzez dodawanie półprzezroczystych pikseli wzdłuż krawędzi, co pozwala na płynniejsze przejścia między kolorami, tworząc wrażenie bardziej gładkich linii. Przykładem zastosowania antyaliasingu jest renderowanie czcionek na ekranach, gdzie niewielkie, półprzezroczyste piksele wygładzają krawędzie liter. Istnieje wiele metod antyaliasingu, w tym supersampling, multisampling oraz post-process antyaliasing. Poprawne zastosowanie antyaliasingu jest kluczowe w profesjonalnej grafice, ponieważ znacznie podnosi jakość wizualną obrazów i zwiększa ich estetykę. Standardy, takie jak OpenGL czy DirectX, oferują wbudowane funkcje antyaliasingu, co ułatwia programistom jego implementację w aplikacjach graficznych.

Pytanie 34

Aby baza danych działała poprawnie i konsekwentnie, konieczne jest wprowadzenie w każdej tabeli

A. klucza FOREIGN KEY z wartością NOT NULL
B. kluczy PRIMARY KEY i FOREIGN KEY
C. klucza obcego z wartością NOT NULL i UNIQUE
D. klucza PRIMARY KEY z wartością NOT NULL i UNIQUE
Każda z pozostałych opcji jest błędna z perspektywy podstawowych zasad projektowania baz danych. Klucz FOREIGN KEY jest ważnym elementem w relacyjnych bazach danych, jednak jego sama obecność nie wystarcza do zapewnienia integralności danych w tabeli. Klucz obcy służy jako odniesienie do klucza głównego innej tabeli, co pozwala na łączenie danych, ale nie gwarantuje, że każdy rekord w tabeli będzie miał unikalny identyfikator. W przypadku wartości NOT NULL, nie jest to wymagane dla klucza FOREIGN KEY, ponieważ klucz obcy może odnosić się do wartości NULL w tabeli głównej. Wprowadzenie ograniczenia UNIQUE na kluczu obcym również nie jest konieczne, ponieważ jego głównym celem jest relacja pomiędzy tabelami, a nie zapewnienie unikalności w obrębie jednej tabeli. Dodatkowo, klucz PRIMARY KEY z wartością NOT NULL i UNIQUE jest niezbędny, ponieważ to właśnie te cechy zapewniają, że tabela będzie dobrze zorganizowana i efektywna. Dlatego też, aby zapewnić spójność i integralność danych, klucz PRIMARY KEY odgrywa kluczową rolę, a inne opcje nie mogą zastąpić jego fundamentalnych właściwości.

Pytanie 35

Który z przedstawionych kodów XHTML sformatuje tekst według podanego wzorca?
Ala ma kota
a kot ma Alę

A. <p>Ala ma <b>kota</b><br> a <b>kot</b> ma Alę</p>
B. <p>Ala ma <b>kota<br> a <i>kot</i> ma Alę</p>
C. <p>Ala ma <b>kota</i><br> a <b>kot</b> ma Alę</p>
D. <p>Ala ma <b>kota</b><br> a <i>kot</i> ma Alę</p>
Poprawna odpowiedź to <p>Ala ma <b>kota</b><br/>a <i>kot</i> ma Alę</p>. W tym kodzie XHTML tekst 'Ala ma kota' jest odpowiednio sformatowany dzięki zastosowaniu znaku <b>, który definiuje tekst pogrubiony, oraz <i>, który oznacza tekst kursywą. Ponadto <br/> jest używane do wstawienia przerwy w linii, co jest zgodne z praktykami formatowania tekstu w HTML/XHTML. Zgodnie ze standardami W3C, XHTML jest stricte oparty na XML, co oznacza, że wszystkie elementy muszą być poprawnie zagnieżdżone i zamknięte. Użycie <i> w drugiej części tekstu jest poprawne, ponieważ wskazuje na pewną formę wyróżnienia, a jednocześnie zachowuje semantykę. Przy tworzeniu stron internetowych ważne jest, aby formatowanie tekstu było zarówno estetyczne, jak i zgodne z regułami semantycznymi, co ta odpowiedź spełnia. Przykładowo, tekst ten można umieścić w dowolnym dokumencie HTML, aby zachować poprawne formatowanie, co wpływa na czytelność.

Pytanie 36

Interpreter PHP zwróci błąd i zaniecha wykonania kodu, jeżeli programista

A. będzie tworzył kod bez odpowiednich wcięć
B. będzie definiował zmienne w obrębie warunku
C. nie umieści średnika po wyrażeniu w instrukcji if, jeśli za nim znajduje się sekcja else
D. pobierze wartość z formularza, w którym pole input nie zostało wypełnione
Pojęcie wcięć w kodzie PHP ma charakter stylistyczny, a nie składniowy, co sprawia, że nie są one wymagane do poprawnego działania kodu. PHP nie wymaga wcięć, aby zrozumieć logikę programu, co oznacza, że kod bez wcięć będzie działał poprawnie, chociaż może być trudniejszy do odczytania. Deklaracja zmiennych wewnątrz warunków również nie prowadzi do błędów. Możliwość deklarowania zmiennych w każdej instrukcji warunkowej jest zgodna z zasadami języka PHP, a zmienne te są lokalne dla danego zakresu, co jest zgodne z dobrymi praktykami programistycznymi. Co do pobierania wartości z formularzy, nawet jeśli pole input nie zostało wypełnione, PHP nie zgłasza błędów, lecz zwraca wartość null lub pusty ciąg, co jest normalnym zachowaniem. Typowe błędy myślowe przy podejmowaniu decyzji o tym, co może powodować błędy w PHP, często wynikają z braku zrozumienia różnicy między błędami składniowymi a błędami logicznymi. Błędy składniowe są związane z niepoprawnym formatowaniem kodu, podczas gdy błędy logiczne mogą występować w wyniku niepoprawnej logiki działania programu. Dlatego ważne jest, aby dokładnie rozumieć zasady działania języka i jego składni, aby uniknąć frustracji w procesie tworzenia aplikacji.

Pytanie 37

Który z parametrów obiektu graficznego zmieni się po zmianie wartości kanału alfa?

A. Kolejność wyświetlenia pikseli
B. Nasycenie barw
C. Przezroczystość
D. Ostrość krawędzi
Kanał alfa jest kluczowym parametrem w zarządzaniu przezroczystością obiektów graficznych. Przezroczystość definiuje, w jakim stopniu dany obiekt jest widoczny na tle innych elementów graficznych. W systemach graficznych, takich jak Adobe Photoshop czy GIMP, kanał alfa może przyjmować wartości od 0 (całkowicie przezroczysty) do 255 (całkowicie nieprzezroczysty). Kiedy zmieniamy wartość kanału alfa, manipuluje to stopniem przezroczystości danego obiektu, co ma kluczowe znaczenie w projektowaniu graficznym oraz w tworzeniu efektów wizualnych. Przykładowo, w projektowaniu interfejsów użytkownika często stosuje się przezroczystość do uzyskania efektów wizualnych, które poprawiają estetykę oraz funkcjonalność. Dobrą praktyką jest używanie przezroczystości w celu tworzenia głębi i warstwowości w grafice, co może być przydatne w animacjach oraz w aplikacjach mobilnych, gdzie przejrzystość elementów interfejsu wpływa na użyteczność i doświadczenie użytkownika. Warto pamiętać, że manipulowanie kanałem alfa powinno być wcześniej przemyślane, aby osiągnąć zamierzony efekt wizualny bez negatywnego wpływu na czytelność i odbiór projektu.

Pytanie 38

Zamieszczony kod HTML formularza zostanie wyświetlony przez przeglądarkę w sposób:

<form>
stanowisko: <input type="text"><br>
obowiązki: <br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">testy oprogramowania<br>
</form>

A.

stanowisko: obowiązki: sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

B.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

C.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

D.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania
A. B.
B. C.
C. A.
D. D.
Przy ocenie, jak przeglądarka wyświetli formularz HTML, warto mieć na uwadze, że przeglądarki internetowe trzymają się dość sztywno tego, co wynika bezpośrednio z kodu źródłowego. Bardzo typowym błędem jest nadmierne skupienie się na samych polach wyboru czy zawartości formularza, bez uwzględnienia układu wynikającego z użycia znaczników <br> – to właściwie one decydują o tym, gdzie pojawiają się nowe linie. Ktoś może sądzić, że kolejność checked lub disabled zmieni znacząco wygląd – ale to nieprawda, bo atrybuty te wpływają na stan i interaktywność, a nie na rozmieszczenie. W jednej z błędnych propozycji pomieszano, które checkboxy są zaznaczone, a które nie, co prowadzi do przekłamań względem rzeczywistego kodu. Zdarza się też, że przy kopiowaniu kodu pomija się disabled lub checked przy konkretnym polu i całość wygląda inaczej niż powinna – tak po prostu nie działa przeglądarka. Ważne jest też zrozumienie, że disabled powoduje, iż pole jest wyszarzone i nie można na nim operować, natomiast checked przy polu checkbox ustawia je domyślnie jako zaznaczone. Pominięcie <br> po polu tekstowym sprawia, że kolejne elementy formularza lądują w jednej linii – co w praktyce bardzo rzadko się zdarza, bo narusza czytelność, a kod źródłowy wyraźnie tego nie przewiduje. Z mojego doświadczenia widziałem wiele formularzy, które przez nieuwagę programistów wprowadzały użytkownika w błąd przez złe rozmieszczenie elementów – nie chodzi tylko o „ładny wygląd”, ale też o funkcjonalność i dostępność. W praktyce branżowej trzymanie się tego, co wynika z kodu HTML, to podstawa, bo zapewnia przewidywalność działania na wszystkich platformach. Dobrym zwyczajem jest zawsze sprawdzić, jak kod wyświetla się w przeglądarce i porównać go z tym, co chcieliśmy osiągnąć. Dzięki temu unikamy nieporozumień i nieprawidłowych założeń, które mogą prowadzić do błędów zarówno w warstwie frontendowej, jak i podczas przetwarzania danych na serwerze.

Pytanie 39

W bazie danych wykonano poniższe polecenia dotyczące uprawnień użytkownika adam:

GRANT ALL PRIVILEGES ON klienci TO adam;
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;
Po wykonaniu tych instrukcji użytkownik adam uzyska dostęp do:
A. zmiany danych oraz przeglądania tabeli klienci
B. przeglądania tabeli klienci oraz dodawania do niej rekordów
C. tworzenia tabeli klienci i modyfikowania w niej danych
D. usunięcia tabeli lub jej rekordów
Użytkownik <b>adam</b> rzeczywiście uzyskuje pełne prawa do zarządzania tabelą <b>klienci</b> po wykonaniu polecenia GRANT ALL PRIVILEGES. To polecenie nadaje wszystkie możliwe uprawnienia, w tym SELECT (przeglądanie danych), INSERT (wstawianie nowych rekordów), UPDATE (aktualizowanie istniejących danych) oraz DELETE (usuwanie rekordów). W kontekście praktycznym, posiadanie ALL PRIVILEGES oznacza, że użytkownik ma swobodę w manipulowaniu danymi, co jest kluczowe w pracy z bazami danych. Na przykład, w aplikacji zarządzającej klientami, <b>adam</b> może zaktualizować szczegóły klienta, dodać nowych klientów do bazy oraz usunąć tych, którzy już nie są aktywni. Jednakże, ważne jest, aby przyznawanie takich uprawnień odbywało się zgodnie z zasadami minimalnych uprawnień, aby zredukować ryzyko nieautoryzowanych zmian. Dlatego też praktyki zarządzania użytkownikami w bazach danych powinny obejmować dokładne audyty uprawnień oraz regularne przeglądy przyznanych praw, aby zapewnić bezpieczeństwo danych.

Pytanie 40

Kiedy zakończy się wykonanie poniższego fragmentu kodu w języku C/C++, do zmiennej zwanej zmienna2 zostanie przypisane:

...
int zmienna1 = 158;
int *zmienna2 = &zmienna1;
A. przypisana liczba w kodzie binarnym odpowiadająca wartości przechowywanej w zmienna1
B. przypisany adres zmiennej o nazwie zmienna1
C. przypisana ta sama wartość, co przechowywana w zmienna1
D. przypisana zamieniona na łańcuch wartość przechowywana w zmienna1
Wskaźniki w językach C/C++ są jednymi z fundamentalnych koncepcji, które pozwalają na efektywne zarządzanie pamięcią oraz manipulację danymi na niskim poziomie. Błędne rozumienie przypisania wskaźników może prowadzić do nieporozumień. Kiedy przypisujemy zmienną typu wskaźnikowego, jak w int *zmienna2 = &zmienna1, przypisywany jest adres, a nie wartość. Odpowiedzi sugerujące przypisanie bezpośredniej wartości, jej binarnej reprezentacji lub konwersji do łańcucha są niepoprawne, ponieważ ignorują działanie operatora '&' oraz specyfikę wskaźników. Operator '&' zawsze zwraca adres pamięci, co umożliwia wskaźnikowi przechowywanie tego adresu. Pomijanie tego faktu jest częstym błędem, wynikającym z braku zrozumienia mechanizmów pamięci i wskaźników. Zrozumienie różnicy między wskaźnikiem a zwykłą zmienną jest kluczowe. Wskaźniki nie przechowują wartości zmiennych, lecz ich adresy, co pozwala na manipulację danymi w ich oryginalnym miejscu w pamięci. Ignorowanie tego aspektu prowadzi do logicznych błędów w programach i potencjalnych problemów z zarządzaniem pamięcią.