Wyniki egzaminu

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

Egzamin niezdany

Wynik: 14/40 punktów (35,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Dla strony internetowej stworzono grafikę rysunek.jpg o wymiarach: szerokość 200 px, wysokość 100 px. Jak można wyświetlić tę grafikę jako miniaturę – pomniejszoną z zachowaniem proporcji, używając znacznika?

A. <img src="rysunek.png">
B. <img src="rysunek.png" style="width: 50px">
C. <img src="rysunek.png" style="width: 25px; height:50px;">
D. <img src="rysunek.png" style="width: 25px; height:25px;">
Pozostałe odpowiedzi niestety nie trzymają się zasady zachowania proporcji, jak zmniejszamy grafikę. W pierwszej opcji, <img src="rysunek.png" style="width: 25px; height:50px"> zestawione wartości szerokości i wysokości są krzywe, co powoduje zniekształcenie obrazu. Oryginalny rysunek ma proporcje 2:1, a tu wychodzi 1:2, co może wprowadzać ludzi w błąd. W trzeciej opcji, <img src="rysunek.png"> brak wskazania szerokości i wysokości sprawia, że obrazek wyświetla się w swoim pierwotnym rozmiarze, a to nie jest cel, bo chcemy mieć miniaturę. A ostatnia odpowiedź, <img src="rysunek.png" style="width: 25px; height:25px;"> ustala jednakowe wymiary, przez co wychodzi kwadratowa miniaturka, co nie zgadza się z oryginalnymi proporcjami. Generalnie, niepoprawne odpowiedzi mogą wynikać z braku zrozumienia, dlaczego dbanie o proporcje w grafikach jest takie ważne. To kluczowe zagadnienie w projektowaniu stron, bo dobre proporcje to podstawa estetyki i funkcjonalności wizualnych elementów na stronie.

Pytanie 2

Portal internetowy dysponuje bardzo złożonym systemem stylów, który obejmuje style zewnętrzne, wewnętrzne oraz lokalne. Jak można zagwarantować, że określona cecha zdefiniowana w zewnętrznym stylu jest zawsze stosowana do elementu HTML, niezależnie od bardziej priorytetowych stylów?

A. przy pomocy pseudoelementu ::after
B. przy pomocy reguły !important
C. jako selektor potomka
D. jako pseudoklasę :active
Odpowiedź, że cechę opisaną w zewnętrznym stylu należy zdefiniować przy pomocy reguły !important jest poprawna. Reguła !important w CSS jest używana do nadania określonej właściwości najwyższego priorytetu. Oznacza to, że nawet jeśli inne reguły CSS mają wyższy specyficzność lub są zdefiniowane później, właściwość oznaczona jako !important zostanie zastosowana. Przykład zastosowania to sytuacja, gdy styl globalny dla elementu przyjmuje kolor tła, ale chcemy, aby dany element zawsze miał czerwony kolor tła, niezależnie od innych reguł. W takim przypadku możemy zdefiniować ten styl jako: `.example { background-color: red !important; }`. Ważne jest, aby stosować !important z rozwagą, ponieważ może to prowadzić do trudności w utrzymaniu kodu oraz nadpisywaniu stylów w nieprzewidywalny sposób. Dobrym podejściem jest najpierw spróbować zwiększyć specyficzność selektora, a dopiero potem, w nagłych wypadkach, używać !important, aby unikać problemów z dziedziczeniem stylów.

Pytanie 3

Styl ten generuje pojedyncze obramowanie, które charakteryzuje się następującymi właściwościami:

border: solid 1px;
border-color: red blue green yellow;
A. krawędź lewa ma kolor czerwony, krawędź dolna jest w kolorze niebieskim, krawędź prawa jest koloru zielonego, krawędź górna ma kolor żółty
B. krawędź górna jest czerwonego koloru, krawędź lewa jest w kolorze niebieskim, krawędź dolna ma kolor zielony, krawędź prawa ma kolor żółty
C. krawędź prawa jest koloru czerwonego, krawędź dolna ma kolor niebieski, krawędź lewa ma kolor zielony, krawędź górna ma kolor żółty
D. krawędź górna ma kolor czerwony, krawędź prawa jest w kolorze niebieskim, krawędź dolna ma kolor zielony, krawędź lewa jest koloru żółtego
Błędne zrozumienie przypisania kolorów do krawędzi obramowania w CSS wynika z niewłaściwego interpretowania kolejności, w jakiej te kolory są przypisywane. W standardach CSS, kiedy używamy składni takiej jak border-color: red blue green yellow; kolory są przypisywane zaczynając od krawędzi górnej, a następnie zgodnie z kierunkiem wskazówek zegara. Stąd czerwona krawędź to górna, niebieska to prawa, zielona to dolna, a żółta to lewa. Błędne odpowiedzi wynikają z niepoprawnego przypisania kolorów do krawędzi w innej kolejności. Typowym błędem jest myślenie, że kolory są przypisane w porządku lewa-prawa-dół-góra, co jest sprzeczne z domyślną kolejnością CSS. Bez poprawnego zrozumienia tej logiki, projektanci mogą doświadczyć trudności w przewidywaniu jakich efektów wizualnych oczekiwać od swojej pracy, co może prowadzić do błędów w projektach. Aby uniknąć takich problemów, kluczowe jest zapoznanie się i zrozumienie zasad określających jak style CSS są interpretowane przez przeglądarki, co pozwala na pełne wykorzystanie możliwości jakie oferują style kaskadowe. Poprawne stosowanie tych zasad jest niezbędne do tworzenia profesjonalnych i spójnych projektów internetowych, które są zgodne z najlepszymi praktykami w branży.

Pytanie 4

Które z pojęć programowania obiektowego w języku JavaScript odnosi się do dostępu do pól i metod jedynie z poziomu klasy, w której zostały one zadeklarowane?

A. public
B. static
C. const
D. private
Słowo kluczowe 'private' w języku JavaScript jest stosowane do definiowania pól i metod, które są dostępne wyłącznie w obrębie klasy, w której zostały zadeklarowane. Oznacza to, że nie są one dostępne z zewnątrz tej klasy, co zwiększa bezpieczeństwo i kapsułkowanie danych. Przykładowo, jeśli zdefiniujesz prywatną metodę wewnątrz klasy, inne klasy ani instancje tej klasy nie będą mogły jej wywołać. Przykład: class MyClass { #privateMethod() { console.log('To jest metoda prywatna'); } } const obj = new MyClass(); obj.#privateMethod(); // Błąd: #privateMethod is not accessible outside the class. Takie podejście pozwala na ograniczenie dostępu do wrażliwych danych oraz kontrolowanie ich modyfikacji. Kolejną zaletą używania prywatnych pól i metod jest to, że pozwala to na tworzenie bardziej modularnych i łatwiejszych w utrzymaniu aplikacji, co jest zgodne z aktualnymi standardami programowania. W kontekście obiektowo-orientowanego programowania, właściwe wykorzystanie dostępu private jest kluczowe dla zachowania zasad SOLID i dobrych praktyk projektowych.

Pytanie 5

Programista stworzył pętlę w języku C++, która miała za zadanie obliczyć wynik 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny, gdyż ```int a = 1; for (int i=1; i < 5; i++) { a = a * i; } cout << a;```

Ilustracja do pytania
A. zmienna a powinna być początkowo ustawiona na 0 zamiast 1
B. zmienna i pętli powinna być zmniejszana, a nie zwiększana
C. w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5
D. zmienna i w pętli powinna być rozpoczynana od 0, a nie od 1
Odpowiedź jest prawidłowa, ponieważ pętla powinna przebiegać przez wszystkie liczby od 1 do 5, aby obliczyć wartość 5! czyli 120. W kodzie pętla for zaczyna się od wartości i=1 i kontynuuje, dopóki i jest mniejsze niż 5, co oznacza, że nie uwzględnia liczby 5. Zmiana warunku na i<6 powoduje, że pętla wykona się pięć razy dla wartości i=1, 2, 3, 4, 5. To zgodne z matematyczną definicją silni, gdzie należy przemnożyć wszystkie liczby całkowite od 1 do n. Wpisując warunek i<6, kod stanie się bardziej zgodny z dobrymi praktykami programowania, które zalecają jasne i jednoznaczne warunki zakończenia pętli. Prawidłowe obliczenie silni jest częstym zadaniem w programowaniu i stanowi fundament dla bardziej zaawansowanych algorytmów liczbowych takich jak algorytmy rekurencyjne. Zrozumienie iteracyjnego i rekurencyjnego podejścia do tego problemu rozwija umiejętności logicznego myślenia i projektowania algorytmów. Takie zrozumienie jest kluczowe zwłaszcza w dziedzinie analizy algorytmów i optymalizacji kodu.

Pytanie 6

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

Ilustracja do pytania
A. Odpowiedź C
B. Odpowiedź A
C. Odpowiedź D
D. Odpowiedź B
W koncepcji struktury tabeli HTML, zrozumienie atrybutów rowspan i colspan jest kluczowe dla poprawnego tworzenia układu danych. W analizie dostępnych odpowiedzi, niektóre z nich błędnie stosują te atrybuty lub ich nie używają, co prowadzi do niepoprawnego renderowania tabeli. Na przykład, w niektórych przypadkach, gdy użycie colspan lub rowspan jest niepotrzebne, może to prowadzić do nieporządku wizualnego i semantycznego. W odpowiedziach, w których zaniedbano atrybut rowspan, nie osiągnięto prawidłowego połączenia wierszy w kolumnie, co powoduje, że dane są wyświetlane w sposób nieczytelny. Typowym błędem myślowym jest zakładanie, że zagnieżdżenie danych w kolejnych komórkach wystarczy do ich poprawnej prezentacji, jednak w praktyce to prowadzi do rozbicia logicznej ciągłości informacji. Takie podejście może zaburzać użytkownikom interakcję z danymi, zwłaszcza gdy przeglądają oni tabele na urządzeniach mobilnych, gdzie przestrzeń jest ograniczona. Właściwe użycie rowspan zapewnia jednolitą prezentację, poprawiając zarówno estetykę, jak i funkcjonalność tabeli, zgodnie z dobrymi praktykami projektowania interfejsów użytkownika.

Pytanie 7

W języku JavaScript przedstawiona definicja jest definicją

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. klasy.
B. kolekcji.
C. obiektu.
D. tablicy.
Niestety, wybrana przez Ciebie odpowiedź nie jest poprawna. Wygląda na to, że nie do końca zrozumiałeś jak działa definicja tablicy w JavaScript. Zrozumienie różnicy między tablicami, obiektami, klasami i kolekcjami jest kluczowe. Kolekcje to pojęcie bardziej ogólne, mogą one obejmować różne typy danych, takie jak tablice, listy czy zbiory, a termin ten nie jest używany w kontekście JavaScript. Klasy w JavaScript są 'szablonami' dla tworzenia obiektów, a więc struktur danych składających się z pól (zmiennych) i metod (funkcji). Tablica to specyficzny typ obiektu, który przechowuje elementy w określonym porządku. Wskazane jest, aby dokładnie zrozumieć, jakie informacje są przechowywane w tablicach, klasach, obiektach i kolekcjach w JavaScript, ponieważ jest to kluczowe dla efektywnego korzystania z tego języka. Spróbuj jeszcze raz, z pewnością za kolejnym razem się uda!

Pytanie 8

Deklaracja

<!DOCTYPE html>
informuje przeglądarkę internetową o:
A. wersji języka HTML zastosowanej w dokumencie strony internetowej.
B. dostosowaniu strony internetowej do różnych rozmiarów urządzeń.
C. indeksowaniu strony internetowej na potrzeby pozycjonowania witryny.
D. tytule strony internetowej.
Deklaracja <!DOCTYPE html> to wbrew pozorom bardzo ważny element każdej poprawnej strony internetowej. Informuje przeglądarkę, jaka wersja języka HTML została użyta w dokumencie, a w praktyce – że ma renderować stronę w trybie zgodnym ze współczesnym standardem HTML5. Dzięki temu przeglądarka nie próbuje włączać tzw. „quirks mode”, czyli trybu zgodności ze starymi, historycznymi błędami Internet Explorera, tylko stosuje aktualne zasady specyfikacji. Moim zdaniem to jest jeden z tych drobiazgów, które po prostu trzeba pisać z automatu na górze każdego pliku .html. W starszych wersjach HTML deklaracja DOCTYPE była dużo dłuższa i określała konkretne DTD (Document Type Definition), np. dla HTML 4.01 Transitional czy XHTML 1.0 Strict. W HTML5 uproszczono to do jednej, krótkiej formy: <!DOCTYPE html>. To właśnie ta linijka mówi: „to jest dokument HTML5”. Na tej podstawie silnik przeglądarki dobiera reguły parsowania, walidacji struktury i sposób interpretacji wielu elementów, np. sekcji <header>, <footer>, <section>, a także nowych atrybutów formularzy. W praktyce, gdy tworzysz nową stronę, zawsze zaczynasz od: <!DOCTYPE html> <html lang="pl"> <head>… Jeśli pominiesz DOCTYPE albo wpiszesz go błędnie, możesz mieć kłopot z tym, że strona wygląda inaczej w różnych przeglądarkach, pojawią się problemy z modelu pudełkowym CSS (box model), z obsługą nowych znaczników lub z poprawnym działaniem responsywnego layoutu. Walidatory W3C też zakładają konkretną wersję HTML na podstawie DOCTYPE i pod nią sprawdzają poprawność kodu. Z mojego doświadczenia wynika, że poprawny DOCTYPE to absolutna podstawa profesjonalnego front-endu, nawet jeśli wygląda jak coś „magicznego” na samej górze pliku.

Pytanie 9

W SQL po wykonaniu zapytania ALTER TABLE osoba DROP COLUMN grupa; co się stanie?

A. kolumna grupa zostanie usunięta
B. nazwa tabeli zmieni się na grupa
C. kolumna grupa zostanie dodana
D. nazwa kolumny zmieni się na grupa
No więc dobrze trafiłeś. To zapytanie SQL ALTER TABLE osoba DROP COLUMN grupa; jest używane do usunięcia kolumny 'grupa' z tabeli 'osoba'. To polecenie jest częścią SQL, który służy do zmieniania struktury tabel. Usunięcie kolumny może być fajne, gdy już nie jest potrzebna, albo jeśli wprowadzasz jakieś zmiany w danych. Na przykład, może się zdarzyć, że kolumna 'grupa' ma dane, które są już nieaktualne, bo zmieniłeś sposób klasyfikacji. A tak w ogóle, dobrze jest przed taką operacją zrobić kopię zapasową danych, bo usunięcie kolumny to trwała zmiana. To podejście jest powszechnie wykorzystywane w zarządzaniu bazami danych oraz w procesach ETL, gdzie ważne jest, by dane były dobrze zorganizowane.

Pytanie 10

W kolumnie, która pełni funkcję klucza głównego w tabeli, powinny się znajdować

A. inny typ niż inne kolumny.
B. ciągłe numery.
C. liczby.
D. wartości unikalne.
Wybór odpowiedzi, że klucz główny musi mieć ciągłą numerację, jest nie do końca poprawny. To nie spełnia podstawowych zasad w projektowaniu baz danych. Jasne, że ciągła numeracja może pomóc w zapewnieniu unikalności, ale to nie jest absolutnie wymagane. Klucz główny może mieć różne typy danych, na przykład tekstowe identyfikatory, jak kody czy UUID, które nie są numerowane w zwykły sposób, ale są nadal unikalne. Wiele systemów baz danych pozwala na tworzenie kluczy głównych na podstawie naturalnych danych, takich jak adresy e-mail czy numery identyfikacyjne. Inna niepoprawna kwestia to myślenie, że klucz główny zawsze musi być liczbą. Tak, liczby są często używane jako identyfikatory, ale to nie jedyna opcja. Czasem używa się wartości tekstowych albo kombinacji różnych typów danych. To też mylące, że klucz główny powinien mieć inny typ niż inne kolumny. Klucz główny nie musi być innym typem, jego głównym celem jest unikalność, a nie zgodność typów. Rozumienie, co właściwie oznacza klucz główny i jakie ma funkcje, jest kluczowe dla skutecznego projektowania baz danych, żeby uniknąć błędów, które mogą później prowadzić do problemów z danymi.

Pytanie 11

Jakie zapytanie należy użyć, aby wyświetlić tylko imię, nazwisko oraz ulicę wszystkich mieszkańców?

Ilustracja do pytania
A. SELECT * FROM Mieszkancy, Adresy ON Mieszkancy.id = Adresy.id
B. SELECT * FROM Mieszkancy JOIN Adresy ON Adresy.id = Mieszkancy.Adresy.id
C. SELECT imie, nazwisko, ulica FROM Mieszkancy, Adresy ON Mieszkancy.Adresy_id = Adresy.id
D. SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id
Próbując wybrać tylko konkretne kolumny z powiązanych tabel, ważne jest, żeby poprawnie zastosować składnię SQL. Jak źle podejdziesz do tego, mogą wyjść niepoprawne wyniki albo zapytanie może działać nieefektywnie. Często takie błędy wynikają z tego, że nie do końca rozumiemy relacje między tabelami. Jeśli użyjesz zapytania SELECT * FROM Mieszkancy Adresy ON Mieszkancy.id = Adresy.id, to poległeś, bo nie podałeś poprawnego typu złączenia, a dodatkowo użycie gwiazdki * zwraca wszystkie kolumny, co jest niezgodne z celem tego pytania. Jeszcze gorzej, jeśli napiszesz SELECT * FROM Mieszkancy JOIN Adresy ON Adresy.id = Mieszkancy.Adresy.id – mimo, że JOIN jest ok, używanie gwiazdki sprawia, że nie spełniasz warunków dotyczących selekcji kolumn. W obu przypadkach brakuje selektywności, przez co zapytania są mało efektywne i niezgodne z dobrymi praktykami w projektowaniu baz danych. Zapytanie SELECT imie nazwisko ulica FROM Mieszkancy Adresy ON Mieszkancy.Adresy_id = Adresy.id, chociaż wymienia dobre kolumny, stosuje błędną składnię JOIN, więc jest syntaktycznie złe. SQL wymaga precyzji przy złączaniu, żeby dane były spójne i integralne. Rozumienie, jak poprawnie używać JOIN i jak wybierać kolumny, jest kluczowe do tworzenia skutecznych zapytań, co wpływa na optymalizację pracy z bazami danych.

Pytanie 12

Wskaż zdanie, które jest fałszywe w odniesieniu do poniższej definicji funkcji w języku C++?

void zamien(float &x, float &y) {
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}
A. Funkcja korzysta z parametrów przez referencję
B. Funkcja nie zwraca żadnej wartości
C. Funkcja zwraca wartość
D. Funkcja ma dwa argumenty
Funkcja w języku C++ z deklaracją 'void' na początku oznacza, że nie zwraca żadnej wartości. Jest to zgodne z poprawną odpowiedzią nr 3. Tego typu funkcje używane są często w sytuacjach, gdy nie jest konieczne przekazywanie wyniku, a operacje są wykonywane na danych wejściowych. Deklaracja parametrów przez referencję 'float &x, float &y' pozwala na bezpośrednią modyfikację wartości przekazanych do funkcji zmiennych. Oznacza to, że wszelkie zmiany dokonane na tych parametrach wewnątrz funkcji są odzwierciedlane w zmiennych oryginalnych. Taka technika jest szeroko stosowana w programowaniu, aby zwiększyć efektywność i zmniejszyć ilość niepotrzebnych kopii danych. Funkcja 'zamien' ilustruje wymianę wartości dwóch zmiennych przy użyciu tymczasowej zmiennej 'tmp', co jest klasycznym podejściem do tego problemu programistycznego. Zachowanie funkcji bez zwracania wartości jest zgodne z zasadami projektowania funkcji użytkowych, które realizują pewne operacje proceduralne na danych. Stosowanie referencji zwiększa kontrolę nad pamięcią i wydajność programu, co jest krytyczne w aplikacjach o wysokiej wydajności. Zrozumienie tego aspektu jest istotne dla prawidłowego biegu programu i efektywnego zarządzania zasobami.

Pytanie 13

Rodzaj programowania, w którym sekwencja poleceń (instrukcji) dostarczanych komputerowi jest traktowana jako program, określa się mianem programowania

A. funkcyjnego
B. logicznogo
C. imperatywnego
D. stanowego
Programowanie imperatywne to taki sposób myślenia w kodowaniu, gdzie dajemy komputerowi jasne instrukcje, co ma robić krok po kroku. Oznacza to, że mówimy mu, jak dojść do celu. To całkiem inne podejście niż w programowaniu funkcyjnym, gdzie raczej koncentrujemy się na funkcjach i operacjach na danych. W imperatywnym korzystamy z różnych elementów, jak zmienne, pętle czy warunki, żeby kontrolować, co się dzieje w programie. Można tu wymienić języki takie jak C, C++, Java czy Python – wszystkie są bardzo popularne w branży, zwłaszcza przy tworzeniu różnorodnych aplikacji lub systemów operacyjnych. Myślę, że połączenie programowania imperatywnego z obiektowym to świetny pomysł, bo dzięki temu łatwiej zarządzać kodem i korzystać z różnych wzorców projektowych, co zazwyczaj poprawia jego czytelność i efektywność.

Pytanie 14

Pole autor w tabeli ksiazka jest:

CREATE TABLE ksiazka (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHAR(200),
autor SMALLINT UNSIGNED NOT NULL,
CONSTRAINT `dane` FOREIGN KEY (autor) REFERENCES autorzy(id)
);
A. kluczem podstawowym tabeli ksiazka
B. kluczem obcym związanym z tabelą autorzy
C. polem wykorzystanym w relacji z tabelą dane
D. polem typu tekstowego zawierającym informacje o autorze
Wybór odpowiedzi wskazującej, że pole autor jest kluczem głównym tabeli ksiazka jest błędny, ponieważ klucz główny jest unikalnym identyfikatorem każdego rekordu w tabeli, a w tym przypadku pole id pełni tę rolę. Klucz główny zapewnia, że każdy rekord w tabeli jest jednoznacznie identyfikowalny, co jest kluczowe dla integralności danych. Z kolei klucz obcy, jak w tym przypadku, odnosi się do innej tabeli, co nie ma związku z rolą klucza głównego. Kolejny błąd polega na stwierdzeniu, że pole autor jest polem typu napisowego. W rzeczywistości, pole autor jest zdefiniowane jako SMALLINT UNSIGNED, co oznacza, że przechowuje liczby całkowite, a nie tekst. Ta nieścisłość jest kluczowa, ponieważ typ danych wpływa na sposób, w jaki dane są przechowywane i przetwarzane. Ponadto, błędne jest również podanie, że pole autor jest polem wykorzystanym przy relacji z tabelą dane, ponieważ nie istnieje taka tabela w podanym kontekście. W tym przypadku, odniesienie do tabeli dane jest mylące i nieadekwatne do struktury bazy danych. Przykłady dobrych praktyk w projektowaniu schematów baz danych obejmują poprawne użycie typów danych oraz stosowanie kluczy obcych do zabezpieczenia relacji między tabelami, co jest kluczowe dla efektywnej i bezpiecznej architektury bazy danych.

Pytanie 15

W tabeli podzespoly należy zaktualizować wartość pola URL na "toshiba.pl" dla wszystkich wierszy, gdzie producent to TOSHIBA. W SQL zapis tej modyfikacji będzie wyglądać następująco:

A. UPDATE podzespoly SET URL = 'toshiba.pl'
B. UPDATE producent = 'TOSHIBA' SET URL = 'toshiba.pl';
C. UPDATE podzespoly.producent = 'TOSHIBA' SET URL = 'toshiba.pl';
D. UPDATE podzespoly SET URL = 'toshiba.pl' WHERE producent = 'TOSHIBA';
Wszystkie zaproponowane odpowiedzi, z wyjątkiem pierwszej, są błędne z kilku powodów. Po pierwsze, w drugiej odpowiedzi próbujesz ustawić wartość 'TOSHIBA' dla producenta, co jest niewłaściwe, ponieważ nie określasz, na jakiej tabeli to ma być wykonane. W SQL, składnia UPDATE wymaga wskazania tabeli przed wskazaniem, co ma być zmienione. Ponadto, nie może być tak, że producent jest aktualizowany bez kontekstu tabeli, w której się znajduje. W trzeciej odpowiedzi brakuje klauzuli WHERE, co oznacza, że jeśli komenda zostanie wykonana, to URL dla wszystkich rekordów w tabeli 'podzespoly' zostanie zmieniony na 'toshiba.pl', co jest niepożądane w przypadku chęci aktualizacji tylko niektórych rekordów. Czwarta odpowiedź również jest błędna przez to, że próbuje ustawić producenta jako parametr w kontekście polecenia UPDATE, co nie ma sensu w SQL. Kluczowe znaczenie ma właściwe zrozumienie struktury zapytań SQL oraz ich składni, aby uniknąć typowych problemów związanych z modyfikacją danych. W pracy z bazami danych istotne jest również, by zawsze testować zapytania na mniejszych zbiorach danych lub w środowiskach testowych przed ich wdrożeniem w produkcji, aby zminimalizować ryzyko błędów i utraty danych. Zrozumienie tych elementów jest kluczowe dla poprawnego zarządzania bazami danych.

Pytanie 16

Jaką wartość uzyska zmienna x po wykonaniu kodu PHP zaprezentowanego w ramce?

Ilustracja do pytania
A. Ilość wierszy w tabeli produkty, gdzie pole status jest większe od zera
B. Ilość wierszy dodanych do tabeli produkty
C. Ilość wierszy przetworzonych przez zapytanie DELETE FROM
D. Ilość wierszy w bazie danych
W przedstawionym kodzie PHP funkcja mysqli_affected_rows() jest używana do uzyskania liczby wierszy zmienionych przez ostatnie zapytanie MySQL. W tym przypadku zapytanie DELETE FROM produkty WHERE status < 0 próbuje usunąć wszystkie rekordy z tabeli produkty, których pole status ma wartość mniejszą od zera. Po wykonaniu tego zapytania funkcja mysqli_affected_rows($db) zwróci liczbę wierszy, które zostały rzeczywiście usunięte. To jest szczególnie przydatne w kontekście sprawdzania wpływu operacji na bazę danych i pozwala na dynamiczne podejmowanie decyzji w aplikacjach bazodanowych. Przykładowo, jeśli po usunięciu chcemy wykonać dodatkowe operacje tylko wtedy, gdy co najmniej jeden rekord został usunięty, możemy użyć tej funkcji. Zgodnie z dobrymi praktykami, korzystanie z mysqli_affected_rows() jest standardem, gdyż pozwala również na obsługę wyjątków i błędów bazy danych. Optymalizacja operacji DELETE poprzez precyzyjne filtrowanie w WHERE, jak w naszym przykładzie, jest kluczowa dla zachowania wydajności bazy danych szczególnie w dużych systemach produkcyjnych.

Pytanie 17

W bazie danych księgarni znajduje się tabela ksiazki, która zawiera pola: id, idAutor, tytul, ileSprzedanych, oraz tabela autorzy z polami: id, imie, nazwisko. Jak można utworzyć raport sprzedanych książek zawierający tytuły oraz nazwiska autorów?

A. konieczne jest stworzenie kwerendy, która wyszukuje tytuły książek
B. należy zdefiniować relację 1..1 pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
C. trzeba utworzyć dwie oddzielne kwerendy: pierwsza do wyszukiwania tytułów książek, druga do wyszukiwania nazwisk autorów
D. należy zdefiniować relację l..n pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
Relacja l..n między tabelami 'ksiazki' i 'autorzy' jest naprawdę ważna. To oznacza, że jeden autor może napisać kilka książek, co jest całkiem normalne w świecie księgarni. Dzięki tej relacji, dla każdego 'idAutor' w tabeli 'ksiazki' możemy mieć wiele wpisów, co super ułatwia powiązanie tytułów z autorami. Jakbyś stworzył kwerendę, która łączy te obie tabele, to bez problemu uzyskasz dane, które jasno pokazują te relacje. Na przykład, taka kwerenda SQL mogłaby wyglądać tak: SELECT ksiazki.tytul, autorzy.nazwisko FROM ksiazki JOIN autorzy ON ksiazki.idAutor = autorzy.id; Taki sposób działania jest zgodny z normalizacją danych, co sprawia, że nasze bazy danych będą efektywne i dobrze zorganizowane.

Pytanie 18

Jaki jest cel poniższego fragmentu funkcji w JavaScript?

wynik = 0;
for (i = 0; i < tab.length; i++)
{
    wynik += tab[i];
}
A. przypisać do każdego elementu tablicy bieżącą wartość zmiennej i
B. obliczyć sumę wszystkich elementów tablicy
C. dodać stałą wartość do każdego elementu tablicy
D. wyświetlić wszystkie pozycje w tablicy
Podczas analizowania niepoprawnych odpowiedzi warto skupić się na zrozumieniu działania pętli oraz operatora przypisania dodającego +=. Pierwsza z omawianych odpowiedzi sugeruje że kod dodaje do każdego elementu tablicy stałą wartość. Jest to błędne rozumienie operatora += który po lewej stronie ma zmienną a po prawej wartość którą dodajemy do tej zmiennej. W tym przypadku tab[i] jest dodawane do zmiennej wynik co wskazuje na zliczanie a nie modyfikację elementów tablicy. Druga odpowiedź sugeruje że kod wyświetla elementy tablicy. Jednak brak tutaj jakiejkolwiek funkcji wyjściowej takiej jak console.log() która mogłaby wyświetlić wartości w konsoli. Kod skupia się na operacji wewnętrznej a nie na interakcji wyjściowej. Trzecia odpowiedź sugeruje że do każdego elementu tablicy jest wprowadzana aktualna wartość zmiennej i. Jest to również błędne ponieważ nie ma tutaj żadnej operacji przypisania wartości do tablicy. Zmienna i jest jedynie indeksem używanym do iteracji i nie wpływa na zmianę wartości tablicy. Wszystkie te nieporozumienia wynikają z błędnej interpretacji działania pętli oraz operacji arytmetycznych w kodzie. Kluczowe jest zrozumienie jak pętla działa aby poprawnie przypisać operację do odpowiedniego kontekstu w programie.

Pytanie 19

Aby utworzyć strukturę strony internetowej za pomocą znaczników semantycznych języka HTML 5, zgodnie z przedstawionym na ilustracji projektem, SEKCJA B powinna być zawarta w znaczniku

Ilustracja do pytania
A. <nav></nav>
B. <section></section>
C. <article></article>
D. <header></header>
W tym zadaniu kluczowe jest rozpoznanie, że sekcja B na ilustracji nie jest zwykłym fragmentem treści, tylko blokiem służącym do poruszania się po stronie: linki „Główna”, „O nas”, „Kontakt”. W semantycznym HTML5 dla takiej właśnie grupy odsyłaczy przewidziano specjalny znacznik <nav>. Częsty błąd polega na tym, że projektanci wrzucają menu nawigacyjne do zwykłego <div> albo <section>, a semantykę zostawiają na później. Technicznie strona działa, ale traci się zalety wynikające z poprawnej struktury: czytniki ekranu nie mogą łatwo przeskoczyć do nawigacji, roboty wyszukiwarek gorzej interpretują układ, a cała strona staje się mniej dostępna. Innym typowym nieporozumieniem jest używanie <header> dla wszystkiego, co znajduje się „na górze” strony. Nagłówek faktycznie często zawiera menu, ale to menu i tak powinno być wydzielone znacznikiem <nav> wewnątrz <header>. Sam <header> opisuje obszar wprowadzający: logo, tytuł, czasem slogan. Z kolei <section> i <article> służą do logicznego dzielenia treści merytorycznej, a nie do nawigacji. Jeśli więc sekcja B zawiera tylko linki menu, zamykanie jej w <section> myli sens dokumentu – wygląda, jakby to była kolejna część artykułu, a nie narzędzie przechodzenia między podstronami. Podobnie znaczniki typu <aside> czy <footer> też nie pasują: <aside> jest na treści poboczne, a <footer> na stopkę. W nowoczesnych projektach, zgodnych z HTML Living Standard i dobrymi praktykami dostępności, wszystkie główne obszary nawigacji opisuje się konsekwentnie za pomocą <nav> i to właśnie odróżnia kod „zlepiony byle działał” od kodu, który jest przemyślany i profesjonalny.

Pytanie 20

Które ograniczenie w bazach danych, należy przypisać kolumnie tabeli, aby wartości wpisywane do niej nie powtarzały się?

A. UNIQUE
B. SINGLE
C. NOT NULL
D. NO REPEAT
W bazach danych bardzo łatwo pomylić różne typy ograniczeń, bo wszystkie „coś ograniczają”, ale robią to w zupełnie inny sposób. W tym pytaniu chodzi konkretnie o to, żeby wartości w kolumnie się nie powtarzały – czyli o klasyczną unikalność danych. Do tego służy constraint UNIQUE, który jest standardowym mechanizmem w SQL do wymuszania niepowtarzalnych wartości w obrębie danej kolumny lub kombinacji kolumn. Pojawia się czasem intuicja, że może istnieje coś takiego jak SINGLE albo NO REPEAT, bo nazwa brzmi sensownie po angielsku. W specyfikacji SQL i w popularnych systemach baz danych takie słowa kluczowe jednak po prostu nie występują jako constrainty. SINGLE i NO REPEAT nie są standardowymi ograniczeniami, więc żadna poważna baza danych ich nie zrozumie. To typowy błąd: kierowanie się „ładnie brzmiącą nazwą”, a nie faktycznymi słowami kluczowymi języka SQL. Z kolei NOT NULL jest jak najbardziej prawdziwym ograniczeniem, ale rozwiązuje zupełnie inny problem. NOT NULL mówi tylko tyle, że w danej kolumnie nie wolno przechowywać wartości pustych (NULL). Możesz mieć tabelę, w której kolumna ma NOT NULL i jednocześnie wiele identycznych wartości, np. same zera albo ten sam tekst w każdym wierszu – baza nie będzie protestować, bo nie zabrania powtórek, tylko zabrania braku wartości. To ograniczenie często łączy się z innymi, np. PRIMARY KEY czy UNIQUE, ale samo w sobie nie zapewnia żadnej unikalności. Z mojego doświadczenia przy projektowaniu schematów baz danych najczęstszy błąd myślowy wygląda tak: ktoś zakłada, że skoro pole nie może być puste (NOT NULL), to „jakoś przy okazji” jest traktowane specjalnie i może nawet unikalnie. Niestety tak to nie działa. Dopiero dodanie UNIQUE albo zdefiniowanie PRIMARY KEY wymusza, że dana wartość nie pojawi się drugi raz. Dlatego przy każdej kolumnie, która ma pełnić rolę identyfikatora biznesowego (np. email, numer dokumentu, NIP), trzeba świadomie dobrać właściwy constraint, a nie liczyć na samo NOT NULL czy jakieś „domyślne” zachowanie bazy.

Pytanie 21

Aby określić styl czcionki w CSS, należy zastosować właściwość

A. text-family
B. font-style
C. text-style
D. font-family
Stosowanie właściwości 'text-style' jest niepoprawne, ponieważ nie istnieje taka właściwość w standardzie CSS. Zamiast tego, do modyfikacji stylu tekstu służą inne właściwości, takie jak 'font-style' czy 'text-decoration', które pozwalają na zastosowanie kursywy lub podkreślenia, lecz nie definiują kroju czcionki. Z kolei 'font-style' odnosi się do stylizacji czcionki, a nie do jej wyboru. Pozwala on na ustawienie, czy czcionka ma być normalna, pochylona czy pogrubiona, ale nie określa, jakiego kroju czcionki używamy. To prowadzi do powszechnego błędu, kiedy użytkownicy myślą, że 'font-style' określa również krój, co jest nieprawdziwe. Z drugiej strony, 'text-family' nie jest uznawanym terminem w kontekście CSS, co może wprowadzać w błąd początkujących programistów. Ważne jest, aby zrozumieć, że właściwości CSS są ściśle zdefiniowane i korzystanie z nieprawidłowych terminów prowadzi do błędów w kodzie. Aby uniknąć takich nieporozumień, warto zapoznać się z dokumentacją CSS oraz standardami W3C, które dostarczają klarownych informacji na temat dostępnych właściwości i ich zastosowań.

Pytanie 22

W CSS, poniższy zapis spowoduje, że czerwony kolor zostanie zastosowany do

h1::first-letter {color:red;}
A. tekst nagłówka pierwszego poziomu
B. pierwsza linia akapitu
C. pierwsza litera nagłówka pierwszego poziomu
D. pierwsza litera nagłówka drugiego poziomu
Jak chcesz zmienić kolor pierwszej litery, to musisz wiedzieć, jak działają selektory CSS. Używając h1::first-letter, właściwie zaznaczasz, że chcesz zmienić tylko tę pierwszą literę nagłówka, co w sumie jest dobrym sposobem. Ale mogą się pojawić błędy, jeśli źle zrozumiesz, jak działają pseudoelementy w CSS. Na przykład, nie możesz myśleć, że ::first-letter zmieni całą linię tekstu, bo on tylko dotyczy tej pierwszej litery. Podobnie, nie da się zmienić całego nagłówka z użyciem tego selektora - on działa tylko na pojedynczej literze. Dużo osób myli też ::first-letter z ::first-line, bo ten drugi to coś innego i dotyczy całej pierwszej linii akapitu. Rozumienie tych różnic jest mega ważne, żeby tworzyć estetyczne i dobrze działające style. Prawidłowe użycie selektorów CSS to podstawa, żeby strony były czytelne i działały na różnych urządzeniach. Jak będziesz świadomie kodować, to unikniesz wielu typowych błędów.

Pytanie 23

W CSS zapis selektora p > i { color: red;} wskazuje, że kolorem czerwonym zostanie zdefiniowany

A. wszelki tekst w znaczniku <p>, z wyjątkiem tych w znaczniku <i>
B. wszelki tekst w znaczniku <p> lub wszelki tekst w znaczniku <i>
C. tylko ten tekst w znaczniku <p>, który posiada klasę o nazwie i
D. tylko ten tekst w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
Kiedy analizujemy alternatywne odpowiedzi na to pytanie, zauważamy, że pojawiają się w nich fundamentalne nieporozumienia dotyczące selektorów CSS i ich działania. Na przykład, stwierdzenie, że każdy tekst w znaczniku <p> lub każdy tekst w znaczniku <i> zostanie sformatowany, jest błędne, ponieważ nie uwzględnia hierarchii i zależności między tymi znacznikami. CSS działa na zasadzie kaskadowości i dziedziczenia, co oznacza, że style są stosowane w kontekście struktury dokumentu HTML. W tym przypadku, ponieważ operator > wskazuje na bezpośrednie powiązania, tekst w znaczniku <i>, który nie znajduje się bezpośrednio w <p>, nie będzie stylizowany na czerwono. Z kolei stwierdzenie, że każdy tekst w znaczniku <p> za wyjątkiem tych w znaczniku <i> zostanie sformatowany, jest także mylące, jako że stylizacja dotyczy wyłącznie elementów <i>, a nie całego znacznika <p>. Takie podejście może prowadzić do chaosu w stylizacji, gdyż nie uwzględnia, jak selektory mogą wpływać na stylizację w kontekście ich hierarchii. Również stwierdzenie, że styl dotyczy tylko tekstu w <p> z klasą o nazwie i, ignoruje fakt, że selektor w ogóle nie odnosi się do klas, tylko bezpośrednich relacji między znacznikami. Zrozumienie struktury DOM i zastosowania selektorów jest kluczowe dla efektywnej pracy z CSS, a błędne interpretacje mogą prowadzić do niepożądanych rezultatów w projekcie.

Pytanie 24

Jaki jest prawidłowy sposób deklaracji funkcji w języku JavaScript?

A. func myFunction() { }
B. void myFunction() { }
C. def myFunction() { }
D. function myFunction() { }
Deklaracja funkcji w JavaScript zaczyna się od słowa kluczowego <code>function</code>, po którym następuje nazwa funkcji, nawiasy okrągłe oraz nawiasy klamrowe obejmujące ciało funkcji. Przykładowo, <code>function myFunction() { }</code> tworzy funkcję o nazwie <em>myFunction</em>, która nie przyjmuje żadnych parametrów i nie wykonuje żadnych operacji, gdyż ciało funkcji jest puste. W JavaScript funkcje są fundamentalnym elementem, który pozwala na tworzenie modularnego i wielokrotnego użycia kodu. Można je wywoływać w dowolnym miejscu programu, co ułatwia zarządzanie złożonością kodu. Zgodnie z dobrymi praktykami, nazwy funkcji powinny być opisowe, aby jasno wskazywały na ich działanie. Warto również pamiętać, że w JavaScript funkcje są pierwszoklasowymi obiektami, co oznacza, że mogą być przypisywane do zmiennych, przekazywane jako argumenty do innych funkcji, czy zwracane jako wyniki funkcji. To sprawia, że JavaScript jest bardzo elastycznym językiem do programowania złożonych aplikacji webowych.

Pytanie 25

Jakie jest znaczenie powtarzania w zdefiniowanym stylu CSS?

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. obrazu umieszczonego przy użyciu znacznika img
B. obrazu umieszczonego w tle strony w pionie
C. obrazu umieszczonego w tle strony w poziomie
D. tła każdego z paragrafów
Rozważając inne odpowiedzi nietrudno dostrzec podstawowe błędy w ich koncepcjach Rysunek umieszczony w tle strony w poziomie odpowiadałby wartości repeat-x a nie repeat-y To fundamentalne rozróżnienie wynika z konwencji nazewnictwa CSS która jasno określa kierunki powtarzania W przypadku użycia znacznika img obraz jest osadzony w treści dokumentu HTML a nie jako tło CSS Powtarzanie w takim kontekście nie ma miejsca ponieważ obrazki w znacznikach img są kontrolowane za pomocą innych mechanizmów jak szerokość wysokość czy pozycjonowanie w ramach układu strony Ostatnia opcja odnosząca się do tła każdego ze znaczników akapitu wykazuje niezrozumienie kontekstu CSS Deklaracja body odnosi się do całego dokumentu a nie do poszczególnych elementów takich jak akapity aby zmienić tło akapitów należałoby użyć selektora p lub innego klasyfikatora odpowiadającego tym elementom Nietrafne odpowiedzi wynikają z nieznajomości podstawowych zasad działania CSS oraz ich zastosowania w praktyce co podkreśla potrzebę dogłębnego zrozumienia jak poszczególne właściwości wpływają na układ i wygląd strony internetowej

Pytanie 26

Język HTML posiada nagłówki, które służą do tworzenia hierarchii treści. Nagłówki te występują tylko w zakresie

A. h1 – h10
B. h1 – h8
C. h1 – h6
D. h1 – h4
Wybór h1 – h4 jako zakresu nagłówków jest błędny, ponieważ nie odzwierciedla pełnej specyfikacji HTML. HTML oferuje sześć poziomów nagłówków, a ograniczenie się do h4 pomija istotne elementy struktury dokumentu. Użytkownicy mogą myśleć, że wystarczy ograniczyć hierarchię nagłówków do czterech poziomów, co prowadzi do nieoptymalnego zarządzania treścią. Prawidłowe wykorzystanie nagłówków jest kluczowe dla dostępności i SEO. Gdy nie używamy h5 i h6, jesteśmy narażeni na utratę możliwości precyzyjnego wskazywania podtematów oraz organizacji treści. Dodatkowo, pomijając niższe poziomy nagłówków, możemy wprowadzać w błąd czytelników, którzy mogą mieć trudności z nawigacją po stronie. Kluczowe jest, aby każdy nagłówek miał swoje miejsce w hierarchii, co ułatwia zarówno ludziom, jak i algorytmom zrozumienie struktury treści. Ponadto standardy W3C oraz najlepsze praktyki w zakresie tworzenia stron internetowych zalecają pełne wykorzystanie wszystkich dostępnych poziomów nagłówków, aby zapewnić spójność i logiczność w organizacji treści. Dlatego wybór h1 – h4 jest niezgodny z rzeczywistością techniczną języka HTML.

Pytanie 27

Przedstawiono efekt formatowania CSS oraz kod HTML. Jak należy zdefiniować styl, aby osiągnąć takie formatowanie?

<p>
Mimozami jesień się zaczyna,<br>
Złotawa, krucha i miła.<br>
To ty, to ty jesteś ta dziewczyna,<br>
Która do mnie na ulicę wychodziła.
</p>
Ilustracja do pytania
A. p::first-line { font-size: 200%; color: brown; }
B. p.first-line { font-size: 200%; color: brown; }
C. .first-line { font-size: 200%; color: brown; }
D. #first-line { font-size: 200%; color: brown; }
Niestety, wybrana przez ciebie odpowiedź jest niepoprawna. Najważniejszym błędem jest brak zrozumienia, jak działają pseudoelementy i selektory CSS. Pseudoelement ::first-line jest używany specyficznie do formatowania pierwszej linii paragrafu. Zastosowanie selektora typu ID (#first-line) lub klasy (.first-line) nie dałoby oczekiwanego efektu, ponieważ te selektory odnoszą się do elementów o określonym identyfikatorze lub klasie, a nie do pierwszej linii paragrafu. Podobnie, selektor p.first-line oznacza paragraf o klasie 'first-line', a nie pierwszą linię paragrafu. Dlatego w tym przypadku prawidłowym rozwiązaniem jest zastosowanie pseudoelementu ::first-line w połączeniu z selektorem paragrafu (p), co umożliwi formatowanie tylko pierwszej linii paragrafu. Pamiętaj, że prawidłowe rozumienie selektorów CSS jest kluczowe do efektywnego stylowania stron internetowych i tworzenia responsywnych, atrakcyjnych layoutów.

Pytanie 28

W jakim formacie powinien być zapisany obraz, aby mógł być wyświetlany na stronie internetowej z zachowaniem przezroczystości?

A. CDR
B. BMP
C. PNG
D. JPG
Format PNG (Portable Network Graphics) jest szeroko stosowany w sieci internetowej, ponieważ obsługuje przezroczystość, co jest kluczowe przy tworzeniu grafik, które mają być używane na stronach internetowych. Przezroczystość pozwala na nałożenie grafik na różne tła bez widocznych prostokątów czy kolorowych krawędzi, co znacznie poprawia estetykę oraz elastyczność projektów graficznych. PNG wykorzystuje kompresję bezstratną, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas jego zapisywania, co jest istotne dla profesjonalnych projektów. Przykłady zastosowania formatu PNG obejmują ikony, logotypy oraz różnego rodzaju ilustracje, które muszą być wyświetlane na różnych tłach. W branży internetowej dobrym standardem jest używanie PNG do grafik wymagających przezroczystości, szczególnie w kontekście responsywnych projektów, gdzie różne elementy mogą mieć różne tła w zależności od urządzenia. Ponadto, PNG obsługuje kolor 24-bitowy oraz przezroczystość 8-bitową, co daje możliwość tworzenia bardziej złożonych efektów wizualnych. Zastosowanie tego formatu jest zgodne z dobrymi praktykami w projektowaniu stron, co czyni go preferowanym wyborem w wielu sytuacjach.

Pytanie 29

Jakie metody są związane z predefiniowanym obiektem Date w języku JavaScript?

A. concat() oraz pop()
B. fromCodePoint()
C. row()
D. getMonth() oraz getDay()
Metody row(), fromCodePoint() oraz concat() i pop() nie są związane z obiektem Date w JavaScript, stąd ich niepoprawność w kontekście pytania. Metoda row() nie istnieje w standardzie JavaScript, co czyni ją całkowicie nieodpowiednią w analizie dat. Z kolei fromCodePoint() jest metodą stosowaną w kontekście pracy z Unicode, a nie datami; służy do konwersji punktów kodowych na znaki, co nie ma zastosowania w operacjach na obiektach Date. Metody concat() oraz pop() są właściwe dla obiektów typu Array. concat() łączy dwa lub więcej tablic, natomiast pop() usuwa ostatni element tablicy. Obie te metody nie mają związku z manipulowaniem datami, a ich wykorzystanie w kontekście obiektu Date jest błędne. Dlatego odpowiedzi te są niewłaściwe i nie mają zastosowania w kontekście funkcji obiektu Date w JavaScript, co pokazuje, jak ważne jest zrozumienie kontekstu i specyfiki metod w języku JavaScript.

Pytanie 30

Rodzaj zmiennej w języku JavaScript

A. nie istnieje.
B. musi być zadeklarowany na początku skryptu.
C. ma miejsce poprzez przypisanie wartości.
D. jest tylko jeden rodzaj.
Wiele osób uważa, że typ zmiennej w JavaScript powinien być z góry zadeklarowany, co jest niezgodne z jego zasadami działania. Twierdzenie, że typ zmiennej 'nie występuje', jest mylne, ponieważ każda wartość przypisana do zmiennej ma swój typ, nawet jeśli nie jest to jawnie określone. Ignorowanie tego faktu prowadzi do nieporozumień i błędów w kodzie. Kolejne nieprecyzyjne stwierdzenie, że 'jest tylko jeden' typ zmiennej, pomija kluczową cechę JavaScript jako języka dynamicznego, który obsługuje wiele typów, takich jak liczby, stringi, obiekty i tablice. Typy te mogą zmieniać się w trakcie działania programu, co czyni język bardzo elastycznym. Z kolei przekonanie, że zmienne muszą być zadeklarowane na początku skryptu, jest również błędne, ponieważ JavaScript pozwala na przypisywanie wartości do zmiennych w dowolnym miejscu w kodzie, co zwiększa jego dynamikę. Takie myślenie może prowadzić do nieefektywnego kodu, który jest trudniejszy w utrzymaniu oraz rozwijaniu. Ważne jest, aby zrozumieć zasady działające w tym języku, aby unikać typowych pułapek związanych z typowaniem zmiennych oraz właściwie wykorzystać zalety, jakie oferuje JavaScript.

Pytanie 31

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

A. <div>
B. <em>
C. <sub>
D. <strong>
Każdy z pozostałych znaczników jest określony jako element do formatowania tekstu w HTML. Znacznik <em> służy do oznaczania tekstu, który ma być wyrażony z naciskiem, co zazwyczaj przekłada się na kursywę w przeglądarkach internetowych. To podejście jest zgodne z zasadami semantyki HTML, które zalecają użycie odpowiednich znaczników dla różnych typów treści, co poprawia dostępność oraz SEO. Znacznik <sub> jest używany do oznaczania tekstu jako dolnego indeksu, co jest powszechnie stosowane w naukowych notacjach i chemii. W końcu, <strong> jest używany do zaznaczania tekstu jako ważnego, co zazwyczaj skutkuje pogrubieniem. Zrozumienie ról tych znaczników jest kluczowe dla projektowania stron internetowych. Często mylnie przyjmuje się, że każdy znacznik jest tym samym, co prowadzi do nieefektywnego kodowania i braku semantyki w stronach. Dlatego ważne jest, aby stosować odpowiednie znaczniki zgodnie z ich przeznaczeniem, co jest fundamentalne w tworzeniu dostępnych i dobrze zorganizowanych aplikacji internetowych.

Pytanie 32

Wskaż nieprawdziwe zdanie dotyczące normalizacji dźwięku.

A. Normalizacja polega na obniżeniu poziomu najgłośniejszej próbki w sygnale do określonej wartości, a następnie w odniesieniu do niej proporcjonalnym zwiększeniu głośności pozostałej części sygnału.
B. Gdy najgłośniejszy fragment dźwięku ma wartość pół na skali, to wszystkie dźwięki zostaną wzmocnione dwukrotnie - w ten sposób najgłośniejszy fragment osiągnie maksymalną wartość na skali.
C. Podczas normalizacji poziom głośności całego nagrania jest wyrównywany.
D. Funkcja normalizacja znajduje się w menu programu do edycji dźwięku.
Twoja odpowiedź dobrze wskazuje na to, jak działa normalizacja. Generalnie chodzi o to, żeby dostosować głośność całego nagrania tak, aby najgłośniejszy fragment nie był za cichy. Kiedy ten najgłośniejszy kawałek jest na poziomie 50%, normalizacja podnosi głośność całego nagrania, żeby ten fragment był na maksa. W praktyce to też oznacza, że inne, cichsze części nagrania też będą głośniejsze, co jest ważne, bo pozwala to utrzymać przyjemny balans w dźwięku. Normalizacja jest bardzo powszechna, zwłaszcza w produkcji muzyki, żeby różne utwory miały podobny poziom głośności, bo różnice mogą być dość irytujące podczas słuchania. Ważne, żeby zawsze sprawdzić, czy po normalizacji nie ma jakichś zniekształceń czy clippingu. Czasem warto też używać normalizacji razem z innymi technikami, jak kompresja, żeby osiągnąć jeszcze lepszy efekt końcowy.

Pytanie 33

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości, powinno zawierać właściwość

BLOK 1BLOK 2
BLOK 3BLOK 4
BLOK 5
A. clear: both dla wszystkich bloków.
B. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
C. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
D. float: left dla wszystkich bloków.
Hmm, tutaj coś poszło nie tak. Wybrałeś opcję z `clear: both`, ale to nie do końca pasuje do tego zadania. `clear: both` w CSS służy głównie do resetowania pływania bloków, więc jak masz blok z tym ustawieniem, to następny nie będzie obok niego, tylko przesunie się na dół. A w tym przypadku nie musisz resetować pływania, bo to nie jest potrzebne. Wiem, że wybór `float: left` dla niektórych bloków może wydawać się dobrym pomysłem, ale żeby wszystko się poprawnie ułożyło, musisz zastosować `float: left` dla wszystkich bloków. I pamiętaj, żeby im ustawić szerokość, bo inaczej bloków może się nie udać ułożyć w poziomie.

Pytanie 34

Z uwagi na zaprezentowany styl CSS, plik rysunek.gif jest używany jako tło strony:

body {
    background-image: url("rysunek.gif");
    background-repeat: repeat-y;
}
A. zarówno w pionowym, jak i poziomym kierunku ze skalowaniem
B. zarówno w pionowym, jak i poziomym kierunku z kadrowaniem
C. w pionowym kierunku
D. w poziomym kierunku
Pierwsza nieprawidłowa koncepcja zakłada, że obraz tła może być powtarzany w poziomie, co nie jest zgodne z zastosowaną wartością `repeat-y`. Właściwość `background-repeat` z wartością `repeat-y` powoduje powtarzanie jedynie w osi pionowej, co wyklucza powtarzanie w poziomie. Kolejnym błędnym podejściem jest założenie, że obraz tła jest powtarzany jednocześnie w pionie i w poziomie z kadrowaniem. Kadrowanie, czyli dostosowanie wymiarów obrazu w tło, nie jest związane z ustawieniem `repeat-y`. To ustawienie kontroluje jedynie sposób powtarzania obrazu, a nie jego rozmiar czy kadrowanie. Ostatnia błędna odpowiedź zakłada, że występuje skalowanie tła zarówno w pionie, jak i poziomie. Skalowanie obrazu tła wymaga użycia `background-size`, a nie `background-repeat`. Jest to częsty błąd polegający na mieszaniu właściwości CSS, co może prowadzić do nieprzewidywalnych efektów wizualnych na stronie. Rozumienie rozróżnienia między powtarzaniem, skalowaniem a kadrowaniem obrazu tła jest kluczowe w projektowaniu nowoczesnych layoutów webowych.

Pytanie 35

Które dane z 8 rekordów wpisanych do tabeli zwierzeta zostaną wyświetlone w wyniku podanego poniżej zapytania SQL?

SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016;

idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
A. Dika, Fuks.
B. Figaro, Dika, Fuks.
C. Fafik, Brutus, Dika, Fuks.
D. Anna Kowalska, Jan Nowak.
Niestety, twoja odpowiedź nie była prawidłowa. Wybór innego zestawu danych niż 'Dika, Fuks' sugeruje, że nie do końca rozumiesz, jak działają zapytania SQL. Zapytanie w tym pytaniu miało na celu znalezienie zwierząt o określonym rodzaju (2) i roku szczepienia (2016). Wybierając inne zwierzęta, które nie spełniają tych kryteriów, pomijasz istotę zapytania SQL, które służy do filtrowania i selekcji danych na podstawie określonych warunków. Pamiętaj, że SQL pozwala na precyzyjne manipulowanie danymi i ich wybór, a zrozumienie i umiejętne wykorzystanie tego narzędzia jest kluczowe w pracy z bazami danych. Możliwym błędem, który mógł prowadzić do niepoprawnej odpowiedzi, jest niezrozumienie, jak operatory logiczne (takie jak AND) działają w kontekście SQL. W tym przypadku zapytanie wymaga spełnienia obu warunków - rodzaj musi być równy 2 i rok szczepienia musi być równy 2016. Warto zaznajomić się z różnymi operatorami i ich funkcjonowaniem w SQL, aby uniknąć podobnych błędów w przyszłości.

Pytanie 36

Jakim poleceniem można zobaczyć konfigurację serwera PHP, zawierającą między innymi: wersję PHP, system operacyjny serwera oraz wartości przedefiniowanych zmiennych?

A. phpcredits();
B. print_r(ini_get_all());
C. echo phpversion();
D. phpinfo();
Funkcja phpinfo() jest najczęściej używaną metodą do wyświetlania szczegółowych informacji o konfiguracji serwera PHP. Umożliwia ona dostarczenie danych na temat wersji PHP, zainstalowanych modułów, wartości konfiguracyjnych oraz informacji o systemie operacyjnym, na którym działa serwer. W kontekście dostosowywania aplikacji webowych, phpinfo() jest nieocenionym narzędziem diagnostycznym. Na przykład, gdy programista potrzebuje zweryfikować, czy określony moduł PHP, taki jak cURL czy GD, jest aktywowany, wystarczy umieścić w skrypcie polecenie `<?php phpinfo(); ?>`. Efektem jest pełna tabela z danymi, która zawiera wszystkie istotne informacje. Dobre praktyki wskazują, aby nie publikować wyników phpinfo() na stronach dostępnych publicznie, ponieważ ujawniają one wrażliwe informacje o konfiguracji serwera, co może prowadzić do potencjalnych luk w bezpieczeństwie.

Pytanie 37

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:active { background-color: Pink; }
D. tr { background-color: Pink; }
W tym zadaniu chodzi o zrozumienie, jak działają selektory CSS oraz pseudo-klasy odpowiedzialne za interakcję z użytkownikiem. Jeśli efekt ma pojawiać się tylko wtedy, gdy użytkownik najedzie myszką na wiersz tabeli, to zwykłe ustawienie background-color bez pseudo-klasy nie spełni tego warunku. Deklaracja tr { background-color: Pink; } oznaczałaby, że wszystkie wiersze tabeli są cały czas różowe, niezależnie od tego, czy ktoś na nie najedzie, czy nie. To jest po prostu styl statyczny, bez żadnej reakcji na zdarzenia. Podobnie zapis td, th { background-color: Pink; } ustawia tło dla wszystkich komórek tabeli (zarówno nagłówkowych th, jak i zwykłych td) w sposób stały. Moim zdaniem to dość częsty błąd: ktoś kojarzy tabelę z komórkami i intuicyjnie styluje td/th, ale zapomina, że w pytaniu chodzi o efekt dynamiczny „po najechaniu”. W rezultacie otrzymujemy tabelę pokolorowaną na stałe, bez jakiejkolwiek interakcji, co jest sprzeczne z założeniem zadania i z typowym zachowaniem tabel w nowoczesnych interfejsach. Ciekawsza jest kwestia selektora tr:active { background-color: Pink; }. Pseudo-klasa :active oznacza element w momencie „aktywacji”, czyli najczęściej w chwili klikania (przytrzymania przycisku myszy). Efekt trwa bardzo krótko, tylko w czasie samego kliknięcia. To zupełnie inny scenariusz niż wygodne podświetlenie wiersza, które ma się utrzymywać, dopóki kursor jest nad elementem. Użycie :active prowadzi do efektu, który miga na ułamek sekundy i z punktu widzenia ergonomii jest praktycznie bezużyteczny w kontekście podświetlania wierszy. Typowy błąd myślowy przy takich pytaniach polega na myleniu różnych pseudo-klas: :hover, :active, :focus. W webdevie przyjęło się, że :hover służy do reakcji na najechanie myszką, :active do krótkiej reakcji na kliknięcie, a :focus do zaznaczenia elementu, który ma aktualnie fokus klawiatury. Standardy CSS i dobre praktyki projektowania interfejsów jasno wskazują, że do efektu „podświetl wiersz, gdy nad nim jestem” należy użyć właśnie :hover na odpowiednim elemencie, czyli w tym przypadku tr. Wszystkie pozostałe odpowiedzi ignorują tę zasadę albo stosują nie tę pseudo-klasę, co trzeba, przez co nie odzwierciedlają poprawnie zachowania pokazanego w materiale wideo.

Pytanie 38

Globalne zmienne do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION stanowią część języka

A. Perl
B. PHP
C. C#
D. JavaScript
Odpowiedzi C# i JavaScript są niewłaściwe, ponieważ te języki programowania nie posiadają natywnej obsługi dla $_COOKIE oraz $_SESSION, które są specyficzne dla PHP. C# jest językiem wykorzystywanym głównie w kontekście aplikacji webowych ASP.NET, gdzie zarządzanie stanem sesji odbywa się w zupełnie inny sposób, zazwyczaj przy użyciu obiektów typu SessionState, które są zintegrowane z serwerem. Użycie ciasteczek w C# wymaga od programisty ręcznego zarządzania headerami HTTP i cookie, co może być bardziej złożone i wymagające. Z kolei JavaScript, będący językiem skryptowym działającym po stronie klienta, nie ma bezpośredniego dostępu do sesji serwera ani nie operuje na $_COOKIE, które są mechanizmem PHP. JavaScript może korzystać z ciasteczek, ale jego zastosowanie w zakresie utrzymywania sesji jest ograniczone, ponieważ nie oferuje on zarządzania stanem aplikacji na poziomie serwera. W rzeczywistości, programiści mogą mylić rolę ciasteczek i sesji, sądząc, że oba mechanizmy są identyczne, podczas gdy różnią się one w kontekście przechowywania i bezpieczeństwa danych. Właściwe zrozumienie tych różnic jest kluczowe dla efektywnego projektowania aplikacji webowych, dlatego ważne jest, aby odnosić się do odpowiednich dokumentacji i standardów dla każdego z używanych języków.

Pytanie 39

Model, w którym wszystkie informacje są zgromadzone w jednej tabeli, określa się jako struktura prostych baz danych

A. sieciowym
B. jednorodnym
C. relacyjnym
D. hierarchicznym
Model jednorodny, znany też jako model płaskiej tabeli, to taka struktura bazy, w której trzymamy wszystkie dane w jednej tabeli. To najprostsza opcja do zrozumienia i wdrożenia, dlatego świetnie nadaje się do małych i prostych aplikacji. W tym modelu dane są poukładane w wiersze i kolumny – każdy wiersz to jakiś rekord, a kolumny to różne cechy lub atrybuty tego rekordu. Na przykład, wyobraź sobie tabelę z informacjami o książkach: każda książka to osobny wiersz, a kolumny mogą zawierać tytuł, autora, rok wydania czy ISBN. Oczywiście, ma to swoje ograniczenia, zwłaszcza jeśli chodzi o wydajność i zarządzanie dużymi zbiorami danych. Dlatego w praktyce często przechodzi się na bardziej zaawansowane modele, jak relacyjny. Mimo to, model jednorodny sprawdza się w prototypowaniu albo tam, gdzie liczy się prostota i szybki dostęp do danych. Warto też wiedzieć, że nie korzysta się tu do końca ze standardów typu SQL, bo nie ma relacji między danymi.

Pytanie 40

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. klucza obcego z wartością NOT NULL i UNIQUE
C. klucza PRIMARY KEY z wartością NOT NULL i UNIQUE
D. kluczy PRIMARY KEY i FOREIGN KEY
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.