Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 18:51
  • Data zakończenia: 8 czerwca 2026 19:09

Egzamin niezdany

Wynik: 17/40 punktów (42,5%)

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Deklaracja w języku JavaScript var x = true; powoduje, że zmienna x jest typu:

A. logicznego
B. liczbowego
C. ciągu znaków
D. wyliczeniowego
Przypisanie var x = true; sprawia, że zmienna x jest typu LOGICZNEGO (boolean) - może przyjmować jedną z dwóch wartości: true lub false. Takich zmiennych używa się w warunkach. Dlatego x jest typu logicznego.

Pytanie 2

Którego języka skryptowego użyć do aplikacji WWW zagnieżdżonych w HTML i uruchamianych po stronie SERWERA?

A. C#
B. Perl
C. PHP
D. JavaScript
PHP to skryptowy język serwerowy, który OSADZA SIĘ wprost w HTML (między <?php ... ?>) i wykonuje na SERWERZE - do przeglądarki trafia już gotowy HTML będący wynikiem działania kodu. Tak powstają strony dynamiczne: logowanie, sklepy, fora. Zapamiętaj: PHP liczy się na serwerze, a klient widzi tylko efekt.

Pytanie 3

Co powinno znaleźć się w dokumentacji UŻYTKOWNIKA aplikacji?

A. szczegółowy opis kodu źródłowego
B. instrukcja obsługi funkcji systemu
C. opis użytych technologii i bibliotek
D. opis algorytmów zastosowanych w kodzie
Dokumentacja UŻYTKOWNIKA jest pisana dla osoby obsługującej program, więc zawiera instrukcję obsługi jego funkcji - jak wykonać typowe zadania, krok po kroku, bez wnikania w kod. Dlatego znajdzie się w niej instrukcja obsługi funkcji systemu.

Pytanie 4

Zawarty w ramce fragment kodu w języku JavaScript

Ilustracja do pytania
A. przypisze do zmiennej s zmienną t
B. wyświetli długość tekstu ze zmiennej t
C. przypisze zmiennej s długość tekstu ze zmiennej t
D. przypisze do zmiennej s fragment tekstu ze zmiennej t o długości określonej przez zmienną length
Zrozumienie funkcji length w kontekście JavaScript jest kluczowe dla rozróżnienia poprawnych i błędnych interpretacji kodu. W przypadku zadania, omówienie różnych interpretacji kodu wskazuje na kilka typowych nieporozumień. Jednym z nich jest przypisanie zmiennej s zmiennej t. Takie działanie wymagałoby użycia operatora przypisania bezpośrednio z jedną zmienną, a nie wywołania metody na niej. Kolejnym nieporozumieniem jest wyświetlenie długości napisu ze zmiennej t. Wyświetlanie wartości w JavaScript wymaga zastosowania np. console.log(), a sam zapis t.length jedynie odczytuje długość łańcucha. Innym błędnym podejściem jest przypisanie fragmentu napisu ze zmiennej t, o określonej przez zmienną length długości. Operator length w kontekście łańcucha znaków zwraca jego całkowitą długość, a nie jego fragment. Aby wyodrębnić część tekstu, należałoby użyć metod takich jak slice() czy substring(). Typowym błędem jest również założenie, że length działa jak funkcja przycinająca tekst, co może wynikać z niewłaściwego zrozumienia dokumentacji lub braku praktyki. Każda z tych błędnych odpowiedzi wskazuje na potrzebę głębszego zapoznania się z podstawowymi metodami manipulacji tekstem w JavaScript i ich praktycznym zastosowaniem w różnych kontekstach programistycznych, co jest istotnym krokiem w kierunku profesjonalnego programowania.

Pytanie 5

Zaprezentowano kod tabeli o wymiarach 3x2. Jaką zmianę wprowadzić w jej drugim wierszu, aby tabela była zgodna z obrazkiem ukazującym niewidoczny wiersz?

Ilustracja do pytania
A. <tr style="clear: none">
B. <tr style="display: none">
C. <tr style="visibility: hidden">
D. <tr style="display: table-cell">
Użycie stylu visibility: hidden w wierszu tabeli powoduje, że zawartość tego wiersza staje się niewidoczna, ale miejsce w dokumencie HTML, które zajmuje, pozostaje. Jest to przydatne, gdy chcemy zachować układ tabeli bez zmiany jej struktury, co ma znaczenie w projektach, gdzie layout musi pozostać spójny. Jest to różne od display: none, który całkowicie usuwa element z układu, co może prowadzić do zmiany położenia innych elementów. Zastosowanie visibility: hidden jest zgodne z dobrymi praktykami w przypadkach, gdy potrzebujemy ukryć elementy bez wpływu na otaczający je układ. Metoda ta jest często używana w scenariuszach dynamicznych interfejsów użytkownika, gdzie elementy mogą być tymczasowo ukrywane lub pokazywane bez restrukturyzacji całego layoutu. To podejście wspiera również koncepcje dostępności, gdyż ukryte w ten sposób treści mogą być dostępne dla technologii wspomagających, takich jak czytniki ekranu, w zależności od implementacji innych atrybutów.

Pytanie 6

Wskaż pętlę w języku JavaScript, która wypisze sześć kolejnych liczb parzystych.

A. for(i=2;i<12;i+=2) {document.write(i);}
B. for(i=2;i<=12;i+=2) {document.write(i);}
C. for(i=2;i<12;i++) {i++; document.write(i);}
D. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
Prawidłowa odpowiedź to pętla for(i=2;i<=12;i+=2) {document.write(i);}, ponieważ jest ona skonstruowana w sposób, który pozwala na wyświetlenie sześciu kolejnych liczb parzystych, zaczynając od 2 do 12 włącznie. Pętla for składa się z trzech głównych części: inicjalizacji (i=2), warunku (i<=12) oraz inkrementacji (i+=2). Inicjalizacja ustawia zmienną i na 2, co jest pierwszą liczbą parzystą. Warunek i<=12 zapewnia, że pętla będzie kontynuowana do momentu, gdy i osiągnie wartość większą niż 12, co oznacza, że ostatnią liczbą, która zostanie wyświetlona, będzie 12. Inkrementacja i+=2 powoduje, że przy każdej iteracji wartość i zwiększa się o 2, co pozwala na przechodzenie pomiędzy kolejnymi liczbami parzystymi (2, 4, 6, 8, 10, 12). Taki sposób konstrukcji pętli jest zgodny z zasadami programowania w JavaScript oraz pozwala na efektywne i kontrolowane wyświetlanie danych na stronie. Istotne jest również, że wykorzystanie metody document.write() jest jedną z prostszych form wyświetlania danych w JavaScript, aczkolwiek w praktyce jest zalecane korzystanie z bardziej nowoczesnych metod, takich jak manipulacja DOM, aby uniknąć nadpisywania całej zawartości strony.

Pytanie 7

Co powinien umożliwiać edytor działający w trybie WYSIWYG?

A. tworzenie podstawowej grafiki wektorowej
B. publikację strony przez wbudowany klient FTP
C. obróbkę plików dźwiękowych
D. uzyskanie wyglądu strony zbliżonego do jej obrazu w przeglądarce
WYSIWYG (What You See Is What You Get) oznacza, że podczas edycji widać efekt zbliżony do finalnego wyglądu strony w przeglądarce - bez konieczności pisania kodu i podglądania osobno. Dlatego edytor WYSIWYG ma dawać wygląd zbliżony do obrazu strony w przeglądarce.

Pytanie 8

Które polecenie nadaje użytkownikowi „uczen” najniższy poziom uprawnień (tylko odczyt, bez zmiany danych i struktury)?

A.
GRANT DROP ON szkola.przedmioty TO uczen;
B.
GRANT SELECT ON szkola.przedmioty TO uczen;
C.
GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
D.
GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
Pozostałe polecenia nadają uprawnienia znacznie szersze i bardziej ryzykowne. DROP pozwala usuwać obiekty bazy (np. całe tabele), więc to bardzo wysokie uprawnienie. Połączenie INSERT i DROP daje prawo dodawania danych oraz kasowania obiektów - dużo więcej niż sam odczyt. ALTER umożliwia zmianę struktury tabeli (dodawanie/usuwanie kolumn). Najniższy poziom - tylko podgląd danych - zapewnia GRANT SELECT, dlatego ta odpowiedź jest poprawna.

Pytanie 9

Kto odpowiada za ciągłe przygotowanie systemu bazy danych do pracy, zarządzanie kontami użytkowników i instalowanie aktualizacji systemu bazodanowego?

A. twórcy narzędzi deweloperskich
B. administratorzy systemu bazy danych
C. administratorzy serwerów i sieci
D. projektanci i programiści SZBD
Pozostałe role zajmują się czym innym. Twórcy narzędzi deweloperskich budują oprogramowanie wspomagające programistów (edytory, środowiska), a nie obsługują działającą bazę. Administratorzy serwerów i sieci dbają o sprzęt, system operacyjny i łączność - to warstwa infrastruktury, a nie bezpośrednie zarządzanie kontami i bazą. Projektanci i programiści Systemu Zarządzania Bazą Danych tworzą sam silnik bazodanowy (np. MySQL), lecz nie administrują konkretnym wdrożeniem u klienta. Codzienną obsługą bazy zajmuje się administrator bazy danych, dlatego ta odpowiedź jest poprawna.

Pytanie 10

Kod CSS można włączyć do dokumentu HTML, używając znacznika

A. <head>
B. <style>
C. <meta>
D. <body>
Odpowiedź <style> jest prawidłowa, ponieważ ten znacznik HTML jest dedykowany do osadzania kodu CSS wewnątrz dokumentu HTML. Znacznik <style> powinien być umieszczony w sekcji <head> dokumentu, co umożliwia przeglądarkom interpretację stylów przed renderowaniem treści strony. Dzięki temu można definiować różne reguły CSS, które modyfikują wygląd elementów HTML, co jest kluczowe w tworzeniu estetycznych i funkcjonalnych stron internetowych. Przykładowo, można użyć <style> do określenia koloru tła, rozmiaru czcionki czy marginesów. Ważne jest, aby stosować zasady dotyczące kaskadowości, ponieważ style zdefiniowane w <style> mają priorytet nad stylem zewnętrznym, jeśli są tak samo specyficzne. Dodatkowo, korzystanie z <style> jest zgodne z zasadami dobrych praktyk, takich jak unikanie nadmiarowego ładowania zewnętrznych plików CSS w przypadku prostych projekty, co przyspiesza czas ładowania strony.

Pytanie 11

Podany fragment kodu PHP ma na celu wstawienie wartości z zmiennych $a, $b, $c do bazy danych, w tabeli dane. Tabela ta składa się z czterech kolumn, z których pierwsza to autoinkrementowany klucz podstawowy. Które z zapytań powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A. ```SELECT '$a', '$b', '$c' FROM dane;```
B. ```SELECT NULL, '$a', '$b', '$c' FROM dane;```
C. ```INSERT INTO dane VALUES ('$a', '$b', '$c');```
D. ```INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');```
Odpowiedzi, które zaczynają się od polecenia SELECT, są błędne, ponieważ nie mają na celu wstawienia nowych danych do tabeli. SELECT jest używane do pobierania danych z bazy danych, a nie do ich dodawania. Polecenie "SELECT '$a', '$b', '$c' FROM dane;" jedynie wyciąga dane, nie wprowadza żadnych zmian w tabeli, co nie spełnia wymagań zadania. Również "SELECT NULL, '$a', '$b', '$c' FROM dane;" działa podobnie, wciąż pozostając w zakresie odczytu danych, a nie ich dodawania. Dwa pierwsze polecenia nie tylko nie są związane z wstawianiem danych, ale również mogą wprowadzać użytkownika w błąd, sugerując, że ich celem jest modyfikacja bazy. Kolejna odpowiedź "INSERT INTO dane VALUES ('$a', '$b', '$c');" jest błędna, ponieważ nie uwzględnia klucza głównego, który powinien być autoinkrementowany. Przekazanie NULL jako pierwszego argumentu jest kluczowe, ponieważ pozwala bazie danych na zarządzanie identyfikatorem. Typowe błędy myślowe obejmują pomylenie operacji wstawiania z operacjami odczytu oraz nieprawidłowe przypuszczenie, że można pominąć kolumny kluczy głównych w zapytaniach wstawiających.

Pytanie 12

Termin "front-end" w kontekście projektowania stron WWW odnosi się do

A. organizacji informacji na serwerze WWW
B. działania skryptów oraz aplikacji realizowanych po stronie serwera WWW
C. interfejsu witryny internetowej powiązanego z technologiami operującymi w przeglądarce internetowej
D. bazy danych z danymi publikowanymi na stronie
Ważne jest, by zrozumieć, że front-end i back-end pełnią różne role w tworzeniu aplikacji internetowych. Back-end zajmuje się tym, co dzieje się na serwerze, czyli organizowaniem danych i logiką aplikacji. Jeśli myślisz, że front-end to wszystko, co związane z serwerem, to musisz to przemyśleć. Front-end to rzeczywiście ta warstwa, którą widzisz, ale też komunikacja z serwerem przez technologie jak AJAX. A jeśli ktoś mówi, że front-end to baza danych, to totalnie nie tak. Bazy danych to sprawa back-endu. Często można też spotkać zamieszanie między interfejsem użytkownika a logiką aplikacji, co może prowadzić do nieporozumień w tworzeniu stron. Projektując coś, musisz myśleć o obu tych warstwach, żeby wszystko razem dobrze działało.

Pytanie 13

Jakie właściwości stylu CSS poprawnie definiują dla akapitu czcionkę: Arial; jej wielkość: 16 pt; oraz styl czcionki: kursywa?

A. p {font-style: Arial; font-size: 16pt; font-variant: normal;}
B. p {font-style: Arial; size: 16px; font-weight: normal;}
C. p {font-family: Arial; font-size: 16pt; font-style: italic;}
D. p {font-family: Arial; font-size: 16px; font-variant: normal;}
Odpowiedź p {font-family: Arial; font-size: 16pt; font-style: italic;} jest poprawna, ponieważ zawiera wszystkie istotne właściwości, które definiują krój, rozmiar oraz styl czcionki dla akapitu. Właściwość font-family definiuje krój czcionki, w tym przypadku Arial, co jest zgodne z wymaganiami. Właściwość font-size ustawia rozmiar czcionki na 16 punktów (pt), co jest standardowym sposobem definiowania wielkości czcionki w kontekście typografii. Ponadto właściwość font-style została poprawnie użyta do określenia stylu pochylenia czcionki, co w CSS jest reprezentowane przez wartość italic. Te właściwości są zgodne z dobrymi praktykami w CSS, które zalecają precyzyjne definiowanie czcionek, aby zapewnić spójność w prezentacji tekstu. Przykładowo, stosując ten styl w dokumencie HTML, uzyskasz wyraźnie wyodrębniony akapit, który będzie atrakcyjny wizualnie i czytelny. Zastosowanie odpowiednich jednostek, takich jak pt dla rozmiaru czcionki, jest również istotne dla zapewnienia odpowiedniej skalowalności na różnych urządzeniach.

Pytanie 14

Jakie zadanie wykonuje funkcja napisana w JavaScript?

function fun1(a,b)
{
    if ( a % 2 != 0 ) a++;
    for(n=a; n<=b; n+=2)
        document.write(n);
}
A. sprawdzenie, czy liczba a jest liczbą nieparzystą; jeśli tak, to jej wypisanie
B. wypisanie wszystkich liczb w zakresie od a do b
C. zwrócenie parzystych wartości liczb od a do b
D. wypisanie liczb parzystych w przedziale od a do b
Analiza niepoprawnych odpowiedzi wymaga zrozumienia, dlaczego poszczególne opcje nie pasują do działania funkcji fun1. W pierwszym przypadku, opcja dotycząca sprawdzania, czy liczba a jest nieparzysta i jej wypisywania, nie jest zgodna z logiką funkcji. Chociaż funkcja sprawdza, czy a jest nieparzysta, to nie wypisuje jej, lecz zmienia ją na parzystą, co wskazuje, że jej celem nie jest wypisywanie liczby a, ale przygotowanie jej do dalszej iteracji. Wypisanie wszystkich liczb z przedziału od a do b również nie jest prawidłowe, ponieważ funkcja nie iteruje po wszystkich liczbach, lecz wyłącznie po liczbach parzystych. Warto zauważyć, że funkcja pomija wszystkie liczby nieparzyste, co wyklucza tę opcję. Kolejna możliwa odpowiedź sugeruje zwracanie wartości parzystych liczb od a do b, jednak funkcja nie wykorzystuje żadnej procedury zwracania wartości, a jej konstrukcja wskazuje na bezpośrednie wypisywanie wyników, co wyklucza tę możliwość. Typowy błąd myślowy to niepoprawne rozumienie działania pętli for oraz operacji wypisywania danych w kontekście przeglądarki internetowej, co jest istotne z punktu widzenia dynamicznych aplikacji webowych. Zrozumienie, jak działa operator modulo i jego rola w wyznaczaniu parzystości liczb, jest kluczowe dla poprawnego interpretowania takich fragmentów kodu. Wskazane jest również, aby programiści byli świadomi różnicy między wypisywaniem a zwracaniem wyników, co często prowadzi do nieporozumień w kontekście funkcji i metod w JavaScript i innych językach programowania.

Pytanie 15

Który operator w PHP wyznacza resztę z dzielenia?

A.
@
B.
&
C.
%
D.
#
Pozostałe znaki to nie jest operator reszty. & to bitowy AND (działa na pojedynczych bitach liczb). @ to operator wyciszania błędów w PHP. # rozpoczyna komentarz jednoliniowy. Resztę z dzielenia daje wyłącznie %.

Pytanie 16

Która reguła dotycząca sekcji <head> w HTML jest poprawna?

A. w <head> definiuje się szablon strony znacznikami <div>
B. w <head> zawiera się sekcję <body>
C. w <head> nie można umieszczać CSS, tylko odwołanie do pliku
D. w <head> mogą wystąpić <meta>, <title>, <link>
Sekcja <head> nie zawiera widocznej treści strony, lecz informacje O niej - metadane i powiązania z zasobami. Poprawnie mogą się w niej znaleźć <meta> (np. kodowanie znaków, opis dla wyszukiwarek), <title> (tytuł widoczny na karcie przeglądarki) oraz <link> (np. dołączenie zewnętrznego arkusza CSS). Dlatego poprawne jest stwierdzenie o <meta>, <title> i <link>.

Pytanie 17

Zarządzanie procesem przekształcania kodu źródłowego stworzonego przez programistę na kod maszynowy, który jest zrozumiały dla komputera, nosi nazwę

A. wdrażanie
B. analizowanie
C. rozpoczynanie
D. kompilowanie
Kompilowanie to proces, w którym kod źródłowy, napisany w języku programowania wysokiego poziomu, jest przekształcany na kod maszynowy, który może być zrozumiany i wykonany przez komputer. Działa to na zasadzie analizy składniowej i semantycznej kodu źródłowego, a następnie generowania odpowiednich instrukcji dla procesora. Przykładem narzędzi, które realizują ten proces, są kompilatory, takie jak GCC dla języka C czy javac dla języka Java. Kompilowanie ma kluczowe znaczenie w programowaniu, ponieważ pozwala na optymalizację kodu, co zwiększa wydajność aplikacji. Dobre praktyki wskazują, że kompilowanie powinno być częścią cyklu programowania, a regularne kompilowanie kodu pomaga w szybszym wykrywaniu błędów oraz zapewnia, że kod jest zawsze zgodny z wymaganiami projektowymi. Warto również zaznaczyć, że proces kompilacji może obejmować różne etapy, takie jak prekompilacja, generacja kodu pośredniego oraz linkowanie, co czyni go złożonym i wieloetapowym działaniem.

Pytanie 18

Program FileZilla może być użyty do

A. publikacji strony internetowej na serwerze
B. walidacji strony internetowej
C. zmiany domyślnych ustawień hostingu dla strony internetowej
D. zarządzania bazami danych strony internetowej
Program FileZilla jest popularnym klientem FTP, który umożliwia przesyłanie plików na serwery internetowe, co jest kluczowe przy publikacji stron internetowych. Użytkownicy mogą korzystać z FileZilla do łatwego zarządzania plikami na serwerze, co pozwala na przesyłanie wszystkich niezbędnych plików HTML, CSS, JavaScript oraz multimediów do katalogu głównego serwera. Przykładowo, po zakończeniu prac nad stroną lokalnie, użytkownik może użyć FileZilla do przesłania plików na serwer, co sprawia, że strona staje się dostępna dla internautów. Program wspiera różne protokoły transferu plików, takie jak FTP, FTPS czy SFTP, co zwiększa bezpieczeństwo przesyłania danych, zgodnie z dzisiejszymi standardami. Używając FileZilla, użytkownicy mogą również zarządzać strukturą katalogów na serwerze, co jest zgodne z dobrymi praktykami w zakresie organizacji plików. Poznanie tego narzędzia i jego funkcji jest niezwykle istotne dla każdego, kto planuje publikować treści w internecie.

Pytanie 19

Który z obrazków ilustruje efekt działania podanego fragmentu kodu HTML?

Ilustracja do pytania
A. Obrazek A
B. Obrazek B
C. Obrazek C
D. Obrazek D
Odpowiedzi inne niż C są niepoprawne ponieważ nie uwzględniają poprawnie działania atrybutu rowspan co prowadzi do błędnego renderowania tabeli. W przypadku błędnego rozumienia atrybutu rowspan możemy obserwować sytuacje gdzie komórki tabeli są wyświetlane w niewłaściwych miejscach co może sugerować że atrybut ten jest błędnie zrozumiany jako wpływający na szerokość a nie na wysokość komórki. Często spotykanym błędem jest zakładanie że rowspan działa podobnie jak colspan co prowadzi do błędnego ułożenia komórek w tabeli. Ważne jest aby zrozumieć że rowspan definiuje ile wierszy ma zajmować dana komórka a nie ile kolumn co jest kluczowe dla prawidłowego zrozumienia układów tabelarycznych w HTML. Takie błędy mogą prowadzić do nieczytelnych i niepoprawnie zorganizowanych danych na stronie WWW co jest szczególnie problematyczne w przypadku stron które muszą być kompatybilne z różnymi urządzeniami i technologiami asystującymi. Poprawne stosowanie atrybutów rowspan i colspan jest fundamentalne dla tworzenia dostępnych i estetycznych układów tabelarycznych.

Pytanie 20

W podanym kodzie PHP, w miejscu kropek należy umieścić odpowiednią instrukcję

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
while ($wiersz = ...................)
    echo "$wiersz[0] $wiersz[1]";
A. mysqli_query($zapytanie)
B. mysqli_fetch_array($zapytanie)
C. mysqli_free_result($zapytanie)
D. mysqli_num_fields($zapytanie)
Mysqli_query($zapytanie) to funkcja, która wykonuje zapytanie SQL, ale nie przetwarza wyników. Jest to kluczowy etap interakcji z bazą danych, ponieważ bez wykonania zapytania nie można uzyskać żadnych danych. Jednak w podanym kodzie funkcja ta już została użyta do utworzenia zasobu $zapytanie, więc jej ponowne użycie w pętli nie miałoby sensu. Z kolei mysqli_free_result($zapytanie) służy do zwolnienia zasobów związanych z wynikiem zapytania, co jest potrzebne po zakończeniu przetwarzania danych, aby unikać wycieków pamięci. W miejscu kropek nie jest jednak potrzebne, ponieważ nadal przetwarzamy dane. Mysqli_num_fields($zapytanie) zwraca liczbę pól w wyniku zapytania, co może być przydatne podczas analizy struktury danych, ale nie jest właściwe do pobierania danych z zapytania. Typowe błędy myślowe wynikają z niezrozumienia procesu przetwarzania wyników zapytania i różnicy między wykonaniem zapytania a przetwarzaniem jego wyników. Ważne jest, aby rozróżniać role poszczególnych funkcji i stosować je zgodnie z ich przeznaczeniem, co jest fundamentem efektywnej pracy z bazami danych.

Pytanie 21

Tabele Klienci oraz Zgloszenia są związane relacją jeden do wielu. Jakie polecenie należy wydać, aby uzyskać tylko opis zgłoszenia oraz odpowiadające mu nazwisko klienta dla zgłoszenia numer 5?

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Klienci.id = 5
B. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Zgloszenia.id = 5
C. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.id WHERE Zgloszenia.id = 5
Ta odpowiedź jest prawidłowa, ponieważ używa poprawnej składni SQL do wykonania zapytania z dwóch tabel powiązanych relacją jeden do wielu. Kluczowym elementem jest użycie klauzuli JOIN, która łączy tabelę Zgloszenia z tabelą Klienci poprzez pole Klienci_id, będące kluczem obcym w tabeli Zgloszenia. Dzięki temu możliwe jest powiązanie odpowiednich rekordów z dwóch tabel. Warunek w klauzuli WHERE Zgloszenia.id = 5 precyzuje, że zapytanie ma zwrócić dane tylko dla zgłoszenia o identyfikatorze 5. Taki sposób pisania zapytań SQL jest zgodny z normami ANSI SQL i jest powszechnie stosowany w systemach zarządzania bazami danych jak MySQL, PostgreSQL czy SQL Server. Korzystanie z JOIN, zwłaszcza z klauzulą ON, jest dobrą praktyką, ponieważ zapewnia czytelność i bezpieczeństwo zapytań. W realnych zastosowaniach, takie zapytania są używane do łączenia danych z różnych źródeł w celu ich analizy lub raportowania. Prawidłowa struktura zapytania ułatwia jego modyfikację i integrację z innymi operacjami bazy danych, co jest niezbędne w zarządzaniu danymi w dużych systemach informatycznych. Zrozumienie mechanizmu JOIN oraz użycie klauzuli WHERE w celu ograniczenia wyników jest kluczowe w efektywnym zarządzaniu i analizie danych w relacyjnych bazach danych.

Pytanie 22

Do czego służy w JavaScript metoda Math.random()?

A. do zaokrąglenia liczby w górę do całkowitej
B. do zwrócenia liczby po zaokrągleniu
C. do zwrócenia liczby pseudolosowej
D. do porównania dwóch napisów
Metoda Math.random() zwraca liczbę pseudolosową z przedziału od 0 (włącznie) do 1 (wyłącznie). Mnożąc i zaokrąglając wynik, uzyskuje się losowe liczby z dowolnego zakresu. Dlatego Math.random() zwraca liczbę pseudolosową.

Pytanie 23

Jaki zapis w dokumencie HTML umożliwia powiązanie z zewnętrznym arkuszem stylów o nazwie style.css?

A. <a src="style.css">
B. <a href="style.css">
C. <link rel="stylesheet" href="style.css">
D. <link rel="stylesheet' src="style.css">
Zapis <link rel="stylesheet" href="style.css"> jest poprawnym sposobem na dołączenie zewnętrznego arkusza stylów do dokumentu HTML. Atrybut 'rel' określa relację między dokumentem a zewnętrznym zasobem, w tym przypadku wskazując, że jest to arkusz stylów. Atrybut 'href' z kolei wskazuje ścieżkę do pliku CSS, który ma być użyty. Użycie znacznika <link> jest zgodne z standardem W3C i jest najlepszą praktyką w tworzeniu stron internetowych. Dzięki temu przeglądarka może załadować style z zewnętrznego pliku, co pozwala na łatwiejsze zarządzanie stylami oraz ich ponowne użycie w różnych dokumentach HTML. Umożliwia to także separację treści od stylizacji, co jest kluczowe w koncepcji wzorców projektowych, takich jak MVC (Model-View-Controller). Przykładowo, aby zmienić wygląd całej strony, wystarczy edytować jeden plik CSS, co znacząco upraszcza proces tworzenia i utrzymania witryn.

Pytanie 24

Wskaż, który paragraf jest sformatowany przy użyciu podanego stylu CSS:

p {
    font-family: serif;
    background-color: Teal;
    color: white;
    font-style: italic;
}
Ilustracja do pytania
A. Paragraf 1
B. Paragraf 4
C. Paragraf 2
D. Paragraf 3
Paragraf 4 jest prawidłowo sformatowany zgodnie z przedstawionym stylem CSS. W stylu tym zastosowano cztery właściwości: font-family o wartości serif co sugeruje użycie czcionki o kroju szeryfowym background-color ustawiony na Teal co ustawia tło na ciemnozielony kolor color ustawiony na White co oznacza że tekst powinien być biały oraz font-style ustawiony na italic co powoduje że tekst jest pochylony. Paragraf 4 spełnia te kryteria jest napisany czcionką szeryfową ma ciemnozielone tło biały tekst i jest kursywą. Zastosowanie takich stylów jest częste w projektowaniu stron internetowych gdzie ważne jest czytelne i estetyczne przedstawienie informacji. Używanie odpowiednich stylów CSS pozwala na lepszą organizację wizualną treści co jest kluczowe w tworzeniu interfejsów przyjaznych dla użytkownika. Stylowanie w CSS wspiera standardy takie jak CSS3 które wprowadzają nowe właściwości i ulepszenia umożliwiające bardziej zaawansowane i wydajne metody formatowania.

Pytanie 25

W którym znaczniku HTML5 stosuje się atrybut action?

A.
<form>
B.
<code>
C.
<body>
D.
<head>
Pozostałe znaczniki nie obsługują wysyłki danych. <code> prezentuje fragment kodu, <body> to kontener całej treści strony, a <head> zawiera metadane dokumentu. Atrybut action należy do <form>.

Pytanie 26

Grafik pragnie zmienić obraz JPG na format PNG bez utraty jakości, tak aby w obszarach, gdzie pierwotnie był kolor biały, w finalnym obrazie występowała przezroczystość. W tym celu powinien

A. dodać kanał alfa
B. zmniejszyć rozdzielczość obrazu
C. zaimportować obraz do edytora grafiki wektorowej
D. przekształcić obraz w odcienie szarości
Dodanie kanału alfa do obrazu JPG, aby uzyskać przezroczystość w kolorze białym, jest najlepszym podejściem. Kanał alfa to dodatkowa warstwa informacji w pliku graficznym, która definiuje przezroczystość każdego piksela. W formacie PNG, kanał alfa umożliwia tworzenie przezroczystych tła, co jest szczególnie przydatne w projektach, gdzie elementy graficzne muszą być nakładane na różne tła. W praktyce, aby uzyskać pożądany efekt, grafik powinien użyć narzędzi do edycji grafiki, takich jak Adobe Photoshop, GIMP lub Inkscape. Po zaimportowaniu obrazu JPG, użytkownik może użyć funkcji selekcji koloru, aby zaznaczyć obszary białe, a następnie usunąć je, co wprowadzi przezroczystość w tych miejscach. Na końcu, obraz można zapisać jako PNG, co zachowa wprowadzone zmiany. Tego typu operacje są standardem w pracy z grafiką komputerową, szczególnie w projektach związanych z web designem i tworzeniem materiałów reklamowych.

Pytanie 27

Jaką funkcję pełni program debugger?

A. badania kodu źródłowego w celu wykrycia błędów składniowych
B. przekładania kodu napisanego w języku wyższego poziomu na język maszynowy
C. analizy działającego programu w celu wykrycia błędów
D. interpretacji kodu w ramach wirtualnej maszyny Java
Pojęcia związane z błędnymi odpowiedziami często wynikają z nieporozumienia dotyczącego ról, jakie pełnią różne narzędzia i procesy w inżynierii oprogramowania. Analiza kodu źródłowego w celu odnalezienia błędów składniowych odnosi się do działania kompilatorów i narzędzi statycznej analizy kodu, które zajmują się oceną jakości kodu przed jego wykonaniem. Tego rodzaju narzędzia są przydatne, ale nie mają na celu lokalizacji błędów w czasie rzeczywistym, co jest kluczowe dla debuggowania. Tłumaczenie kodu na język maszynowy to zadanie kompilatorów, które przekształcają kod źródłowy w formę, która może być zrozumiana przez komputer, ale nie zajmują się analizą błędów podczas działania programu. Interpretacja kodu w wirtualnej maszynie Java również nie odnosi się bezpośrednio do lokalizacji błędów, bowiem jest to proces, w którym kod bajtowy jest wykonywany, ale bez możliwości interakcji w czasie rzeczywistym, jak to ma miejsce w przypadku debuggera. Dlatego kluczowe jest zrozumienie, że debugger ma za zadanie monitorować i analizować program w trakcie jego działania, co jest fundamentalne dla diagnostyki i poprawy jakości oprogramowania.

Pytanie 28

Wskaż stwierdzenie, które nie jest prawdziwe dla następującej definicji funkcji w języku C++?

void zamien( float &x, float &y){
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}
A. Funkcja nie zwraca wartości.
B. Funkcja zwraca wartość.
C. Funkcja posiada dwa parametry.
D. Funkcja odwołuje się do parametrów przez referencję.
Niestety, wybrałeś odpowiedź, która nie jest właściwa. Poprawna odpowiedź w tym przypadku to 'Funkcja zwraca wartość', co jest nieprawdziwe dla podanej definicji funkcji w C++. Mówimy tutaj o funkcji typu 'void', która z zasady nie zwraca nic. Typ 'void' oznacza, że nie mamy zwracanego typu. Poza tym, stwierdzenia, że funkcja nie ma parametrów czy nie odnosi się do nich przez referencję, też są błędne. W rzeczywistości, funkcja ma dwa parametry typu float, które są przekazywane przez referencję. To naprawdę istotne, bo pomaga w modyfikacji wartości zmiennych, które przekazujemy do funkcji. Zrozumienie tego jest ważne w C++, żeby lepiej zarządzać pamięcią i danymi.

Pytanie 29

Jaką wartość zwróci funkcja zoo zdefiniowana w języku C++, wywołana z aktualnym parametrem 3.55

int zao(float x){
    return (x + 0.5);
}
A. 4
B. 3
C. 4.05
D. 3.5
Niestety, wybrana odpowiedź jest niepoprawna. Możliwe, że zapomniano o specyficznych zasadach konwersji typów danych w języku C++. W języku tym, jeśli mamy do czynienia z wartościami zmiennoprzecinkowymi (float) i konwertujemy je do wartości całkowitych (int), część ułamkowa jest zawsze odrzucana. Nie ma tutaj zaokrąglenia do najbliższej liczby całkowitej. Dlatego, nawet jeśli wynik działania wewnątrz funkcji wynosi 4.05, po konwersji do typu int, zostaje z tego tylko 4. To jest typowy błąd, który może prowadzić do nieoczekiwanych wyników, szczególnie w programach, gdzie precyzja obliczeń jest kluczowa. Pamiętaj zawsze o tej specyfice języka C++ i dokładnie określaj typy danych, z którymi pracujesz.

Pytanie 30

Polecenie DBCC CHECKDB ('sklepAGD', Repair_fast) w systemie MS SQL Server

A. zweryfikuje spójność danej tabeli
B. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
C. przeprowadzi kontrolę spójności bazy danych i wykona kopię zapasową
D. sprawdzi spójność konkretnej tabeli i naprawi uszkodzone dane
Odpowiedzi, które stwierdzają, że polecenie DBCC CHECKDB sprawdza spójność określonej tabeli, są wynikiem nieporozumienia dotyczącego funkcji tego narzędzia. DBCC CHECKDB działa na poziomie bazy danych, a nie pojedynczych tabel, co oznacza, że jego celem jest ocena integralności całej struktury bazy danych. Przykładowo, niektóre użytkownicy mogą mylić CHECKDB z poleceniem CHECKTABLE, które rzeczywiście sprawdza spójność pojedynczych tabel. Inna błędna koncepcja występuje w odpowiedziach sugerujących, że polecenie wykonuje kopię bezpieczeństwa – w rzeczywistości DBCC CHECKDB nie tworzy kopii zapasowych, a jego celem jest identyfikacja problemów, a nie ich rozwiązanie poprzez archiwizację danych. Warto także zaznaczyć, że chociaż DBCC CHECKDB może naprawić uszkodzone indeksy, nie jest to jego jedyny zakres działania, co czyni błędnym ograniczenie jego funkcjonalności tylko do tego aspektu. Typowe błędy myślowe obejmują także nieznajomość roli, jaką odgrywają indeksy w bazach danych oraz ich wpływu na wydajność. Właściwe zrozumienie działania DBCC CHECKDB i jego opcji naprawczych jest kluczowe dla skutecznego zarządzania bazą danych i zapewnienia jej stabilności.

Pytanie 31

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

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

Pytanie 32

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. zmiany danych oraz przeglądania tabeli klienci
B. usunięcia tabeli lub jej rekordów
C. tworzenia tabeli klienci i modyfikowania w niej danych
D. przeglądania tabeli klienci oraz dodawania do niej rekordów
Odpowiedzi, które sugerują, że <b>adam</b> nie ma uprawnień do usunięcia tabeli lub jej rekordów, mogą wynikać z niepełnego zrozumienia pojęcia uprawnień w bazach danych. Przede wszystkim, użytkownik z uprawnieniami ALL PRIVILEGES zyskuje pełny zestaw możliwości, co obejmuje również prawo do usuwania danych. W związku z tym, stwierdzenie, że użytkownik może tylko aktualizować dane i przeglądać tabelę, jest błędne. Ponadto, nieprawidłowe twierdzenie, że <b>adam</b> może tworzyć tabelę <b>klienci</b>, jest także mylące, ponieważ przydzielone uprawnienia dotyczą już istniejącej tabeli, a nie tworzenia nowych struktur. Użytkownik przyznany ALL PRIVILEGES na konkretnej tabeli nie ma automatycznie możliwości tworzenia nowych tabel w bazie danych; wymaga to oddzielnego przydziału uprawnień. Kluczowym błędem w myśleniu jest założenie, że uprawnienia administracyjne dotyczą jedynie wstawiania i przeglądania danych, podczas gdy tak naprawdę obejmują one również usuwanie. W praktyce, zarządzając uprawnieniami, należy jasno zdefiniować, jakie konkretne działania są dozwolone, aby zapewnić bezpieczeństwo bazy danych oraz uniknąć nieautoryzowanych modyfikacji. Dobre praktyki w zarządzaniu użytkownikami wskazują na potrzebę ograniczonego dostępu, co może ułatwić kontrolę nad danymi i zachować ich integralność.

Pytanie 33

Która z poniżej wymienionych zasad nie przyczyni się do poprawy czytelności kodu?

A. W każdej linii kodu powinna znaleźć się tylko jedna komenda
B. Nazwy zmiennych muszą odzwierciedlać ich funkcję
C. Kod powinien być napisany bez wcięć i nadmiarowych enterów
D. Trzeba dodawać komentarze w trudniejszych fragmentach kodu
Wszystkie informacje zawarte w nietrafnych odpowiedziach błędnie przedstawiają zasady dobrej praktyki programowania, które są kluczowe dla zwiększenia czytelności kodu. Istnienie tylko jednej instrukcji w każdej linii kodu jest zasady, która nie tylko nie jest uniwersalna, ale może prowadzić do nadmiernego rozdrobnienia logiki programu, utrudniając jego analizę. Z kolei użycie zrozumiałych nazw zmiennych jest istotne, ponieważ pozwala innym programistom zrozumieć, co dana zmienna reprezentuje. Przykładowo, nazwa "liczbaStudentów" jest o wiele bardziej informacyjna niż "x". Ponadto, wprowadzenie komentarzy w trudnych częściach kodu nie tylko pomaga w wyjaśnieniu skomplikowanych zagadnień, ale również pełni rolę dokumentacji, co jest niezwykle ważne w dłuższej perspektywie czasowej, zwłaszcza w projektach zespołowych. Przykładem mogą być fragmenty kodu, gdzie skomplikowane algorytmy wymagają dodatkowych wyjaśnień. Komentarze ułatwiają innym zrozumienie myśli programisty. W związku z tym, ignorowanie zasad dotyczących wcięć, zbędnych enterów oraz używania komentarzy prowadzi do kodu, który jest trudny do zrozumienia, co w ostateczności może skutkować błędami w implementacji oraz dłuższym czasem potrzebnym na debugowanie.

Pytanie 34

Co można powiedzieć o przedstawionym zapisie języka HTML 5?

<title>Strona o psach</title>
A. Pojawi się na karcie dokumentu w przeglądarce.
B. Zostanie umieszczony w treści strony, na samym czubku.
C. Jest fakultatywny w kontekście HTML 5 i nie jest wymagany w dokumencie.
D. Stanowi jedynie informację dla robotów wyszukiwania i nie jest widoczny w przeglądarce.
Odpowiedzi, które sugerują, że zawartość znacznika <title> nie jest widoczna w przeglądarce czy że nie ma znaczenia dla zawartości strony, są po prostu błędne. Zapis <title> to kluczowy element w HTML, który informuje użytkownika o tematyce strony, ale też wpływa na to, jak jest postrzegana przez wyszukiwarki. Tytuł nie jest w treści strony, a w nagłówku karty przeglądarki oraz w wynikach wyszukiwania. Ignorowanie tytułu to częsty błąd w myśleniu o SEO i projektowaniu stron. Można też usłyszeć, że <title> jest opcjonalny, co jest nieprawdą, bo brak tego elementu może sprawić, że użytkownicy i roboty wyszukiwarek będą mieli problem z identyfikacją strony. Tytuł musi być w kodzie HTML, żeby zwiększyć użyteczność i dostępność strony. Warto też pamiętać, że <title> nie jest tylko dla robotów, ale przede wszystkim ma pomóc użytkownikom zrozumieć, co mogą znaleźć na stronie.

Pytanie 35

Przy założeniu, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
nada użytkownikowi anna uprawnienia wyłącznie do
A. wybierania, wstawiania oraz aktualizacji danych w tabeli o nazwie klienci
B. wybierania, dodawania kolumn oraz zmiany struktury tabeli o nazwie klienci
C. wybierania, wstawiania oraz aktualizacji danych we wszystkich tabelach w bazie o nazwie klienci
D. wybierania, dodawania kolumn oraz zmiany struktury wszystkich tabel w bazie o nazwie klienci
Zrozumienie praw dostępu w bazach danych jest kluczowe dla bezpieczeństwa oraz efektywnego zarządzania danymi. Niepoprawne odpowiedzi często wynikają z mylącego interpretowania pojęć związanych z uprawnieniami. Na przykład, odpowiedź sugerująca, że użytkownik 'anna' ma możliwość dodawania pól w tabeli, jest błędna, ponieważ polecenie GRANT nie obejmuje uprawnień do modyfikacji struktury tabeli. Uprawnienia do dodawania kolumn (ALTER) są odrębną kategorią praw i muszą być przyznane w osobnym poleceniu. Kolejna nieprawidłowa koncepcja dotyczy rozumienia zakresu uprawnień. Odpowiedzi, które sugerują, że prawa te dotyczą wszystkich tabel w bazie danych, mylą pojęcie 'ON klienci' z szerszymi uprawnieniami, co mogłoby prowadzić do nadużyć. GRANT SELECT, INSERT, UPDATE na konkretnej tabeli 'klienci' dotyczy tylko tej tabeli, co jest zgodne z zasadą ograniczonego dostępu. Należy również pamiętać, że udzielanie zbyt szerokich uprawnień może narazić bazę danych na nieautoryzowane manipulacje, co jest sprzeczne z najlepszymi praktykami zarządzania bezpieczeństwem. W kontekście projektowania systemów bazodanowych, kluczowe jest zrozumienie oraz umiejętne zarządzanie uprawnieniami w celu zapewnienia odpowiedniego poziomu ochrony danych.

Pytanie 36

W JavaScript metoda getElementById odnosi się do

A. zmiennej numerycznej
B. klasy zdefiniowanej w CSS
C. znacznika HTML o wskazanym id
D. znacznika HTML o podanej nazwie klasy
Wybór innych opcji może wynikać z nieporozumień dotyczących funkcjonalności metody getElementById oraz jej roli w kontekście manipulacji DOM. Odpowiedzi wskazujące na zmienne liczbowe sugerują, że JavaScript może być używany w sposób przypominający inne języki programowania, w których zmienne mogą być wykorzystywane do identyfikacji elementów. W rzeczywistości jednak, JavaScript operuje na strukturach DOM, co oznacza, że identyfikacja elementów opiera się na ich atrybutach HTML, a nie na zmiennych jako takich. Klasa zdefiniowana w CSS to kolejny temat, który często wprowadza w błąd. getElementById nie może odwoływać się do klasy, nawet jeśli elementy mogą być stylowane za pomocą CSS. Warto zauważyć, że do odwołania się do elementów klasy w JavaScript służy metoda getElementsByClassName lub querySelectorAll, ale to nie jest funkcjonalność metody getElementById. Mylne jest również założenie, że metoda ta może odnosić się do znaczników HTML na podstawie ich nazw klasy. Identyfikatory są unikalne, więc próbując uzyskać dostęp do elementu przez nazwę klasy, można napotkać trudności, gdyż wiele elementów może dzielić tę samą klasę. Podsumowując, zrozumienie różnic pomiędzy identyfikatorem a klasą jest kluczowe dla efektywnego wykorzystania JavaScript w projektach webowych. Nieprawidłowe podejście do tych zasad prowadzi do błędów w kodzie oraz do problemów z jego utrzymywaniem.

Pytanie 37

Która technologia zapewnia SZYFROWANE połączenie ze stroną (HTTPS)?

A. SSL
B. CMS
C. SEO
D. FTP
Pozostałe skróty dotyczą czego innego. CMS to system zarządzania treścią, SEO to optymalizacja pod wyszukiwarki, a FTP to protokół przesyłania plików na serwer. Szyfrowanie połączenia HTTPS zapewnia SSL.

Pytanie 38

Narzędzie zaprezentowane na ilustracji służy do

Ilustracja do pytania
A. walidacji stylów CSS
B. walidacji kodu HTML i XHTML
C. debugowania strony internetowej
D. sprawdzania zgodności witryny ze standardem HTML5
Narzędzie przedstawione na ilustracji to usługa walidacji CSS stworzona przez World Wide Web Consortium (W3C). Jego głównym celem jest sprawdzanie poprawności arkuszy stylów CSS pod kątem zgodności z obowiązującymi standardami. Walidacja CSS pozwala na identyfikację błędów składniowych oraz niepoprawnych wartości, co jest kluczowe dla zapewnienia spójności wyglądu strony w różnych przeglądarkach. Korzystanie z walidatora CSS jest częścią dobrych praktyk w procesie tworzenia stron internetowych, ponieważ poprawny kod CSS zwiększa dostępność i użyteczność serwisów. Praktycznym przykładem użycia tego narzędzia jest proces optymalizacji strony internetowej, gdzie walidator pomaga w eliminacji błędów, które mogą prowadzić do nieprzewidywalnego zachowania witryny. Dzięki walidacji możemy również upewnić się, że nasze arkusze stylów są zgodne z najnowszymi standardami, co jest istotne dla przyszłej kompatybilności serwisu.

Pytanie 39

Wskaż polecenie, które zostało opisane w ramce.

Dla każdego przebiegu pętli aktualna wartość elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do osiągnięcia ostatniego elementu tablicy
A. for
B. next
C. while
D. foreach
Pętla 'for' wymaga jawnego zarządzania indeksem i często jest stosowana, gdy potrzebujemy precyzyjnej kontroli nad iteracją, na przykład gdy musimy modyfikować indeks lub iterować w niestandardowy sposób. W przeciwieństwie do 'foreach', pętla 'for' nie zajmuje się automatycznym przypisywaniem elementów tablicy do zmiennych, co czyni ją mniej odpowiednią w kontekście opisanym w pytaniu. Instrukcja 'next' nie jest typową konstrukcją w najpopularniejszych językach programowania i może być myląca, ponieważ czasami jest używana w kontekście pętli w VBA lub jako element iteracyjny w innych, mniej popularnych językach. Natomiast pętla 'while' służy do wykonywania iteracji dopóki spełniony jest określony warunek logiczny, co nie jest zgodne z opisaną funkcjonalnością, w której pętla ma automatycznie przypisywać wartość elementów tablicy do zmiennej. Zrozumienie różnic między tymi strukturami pomaga w wyborze odpowiedniego narzędzia do zadania, zwiększając efektywność i czytelność kodu.

Pytanie 40

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(F, 0, E0)
B. rgb(FF, 0, E0)
C. rgb(255, 0, 128)
D. rgb(255, 0, 224)
Zapis #FF00E0 to klasyczny przykład koloru w notacji szesnastkowej, używanej w CSS i ogólnie w webdesignie. Cały haczyk polega na tym, że te literki i cyfry nie są traktowane jako tekst, tylko jako liczby w systemie o podstawie 16. Każde dwa znaki odpowiadają jednej składowej koloru: czerwonej, zielonej i niebieskiej. Czyli mamy strukturę: #RRGGBB. W tym konkretnym przypadku RR = FF, GG = 00, BB = E0.

Częsty błąd polega na traktowaniu tych liter dosłownie, jak w odpowiedziach typu rgb(F, 0, E0) czy rgb(FF, 0, E0). W zapisie rgb() wartości muszą być liczbami dziesiętnymi z zakresu 0–255, a nie ciągami znaków. Przeglądarka oczekuje tam konkretnych wartości natężenia składowych, a nie kodu szesnastkowego. FF to nie symbol, tylko liczba w systemie hex. Żeby ją poprawnie zinterpretować, trzeba przeliczyć ją na system dziesiętny: F to 15, więc FF = 15×16 + 15 = 255. Podobnie z E0: E to 14, więc E0 = 14×16 + 0 = 224. Z mojego doświadczenia to przeliczanie jest źródłem wielu pomyłek, szczególnie na początku nauki.

Inny typowy błąd myślowy to zgadywanie wartości na oko, jak w odpowiedzi rgb(255, 0, 128). Ktoś widzi intensywny kolor, więc daje maksymalny czerwony i jakąś średnią wartość niebieskiego. Problem w tym, że hex E0 to wcale nie jest 128, tylko 224, czyli dużo bliżej maksimum 255 niż środka skali. Takie „strzelanie” bez przeliczenia łamie spójność pomiędzy zapisem hex a rgb i prowadzi do zupełnie innego koloru niż zamierzony.

Dobra praktyka w branży jest taka, żeby zawsze pamiętać: zapis hex to trzy liczby 0–255 zapisane w bazie 16, a rgb() to te same liczby zapisane normalnie, po ludzku, w systemie dziesiętnym. Jeżeli pojawiają się litery A–F, to znaczy, że mamy do czynienia z systemem szesnastkowym i trzeba je potraktować jak cyfry 10–15, a nie jako jakiś tekst. To niby drobiazg, ale w pracy front-endowca albo grafika webowego ma ogromne znaczenie, bo precyzja kolorów jest kluczowa dla spójności całego projektu graficznego.