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: 9 czerwca 2026 06:52
  • Data zakończenia: 9 czerwca 2026 07:11

Egzamin zdany!

Wynik: 25/40 punktów (62,5%)

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 kodzie HTML zdefiniowano hiperłącze: <a href="http://website.com" rel="nofollow">link</a>. Użyty w nim atrybut rel="nofollow" w znaczniku <a>:

A. oznacza, że kliknięcie w link nie przeniesie użytkownika na stronę website.com
B. oznacza, że kliknięcie w link otworzy go w osobnej karcie przeglądarki
C. jest informacją dla robota wyszukiwarki, aby nie podążał za tym linkiem i nie przekazywał mu wartości rankingowej
D. jest poleceniem dla przeglądarki, aby nie traktowała słowa "link" jako odnośnika
Warto rozdzielić dwie rzeczy: działanie linku dla użytkownika i jego interpretację przez wyszukiwarki. Odpowiedź o braku przejścia na website.com oraz ta o renderowaniu słowa "link" mylą atrybut rel="nofollow" z zachowaniem przeglądarki - tymczasem nofollow nie dotyka sposobu, w jaki link działa czy wygląda; kliknięcie nadal otwiera stronę docelową. Odpowiedź o nowej karcie opisuje całkiem inny atrybut: za to odpowiada target="_blank", nie rel. Poprawna jest informacja o robocie wyszukiwarki: nofollow to sygnał dla wyszukiwarek, aby nie podążały za tym odnośnikiem i nie przekazywały mu wartości rankingowej. To narzędzie SEO służące do kontroli, które linki firmujemy autorytetem swojej witryny, a nie sposób na zmianę funkcjonowania samego hiperłącza.

Pytanie 2

Narzędzie zaprezentowane na ilustracji służy do

Ilustracja do pytania
A. walidacji kodu HTML i XHTML
B. debugowania strony internetowej
C. sprawdzania zgodności witryny ze standardem HTML5
D. walidacji stylów CSS
Narzędzie przedstawione na ilustracji to usługa walidacji CSS stworzona przez World Wide Web Consortium (W3C). Jego głównym celem jest sprawdzanie poprawności arkuszy stylów CSS pod kątem zgodności z obowiązującymi standardami. Walidacja CSS pozwala na identyfikację błędów składniowych oraz niepoprawnych wartości, co jest kluczowe dla zapewnienia spójności wyglądu strony w różnych przeglądarkach. Korzystanie z walidatora CSS jest częścią dobrych praktyk w procesie tworzenia stron internetowych, ponieważ poprawny kod CSS zwiększa dostępność i użyteczność serwisów. Praktycznym przykładem użycia tego narzędzia jest proces optymalizacji strony internetowej, gdzie walidator pomaga w eliminacji błędów, które mogą prowadzić do nieprzewidywalnego zachowania witryny. Dzięki walidacji możemy również upewnić się, że nasze arkusze stylów są zgodne z najnowszymi standardami, co jest istotne dla przyszłej kompatybilności serwisu.

Pytanie 3

Jakiej funkcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie tak, aby widoczne było jedynie to, co mieści się w ramce?

Ilustracja do pytania
A. Perspektywa
B. Lustro
C. Kadrowanie
D. Zmiana rozmiaru
Kadrowanie w edytorze grafiki rastrowej to naprawdę fajna technika, bo pozwala nam na wycięcie konkretnej części obrazu, którą chcemy pokazać. Dzięki temu skupiamy uwagę na tym, co w grafice najważniejsze, eliminując to, co jest zbędne. Przygotowując grafikę do wrzucenia na stronę www, dobrze jest pomyśleć o kadrowaniu, bo nie tylko poprawia estetykę, ale też sprawia, że strona działa szybciej. Mniejsza grafika to krótszy czas ładowania, co wszyscy lubią. Kadrowanie jest kluczowe, zwłaszcza w responsywnym web designie, gdzie musimy dostosować obrazy do różnych ekranów. Z praktyki wiem, że dobrze wykadrowany obraz to lepsza jakość przy mniejszej wadze pliku, co korzystnie wpływa na SEO i wrażenia użytkowników. W programach jak Adobe Photoshop czy GIMP kadrowanie jest dość proste i pozwala na szybkie dostosowanie obrazu do potrzeb projektu.

Pytanie 4

Jaką wartość zwróci funkcja napisana w języku C++, gdy jej argumentami są a = 4 i b = 3?

long int fun1(int a, int b) {
    long int wynik = 1;
    for (int i = 0; i < b; i++)
        wynik *= a;
    return wynik;
}
A. 1
B. 16
C. 64
D. 12
Wartości, które nie są prawidłowymi odpowiedziami, mogą wynikać z błędnych interpretacji działania funkcji. Na przykład, odpowiedź wskazująca na 1 sugeruje, że wynik funkcji zacząłby się od wartości zerowej, co jest nieprawidłowe, ponieważ każda potęga liczby wynosi co najmniej 1, o ile podstawą jest liczba różna od zera. Pomocne w zrozumieniu tego jest zapoznanie się z regułą mnożenia, która mówi, że każda liczba podniesiona do zera wynosi 1, ale w tym przypadku mamy do czynienia z dodatnimi argumentami. Z kolei odpowiedzi 12 i 16 mogą wynikać z błędnego zrozumienia liczby mnożenia, gdzie użytkownik mógłby przekonwertować działanie funkcji na inne operacje, takie jak dodawanie lub mnożenie bez zrozumienia, że przykład ilustruje potęgowanie. Tego typu błędy myślowe często prowadzą do mylnego rozumienia algorytmów, w których istotne jest, aby śledzić, co dzieje się z każdą iteracją pętli. Zrozumienie zasady działania pętli i ich zastosowania w kontekście potęgowania jest kluczem do poprawnego rozwiązywania zadań programistycznych. Dlatego ważne jest, aby dokładnie analizować działanie kodu i stosować dobrych praktyk, takich jak testowanie poszczególnych części kodu, aby upewnić się, że rozumiemy, co się dzieje w każdej iteracji.

Pytanie 5

Który znacznik HTML umożliwia DYNAMICZNE generowanie grafiki na stronie (bez dodatkowych plików)?

A.
<embed>
B.
<canvas>
C.
<img>
D.
<object>
Pozostałe znaczniki nie generują grafiki kodem. <img> tylko wyświetla gotowy plik obrazu. <object> i <embed> osadzają zewnętrzne zasoby (np. PDF, multimedia). Rysowanie grafiki w locie umożliwia <canvas>.

Pytanie 6

W HTML, aby dodać obrazek z tekstem przylegającym, umiejscowionym na środku obrazka, trzeba użyć znacznika

A. <img src="/obrazek.png" alt="obraz1" hspace="30px">tekst
B. <img src="/obrazek.png" alt="obraz4">tekst
C. <img src="/obrazek.png" alt="obraz2" align="middle">tekst
D. <img src="/obrazek.png" alt="obraz3" height="50%">tekst
Aby wstawić obrazek z tekstem przyległym w HTML, należy skorzystać ze znacznika <img> z atrybutem align ustawionym na 'middle'. Atrybut align jest przestarzały w HTML5, ale nadal może być używany w kontekście tekstów przylegających do obrazków. Ustawiając 'middle', obrazek będzie wyśrodkowany w pionie względem linii tekstu, co pozwala na estetyczne umiejscowienie obrazu w odniesieniu do towarzyszącego mu tekstu. Dobrym przykładem jest zastosowanie <img src='/obrazek.png' alt='obraz2' align='middle'>tekst, co sprawia, że obrazek staje się integralną częścią tekstu, a nie tylko jego dodatkiem. W kontekście standardów, warto zauważyć, że HTML5 zaleca stosowanie CSS do pozycjonowania, dlatego bardziej współczesnym podejściem byłoby użycie stylów CSS, np. 'vertical-align: middle'. Można to osiągnąć poprzez dodanie klasy do obrazka oraz odpowiedniego stylu CSS. Chociaż align jest przestarzały, jego rozumienie jest istotne dla osób przystosowujących starsze strony do nowych standardów.

Pytanie 7

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. Punto, Corsa, Astra, Corolla, Yaris
B. Punto, Corsa, Corolla
C. Fiat, Opel, Toyota
D. Czerwony, grafitowy
Pierwsza odpowiedź Fiat, Opel, Toyota jest nieprawidłowa, bo zapytanie SQL wybiera kolumnę model, a nie marka. Marka to producent samochodu, więc to trochę mylące, ale w SQL to ważna różnica. Druga odpowiedź Czerwony, grafitowy też jest zła, bo odnosi się do koloru aut, a nie modeli. Zapytanie SQL SELECT model FROM samochody WHERE rocznik=2016 jasno pokazuje, że chodzi o modele, a nie kolory. To częsty błąd, gdy nie patrzy się na kolumnę wybraną w zapytaniu. Czwarta opcja Punto, Corsa, Astra, Corolla, Yaris ma kilka modeli, które są w porządku, ale też dodatkowe, które nie pasują do rocznika 2016. To typowe, gdy wyciąga się za daleko i zakłada więcej niż mówi zapytanie. Umiejętność dokładnego rozumienia wyników zapytań SQL jest ważna, zwłaszcza gdy analizujesz dane, bo błędna interpretacja prowadzi do złych wniosków. Dobrze jest zwracać uwagę na szczegóły, takie jak kolumny i warunki w zapytaniu, bo to kluczowe w pracy z bazami danych. Fajnie jest zrozumieć każdy element składni SQL, żeby unikać błędnych założeń i mieć pewne dane do analizy, co jest ważne w dobrym zarządzaniu danymi.

Pytanie 8

W języku JavaScript funkcja getElementById odnosi się do

A. zmiennej numerycznej
B. elementu HTML z podanym id
C. klasy zdefiniowanej w CSS
D. elementu HTML z określoną nazwą klasy
Wybór odpowiedzi dotyczącej zmiennej liczbowej jest błędny, ponieważ metoda getElementById nie odnosi się w żaden sposób do typów danych, takich jak liczby. Metoda ta jest skoncentrowana na manipulacji elementami HTML, a nie na danych. Natomiast powiązanie z klasą zdefiniowaną w CSS jest również mylące. getElementById nie działa na klasach; zamiast tego, aby uzyskać elementy na podstawie klasy, używa się metody getElementsByClassName lub querySelector. Identyfikowanie elementów za pomocą klas nie jest wystarczające, ponieważ może prowadzić do sytuacji, gdzie wiele elementów ma tę samą klasę, co nie jest zgodne z ideą unikalności id. Próba użycia id w kontekście tagów HTML o podanej nazwie klasy również jest błędna, ponieważ id powinno być używane do unikalnego identyfikowania elementów, a klasy służą do grupowania elementów. Niektórzy deweloperzy mogą mylić te dwa koncepty, co prowadzi do nieefektywnego kodu oraz problemów w zarządzaniu stylami i skryptami. W związku z tym, kluczowe jest, aby pamiętać, że getElementById jest dedykowane do pracy z unikalnymi identyfikatorami, a nie z klasami czy innymi typami danych.

Pytanie 9

Warunek zapisany w JavaScript jest prawdziwy, gdy zmienna x przechowuje:

if ((!isNaN(x)) && (x > 0))
A. pusty napis.
B. dowolną dodatnią wartość liczbową.
C. napis.
D. dowolną całkowitą wartość liczbową.
Warunek z zadania jest dobrym przykładem na to, jak JavaScript łączy sprawdzanie typu z logiką biznesową i gdzie często pojawiają się nieporozumienia. Kluczowe są tu dwie rzeczy: funkcja isNaN(x) oraz operator porównania x > 0. isNaN(x) zwraca true, gdy przekazana wartość „nie jest liczbą”, a więc !isNaN(x) oznacza, że x jest liczbą lub może zostać poprawnie zinterpretowane jako liczba. To automatycznie eliminuje typowe napisy, takie jak "abc" czy "test", bo one po konwersji dadzą NaN. Dlatego odpowiedź, że warunek jest prawdziwy dla napisu jako takiego, jest myląca – zwykły string tekstowy nie przejdzie tego filtra. Pusty napis też bywa źródłem zamieszania. W JavaScript isNaN("") zwraca false, bo pusty string jest konwertowany do 0, więc !isNaN("") jest prawdą. Jednak druga część warunku, czyli (x > 0), już nie przejdzie, bo 0 nie jest większe od zera. To pokazuje, że sam fakt „nie bycia NaN” nie wystarcza, potrzebny jest jeszcze sensowny zakres wartości. Częsty błąd polega na tym, że ktoś widzi isNaN i myśli tylko w kategoriach typu, a zapomina o tej części z porównaniem. Kolejny typowy skrót myślowy to przekonanie, że skoro jest sprawdzanie „czy to liczba”, to chodzi o dowolną wartość całkowitą. Tymczasem w warunku nie ma ani słowa o tym, że liczba musi być całkowita – nie ma tu żadnego sprawdzania modulo, parsowania przez parseInt, ani Math.floor. Warunek dopuszcza zarówno 1, jak i 1.5, 3.14 czy 0.0001, byle tylko były większe od zera i nie były NaN. W praktyce w JavaScript takie podejście jest zgodne z tym, jak działa typ number – reprezentuje zarówno liczby całkowite, jak i zmiennoprzecinkowe w jednym typie. Z mojego doświadczenia większość pomyłek przy takich zadaniach wynika z mieszania pojęć „napis, który wygląda jak liczba” z „napis jako tekst” oraz z ignorowania wpływu automatycznej konwersji typów. Dlatego przy projektowaniu walidacji wejścia warto zawsze myśleć o dwóch krokach: najpierw jawnie zamieniamy dane na liczbę, potem dopiero sprawdzamy zakres i warunki biznesowe, zamiast zakładać, że isNaN załatwi wszystko za nas.

Pytanie 10

Jaką relację w projekcie bazy danych należy zdefiniować pomiędzy tabelami przedstawionymi na rysunku, zakładając, że każdy klient sklepu internetowego składa przynajmniej dwa zamówienia?

Ilustracja do pytania
A. n:n
B. 1:1
C. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
D. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
Zrozumienie poprawnej relacji między tabelami jest kluczowe w projektowaniu bazy danych. Relacja 1:1 oznacza, że każda rekord w jednej tabeli odpowiada dokładnie jednemu rekordowi w drugiej tabeli, co w tym przypadku byłoby nieefektywne, ponieważ ogranicza możliwość dodawania wielu zamówień dla jednego klienta. W praktyce rzadko stosuje się takie relacje, chyba że dane są bardzo specyficzne i nie mogą być rozdzielone. Relacja 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta, jest nieprawidłowa, ponieważ implikuje, że jedno zamówienie może być przypisane wielu klientom, co jest sprzeczne z rzeczywistością e-commerce, gdzie każde zamówienie jest związane z jednym klientem. Relacja n:n sugeruje, że wiele rekordów w jednej tabeli może być powiązanych z wieloma rekordami w drugiej tabeli. Choć czasami używana, wymaga dodatkowej tabeli pośredniczącej, aby uniknąć redundancji i anomalii. W tym kontekście relacja n:n nie jest potrzebna, ponieważ prosta relacja 1:n już spełnia wymagania funkcjonalne, umożliwiając jednemu klientowi złożenie wielu zamówień bez konieczności komplikowania struktury bazy danych. Prawidłowe zrozumienie tych koncepcji pozwala na projektowanie efektywnych i wydajnych systemów bazodanowych, które są kluczowe dla sukcesu w wielu branżach, zwłaszcza w handlu elektronicznym, gdzie zarządzanie relacjami klientów i ich zamówieniami jest podstawą działalności.

Pytanie 11

Aby obraz wstawiony na stronę internetową mógł dostosować się automatycznie do wymiarów ekranu, na którym jest wyświetlany, konieczne jest

A. niezmienianie obu jego wymiarów za pomocą stylów CSS
B. ustawienie jego szerokości w wartościach procentowych
C. ustawienie obu jego rozmiarów w pikselach
D. ustawienie jednego z jego wymiarów w pikselach
Ustawienie szerokości obrazu w wartościach procentowych jest kluczowym aspektem responsywnego projektowania stron internetowych. Dzięki temu obraz automatycznie dostosowuje się do szerokości kontenera, w którym jest umieszczony, co pozwala na płynne skalowanie w zależności od rozmiaru ekranu. Na przykład, jeśli szerokość obrazu ustawimy na 100%, to obraz będzie zawsze zajmował całą szerokość swojego kontenera, co jest szczególnie ważne w przypadku urządzeń mobilnych oraz różnych rozdzielczości ekranów. To podejście wspiera zasady projektowania responsywnego, które są fundamentem nowoczesnych stron internetowych. Dodatkowo, stosowanie jednostek procentowych zamiast pikseli umożliwia lepszą dostępność i poprawia doświadczenia użytkowników, eliminując problemy związane z przewijaniem lub wyświetlaniem treści poza ekranem. Obrazy ustawione w procentach pozwalają na bardziej elastyczne układy, które lepiej reagują na zmiany rozmiarów okien przeglądarki, co jest zgodne z najlepszymi praktykami w branży, takimi jak użycie Frameworków CSS, jak Bootstrap, które bazują na responsywnych gridach.

Pytanie 12

Jakie działanie wykonuje poniższy fragment kodu w języku JavaScript? n = "Napis1"; s = n.length;

A. Przypisuje wartość zmiennej n do zmiennej s
B. Przypisuje do zmiennej s wartość odpowiadającą długości napisu z zmiennej n
C. Przypisuje do zmiennej s część napisu z zmiennej n, o długości określonej przez zmienną length
D. Zwraca długość napisu zawartego w zmiennej n
Odpowiedzi, które błędnie interpretują fragment kodu, wskazują na nieporozumienie dotyczące działania właściwości length oraz przypisania wartości w JavaScript. Przypisanie zmiennej n do zmiennej s nie jest możliwe w kontekście omawianego fragmentu, ponieważ zmienna s nie przyjmuje obiektu, a wyłącznie wartość długości napisu. Stwierdzenie, że skrypt wyświetli długość napisu, jest również nieprawidłowe, ponieważ w danym kodzie nie ma operacji wyświetlania - zmienne są jedynie przypisane. Kolejnym błędnym wnioskiem jest przypisanie fragmentu napisu do zmiennej s, co nie ma miejsca, ponieważ length zwraca tylko liczbę, a nie podłańcuch. Podstawowym błędem myślowym jest pomylenie przypisania wartości z operacjami wyświetlania i manipulacji łańcuchami. Warto zrozumieć, że JavaScript, jako język o dynamicznej typizacji, wymaga precyzyjnego rozumienia typów danych, a także właściwości i metod obiektów, co jest kluczowe dla efektywnego programowania. Niezrozumienie tych podstawowych konceptów może prowadzić do wielu błędów w kodzie, które są trudne do zdiagnozowania, a także mogą wpływać na wydajność i stabilność aplikacji.

Pytanie 13

Jaką postać ma kolor zdefiniowany w formacie szesnastkowym jako #11FE07 w modelu RGB?

A. rgb(17, 254, 7)
B. rgb(17, FE, 7)
C. rgb(ll, 127, 7)
D. rgb(17, 255, 7)
Odpowiedź rgb(17, 254, 7) jest jak najbardziej trafna, bo wartości RGB ustalamy na podstawie kolorów, które mamy w formacie szesnastkowym. Dla koloru #11FE07, pierwsza część '11' to czerwień (R), druga część 'FE' to zieleń (G), a ostatnia '07' to niebieski (B). Jak to zliczamy? Wartości szesnastkowe przeliczamy na dziesiętne. Czyli '11' w szesnastkowym to 17 w dziesiętnym, 'FE' to 254, a '07' to po prostu 7. Te kolory RGB są super ważne w wielu dziedzinach, jak na przykład w projektowaniu stron www czy w grafice komputerowej. W3C ustala standardy dla tych wartości, dlatego są one spójne i użyteczne w sieci. Dopasowanie kolorów RGB jest kluczowe, kiedy tworzymy ładne palety kolorów, które są nie tylko estetyczne, ale też dostępne dla wszystkich. Takim przykładem może być dobór kolorów dla przycisków na stronie - jak dobrze je dobierzemy, to użytkownik łatwiej zauważy, co ma kliknąć.

Pytanie 14

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. zmianę intensywności kolorów
B. gradient okrągły
C. gradient liniowy
D. kanał alpha
Gradient liniowy to narzędzie stosowane w edytorach grafiki rastrowej do tworzenia płynnych przejść pomiędzy dwoma lub więcej kolorami w zadanym kierunku najczęściej poziomym lub pionowym. W praktyce gradient liniowy jest kluczowy w projektowaniu graficznym ponieważ pozwala na subtelne cieniowanie i nadawanie głębi elementom wizualnym. Przykładowo stosuje się go w tworzeniu tła logotypów czy też przycisków interfejsów użytkownika. Proces tworzenia gradientu liniowego opiera się na ustawieniu punktów początkowych i końcowych oraz przypisaniu im odpowiednich wartości kolorystycznych co podkreśla jego wszechstronność. Standardowym podejściem jest użycie gradientu liniowego w celu uzyskania efektu trójwymiarowości co jest zgodne z dobrymi praktykami projektowania UX i UI. W kontekście branżowym gradienty liniowe są nieodłącznym elementem narzędzi takich jak Adobe Photoshop czy GIMP gdzie umożliwiają manipulację barwą i luminancją co jest kluczowe w profesjonalnym edytowaniu obrazów.

Pytanie 15

W języku JavaScript rezultat wykonania polecenia

zmienna1 -= 1;
będzie tożsamy z wynikiem polecenia
A. zmienna1 === zmienna1 - 1;
B. zmienna1++;
C. zmienna1 = zmienna1 - 0;
D. zmienna1--;
Istnieje wiele koncepcji, które mogą prowadzić do błędnych wniosków dotyczących działania przypisania i operatorów w JavaScript. Zaczynając od zmienna1++, jest to operator inkrementacji, który zwiększa wartość zmiennej o jeden, a nie ją zmniejsza. W związku z tym, ta odpowiedź jest zasadniczo błędna, ponieważ zmienia wartość w przeciwnym kierunku. Kolejna odpowiedź, zmienna1 === zmienna1 - 1;, wyraża porównanie logiczne, które sprawdza, czy zmienna1 jest równa zmiennej zmniejszonej o jeden. Nie jest to tożsame z wykonaniem dekrementacji i wprowadza dodatkowe zamieszanie, gdyż nie zmienia wartości zmiennej, a jedynie zwraca wartość logiczną (true lub false). Natomiast zmienna1 = zmienna1 - 0; jest także błędna, gdyż ta instrukcja nie wpływa na wartość zmiennej, jedynie przypisuje jej tę samą wartość, co również nie jest zgodne z celem dekrementacji. Takie nieporozumienia mogą wynikać z braku znajomości podstawowych operatorów i ich zastosowania, co jest kluczowe w programowaniu. Ważne jest, aby zrozumieć, że operatorzy wpływają na zmiany wartości, a nie tylko na ich porównania. Warto także pamiętać, że efektywne pisanie kodu powinno opierać się na zrozumieniu działania operatorów, co przyczyni się do tworzenia kodu, który jest zarówno funkcjonalny, jak i łatwy do zrozumienia w kontekście współpracy w zespole programistycznym.

Pytanie 16

W jaki sposób wykonanie podanej poniżej kwerendy SQL wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char9);
A. Doda kolumnę plec ze znakowym typem danych o zmiennej długości 9.
B. Doda kolumnę plec ze znakowym typem danych o stałej długości 9.
C. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9.
D. Zmieni typ danych kolumny plec na znakowy o stałej długości 9.
Wykonanie kwerendy SQL ALTER TABLE pracownicy MODIFY plec char(9) zmienia typ danych kolumny 'plec' w tabeli 'pracownicy' na typ znakowy o stałej długości wynoszącej 9 znaków. Oznacza to, że każda wartość w tej kolumnie może zajmować do 9 znaków, a system będzie rezerwować dokładnie tę ilość miejsca w bazie danych. Typ char jest używany, gdy znana jest maksymalna długość danych, co pozwala na bardziej efektywne zarządzanie pamięcią i skrócenie czasu dostępu do danych. Przykładem zastosowania tego typu danych może być, na przykład, przechowywanie informacji o płci, gdzie 'M' oznacza mężczyznę, a 'K' kobietę. Przed wprowadzeniem tej kwerendy ważne jest, aby upewnić się, że wszystkie istniejące dane w kolumnie plec są zgodne z nowym formatem, aby uniknąć potencjalnych problemów z utratą danych lub błędami podczas konwersji. Standardy SQL, takie jak ANSI SQL, definiują typy danych i operacje na nich, co zapewnia, że kwerendy są przenośne między różnymi systemami baz danych.

Pytanie 17

Która jednostka CSS jest WZGLĘDNA i zależy od rozmiaru czcionki?

A.
pt
B.
px
C.
in
D.
em
Pozostałe jednostki są STAŁE (bezwzględne). px to piksele, pt to punkty typograficzne (1/72 cala), a in to cale - nie zależą od rozmiaru czcionki. Zależnością od rozmiaru pisma cechuje się em.

Pytanie 18

Wskaż blok, który jest sformatowany zgodnie z podanym stylem CSS.

background: linear-gradient(to right, LightBlue, DarkBlue);
Ilustracja do pytania
A. Blok 4
B. Blok 1
C. Blok 3
D. Blok 2
Blok 2 jest poprawną odpowiedzią ponieważ wykorzystuje styl CSS background linear-gradient(to right LightBlue DarkBlue) co oznacza że gradient kolorów rozciąga się od lewej do prawej strony elementu CSS linear-gradient pozwala na tworzenie gładkich przejść między kolorami co jest popularną techniką w projektowaniu stron internetowych Styl ten dodaje wizualnej atrakcyjności i może być użyty w różnych częściach witryny takich jak przyciski nagłówki czy tła sekcji Właściwość gradientu pozwala na zastosowanie wielu kolorów i kontrolowanie ich punktów początkowych i końcowych co zwiększa elastyczność projektowania Ponadto gradienty są wspierane przez wszystkie nowoczesne przeglądarki co czyni je doskonałym wyborem dla responsywnych stron internetowych Wykorzystanie gradientów zamiast obrazów tła pomaga także w optymalizacji strony zmniejszając czas ładowania co jest zgodne z najlepszymi praktykami branżowymi i wpływa pozytywnie na doświadczenie użytkownika CSS oferuje również inne typy gradientów takie jak radial-gradient i conic-gradient które mogą być używane w zależności od potrzeb projektowych

Pytanie 19

W jaki sposób, stosując język PHP można usunąć ciasteczko o nazwie ciastko?

A. setcookie(""$ciastko"", """", 0);
B. unsetcookie(""$ciastko"");
C. setcookie(""ciastko"", """", time()-3600);
D. deletecookie(""ciastko"");
Odpowiedź setcookie("ciastko", "", time()-3600) jest poprawna, ponieważ to standardowy sposób usuwania ciasteczek w PHP. Funkcja setcookie odsyła nagłówek HTTP do przeglądarki, informując ją, że ciasteczko o podanej nazwie ('ciastko') powinno być usunięte. Aby to osiągnąć, musisz ustawić wartość ciasteczka na pusty ciąg oraz określić czas wygaśnięcia na przeszły, co w tym przypadku realizuje polecenie time()-3600. Dobre praktyki sugerują, że zawsze należy wyznaczyć ten czas, aby mieć pewność, że ciasteczko zostanie usunięte niezależnie od ustawień przeglądarki użytkownika. Warto również pamiętać, że aby usunięcie ciasteczka było skuteczne, należy użyć takiej samej ścieżki oraz domeny, które zostały użyte przy ustawieniu ciasteczka. Przykładowe zastosowanie to logowanie wyjścia użytkownika, gdzie usunięcie ciasteczek jest kluczowe dla zapewnienia bezpieczeństwa aplikacji. Dodatkowo, jako dobry zwyczaj, przed usunięciem ciasteczek można sprawdzić, czy istnieją, aby uniknąć niepotrzebnych operacji.

Pytanie 20

Warunek zapisany w PHP wyświetli liczbę, jeśli

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. jest ona parzysta
B. jest ona liczbą pierwszą
C. wynik dzielenia liczby przez 2 wynosi 0
D. jest ona dodatnia
Warunek zapisany w języku PHP używa operatora modulo (%) do sprawdzenia, czy dana liczba jest parzysta. Operator modulo zwraca resztę z dzielenia liczby przez inną liczbę co w przypadku parzystości oznacza że reszta z dzielenia liczby przez 2 wynosi 0. W praktyce wykorzystuje się to do sprawdzenia czy liczba jest podzielna przez 2 bez reszty co jest definicją liczby parzystej. W kodowaniu warunki te są przydatne w algorytmach które wymagają działania na liczbach parzystych lub nieparzystych jak np. filtrowanie danych czy sortowanie. Dobre praktyki programistyczne sugerują wykorzystywanie tego typu operacji w przypadku gdy istnieje potrzeba optymalizacji warunków logicznych w kodzie. Umiejętność rozpoznawania i implementacji takich wzorców kodowania jest kluczowa dla pisania efektywnego i czytelnego kodu. Dzięki temu łatwiej można zarządzać dużymi zbiorami danych i operować na nich w sposób zautomatyzowany co jest podstawą w dzisiejszych aplikacjach webowych.

Pytanie 21

Podczas wykonywania zapytania można skorzystać z klauzuli DROP COLUMN

A. ALTER COLUMN
B. CREATE TABLE
C. ALTER TABLE
D. DROP TABLE
Pozostałe odpowiedzi odzwierciedlają nieprawidłowe zrozumienie kontekstu zapytań SQL i ich zastosowania. DROP TABLE jest poleceniem służącym do usunięcia całej tabeli, co oznacza, że wszystkie dane w tej tabeli zostaną bezpowrotnie skasowane. To podejście odnosi się do całkowitego likwidowania tabeli, a nie pojedynczych kolumn, co czyni je nieadekwatnym w kontekście zadania. W podobny sposób, ALTER COLUMN to niepoprawne określenie, ponieważ polecenie ALTER TABLE używa się do modyfikacji kolumn, a nie do ich usuwania. Użycie ALTER COLUMN wymagałoby określenia jakiejś zmiany w strukturze kolumny, a pytanie dotyczy usunięcia kolumny, co jest realizowane poprzez DROP COLUMN. Z kolei CREATE TABLE jest używane do tworzenia nowych tabel, co również jest niezgodne z wymaganiami pytania, które dotyczy modyfikacji istniejącej struktury. Te błędne wybory mogą wynikać z mylenia pojęć związanych z działaniem na bazach danych oraz z braku zrozumienia, jak odpowiednie polecenia SQL są stosowane w praktyce. Kluczowe jest zrozumienie, że każde z wymienionych poleceń ma swoje specyficzne zastosowanie, a ich pomylenie prowadzi do nieefektywnego zarządzania danymi.

Pytanie 22

W firmowej tabeli znajdują się kolumny: nazwa, adres, NIP, obrót (obrót w ostatnim miesiącu), rozliczenie oraz status. Po wykonaniu kwerendy SQL

SELECT nazwa, NIP FROM firmy WHERE obrot < 4000;
na ekranie pojawią się:
A. wszystkie informacje o firmach, które w ostatnim miesiącu miały obrót poniżej 4000 zł
B. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł
C. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł
D. wszystkie informacje o firmach, które w ostatnim miesiącu uzyskały obrót co najmniej 4000 zł
W tej kwerendzie SQL chodziło o to, aby zrozumieć, że zapytanie 'SELECT nazwa, NIP FROM firmy WHERE obrót < 4000;' zwróci tylko nazwy firm i ich numery NIP. Tylko te firmy, co miały obrót poniżej 4000 zł w ostatnim miesiącu. SQL jako język zapytań daje nam możliwość wybierania konkretnych kolumn z tabeli i filtrowania wyników według różnych warunków. Tu wybraliśmy kolumny 'nazwa' i 'NIP', a filtr 'WHERE obrót < 4000' pokazuje nam tylko te firmy, które spełniają ten warunek. To bardzo ważne w praktycznym użyciu SQL, bo często musimy wyświetlać dane według określonych kryteriów. Dzięki temu zapytaniu łatwo możemy zidentyfikować firmy, które mogą potrzebować wsparcia finansowego lub jakiejś pomocy z powodu niskiego obrotu.

Pytanie 23

Czynnością zalecaną przed wykonaniem kopii zapasowej bazy danych MySQL jest:

A. zdefiniowanie systemu kodowania znaków w bazie
B. nadanie administratorowi uprawnień do przeglądania bazy
C. sprawdzenie integralności bazy i ewentualna jej naprawa
D. sprawdzenie, czy baza jest dostatecznie wydajna
Kopia zapasowa ma sens tylko, gdy zapisuje sprawne dane. Jeśli baza jest uszkodzona, backup utrwali błędy i przy odtwarzaniu odzyskamy wadliwy stan. Dlatego przed wykonaniem kopii zaleca się sprawdzenie integralności bazy (np. CHECK TABLE) i ewentualną naprawę (REPAIR TABLE). Dopiero zdrową bazę warto archiwizować. Dlatego poprawne jest sprawdzenie integralności i ewentualna naprawa.

Pytanie 24

Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
B. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
C. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id
Odpowiedź 4 jest prawidłowa, ponieważ prawidłowo wykorzystuje składnię SQL do połączenia dwóch tabel oraz filtrowania danych na podstawie podanego warunku. Kwerenda używa JOIN, aby połączyć tabele Klienci i Uslugi na podstawie wspólnej kolumny uslugi_id, co jest zgodne z zasadami relacyjnej bazy danych, gdzie klucz obcy w jednej tabeli odnosi się do klucza głównego w innej tabeli. Następnie, kwerenda stosuje filtrację WHERE cena > 10, co pozwala na wybór tylko tych rekordów, gdzie cena usługi przekracza 10 zł. Jest to zgodne z praktyką selektywnego pobierania danych, co jest kluczowe w optymalizacji zapytań i skutecznym zarządzaniu zasobami bazy danych. Zastosowanie takich technik jest standardem w branży, umożliwiając efektywne zarządzanie dużymi zbiorami danych oraz zwiększenie wydajności aplikacji poprzez ograniczenie liczby zwracanych wierszy do tych, które spełniają określone kryteria. Zrozumienie i umiejętność implementacji takich zapytań SQL to podstawowa umiejętność dla specjalistów IT pracujących z bazami danych.

Pytanie 25

Na ilustracji przedstawiono związek jeden do wielu. Łączy on

Ilustracja do pytania
A. klucz obcy rezyserzy_id w tabeli filmy z kluczem obcym id w tabeli rezyserzy
B. klucz obcy rezyserzy_id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
C. klucz podstawowy id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
D. klucz podstawowy id w tabeli z kluczem obcym rezyserzy_id w tabeli rezyserzy
Relacja jeden do wielu jest kluczowym elementem projektowania baz danych i występuje, gdy pojedynczy rekord w jednej tabeli może być powiązany z wieloma rekordami w innej tabeli. W tym przypadku mamy do czynienia z relacją między tabelą 'rezyserzy' i 'filmy'. Klucz podstawowy 'id' w tabeli 'rezyserzy' jest związany z kluczem obcym 'rezyserzy_id' w tabeli 'filmy'. Oznacza to, że jeden reżyser może być autorem wielu filmów. Klucz obcy w tabeli 'filmy' wskazuje na odpowiedni rekord w tabeli 'rezyserzy', co zapewnia integralność danych i umożliwia wykonywanie operacji takich jak JOIN w języku SQL, co jest przydatne przy pobieraniu danych z obu tabel jednocześnie. W praktyce stosowanie kluczy obcych jest standardową praktyką w projektowaniu relacyjnych baz danych, ponieważ ułatwia organizację i normalizację danych. Zrozumienie tych relacji jest niezbędne dla każdego, kto pracuje z bazami danych, gdyż pozwala na efektywne zarządzanie i analizowanie danych w skomplikowanych systemach informatycznych.

Pytanie 26

Polecenie w języku SQL w formie

ALTER TABLE 'miasta' 
ADD 'kod' text; 
A. dodaje do tabeli kolumnę o nazwie kod typu text.
B. w tabeli miasta zmienia nazwę kolumny kod na text.
C. dodaje do tabeli dwie kolumny o nazwach: kod i text.
D. zmienia nazwę tabeli miasta na kod.
Poprawna odpowiedź to 'dodaje do tabeli kolumnę o nazwie kod typu text'. Polecenie SQL ALTER TABLE służy do modyfikacji struktury istniejącej tabeli, a w tym przypadku dodaje nową kolumnę do tabeli 'miasta'. Składnia ADD 'kod' text oznacza, że do tabeli zostanie dodana kolumna o nazwie 'kod', której typ danych to 'text'. Typ danych 'text' jest używany do przechowywania długich ciągów tekstowych, co jest przydatne w przypadku danych takich jak opisy czy komentarze. W praktyce, dodawanie kolumn do tabeli jest często wykorzystywane w procesie rozwoju bazy danych, aby dostosować strukturę do zmieniających się potrzeb aplikacji. W przypadku dodawania kolumn w sposób nieinwazyjny, jak w tym przykładzie, zapewniamy, że istniejące dane nie zostaną utracone, a nowa kolumna będzie dostępna do natychmiastowego użycia. Warto również pamiętać, aby stosować konwencje nazewnictwa, które poprawiają czytelność i zrozumiałość kodu SQL, co jest zalecane w dobrych praktykach projektowania baz danych.

Pytanie 27

Które polecenie naprawi uszkodzoną tabelę?

A.
REGENERATE TABLE tbl_name
B.
OPTIMIZE TABLE tbl_name
C.
REPAIR TABLE tbl_name
D.
ANALYZE TABLE tbl_name
Uszkodzoną tabelę naprawia polecenie REPAIR TABLE tbl_name - próbuje odbudować jej strukturę i indeksy po awarii (np. przerwanym zapisie). Zapamiętaj nazwę wprost: „repair” = napraw tabelę.

Pytanie 28

W języku C do reprezentowania liczb zmiennoprzecinkowych używa się typu:

A.
char
B.
double
C.
int
D.
bool
Pozostałe typy nie nadają się do liczb z częścią ułamkową. char przechowuje pojedynczy znak (a niskopoziomowo małą liczbę całkowitą), więc nie odwzoruje wartości typu 3.14. int trzyma wyłącznie liczby całkowite - przypisanie ułamka spowodowałoby odcięcie części po przecinku. bool przechowuje tylko wartość logiczną (prawda/fałsz), czyli zupełnie inny rodzaj danych. Liczby zmiennoprzecinkowe reprezentuje double (lub float), dlatego to on jest poprawny.

Pytanie 29

Ikona funkcji w edytorze grafiki rastrowej oznaczona jako „różdżka” pozwala na

Ilustracja do pytania
A. zaznaczenie obszaru w oparciu o kolor
B. wybiórcze nakładanie koloru przy użyciu pędzla
C. ręczne zaznaczanie fragmentów poprzez przeciąganie kursora
D. wybranie konkretnego koloru i ustawienie go jako aktywnego
Pierwsza odpowiedź sugeruje, że narzędzie różdżki służy do rozsmarowywania koloru za pomocą pędzla, co jest nieprawidłowym zrozumieniem jego funkcji. Rozsmarowywanie koloru to technika, która zwykle wykorzystuje narzędzie smudge, które jest przeznaczone do symulacji efektu fizycznego rozmazywania farby na płótnie. Różdżka nie ma tej zdolności, jej działanie opiera się na zaznaczaniu pikseli o zbliżonej kolorystyce. Odręczne zaznaczanie obszarów przez przeciąganie kursora, jak to opisano w drugiej odpowiedzi, jest zadaniem wykonywanym przez narzędzie lasso lub pióro. Różdżka działa automatycznie na podstawie koloru, nie wymaga ręcznego prowadzenia kursora po krawędziach obszaru. Czwarta odpowiedź odnosi się do funkcji pipety, która służy do pobierania koloru z obrazu i ustawiania go jako aktywnego do dalszego użytku w projekcie. Różdżka nie modyfikuje aktywnego koloru, ale pomaga w identyfikacji i zaznaczeniu obszarów o podobnej kolorystyce w celu ich edycji. Błędne postrzeganie tych funkcji często wynika z nieuwagi lub braku zrozumienia specyfiki narzędzi graficznych, co jest kluczowe w profesjonalnej pracy z obrazami i wymaga jasnego zrozumienia różnic oraz zastosowań poszczególnych narzędzi w edytorze graficznym. Aby unikać takich nieporozumień, zaleca się regularną praktykę oraz zapoznanie się z dokumentacją i tutorialami dotyczącymi używanego oprogramowania graficznego, co pozwoli na bardziej efektywne wykorzystanie potencjału dostępnych narzędzi.

Pytanie 30

Z ilustracji można odczytać, że użytkownik bazy danych posiada uprawnienia do:

Ilustracja do pytania
A. wyświetlania, dodawania i usuwania danych.
B. wyświetlania, dodawania i aktualizacji danych.
C. wyświetlania, aktualizacji i usuwania danych.
D. dodawania, aktualizacji i usuwania danych.
Na ilustracji widać listę uprawnień do bazy danych w typowym narzędziu administracyjnym (bardzo podobne okno można spotkać np. w phpMyAdminie). Zaznaczone są pola SELECT, UPDATE i DELETE, a niezaznaczone INSERT oraz FILE. W praktyce oznacza to, że użytkownik może odczytywać dane (SELECT), modyfikować istniejące rekordy (UPDATE) oraz je usuwać (DELETE), ale nie ma prawa dodawać nowych wierszy (INSERT) ani operować na plikach na serwerze (FILE). Dlatego poprawna odpowiedź to: „wyświetlania, aktualizacji i usuwania danych”. SELECT odpowiada za wyświetlanie/odczyt danych, UPDATE za aktualizację rekordów, a DELETE za kasowanie danych w tabelach. W administracji bazą danych takie precyzyjne rozróżnienie uprawnień jest jedną z podstawowych dobrych praktyk bezpieczeństwa: użytkownik powinien mieć dokładnie takie prawa, jakich potrzebuje do pracy (zasada najmniejszych uprawnień – least privilege). Na przykład: typowy użytkownik aplikacji raportującej potrzebuje zwykle tylko SELECT, bo ma jedynie oglądać dane. Pracownik działu obsługi klienta może mieć SELECT i UPDATE, aby poprawiać błędne dane klientów, ale niekoniecznie DELETE, żeby przypadkiem nie usuwać rekordów. Z kolei konto techniczne używane przez skrypty migracyjne albo instalator systemu może mieć pełen zestaw: SELECT, INSERT, UPDATE, DELETE. Moim zdaniem warto od razu kojarzyć te nazwy z typowymi poleceniami SQL, bo później, przy pisaniu zapytań w kodzie (PHP, JavaScript z backendem, itp.), dokładnie te same słowa kluczowe pojawiają się w instrukcjach. Jeśli system pokazuje uprawnienia tak jak na obrazku, zawsze patrz najpierw, które checkboxy są zaznaczone, i od razu tłumacz je sobie na: odczyt, dodawanie, zmiana, usuwanie danych.

Pytanie 31

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

Ilustracja do pytania
A. krotki
B. encje
C. atrybuty
D. pola
Prawidłowo – na takim schemacie bazy danych „czytelnik”, „wypożyczenie” i „książka” to encje. W modelowaniu danych najpierw identyfikujemy obiekty świata rzeczywistego, które chcemy odwzorować w systemie. W przypadku biblioteki naturalnymi obiektami są właśnie czytelnik, książka i konkretne wypożyczenie. W notacji ERD (Entity‑Relationship Diagram) każdy z tych obiektów opisujemy jako encję, a potem dopiero dodajemy jej atrybuty oraz relacje z innymi encjami.
Na schemacie widzisz trzy prostokąty – to są właśnie encje. Każda encja ma zestaw atrybutów: dla encji „czytelnik” są to np. imię, nazwisko, ulica, miejscowość; dla encji „książka” – tytuł, autor, rok wydania; dla encji „wypożyczenie” – daty wypożyczenia i zwrotu, klucze obce do czytelnika i książki. W relacyjnej bazie danych te encje są potem najczęściej odwzorowane jako tabele: tabela CZYTELNIK, WYPOZYCZENIE, KSIAZKA. To jest dokładnie zgodne z dobrymi praktykami projektowania: najpierw model koncepcyjny (encje i relacje), dopiero później model logiczny (tabele, klucze, typy danych).
Z mojego doświadczenia przy każdym poważniejszym projekcie bazodanowym analitycy najpierw rysują diagram encji, bo to pomaga zrozumieć domenę biznesową. Dzięki poprawnemu rozróżnieniu encji od atrybutów można uniknąć błędów typu powtarzanie tych samych danych w wielu miejscach czy trudności z raportowaniem. W bibliotece na przykład wypożyczenie musi być osobną encją, bo opisuje zdarzenie w czasie, ma własne atrybuty (daty) i łączy dwie inne encje relacjami. Taki sposób modelowania jest zgodny z klasycznymi podręcznikami baz danych (model encja‑związek) oraz z zasadami normalizacji.

Pytanie 32

Na stronie umieszczono obrazek, a po nim akapit. Aby obrazek znalazł się w tej samej linii, po LEWEJ stronie tekstu, w stylu CSS obrazka należy ustawić:

A.
alt: left;
B.
style: left;
C.
float: left;
D.
align: left;
Aby obrazek znalazł się po LEWEJ stronie, a tekst go oblewał z prawej, stosuje się w CSS float: left;. Właściwość float „wypycha” element w bok i pozwala innej treści ułożyć się obok. Dlatego potrzebne jest float: left;.

Pytanie 33

Metainformacja "Description" zawarta w pliku HTML powinna zawierać


<head>
   <meta name="Description" content="...">
</head>
A. listę kluczowych fraz używanych przez wyszukiwarki internetowe
B. nazwę aplikacji, w której stworzono stronę
C. opis zawartości strony
D. informację o autorze strony
Metainformacja 'Description' zawarta w pliku HTML pełni kluczową rolę w optymalizacji stron internetowych pod kątem wyszukiwarek. Jest to krótki opis treści strony, który pomaga wyszukiwarkom zrozumieć, o czym jest dana strona. Wartościowy opis powinien być zwięzły, informacyjny i zachęcający do kliknięcia, ponieważ często pojawia się w wynikach wyszukiwania jako fragment tekstu, obok tytułu strony. Przykładem dobrze skonstruowanego opisu może być 'Dowiedz się, jak skutecznie zarządzać swoimi finansami osobistymi dzięki naszym praktycznym poradnikom i wskazówkom'. Taki opis nie tylko informuje użytkownika o zawartości strony, ale również zawiera słowa kluczowe, które mogą przyciągnąć uwagę. Zgodnie z wytycznymi Google, długość opisu powinna wynosić od 150 do 160 znaków, aby uniknąć obcięcia tekstu w wynikach wyszukiwania. Posiadanie dobrze napisanej metainformacji 'Description' jest więc niezbędne dla skutecznej strategii SEO i zwiększenia widoczności strony w internecie.

Pytanie 34

W języku HTML kolor biały można przedstawić przy użyciu wartości

A. rgb(255,255,255)
B. rgb(FFFF,FF)
C. #000000
D. #255255
Biały kolor w HTML zapisujemy jako rgb(255,255,255). W systemie RGB kolory tworzą się z trzech podstawowych barw: czerwonej, zielonej i niebieskiej. Każda z nich ma wartość od 0 do 255, więc maksymalna intensywność danego koloru to 255, a najniższa to 0. W przypadku białego koloru wszystkie trzy barwy są na maksa, stąd właśnie rgb(255,255,255) oznacza pełną moc czerwonego, zielonego i niebieskiego, co razem daje kolor biały. Wartości RGB są super ważne w CSS i w różnych programach do grafiki. Moim zdaniem, warto je znać, bo to podstawy przy robieniu stron internetowych. Warto też zwrócić uwagę na standardy W3C dotyczące kolorów w HTML, bo pomagają zadbać o estetykę i dostępność stron.

Pytanie 35

ALTER TABLE transport MODIFY COLUMN rok_produkcji INT;
Wykonanie powyższej kwerendy SQL w bazie MySQL spowoduje:
A. usunięcie kolumny rok_produkcji w tabeli transport.
B. zmianę typu danych w kolumnie rok_produkcji na INT.
C. utworzenie tabeli transport zawierającej kolumnę rok_produkcji.
D. dodanie kolumny rok_produkcji typu INT w tabeli transport.
Poprawnie – polecenie ALTER TABLE ... MODIFY COLUMN w MySQL służy do modyfikowania istniejącej kolumny, a nie do jej tworzenia czy usuwania. W podanym przykładzie baza danych szuka tabeli o nazwie `transport`, a następnie zmienia definicję kolumny `rok_produkcji` tak, aby jej typ danych był `INT`. Jeśli kolumna już istnieje (a musi istnieć, żeby MODIFY zadziałało), to po wykonaniu polecenia dalej będzie miała tę samą nazwę, ale jej typ i właściwości zostaną nadpisane nową definicją. W MySQL warto pamiętać, że przy MODIFY COLUMN trzeba podać pełną definicję kolumny, nie tylko sam typ. Czyli jeśli wcześniej była np. NOT NULL albo miała domyślną wartość, to dobra praktyka jest napisać coś w stylu: `ALTER TABLE transport MODIFY COLUMN rok_produkcji INT NOT NULL DEFAULT 2000;` – inaczej można przypadkiem zgubić część ustawień. W praktyce takie polecenia stosuje się przy zmianach w projekcie bazy: np. najpierw kolumna jest typu VARCHAR, bo ktoś przechowuje tam rok jako tekst, a potem, zgodnie z lepszymi zasadami projektowania, zmienia się to na typ liczbowy INT, żeby można było łatwo filtrować, sortować, robić warunki typu `WHERE rok_produkcji > 2015`. Z mojego doświadczenia dobrze jest przed taką zmianą sprawdzić, czy wszystkie dane da się bezpiecznie skonwertować na liczbę, bo jeśli w kolumnie są jakieś śmieciowe wartości tekstowe, to MySQL może je obciąć albo zamienić na 0, co później robi bałagan w raportach. W środowiskach produkcyjnych takie ALTER TABLE najlepiej wykonywać po zrobieniu kopii zapasowej i często w oknie serwisowym, bo przy dużych tabelach operacja może chwilowo blokować dostęp do danych.

Pytanie 36

W HTML-u utworzono formularz. Jaki efekt działania poniższego kodu zostanie pokazany przez przeglądarkę, jeśli w drugie pole użytkownik wprowadził tekst "ala ma kota"?

<form>
    <select>
        <option value="v1">Kraków</option>
        <option value="v2">Poznań</option>
        <option value="v3">Szczecin</option>
    </select><br>
    <input type="password" />
</form>
Ilustracja do pytania
A. C
B. D
C. A
D. B
Odpowiedź B jest prawidłowa, ponieważ pokazuje typowy sposób renderowania formularza HTML z elementem wyboru i polem hasła w przeglądarce. W kodzie HTML widzimy element select z trzema opcjami wyboru. Po zaznaczeniu jednej z opcji, jak Kraków, tworzy się rozwijane menu, które jest widoczne na obrazie jako pole z wybraną wartością. Drugim elementem formularza jest pole input typu password. Ten typ pola zamienia wpisany tekst na znaki maskujące, takie jak kropki lub gwiazdki, co widzimy na obrazie w odpowiedzi B. To jest standardowe zachowanie przeglądarek w przypadku pól hasła, mające na celu ochronę prywatności. W kodzie HTML nie ma elementów typu checkbox ani radio, co eliminowałoby inne prezentacje danych, takie jak checkboxy czy przyciski radiowe. Dobrą praktyką jest używanie pól hasła w formularzach tam, gdzie wymagane jest wprowadzenie danych, które powinny być chronione. Odpowiednie użycie elementów HTML zwiększa użyteczność i bezpieczeństwo aplikacji internetowej i jest zgodne z konwencjami projektowania UI.

Pytanie 37

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: right; }
B. aside {float: left; }
C. nav { float: right; } section { float: right; }
D. nav { float: left; } aside { float: left; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi.

Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego.

Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 38

W kodzie CSS stworzono cztery klasy stylizacji, które zostały wykorzystane do formatowania akapitów. Efekt widoczny na ilustracji uzyskano dzięki zastosowaniu klasy o nazwie

Ilustracja do pytania
A. format1
B. format4
C. format3
D. format2
Odpowiedź format2 jest poprawna, ponieważ stylizacja zastosowana do tekstu na obrazie to line-through, co oznacza przekreślenie. W CSS właściwość text-decoration pozwala na dodawanie różnych dekoracji do tekstu, takich jak underline (podkreślenie), overline (nadkreślenie) czy line-through (przekreślenie). Przekreślenie jest często używane do zaznaczania usuniętego tekstu lub do pokazywania zmian w dokumentach, co jest zgodne z dobrą praktyką w edytorach tekstu i aplikacjach do śledzenia zmian. W kodzie HTML klasy CSS są zazwyczaj stosowane poprzez dodanie atrybutu class do odpowiedniego elementu. Użycie klasy format2 w kodzie HTML wyglądałoby jak <p class='format2'>. Wielu projektantów korzysta z takich dekoracji, aby poprawić czytelność i funkcjonalność stron internetowych, zapewniając użytkownikom intuicyjne oznaczenia wizualne. Ważne jest także użycie semantycznego HTML, co w połączeniu z odpowiednimi stylami CSS pozwala tworzyć dostępne dla użytkowników strony internetowe zgodne ze standardami W3C.

Pytanie 39

Zdefiniowano char zm1; w C++. Jak poprawnie przypisać do niej wartość?

A.
zm1 = 'w';
B.
zm1 = "wiadro";
C.
zm1[2] = 32;
D.
zm1 == 0x35;
Zmienna typu char przechowuje POJEDYNCZY znak, który w C++ zapisuje się w apostrofach. Dlatego zm1 = 'w'; poprawnie przypisuje znak - apostrofy odróżniają literał znakowy od łańcucha. Dlatego prawidłowe jest zm1 = 'w';.

Pytanie 40

Uprawnienia obiektowe nadawane użytkownikom bazy danych mogą zezwalać lub zabraniać:

A. dziedziczenia uprawnień
B. zmiany ról i kont użytkowników
C. wykonywania instrukcji typu tworzenie kopii zapasowej
D. wykonywania operacji na danych, np. wstawiania lub modyfikowania
Pozostałe opcje to uprawnienia SYSTEMOWE lub administracyjne, a nie obiektowe. Zmiana ról i kont użytkowników oraz wykonywanie kopii zapasowej to operacje na poziomie serwera. „Dziedziczenie uprawnień” to mechanizm, a nie operacja na danych. Uprawnienia obiektowe rządzą operacjami na danych.