Wyniki egzaminu

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

Egzamin niezdany

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

Kod JavaScript ma za zadanie szukanie wartości maksymalnej w tablicy. Wskaż błąd występujący w skrypcie.

14      max = tablica[0];
15      for (j == 1; j < 9; j++) {
16          if (max <= tablica[j]) {
17              max = tablica[j];
18          };
19      };
20      document.write("Największy element tablicy to: " + max);
A. Warunek w linii 16 powinien być odwrócony.
B. Zmienna max ma niewłaściwie przypisaną wartość w linii 14.
C. Kod zapisany w linii 20 ma nieprawidłową składnię.
D. Zastosowano operator porównania zamiast przypisania w linii 15.
Kod, który ma znaleźć wartość maksymalną w tablicy, jest w gruncie rzeczy poprawny algorytmicznie, a główny problem leży w składni pętli. Łatwo jednak skupić się na innych fragmentach i szukać błędu tam, gdzie go nie ma. Spójrzmy po kolei na wszystkie podejrzane miejsca. Warunek w instrukcji `if (max <= tablica[j])` może wyglądać podejrzanie, bo często w przykładach używa się operatora `<`. Jednak użycie `<=` nie jest błędem. To znaczy tylko tyle, że jeśli w tablicy występuje kilka identycznych wartości maksymalnych, to `max` przyjmie wartość ostatniego z nich. Algorytm nadal zwróci poprawne maksimum, różnica dotyczy jedynie tego, który indeks „wygra”, jeśli wartości są równe. Z punktu widzenia wyszukiwania największej liczby to zachowanie jest całkowicie akceptowalne. Pojawia się też pokusa, żeby winić linię z `document.write(...)`. Ten zapis jest składniowo poprawny w JavaScripcie: mamy wywołanie metody `write` na obiekcie `document` i konkatenację napisu z wartością zmiennej. Można dyskutować, czy jest to dobra praktyka w nowoczesnych aplikacjach (zwykle lepiej manipulować DOM, np. przez `textContent`), ale nie jest to błąd uniemożliwiający działanie programu. Podobnie przypisanie `max = tablica[0];` jest typowym i poprawnym sposobem inicjalizacji zmiennej maksimum: zakładamy na start, że największym elementem jest pierwszy element tablicy i dopiero później weryfikujemy to w pętli. Tu nie ma żadnej sprzeczności z logiką algorytmu. Prawdziwy problem to użycie operatora porównania `==` w miejscu, gdzie powinniśmy zainicjalizować licznik pętli. Konstrukcja `for (j == 1; j < 9; j++)` nie ustawia wartości `j`, tylko sprawdza, czy aktualne `j` jest równe 1, przez co cała pętla ma niepoprawną składnię. Typowy błąd myślowy polega tutaj na utożsamieniu „ustawienia na 1” z „sprawdzeniem, czy jest równe 1”. W językach imperatywnych to są zupełnie różne operacje. Dobra praktyka to zawsze czytać nagłówek pętli jak zdanie: „ustaw j na 1; dopóki j < 9; po każdej iteracji zwiększ j o 1”. Jeśli to czytanie nie ma sensu, znaczy że coś jest nie tak z operatorem. Warto też pamiętać, że narzędzia linterskie i tryb `use strict` pomagają wychwycić takie pomyłki, zanim trafią one do gotowego kodu.

Pytanie 2

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

A. istnieją przynajmniej dwa wymiary.
B. indeks jest dowolnym napisem.
C. elementy tablicy są zawsze indeksowane od liczby równej 0.
D. w każdej komórce tablicy przechowywana jest inna tablica.
W PHP pojęcie tablicy asocjacyjnej bywa mylone z kilkoma innymi konstrukcjami, dlatego łatwo wpaść w pułapkę skojarzeń. Tablica asocjacyjna nie ma nic wspólnego z liczbą wymiarów – fakt, że jakaś tablica jest wielowymiarowa (np. tablica tablic), wcale nie oznacza, że jest asocjacyjna. Możesz mieć tablicę dwuwymiarową z indeksami czysto numerycznymi i będzie to po prostu zwykła tablica indeksowana liczbami, tylko zagnieżdżona. Sam „wymiar” dotyczy struktury zagnieżdżenia, a nie sposobu adresowania elementów. Podobnie nie jest prawdą, że w tablicy asocjacyjnej w każdej komórce musi być inna tablica. To jest raczej opis tablicy zagnieżdżonej (np. do reprezentowania wierszy i kolumn), a nie definicja tablicy asocjacyjnej. Elementem tablicy asocjacyjnej może być cokolwiek: liczba, string, obiekt, null, inna tablica – ale to, co ją wyróżnia, to klucze tekstowe, a nie typ przechowywanych wartości. Kolejne typowe nieporozumienie to przekonanie, że elementy w tablicy zawsze są indeksowane od zera. W wielu językach (np. w C, Javie) rzeczywiście tablice „klasyczne” startują od indeksu 0, więc łatwo to nawykowo przenieść do PHP. Natomiast PHP jest pod tym względem bardziej elastyczny: możesz mieć tablicę z kluczami 0, 1, 2, ale możesz też mieć klucze 'imie', 'email' albo nawet mieszane – częściowo numeryczne, częściowo tekstowe. W tablicy asocjacyjnej klucz jest wartością logicznie opisującą dany element, a nie tylko kolejnym numerem pozycji. Z mojego doświadczenia wynika, że wiele błędów w kodzie bierze się z tego, że ktoś traktuje tablicę asocjacyjną jak „zwykłą tablicę od zera”, a potem odwołuje się do nieistniejących indeksów numerycznych. Dobra praktyka to świadome korzystanie z kluczy, nadawanie im sensownych nazw i pamiętanie, że w PHP tablica asocjacyjna to po prostu struktura klucz → wartość, gdzie kluczem bardzo często jest właśnie napis, a nie liczba.

Pytanie 3

Wynikiem działania pętli będzie wypisanie liczb

for ($i = 0; $i <= 20; $i += 4)
echo $i . ', ';
A. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
B. 0, 4, 8, 12, 16,
C. 0, 4, 8, 12, 16, 20,
D. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
Twoja odpowiedź jest prawidłowa. Pętla for w języku PHP jest strukturą kontrolną, która pozwala na wielokrotne wykonanie określonej sekwencji instrukcji. W tym konkretnym przypadku, pętla zaczyna od wartości 0 i zwiększa wartość $i o 4 przy każdej iteracji, aż osiągnie lub przekroczy wartość 20. W wyniku tego, wartości, które otrzymujemy i zostają wypisane, to 0, 4, 8, 12, 16, 20. Pętle są niezwykle użyteczne i wszechstronne w programowaniu, pozwalając na automatyzację i usprawnienie wielu zadań. Pętla for, którą tu widzimy, jest przykładem zastosowania tej struktury do generowania sekwencji liczb, co ma wiele zastosowań, na przykład w tworzeniu tablic, sterowaniu kolejnością wykonywania operacji lub generowaniu dynamicznych treści na stronach internetowych.

Pytanie 4

Kaskadowe arkusze stylów są tworzone w celu

A. ulepszenia nawigacji dla użytkownika
B. zwiększenia szybkości ładowania grafiki na stronie internetowej
C. dodania na stronie internetowej treści tekstowych
D. określenia metod formatowania elementów na stronie internetowej
Kaskadowe arkusze stylów (CSS) są kluczowym elementem w projektowaniu stron internetowych, ponieważ umożliwiają one definiowanie sposobu formatowania i prezentacji elementów na stronie. CSS pozwala na oddzielenie treści od formy, co oznacza, że programiści mogą skupić się na tworzeniu struktury dokumentu HTML, podczas gdy stylistyka i układ są kontrolowane przez arkusze stylów. Przykładem zastosowania CSS jest stylizacja nagłówków, paragrafów czy list, gdzie można dostosować czcionki, kolory, marginesy oraz inne właściwości wizualne. Dzięki użyciu selektorów i reguł CSS, twórcy stron mają pełną kontrolę nad tym, jak każdy element będzie wyglądał, co pozwala na tworzenie responsywnych i estetycznych interfejsów. Ponadto, CSS obsługuje kaskadowość, co oznacza, że reguły mogą być dziedziczone i nadpisywane, co zwiększa elastyczność i wydajność procesu stylizacji. Warto również zwrócić uwagę na standardy W3C, które definiują najlepsze praktyki i zalecenia dotyczące użycia CSS, co przyczynia się do poprawy dostępności i zgodności stron internetowych.

Pytanie 5

Jeżeli rozmiar pliku graficznego jest zbyt duży do publikacji w sieci, co należy zrobić?

A. dodać kanał alfa
B. zapisać w formacie BMP
C. zmniejszyć jego rozdzielczość
D. zwiększyć jego głębię kolorów
Zmniejszenie rozdzielczości pliku graficznego jest jedną z najskuteczniejszych metod na zmniejszenie jego rozmiaru, co jest niezwykle ważne w kontekście publikacji w Internecie. Rozdzielczość obrazu odnosi się do liczby pikseli, które składają się na dany obraz, wyrażoną zazwyczaj w pikselach na cal (PPI) lub w całkowitej liczbie pikseli w szerokości i wysokości. Zmniejszając rozdzielczość, obniżamy liczbę pikseli, co w efekcie prowadzi do mniejszego rozmiaru pliku. Na przykład, obraz o rozdzielczości 4000x3000 pikseli ma 12 milionów pikseli, podczas gdy obraz o rozdzielczości 2000x1500 pikseli zaledwie 3 miliony pikseli. Oprócz zmniejszenia rozdzielczości, można również zastosować inne techniki kompresji, takie jak zmiana formatu pliku na JPEG, który jest bardziej efektywny w kompresji zdjęć, a także wykorzystanie narzędzi do optymalizacji grafiki, takich jak TinyPNG czy ImageOptim. Zmniejszając rozdzielczość, należy jednak pamiętać o zachowaniu odpowiedniej jakości obrazu, aby nie wpłynęło to negatywnie na jego czytelność i estetykę, co jest kluczowe w kontekście publikacji online.

Pytanie 6

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. parzystej.
B. największej.
C. nieparzystej.
D. najmniejszej.
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 7

W PHP funkcja trim służy do

A. podawania długości tekstu
B. redukcji tekstu o liczbę znaków określoną w parametrze
C. porównywania dwóch tekstów i wyświetlania ich części wspólnej
D. usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
Analizując pozostałe odpowiedzi, można zauważyć, że pierwsza sugeruje, iż funkcja trim ma na celu podawanie długości napisu. Jest to błędne, ponieważ funkcja ta nie zwraca informacji o długości łańcucha, lecz modyfikuje jego zawartość, usuwając określone znaki. Długość napisu można uzyskać za pomocą funkcji strlen, która jest dedykowana do mierzenia długości ciągów. Kolejna odpowiedź sugeruje, że funkcja trim porównuje dwa napisy i wypisuje część wspólną. Również ta informacja jest nieprawdziwa, ponieważ trim nie ma funkcji porównywania. Do porównywania napisów służy funkcja strcmp lub różne operatory porównania. Ostatnia niepoprawna odpowiedź wskazuje, że trim zmniejsza napis o wskazaną w parametrze liczbę znaków. Funkcja trim nie przyjmuje argumentów dotyczących liczby znaków do usunięcia, a jedynie znaki, które mają być usunięte. Użytkownik nie może określić liczby znaków, które zostaną odjęte od początku lub końca łańcucha. Dlatego wszystkie wymienione odpowiedzi są błędne w kontekście działania funkcji trim w PHP.

Pytanie 8

Aby wykonać kopię zapasową bazy danych w MySQL, jakie polecenie należy zastosować?

A. mysqldump
B. mysqlcheck
C. mysqlreplicate
D. mysqlslap
Wybór polecenia mysqlslap jako metody do tworzenia kopii zapasowych bazy danych jest nieuzasadniony, ponieważ funkcjonalność tego narzędzia jest całkowicie inna. Mysqlslap jest narzędziem do testowania wydajności MySQL, które symuluje obciążenie bazy danych i umożliwia ocenę jej reakcji na różne zapytania. Zamiast służyć do backupu, jest wykorzystywane do analizy i optymalizacji wydajności systemu, co może prowadzić do błędnych wniosków o jego zastosowaniu w kontekście bezpieczeństwa danych. Podobnie, mysqlcheck jest narzędziem używanym do sprawdzania i naprawy tabel w bazach danych MySQL, co oznacza, że nie ma on zastosowania w kontekście tworzenia kopii zapasowych. Jego główną rolą jest diagnostyka i konserwacja bazy danych, a nie zarządzanie danymi. Z kolei mysqlreplicate, jak sama nazwa wskazuje, odnosi się do replikacji bazy danych, co jest zupełnie inną procedurą, mającą na celu zapewnienie wysokiej dostępności i skalowalności poprzez tworzenie duplikatów danych na różnych serwerach. Typowym błędem jest mylenie narzędzi do zarządzania danymi z narzędziami do ich zabezpieczania. Aby skutecznie zarządzać bazą danych, konieczne jest zrozumienie różnicy między tymi funkcjami oraz właściwe dobieranie narzędzi do konkretnych zadań, co jest kluczowe dla zapewnienia spójności i bezpieczeństwa danych.

Pytanie 9

Wykonano następującą kwerendę na tabeli Pracownicy:

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;

Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?

idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Anna, Maria, Ewa.
B. Tylko Anna.
C. Monika, Ewelina, Maria.
D. Tylko Maria.
Niestety, wybrane odpowiedzi są nieprawidłowe. Wydaje się, że mogło dojść do nieporozumienia odnośnie działania kwerendy SQL. Kwerenda 'SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;' zwraca imiona pracowników, którzy mają nazwisko 'Kowal' lub zajmują stanowisko o numerze większym niż 2. W kontekście przedstawionej tabeli, zwróciłaby imiona 'Anna, Maria, Ewa'. Błędne odpowiedzi sugerują, że nie zostało to w pełni zrozumiane. Na przykład, odpowiedź 'Tylko Maria' sugeruje, że nie zrozumiano, że warunek 'stanowisko > 2' również ma wpływ na wynik zapytania. Podobnie, odpowiedzi zawierające imiona pracowników, którzy nie spełniają żadnego z warunków, są nieprawidłowe. Pamiętaj, że SQL to potężne narzędzie do manipulowania danymi i zrozumienie, jak formułować skomplikowane zapytania, jest kluczem do efektywnego zarządzania bazami danych. Zachęcam do dalszej praktyki i eksperymentowania z różnymi zapytaniami, aby lepiej zrozumieć, jakie dane zostaną zwrócone.

Pytanie 10

<script>
  var imiona = ["Ala", "Ola", "Ela", ""];
  tymczasowa=imiona.length;
</script>
Przedstawiony kod JavaScript powoduje przypisanie do zmiennej tymczasowa wartości:
A. 4
B. 9
C. 3
D. 1
Kod tworzy tablicę `imiona` i przypisuje do niej cztery elementy: trzy napisy z imionami oraz jeden pusty string. Następnie do zmiennej `tymczasowa` przypisywana jest wartość `imiona.length`. Kluczowe jest zrozumienie, co dokładnie oznacza właściwość `.length` w kontekście tablicy JavaScript. Częsty błąd polega na myleniu `.length` tablicy z długością pojedynczego napisu. Niektórzy patrzą na pierwszy element "Ala" i kojarzą długość 3, inni sumują znaki w kilku elementach, jeszcze inni w ogóle ignorują pusty string, bo „nic tam nie ma”. To są naturalne skojarzenia, ale w tym przypadku zupełnie nietrafione. W przypadku obiektu typu Array, zgodnie ze specyfikacją ECMAScript, właściwość `length` odzwierciedla najwyższy użyty indeks plus jeden, czyli de facto liczbę pozycji w tablicy, a nie zawartość tych pozycji. Pusty string `""` jest pełnoprawnym elementem tablicy, tak jak każdy inny. To, że ma długość tekstową 0, nie ma żadnego wpływu na długość tablicy. Tablica ma indeksy 0, 1, 2 i 3, więc `length` jest równe 4. Próby uzasadniania innych odpowiedzi zwykle wynikają z mieszania pojęć: długości tekstu, liczby niepustych elementów, albo jakiegoś intuicyjnego „liczenia tylko tych, co coś zawierają”. JavaScript tego nie robi automatycznie. Jeżeli chcielibyśmy policzyć tylko niepuste napisy, trzeba by użyć np. `imiona.filter(x => x !== "").length`. Innym typowym nieporozumieniem jest traktowanie `.length` jak czegoś dynamicznie obliczanego na podstawie treści, a nie struktury. Tymczasem silnik języka przechowuje tę wartość jako właściwość, związaną z indeksem elementów, a nie z ich wartością. Dobra praktyka w programowaniu webowym to zawsze sprawdzać w dokumentacji, co dokładnie oznacza dana właściwość lub metoda dla konkretnego typu danych. Pozwala to unikać takich pułapek i pisać kod, który zachowuje się przewidywalnie, szczególnie gdy pracujemy z tablicami o mieszanej zawartości, w tym z pustymi stringami czy wartościami `null` i `undefined`.

Pytanie 11

Która z zasad walidacji stron internetowych jest niepoprawna?

A. W znacznikach nie zachodzi rozróżnienie pomiędzy dużymi a małymi literami, np. <p> i <P> są tym samym znacznikiem
B. Znaczniki, poza tymi samozamykającymi się, funkcjonują aż do momentu ich zakończenia znakiem '/', np. <p>...</p>
C. Jeżeli w instrukcji stosuje się kilka atrybutów, ich kolejność powinna odpowiadać porządkom alfabetycznym, np. <img alt="...." src="...." />
D. Wyłączanie znaczników powinno następować w odwrotnej kolejności do ich włączania, np. <p>....<big>...</big></p>
W kontekście walidacji znaczników HTML obowiązują szczegółowe zasady, które mają na celu zarówno poprawność syntaktyczną, jak i semantyczną kodu. Na przykład, w przypadku wyłączania znaczników, ważne jest, aby stosować się do zasady zwaną 'LIFO' (Last In, First Out), co oznacza, że znaczniki muszą być zamykane w odwrotnej kolejności, niż były otwierane. Otwierając znacznik <p>, a następnie <big>, w sytuacji, gdy oba są używane, <big> powinien być zamknięty przed <p>, co jest wymagane do zachowania poprawnej struktury dokumentu. Warto również podkreślić, że HTML jest językiem niestrict, co oznacza, że przeglądarki są dość tolerancyjne w stosunku do błędów, ale nieprawidłowe zamykanie znaczników może prowadzić do nieprzewidywalnych rezultatów wizualnych na stronie. Ponadto, wielkie i małe litery w znacznikach HTML nie mają znaczenia, co oznacza, że <p> i <P> będą interpretowane identycznie. Można jednak przyjąć zasadę, że stosowanie jednolitej konwencji, na przykład pisania wszystkich znaczników małymi literami, jest dobrym nawykiem, który zwiększa czytelność kodu. Przykład tego błędu można zaobserwować, gdy programiści mylą się w zamykaniu znaczników, co często prowadzi do złamania struktury DOM i problemów z renderowaniem strony. Utrzymywanie porządku w kodzie HTML jest kluczowe dla jego dalszego rozwoju i utrzymania.

Pytanie 12

Jakiego ograniczenia (constraint) używa się do zdefiniowania klucza obcego?

A. PRIMARY KEY(ID)
B. UNIQUE KEY(ID)
C. AUTO_INCREMENT(ID)
D. FOREIGN KEY(ID)
Wybór innych odpowiedzi jest błędny, ponieważ nie odzwierciedlają one funkcji kluczy obcych. Odpowiedź 'UNIQUE KEY(ID)' jest myląca, ponieważ klucz unikalny zapewnia, że wszystkie wartości w danej kolumnie są unikalne, ale nie tworzy relacji między tabelami. Klucz unikalny może być użyty dla kolumn, które nie są kluczem głównym, ale które muszą zachować unikalność, np. adres e-mail użytkownika. Użycie 'AUTO_INCREMENT(ID)' również jest nieprawidłowe, ponieważ ta opcja jest stosowana do automatycznego zwiększania wartości klucza głównego przy dodawaniu nowych rekordów, co nie ma związku z tworzeniem relacji między tabelami. Klucz główny, na przykład 'PRIMARY KEY(ID)', definiuje unikalną identyfikację rekordów w tabeli, co jest kluczowe dla struktury bazy danych, ale nie tworzy linku do innych tabel. Problemy z interpretacją wynikają często z niezrozumienia, jak różne rodzaje kluczy funkcjonują w relacyjnych bazach danych. Klucz obcy jest kluczowy w kontekście modelowania relacji, natomiast klucz unikalny, klucz główny oraz autoinkrementacja pełnią inne, specyficzne funkcje w architekturze bazy danych. Właściwe zrozumienie ról tych ograniczeń jest kluczowe dla projektowania efektywnych i spójnych baz danych.

Pytanie 13

W tabeli mieszkańcy zawierającej pola id, imie, nazwisko, ulica, numer, czynsz (wartość całkowita) należy zidentyfikować osoby zamieszkujące ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz jest niższy niż
1000 zł. Jak będzie wyglądać klauzula WHERE w zapytaniu?

A. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
C. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
Odpowiedź jest prawidłowa, ponieważ klauzula WHERE w zapytaniu SQL skutecznie filtruje dane zgodnie z wymaganiami. W tym przypadku, użycie operatora AND w połączeniu z IN i warunkiem < 1000 zapewnia, że zwrócone zostaną jedynie te rekordy, które spełniają wszystkie trzy kryteria: ulica musi być 'Mickiewicza', numer musi być jednym z 71, 72 lub 80, a czynsz musi być mniejszy niż 1000 zł. To jest zgodne z dobrą praktyką w SQL, gdzie łączenie warunków z użyciem operatorów logicznych pozwala na precyzyjne określenie zestawu danych, które nas interesują. Przy tak skonstruowanej klauzuli, zapytanie będzie wydajne i zrozumiałe, co jest kluczowe w pracy z bazami danych. Przykładowe zastosowanie to generowanie raportów dotyczących mieszkańców, co może być istotne dla zarządzania nieruchomościami lub analizy rynku wynajmu. Tego typu zapytania są powszechnie używane w aplikacjach webowych i systemach zarządzania danymi, co podkreśla znaczenie umiejętności formułowania precyzyjnych zapytań SQL.

Pytanie 14

Aby za pomocą instrukcji SELECT uzyskać listę nazwisk osób mieszkających na osiedlu, przy czym nazwiska te nie mogą się powtarzać, należy sformułować zapytanie w następujący sposób

A. SELECT DISTINCT nazwisko FROM mieszkancy
B. SELECT TOP 10 nazwisko FROM mieszkancy
C. SELECT nazwisko FROM mieszkancy ORDER BY nazwisko
D. SELECT AVG(nazwisko) FROM mieszkancy
Odpowiedzi, które nie wykorzystują klauzuli DISTINCT, nie są w stanie spełnić wymogu eliminacji duplikatów w wynikach zapytania. Na przykład, użycie "SELECT nazwisko FROM mieszkancy ORDER BY nazwisko;" tylko sortuje wyniki według nazwisk, ale nie eliminuje powtarzających się rekordów. To jest typowy błąd w myśleniu, gdzie użytkownicy mogą myśleć, że sortowanie wystarczy, aby uzyskać unikalne wyniki. Jeżeli w tabeli znajduje się wiele osób o tym samym nazwisku, zapytanie to nadal zwróci wszystkie wystąpienia, co prowadzi do niepożądanych rezultatów. Z kolei "SELECT TOP 10 nazwisko FROM mieszkancy;" ogranicza wyniki do tylko 10 pierwszych rekordów, ale nie zapewnia ich unikalności. W zależności od kolejności, w jakiej dane są prezentowane, wynik może zawierać duplikaty, co nie spełnia wymagań zadania. Dodatkowo, "SELECT AVG(nazwisko) FROM mieszkancy;" ma na celu obliczenie średniej, co jest nonsensowne w kontekście kolumny tekstowej jak 'nazwisko', ponieważ średnia nie jest miarodajną miarą dla danych tekstowych. Takie podejście demonstruje niewłaściwe zrozumienie typów danych i ich zastosowań w SQL. W każdej sytuacji, umiejętność poprawnego formułowania zapytań SQL jest kluczowa dla efektywnej pracy z bazami danych i unikania błędów analitycznych.

Pytanie 15

W języku JavaScript stworzono obiekt Samochod. Aby wywołać jedną z jego metod, trzeba wpisać

A. Samochod.spalanie_na100
B. Samochod.kolor
C. Samochod.spalanie()
D. Samochod()
W języku JavaScript obiekt to podstawowa jednostka, która pozwala na grupowanie danych i funkcji w jednym miejscu. W kontekście zdefiniowanego obiektu Samochod, aby wywołać jego metodę, należy skorzystać z notacji kropkowej. Poprawne użycie to Samochod.spalanie(), co wskazuje na wywołanie metody 'spalanie' z obiektu 'Samochod'. Ta metoda może zawierać logikę obliczającą zużycie paliwa lub inne operacje związane z danym samochodem. Warto zauważyć, że metody w JavaScript są funkcjami przypisanymi do obiektów, co umożliwia ich wywołanie za pomocą notacji kropkowej. Przykładowo, jeśli obiekt Samochod ma zdefiniowaną metodę spalanie, możemy ją zainicjować i uzyskać wynik, co czyni nasz kod bardziej modularnym i czytelnym. Użycie odpowiednich metod jest zgodne z zasadami programowania obiektowego, które są fundamentem JavaScript. Metody obiektów mogą korzystać z właściwości innych obiektów, co zwiększa elastyczność programowania. Ta architektura jest zgodna ze standardem ECMAScript, który definiuje zasady dotyczące obiektów i funkcji w JavaScript.

Pytanie 16

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

A. aside {float: left; }
B. nav { float: right; } section { float: right; }
C. nav { float: left; } aside { float: left; }
D. nav { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 17

Jak nazywa się organizacja odpowiedzialna za wyznaczanie standardów dla języka HTML?

A. NASK
B. WYSIWYG
C. ISO
D. W3C
Odpowiedzi ISO, NASK oraz WYSIWYG są niepoprawne w kontekście organizacji zajmującej się ustalaniem standardów dla języka HTML. ISO, czyli Międzynarodowa Organizacja Normalizacyjna, jest globalną organizacją zajmującą się ustalaniem standardów w różnych dziedzinach, takich jak jakości produktów, ale nie koncentruje się na standardach dotyczących technologii webowych. Jej standardy mogą obejmować aspekty techniczne, ale nie są specjalnie ukierunkowane na rozwój języków programowania czy specyfikacji związanych z internetem. NASK, czyli Naukowa i Akademicka Sieć Komputerowa, jest polską organizacją, która skupia się na rozwoju infrastruktury internetowej i usług sieciowych, w tym rejestracji nazw domen, ale nie jest odpowiedzialna za międzynarodowe standardy HTML. Z kolei WYSIWYG, co oznacza 'What You See Is What You Get', to termin odnoszący się do programów edytorskich, które pozwalają na tworzenie treści wizualnych w czasie rzeczywistym, ale nie jest to organizacja ani instytucja zajmująca się standardyzacją języka HTML. W zasadzie WYSIWYG to podejście do edycji treści, a nie struktura organizacyjna. Dlatego żadna z tych odpowiedzi nie odnosi się do kluczowej roli, jaką pełni W3C w kontekście ustalania standardów dla HTML i innych technologii internetowych.

Pytanie 18

Aby zastosować w CSS wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć zapisu

A. p{text-spacing: 30px;}
B. p{text-indent: 30px;}
C. p{line-indent: 30px;}
D. p{line-height: 30px;}
Właściwość 'text-spacing' nie istnieje w standardzie CSS, dlatego odpowiedź ta jest niepoprawna. W CSS nie ma definicji dla 'text-spacing', co oznacza, że nie można jej wykorzystać do modyfikacji odstępów w akapitach. Zamiast tego, do regulacji przestrzeni między znakami i wierszami stosuje się inne właściwości, takie jak 'letter-spacing' czy 'line-height'. Dodatkowo, 'line-height' służy do kontrolowania wysokości linii tekstu, co wpływa na odstęp między poszczególnymi liniami w akapicie, ale nie na wcięcie pierwszej linii. Użycie 'line-height' z wartością 30px nie osiągnie zamierzonego efektu, gdyż wpływa to tylko na wysokość wiersza, a nie na wcięcie. Z kolei 'line-indent' to kolejna fikcyjna właściwość, która nie jest częścią CSS, więc nie można jej używać w żadnym kontekście kodowania CSS. Poprawne formatowanie akapitów wymaga znajomości właściwych technik i terminologii, a użycie nieistniejących właściwości prowadzi do błędów w stylizacji i może negatywnie wpływać na interpretację stylów przez przeglądarki, co w efekcie może obniżyć jakość wyświetlania treści w sieci.

Pytanie 19

Jakie funkcje w języku PHP umożliwiają weryfikację wartości oraz typu zmiennej?

A. var_dump()
B. implode()
C. strlen()
D. readfile()
Pozostałe funkcje, takie jak readfile(), implode() oraz strlen(), nie są przeznaczone do sprawdzania wartości i typu zmiennych w PHP, co czyni je niewłaściwymi odpowiedziami w kontekście postawionego pytania. readfile() służy do odczytu zawartości pliku i wysłania jej bezpośrednio do wyjścia standardowego, co czyni ją narzędziem do pracy z plikami, a nie do analizy zmiennych. Funkcja ta jest wykorzystywana głównie w kontekście serwisów internetowych do generowania plików do ściągnięcia lub wyświetlania ich zawartości, a zatem nie spełnia roli analitycznej. implode() to funkcja, która łączy elementy tablicy w jeden ciąg znaków, co również nie ma związku z oceną typów lub wartości zmiennych. Jej głównym zastosowaniem jest manipulacja danymi tekstowymi, co sprawia, że jest użyteczna w innych kontekstach, ale nie w analizie zmiennych. Z kolei strlen() oblicza długość łańcucha znaków, zwracając liczbę znaków w danym ciągu, co jest użyteczne w kontekście walidacji danych lub ich przetwarzania, ale nie dostarcza informacji o typie czy wartości zmiennej. W tym kontekście każda z tych funkcji ma swoje specyficzne zastosowania, jednak żadna z nich nie jest odpowiednia do bezpośredniego sprawdzania typu oraz wartości zmiennej, co czyni je błędnymi odpowiedziami na postawione pytanie.

Pytanie 20

W języku PHP instrukcja foreach jest rodzajem

A. instrukcji wyboru, dla elementów tablicy
B. pętli, przeznaczonej wyłącznie dla elementów tablicy
C. instrukcji warunkowej, niezależnie od typu zmiennej
D. pętli, niezależnie od rodzaju zmiennej
Trochę mylne jest stwierdzenie, że <i>foreach</i> to pętla, która może działać na każdej zmiennej. W rzeczywistości <i>foreach</i> jest ściśle związana z tablicami. Jak spróbujesz użyć jej na zmiennej, która nie jest tablicą, to dostaniesz błąd. I nie ma co mówić, że <i>foreach</i> to instrukcja warunkowa, bo to też nieprawda. Instrukcje warunkowe, jak <i>if</i>, podejmują decyzje, a <i>foreach</i> jest do tego, żeby iterować. I to, co ktoś napisał o pętli wyboru, też wprowadza w błąd. Pętle jak <i>for</i> czy <i>while</i> powtarzają kod na podstawie warunków, a <i>foreach</i> to po prostu iteracja po elementach tablicy. Tak że tu ważne jest, żeby nie mylić pętli iteracyjnych z warunkowymi oraz rozumieć, gdzie można używać <i>foreach</i>, bo jak się tego nie zrozumie, to mogą być problemy w programowaniu w PHP i można nie wykorzystać dostępnych narzędzi jak trzeba.

Pytanie 21

Poniżej przedstawiono fragment kodu języka HTML. Jest on definicją listy:

<ol>
  <li>punkt 1</li>    <li>punkt 2</li>
  <ul>
    <li>podpunkt1</li>
    <ul>    <li>podpunkt2</li>  <li>podpunkt3</li>  </ul>
  </ul>
  <li>punkt3</li>
</ol>

A.

  1. punkt 1
  2. punkt 2
    • podpunkt1
    • podpunkt2
    • podpunkt3
  3. punkt3

B.

  1. punkt 1
  2. punkt 2
  3. punkt3
    • podpunkt1
    • podpunkt2
    • podpunkt3

C.

  1. punkt 1
  2. punkt 2
    • podpunkt1
      • podpunkt2
      • podpunkt3
  3. punkt3

D.

  • punkt 1
  • punkt 2
    1. podpunkt1
      • podpunkt2
      • podpunkt3
  • punkt3
A. C.
B. D.
C. B.
D. A.
Gratulacje, poprawnie zinterpretowałeś fragment kodu HTML przedstawiający definicję listy. W tym kodzie widzimy listę numerowaną (<ol>), która zawiera trzy elementy listy (<li>). Szczególnością prezentowanej struktury jest fakt, że drugi element listy zawiera zagnieżdżoną listę nieuporządkowaną (<ul>) z trzema podpunktami. Zgodność odpowiedzi C z przedstawionym kodem wynika z faktu, że punkt 2 prezentuje podpunkty oznaczone kropkami, co jest charakterystyczne dla listy nieuporządkowanej. Tego typu struktura jest często stosowana na stronach internetowych do prezentacji hierarchii informacji, na przykład menu nawigacyjnego czy spisu treści. Pamiętaj, że umiejętność czytania i zrozumienia kodu HTML jest kluczowa dla każdego, kto planuje pracować z technologiami webowymi i to pytanie to doskonały przykład na to, jak te umiejętności mogą być sprawdzane.

Pytanie 22

W bazie danych znajduje się tabela o nazwie faktury, która posiada pola: numer, data, id_klienta, wartosc, status. Każdego dnia tworzony jest raport dotyczący faktur z danego dnia. W raporcie prezentowane są jedynie numery oraz wartości faktur. Która z poniższych kwerend SQL jest odpowiednia do wygenerowania tego raportu?

A. SELECT numer, wartosc FROM faktury;
B. SELECT * FROM faktury;
C. SELECT * FROM faktury WHERE data = CURRENT_DATE();
D. SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();
Wybrana kwerenda SQL, SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();, jest poprawna, ponieważ precyzyjnie spełnia wymagania dotyczące generowania raportu faktur dla bieżącego dnia. Kwerenda ta nie tylko wybiera odpowiednie kolumny, czyli 'numer' i 'wartosc', ale także filtruje wyniki, wykorzystując warunek WHERE, który ogranicza dane do tych, które mają datę równą aktualnej dacie. Użycie funkcji CURRENT_DATE() jest standardowym podejściem w SQL do uzyskiwania bieżącej daty, co pozwala na automatyzację raportowania. Praktycznie rzecz biorąc, takie kwerendy są kluczowe w aplikacjach biznesowych, gdzie codzienna analiza danych jest niezbędna, aby podejmować informowane decyzje. Przy tworzeniu raportów warto również zwrócić uwagę na indeksowanie kolumn używanych w filtrach, co może znacznie przyspieszyć czas odpowiedzi zapytania w dużych zbiorach danych. Dobrą praktyką jest również testowanie kwerend na mniejszych zestawach danych przed ich wdrożeniem na żywo, aby upewnić się, że zwracają oczekiwane wyniki.

Pytanie 23

Zastosowanie klauzuli PRIMARY KEY w poleceniu CREATE TABLE sprawi, że dane pole stanie się

A. indeksem klucza
B. kluczem podstawowym
C. indeksem unikalnym
D. kluczem obcym
Niepoprawne odpowiedzi nie odzwierciedlają pełnej definicji klucza podstawowego oraz jego roli w strukturze bazy danych. Klucz obcy to inny typ klucza, który służy do tworzenia relacji między tabelami. Zwykle odwołuje się do kolumny klucza podstawowego w innej tabeli, co pozwala na integrację danych z różnych źródeł. Klucz obcy nie ma wymogu unikalności, co oznacza, że może występować wiele powtórzeń w danej kolumnie. Indeks klucza to termin odnoszący się do mechanizmu, który przyspiesza dostęp do danych w tabeli, ale nie jest tożsamy z kluczem podstawowym. Indeksy mogą być tworzone na różnych kolumnach tabeli, aby optymalizować czas odpowiedzi zapytań, ale nie gwarantują unikalności danych w tych kolumnach. Indeks unikalny to z kolei rodzaj indeksu, który zapewnia, że wartości w danej kolumnie są unikalne, jednak nie pełni on roli klucza głównego, ponieważ nie wymaga braku wartości NULL. W związku z tym, te niepoprawne odpowiedzi mylą pojęcia kluczy i indeksów, co jest istotne dla zrozumienia struktury i integracji danych w relacyjnych bazach danych.

Pytanie 24

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

A. liczby.
B. wartości unikalne.
C. inny typ niż inne kolumny.
D. ciągłe numery.
Kolumna, która pełni rolę klucza głównego w tabeli, powinna mieć unikalne wartości. To takie ważne w projektowaniu baz danych. Klucz główny to coś, co pozwala jasno zidentyfikować każdy rekord w tabeli. Czyli dla każdego wpisu w tej kolumnie musi być jedna, jedyna wartość, która nie powtarza się w innych wierszach. Na przykład w tabeli użytkowników kolumna 'ID' często jest kluczem głównym. Dzięki temu, jak chcemy znaleźć konkretnego użytkownika, to robimy to bez żadnych pomyłek, szukając go za pomocą tego jedynego identyfikatora. W praktyce używanie unikalnych wartości w kluczu głównym jest zgodne z zasadami normalizacji baz danych. To pomaga zredukować zbędne dane i zwiększa ich poprawność. No bo nie ma co ukrywać, unikalność klucza głównego to podstawa skutecznego zarządzania danymi i zapewnia porządek w aplikacjach bazodanowych. To zgodne z najlepszymi praktykami w branży.

Pytanie 25

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetli dane dla konkretnego zestawu informacji z tej tabeli, zawierający tylko te komputery, które mają co najmniej 8 GB pamięci RAM oraz procesor Intel, można wykorzystać zapytanie:

A. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec<8
B. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8
C. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec>=8
D. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec<8
Aby stworzyć kwerendę, która wyświetli wszystkie komputery w tabeli 'komputery', spełniające określone warunki, musimy użyć odpowiednich operatorów logicznych oraz porównań. W tym przypadku chcemy uzyskać sprzęt, którego procesor to 'Intel' oraz pamięć RAM wynosi co najmniej 8 GB. Kluczowym elementem jest tutaj użycie operatora 'AND', który zapewnia, że muszą być spełnione oba warunki jednocześnie. Kwerenda 'SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8;' w pełni odpowiada tym wymaganiom. Operator 'AND' jest istotny, ponieważ bez niego moglibyśmy otrzymać komputery z procesorem Intel, ale z pamięcią RAM mniejszą niż 8 GB, co jest sprzeczne z naszym celem. Tego rodzaju zapytania są powszechne w analizie danych i często wykorzystywane w raportowaniu i wizualizacji danych. Odpowiednia struktura kwerendy zapewnia, że wyniki będą precyzyjne i zgodne z oczekiwaniami użytkowników, co jest kluczowe w zarządzaniu bazami danych oraz w tworzeniu systemów informacyjnych dla sklepów komputerowych.

Pytanie 26

W programowaniu zmienna typu integer jest wykorzystywana do przechowywania

A. liczby rzeczywistej
B. wartości logicznej
C. liczby całkowitej
D. znaku
Wybór innego typu zmiennych zamiast integer to nie jest najlepsza decyzja z kilku powodów. Na przykład, typ char, który jest używany do przechowywania pojedynczych znaków, nie nadaje się do liczb całkowitych. Char zazwyczaj zajmuje 1 bajt pamięci i może pokrywać 256 różnych wartości, więc nie będzie to dobre dla liczb. Z kolei boolean, który reprezentuje prawdę lub fałsz, w ogóle nie nadaje się do liczenia, bo jego rola to przede wszystkim kontrola przepływu w programie. Zmienne float i double, które zajmują się liczbami rzeczywistymi, mogą mieć część dziesiętną, ale działają na innej zasadzie i mogą być mniej precyzyjne. Liczby zmiennoprzecinkowe są bardziej złożone, co sprawia, że są mniej wydajne w prostych obliczeniach. Dlatego używanie tych innych typów do pracy z liczbami całkowitymi jest po prostu nieefektywne i mija się z celem.

Pytanie 27

Skrypt strony internetowej stworzony w PHP

A. jest realizowany po stronie serwera
B. może być uruchomiony bez wsparcia serwera WWW
C. jest realizowany po stronie klienta
D. jest przetwarzany na tych samych zasadach co JavaScript
Wybór niewłaściwych odpowiedzi wskazuje na pewne nieporozumienia dotyczące architektury aplikacji internetowych. Istotne jest, że kod PHP jest przetwarzany na serwerze, a nie po stronie klienta. Odpowiedzi, które wskazują na wykonanie kodu po stronie klienta, mylą koncepcję PHP z językami, takimi jak JavaScript, które rzeczywiście działają w przeglądarkach użytkowników. PHP generuje HTML, CSS, oraz inne zasoby, które są następnie przesyłane do klienta, ale sam kod PHP nie jest bezpośrednio wykonywany w przeglądarkach. Kolejnym błędnym założeniem jest myślenie, że PHP może być uruchomione bez obsługi serwera WWW. PHP wymaga serwera, takiego jak Apache czy Nginx, aby móc interpretować skrypty i odpowiadać na żądania HTTP. W przypadku pracy lokalnej programiści często korzystają z narzędzi takich jak XAMPP czy MAMP, które symulują środowisko serwera. Ostatnia niewłaściwa odpowiedź sugeruje, że PHP jest przetwarzane na tych samych zasadach co JavaScript. Choć oba języki są kluczowe w rozwijaniu aplikacji webowych, różnią się one istotnie zachowaniem i miejscem wykonywania kodu. JavaScript działa po stronie klienta, co pozwala na interakcję z użytkownikiem bez konieczności ponownego ładowania strony, podczas gdy PHP jest odpowiedzialne za przetwarzanie danych na serwerze i generowanie odpowiedzi, które są następnie przesyłane do klienta.

Pytanie 28

W języku HTML, aby uzyskać następujący efekt formatowania, należy zapisać kod:

pogrubiony pochylony lub w górnym indeksie

A. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
B. <b>pogrubiony <i>pochylony</i></b> lub w <sub>górnym indeksie</sub>
C. <i>pogrubiony </i><b>pochylony</b> lub w <sub>górnym indeksie</sub>
D. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
Poprawna odpowiedź to: <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>. Ta odpowiedź prawidłowo wykorzystuje trzy kluczowe tagi HTML do formatowania tekstu: <b>, <i> i <sup>. Tag <b> służy do wyświetlania tekstu w pogrubionym formacie, co pozwala na podkreślenie istotnych fragmentów tekstu. Przykładem może być wyróżnienie tytułów, nagłówków lub kluczowych punktów w treści. Tag <i> jest używany do wyświetlania tekstu w formacie kursywy, co jest często używane do wyróżnienia tytułów książek, filmów, cytowań lub podkreślenia ważnych punktów. Tag <sup> jest używany do wyświetlania napisów jako tekst górnego indeksu, co jest często używane do wskazania numerów stron, przypisów, lub dla oznaczeń matematycznych lub naukowych. Pamiętaj, że prawidłowe użycie tych tagów jest kluczowe dla tworzenia jasnej, czytelnej i profesjonalnie wyglądającej strony internetowej.

Pytanie 29

Język JavaScript wspiera

A. wysyłanie ciasteczek z identycznymi informacjami do wielu klientów witryny
B. klasy abstrakcyjne
C. obiekty DOM
D. funkcje wirtualne
Wybór klas abstrakcyjnych jako odpowiedzi na pytanie o możliwości JavaScript opiera się na mylnym przekonaniu o paradygmacie programowania obiektowego. W przeciwieństwie do języków takich jak Java, JavaScript nie wspiera klasycznych klas abstrakcyjnych. W JavaScript mamy do czynienia z prototypowym dziedziczeniem, a nie z hierarchicznymi klasami. Obiekty mogą być tworzone na podstawie prototypów, co oznacza, że nie ma potrzeby korzystania z klas abstrakcyjnych. W kontekście funkcji wirtualnych, również istnieje nieporozumienie. JavaScript nie używa tego pojęcia, ponieważ mechanizm dziedziczenia oparty na prototypach nie wymaga takiej funkcjonalności. Ponadto, odpowiedzi dotyczące wysyłania ciastek do wielu klientów są mylące, ponieważ ciasteczka są przypisane do domeny i nie istnieje możliwość ich wysyłania do wielu klientów na raz. Ciasteczka są przesyłane w nagłówkach HTTP, a ich działanie opiera się na współpracy między klientem a serwerem. Te błędne założenia mogą prowadzić do przekłamań w projektowaniu aplikacji webowych, gdzie zrozumienie podstawowych mechanizmów JavaScript oraz ich właściwości jest kluczowe dla efektywnego i wydajnego tworzenia stron internetowych. Zrozumienie różnic między podejściami obiektowymi w różnych językach jest istotne dla programistów, aby uniknąć pułapek myślowych oraz błędnych kierunków w kodowaniu.

Pytanie 30

Podczas definiowania pola id w tabeli MySQL użyto AUTO_INCREMENT. Co to oznacza?

id int NOT NULL AUTO_INCREMENT
A. pole id może przyjmować takie wartości jak: NULL, 1, 2, 3, 4 i tak dalej
B. wartości dla tego pola będą generowane automatycznie przy dodawaniu nowego rekordu do bazy
C. wartość pola id zostanie nadana automatycznie przez bazę i będzie to losowo wygenerowana liczba całkowita
D. możliwe jest dodanie rekordu z dowolną wartością pola id
Pole z definicją AUTO_INCREMENT w MySQL oznacza że podczas dodawania nowego rekordu do tabeli wartość tego pola jest automatycznie zwiększana najczęściej o jeden począwszy od wartości startowej. To zachowanie jest szczególnie przydatne w przypadku kluczy głównych gdzie unikalność jest wymagana. Jeśli mamy tabelę użytkowników i chcemy przypisać każdemu unikalny identyfikator możemy użyć AUTO_INCREMENT na kolumnie id. W ten sposób baza danych sama zadba o to by każda nowa wartość id była większa od poprzedniej co zapewnia automatyczne nadawanie kolejnych niepowtarzalnych wartości. Taka funkcjonalność jest zgodna z praktykami tworzenia baz danych i ułatwia zarządzanie danymi oraz ich integralność. Jest to również optymalizacja pod kątem wydajności ponieważ pozwala na szybkie dodawanie rekordów bez potrzeby ręcznego określania wartości klucza głównego. Dodatkowo zapewnia uporządkowane numerowanie rekordów co jest korzystne przy analizach i raportowaniu

Pytanie 31

W języku CSS atrybut font-size przyjmuje, zgodnie z nazwami, wartości

A. zaledwie big oraz small
B. z zestawu xx-small, x-small, medium, large, x-large, xx-large
C. wyłącznie small, medium, large
D. jedynie small, smaller, large, larger
W kontekście właściwości font-size w CSS, niektóre odpowiedzi zawierają błędne założenia, które mogą prowadzić do niepełnego zrozumienia możliwości tej właściwości. Warto zauważyć, że ograniczenie się jedynie do wartości small, smaller, large i larger ignoruje szerszy zestaw dostępnych opcji, które są kluczowe dla dokładnego dostosowania rozmiaru tekstu. Wartości takie jak medium, small, and large są jedynie częścią zdefiniowanego standardu, który obejmuje również bardziej szczegółowe rozmiary, takie jak xx-small, x-small, x-large oraz xx-large. Użytkownicy często mylą pojęcia związane z nazwami wartości, co prowadzi do mniejszych możliwości stylizacji. Przykładem jest niewłaściwe skupienie się na biedniejszych zasobach słownych, takich jak big i small, które nie są standardowymi wartościami CSS. Taki błąd myślowy ogranicza możliwość pełnego wykorzystania CSS, co jest kluczowe dla tworzenia nowoczesnych, responsywnych stron internetowych. W praktyce, pełne zrozumienie i umiejętność wykorzystania wszystkich dostępnych wartości w CSS nie tylko ułatwia pracę nad projektem, ale również przyczynia się do lepszej dostępności i doświadczeń użytkowników. Zastosowanie poprawnych terminów i wartości jest niezbędne, aby zachować profesjonalizm w projektowaniu stron.

Pytanie 32

Która z poniższych grup znaczników HTML zawiera tagi używane do grupowania elementów oraz organizacji struktury dokumentu?

A. span, strong, em
B. div, article, header
C. table, tr, td
D. br, img, hr
Odpowiedź z <div>, <article> i <header> jest naprawdę trafna. Te znaczniki HTML są super ważne, bo pomagają w sensownym grupowaniu treści. <div> to taki uniwersalny kontener, który świetnie nadaje się do organizowania elementów, a zwłaszcza przy stylach CSS. Można nim łatwo zarządzać całymi sekcjami, co jest spoko. <article> z kolei to coś jak kawałek treści, który może działać samodzielnie, na przykład artykuł czy post na blogu. A <header>? On zdefiniuje nagłówki dla różnych sekcji, co ułatwia nawigację po stronie. To nie tylko pomaga użytkownikom, ale też robotom indeksującym. Fajnie też pamiętać, że korzystając z odpowiednich znaczników, nie tylko sprawiamy, że strona jest bardziej dostępna, ale też poprawiamy SEO, co jest kluczowe, żeby nasza witryna była widoczna w sieci.

Pytanie 33

W języku CSS określono styl dla pola edycyjnego. Pole to będzie miało jasnozielony kolor tła, gdy będzie w trybie edycji.

A. gdy będzie na nie najechane kursorem bez kliknięcia.
B. po naciśnięciu na nie myszką w celu wpisania tekstu.
C. w każdej sytuacji.
D. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie.
Odpowiedź "po kliknięciu myszą w celu zapisania w nim tekstu" jest prawidłowa, ponieważ reguła CSS <pre>input:focus { background-color: LightGreen; }</pre> odnosi się do stanu "focus" elementu formularza, który występuje, gdy pole edycyjne jest aktywne. To znaczy, że użytkownik musi kliknąć na pole, aby je aktywować, co pozwala na wprowadzenie danych. W momencie, gdy pole ma stan "focus", jego tło zmienia się na jasnozielone, co jest pomocne dla użytkowników, aby zidentyfikować, które pole aktualnie edytują. To zachowanie jest zgodne z dobrymi praktykami projektowania interfejsów użytkownika, które promują klarowność i intuicyjność. Dzięki zastosowaniu kolorów i wizualnych wskazówek, użytkownicy mogą łatwiej poruszać się po formularzach, co zwiększa ich efektywność. Ponadto, stosowanie takich reguł CSS jest zgodne z zaleceniami WCAG (Web Content Accessibility Guidelines), które składają się z wytycznych dotyczących dostępności treści internetowych, co sprawia, że aplikacje są bardziej przyjazne dla użytkowników z różnymi potrzebami.

Pytanie 34

W relacyjnym modelu baz danych, termin krotka odnosi się do

A. wszystkich wierszy tabeli łącznie z wierszem nagłówkowym
B. wierszy tabeli, z wyjątkiem wiersza nagłówkowego, w którym znajdują się nazwy kolumn
C. liczby rekordów w danej tabeli
D. wszystkich kolumn tabeli, które zawierają atrybuty danego obiektu
Pierwsza z niepoprawnych odpowiedzi sugeruje, że krotki to liczba rekordów tabeli. Jednak w rzeczywistości krotki są pojedynczymi wierszami zawierającymi zbiory atrybutów, a nie ich ilość. Liczba rekordów, czyli krotek, jest zmienną miarą, która jest istotna dla analizy danych, ale sama w sobie nie definiuje krotek. Kolejna odpowiedź zakłada, że krotki obejmują wszystkie wiersze tabeli wraz z wierszem nagłówkowym. Wiersz nagłówkowy, który zawiera nazwy kolumn, nie jest częścią krotek, ponieważ krotki reprezentują tylko dane użytkownika. W związku z tym, takie ujęcie błędnie interpretuje strukturę danych w tabeli. Ostatnia niepoprawna odpowiedź sugeruje, że krotki to wszystkie kolumny tabeli zawierające atrybuty obiektu. Kolumny definiują atrybuty i zapewniają strukturę dla danych, ale same w sobie nie są krotkami. Krotka odnosi się do konkretnego zestawu wartości atrybutów w jednym wierszu, a nie do ich zbioru jako całości. Te nieścisłości odzwierciedlają fundamentalne różnice między strukturą relacyjnych baz danych a ich interpretacją w kontekście pojedynczych rekordów.

Pytanie 35

Która z poniższych funkcji w języku PHP zmieni słowo „kota” na „mysz” w zdaniu „ala ma kota”?

A. str_replace("ala ma kota", "kota", "mysz");
B. replace("kota", "mysz", "ala ma kota");
C. str_replace( "kota", "mysz", "ala ma kota");
D. replace("ala ma kota", "kota", "mysz");
Funkcja str_replace w języku PHP jest odpowiedzialna za zamianę określonych ciągów znaków w danym tekście. W poprawnej odpowiedzi użyto jej w sposób zgodny z jej syntaksą, co jest kluczowe dla prawidłowego działania w tym kontekście. W przypadku str_replace, pierwszy argument to ciąg znaków, który chcemy zamienić, drugi argument to nowy ciąg, który ma zastąpić stary, a trzeci argument to tekst, w którym dokonujemy zamiany. W przedstawionym przykładzie, zamieniamy słowo 'kota' na 'mysz' w napisie 'ala ma kota', co skutkuje wynikiem 'ala ma mysz'. Tego rodzaju operacje są powszechnie stosowane w programowaniu webowym, szczególnie przy dynamicznym generowaniu treści, gdzie konieczne jest modyfikowanie tekstu na podstawie danych użytkownika lub baz danych. Warto również zwrócić uwagę na to, że stosowanie str_replace zgodnie z dokumentacją PHP jest standardem, który pozwala na uniknięcie wielu błędów związanych z manipulacją tekstem.

Pytanie 36

Jak nazywa się metoda dodawania arkusza stylów do dokumentu HTML zastosowana w poniższym kodzie?

<p style="color: red;">tekst paragrafu</p>
A. Styl zewnętrzny
B. Styl wewnętrzny
C. Styl wpisany, lokalny
D. Styl alternatywny, zewnętrzny
Podczas analizy alternatywnych metod dołączania arkuszy stylów do HTML, warto skupić się na ich kontekście i funkcjonalności. Styl alternatywny, zewnętrzny, najczęściej odnosi się do zewnętrznych plików CSS, które są dołączane do dokumentu HTML przy użyciu tagu <link>. Jest to podejście, które pozwala na centralne zarządzanie stylami dla całej strony, co zwiększa modularność i ułatwia aktualizacje. Styl wewnętrzny to metoda, w której style są umieszczane w sekcji <style> w nagłówku dokumentu. Chociaż oba te podejścia mają swoje zastosowania, ich niepoprawne zrozumienie może prowadzić do chaosu w kodzie. Styl wpisany, lokalny, z kolei, jest odpowiedni tylko dla niewielkich, jednorazowych stylizacji. W przypadku bardziej złożonych projektów, poleganie na stylach wpisanych może prowadzić do problemów z zarządzaniem i duplikacją kodu. Użytkownicy mogą mylić styl wpisany z innymi metodami, co może wynikać z braku wiedzy na temat ich zastosowań. Kluczowym błędem jest utożsamianie lokalnych stylów z bardziej uniwersalnymi rozwiązaniami, co w dłuższej perspektywie może prowadzić do trudności w utrzymaniu i aktualizacji projektów. Teoretyczne podejście do stylizacji w HTML wymaga zrozumienia, że różne metody mają swoje miejsce i zastosowanie, a ich wybór powinien być uzależniony od specyfiki projektu.

Pytanie 37

W utworzonej tabeli pole należące do typu BLOB służy do składowania

A. danych binarnych o dużych rozmiarach, takich jak grafika
B. liczb całkowitych, które przekraczają zakres typu INT
C. danych logicznych takich jak true
D. łańcuchów znaków o nieokreślonej długości
Wydaje się, że odpowiedzi dotyczące danych logicznych, łańcuchów znaków czy liczb całkowitych nie są zgodne z przeznaczeniem pola BLOB. Dane logiczne, takie jak 'true' lub 'false', są zazwyczaj przechowywane w typach danych, takich jak BOOLEAN, które są zoptymalizowane do zarządzania wartościami binarnymi, ale nie są odpowiednie dla dużych obiektów binarnych. Z kolei łańcuchy znaków nieokreślonej długości są lepiej przechowywane w typach VARCHAR lub TEXT, które są zoptymalizowane do zarządzania tekstem, a nie danymi binarnymi. Liczby całkowite, które przekraczają zakres typu INT, powinny być przechowywane jako BIGINT, co jest bardziej odpowiednie do zarządzania dużymi liczbami całkowitymi, a nie BLOB. Właściwe zrozumienie typów danych i ich zastosowań jest kluczowe w projektowaniu efektywnych baz danych. Stosowanie niewłaściwych typów danych może prowadzić do nieefektywności, zwiększonego zużycia pamięci, a także problemów z wydajnością w aplikacjach korzystających z tych baz danych. Dlatego ważne jest, aby każdorazowo dobierać odpowiedni typ danych zgodnie z jego specyfiką i przeznaczeniem.

Pytanie 38

W PHP zmienna $_GET stanowi zmienną

A. utworzoną przez autora strony, przeznaczoną do przesyłania danych z formularza przez adres URL
B. predefiniowaną, służącą do przesyłania informacji do skryptów PHP przez adres URL
C. predefiniowaną, wykorzystywaną do zbierania danych formularza po nagłówkach żądania HTTP (informacje z formularza nie są widoczne w URL)
D. zwykłą, utworzoną przez autora strony
Odpowiedzi, które wskazują na to, że zmienna $_GET jest zwykłą zmienną lub jest definiowana przez twórcę strony, są nieprawidłowe. $_GET jest superglobalną tablicą, co oznacza, że jej dostępność jest zapewniona w całym skrypcie bez potrzeby wcześniejszego deklarowania. Zrozumienie różnicy między zmiennymi predefiniowanymi a tymi zdefiniowanymi przez użytkownika jest kluczowe dla właściwego zarządzania danymi w PHP. Ponadto, odpowiedzi sugerujące, że $_GET służy do gromadzenia wartości formularza po nagłówkach zlecenia HTTP, mylą metodę GET z metodą POST. W przeciwieństwie do POST, dane przesyłane za pomocą GET są widoczne w adresie URL, co czyni je mniej bezpiecznymi dla wrażliwych danych. Mówiąc o formularzach, $_GET jest jedynie jedną z metod przesyłania danych, obok $_POST i $_REQUEST, z których każda ma swoje specyficzne zastosowania i ograniczenia. Generalnie, korzystanie z $_GET jest odpowiednie do przesyłania niewielkich ilości danych, takich jak parametry zapytań, ale należy być świadomym, że wykorzystywanie tej metody z danymi wrażliwymi jest ryzykowne i należy unikać tego podejścia w praktyce. Dbając o bezpieczeństwo aplikacji, warto zrozumieć te różnice i stosować się do dobrych praktyk dotyczących przetwarzania danych wejściowych.

Pytanie 39

Który z poniższych kodów HTML spowoduje taki sam efekt formatowania jak na zaprezentowanym rysunku?

Ilustracja do pytania
A. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania </i> tekstu w HTML</p>
B. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
C. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
D. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>
W błędnych odpowiedziach chodzi głównie o to, że znaczników HTML używasz niepoprawnie, przez co efekt wygląda inaczej niż na obrazku. Tag <i> ma być do kursywy, a <b> do pogrubienia. Trzeba zrozumieć, jak te znaczniki współdziałają, żeby uzyskać zamierzony efekt. Często ludzie mylą kolejność lub używają tylko jednego z nich, co psuje całe formatowanie. No i nie zapominaj, że czasem może być trudno zrozumieć, jak znacznik w HTML wpływa na inne. Każdy z nich ma swoją rolę, więc warto wiedzieć, co robi. W kontekście semantycznego HTML, dobrze jest używać odpowiednich znaczników nie tylko dla stylu, ale też dla poprawnej struktury. Chociaż najlepiej jest używać CSS do rozdzielenia stylów od treści, to w niektórych przypadkach, tak jak w tym, proste znaczniki HTML też mają swoje miejsce. Wiedza o tym, jak poprawnie używać znaczników, jest niezbędna do budowania ładnych i uporządkowanych stron oraz aplikacji internetowych.

Pytanie 40

W PHP typ float oznacza

A. łańcuchowy
B. logiczny
C. całkowity
D. zmiennoprzecinkowy
Typ float w PHP to coś, co przydaje się do przechowywania liczb zmiennoprzecinkowych, a więc do liczb, które mają część dziesiętną. To naprawdę ważne, zwłaszcza jak robimy obliczenia związane z finansami czy nauką. Dzięki float możemy dokładnie przedstawić liczby rzeczywiste, co w programowaniu jest kluczowe. Te wartości są zgodne ze standardem IEEE 754, co oznacza, że można je przenosić między różnymi systemami i platformami bez problemów. Jeżeli chcesz np. obliczyć cenę z VAT-em albo policzyć coś w grze, to float jest najlepszym typem, bo pozwala na robienie precyzyjnych obliczeń z ułamkami. W PHP masz też funkcje jak round() czy number_format(), które pomagają w manipulacji tymi liczbami, co jest super przy prezentacji wyników, żeby ładnie wyglądały.