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: 30 czerwca 2026 18:55
  • Data zakończenia: 30 czerwca 2026 19:19

Egzamin zdany!

Wynik: 28/40 punktów (70,0%)

Wymagane minimum: 20 punktów (50%)

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

Wskaż sposób oznaczania komentarzy wielowierszowych w kodzie PHP.

A. /* treść komentarza*/
B. / treść komentarza/
C. // treść komentarza
D. <!-- treść komentarza -->
Poprawna odpowiedź to zapis w postaci /* treść komentarza */. W języku PHP taki zapis oznacza komentarz wielowierszowy, czyli taki, który może rozciągać się na kilka linii kodu. Komentarz zaczyna się znakiem /* i kończy się dokładnie sekwencją */. Wszystko, co znajduje się pomiędzy tymi znacznikami, jest ignorowane przez interpreter PHP i nie ma wpływu na działanie programu.
Można to wykorzystać np. tak:

/*
Funkcja liczy sumę dwóch liczb
Parametry:
$a – pierwsza liczba
$b – druga liczba
*/
function suma($a, $b) {
return $a + $b;
}

Z mojego doświadczenia dobrze jest używać komentarzy wielowierszowych do opisywania całych bloków logiki, np. większych funkcji, klas albo skomplikowanych fragmentów algorytmu. W dokumentacji i w dobrych projektach często spotyka się też komentarze stylizowane na PHPDoc, np.:

/**
* Zwraca sumę dwóch liczb całkowitych
* @param int $a
* @param int $b
* @return int
*/

To nadal jest zwykły komentarz wielowierszowy, tylko używany zgodnie z pewnym standardem narzędziowym. Moim zdaniem warto wyrabiać sobie nawyk pisania czytelnych komentarzy, ale jednocześnie nie przesadzać – komentarz wielowierszowy powinien wyjaśniać „dlaczego” coś jest zrobione w określony sposób, a nie przepisywać oczywistości z kodu. W praktyce w PHP używa się trzech form komentarzy: // dla jednowierszowych, # (rzadziej, ale też działa) oraz właśnie /* */ dla wielowierszowych. Znajomość tej składni to absolutna podstawa przy pracy z większymi projektami PHP, bo bez niej kod szybko staje się nieczytelny dla innych programistów.

Pytanie 2

Wskaż prawdziwe stwierdzenie dotyczące polecenia:

CREATE TABLE IF NOT EXISTS adres (ulica VARCHAR(70) CHARACTER SET utf8);
A. IF NOT EXISTS stosuje się opcjonalnie, aby upewnić się, że w bazie danych nie istnieje już taka tabela.
B. Rekordem tabeli nie może być '3 MAJA'.
C. Do tabeli nie można wprowadzać nazw ulic zawierających polskie znaki.
D. Klauzula CHARACTER SET utf8 jest obowiązkowa.
Dobrze, że wybrałeś właściwą odpowiedź! Polecenie CREATE TABLE IF NOT EXISTS jest rzeczywiście używane w SQL, aby stworzyć tabelę tylko wtedy, gdy nie istnieje ona już w bazie danych. To jest bardzo praktyczne narzędzie, które pozwala uniknąć błędów, gdy próbujemy stworzyć tabelę, która już istnieje. Jest to zgodne z dobrymi praktykami zarządzania danymi i jest oparte na standardach SQL. Dodatkowo, warto pamiętać, że klauzula CHARACTER SET utf8, chociaż nie jest obowiązkowa, pozwala na przechowywanie znaków specjalnych, w tym polskich. Jest to ważne, gdy pracujemy z danymi, które zawierają różne zestawy znaków. Dlatego, nawet jeśli nie jest to wymagane, często jest to dobra praktyka. Podobnie, warto pamiętać, że typ danych VARCHAR(70) pozwala na przechowywanie dowolnych ciągów znaków, w tym dat i nazw, więc nie ma żadnych ograniczeń co do tego, jakie informacje mogą być przechowywane w tabeli.

Pytanie 3

Wynikiem działania poniższej pętli for w przedstawionym kodzie PHP jest wyświetlenie liczb:

<?php
   for($i=5;$i>1;$i-=2)
       echo ($i%2)." ";
?>
A. 1 0
B. 1 0 1
C. 1 0 1 0
D. 1 1
Wybór błędnych odpowiedzi wynika z niepełnej analizy działania pętli oraz błędnych założeń dotyczących wartości zwracanych przez operację modulo. Odpowiedzi 1 0, 1 0 1 oraz 1 0 1 0 wskazują na zrozumienie, że liczby mogą mieć różne wartości modulo 2, ale z niewłaściwym przypisaniem ich do konkretnego kontekstu pętli. Wartość 0 w odpowiedzi 1 0 sugeruje, że użytkownik myśli, że $i może kiedykolwiek przyjąć wartość parzystą i wpłynąć na wynik, co jest błędne w kontekście analizowanego kodu. Liczba 5 jest liczbą nieparzystą, więc operacja modulo skutkuje 1, a 3 również jest liczbą nieparzystą, co również daje 1. Odpowiedź 1 0 1 sugeruje, że po osiągnięciu wartości $i = 1, wynik zmienia się na zero, co jest niezgodne z zasadami przetwarzania w tej pętli. Podobnie, odpowiedź 1 0 1 0 sugeruje, że w pętli mogłyby pojawić się inne wartości, podczas gdy w rzeczywistości, jak pokazuje analiza, pętla kończy się po dwóch iteracjach. Kluczowe jest zrozumienie, jak działają struktury kontrolne w programowaniu oraz jakie wyniki można otrzymać na podstawie operacji arytmetycznych. Taka analiza jest niezbędna, aby uniknąć typowych błędów związanych z operacjami na liczbach oraz wyciąganiem wniosków na temat ich właściwości.

Pytanie 4

W systemach baz danych, aby przedstawić dane spełniające określone kryteria, należy stworzyć

A. formularz
B. relację
C. makropolecenie
D. raport
Raport w bazach danych jest narzędziem, które pozwala na prezentację danych w formacie dostosowanym do konkretnych potrzeb użytkownika. Jego głównym celem jest przedstawienie informacji, które spełniają określone kryteria, co jest niezwykle istotne w kontekście analizy danych. Raporty mogą być generowane na podstawie różnych źródeł danych, a ich struktura może obejmować tabele, wykresy i podsumowania. W praktyce, raporty są często używane w procesach decyzyjnych, na przykład w raportowaniu wyników finansowych, analizie sprzedaży czy monitorowaniu wydajności operacyjnej. Wiele systemów zarządzania bazami danych (DBMS) oferuje funkcje do tworzenia raportów, co jest zgodne z najlepszymi praktykami w dziedzinie analizy i wizualizacji danych. Dobrze zbudowany raport nie tylko dostarcza kluczowych informacji, ale także umożliwia efektywniejsze podejmowanie decyzji poprzez dostarczenie kontekstu i analizy danych.

Pytanie 5

W języku PHP zapisano fragment kodu. Plik cookie stworzony tym poleceniem

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. zostanie usunięty po jednej godzinie od jego utworzenia.
B. zostanie usunięty po jednym dniu od jego utworzenia.
C. będzie przechowywany na serwerze przez jeden dzień.
D. będzie przechowywany na serwerze przez jedną godzinę.
Odpowiedź, którą zaznaczyłeś, to 'zostanie usunięty po jednym dniu od jego utworzenia'. W PHP działa to tak, że funkcja setcookie() bierze pod uwagę czas, po jakim cookie ma wygasnąć. To jest dodawane do aktualnego czasu, który dostajemy z funkcji time(). Kiedy widzisz wartość 3600 * 24, to znaczy, że mamy tu 86400 sekund, a to dokładnie jeden dzień. Czyli cookie zniknie z przeglądarki po upływie doby od założenia. Wydaje mi się, że to ważna sprawa, bo dobrze wiedzieć, jak działa cykl życia cookies w PHP. Pomoże to w ogarnianiu sesji i dbaniu o bezpieczeństwo w aplikacjach internetowych.

Pytanie 6

Do czego służy polecenie mysqldump?

A. do optymalizacji bazy
B. do utworzenia kopii zapasowej bazy
C. do sprawdzenia integralności bazy
D. do naprawy niespójnej bazy
Pozostałe zadania wykonują inne narzędzia. Naprawą niespójnej bazy, optymalizacją i sprawdzeniem integralności zajmuje się mysqlcheck. Kopię zapasową tworzy mysqldump.

Pytanie 7

Który format graficzny zapisuje fotografie z kompresją stratną i nie obsługuje przezroczystości?

A. JPG
B. PNG
C. SVG
D. GIF
Pozostałe formaty różnią się od JPG sposobem zapisu. PNG koduje obraz bezstratnie i obsługuje przezroczystość - świetny do grafik i logo, ale pliki zdjęć bywają większe. GIF również jest bezstratny, lecz ogranicza paletę do 256 kolorów i służy głównie do prostych animacji oraz grafik z przezroczystością. SVG to w ogóle inny rodzaj grafiki - wektorowy, opisujący kształty za pomocą krzywych, więc nie nadaje się do fotografii. Stratną kompresję fotografii bez przezroczystości zapewnia JPG.

Pytanie 8

W zaprezentowanej części formularza HTML znajduje się pole, które można określić jako?

<input type="password" name="pole">
A. pozwala na wprowadzanie jedynie wartości liczbowych.
B. wyświetla wprowadzone znaki.
C. ukrywa wprowadzone znaki.
D. domyślnie posiada wpisany tekst "pole".
Twoja odpowiedź jest właściwa. W tym fragmencie formularza HTML mamy pole <i>input</i>, które wprowadzone znaki ukrywa. To dzięki atrybutowi 'type="password"' w elemencie <i>input</i>. W HTML atrybut 'type' mówi nam, jaki typ danych użytkownik może wprowadzić do tego pola. Jak masz 'password', to wpisane rzeczy są zasłonięte symbolami, jak np. gwiazdki czy kropki, żeby chronić dane użytkownika. To standardowa sprawa, szczególnie dla haseł i innych ważnych informacji, żeby nikt ich nie zobaczył. Pamiętaj, że takie pola powinny być zawsze dobrze oznaczone i zabezpieczone, to ważne dla bezpieczeństwa.

Pytanie 9

Który z poniższych fragmentów kodu HTML sformatuje tekst zgodnie z wymaganiami? (zauważ, że słowo "stacji" jest wyświetlane w większej czcionce niż pozostałe słowa w tej linii)

Ilustracja do pytania
A. Odpowiedź 4: D
B. Odpowiedź 1: A
C. Odpowiedź 2: B
D. Odpowiedź 3: C
Odpowiedź B jest prawidłowa ponieważ używa znacznika big do zwiększenia rozmiaru czcionki dla słowa stacji wewnątrz paragrafu. Znacznik big jest standardowym sposobem na zwiększenie tekstu w HTML chociaż obecnie rekomendowane jest stosowanie CSS do takich stylizacji co pozwala na oddzielenie treści od prezentacji. Przykładowo można użyć CSS w stylu inline lub w oddzielnym arkuszu stylów aby uzyskać ten sam efekt co zwiększa elastyczność i spójność projektu. Warto pamiętać że HTML5 wprowadza pewne zmiany i deprecjonuje niektóre znaczniki co wymaga ciągłego aktualizowania wiedzy dewelopera. Znacznik big mimo że działa w większości przeglądarek może być mniej przewidywalny w przyszłości w porównaniu z CSS. Rozdzielenie stylów od struktury dokumentu jest dobrą praktyką programistyczną co ułatwia zarządzanie kodem oraz poprawia dostępność stron internetowych. Pamiętaj by regularnie analizować i aktualizować swoje projekty zgodnie z najnowszymi standardami HTML i CSS.

Pytanie 10

Pokazane pole input pozwala na  

<input type = "checkbox" name = "text1" value = "text2">

A. wprowadzenie hasła
B. wybranie opcji
C. wprowadzenie dowolnego tekstu
D. selekcja opcji z listy o wartościach text1 i text2
Odpowiedź "zaznaczenie opcji" jest na pewno trafna, bo pole checkbox (<input type='checkbox'>) jest stworzone do tego, żeby użytkownicy mogli wybrać jedną lub więcej opcji z danej grupy. Widzisz, checkboxy są bardzo popularne w formularzach internetowych, bo pozwalają na różnorodność wyborów, w przeciwieństwie do przycisków radiowych, które pozwalają na zaznaczenie tylko jednej opcji. Na przykład, jak się rejestrujesz na stronie, możesz zaznaczyć różne zgody na przetwarzanie danych, co daje możliwość wyboru więcej niż jednej opcji. Z punktu widzenia HTML i najlepszych praktyk w projektowaniu formularzy, warto dodać odpowiednie etykiety (label) do checkboxów, żeby ułatwić korzystanie z nich osobom, które używają technologii asystujących. Jeśli dobrze ustalimy atrybuty 'name' i 'value', to dane po przesłaniu formularza będą odpowiednio przetworzone. Pamiętaj, że wartość checkboxa jest przesyłana tylko wtedy, gdy jest zaznaczony, co jest zgodne z oczekiwaniami użytkowników oraz standardami W3C.

Pytanie 11

Który z podanych formatów pozwala na zapis zarówno dźwięku, jak i obrazu?

A. WAV
B. MP3
C. MP4
D. PNG
Format MP4, znany również jako MPEG-4 Part 14, jest jednym z najpopularniejszych formatów multimedialnych, który umożliwia jednoczesny zapis zarówno dźwięku, jak i obrazu. Dzięki zastosowaniu zaawansowanej kompresji, MP4 pozwala na przechowywanie wysokiej jakości materiałów w stosunkowo małych plikach, co czyni go idealnym do przesyłania i strumieniowania w Internecie. MP4 obsługuje wiele kodeków, takich jak H.264 dla wideo oraz AAC dla dźwięku, co pozwala na szeroką kompatybilność z różnymi urządzeniami, od smartfonów po odtwarzacze multimedialne. Format ten jest zgodny z wieloma standardami, co czyni go wszechstronnym wyborem dla twórców treści. Przykłady jego zastosowania obejmują filmy wideo na platformach streamingowych, klipy muzyczne i wideoklipy. Dzięki swoim zaletom, MP4 stał się de facto standardem w przemyśle multimedialnym, co w znacznym stopniu przyczyniło się do jego popularności oraz wszechstronności.

Pytanie 12

Informacje o ciasteczkach (cookies) są w PHP przechowywane w tablicy:

A.
$_POST
B.
$_COOKIE
C.
$_GET
D.
$_SERVER
Ciasteczka odesłane przez przeglądarkę PHP udostępnia w tablicy superglobalnej $_COOKIE. Odczytuje się z niej wartość po nazwie, np. $_COOKIE["jezyk"]. Samo ciasteczko ustawia się funkcją setcookie("jezyk", "pl", time()+3600), a serwer wysyła je w nagłówku odpowiedzi; przy kolejnych żądaniach przeglądarka odsyła je z powrotem i trafiają właśnie do $_COOKIE. W praktyce wykorzystuje się je do zapamiętania preferencji użytkownika czy identyfikatora sesji. Dlatego informacje o ciasteczkach przechowuje tablica $_COOKIE.

Pytanie 13

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL pozwala na

A. przyznawanie praw do tabeli
B. odebranie uprawnień danemu użytkownikowi
C. przyznawanie uprawnień z użyciem ustalonego schematu
D. usunięcie użytkownika z bazy danych
Pierwsza z niepoprawnych odpowiedzi dotyczy nadawania uprawnień z użyciem zdefiniowanego schematu. W rzeczywistości polecenie REVOKE nie ma nic wspólnego z nadawaniem uprawnień, lecz dotyczy jedynie ich odbierania. Schematy w SQL służą do grupowania obiektów bazy danych, a nadawanie uprawnień odbywa się za pomocą polecenia GRANT. Kolejna odpowiedź sugeruje usuwanie użytkownika z bazy, co jest całkowicie nieprawidłowe. REVOKE nie ma na celu usuwania kont użytkowników ani ich danych, a jedynie zarządzanie ich dostępem do konkretnych zasobów. Ostatnia niepoprawna odpowiedź wskazuje na nadawanie praw do tabeli, co również jest błędne, ponieważ REVOKE służy do ich odbierania, a nie nadawania. Nadawanie uprawnień do tabeli wykonywane jest poprzez polecenie GRANT, które przyznaje użytkownikowi odpowiednie prawa. Te błędne odpowiedzi mogą wprowadzać w błąd osoby, które dopiero zaczynają przygodę z SQL, dlatego istotne jest, aby dokładnie zrozumieć różnicę między nadawaniem a odbieraniem uprawnień oraz znać odpowiednie komendy do zarządzania dostępem w bazach danych.

Pytanie 14

Aby poprawnie zdefiniować hierarchiczną strukturę tekstu na stronie internetowej, należy zastosować:

A. znaczniki <h1>, <h2> oraz <p>
B. znacznik <p> z formatowaniem
C. znaczniki <frame> i <table>
D. znacznik <div>
Hierarchię tekstu na stronie budują znaczniki nagłówków <h1> do <h6>, gdzie <h1> to tytuł najważniejszy, a kolejne poziomy oznaczają sekcje i podsekcje. Przeglądarka, wyszukiwarki i czytniki ekranu odczytują z nich plan dokumentu, dlatego nagłówków używa się zgodnie ze znaczeniem, a nie dla samego wyglądu. Akapity <p> uzupełniają tę strukturę właściwą treścią. Taki układ poprawia czytelność, dostępność i pozycjonowanie strony - i właśnie dlatego poprawna odpowiedź łączy nagłówki z akapitem.

Pytanie 15

Który z protokołów umożliwia publikację strony internetowej na serwerze?

A. SMTP
B. FTP
C. NNTP
D. ICMP
To, że wybrałeś FTP, to strzał w dziesiątkę! Ten protokół jest super przydatny do przesyłania plików między komputerami, zwłaszcza kiedy chcemy wrzucić naszą stronę na serwer. Działa tak, że logujesz się zdalnie na serwer, przeglądasz, co tam jest, i możesz łatwo przesyłać, pobierać albo nawet usuwać pliki. Jak twórcy stron chcą się podzielić swoimi plikami, jak HTML czy CSS, to sięgają po programy FTP, takie jak FileZilla. W momencie, kiedy połączysz się z serwerem, praca z plikami staje się naprawdę prosta. Warto pamiętać, że są też bezpieczniejsze wersje tego protokołu, czyli SFTP lub FTPS, które szyfrują dane, co jest ważne, bo zwiększa bezpieczeństwo przesyłanych plików.

Pytanie 16

Jaką funkcją agregującą można uzyskać ilość rekordów?

A. AVG
B. SUM
C. COUNT
D. NUMBER
Funkcja COUNT jest naprawdę ważna w SQL, bo pozwala nam zliczać rekordy w naszych zbiorach danych. Używa się jej w różnych sytuacjach, na przykład przy robieniu raportów czy analizie danych. Możesz na przykład napisać zapytanie: SELECT COUNT(*) FROM klienci WHERE kraj = 'Polska'. Dzięki temu dowiesz się, ilu klientów jest z Polski. To bardzo przydaje się do analizy demograficznej czy oceniania rynku. Co też warto wiedzieć, COUNT działa na wszystkich rekordach, bez względu na to, co jest w kolumnach. Takie wszechstronne narzędzie z pewnością ułatwia pracę z danymi. A jeśli dodasz klauzulę GROUP BY do COUNT, to możesz zliczać rekordy w różnych kategoriach, co jest mega pomocne przy skomplikowanych raportach. Ogólnie rzecz biorąc, używanie funkcji agregujących jak COUNT to dobra praktyka w SQL, bo sprawia, że kod jest bardziej efektywny i czytelny.

Pytanie 17

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

A.
$wiek = array([Anna, 35], [Ewa, 37]);
B.
$wiek = array({"Anna", "35"});
C.
$wiek = array("Anna"=>"35", "Ewa"=>"37");
D.
$wiek = array("Anna"=35, "Ewa"=37);
Pozostałe zapisy łamią składnię PHP. Użycie pojedynczego = zamiast => jest błędem - = to operator przypisania, a pary klucz-wartość łączy „strzałka”. Zapis z zagnieżdżonymi nawiasami kwadratowymi [Anna, 35] tworzyłby tablicę tablic, a nie powiązanie klucza z wartością (dodatkowo nazwy bez cudzysłowów). Nawiasy klamrowe { } w ogóle nie służą w PHP do definiowania tablic. Pary klucz-wartość poprawnie zapisuje się operatorem =>, dlatego ostatnia odpowiedź jest poprawna.

Pytanie 18

Jakie jest właściwe określenie stylu CSS dla przycisku typu submit z czarnym tłem, bez ramki oraz z marginesami wewnętrznymi równymi 5 px?

input[type=submit] {
    background-color: #000000;
    border: none;
    padding: 5px;
} A
input[type=submit] {
    background-color: #ffffff;
    border: none;
    padding: 5px;
} B
input=submit {
    background-color: #000000;
    border: none;
    margin: 5px;
} C
input=submit {
    background-color: #000000;
    border: 0px;
    margin: 5px;
} D
A. B
B. C
C. D
D. A
Niepoprawne odpowiedzi wynikają głównie z błędnego użycia właściwości CSS lub z nieprawidłowej struktury selektora. W odpowiedzi B mamy kolor tła #ffffff, a to nie spełnia wymogu czarnego tła. To może być spowodowane nieuwagą albo brakiem zrozumienia wymagań. Odpowiedzi C i D z kolei używają margin zamiast padding, co zdecydowanie jest błędem w kontekście tego pytania. Margin dotyczy zewnętrznych odstępów między elementami i nie ma wpływu na wewnętrzne wymiary przycisku, co może efektem być brzydki wygląd przycisku w interfejsie. Ponadto w odpowiedziach C i D widzimy niepoprawny format selektora input=submit; co jest syntaktycznie złe. Poprawna składnia to input[type=submit], bo to wskazuje na element formularza o typie submit. Nie zrozumienie różnicy miedzy padding a margin oraz selektorami CSS może prowadzić do zamieszania i problemów w stylizacji. Ważne jest, żeby każda właściwość CSS była używana z pełnym zrozumieniem, jak wpływa na elementy interfejsu, by osiągnąć zamierzony efekt wizualny i funkcjonalny. Dobrą praktyką jest też sprawdzenie styli w różnych przeglądarkach, żeby upewnić się, że wszystko działa jak należy w różnych środowiskach. Rozumienie i stosowanie CSS jest kluczowe, by tworzyć profesjonalne i funkcjonalne strony.

Pytanie 19

W języku JavaScript przedstawiona poniżej definicja jest definicją
var imiona=["Anna", "Jakub", "Iwona", "Krzysztof"];

A. obiektu.
B. kolekcji.
C. tablicy.
D. klasy.
W języku JavaScript definicja var imiona=["Anna", "Jakub", "Iwona", "Krzysztof"]; przedstawia tablicę, która jest jednym z fundamentalnych typów danych w tym języku. Tablice są używane do przechowywania zbiorów danych w sposób uporządkowany. W tym przypadku tablica imiona przechowuje cztery stringi, każdy reprezentujący imię. Wartością dodaną tablicy jest możliwość dostępu do poszczególnych elementów za pomocą indeksów, które zaczynają się od zera. Na przykład, imiona[0] zwróci \"Anna\", a imiona[1] zwróci \"Jakub\". W praktyce tablice są niezwykle przydatne w programowaniu, ponieważ pozwalają na łatwe zarządzanie i manipulację danymi. Dobrą praktyką jest używanie tablic do przechowywania związków danych, co umożliwia ich efektywne przetwarzanie i iterację za pomocą pętli, co zwiększa czytelność i organizację kodu. Warto również zaznaczyć, że tablice w JavaScript są obiektami, co daje dodatkowe możliwości manipulacji, takie jak metody tablicowe (np. push, pop, map, filter) do operacji na zbiorach danych. Poznanie i zrozumienie tablic jest kluczowe dla każdego programisty, ponieważ są one podstawą wielu algorytmów i struktur danych."

Pytanie 20

Która z poniższych funkcji zdefiniowanych w języku PHP oblicza sumę połowy wartości a i połowy wartości b?

A. function licz($a, $b) {return $a/2 + $b/2;}
B. function licz($a, $b) {return 2/$a + 2/$b;}
C. function licz($a, $b) {return ($a/2 + $b)/2;}
D. function licz($a, $b) {return $a/2 + $b;}
Odpowiedź jest poprawna, ponieważ funkcja 'licz' w tej formie prawidłowo oblicza sumę połowy wartości a oraz połowy wartości b. W języku PHP, operator '/' dzieli wartość po lewej stronie przez wartość po prawej, więc w tym przypadku a/2 i b/2 zwracają odpowiednio połowę a oraz połowę b. Następnie te dwie wartości są sumowane, co jest zgodne z wymaganym wynikiem. Przykład zastosowania tej funkcji może być użyty w sytuacji, gdy chcemy obliczyć średnią wartość dwóch parametrów, co jest często spotykane w obliczeniach statystycznych i analitycznych. Dobrą praktyką jest również zapewnienie, że wartości a i b są liczbami, co można osiągnąć za pomocą walidacji danych wejściowych. Zastosowanie tej funkcji w większym kontekście, na przykład w aplikacjach webowych czy systemach obliczeniowych, pokazuje jej uniwersalność i efektywność w pracy z danymi.

Pytanie 21

Które reguły CSS poprawnie ustawiają dla akapitu czcionkę Arial, rozmiar 16 pt i pochylenie (kursywę)?

A.
p { font-family: Arial; font-size: 16pt; font-style: italic; }
B.
p { font-style: Arial; size: 16px; font-weight: normal; }
C.
p { font-style: Arial; font-size: 16pt; font-variant: normal; }
D.
p { font-family: Arial; font-size: 16px; font-variant: normal; }
Wygląd czcionki opisują w CSS trzy osobne właściwości: font-family ustala krój (np. Arial), font-size - rozmiar (tu 16pt, bo zadano punkty, a nie piksele), a font-style: italic włącza pochylenie. Razem daje to p { font-family: Arial; font-size: 16pt; font-style: italic; }. Warto pamiętać, że font-style odpowiada za kursywę, a font-weight za grubość - to częste źródło pomyłek. Dlatego poprawny jest ten zestaw reguł.

Pytanie 22

W JavaScript wynik operacji przyjmie wartość NaN, gdy skrypt próbował wykonać:

A. funkcję parseFloat zamiast parseInt na liczbie
B. operację arytmetyczną, gdy zmienna była napisem (nieliczbowym)
C. operację arytmetyczną na dwóch dodatnich liczbach
D. sprawdzenie długości napisu, gdy zmienna była liczbą
Wartość NaN (Not a Number) to specjalny wynik oznaczający „to nie jest liczba”. Pojawia się, gdy JavaScript próbuje wykonać DZIAŁANIE ARYTMETYCZNE na czymś, czego nie da się zamienić na liczbę - np. "abc" * 2 albo parseInt("kot"). Co ważne, NaN jest „zaraźliwy”: każde kolejne działanie z jego udziałem też da NaN. Stąd nawyk sprawdzania danych z formularzy funkcją isNaN() przed liczeniem. Zapamiętaj: arytmetyka na nieliczbowym napisie = NaN.

Pytanie 23

Strona internetowa powinna mieć zorganizowaną strukturę bloków. Aby osiągnąć ten układ, należy przypisać sekcjom odpowiednie właściwości w ten sposób:

Ilustracja do pytania
A. float tylko dla bloku 2; clear dla bloków: 3, 4
B. float tylko dla bloków: 2, 3, 4; clear dla bloku 5
C. float jedynie dla bloków: 3, 4; clear dla bloku 5
D. float wyłącznie dla bloku 5; clear dla bloku 2
Stosowanie float tylko dla bloku 5 i clear dla bloku 2 nie jest właściwe, ponieważ float jest używane do umieszczania elementów obok siebie, a clear do zapobiegania takiemu zachowaniu. W przypadku float dla bloków 3 i 4 oraz clear dla bloku 5, blok 2 nie miałby żadnej właściwości float, co oznacza, że nie mógłby być poprawnie umieszczony obok bloków 3 i 4, a to prowadziłoby do nieprawidłowego ułożenia bloku 5. Użycie float tylko dla bloku 2 i clear dla bloków 3 i 4 byłoby błędne, ponieważ clear zapobiega przyleganiu elementów do boku, co jest niezgodne z celem floatowania bloków 2, 3 i 4 w jednej linii. Typowym błędem myślowym jest traktowanie clear jako narzędzia do rozmieszczania bloków w poziomie, co jest funkcją float. Zamiast tego, clear blokuje wpływ elementów pływających, co może być użyteczne w końcowych elementach układu jak blok 5, ale nie w środku. Dobre zrozumienie działania float i clear jest kluczowe dla efektywnego tworzenia layoutów stron internetowych, gdzie precyzyjne kontrolowanie pozycji bloków jest istotne dla estetyki i funkcjonalności projektu.

Pytanie 24

Tabela programy zawiera kolumny: nazwa_programu, nazwa_producenta, rok_wydania. Jak należy zapisać kwerendę SELECT, aby uzyskać wszystkie unikalne nazwy producentów?

A. SELECT UNIQUE nazwa_producenta FROM programy
B. SELECT nazwa_producenta FROM programy WHERE nazwa_producenta NOT DUPLICATE
C. SELECT nazwa_producenta FROM programy WHERE UNIQUE
D. SELECT DISTINCT nazwa_producenta FROM programy
Odpowiedź 'SELECT DISTINCT nazwa_producenta FROM programy;' jest poprawna, ponieważ słowo kluczowe DISTINCT jest standardowym sposobem w SQL na pobranie unikalnych wartości z kolumny w tabeli. W praktyce, gdy istnieje potrzeba wyciągnięcia listy unikalnych producentów z tabeli programy, użycie DISTINCT pozwala na eliminację duplikatów wyników. Przykładowo, jeśli w tabeli programy znajdują się powtarzające się wartości w kolumnie nazwa_producenta, zapytanie to zwróci każdą nazwę raz, co jest szczególnie przydatne w raportach i analizach danych. Zgodnie z najlepszymi praktykami SQL, użycie DISTINCT powinno być uzasadnione, aby uniknąć niepotrzebnych obliczeń na dużych zbiorach danych, ale w przypadku mniejszych tabel, może to być bardzo efektywne. Warto również zauważyć, że DISTINCT można stosować w połączeniu z innymi kolumnami, co daje możliwość bardziej złożonych zapytań. Przykładowo, można użyć 'SELECT DISTINCT nazwa_producenta, rok_wydania FROM programy;', aby uzyskać unikalne kombinacje producentów i lat wydania, co zwiększa elastyczność analizy danych.

Pytanie 25

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 pseudoklasę :active
D. jako selektor potomka
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 26

Dana jest tabela firmy zawierająca następujące kolumny: nazwa, adres, NIP, obrot (obrót w ostatnim miesiącu), rozliczenie, status. Wykonanie kwerendy SQL SELECT sprawi, że zostaną wyświetlone

SELECT nazwa, NIP FROM firmy WHERE obrot < 4000;
A. jedynie nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł.
B. wszystkie dane firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł.
C. wszystkie dane firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł.
D. jedynie nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł.
Twoja odpowiedź jest poprawna. Przy wykonywaniu zapytań SQL często wybieramy nie wszystkie, a jedynie niektóre kolumny z tabeli. W tym przypadku, pytanie dotyczyło wybrania tylko nazwy i NIPu firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł. Do realizacji tego zadania użyliśmy kwerendy SELECT z określeniem kolumn oraz warunku w klauzuli WHERE. Jest to częsty scenariusz w praktyce, gdy potrzebujemy wyfiltrować dane według określonych kryteriów. Ważne jest zrozumienie, że instrukcja SELECT jest używana do wybrania jednej lub wielu kolumn, które chcemy zobaczyć w wynikach, a klauzula WHERE służy do definiowania warunków, które muszą spełniać dane wyświetlane w wynikach.

Pytanie 27

Którą kwerendę należy wykonać, aby zaktualizować wszystkim rekordom z tabeli pracownicy wartość w kolumnie plec na K, przyjmując na potrzeby zadania, że każde imię żeńskie kończy się literą a?

A. UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';
B. ALTER TABLE pracownicy SET plec='K' WHERE imie='%a';
C. UPDATE pracownicy SET plec='K' WHERE imie='%a';
D. ALTER TABLE pracownicy SET plec='K' WHERE imie LIKE '%a';
W tym zadaniu łatwo się potknąć na dwóch rzeczach: pomyleniu operacji na strukturze tabeli z operacjami na danych oraz na nieprawidłowym użyciu wzorca tekstowego. W SQL istnieje dość wyraźny podział na instrukcje służące do definiowania struktury bazy (DDL) oraz te, które manipulują rekordami (DML). ALTER TABLE należy do tej pierwszej grupy. Używa się go do dodawania kolumn, zmiany typu danych, ustawiania kluczy obcych, czasem indeksów. Nie ma on mechanizmu typu SET kolumna='wartość' z warunkiem WHERE, który modyfikuje poszczególne wiersze. Próba napisania ALTER TABLE ... SET plec='K' WHERE imie LIKE '%a' po prostu nie jest zgodna ze składnią SQL i nie zadziała w żadnym normalnym systemie bazodanowym.
Drugi typ błędu dotyczy użycia WHERE imie='%a'. W wielu językach programowania znak % kojarzy się z operacjami na łańcuchach albo z formatowaniem, ale w czystym SQL porównanie z operatorem = oznacza ścisłą równość, bez żadnych wildcardów. Wyrażenie imie = '%a' oznacza: imie ma być dokładnie dwuznakowym ciągiem składającym się z procenta i litery „a”. Żadne „dowolne znaki przed a” się tu nie pojawiają. Do dopasowywania wzorców tekstowych służy operator LIKE, a dopiero przy LIKE znaczek % ma specjalne znaczenie – „dowolny ciąg znaków”. To jest bardzo typowe nieporozumienie: ktoś pamięta, że w LIKE używa się % i _ jako wildcardów, i odruchowo wrzuca % także przy zwykłym =.
Z mojego doświadczenia wynika, że dobrym nawykiem jest rozdzielenie w głowie: UPDATE + SET + WHERE – do zmiany danych; ALTER TABLE – tylko do zmian struktury. A przy wyszukiwaniu tekstów: jeśli chcę sztywne porównanie, używam =, jeśli szukam po fragmencie, używam LIKE z % (wieloznak) lub _ (pojedynczy znak). W praktyce webowej błędne użycie tych konstrukcji może prowadzić do sytuacji, że kwerenda nic nie zwraca albo nie aktualizuje żadnego rekordu, a programista długo szuka błędu np. po stronie PHP czy JavaScript, zamiast zacząć od samego SQL-a. Warto też pamiętać, że aktualizacje bez poprawnego WHERE są niebezpieczne, bo mogą zmienić wszystkie rekordy w tabeli, więc warunek oparty na właściwie użytym LIKE jest kluczowy zarówno dla poprawności, jak i bezpieczeństwa danych.

Pytanie 28

Który zapis CSS ustawi punktor listy NUMEROWANEJ na wielkie cyfry rzymskie, a PUNKTOWANEJ na kwadraty?

A.
ol { list-style-type: upper-alpha; } ul { list-style-type: disc; }
B.
ol { list-style-type: square; } ul { list-style-type: upper-roman; }
C.
ol { list-style-type: upper-roman; } ul { list-style-type: square; }
D.
ol { list-style-type: disc; } ul { list-style-type: upper-alpha; }
Rodzaj punktora ustawia list-style-type. Dla listy numerowanej <ol> wielkie cyfry rzymskie to upper-roman, a dla punktowanej <ul> kwadraty to square. Dlatego poprawny jest ol { list-style-type: upper-roman; } ul { list-style-type: square; }.

Pytanie 29

Który zapis to poprawny SKŁADNIOWO warunek PHP sprawdzający błąd połączenia z bazą?

A.
if (mysqli_connect_errno()}{
B.
if (mysqli_connect_errno()){}
C.
if (mysqli_connect_error()}{
D.
if (mysqli_connect_error())()
Składnia warunku w PHP to if (warunek) { ... } - okrągłe nawiasy obejmują warunek, a klamrowe blok kodu. Poprawny jest więc if (mysqli_connect_errno()){}. Dlatego ten zapis jest składniowo prawidłowy.

Pytanie 30

Tabela podzespoly ma pola: model, producent, typ, cena. Które zapytanie wyświetli modele dysków SSD firmy Samsung od najdroższego do najtańszego?

A.
SELECT model FROM podzespoly WHERE typ='SSD' AND producent='Samsung' ORDER BY cena DESC;
B.
SELECT model FROM producent WHERE typ='SSD' OR producent='Samsung' ORDER BY podzespoly ASC;
C.
SELECT model FROM podzespoly WHERE typ='SSD' AND producent='Samsung' ORDER BY cena ASC;
D.
SELECT model FROM podzespoly WHERE typ='SSD' OR producent='Samsung' ORDER BY cena DESC;
Dyski SSD firmy Samsung to część wspólna dwóch warunków - typ „SSD” ORAZ producent „Samsung” - więc łączymy je AND, a od najdroższego do najtańszego sortuje ORDER BY cena DESC. Wybieramy model z podzespoly. Dlatego ta kwerenda jest poprawna.

Pytanie 31

Który operator w języku SQL zwraca resztę z dzielenia (modulo)?

A.
/
B.
%
C.
&
D.
||
Operator % w SQL (m.in. w MySQL) oblicza resztę z dzielenia całkowitego - modulo. Na przykład SELECT 7 % 3 zwróci 1, bo 7 podzielone przez 3 daje 2 i resztę 1. Bywa wykorzystywany np. do sprawdzenia parzystości (liczba % 2 = 0) czy cykliczności. W niektórych systemach dostępna jest też funkcja MOD(a, b). Dlatego resztę z dzielenia zwraca operator %.

Pytanie 32

W języku PHP, podczas pracy z bazą danych MySQL, aby zakończyć sesję z bazą, powinno się użyć

A. mysqli_rollback()
B. mysqli_exit( )
C. mysqli_close()
D. mysqli_commit()
Wybór odpowiedzi 'mysqli_exit()' pojawia się często wśród programistów, którzy mylą koncepcje związane z obsługą połączeń w PHP. Należy zaznaczyć, że taka funkcja nie istnieje w kontekście baz danych MySQL, co może prowadzić do frustracji i nieporozumień. Niektórzy mogą sądzić, że 'mysqli_exit()' jest funkcją kończącą pracę z bazą, jednak w rzeczywistości nie ma żadnej dokumentacji ani zastosowania dla tej funkcji w standardowej bibliotece PHP. W programowaniu ważne jest, aby stosować się do oficjalnych dokumentacji oraz standardów, co zapewnia nie tylko poprawność kodu, ale także jego bezpieczeństwo i stabilność. Kolejne propozycje, takie jak 'mysqli_rollback()' i 'mysqli_commit()', dotyczą transakcji w bazie danych, a nie zakończenia połączenia. 'mysqli_rollback()' cofa zmiany wprowadzone w bieżącej transakcji, a 'mysqli_commit()' zatwierdza te zmiany. Oznacza to, że obie funkcje mają na celu zarządzanie transakcjami, a nie zamykanie połączeń. Wybierając niewłaściwą funkcję, programista może napotkać problemy z zarządzaniem stanem aplikacji i bazy danych, co jest szczególnie istotne w kontekście aplikacji wielowątkowych lub o dużym natężeniu ruchu. Aby uniknąć takich błędów, warto regularnie przeglądać i aktualizować swoją wiedzę oraz korzystać z zaufanych źródeł informacji.

Pytanie 33

Atrybut wskazujący na lokalizację pliku graficznego w znaczniku <img> to

A. link
B. href
C. src
D. alt
Atrybut 'src' (source) jest kluczowym elementem znacznika <img>, ponieważ wskazuje lokalizację pliku graficznego, który ma być wyświetlony na stronie internetowej. Użycie tego atrybutu jest niezbędne, aby przeglądarka mogła zlokalizować i załadować odpowiedni obraz. Na przykład, jeśli chcesz wyświetlić grafikę logo na stronie, możesz użyć znacznika <img src='logo.png'>, gdzie 'logo.png' jest ścieżką do pliku graficznego. Ważne jest, aby pamiętać o dokładnym podaniu ścieżki, która może być względna lub absolutna. Zgodnie z najlepszymi praktykami, ważne jest również użycie atrybutu 'alt', który opisuje obraz dla osób z problemami wzrokowymi oraz w przypadku, gdy obraz nie może być załadowany. Przestrzeganie standardów W3C w zakresie HTML zapewnia lepszą dostępność i użyteczność stron internetowych.

Pytanie 34

W języku JavaScript zadeklarowano funkcję.
function absValue(f) {
    return Math.abs(f);
}

A. zwrócić wartość bezwzględną z f
B. wypisać wartość przeciwną do f
C. wypisać wartość bezwzględną z f
D. zwrócić wartość przeciwną do f
Poprawna odpowiedź to „zwrócić wartość bezwzględną z f”. Funkcja absValue(f) korzysta z wbudowanej metody Math.abs(), która zwraca wartość bezwzględną liczby przekazanej jako argument. Oznacza to, że jeśli liczba f jest ujemna, zostanie zamieniona na dodatnią, a jeśli dodatnia — pozostanie bez zmian. Funkcja nie wypisuje wartości, lecz zwraca wynik, który można następnie wykorzystać w dalszych obliczeniach. Takie podejście jest często stosowane w programowaniu, gdy chcemy operować na wielkościach zawsze nieujemnych, np. przy obliczaniu różnic, odległości lub w analizie danych numerycznych.

Pytanie 35

Który z przedstawionych obrazów został przetworzony przy użyciu podanego stylu CSS?

Ilustracja do pytania
A. Rys. B
B. Rys. A
C. Rys. D
D. Rys. C
Wybór Rys. A jako poprawnej odpowiedzi jest uzasadniony zastosowaniem właściwości CSS, które są użyte w stylu. Styl CSS określa padding na 5 pikseli, co oznacza, że wokół obrazu powinna być przestrzeń wynosząca dokładnie 5 pikseli. Właściwość border ustawia obramowanie na 1 piksel, w kolorze szarym i o stylu solid, co oznacza ciągłą linię otaczającą obraz. Z kolei border-radius o wartości 10 pikseli zaokrągla rogi obramowania, co nadaje całości bardziej zaokrąglony kształt. Wszystkie te cechy są widoczne na obrazie Rys. A. W praktyce stosowanie właściwości takich jak border-radius jest często używane w projektach webowych, aby uzyskać bardziej estetyczne i nowoczesne efekty wizualne. Zaokrąglone krawędzie są estetycznie przyjemniejsze dla użytkownika i mogą poprawić czytelność oraz odbiór wizualny strony. Znajomość tych właściwości CSS jest niezbędna dla każdego front-end developera, który dąży do tworzenia nowoczesnych i funkcjonalnych interfejsów użytkownika. Praktyczne zastosowanie tego stylu może być widoczne w projektach stron internetowych, aplikacjach sieciowych oraz w tworzeniu elementów UI, które zachowują spójność wizualną z resztą projektu.

Pytanie 36

Jaką rolę pełni kwerenda krzyżowa w bazie MS Access?

A. dołącza do tabeli rekordy z innej tabeli
B. usuwa rekordy według kryteriów
C. prezentuje zliczone (podsumowane) wartości w układzie wierszy i kolumn
D. modyfikuje istniejące dane w tabeli
Pozostałe odpowiedzi opisują inne rodzaje kwerend funkcjonalnych. Modyfikowanie istniejących danych to zadanie kwerendy aktualizującej (odpowiednik UPDATE). Usuwanie rekordów według kryteriów realizuje kwerenda usuwająca (DELETE). Dołączanie do tabeli rekordów z innej tabeli to kwerenda dołączająca (INSERT ... SELECT). Kwerenda krzyżowa nie zmienia danych - tworzy podsumowanie w układzie wierszy i kolumn, dlatego ta odpowiedź jest poprawna.

Pytanie 37

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

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

Pytanie 38

Dostosowanie wyglądu witryny do indywidualnych preferencji użytkownika oraz jego identyfikacja w systemie są możliwe dzięki mechanizmowi

A. formularzy
B. cookie
C. łączenia z bazą
D. obiektów DOM
Odpowiedź dotycząca cookies jest dobra. To ważny element, bo dzięki nim można lepiej dopasować serwis do użytkowników. Cookies to takie małe pliki, które przeglądarka zapisuje na naszym urządzeniu. Pozwalają na zbieranie różnych informacji, jak na przykład co użytkownik lubi, co robi na stronie czy jego dane do logowania. Dzięki temu, gdy wracasz na stronę, serwis może sam dostosować, co widzisz, do tego, co robiłeś wcześniej. Przykłady to zapamiętywanie języka, zawartości koszyka w sklepach online czy automatyczne logowanie. Ważne jest, żeby serwisy informowały użytkowników o cookies i prosiły o zgodę, zwłaszcza w kontekście RODO. Znanie tych zasad jest istotne, jeśli myślisz o pracy w tworzeniu aplikacji webowych, bo to pomaga w lepszym zrozumieniu potrzeb użytkowników.

Pytanie 39

Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu funkcji

A. console.warn()
B. console.log()
C. console.error()
D. console.count()
Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym.

Pytanie 40

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: left; } aside { float: left; }
B. nav { float: right; } section { float: right; }
C. nav { float: right; }
D. 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ę.