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: 1 maja 2026 08:51
  • Data zakończenia: 1 maja 2026 09:09

Egzamin zdany!

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

Które z pól edycyjnych zostało przedstawione w opisanym stylu, zakładając, że pozostałe atrybuty pola mają wartości domyślne, a użytkownik wpisał imię Krzysztof w przeglądarce?

Ilustracja do pytania
A. Pole 4
B. Pole 1
C. Pole 3
D. Pole 2
Dobrze, że dopasowałeś Pole 2 do stylu z kodu CSS. Widać, że dobrze ogarniasz te rzeczy! Ten padding 10px, co dałeś, naprawdę robi różnicę. Dzięki temu tekst ma więcej przestrzeni wokół siebie. A kolor tła Teal? Super wybór, bo to taki fajny pośredni odcień między niebieskim a zielonym. Biały tekst na tym tle jest świetnie widoczny, co jest mega ważne. No i brak obramowania, czyli border none, dodaje nowoczesności! Zaokrąglenie krawędzi, które ustawiłeś na 7px, sprawia, że pole wygląda przyjemniej. Takie rzeczy są często stosowane, by przygotować interfejsy, które są estetyczne i funkcjonalne. Jak projektujesz, pamiętaj o kontrastach, bo to naprawdę podnosi jakość aplikacji. Troska o estetykę i użyteczność to kluczowa sprawa. Dobra robota!

Pytanie 2

Który z znaczników ma na celu organizację struktury tekstu w HTML?

A. <head>
B. <style>
C. <h6>
D. <u>
Znacznik <h6> jest jednym z sześciu poziomów nagłówków w HTML, które służą do tworzenia hierarchii tekstu w dokumentach internetowych. Użycie nagłówków, takich jak <h1> do <h6>, jest zgodne z zasadami semantycznego HTML, co ma kluczowe znaczenie dla dostępności i SEO. Poprawne użycie tych znaczników pozwala wyszukiwarkom lepiej zrozumieć strukturę treści na stronie, a także ułatwia nawigację osobom korzystającym z technologii asystujących. Na przykład, <h1> powinien być używany dla głównego tytułu strony, a <h2>, <h3> itd. do podtytułów w hierarchii, gdzie <h6> jest najmniej istotnym nagłówkiem. Dzięki temu każdy nagłówek odzwierciedla poziom ważności treści, co zwiększa przejrzystość i użyteczność strony. Dobrą praktyką jest również ograniczenie liczby nagłówków na stronie, aby uniknąć zamieszania w strukturze. Właściwe stosowanie znaczników nagłówków jest istotne nie tylko z punktu widzenia organizacji treści, ale również wpływa na wydajność SEO, ponieważ wyszukiwarki preferują strony o klarownej hierarchii i dobrze zorganizowanej treści.

Pytanie 3

W JavaScript wynik operacji przyjmuje wartość NaN, jeśli skrypt próbował wykonać

A. funkcję sprawdzającą długość napisu, a zawartość zmiennej była liczbą
B. operację arytmetyczną, a zmienna miała postać napisu
C. funkcję parseFloat zamiast parseInt na zmiennej typu liczbowego
D. operację arytmetyczną na dwóch zmiennych liczbowych dodatnich
W JavaScript, wartość NaN (Not-a-Number) jest wynikiem, który pojawia się, gdy operacja arytmetyczna nie może zostać wykonana z powodu nieprawidłowego typu danych. Gdy skrypt próbuje wykonać operacje matematyczne na zmiennej, która jest napisem (string), a nie liczbą, wynikiem jest NaN. Na przykład, wyrażenie '5' + 5 zwróci '55', ponieważ operator '+' w tym przypadku działa jako konkatenacja napisów. Jeżeli jednak spróbujemy wykonać operację, taką jak 'a' * 2, wówczas wynikiem będzie NaN, ponieważ nie można pomnożyć napisu przez liczbę. Zgodnie ze standardem ECMAScript, NaN jest jedyną wartością, która nie jest równa samej sobie, co można sprawdzić za pomocą metody isNaN(). W praktyce, aby uniknąć tego problemu, programiści często stosują funkcje konwertujące, takie jak parseFloat() i parseInt(), aby upewnić się, że operacje są wykonywane na liczbach. Przykładowo, parseFloat('3.14') zwróci 3.14, co umożliwia poprawne przeprowadzenie działań matematycznych.

Pytanie 4

Przedstawiona ikona funkcji edytora grafiki rastrowej o nazwie "różdżka" umożliwia

Ilustracja do pytania
A. pobranie wskazanego koloru i ustawienie go jako aktywny.
B. odręczne zaznaczanie obszarów przez przeciąganie po nich kursora.
C. zaznaczenie obszaru na podstawie koloru.
D. wybiórcze rozsmarowywanie koloru za pomocą pędzla.
Niestety, wybrane odpowiedzi nie są prawidłowe. Narzędzie 'różdżka' w edytorze grafiki rastrowej, nie służy do pobierania wskazanego koloru i ustawienia go jako aktywny. Ta funkcja jest zazwyczaj realizowana przez narzędzie 'pipeta'. Różdżka również nie służy do wybiórczego rozsmarowywania koloru za pomocą pędzla - tę funkcję pełni narzędzie 'pędzel' lub 'rozmycie'. Odręczne zaznaczanie obszarów przez przeciąganie po nich kursora jest możliwe, ale nie jest to główne zadanie narzędzia 'różdżka', które służy do automatycznego zaznaczania obszarów na podstawie koloru. Niepoprawne odpowiedzi mogły wynikać z niezrozumienia specyfiki pracy z edytorem grafiki rastrowej, oraz z niewłaściwego zrozumienia funkcji poszczególnych narzędzi. Kluczowe dla poprawnej odpowiedzi było zrozumienie, że różdżka jest narzędziem do automatycznego zaznaczania obszarów o podobnym kolorze, co znacznie ułatwia pracę, szczególnie przy edycji skomplikowanych kształtów czy dużych obszarów o podobnej barwie.

Pytanie 5

Który zapis CSS wprowadzi niebieskie tło dla bloku?

A. div {shadow: blue;}
B. div {background-color: blue;}
C. div {border-color: blue;}
D. div {color: blue;}
Odpowiedź div {background-color: blue;} jest poprawna, ponieważ wykorzystuje właściwość CSS 'background-color', która służy do definiowania koloru tła elementu. Wartość 'blue' jest jedną z predefiniowanych nazw kolorów w CSS, co sprawia, że zapis jest czytelny i łatwy do zrozumienia dla każdego, kto pracuje z tą technologią. Przykładowo, jeżeli chcemy zmienić tło sekcji na naszej stronie internetowej na niebieskie, możemy użyć tego zapisu w pliku CSS lub w sekcji stylów na stronie. Dobrym podejściem w projektowaniu stron jest korzystanie z jednoznacznych nazw kolorów, co poprawia czytelność kodu. Warto również zaznaczyć, że CSS pozwala na użycie różnych formatów kolorów, takich jak RGB, HEX czy HSL, co zwiększa elastyczność w doborze odcieni. Ważne jest, aby przestrzegać standardów dostępności, co oznacza, że kolor tła powinien kontrastować z kolorem tekstu, aby zapewnić dobrą widoczność i dostępność dla wszystkich użytkowników.

Pytanie 6

W języku JavaScript poniższy fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
  wynik += tab[i];
}
A. obliczyć sumę wszystkich elementów tablicy
B. wprowadzić do każdego elementu tablicy bieżącą wartość zmiennej i
C. dodać do każdego elementu tablicy ustaloną wartość
D. wyświetlić wszystkie elementy tablicy
Funkcja w podanym fragmencie rzeczywiście ma na celu policzenie sumy wszystkich elementów tablicy. Przy inicjalizacji zmiennej 'wynik' na 0, kod iteruje przez każdy element tablicy 'tab' przy użyciu pętli for. W każdej iteracji do 'wynik' dodawana jest wartość bieżącego elementu tablicy, co prowadzi do skumulowania wszystkich wartości. Tego typu operacje są powszechnie stosowane w programowaniu, szczególnie w analizie danych, gdzie często zachodzi potrzeba obliczenia sumy, średniej lub innych statystyk na podstawie zebranych danych. Ważne jest również, aby pamiętać o typach danych w JavaScript – elementy tablicy powinny być liczbami, aby suma była poprawna. Zastosowanie tej techniki jest standardem w wielu algorytmach i jest fundamentalne dla zrozumienia bardziej zaawansowanych koncepcji, jak np. funkcje redukujące.

Pytanie 7

W języku PHP, po wykonaniu poniższego fragmentu kodu, w zmiennej o nazwie Nowy_Napis uzyskamy

Ilustracja do pytania
A. ZaWszE
B. ZAWSZE SPRAWDZ SWOJ KOD
C. zawsze sprawdz swoj kod
D. zAwSZe sPrAwDz SWOJ kOd
Funkcja strtolower w PHP służy do konwersji ciągu znaków na małe litery. W podanym przykładzie zmienna Napis zawiera wartość ZaWsze SpRaWdZ swoj KoD, która jest mieszanką wielkich i małych liter. Po zastosowaniu funkcji strtolower do tej zmiennej, wynikowy ciąg zostaje przetworzony tak, że wszystkie litery są zamieniane na małe. Dlatego w zmiennej Nowy_Napis znajdzie się tekst zawsze sprawdz swoj kod. Użycie strtolower jest częste, gdy chcemy ujednolicić dane tekstowe, np. porównując adresy email czy nazwy użytkowników, aby uniknąć rozróżnienia wielkości liter. Jest to zgodne z dobrą praktyką programistyczną, która polega na zapewnieniu spójności danych poprzez ich normalizację. W kontekście aplikacji webowych często stosuje się tę funkcję do przetwarzania danych wejściowych od użytkowników, aby uzyskać jednolite formatowanie i uniknąć potencjalnych błędów przy wyszukiwaniu lub porównywaniu danych. Praktyczne zastosowanie tej funkcji ułatwia zarządzanie danymi i upraszcza logikę biznesową aplikacji.

Pytanie 8

Została stworzona baza danych z tabelą podzespoły, która zawiera pola: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowanych od najniższej do najwyższej ceny, należałoby użyć kwerendy:

A. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC
B. SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoły ASC
C. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC
D. SELECT model FROM podzespoły WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC
Wybrana kwerenda jest poprawna, ponieważ dokładnie spełnia wymagania zadania. Użycie klauzuli SELECT do wyboru pola 'model' z tabeli 'podzespoły' pozwala na uzyskanie właściwych informacji. Warunek WHERE ogranicza wyniki do tych, które dotyczą pamięci RAM (typ='RAM') oraz producenta Kingston (producent='Kingston'). Kluczowym elementem tej kwerendy jest zastosowanie ORDER BY cena ASC, które sortuje wyniki według ceny w porządku rosnącym, co jest zgodne z wymaganiem wyświetlenia modeli od najtańszej do najdroższej. Przykłady zastosowania takiej kwerendy mogą obejmować systemy zarządzania zapasami, gdzie klienci poszukują najlepszych ofert, czy aplikacje e-commerce, które chcą dostarczyć użytkownikom najbardziej korzystne opcje zakupowe. Stosowanie jasnych i precyzyjnych kwerend SQL, według dobrych praktyk branżowych, jest kluczowe dla wydajności i przejrzystości danych.

Pytanie 9

W PHP w konstrukcji switch konieczne jest użycie

A. przynajmniej dwóch instrukcji case
B. instrukcji default
C. instrukcji break po każdym przypadku case
D. konstrukcji switch(wyrażenie)
Poprawna odpowiedź to konstrukcja switch(wyrażenie), ponieważ jest to podstawowy element składniowy w języku PHP. Instrukcja switch jest używana do porównywania wartości wyrażenia z różnymi wartościami case. W przypadku znalezienia dopasowania, wykonywana jest odpowiednia sekcja kodu. Ważne jest, aby zrozumieć, że samo utworzenie konstrukcji switch bez podania wyrażenia nie ma sensu, ponieważ nie istnieje wartość, którą można porównać. Przykład zastosowania konstrukcji switch może wyglądać następująco: switch($day) { case 'Monday': echo 'Poniedziałek'; break; case 'Tuesday': echo 'Wtorek'; break; default: echo 'Inny dzień'; }. Użycie instrukcji default jest opcjonalne, a także nie jest konieczne posiadanie przynajmniej dwóch case, aby konstrukcja była poprawna. Zastosowanie switch jest często bardziej czytelne i zorganizowane niż wiele zagnieżdżonych instrukcji if-else, co jest zgodne z najlepszymi praktykami programistycznymi, poprawiającymi zarówno zrozumiałość, jak i konserwację kodu.

Pytanie 10

Co uzyskujemy po wykonaniu zapytania SQL?

Ilustracja do pytania
A. suma ocen uczniów, których średnia ocen wynosi 5
B. liczbę uczniów, których średnia ocen wynosi 5
C. średnią wszystkich ocen uczniów
D. całkowitą liczbę uczniów
Zapytanie SQL SELECT count(*) FROM Uczniowie WHERE srednia = 5; wykorzystuje funkcję agregującą count(*), która służy do zliczania liczby wierszy spełniających określone warunki. W tym przypadku warunkiem jest srednia = 5 co oznacza że zapytanie zlicza wszystkich uczniów których średnia ocen wynosi dokładnie 5. Jest to powszechna praktyka w analizie danych gdzie często potrzebujemy określić liczebność pewnych grup danych na przykład aby przeanalizować ich rozkład lub porównać je z innymi grupami. W profesjonalnej bazie danych zliczanie wierszy na podstawie kryteriów jest standardem co umożliwia generowanie raportów i podejmowanie decyzji na podstawie danych. Użycie count(*) bez dodatkowych parametrów jest zgodne z dobrymi praktykami ponieważ jest wydajne i łatwe w interpretacji. W praktyce stosowanie tego typu zapytań jest nieodzowne w działach analizy danych zarządzania relacjami z klientami czy w edukacji gdzie analizujemy wyniki uczniów.

Pytanie 11

Język JavaScript wspiera

A. klasy abstrakcyjne
B. wysyłanie ciasteczek z identycznymi informacjami do wielu klientów witryny
C. obiekty DOM
D. funkcje wirtualne
JavaScript to język skryptowy, który ma wbudowaną obsługę obiektowego modelu dokumentu (DOM), co umożliwia dynamiczne manipulowanie strukturą HTML oraz CSS stron internetowych. Dzięki DOM programiści mogą dodawać, usuwać lub modyfikować elementy na stronie w czasie rzeczywistym, co czyni aplikacje bardziej interaktywnymi. Przykładem może być zmiana tekstu przycisku po jego kliknięciu, co można osiągnąć dzięki metodom takim jak `getElementById` oraz `innerHTML`. JavaScript jest nieodłącznym elementem nowoczesnego podejścia do tworzenia aplikacji webowych, a jego kompatybilność z DOM sprawia, że jest to kluczowa umiejętność dla programistów. Wiedza na temat manipulacji DOM jest fundamentem dla technologii takich jak React czy Angular, które opierają się na zasadach wydajnego zarządzania interfejsem użytkownika przez wirtualny DOM. Współczesne standardy, takie jak ECMAScript, rozwijają możliwości JavaScript, a znajomość DOM jest niezwykle cenna na rynku pracy.

Pytanie 12

Zaprezentowano rezultat zastosowania CSS oraz odpowiadający mu kod HTML. W jaki sposób trzeba zdefiniować styl, aby uzyskać takie formatowanie?

Ilustracja do pytania
A. .first-letter { font-size: 400%; color: blue; }
B. p.first-letter { font-size: 400%; color: blue; }
C. p::first-letter { font-size: 400%; color: blue; }
D. #first-letter { font-size: 400%; color: blue; }
Odpowiedź jest prawidłowa, ponieważ selektor CSS p::first-letter precyzyjnie określa, że stylizacja ma być zastosowana do pierwszej litery każdego akapitu, który jest oznaczony tagiem p. Jest to pseudo-element CSS, który umożliwia dostęp do pierwszej litery bloku tekstu w celu nadania jej unikalnego wyglądu. W tym przypadku zmieniono jej rozmiar na 400% oraz kolor na niebieski. Użycie ::first-letter jest zgodne z najlepszymi praktykami, gdyż pozwala na zachowanie semantyczności HTML i oddzielenie warstwy prezentacyjnej od treści, co jest kluczowe w responsywnym projektowaniu stron internetowych. Pseudo-elementy jak ::first-letter są niezwykle przydatne w tworzeniu estetycznych i czytelnych interfejsów użytkownika, zwłaszcza w przypadku publikacji zawierających dużo tekstu. Dobrą praktyką jest stosowanie pseudo-elementów w połączeniu z klasami i identyfikatorami, aby stylizacja była elastyczna i mogła być łatwo dostosowywana zgodnie z potrzebami projektu.

Pytanie 13

W przedstawionym kodzie HTML ukazany styl CSS to styl:

<p style="color: red;">To jest przykładowy akapit.</p>
A. zewnętrzny.
B. dynamiczny.
C. nagłówkowy.
D. lokalny.
Odpowiedź "lokalnym" jest prawidłowa, ponieważ styl CSS zastosowany w podanym kodzie HTML definiuje właściwości stylu bezpośrednio w elemencie HTML, co określamy jako styl lokalny (inline style). W tym przypadku, styl "color: red;" został zastosowany bezpośrednio w tagu <p>, co wpływa wyłącznie na ten konkretny akapit. Praktyczne zastosowanie lokalnych stylów polega na tym, że można je szybko dodać do pojedynczych elementów, ale należy pamiętać, że nadmiar lokalnych stylów może prowadzić do problemów z utrzymywaniem i zarządzaniem kodem. Zamiast tego zaleca się stosowanie zewnętrznych arkuszy stylów CSS, co pozwala na centralne zarządzanie stylami dla całej strony. Warto zauważyć, że lokalne style mają wyższy priorytet niż style zewnętrzne, co może prowadzić do konfliktów, jeśli nie zostaną odpowiednio użyte. Aby zapewnić zgodność z najlepszymi praktykami, zaleca się ograniczanie stosowania lokalnych stylów tam, gdzie to możliwe, na rzecz bardziej zorganizowanego podejścia z użyciem klas i identyfikatorów w zewnętrznych arkuszach stylów.

Pytanie 14

Jaką rozdzielczość określa jednostka ppi (ang. pixels per inch)?

A. Cyfrowych przyrządów dokonujących pomiarów.
B. Obrazów generowanych przez drukarki i plotery
C. Skanujących urządzeń.
D. Obrazów bitmapowych.
Rozdzielczość wyrażana w jednostkach ppi (pixels per inch) odnosi się do ilości pikseli na cal w obrazach tworzonych przez drukarki i plotery. Wyższa wartość ppi oznacza większą gęstość pikseli, co przekłada się na wyższą jakość druku oraz więcej szczegółów w finalnym obrazie. W praktyce, standardowe wartości ppi dla wysokiej jakości druku to 300 ppi lub więcej, co jest preferowane w przypadku fotografii oraz materiałów reklamowych. Wartości te są zgodne z wytycznymi branżowymi, które sugerują, że dla druku offsetowego zaleca się rozdzielczość minimum 300 ppi, aby zachować szczegóły i ostrość obrazu. Użycie odpowiednich wartości ppi jest kluczowe w procesie prepress, gdzie przygotowuje się materiały do druku. Nieodpowiednia rozdzielczość może prowadzić do rozmycia, pikselizacji i ogólnej utraty jakości w finalnym produkcie, co negatywnie wpływa na wrażenia wizualne odbiorców oraz wizerunek marki.

Pytanie 15

Które z poniższych zdań charakteryzuje grafikę wektorową?

A. Może być zapisywana w formatach JPG lub PNG
B. Jest to reprezentacja obrazu przy pomocy siatki pikseli o różnych kolorach układających się w poziomie i pionie na monitorze komputera, drukarce lub innym urządzeniu wyjściowym
C. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych
D. Służy do zapisu zdjęć cyfrowych
Grafika wektorowa to technika obrazowania, która polega na reprezentowaniu obrazów za pomocą figur geometrycznych, takich jak punkty, linie, krzywe i wielokąty, które są zdefiniowane matematycznie i umieszczone w układzie współrzędnych. Dzięki temu obrazy wektorowe są skalowalne bez utraty jakości, co jest ich kluczową zaletą. Zastosowanie grafiki wektorowej znajduje się w wielu dziedzinach, takich jak projektowanie logo, ilustracje, animacje oraz wszędzie tam, gdzie potrzebna jest elastyczność w edycji i skalowaniu obrazów. W przeciwieństwie do grafiki rastrowej, która jest oparta na siatce pikseli, grafika wektorowa zapewnia lepszą ostrość i jakość w dowolnym rozmiarze. Dobrymi przykładami formatów wektorowych są SVG (Scalable Vector Graphics) oraz AI (Adobe Illustrator), które są standardami branżowymi wykorzystywanymi przez profesjonalnych projektantów. W praktyce, podczas projektowania, grafika wektorowa umożliwia łatwe wprowadzanie zmian kolorystycznych, kształtowych czy nawet animacyjnych bez negatywnego wpływu na jakość obrazu.

Pytanie 16

1       <script>
2       const liczba = 1;
3       let gora = 10, dol = 1;
4       let podaj = parseInt(prompt("Podaj liczbę całkowitą z zakresu <1-10>"));
5       liczba = Math.random() * ( gora - dol + 1 ) + dol;
6       liczba = parseInt(liczba);
7       if (liczba == podaj) {
8           document.write("Liczba została odgadnięta");
9       } else {
10          document.write("Niestety nie tym razem");
11      }
12      </script>
Przedstawiony fragment kodu JavaScript powinien wylosować liczbę całkowitą z zakresu <1 , 10> i porównać ją z liczbą podaną przez użytkownika w oknie dialogowym. Skrypt po uruchomieniu generuje błąd, którego przyczyną jest
A. błędna składnia deklaracji zmiennych gora i dol w drugiej linii skryptu.
B. błędna składnia instrukcji warunkowej if ... else.
C. niepotrzebne użycie konwersji z funkcji prompt do liczby całkowitej.
D. przypisanie wartości do stałej liczba w piątej linii skryptu .
Przyczyną błędu w tym skrypcie jest próba nadpisania stałej zadeklarowanej słowem kluczowym const. W drugiej linii kodu mamy `const liczba = 1;`, czyli tworzymy stałą o nazwie `liczba` i nadajemy jej wartość początkową 1. Zgodnie ze specyfikacją ECMAScript, zmienne zadeklarowane przez `const` nie mogą być później modyfikowane poprzez przypisanie. Innymi słowy: raz ustawiona wartość const jest niezmienna. Tymczasem w piątej linii skryptu występuje instrukcja `liczba = Math.random() * (gora - dol + 1) + dol;`, która dokładnie próbuje przypisać nową wartość do tej stałej. Przeglądarka reaguje na to błędem typu `TypeError` lub `Assignment to constant variable`, i skrypt się sypie zanim w ogóle dojdzie do porównania z wartością wprowadzoną przez użytkownika. W praktyce, jeśli chcemy losować liczbę, zmienna powinna być zadeklarowana przez `let` lub `var`, np. `let liczba;` w drugiej linii, a dopiero potem przypisywać wartość wylosowaną z `Math.random()`. Dobra praktyka jest taka, żeby do `const` dawać rzeczy, które naprawdę nie będą zmieniane w logice programu, np. `const GORA = 10; const DOL = 1;` albo stałe konfiguracyjne, adresy URL API itp. Natomiast zmienne, które w czasie działania skryptu mają się zmieniać (liczniki pętli, wyniki obliczeń, losowania), deklarujemy jako `let`. Z mojego doświadczenia jednym z częstszych błędów początkujących jest właśnie mechaniczne używanie `const` „bo jest nowoczesne” bez zrozumienia, że to blokuje późniejsze przypisania. Warto też zauważyć, że sama konstrukcja losowania liczby całkowitej z przedziału <1,10> jest poprawna: `Math.random()` daje liczbę z zakresu <0,1), potem skalujemy ją do odpowiedniego przedziału i na końcu obcinamy część ułamkową przez `parseInt` lub lepiej `Math.floor`. Gdyby `liczba` była zadeklarowana jako `let`, skrypt by działał zgodnie z założeniami.

Pytanie 17

W bazie danych wykonano poniższe polecenia dotyczące uprawnień użytkownika adam:

GRANT ALL PRIVILEGES ON klienci TO adam;
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;
Po wykonaniu tych instrukcji użytkownik adam uzyska dostęp do:
A. usunięcia tabeli lub jej rekordów
B. tworzenia tabeli klienci i modyfikowania w niej danych
C. przeglądania tabeli klienci oraz dodawania do niej rekordów
D. zmiany danych oraz przeglądania tabeli klienci
Użytkownik <b>adam</b> rzeczywiście uzyskuje pełne prawa do zarządzania tabelą <b>klienci</b> po wykonaniu polecenia GRANT ALL PRIVILEGES. To polecenie nadaje wszystkie możliwe uprawnienia, w tym SELECT (przeglądanie danych), INSERT (wstawianie nowych rekordów), UPDATE (aktualizowanie istniejących danych) oraz DELETE (usuwanie rekordów). W kontekście praktycznym, posiadanie ALL PRIVILEGES oznacza, że użytkownik ma swobodę w manipulowaniu danymi, co jest kluczowe w pracy z bazami danych. Na przykład, w aplikacji zarządzającej klientami, <b>adam</b> może zaktualizować szczegóły klienta, dodać nowych klientów do bazy oraz usunąć tych, którzy już nie są aktywni. Jednakże, ważne jest, aby przyznawanie takich uprawnień odbywało się zgodnie z zasadami minimalnych uprawnień, aby zredukować ryzyko nieautoryzowanych zmian. Dlatego też praktyki zarządzania użytkownikami w bazach danych powinny obejmować dokładne audyty uprawnień oraz regularne przeglądy przyznanych praw, aby zapewnić bezpieczeństwo danych.

Pytanie 18

W relacyjnych bazach danych encja jest przedstawiana przez

A. kwerendę.
B. relację.
C. rekord.
D. tabelę.
W relacyjnych bazach danych encja jest reprezentowana przez tabelę, co jest zgodne z fundamentalnymi zasadami modelu relacyjnego, zaproponowanego przez Edgara F. Codda. Tabela składa się z wierszy (rekordów) oraz kolumn (atrybutów), gdzie każdy wiersz odpowiada jednej instancji encji, a kolumny definiują jej cechy. Na przykład, tabela "Klienci" może zawierać kolumny takie jak "ID", "Imię", "Nazwisko" i "Email", gdzie każdy wiersz reprezentuje konkretnego klienta. Zastosowanie tabel jako reprezentacji encji pozwala na łatwe tworzenie relacji między danymi, co jest kluczowe w relacyjnych bazach danych. Przykłady takie jak użycie kluczy obcych do łączenia tabel świadczą o praktycznej aplikacji tej zasady w projektowaniu baz danych, co sprzyja spójności i integralności danych. Dobre praktyki baz danych zalecają także normalizację tabel, co pomaga w eliminacji redundancji i poprawie efektywności danych, co czyni tę koncepcję nie tylko teoretyczną, ale również praktyczną w codziennej pracy z bazami danych.

Pytanie 19

W języku JavaScript rezultat wykonania polecenia ```zmienna1 -= 1;``` będzie tożsamy z wynikiem polecenia

A. zmienna1 === zmienna1 - 1;
B. zmienna1++;
C. zmienna1 = zmienna1 - 0;
D. zmienna1--;
Odpowiedź zmienna1--; jest poprawna, ponieważ jest to skrócona forma wyrażenia zmienna1 -= 1;. Oba wyrażenia mają ten sam efekt, który polega na zmniejszeniu wartości zmiennej zmienna1 o 1. W języku JavaScript operator '--' jest operatorem dekrementacji, który zmienia wartość zmiennej o jeden w dół. Użycie tego operatora jest zgodne z dobrymi praktykami kodowania, gdyż zwiększa czytelność kodu, czyniąc intencje programisty bardziej jasnymi. Użycie dekrementacji jest powszechne w sytuacjach, gdzie iterujemy przez kolekcje z użyciem pętli, co ogranicza potrzebę stosowania bardziej skomplikowanych instrukcji. Na przykład, w przypadku pętli for, zamiast pisać for(let i = n; i > 0; i -= 1), można zastosować for(let i = n; i > 0; i--), co jest bardziej zwięzłe i zrozumiałe. W kontekście standardów kodowania, preferowanym podejściem jest używanie operatorów, które maksymalizują przejrzystość i minimalizują możliwość popełnienia błędów.

Pytanie 20

Aby zmienić strukturę już istniejącej tabeli przy użyciu zapytania SQL, należy użyć kwerendy

A. UPDATE
B. ALTER TABLE
C. CREATE TABLE
D. INSERT INTO
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ ta kwerenda jest używana do modyfikacji struktury istniejącej tabeli w bazach danych SQL. Dzięki komendzie ALTER TABLE można dodawać nowe kolumny, usuwać istniejące kolumny, zmieniać typy danych kolumn, a także modyfikować ograniczenia (constraints) dotyczące tabeli. Dla przykładu, aby dodać nową kolumnę 'wiek' do tabeli 'pracownicy', można użyć następującej kwerendy: 'ALTER TABLE pracownicy ADD wiek INT;'. Warto również wspomnieć, że ALTER TABLE może być używane w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy SQL Server, co czyni go uniwersalnym narzędziem w pracy z bazami danych. Podczas modyfikacji tabeli należy jednak zachować ostrożność, aby nie wprowadzić niezgodności w aplikacjach korzystających z tej tabeli. Praktyką zalecaną jest wykonywanie kopii zapasowej danych przed wprowadzeniem większych zmian. Zrozumienie tej komendy i jej zastosowania jest kluczowe dla efektywnego zarządzania danymi w systemach bazodanowych.

Pytanie 21

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

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

Pytanie 22

W języku HTML stworzono definicję tabeli. Który z rysunków ilustruje jej działanie?

Ilustracja do pytania
A. Rysunek 2
B. Rysunek 3
C. Rysunek 1
D. Rysunek 4
Prawidłowa odpowiedź to Rysunek 1 ponieważ odwzorowuje on strukturę tabeli opisaną w kodzie HTML zaprezentowanym w pytaniu. Kod HTML przedstawia tabelę z dwoma wierszami. Pierwszy wiersz zawiera dwie komórki z tekstami 'pierwszy' i 'drugi'. Drugi wiersz posiada jedną komórkę z tekstem 'trzeci' która zajmuje szerokość dwóch kolumn dzięki zastosowaniu atrybutu colspan=2. Właśnie ta cecha sprawia że drugi rysunek jest poprawny gdyż w nim komórka z tekstem 'trzeci' rozciąga się na szerokość dwóch kolumn tabeli. Takie podejście jest zgodne z zasadami projektowania tabel w HTML gdzie atrybut colspan pozwala na łączenie kolumn co jest szczególnie przydatne przy tworzeniu złożonych układów danych w tabelach. Dzięki zastosowaniu tego atrybutu można efektywnie zarządzać szerokością komórek i ich położeniem co zwiększa elastyczność w projektowaniu układów na stronach internetowych. Warto zwrócić uwagę na fakt że użycie atrybutu 'border' z wartością 1 powoduje wyświetlenie widocznej ramki co jest dobrze zilustrowane na Rysunku 1. Zrozumienie i umiejętne zastosowanie takich technik w projektowaniu stron jest kluczowe dla tworzenia przejrzystych i funkcjonalnych interfejsów użytkownika.

Pytanie 23

Który z poniższych zapisów CSS zmieni tło bloku na odcień niebieskiego?

A. div {color:blue;}
B. div {border-color:blue;}
C. div {background-color:blue;}
D. div {shadow:blue;}
Zapis 'div {background-color:blue;}' jest jak najbardziej na miejscu. Właściwość 'background-color' jest kluczowa, bo ustawia kolor tła dla elementów blokowych w CSS. Kiedy używasz 'blue' jako wartości, to mówisz, że tło ma być niebieskie. Ta właściwość jest częścią tego całego systemu CSS, który decyduje, jak powinny wyglądać elementy HTML. Ustawienie koloru tła jest ważne, bo wpływa na wygląd strony i to, jak kontrastują ze sobą tekst i tło, co jest istotne, by strona była dostępna dla każdego. Jeśli chciałbyś zmienić kolor tła, możesz korzystać z różnych wartości, takich jak kody HEX (np. #0000FF) albo RGB (np. rgb(0, 0, 255)). Możesz to zobaczyć w praktyce, na przykład: <div style='background-color:blue;'>Treść</div>, co ustawi tło 'diva' na niebieskie.

Pytanie 24

Który typ danych należy przypisać do atrybutu Telefon encji Student zakładając, że numer rozpoczyna się od znaku + i następującego po nim numeru kierunkowego kraju?

A. Liczbowy
B. Wyliczeniowy
C. Binarny
D. Tekstowy
Poprawny typ danych dla atrybutu Telefon w encji Student to typ tekstowy, ponieważ numer telefonu nie jest zwykłą liczbą, tylko ciągiem znaków o określonej strukturze. Mamy tam znak plus na początku, potem numer kierunkowy kraju, często spacje, czasem myślniki, nawiasy. System informatyczny nie powinien wykonywać na tym polu działań arytmetycznych, tylko przechowywać dokładnie to, co użytkownik wpisał. W bazach danych i w większości języków programowania przyjętym standardem jest traktowanie numerów telefonów jako stringów, właśnie po to, żeby nie tracić formatu i nie usuwać znaków specjalnych. Moim zdaniem to jedna z takich pułapek początkujących: skoro są cyfry, to kusi, żeby dać typ liczbowy. A potem wychodzą kwiatki, typu ucinanie zera na początku, problemy z numerami międzynarodowymi, brak możliwości zapisania +48 albo numeru wewnętrznego. W praktyce w modelu danych stosuje się typ tekstowy (np. VARCHAR o rozsądnej długości) i ewentualnie nakłada się walidację po stronie aplikacji lub bazy, np. wyrażeniem regularnym, żeby pilnować formatu zgodnego z E.164 (+48123456789 itd.). Dobre praktyki mówią też, żeby nie łączyć w jednym polu różnych znaczeń, więc jeśli oprócz numeru trzeba przechowywać np. opis typu telefonu (komórkowy, stacjonarny, służbowy), to lepiej dać osobny atrybut albo nawet osobną tabelę. Sam numer jednak zawsze jako tekst, bo jego „wartość” logiczna to identyfikator, a nie wielkość liczbowa.

Pytanie 25

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

id int NOT NULL AUTO_INCREMENT
A. możliwe jest dodanie rekordu z dowolną wartością pola id
B. wartości dla tego pola będą generowane automatycznie przy dodawaniu nowego rekordu do bazy
C. pole id może przyjmować takie wartości jak: NULL, 1, 2, 3, 4 i tak dalej
D. wartość pola id zostanie nadana automatycznie przez bazę i będzie to losowo wygenerowana liczba całkowita
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 26

Jak określa się metodę umożliwiającą nawiązanie asynchronicznego połączenia klienta z serwerem i prowadzenie komunikacji bez konieczności przeładowania całej strony WWW?

A. AJAX
B. PHP
C. XML
D. VBScript
AJAX (Asynchronous JavaScript and XML) to technika używana w projektowaniu aplikacji internetowych, która umożliwia asynchroniczną komunikację między klientem a serwerem. Główną zaletą AJAX jest to, że pozwala na zaktualizowanie części strony internetowej bez potrzeby jej przeładowywania. Dzięki temu użytkownicy mogą interaktywnie korzystać z aplikacji, co poprawia doświadczenia użytkownika i zwiększa wydajność strony. Przykładem zastosowania AJAX może być dynamiczne ładowanie danych w formularzach, aktualizacja treści przy użyciu przycisków (np. 'Zobacz więcej'), czy też autouzupełnianie w polach tekstowych. Wykorzystując AJAX, deweloperzy mogą również minimalizować ruch sieciowy, ponieważ tylko zmienione lub nowe dane są przesyłane między serwerem a klientem. Technika ta jest zgodna z wieloma standardami webowymi, w tym z RESTful API, co czyni ją kluczowym elementem nowoczesnych architektur webowych. Warto zaznaczyć, że AJAX jest fundamentem dla wielu frameworków JavaScript, takich jak jQuery, Angular czy React, które jeszcze bardziej ułatwiają jego implementację.

Pytanie 27

Istnieje tabela programisci z polami: id, nick, ilosc_kodu, ocena. Wartość w polu ilosc_kodu przedstawia liczbę linii kodu, które dany programista stworzył w określonym miesiącu. Aby obliczyć całkowitą liczbę linii kodu napisanych przez wszystkich programistów, należy zastosować następujące polecenie

A. SELECT COUNT(programisci) FROM ilosc_kodu;
B. SELECT SUM(ocena) FROM ilosc_kodu;
C. SELECT MAX(ilosc_kodu) FROM programisci;
D. SELECT SUM(ilosc_kodu) FROM programisci;
Poprawna odpowiedź to "SELECT SUM(ilosc_kodu) FROM programisci;" ponieważ to zapytanie dokładnie ilustruje, jak można obliczyć sumę wszystkich linii kodu napisanych przez programistów. Funkcja agregująca SUM() służy do sumowania wartości w podanym polu, które w tym przypadku jest polem "ilosc_kodu". W kontekście relacyjnych baz danych, stosowanie funkcji agregujących jest kluczowe do analizy danych w sposób statystyczny. W praktyce, takie zapytanie może być przydatne w raportach dotyczących wydajności zespołu programistycznego, gdzie analiza sumy napisanych linii kodu pozwala na ocenę produktywności oraz identyfikację programistów, którzy mogą potrzebować wsparcia w realizacji zadań. Ponadto, zgodnie z najlepszymi praktykami SQL, warto być świadomym kontekstu zapytań, a dobór odpowiednich funkcji agregujących, takich jak SUM(), COUNT(), AVG() itp., jest niezbędny do efektywnego przetwarzania danych.

Pytanie 28

Fragment kodu w języku HTML zawarty w ramce ilustruje zestawienie

Ilustracja do pytania
A. wypunktowaną.
B. odnośników.
C. numerowaną.
D. skrótów.
Kod HTML zawierający znaczniki <ol> oraz <li> tworzy listę numerowaną ponieważ <ol> oznacza ordered list czyli listę uporządkowaną co skutkuje automatycznym numerowaniem każdego elementu w przeglądarkach internetowych. Znaczniki <li> reprezentują pojedyncze elementy listy zapewniając organizację danych w czytelnej formie. Taki sposób przedstawiania informacji jest powszechnie stosowany w tworzeniu dokumentów HTML i stron internetowych gdzie hierarchia i kolejność elementów ma kluczowe znaczenie. Za pomocą CSS można dodatkowo dostosować styl numerowania oraz wizualne aspekty listy co pozwala na większą elastyczność w projektowaniu interfejsu użytkownika. Standardy internetowe takie jak te rekomendowane przez W3C zachęcają do stosowania semantycznych znaczników co poprawia dostępność i SEO strony. Ponadto listy numerowane są użyteczne w sytuacjach gdy wymagana jest jasna kolejność wykonywania zadań lub prezentacja kroków w procesie co czyni je idealnym narzędziem zarówno w dokumentacji technicznej jak i w interaktywnych przewodnikach online.

Pytanie 29

Aby zrealizować opisane czynności w JavaScript, konieczne jest umieszczenie poniższego kodu w znaczniku <script>

Ilustracja do pytania
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)
W JavaScript użycie funkcji prompt() pozwala na wyświetlenie okna dialogowego, które umożliwia użytkownikowi wprowadzenie danych. W przypadku poprawnej odpowiedzi kod A = prompt('Podaj kwalifikację: '); document.write('Kwalifikacja: '+A); realizuje dokładnie te kroki. Funkcja prompt() czeka na wprowadzenie danych przez użytkownika i zwraca wprowadzaną wartość, która jest następnie przypisywana do zmiennej A. Następnie document.write() jest używane do bezpośredniego wstawienia zawartości zmiennej A na stronę internetową w połączeniu z tekstem 'Kwalifikacja: '. To podejście jest zgodne z dobrymi praktykami tworzenia aplikacji internetowych, gdzie dynamiczne wprowadzanie danych przez użytkownika i ich wyświetlanie jest kluczowe. Używanie prompt() jest powszechne w prostych aplikacjach do interakcji z użytkownikiem, lecz w bardziej zaawansowanych projektach zaleca się korzystanie z bardziej zaawansowanych metod jak formularze HTML czy asynchroniczne żądania sieciowe. Niemniej jednak, zrozumienie działania prompt() oraz document.write() jest podstawowe dla tworzenia dynamicznych stron WWW i stanowi fundament dalszej nauki w JavaScript.

Pytanie 30

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. selekcję.
B. rekurencję.
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 31

W formularzu wartość z pola input o typie number została przypisana do zmiennej a i następnie przetworzona w skrypcie JavaScript w poniższy sposób. Jaki typ będzie miała zmienna z?

var z = parseFloat(a);
A. liczbowego, całkowitego
B. NaN
C. napisowego
D. zmiennoprzecinkowego
W języku JavaScript funkcja parseFloat() jest używana do konwersji wartości tekstowych na liczby zmiennoprzecinkowe. Podczas pobierania danych z pola input typu number, wartość często jest traktowana jako string i konieczne jest jej przekształcenie w liczbę, aby móc na niej wykonywać operacje matematyczne. Funkcja parseFloat() analizuje łańcuch znaków i próbuje wyodrębnić z niego liczbę zmiennoprzecinkową. Nawet jeśli podana wartość jest zapisana jako liczba całkowita, parseFloat() przekształci ją w liczbę zmiennoprzecinkową, co oznacza, że zmienna z będzie tego właśnie typu. Jest to standardowa praktyka w programowaniu w JavaScript, aby zapewnić, że dane numeryczne są przetwarzane w odpowiednim formacie. Konwersja na typ zmiennoprzecinkowy gwarantuje także, że wszelkie ułamki dziesiętne będą poprawnie obsługiwane, co jest kluczowe w wielu zastosowaniach, takich jak obliczenia finansowe czy prace związane z precyzyjnymi pomiarami. Warto zaznaczyć, że parseFloat() zwraca wartość NaN tylko wtedy, gdy dany ciąg nie zaczyna się od liczby, co czyni ten sposób konwersji bardzo elastycznym i często stosowanym w praktyce.

Pytanie 32

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

A. nav { float: left; } aside { float: left; }
B. nav { float: right; } section { float: right; }
C. nav { float: right; }
D. aside {float: left; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 33

Fragment kodu w języku JavaScript realizujący dodawanie dwóch liczb ma poniższą postać. Aby dodawanie wykonane było po kliknięciu przycisku o nazwie "dodaj", należy w wykropkowane miejsce wstawić

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
….
<script type=text/javascript>
function dodaj()
{
    // ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onclick="return oblicz()">dodaj</button>
B. <button onselect="return dodaj()">dodaj</button>
C. <button onselect="return dodaj()">oblicz</button>
D. <button onclick="return dodaj()">dodaj</button>
Gratulacje, wybrałeś poprawną odpowiedź. Przycisk w JavaScript jest aktywowany poprzez zdarzenie onclick, które jest wyzwalane po kliknięciu przycisku. Właściwość onclick jest jednym z wielu zdarzeń w JavaScript, które są używane do obsługi interakcji użytkownika. Kiedy użytkownik kliknie przycisk, zdarzenie onclick jest wywoływane i kod zawarty w tym zdarzeniu jest wykonany. W tym przypadku, kod to 'return dodaj()', co oznacza, że funkcja 'dodaj' jest wywoływana. Ta funkcja została zdefiniowana w skrypcie JavaScript i realizuje dodawanie dwóch liczb. Zdarzenie onclick jest często używane w praktycznych zastosowaniach, takich jak przyciski subskrybcji, przyciski do logowania czy przyciski do przesyłania formularzy. Zasada ta jest zgodna z dobrymi praktykami programowania, które zalecają utrzymanie interakcji użytkownika w kodzie JavaScript zamiast HTML.

Pytanie 34

Określ wynik wykonania poniższego fragmentu kodu JavaScript.

var akapit = document.createElement("p");
document.body.appendChild(akapit);
A. Dodanie akapitu na samym końcu strony
B. Wstawienie akapitu na początku strony
C. Usunięcie akapitu z treści strony
D. Wyświetlenie okna dialogowego z komunikatem "akapit"
Kod JavaScript, który tutaj widzisz, tworzy nowy element paragrafu (p) przy użyciu metody createElement. Potem ten nowy element dodaje się do dokumentu na końcu, przez appendChild do body. To wszystko dotyczy manipulacji DOM, co jest kluczowe w JavaScript. Zrozumienie tych operacji to naprawdę ważna sprawa, bo pozwala na tworzenie dynamicznych, interaktywnych stron internetowych. Dzięki createElement można w czasie rzeczywistym generować nowe elementy HTML, a appendChild pozwala je umieścić w wybranym miejscu na stronie. To są praktyki, które są standardem w dobrym kodowaniu i często wykorzystuje się je w nowoczesnych aplikacjach webowych. Manipulacja DOM to podstawowy temat w technologiach front-endowych i pozwala na zmiany w treści stron bez ich przeładowywania. Kiedy dobrze rozumiesz te techniki, możesz budować bardziej responsywne aplikacje, co teraz jest normą w branży.

Pytanie 35

Jaki jest cel wykorzystania znacznika <i> w języku HTML?

A. wstawienia obrazka
B. określenia formularza
C. określenia nagłówka w treści
D. zmiany kroju pisma na pochylony
Znacznik <i> w języku HTML jest używany do oznaczania tekstu, który powinien być wyświetlany w kroju pisma pochyłym. Takie użycie jest zgodne ze standardami HTML, gdzie <i> zwykle wskazuje na tekst, który ma być wyróżniony w kontekście stylistycznym, na przykład w przypadku tytułów książek, nazw gatunków czy terminów technicznych. Z perspektywy semantycznej, HTML5 wprowadza większą elastyczność w definiowaniu znaczenia tekstu, co czyni <i> bardziej konwencjonalnym narzędziem niż w poprzednich wersjach. Warto zaznaczyć, że dla lepszej dostępności i SEO, często zaleca się użycie znacznika <em>, który nie tylko zmienia styl, ale także podkreśla znaczenie tekstu. Przykład zastosowania <i>: <i>„Wojna i pokój”</i> to książka autorstwa Lwa Tołstoja. Z perspektywy użytkowników i wyszukiwarek, ważne jest, aby znać różnice między tymi znacznikami, co pozwala na efektywniejsze tworzenie treści internetowych.

Pytanie 36

W kodzie HTML stworzono link do strony internetowej. Aby otworzyć tę stronę w nowym oknie lub zakładce przeglądarki, należy dodać do definicji linku atrybut

<a href="http://google.com" >strona Google</a>
A. target = "_blank"
B. rel = "next"
C. rel = "external"
D. target = "_parent"
Atrybut target w języku HTML służy do określenia, w jaki sposób ma otworzyć się dokument, do którego prowadzi odnośnik. Użycie wartości '_blank' dla atrybutu target jest standardowym sposobem na otwarcie nowej strony w nowym oknie lub zakładce przeglądarki. Przykład zastosowania to: <a href="http://google.com" target="_blank">strona Google</a>. Jest to niezwykle przydatne w kontekście UX, ponieważ pozwala użytkownikom na łatwe porównanie informacji bez utraty dostępu do oryginalnej strony. Warto również zauważyć, że użycie tego atrybutu jest zgodne z najlepszymi praktykami w tworzeniu stron internetowych, gdyż umożliwia użytkownikom zachowanie kontekstu przeglądania. W HTML5 atrybut target pozostaje wspierany, co czyni go istotnym elementem w projektowaniu interfejsów użytkownika. Oprócz '_blank' istnieją inne wartości, takie jak '_self', '_parent' i '_top', które również spełniają różne funkcje w zależności od potrzeb nawigacyjnych w aplikacji webowej.

Pytanie 37

Który składnik języka HTML jest niezbędny, aby uniknąć błędu w walidacji HTML5?

A. <meta name="author" content="....">
B. prologu <!DOCTYPE html>
C. przynajmniej jednego <h1>
D. <body>
Prolog <!DOCTYPE html> jest kluczowym elementem każdego dokumentu HTML5, który definiuje typ dokumentu i jego wersję. Jego obecność umożliwia przeglądarkom internetowym prawidłowe interpretowanie i renderowanie treści strony. Bez tego prologu przeglądarka nie ma informacji o tym, że strona powinna być interpretowana jako dokument HTML5, co może prowadzić do nieprzewidywalnych wyników w renderowaniu i działaniu strony. W praktyce, dodanie <!DOCTYPE html> na początku dokumentu HTML jest fundamentalnym krokiem, który powinien być zawsze przestrzegany. Standardy W3C jasno określają, że prolog jest niezbędny, aby zapewnić zgodność z HTML5 i uniknąć błędów walidacji. Na przykład, jeśli zapomnimy o tym elemencie, nasza strona może nie wyświetlać się poprawnie w różnych przeglądarkach, co z kolei wpłynie na doświadczenia użytkowników oraz pozycjonowanie strony w wyszukiwarkach. Dlatego każdy programista powinien traktować <!DOCTYPE html> jako nieodłączny element kodu HTML, zapewniając tym samym stabilność i spójność prezentowanej treści.

Pytanie 38

Jaką operację trzeba wykonać podczas edytowania zdjęcia w programie graficznym, aby zamienić białe tło na przezroczystość?

A. Skadrować obraz
B. Maksymalnie zmniejszyć jasność
C. Zmienić saturację obrazu
D. Dodać kanał alfa
Aby zamienić białe tło na przezroczystość w edytorze grafiki, kluczowym krokiem jest dodanie kanału alfa do obrazu. Kanał alfa jest używany do zarządzania przezroczystością pikseli w obrazie rastrowym, co pozwala na zachowanie tylko tych elementów, które mają być widoczne. Proces ten jest szczególnie istotny przy pracy z grafiką stosowaną w projektach multimedialnych, takich jak strony internetowe, animacje czy prezentacje. Po dodaniu kanału alfa, można użyć narzędzi selekcji, takich jak różdżka czy lasso, aby zaznaczyć obszar białego tła i usunąć go, co skutkuje uzyskaniem przezroczystości. Dobrą praktyką jest również zapisanie pliku w formacie obsługującym przezroczystość, jak PNG, co zapewnia, że efekt końcowy zostanie zachowany, a tło będzie rzeczywiście przezroczyste. Przykład zastosowania można znaleźć w tworzeniu grafik do mediów społecznościowych, gdzie przezroczystość tła pozwala na lepsze dopasowanie elementów do różnych szablonów.

Pytanie 39

Walidacja formularzowych pól polega na zweryfikowaniu

A. czy wprowadzone dane spełniają określone reguły.
B. czy użytkownik jest zalogowany.
C. czy istnieje plik PHP, który odbierze dane.
D. który użytkownik wprowadził informacje.
Walidacja pól formularza to mega ważny krok, kiedy zbieramy dane od użytkowników. Dzięki niej możemy mieć pewność, że wszystko, co użytkownik wprowadza, jest zgodne z pewnymi zasadami. To sprawia, że aplikacja działa jak należy i że dane są w miarę bezpieczne. Na przykład, walidacja może sprawdzać, czy użytkownik wpisał coś w pole tekstowe, czy adres e-mail wygląda jak należy, albo czy hasło ma odpowiednią długość i trudność. Fajnie jest, jak walidacja działa zarówno po stronie klienta, jak i serwera. Ta po stronie klienta jest super, bo użytkownik od razu widzi, że coś poszło nie tak i nie musi czekać na odpowiedź z serwera. A walidacja po stronie serwera dodaje jeszcze więcej bezpieczeństwa, bo broni aplikacji przed błędnymi danymi i różnymi atakami, jak na przykład SQL injection. Dlatego walidacja danych to absolutna podstawa w nowoczesnych systemach przetwarzania informacji.

Pytanie 40

Którego atrybutu należy użyć w miejscu trzech kropek w znaczniku HTML5 <blockquote>, aby zdefiniować źródło cytatu?

<blockquote ...="https://pl.wikipedia.org">
Pokojowa Nagroda Nobla jest przyznawana kandydatom, którzy wykonali największą lub najlepszą
pracę na rzecz braterstwa między narodami
</blockquote>
A. cite
B. alt
C. src
D. href
Niestety, twoja odpowiedź nie jest poprawna. Atrybut 'cite' w znaczniku <blockquote> jest używany do definiowania źródła cytatu, a nie 'alt', 'src' ani 'href'. Atrybut 'alt' jest używany w obrazach jako tekst alternatywny, który jest wyświetlany, gdy obraz nie może być ładowany lub jest odczytywany przez czytniki ekranowe. Z kolei 'src' jest atrybutem, który określa ścieżkę do obrazu lub innego zasobu multimedialnego. 'href' jest używany w znacznikach 'a' i 'link' do określenia URL strony lub innego zasobu, do którego prowadzi link. Pomyłka ta może wynikać z braku zrozumienia różnych zastosowań atrybutów w HTML. Pamiętaj, że każdy atrybut ma swoje specyficzne zastosowanie i nie są one zamienne.