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: 22 lipca 2026 19:37
  • Data zakończenia: 22 lipca 2026 20:10

Egzamin zdany!

Wynik: 32/40 punktów (80,0%)

Wymagane minimum: 20 punktów (50%)

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

W jaki sposób będzie uporządkowana lista stworzona z wszystkich kolumn tabeli uczniowie, obejmująca uczniów o średniej wyższej niż 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?

SELECT *
FROM uczniowie
WHERE srednia > 5
ORDER BY klasa DESC;
A. Rosnaco według parametru srednia
B. Rosnąca według parametru klasa
C. Malejąco według parametru klasa
D. Malejąco według parametru srednia
Zapytanie SQL używa klauzuli ORDER BY klasa DESC co oznacza że wyniki będą posortowane malejąco według kolumny klasa Klauzula ORDER BY jest używana w języku SQL do sortowania wyników zapytania Użycie DESC oznacza że sortowanie będzie w porządku malejącym co w praktyce oznacza że najwyższe wartości będą na początku listy a najniższe na końcu To jest przydatne gdy chcemy uzyskać strukturę danych w której najważniejsze lub najbardziej istotne rekordy są prezentowane na samym początku na przykład gdy analizujemy dane w kontekście hierarchicznym lub priorytetowym W tym przypadku sortujemy malejąco według klasy co może być użyteczne na przykład gdy chcemy szybko zidentyfikować uczniów z wyższych klas którzy osiągają wysokie wyniki średnia powyżej 5 Dobre praktyki w SQL zalecają jasne i precyzyjne definiowanie kryteriów sortowania co ułatwia zrozumienie logiki zapytania oraz zapewnia jego przewidywalne działanie Jeśli dane wymagają częstego sortowania warto rozważyć optymalizację poprzez odpowiednie indeksy co może znacząco poprawić wydajność zapytań zwłaszcza w dużych zestawach danych

Pytanie 2

Zapytanie: SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje zwrócenie:

A. imion, nazwisk oraz numerów PESEL osób mających mniej niż 18 lat
B. imion, numerów PESEL oraz wieku osób w przedziale od 18 do 30 lat
C. imion, numerów PESEL oraz wieku osób, których wiek wynosi 18 lub 30 lat
D. imion, numerów PESEL oraz wieku osób, które mają więcej niż 30 lat
Zapytanie SQL, które zostało podane, wykorzystuje klauzulę WHERE z operatorem IN, co oznacza, że wybiera tylko te rekordy, które spełniają określone warunki. W tym przypadku, filtrujemy osoby na podstawie ich wieku, wybierając tylko te, które mają 18 lub 30 lat. W związku z tym, wynik zapytania będzie zawierał imiona, numery PESEL oraz wiek osób, które mają dokładnie 18 lub 30 lat. W praktyce, takie zapytania są niezwykle użyteczne w bazach danych, gdzie często potrzebujemy uzyskać dane dla konkretnej grupy wiekowej. Dobrą praktyką jest również stosowanie takich filtrów, aby unikać błędów w analizach danych i zapewnić, że wyniki są zgodne z oczekiwaniami. Na przykład, jeśli prowadzisz badania demograficzne, możesz chcieć skupić się na określonych grupach wiekowych, co pozwala na bardziej szczegółowe wnioski i lepsze zrozumienie danej populacji."}

Pytanie 3

Do którego akapitu przypisano podaną właściwość stylu CSS?
border-radius: 20%;

Ilustracja do pytania
A. Rys. A
B. Rys. B
C. Rys. C
D. Rys. D
Właściwość border-radius ma specyficzne zastosowanie do zaokrąglania rogów elementów HTML i w tym kontekście inne odpowiedzi jak Rys. A Rys. C i Rys. D nie wykazują cech związanych z tą właściwością. Rys. A ma ostre krawędzie co sugeruje brak użycia zaokrągleń. To pokazuje że border-radius nie został tam zastosowany co jest często spotykanym błędem w przypadku gdy nie rozumie się działania tej właściwości. Rys. C z kolei ma przerywaną linię obramowania co może wskazywać na użycie innej właściwości CSS np. border-style a nie border-radius. Stylizacja taka jest przydatna do wizualnego oddzielenia sekcji ale nie dotyczy bezpośrednio zaokrąglania rogów. Z kolei Rys. D ma efekt cienia co sugeruje raczej użycie właściwości box-shadow niż border-radius. Często myli się te dwie właściwości ponieważ obie wpływają na wygląd ramki jednak działają na zupełnie innych zasadach. Rozpoznanie użycia właściwej właściwości CSS jest kluczowe w projektowaniu intuicyjnych i estetycznych interfejsów co wymaga zrozumienia jak i kiedy każda z nich powinna być zastosowana. Właściwe wykorzystanie border-radius jako elementu stylizacji jest istotnym aspektem profesjonalnego projektowania stron internetowych co wymaga dokładnego zrozumienia jego wpływu na wygląd i funkcjonalność strony.

Pytanie 4

Gdzie należy umieścić znacznik <meta> w dokumencie HTML?

A. między <body> a </body>
B. między znacznikami akapitu
C. w sekcji nagłówkowej (<head>)
D. w stopce strony
Znacznik <meta> przekazuje metadane dokumentu, więc umieszcza się go w sekcji nagłówkowej <head>. Dlatego <meta> należy do <head>.

Pytanie 5

Który atrybut znacznika <video> włącza ciągłe odtwarzanie (w pętli)?

A.
controls
B.
poster
C.
loop
D.
muted
Atrybut loop w <video> (i <audio>) sprawia, że nagranie po zakończeniu odtwarza się od początku, czyli w pętli. To atrybut logiczny - sama jego obecność włącza tę funkcję. Dlatego ciągłe odtwarzanie włącza loop.

Pytanie 6

Który z kodów PHP sprawi, że zostanie wyświetlona sformatowana data oraz czas ostatnich odwiedzin użytkownika witryny, natomiast podczas pierwszej wizyty nic się nie wyświetli?

Kod 1.   echo date('d.m.Y, H:i', $_COOKIE['c1']);
         setcookie('c1', time());

Kod 2.   if(isset($_COOKIE['c1']))
           echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 3.   echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 4.   setcookie('c1', time(), time() + 30 * 86400);
A. Kod 3.
B. Kod 1.
C. Kod 4.
D. Kod 2.
Niepoprawne kody PHP nie spełniają wymagań zadania z różnych powodów. Niektóre nie wykorzystują funkcji isset() do sprawdzenia, czy ciasteczko 'c1' istnieje, co może prowadzić do błędów, jeżeli ciasteczko nie zostało ustawione. Inne zawsze wyświetlają datę i czas ostatnich odwiedzin, nawet jeżeli jest to pierwsza wizyta użytkownika na stronie, co jest niezgodne z treścią pytania. Kolejnym błędnym podejściem jest nieaktualizowanie ciasteczka 'c1' po wyświetleniu daty i czasu ostatnich odwiedzin, co powoduje, że zawsze wyświetlana jest ta sama data i czas. Ważnym elementem pracy z ciasteczkami w PHP jest zrozumienie, jak są one zapisywane i odczytywane, a także jak można je wykorzystać do przechowywania informacji o użytkownikach. Błędy te pokazują brak zrozumienia tych kwestii.

Pytanie 7

Wyrażenie JavaScript:

document.write(5==='5');
Co zostanie wyświetlone?
A. 1
B. true
C. 0
D. false
Odpowiedź 'false' jest jak najbardziej na miejscu, bo operator '===' w JavaScript sprawdza nie tylko wartość, ale i typ danych. Przykład 'document.write(5 === '5');' pokazuje, że porównujemy liczbę (5) z ciągiem znaków ('5'). To są różne typy, więc nie mogą być równe! Generalnie, lepiej używać '===' w programowaniu, bo to eliminuje niejasności, które mogą się pojawić przy '=='. Ten drugi lubi zamieniać typy, co czasami prowadzi do chaosu. Dobrze jest mieć na uwadze, że w obiektowym programowaniu ważne jest, by typy danych się zgadzały. Używając '===', mamy pewność, że unikniemy niechcianych błędów związanych z typami.

Pytanie 8

Określ rodzaj relacji między tabelami: Tabela1 oraz Tabela3?

Ilustracja do pytania
A. Jeden do jednego
B. Jeden do wielu
C. Wiele do wielu
D. Wiele do jednego
Relacja wiele do wielu pomiędzy tabelami w bazie danych oznacza, że jeden rekord w pierwszej tabeli może być powiązany z wieloma rekordami w drugiej tabeli i odwrotnie. To jest powszechne w sytuacjach, gdzie istnieje potrzeba przechowywania złożonych asocjacji danych. W przedstawionym schemacie, Tabela1 reprezentuje uczniów, a Tabela3 nauczycieli. Ponieważ jeden uczeń może być uczony przez wielu nauczycieli, a jeden nauczyciel może uczyć wielu uczniów, Tabela2 stanowi tabelę pośrednią, często zwaną tabelą asocjacyjną, która przechowuje klucze obce z obu tabel, tworząc relację wiele do wielu. Tego typu struktura jest kluczowa, gdy chcemy modelować bardziej złożone związki danych i zapewnić łatwy dostęp do nich, co jest standardową praktyką w relacyjnych bazach danych. Użycie tabel asocjacyjnych pozwala na efektywne zarządzanie danymi i jest zgodne z normą normalizacji bazy danych, eliminując redundancję i zapewniając integralność danych. W kontekście praktycznym, takie podejście umożliwia elastyczne zapytania i analizy, co jest fundamentalne w zarządzaniu danymi w dużych systemach informacyjnych.

Pytanie 9

Przy użyciu komendy ALTER TABLE można

A. skasować tabelę
B. zmienić dane w rekordach
C. zmodyfikować strukturę tabeli
D. usunąć dane z rekordu
Kiedy mówimy o poleceniu ALTER TABLE w SQL, to jest to naprawdę ważne narzędzie, które pozwala na zmianę struktury tabeli w bazie danych. Możemy dzięki niemu dodać nowe kolumny, zmienić rodzaj danych w istniejących czy nawet usunąć niepotrzebne kolumny. Na przykład, gdybyśmy chcieli dodać kolumnę 'data_urodzenia' do tabeli 'pracownicy', to musielibyśmy użyć takiego polecenia: ALTER TABLE pracownicy ADD data_urodzenia DATE;. To wszystko jest kluczowe, żeby nasze aplikacje mogły się rozwijać i żeby baza danych spełniała coraz to nowe wymagania. Z mojego doświadczenia wynika, że najlepiej jest zawsze robić kopię zapasową danych przed wprowadzeniem jakichkolwiek zmian. Dobrze by też było testować zmiany w środowisku, które nie jest produkcyjne, zanim coś popsujemy. Warto pamiętać, że niektóre operacje mogą wymagać zablokowania tabeli, co może skutkować tym, że użytkownicy nie będą mogli korzystać z systemu, więc trzeba to mieć na uwadze.

Pytanie 10

Dla którego akapitu zastosowano przedstawioną właściwość stylu CSS?

border-radius: 20%;

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

A

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

B

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

C

To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf, To jest paragraf

D
A. C.
B. D.
C. A.
D. B.
Niestety, tym razem nie trafiłeś. Właściwość CSS 'border-radius: 20%;' naprawdę służy do zaokrąglania rogów, a na obrazku tylko akapit B ma takie zaokrąglenia. Może pomyliłeś to z czymś innym? Ważne, żeby zrozumieć, jak działa 'border-radius' – robi on krawędzie ładniejsze. Jak widzisz, '20%;' to wartość procentowa i mówi, jak bardzo te rogi mają być zaokrąglone. Widziałeś inne odpowiedzi (A, C, D), ale one nie miały tych zaokrągleń. Najlepiej zwrócić uwagę na to, jak różne style CSS wpływają na wygląd naszych elementów. W przyszłości warto się tego nauczyć, bo to naprawdę przydatne.

Pytanie 11

Jak nazywa się nadrzędny formularz służący do nawigacji między formularzami i kwerendami bazy?

A. pierwotnym
B. zagnieżdżonym
C. głównym
D. sterującym
Nadrzędny formularz służący do nawigacji między innymi formularzami i kwerendami bazy nazywa się formularzem STERUJĄCYM - pełni rolę menu (panelu przełączania). Dlatego to formularz sterujący.

Pytanie 12

Dokument HTML określa akapit oraz obrazek. Aby obrazek był wyświetlany przez przeglądarkę w tej samej linii co akapit po jego lewej stronie, należy w stylu CSS obrazka uwzględnić właściwość

A. float: left;
B. align: left;
C. alt: left;
D. style: left;
Odpowiedź "float: left;" jest naprawdę trafna. Ta właściwość w CSS sprawia, że elementy układają się obok siebie, co w tym przypadku oznacza, że rysunek wyląduje po lewej stronie akapitu. Jak użyjemy float, to rysunek 'przesuwa się' na lewo, a tekst z akapitu otacza go z prawej strony. To taki popularny sposób w webdesignie, który pozwala na ładniejsze połączenie obrazków z tekstem. Warto pamiętać, że czasem trzeba zastosować clearfix, zwłaszcza gdy mamy pływające elementy w większym układzie, żeby uniknąć problemów z rozmieszczeniem. Stosowanie float w CSS to dobra praktyka, bo pomaga zachować czytelność i estetykę tekstu. Na przykład, jeśli mamy sekcję artykułu z obrazem, który ilustruje omawiany temat, to zastosowanie float: left; sprawi, że treść będzie ładnie się układać i poprawi wrażenia użytkownika.

Pytanie 13

W SQL, aby usunąć wszystkie rekordy z tabeli, ale zachować jej strukturę, należy użyć polecenia:

A. REMOVE
B. DELETE FROM
C. DROP TABLE
D. TRUNCATE
Istnieje kilka nieporozumień związanych z usuwaniem danych z tabel SQL, co może prowadzić do błędów. Polecenie <code>DROP TABLE</code> jest często mylone z <code>DELETE FROM</code>. Jednak <code>DROP TABLE</code> usuwa zarówno dane, jak i strukturę tabeli, co oznacza, że po jego użyciu nie będzie można odzyskać tabeli bez jej ponownego stworzenia. To polecenie jest destrukcyjne i powinno być używane tylko wtedy, gdy mamy pewność, że tabela nie jest już potrzebna. Z kolei <code>REMOVE</code> nie jest poprawnym poleceniem SQL. To może wynikać z mylnego przekonania, że istnieje takie polecenie w języku SQL, jednak w rzeczywistości nie jest ono częścią standardu SQL. Tego typu błędy wynikają często z nieznajomości składni SQL lub mylenia z innymi językami programowania, które mogą mieć podobne polecenia. Na koniec, <code>ERASE TABLE</code> również nie jest poprawnym poleceniem SQL. Może to być wynikiem intuicyjnego podejścia do nazewnictwa poleceń, ale w rzeczywistości SQL posługuje się innymi komendami. Kluczowe jest, by dobrze zrozumieć standardy języka SQL i znać właściwe polecenia dla zamierzonych operacji, aby uniknąć potencjalnie destrukcyjnych działań na bazie danych.

Pytanie 14

W języku PHP tablice asocjacyjne to tablice, w których

A. w każdej komórce tablicy przechowywana jest inna tablica.
B. elementy tablicy są zawsze indeksowane od liczby równej 0.
C. indeks jest dowolnym napisem.
D. istnieją przynajmniej dwa wymiary.
Prawidłowo – w PHP tablice asocjacyjne to takie, w których indeks (klucz) może być dowolnym napisem, czyli łańcuchem znaków. Z technicznego punktu widzenia PHP w ogóle nie rozróżnia osobnego typu „mapa” czy „słownik” – wszystko jest tablicą, a to, czy używasz indeksów numerycznych czy tekstowych, zależy wyłącznie od ciebie. Przykład: $uzytkownik = ['imie' => 'Jan', 'wiek' => 25, 'miasto' => 'Kraków']; Tutaj 'imie', 'wiek' i 'miasto' to właśnie napisy pełniące rolę kluczy. Dzięki temu kod staje się czytelniejszy, bo zamiast $dane[0], $dane[1] masz jasne $dane['imie'], $dane['wiek']. W praktyce takie tablice asocjacyjne bardzo często wykorzystuje się do przechowywania rekordów z bazy danych (np. wynik fetch_assoc w MySQLi), konfiguracji aplikacji, danych z formularzy ($_POST, $_GET) czy parametrów przekazywanych do funkcji. Co ważne, kluczem może być też liczba całkowita, ale w definicji tablic asocjacyjnych zwykle podkreśla się, że nie jesteśmy ograniczeni do automatycznego indeksowania 0,1,2,..., tylko możemy sami nadawać znaczące klucze tekstowe. W dobrych praktykach programowania webowego w PHP przyjmuje się, że tam, gdzie dane mają strukturę „nazwa pola → wartość”, używamy tablic asocjacyjnych, bo to zmniejsza ryzyko pomyłek i ułatwia późniejsze utrzymanie kodu. Moim zdaniem, im szybciej człowiek przyzwyczai się do świadomego używania kluczy tekstowych, tym łatwiej mu będzie później przeskoczyć na inne języki i struktury danych, jak mapy czy słowniki.

Pytanie 15

Kod w języku PHP przedstawia się następująco (patrz ramka): Zakładając, że zmienne a, b, c mają wartości numeryczne, wynik warunku będzie skutkował wypisaniem liczby:

if ($a > $b && $a > $c)
    echo $a;
else if ($b > $c)
    echo $b;
else
    echo $c;
A. parzystej.
B. najmniejszej.
C. największej.
D. nieparzystej.
Kod PHP używa instrukcji warunkowych if aby porównać wartości trzech zmiennych a b i c. Pierwsza instrukcja if sprawdza czy a jest większe od b i c. Jeśli tak to echo a wyświetla wartość a jako największą. Jeśli ten warunek nie jest spełniony sprawdzamy czy b jest większe od c za pomocą else if. Jeśli b jest rzeczywiście większe to echo b wyświetla wartość b. W przeciwnym razie instrukcja else zakłada że c jest największe i wyświetla echo c. To podejście jest powszechnie stosowane w programowaniu i opiera się na dobrej praktyce stopniowego eliminowania przypadków poprzez logiczne porównania. Znajomość takich konstrukcji jest kluczowa w codziennej pracy programisty umożliwiając tworzenie efektywnego i czytelnego kodu. Tego rodzaju struktura logiczna należy do podstawowych elementów algorytmiki w programowaniu proceduralnym i obiektowym. Rozumienie jak struktury kontrolne wpływają na przepływ programu jest podstawą efektywnego kodowania oraz rozwiązywania problemów poprzez algorytmy.

Pytanie 16

Jaką wartość będzie mieć zmienna str2 po wykonaniu poniższego fragmentu kodu JavaScript?

var str1 = "JavaScript"; var str2 = str1.substring(2, 6);
A. vaScri
B. avaS
C. vaSc
D. avaScr
Metoda substring w JavaScript służy do wycinania fragmentów łańcucha znaków na podstawie podanych indeksów. W przypadku kodu str1.substring(2 6) metoda pobiera znaki zaczynając od indeksu 2 do indeksu 6 wyłącznie. Indeksowanie w JavaScript jest zerowe oznacza to że pierwszy znak ma indeks 0 drugi indeks 1 itd. Dlatego dla łańcucha JavaScript indeks 2 odpowiada trzeciemu znakowi a jest to literka v. Idąc dalej indeks 3 to a indeks 4 to S i indeks 5 to c. Indeks 6 jest wyłączny co oznacza że znak na tym miejscu nie jest uwzględniany w wyniku końcowym. Dlatego też wynikiem wywołania substring(2 6) jest ciąg znaków vaSc. Metoda substring jest przydatna w sytuacjach gdzie potrzebujemy wyodrębnić fragment ciągu znaków na przykład przy przetwarzaniu tekstów czy danych wejściowych z formularzy. Dobra praktyka przy używaniu tej metody to zawsze uwzględnianie indeksów początkowego i końcowego w celu uniknięcia błędów logicznych w kodzie oraz zapewnienie czytelności i zrozumiałości kodu dla innych programistów.

Pytanie 17

W języku PHP symbol "//" oznacza

A. operator alternatywy.
B. początek programu.
C. początek komentarza jednoliniowego
D. operator dzielenia całkowitego.
Znak "//" w PHP to początek komentarza jednoliniowego. Komentarze to naprawdę ważna część kodowania, bo dzięki nim można dodawać notatki, które wyjaśniają, co się dzieje w kodzie. Ułatwia to późniejsze zrozumienie przy pracy nad projektem. Kiedy programista wpisuje "//", mówi interpreterowi PHP, żeby zignorował wszystko, co znajduje się w tej linii po tym znaku. Dzięki temu można opisywać funkcje czy klasy albo tymczasowo wyłączać część kodu, gdy testujemy różne rzeczy. To dobra praktyka, bo czytelność i dokumentacja kodu są kluczowe, szczególnie w większych projektach. Przykładowo, można zobaczyć taki komentarz:

// Funkcja oblicza sumę dwóch liczb
function suma($a, $b) {
return $a + $b;
}

Dzięki takiemu komentarzowi inny programista szybko zrozumie, co ta funkcja robi, co jest super ważne w sytuacjach, gdy w zespole jest więcej osób.

Pytanie 18

Aby wykonać kopię zapasową bazy danych MySQL, można posłużyć się:

A. agregacją danych
B. importem bazy
C. modyfikacją danych
D. eksportem bazy
Kopię zapasową bazy MySQL tworzy się przez eksport - zapis struktury tabel i danych do pliku (najczęściej .sql). Taki plik zawiera polecenia, które pozwalają później odtworzyć bazę w tym samym stanie, np. po awarii lub przy przenoszeniu na inny serwer. Eksport wykonasz w phpMyAdmin (zakładka Eksport) albo narzędziem mysqldump. Odwrotną operacją, przywracającą dane z pliku, jest import. Do zrobienia kopii zapasowej służy więc eksport bazy.

Pytanie 19

W SQL wykonano poniższe instrukcje GRANT. Kto będzie miał prawa do przeglądania oraz modyfikacji danych?

GRANT ALL ON firmy TO 'admin'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Tylko Tomasz
B. Tomasz i Adam
C. Tomasz i Anna
D. Adam i Anna
Nieprawidłowe rozumienie problemu wynika z błędnej interpretacji przyznanych uprawnień SQL. Anna choć posiada uprawnienia ALTER CREATE i DROP które odnoszą się do zarządzania strukturą bazy danych takie jak dodawanie czy usuwanie tabel lub zmiana ich struktury nie ma uprawnień do przeglądania czy modyfikowania zawartości tabel. To oznacza że nie może przeglądać ani modyfikować danych co wyklucza ją jako osobę mającą prawo do przeglądania i zmiany danych w kontekście tego pytania. Adam w przesłanych komendach nie jest wymieniony co jasno wskazuje że żadne uprawnienia nie zostały mu przyznane. Często popełnianym błędem jest założenie że posiadanie uprawnień do zmiany struktury bazy danych automatycznie pozwala na przeglądanie danych jednak w rzeczywistości uprawnienia te są rozdzielone co jest kluczowe dla zapewnienia bezpieczeństwa danych. Rozróżnienie między uprawnieniami do zarządzania danymi a ich strukturyzowania jest fundamentalne w pracy z bazami danych i niezbędne do skutecznego administrowania dostępem użytkowników. Tomasz jako jedyny uzyskał odpowiednie uprawnienia do przeglądania i modyfikacji danych co jasno wynika z przyznanych mu uprawnień SQL.

Pytanie 20

W języku skryptowym JavaScript operatory: || oraz && należą do grupy operatorów

A. bitowych.
B. przypisania.
C. logicznych.
D. arytmetycznych.
Operatory || oraz && w JavaScript to klasyczne operatory logiczne. Działają na wartościach, które można zinterpretować jako prawdę lub fałsz (tzw. wartości truthy i falsy) i zwracają wynik wyrażenia logicznego. && oznacza „i” logiczne – całe wyrażenie jest prawdziwe tylko wtedy, gdy oba operandy są traktowane jako prawdziwe. || oznacza „lub” logiczne – wystarczy, że jeden z operandów jest prawdziwy, żeby całe wyrażenie było uznane za prawdę. W praktyce bardzo często wykorzystuje się je w instrukcjach warunkowych, np.: if (isLoggedIn && isAdmin) { … } albo if (isMobile || isTablet) { … }. W JavaScript te operatory mają jeszcze jedną, moim zdaniem bardzo przydatną cechę: nie zwracają po prostu true/false, tylko konkretną wartość jednego z operandów. Na przykład: const name = userName || "Gość"; – jeśli userName jest wartością „falsy” (np. pusty string, null, undefined), to do name trafi "Gość". To jest tzw. krótkie spięcie (short-circuit evaluation): przy operatorze &&, jeśli pierwszy operand jest falsy, drugi nie jest już w ogóle obliczany; przy ||, jeśli pierwszy jest truthy, drugi też nie jest sprawdzany. W dobrych praktykach front-endu wykorzystuje się to do prostego ustawiania wartości domyślnych, zabezpieczania wywołań funkcji (np. callback && callback()) oraz budowania bardziej czytelnych warunków. Warto też pamiętać o różnicy między operatorami logicznymi (&&, ||, !) a porównania (===, !==), bo to są różne grupy operatorów, chociaż często używa się ich razem w tych samych warunkach. Z mojego doświadczenia, świadome używanie tych operatorów logicznych bardzo upraszcza kod i zmniejsza liczbę if-ów rozrzuconych po skryptach.

Pytanie 21

Kiedy między dwiema tabelami zachodzi relacja wiele-do-wielu?

A. gdy wielu wierszom z tabeli A odpowiada wiele wierszy z tabeli B
B. gdy jednemu wierszowi z A odpowiada dokładnie jeden wiersz z B
C. gdy jednemu wierszowi z A odpowiada wiele wierszy z B
D. gdy wielu wierszom z A odpowiada tylko jeden wiersz z B
Relacja wiele-do-wielu zachodzi, gdy WIELU wierszom z tabeli A może odpowiadać WIELE wierszy z tabeli B (i odwrotnie) - np. wielu autorów pisze wiele książek wspólnie. W praktyce rozbija się ją na dwie relacje 1..n przez tabelę pośrednią. Zapamiętaj: „wielu z obu stron” = wiele-do-wielu.

Pytanie 22

W języku JavaScript, w programowaniu obiektowym, zapis this.zawod w przedstawionym kodzie oznacza

function Uczen(){
  this.imie = "";
  this.nazwisko = "";
  this.technik = 'informatyk';
  this.zawod = function(){
    return this.technik;
  };
}
A. konstruktor
B. klasę
C. metodę
D. właściwość
W JavaScript programowanie obiektowe działa trochę inaczej niż w innych językach. W tym kodzie, zapis this.zawod wskazuje, że mamy do czynienia z metodą obiektu. Po prostu, metoda to funkcja przypisana do właściwości obiektu, która może korzystać z danych w obiekcie. Używając this, mamy dostęp do innych właściwości. W tym przypadku, funkcja pod this.zawod zwraca wartość this.technik, co ładnie pokazuje, jak metody mogą zmieniać dane obiektu. To jest właśnie cała filozofia programowania obiektowego, gdzie logika jest umieszczona w funkcjach związanych z danymi. To sprawia, że kod jest bardziej modułowy i łatwiejszy do ogarnięcia. W pracy w zespole dobrze jest, jak nazwy metod mówią, co robią, bo to bardzo pomaga innym zrozumieć, co się dzieje w kodzie.

Pytanie 23

W jaki sposób zostanie uporządkowana lista, stworzona z wszystkich kolumn tabeli uczniowie, zawierająca uczniów z średnią powyżej 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?

Ilustracja do pytania
A. Malejąco według parametru klasa
B. Malejąco według parametru srednia
C. Rosnąco według parametru srednia
D. Rosnąco według parametru klasa
Zapytanie SQL przedstawione w pytaniu wykorzystuje klauzule WHERE oraz ORDER BY. Klauzula WHERE ogranicza wyniki do tych, które spełniają określony warunek, w tym przypadku średnia większa niż 5. To oznacza, że na dalszym etapie przetwarzania znajdą się tylko rekordy uczniów mających średnią powyżej 5. Kolejnym kluczowym elementem jest klauzula ORDER BY, która określa sposób sortowania wyników. W zapytaniu użyto ORDER BY klasa DESC, co oznacza sortowanie malejące według kolumny klasa. DESC to skrót od descending, co w języku SQL oznacza porządek malejący. W praktyce porządkowanie malejące jest często używane, gdy chcemy uzyskać najwyższe wartości na początku listy wynikowej, co może być kluczowe w raportach rankingowych czy analizach dotyczących grup wiekowych. Dobre praktyki w programowaniu baz danych zalecają zawsze jasno określać sposób sortowania, aby uniknąć niejednoznaczności w interpretacji wyników i zapewnić spójność danych. Zrozumienie mechanizmu sortowania w SQL jest istotne w kontekście prezentacji danych, gdzie odpowiednie uporządkowanie wyników może znacząco poprawić czytelność i interpretację danych przez użytkownika końcowego.

Pytanie 24

Odizolowane środowisko ogólnego przeznaczenia, utworzone na fizycznym serwerze z wykorzystaniem wirtualizacji, to:

A. serwer VPS
B. serwer dedykowany
C. serwer DHCP
D. serwer aplikacji
VPS (Virtual Private Server - wirtualny serwer prywatny) to odizolowane środowisko utworzone na fizycznym serwerze dzięki wirtualizacji: jedna maszyna jest dzielona na wiele niezależnych „serwerów”, z których każdy ma własny system, zasoby i konto administratora. To rozwiązanie tańsze niż serwer dedykowany, a dające więcej swobody niż hosting współdzielony. Stosuje się je m.in. do stron i aplikacji wymagających własnej konfiguracji. Dlatego opisane środowisko to serwer VPS.

Pytanie 25

Która zasada dotyczy integralności danych w bazie?

A. w relacji 1..n klucz obcy łączy się z kluczem obcym innej tabeli
B. klucz podstawowy musi mieć osobny indeks
C. pole klucza obcego nie może być puste
D. pole klucza podstawowego nie może być puste
Jedną z zasad integralności jest to, że pole klucza PODSTAWOWEGO nie może być puste (NULL) - skoro identyfikuje rekord, musi mieć wartość w każdym wierszu. Dlatego klucz podstawowy nie może być pusty.

Pytanie 26

Co oznacza w języku C++ przedstawiony fragment kodu?

struct CONTACT
{
std::string nazwisko;
std::string telefon;
int numer;
};
A. Organizację zmiennych
B. Trzy niezależne zmienne
C. Typ strukturalny składający się z trzech pól
D. Interakcję między zmiennymi lokalnymi a globalnymi
Fragment kodu, który przedstawiłeś, dotyczy struktury CONTACT w C++. W sumie fajnie, że w jednym miejscu udało się zebrać różne dane, bo struktury właśnie do tego służą. Mają one trzy pola: dwa typu std::string, czyli nazwisko i telefon, oraz jedno pole typu int, które nazywa się numer. To pole int służy do przechowywania liczb, na przykład identyfikatorów kontaktów. Struktury są super przydatne, bo pozwalają w łatwy sposób zarządzać danymi, które są ze sobą powiązane. W programowaniu obiektowym, jak w C++, to bardzo ważne, by mieć ładnie zorganizowane dane, bo to znacznie ułatwia życie przy większych projektach. Używanie struktur nie tylko poprawia czytelność kodu, ale też pozwala na łatwiejsze przekazywanie danych do funkcji. Różne konwencje, jak ta, że struktury reprezentują obiekty rzeczywiste, naprawdę mogą zwiększać modularność i elastyczność naszego kodu.

Pytanie 27

W języku JavaScript trzeba sformułować warunek, który będzie spełniony, gdy zmienna a będzie dowolną liczbą naturalną dodatnią (więcej niż 0) lub gdy zmienna b będzie dowolną liczbą z przedziału domkniętego od 10 do 100. Wyrażenie logiczne w tym warunku powinno mieć postać

A. (a > 0) || ((b >= 10) && (b <= 100))
B. (a > 0) && ((b >= 10) && (b <= 100))
C. (a > 0) && ((b >= 10) || (b <= 100))
D. (a > 0) || ((b >= 10) || (b <= 100))
Poprawna odpowiedź (a > 0) || ((b >= 10) && (b <= 100)) uwzględnia wymaganie, aby warunek był spełniony, gdy zmienna a jest liczbą naturalną dodatnią bądź zmienna b znajduje się w przedziale od 10 do 100, włącznie. W tym przypadku użycie operatora logicznego '||' (lub) jest kluczowe, ponieważ wystarczy, że jeden z warunków będzie prawdziwy, aby cały warunek był spełniony. Przykładem może być skrypt walidujący dane wejściowe użytkownika: jeśli zmienna a przechowuje wartość 5 (czyli liczbę naturalną dodatnią), to niezależnie od wartości zmiennej b, warunek będzie prawdziwy. Analogicznie, jeśli a wynosi 0, a b = 15, warunek również będzie spełniony, ponieważ b mieści się w wymaganym przedziale. Taka konstrukcja warunku jest zgodna z dobrą praktyką programistyczną, gdyż pozwala na jasne i zrozumiałe określenie, kiedy pewne zasady powinny być stosowane. Zastosowanie operatorów logicznych w taki sposób wspiera tworzenie czytelnych i elastycznych warunków, co jest istotne w kontekście utrzymania kodu i jego przyszłych modyfikacji.

Pytanie 28

Aby w JavaScript wykonać wymienione kroki:

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
   następnie po zatwierdzeniu
2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
   wartość pobrana z okna "Kwalifikacja: ..."
należy w znaczniku <script> umieścić kod
A. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

B. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " .A);

C. A = alert("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

D. A << prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);
A. A.
B. C.
C. B.
D. D.
Dobra robota! W JavaScript, aby wyświetlić okno, w którym użytkownik może wpisać swoje kwalifikacje, najlepiej użyć funkcji `prompt`. Ta funkcja wyświetla okienko, w które można coś wpisać, a to co wprowadzisz, zostaje zwrócone. Potem, żeby pokazać te dane na stronie, używamy funkcji `document.write`. Dzięki temu możemy dynamicznie dodawać tekst na stronę, co jest super przydatne, gdy chcemy, żeby użytkownik wpisał jakieś informacje, które od razu wyświetlamy. Moim zdaniem, to fajny sposób na interakcję z użytkownikami!

Pytanie 29

Deklaracja typu dokumentu HTML: <!DOCTYPE HTML> wskazuje, że kod został stworzony w wersji

A. 5
B. 4
C. 7
D. 6
Gdy widzisz deklarację <!DOCTYPE HTML>, to znaczy, że mówimy o wersji HTML5. To obecny standard, który wprowadza naprawdę sporo nowych funkcji w porównaniu do wcześniejszych wersji. Na przykład, HTML5 pozwala na osadzanie audio i wideo bez potrzeby dodatkowych wtyczek, co jest super wygodne. Mamy też fajne semantyczne elementy jak <article>, <section> czy <nav>, które sprawiają, że łatwiej zorganizować treści na stronie. Ważne jest, żeby zawsze na początku dokumentu umieszczać tę deklarację, bo to pozwala przeglądarkom na prawidłowe wyświetlanie strony. Dzięki temu unikamy problemów z interpretacją kodu, co z doświadczenia mówię, jest naprawdę istotne.

Pytanie 30

Z tabeli mieszkańcy należy uzyskać unikalne nazwy miejscowości, do czego konieczne jest użycie wyrażenia SQL z klauzulą

A. DISTINCT
B. CHECK
C. HAVING
D. UNIQUE
Odpowiedź 'DISTINCT' jest poprawna, ponieważ w SQL służy do eliminowania powtórzeń w wynikach zapytań. Użycie klauzuli DISTINCT pozwala na zwrócenie jedynie unikalnych wartości z danej kolumny, co jest idealne w sytuacjach, gdy chcemy uzyskać listę miast, w których mieszkają osoby z tabeli 'mieszkańcy'. Na przykład, zapytanie 'SELECT DISTINCT miasto FROM mieszkańcy;' zwróci wszystkie różne miasta, w których zamieszkują mieszkańcy, eliminując duplikaty. W praktyce, klauzula DISTINCT jest często stosowana w raportach oraz analityce danych, gdzie istotne jest zrozumienie rozkładu unikalnych wartości. Warto również zauważyć, że DISTINCT może być używane w połączeniu z innymi klauzulami SQL, takimi jak WHERE, aby jeszcze bardziej zawęzić wyniki. Przykład użycia: 'SELECT DISTINCT miasto FROM mieszkańcy WHERE kraj = 'Polska';'. Dobrą praktyką jest stosowanie DISTINCT w sytuacjach, gdy zarządzamy dużymi zbiorami danych, aby zapewnić ich przejrzystość i uniknąć nadmiarowych informacji.

Pytanie 31

Która dyrektywa w pliku php.ini decyduje o WYŚWIETLANIU komunikatów o błędach na stronie?

A.
display_errors
B.
error_log
C.
log_errors
D.
max_execution_time
Dyrektywa display_errors w php.ini określa, czy komunikaty o błędach mają pojawiać się w wyniku skryptu (na stronie). Na serwerze produkcyjnym ustawia się ją na Off (by nie ujawniać szczegółów), a podczas tworzenia na On, co ułatwia debugowanie. Dlatego za wyświetlanie błędów odpowiada display_errors.

Pytanie 32

SELECT ocena FROM oceny WHERE ocena > 2 ORDER BY ocena;
Załóżmy, że istnieje tabela oceny zawierająca kolumny id, nazwisko, imię oraz ocena. Przykładowe zapytanie ilustruje:
A. rekurencję.
B. selekcję.
C. sumę.
D. łączenie.
Zapytanie SQL przedstawione w pytaniu jest przykładem selekcji ponieważ wykorzystuje klauzulę WHERE do filtrowania danych. Selekcja w kontekście baz danych oznacza wybieranie konkretnych wierszy z tabeli które spełniają określone kryteria. W tym przypadku kryterium to ocena większa niż 2. Takie podejście jest bardzo powszechne i użyteczne w analizie danych pozwalając na uzyskanie tylko istotnych informacji spośród dużych zbiorów danych. Klauzula WHERE jest jednym z podstawowych narzędzi SQL wykorzystywanym w praktycznie każdym systemie zarządzania bazami danych jak MySQL PostgreSQL czy Oracle. Umożliwia ona tworzenie elastycznych i złożonych zapytań które mogą zawierać różnorodne warunki logiczne takie jak porównania czy wyrażenia regularne. Dobre praktyki w zakresie projektowania baz danych zalecają używanie selekcji do ograniczania ilości przetwarzanych danych co zwiększa wydajność systemów. Zrozumienie mechanizmu selekcji jest kluczowe dla skutecznego zarządzania i optymalizacji baz danych szczególnie w projektach o dużej skali.

Pytanie 33

Walidator HTML5 zgłosił: „Error: Element head is missing a required instance of child element title”. Co to oznacza?

A. że <title> nie został zamknięty </title>
B. że brakuje atrybutu title w <img>
C. że w <head> nie zdefiniowano elementu <title>
D. że element <title> nie jest wymagany
Komunikat „Element head is missing a required instance of child element title” znaczy, że w sekcji <head> nie umieszczono wymaganego znacznika <title>. Walidator wymaga tytułu w każdym dokumencie. Dlatego oznacza brak <title> w <head>.

Pytanie 34

Zdefiniowana jest tabela uczniowie z polami id, nazwisko, imie oraz klasa. Jakie zapytanie SQL pozwoli nam uzyskać liczbę osób w danym klasa i wskazać jej nazwę?

A. SELECT SUM(id), klasa FROM uczniowie ORDER BY klasa
B. SELECT COUNT(id), klasa FROM uczniowie ORDER BY klasa
C. SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa
D. SELECT SUM(id), klasa FROM uczniowie GROUP BY klasa
Analizując nieprawidłowe odpowiedzi, można zauważyć kilka kluczowych błędów. Odpowiedź, która sugeruje użycie 'ORDER BY klasa', nie ma sensu w kontekście zliczania uczniów w klasach. Klauzula ORDER BY służy do sortowania wyników, ale nie agreguje danych, co jest niezbędne do uzyskania liczby uczniów w poszczególnych klasach. Z kolei użycie funkcji SUM na polu id jest niewłaściwe, ponieważ SUM sumuje wartości liczbowych, a id jest zazwyczaj unikalnym identyfikatorem, co może prowadzić do błędnych wyników. W kontekście SQL, SUM nie jest odpowiedni dla zliczania rekordów, tym bardziej, gdy celem jest uzyskanie liczby uczniów. W rezultacie, użycie SUM w tym przypadku może prowadzić do zupełnie nieadekwatnych wniosków o liczbie uczniów. Ponadto, takie podejścia mogą prowadzić do nieefektywnego przetwarzania danych, co jest sprzeczne z ideą optymalizacji zapytań w SQL. Kluczowym błędem myślowym w tych odpowiedziach jest niezrozumienie różnicy między funkcjami agregującymi a operacjami sortującymi oraz błędne założenie, że SUM może być użyte w kontekście zliczania. W praktyce, znajomość odpowiednich funkcji oraz ich zastosowania jest kluczowa dla efektywnego zarządzania bazami danych.

Pytanie 35

W którym pliku konfiguracyjnym serwera Apache ustawia się przekierowanie 301 (z jednego URL na inny)?

A.
.htaccess
B.
conf.php
C.
configuration.php
D.
apacheConf
Pozostałe nazwy nie są plikami konfiguracji Apache. conf.php i configuration.php to pliki PHP (np. konfiguracja aplikacji), a „apacheConf” nie istnieje. Przekierowania definiuje .htaccess.

Pytanie 36

Którego znacznika NIE NALEŻY umieszczać w nagłówku dokumentu HTML?

A. <link>
B. <h2>
C. <meta>
D. <title>
Odpowiedź <h2> jest trafna, bo ten znacznik jest właśnie do nagłówków w HTML. Powinien być używany w sekcji <body>, nie w <head>. Jak dobrze wiesz, nagłówki, czyli <h1> do <h6>, mają spore znaczenie w organizacji tekstu i hierarchii, co wpływa później na SEO i dostępność strony. Dzięki <h2> możesz dodać podtytuł, co sprawia, że tekst jest bardziej przejrzysty i łatwiejszy do zrozumienia. Stosowanie nagłówków w odpowiedni sposób to ważna zasada, żeby dokument miał sens i był logicznie poukładany. Warto też wiedzieć, że znaczniki takie jak <link>, <meta> i <title> są super ważne dla strony, ale pełnią inne funkcje niż nagłówki. Więc ogólnie rzecz biorąc, fajnie, że to rozumiesz!

Pytanie 37

Po uruchomieniu poniższego kodu PHP na ekranie ukaże się bieżąca data w formacie:

echo date("Y-m");
A. dzień, miesiąc, rok
B. dzień oraz rok
C. rok oraz miesiąc
D. tylko rok
Odpowiedź "rok i miesiąc" jest prawidłowa, ponieważ funkcja date() w PHP, kiedy wykorzystujemy format "Y-m", zwraca datę w formacie roku, np. 2023, oraz miesiąca w postaci dwucyfrowej, np. 09 dla września. Warto zrozumieć, że format "Y" generuje czterocyfrowy rok, natomiast "m" generuje dwucyfrowy miesiąc. To podejście jest często wykorzystywane w aplikacjach webowych do prezentacji dat w sposób zrozumiały dla użytkowników, a także do grupowania danych według miesięcy w bazach danych. Przykładowo, w systemach raportowania finansowego, często wykorzystuje się ten format do agregacji danych sprzedażowych według miesięcy, co ułatwia analizę wyników. Użycie odpowiednich standardów w formacie daty wspomaga utrzymanie spójności i czytelności danych w różnych systemach informatycznych.

Pytanie 38

Metainformacja "Description" umieszczona w pliku HTML powinna zawierać

<head>
    <meta name="Description" content="...">
</head>
A. informację na temat autora strony
B. spis słów kluczowych, które są wykorzystywane przez wyszukiwarki internetowe
C. nazwę aplikacji, za pomocą której stworzono stronę
D. opis treści znajdującej się na stronie
Meta tag Description w HTML służy do dostarczenia krótkiego streszczenia zawartości strony internetowej Jest to jeden z kluczowych elementów optymalizacji pod kątem wyszukiwarek internetowych SEO który pomaga wyszukiwarkom i użytkownikom zrozumieć tematykę strony choć nie jest bezpośrednim czynnikiem rankingowym wyszukiwarek może wpływać na wskaźnik klikalności CTR w wynikach wyszukiwania Dzięki dobrze skonstruowanemu opisowi użytkownicy mogą szybko ocenić czy strona spełnia ich potrzeby co z kolei może zwiększyć ruch na stronie Praktyką branżową jest aby opis był zwięzły i zawierał najważniejsze informacje dotyczące zawartości strony zazwyczaj nie przekraczając 160 znaków Ponadto opis ten może być wyświetlany jako fragment w wynikach wyszukiwania co czyni go istotnym elementem strategii marketingowej strony Dobre praktyki obejmują stosowanie unikalnych i precyzyjnych opisów dla każdej podstrony co przyczynia się do lepszego zrozumienia i klasyfikacji strony przez wyszukiwarki

Pytanie 39

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

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

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