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: 13 lutego 2026 01:12
  • Data zakończenia: 13 lutego 2026 01:43

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

W tabeli podzespoly należy zaktualizować wartość pola URL na "toshiba.pl" dla wszystkich rekordów, w których pole producent jest równe TOSHIBA. Jak będzie wyglądała ta zmiana w języku SQL?

A. UPDATE podzespoly.producent='TOSHIBA' SET URL = 'toshiba.pl';
B. UPDATE podzespoly SET URL = 'toshiba.pl';
C. UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
D. UPDATE producent='TOSHIBA' SET URL = 'toshiba.pl';
Aby zaktualizować wartość pola URL w tabeli podzespoly na 'toshiba.pl' dla wszystkich rekordów, gdzie pole producent jest równe 'TOSHIBA', należy użyć instrukcji UPDATE w języku SQL. Właściwa składnia tej instrukcji to: UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';. W tej instrukcji UPDATE najpierw wskazujemy, której tabeli dotyczy modyfikacja, w tym przypadku 'podzespoly'. Następnie określamy, jakie pole chcemy zaktualizować, czyli 'URL', oraz ustawiamy nową wartość, którą w tym przypadku jest 'toshiba.pl'. Kluczowym elementem tej operacji jest klauzula WHERE, która filtruje rekordy, które mają być zaktualizowane; w tym przypadku tylko te, które mają producenta 'TOSHIBA'. Bez klauzuli WHERE wszystkie rekordy w tabeli zostałyby zmodyfikowane, co mogłoby prowadzić do utraty danych. Przykład ilustruje, jak precyzyjnie można zarządzać danymi w bazie poprzez odpowiednie warunki. Tego typu operacje są zgodne z normami SQL, co zapewnia ich efektywność i bezpieczeństwo w zarządzaniu danymi.

Pytanie 2

Zaprezentowano kod dla tabeli 3x2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela przypominała tę z obrazka, gdzie wiersz jest niewidoczny?

<table>
    <tr>
        <td style="border: solid 1px;">Komórka 1</td>
        <td style="border: solid 1px;">Komórka 2</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 3</td>
        <td style="border: solid 1px;">Komórka 4</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 5</td>
        <td style="border: solid 1px;">Komórka 6</td>
    </tr>
</table>
/efekt jest na obrazie - nie dołączam - nie analizuj/
Ilustracja do pytania
A. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"visibility: hidden"</span>&gt;</pre>
B. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: table-cell"</span>&gt;</pre>
C. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"clear: none"</span>&gt;</pre>
D. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: none"</span>&gt;</pre>
Odpowiedź jest prawidłowa, ponieważ użycie stylu 'visibility: hidden' w wierszu tabeli skutkuje tym, że wiersz ten nie jest widoczny, ale nadal zajmuje miejsce w układzie tabeli. Oznacza to, że komórki poniżej nie przesuwają się w górę, a struktura tabeli pozostaje niezmieniona. To podejście jest zgodne z sytuacjami, w których chcemy ukryć zawartość bez zmiany rozmieszczenia innych elementów. Jest to przydatne w aplikacjach, gdzie układ strony musi pozostać stabilny dla zachowania spójności wizualnej lub funkcjonalnej. Przykładem może być ukrywanie tymczasowych informacji, które nie powinny wpływać na pozostały układ interfejsu użytkownika. Jest to zgodne z dobrymi praktykami projektowania front-endu, gdzie stylizacje powinny wspierać czytelność i przewidywalność układu strony. Alternatywnie, 'display: none' usunęłoby element z przepływu dokumentu, co zmienia układ, ale w tym przypadku zastosowanie 'visibility: hidden' jest właściwym wyborem dla zachowania struktury.

Pytanie 3

W języku JavaScript przedstawiona definicja jest definicją

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. klasy.
B. kolekcji.
C. obiektu.
D. tablicy.
Dobra robota! Wybrałeś poprawną odpowiedź, czyli tablicę. W języku JavaScript, tablice służą do przechowywania wielu wartości w pojedynczej zmiennej. W podanym przykładzie, zmienna 'imiona' jest tablicą, która zawiera ciągi znaków reprezentujące imiona. Tablica w JavaScript jest obiektem globalnym, który jest używany w kontekście obiektu. Tablice są jednym z podstawowych typów danych, które są niezbędne dla tworzenia i manipulowania danymi. Tworzenie tablicy jest bardzo proste, wystarczy użyć nawiasów kwadratowych [] i oddzielić elementy za pomocą przecinków. Oto przykład: var imiona = ['Jan', 'Anna', 'Piotr'];. W praktyce, tablice są używane w wielu różnych sytuacjach, takich jak przechowywanie danych do dalszej analizy, grupowanie powiązanych danych, tworzenie list lub tabel, a także do przechowywania danych na potrzeby pętli i innych struktur sterujących.

Pytanie 4

Definicja formularza została wykorzystana na stronie www, która przesyła dane do pliku w języku PHP. W której tablicy będą dostępne informacje z formularza?

<form action="plik.php" method="post">
A. $_GET
B. $_COOKIE
C. $_ACTION
D. $_POST
Formularze w HTML służą do przesyłania danych do serwera, a w kontekście języka PHP dane te są dostępne poprzez różne superglobalne tablice, z których najczęściej używaną przy metodzie POST jest tablica $_POST. Metoda POST, określona w atrybucie 'method' formularza, jest używana do przesyłania danych w bardziej bezpieczny sposób niż metoda GET, ponieważ nie pokazuje przesyłanych informacji w URL. Kiedy dane są wysyłane do skryptu PHP z formularza, wszystkie klucze i wartości formularza stają się dostępne jako elementy tablicy $_POST. Przykładowo, jeśli w formularzu znajduje się pole tekstowe o nazwie 'username', po wysłaniu formularza na stronie 'plik.php' można uzyskać dostęp do wartości tego pola za pomocą $_POST['username']. Ta metoda jest zalecana w przypadku przesyłania danych poufnych, takich jak hasła, ponieważ nie są one widoczne w pasku adresu przeglądarki. Dodatkowo, korzystając z $_POST, można przesyłać dane o większej objętości, co jest niemożliwe w przypadku $_GET, który ma ograniczenia długości URL.

Pytanie 5

Jak nazywa się technika sortowania, która polega na podziale zbioru na n przedziałów o równej długości, gdzie przeprowadza się sortowanie, a następnie analizuje i prezentuje posortowane elementy z tych przedziałów?

A. Sortowanie szybkie
B. Sortowanie przez wybór
C. Sortowanie kubełkowe
D. Sortowanie bąbelkowe
Sortowanie szybkie (ang. quicksort) jest algorytmem typu „dziel i zwyciężaj”, który działa poprzez wybór tzw. pivota i podział danych na mniejsze podzbiory, które są sortowane rekurencyjnie. Choć jest to jedna z najszybszych metod sortowania w praktyce, nie polega na podziale na kubełki, co czyni ją nieodpowiednią odpowiedzią na postawione pytanie. Sortowanie bąbelkowe (ang. bubble sort) natomiast, to algorytm, który porównuje sąsiadujące ze sobą elementy i wymienia je, jeśli są w złej kolejności. Jest to metoda mało efektywna, szczególnie dla dużych zbiorów danych, i nie ma zastosowania w kontekście podziału na przedziały. Z kolei sortowanie przez wybór (ang. selection sort) działa poprzez znajdowanie minimalnego (lub maksymalnego) elementu w zbiorze i przenoszenie go na początek, co również nie związane jest z koncepcją kubełków. Typowym błędem myślowym jest mylenie różnych metod sortowania, co często wynika z nieznajomości ich specyfiki i zasad działania. Różne algorytmy mają swoje unikalne cechy i zastosowania, a ich wybór powinien być oparty na charakterystyce danych oraz wymagań dotyczących wydajności, co jest kluczowe w praktycznych zastosowaniach informatycznych.

Pytanie 6

Jaką wartość przyjmie zmienna po wykonaniu poniższego fragmentu kodu w JavaScript?

var w=0;
var i=1;
for (i = 1; i < 50; i++)
{
    if (i%2 == 0)
        w += i;
}
A. liczbom naturalnym, które są nieparzyste i mniejsze od 50
B. suma wszystkich naturalnych liczb nieparzystych, które są większe od 50
C. liczbie naturalnych liczb parzystych większych od 50
D. suma naturalnych liczb parzystych, które są mniejsze od 50
Kod przedstawiony w pytaniu jest fragmentem programu JavaScript, który ma za zadanie zsumować wszystkie liczby parzyste mniejsze od 50. Początkowo zmienna w jest ustawiona na 0 i reprezentuje sumę, którą będziemy obliczać. Pętla for zaczyna się od i=1 i iteruje do i<50 zwiększając wartość i o 1 w każdej iteracji. Wewnątrz pętli znajduje się instrukcja warunkowa if, która sprawdza, czy liczba i jest parzysta, co oznacza, że jej reszta z dzielenia przez 2 wynosi 0. Jeśli warunek jest spełniony, liczba i jest dodawana do zmiennej w. W efekcie po zakończeniu pętli zmienna w zawiera sumę wszystkich parzystych liczb mniejszych niż 50. Przykładem praktycznego zastosowania takiego algorytmu może być sytuacja, w której musimy szybko obliczyć sumę określonego zbioru liczb spełniających dane kryterium, co jest częste w analizie danych lub generowaniu raportów. Konstrukcje takie jak pętla for i operator modulo są podstawowymi narzędziami w programowaniu, pozwalającymi na efektywne przetwarzanie danych i automatyzację złożonych operacji obliczeniowych, co jest zgodne z dobrymi praktykami w branży IT.

Pytanie 7

W SQL, aby zmodyfikować strukturę tabeli, na przykład dodając lub usuwając kolumnę, należy użyć polecenia

A. UPDATE
B. DROP TABLE
C. ALTER TABLE
D. TRUNCATE
Wybór odpowiedzi innych niż "ALTER TABLE" wynika z nieporozumienia dotyczącego funkcji poszczególnych poleceń SQL. Polecenie "UPDATE" służy do modyfikacji danych w istniejących rekordach, a nie do zmiany struktury tabeli. Użycie "UPDATE" zmienia wartości w kolumnach, ale sama struktura tabeli pozostaje niezmieniona. "TRUNCATE" to polecenie, które pozwala na usunięcie wszystkich wierszy z tabeli bez usuwania samej tabeli, co oznacza, że nie zapewnia ono możliwości dodawania lub usuwania kolumn. Z kolei "DROP TABLE" całkowicie usuwa tabelę z bazy danych, co prowadzi do utraty wszystkich danych w niej zawartych, co jest zupełnie inną operacją niż zmiana struktury tabeli. Typowym błędem jest mylenie pojęć związanych z modyfikacją danych i strukturą bazy. W pracy z relacyjnymi bazami danych kluczowe jest zrozumienie, kiedy stosować konkretne polecenia, aby uniknąć niezamierzonych konsekwencji, takich jak utrata danych lub usunięcie potrzebnych struktur. Dlatego istotne jest, aby korzystać z odpowiednich narzędzi i poleceń w zależności od zamierzonego celu, co w przypadku zmiany struktury tabeli jednoznacznie wskazuje na użycie "ALTER TABLE".

Pytanie 8

Jakim protokołem można bezpiecznie przesłać pliki strony internetowej na serwer WWW?

A. SFTP
B. IMAP
C. POP3
D. Telnet
POP3, czyli Post Office Protocol Version 3, to protokół do odbierania maili, ale nie za bardzo nadaje się do przesyłania plików. Głównie synchronizuje wiadomości z lokalnym klientem poczty. Więc jak chcesz przesyłać pliki na stronę, to nie jest dobry wybór. Z kolei Telnet to protokół, który pozwala na zdalne logowanie do systemów, ale nie ma żadnego szyfrowania. Przez to łatwo można przechwycić dane, a to nie jest zbyt bezpieczne, zwłaszcza jak są tam wrażliwe informacje. IMAP, czyli Internet Message Access Protocol, służy do zarządzania mailami na serwerze, ale też nie do przesyłania plików. Tak samo jak POP3, jest tylko do e-maili. Telnet natomiast się nie nadaje do bezpiecznego przesyłania plików, bo nie zapewnia odpowiednich zabezpieczeń.

Pytanie 9

Jakie będzie działanie po naciśnięciu przycisku oznaczonego jako "niebieski", który uruchamia podany kod JavaScript?

<p id="para1">Przykładowy tekst</p><p> i skrypt</p>
<button onClick="changeColor('blue');">niebieski</button>

<script type="text/javascript">
function changeColor(newColor)
{
var elem = document.getElementById("para1");
elem.style.color = newColor;
}
</script>
A. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
B. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
C. Zmiana koloru tekstu "i skrypt" na niebieski
D. Zmiana barwy przycisku na niebieski
Kod JavaScript przedstawiony w pytaniu definiuje funkcję changeColor która przyjmuje jeden argument newColor. Po wywołaniu funkcji przez kliknięcie przycisku funkcja ta używa metody document.getElementById aby pobrać element o identyfikatorze para1. Identyfikator ten jest przypisany do pierwszego elementu paragrafu zawierającego tekst Przykładowy tekst. Następnie w ramach tego elementu zmieniany jest kolor tekstu poprzez przypisanie newColor do właściwości style.color. W omawianym przypadku newColor przyjmuje wartość blue co oznacza że tekst Przykładowy tekst zmieni kolor na niebieski. Warto podkreślić że manipulacja DOM przy użyciu JavaScript jest powszechnie stosowaną techniką w tworzeniu dynamicznych interfejsów użytkownika. Używanie metod takich jak getElementById jest standardem ze względu na ich prostotę oraz efektywność w selekcji elementów HTML. W praktycznych zastosowaniach warto również pamiętać o zgodności ze standardami W3C oraz o możliwościach rozszerzenia za pomocą bibliotek takich jak jQuery które oferują jeszcze bardziej zaawansowane opcje manipulacji DOM.

Pytanie 10

Interpreter PHP zgłosi błąd i nie zrealizuje kodu, jeśli programista

A. pobierze wartość z formularza, w którym pole input nie zostało wypełnione
B. będzie pisał kod bez odpowiednich wcięć
C. będzie definiował zmienne w obrębie warunku
D. nie umieści średnika po wyrażeniu w instrukcji if, jeśli po nim występuje sekcja else
W języku PHP, średnik jest traktowany jako znak końca instrukcji. W przypadku, gdy po wyrażeniu w instrukcji 'if' następuje sekcja 'else', programista musi upewnić się, że poprawnie zakończył instrukcję 'if' średnikiem. W przeciwnym razie, interpreter PHP nie będzie w stanie poprawnie zinterpretować kodu, co prowadzi do błędu składniowego. Przykład: 'if ($a > $b) echo 'a jest większe'; else echo 'b jest większe';' jest poprawny, ponieważ średnik znajduje się po instrukcji 'if'. Jednak, jeśli napiszemy 'if ($a > $b) echo 'a jest większe' else echo 'b jest większe';', to zaowocuje to błędem, ponieważ brak średnika prowadzi do niejednoznaczności w interpretacji. Standardy PHP wymagają, aby każda instrukcja była zakończona średnikiem, co jest kluczowym elementem składni tego języka.

Pytanie 11

Aby dostosować dźwięk do określonego poziomu głośności, trzeba zastosować efekt

A. usuwania szumów
B. normalizacji
C. wyciszenia
D. podbicia basów
Normalizacja to proces, który ma na celu dostosowanie głośności dźwięku do określonego poziomu, co jest kluczowe w produkcji audio. Poprawna normalizacja zapewnia, że dźwięk osiąga optymalny poziom głośności bez zniekształceń, co jest szczególnie ważne w kontekście emisji radiowych, telewizyjnych oraz przy tworzeniu materiałów audio dla platform strumieniowych. W praktyce normalizacja może być realizowana za pomocą różnych algorytmów, takich jak LUFS (Loudness Units Full Scale), które mierzą głośność w sposób, który uwzględnia percepcję ludzkiego ucha. Przykładowo, jeśli mamy nagranie, które jest znacznie cichsze od innych utworów w albumie, proces normalizacji podniesie jego głośność do poziomu zbliżonego do reszty utworów, co poprawia ogólne wrażenie słuchowe. Ponadto, normalizacja jest zgodna z dobrymi praktykami branżowymi, które zalecają utrzymanie spójności głośności między różnymi mediami, co znacząco zwiększa jakość odbioru słuchowego.

Pytanie 12

W programie do edycji grafiki rastrowej, aby skoncentrować się na wybranej części obrazu, nie wpływając na pozostałe jego fragmenty, można zastosować

A. warstwy
B. zmianę rozmiaru
C. odwrócenie
D. przycinanie
Warstwy w edytorach grafiki rastrowej to fundamentalne narzędzie umożliwiające pracę na poszczególnych elementach obrazu bez wpływu na całość. Dzięki zastosowaniu warstw można oddzielić różne elementy graficzne, co pozwala na edytowanie, przekształcanie i manipulowanie nimi niezależnie. Na przykład, można umieścić tekst na oddzielnej warstwie, a następnie dowolnie zmieniać jego położenie, rozmiar czy kolor, nie wpływając na tło. Dodatkowo, warstwy umożliwiają łatwe tworzenie efektów przezroczystości oraz cieni, co zwiększa możliwości artystyczne i techniczne podczas projektowania. W praktyce, standardy dotyczące pracy z warstwami są powszechnie stosowane w branży, co podkreśla ich znaczenie w profesjonalnych edytorach takich jak Adobe Photoshop czy GIMP. Warto również dodać, że organizacja pracy z warstwami, poprzez odpowiednie ich nazywanie i grupowanie, znacznie ułatwia zarządzanie złożonymi projektami graficznymi.

Pytanie 13

W języku SQL dodanie nowej kolumny z nazwą miejscowości do istniejącej tabeli pracownicy umożliwia kwerenda

A. ALTER TABLE pracownicy ADD miejscowosc FLOAT(2);
B. ALTER TABLE pracownicy ADD miejscowosc VARCHAR(100);
C. CREATE TABLE pracownicy ADD miejscowosc FLOAT(2);
D. ALTER TABLE pracownicy DROP COLUMN miejscowosc;
Poprawna odpowiedź używa polecenia ALTER TABLE z klauzulą ADD i odpowiednim typem danych tekstowych: ALTER TABLE pracownicy ADD miejscowosc VARCHAR(100);. W SQL instrukcja ALTER TABLE służy właśnie do modyfikowania istniejącej tabeli: możemy dodawać kolumny, usuwać je, zmieniać typy, klucze itp. Skoro tabela pracownicy już istnieje, nie tworzymy jej od nowa, tylko ją rozszerzamy o nową kolumnę. Sama składnia jest dość typowa: po nazwie tabeli podajemy słowo kluczowe ADD, potem nazwę nowej kolumny i jej typ danych. Dla nazwy miejscowości naturalny jest typ znakowy, najczęściej VARCHAR z rozsądną długością, np. 50, 80 czy 100 znaków. VARCHAR oznacza, że długość jest zmienna, czyli baza nie marnuje miejsca na puste znaki, gdy ktoś wpisze krótszą nazwę, np. „Łódź” czy „Rzeszów”. Moim zdaniem 100 znaków to bezpieczny, dość często spotykany limit w praktycznych projektach. W realnych bazach (MySQL, PostgreSQL, SQL Server) bardzo podobnie dodaje się inne kolumny, np. numer telefonu czy kod pocztowy: ALTER TABLE pracownicy ADD telefon VARCHAR(20);. Dobrą praktyką jest też od razu przemyślenie, czy kolumna może być NULL, czy powinna mieć domyślną wartość. Przykładowo można napisać: ALTER TABLE pracownicy ADD miejscowosc VARCHAR(100) NOT NULL DEFAULT 'nieznana'; – to już trochę wyższy poziom projektowania, ale w większych systemach ma duże znaczenie. Warto zapamiętać ogólny schemat: ALTER TABLE nazwa_tabeli ADD nazwa_kolumny typ;. To jedno z podstawowych poleceń DDL (Data Definition Language) i w administracji bazami danych jest używane bardzo często, gdy trzeba rozbudować istniejący schemat bez kasowania danych.

Pytanie 14

Jaki wynik wyświetli poniższy fragment kodu JavaScript?

x='Powodzenia na egzaminie';
z=x.substring(3,9);
y=z.substring(2,4);
document.write(y);
A. owodzeni
B. ze
C. wodzenia
D. wo
W przedstawionym kodzie JavaScript użyto funkcji substring aby wyodrębnić fragmenty tekstu z ciągu znaków. Początkowa zmienna x zawiera tekst Powodzenia na egzaminie. Pierwsza funkcja x.substring(3,9) zwraca fragment tekstu zaczynający się od indeksu 3 do 8 włącznie co daje fragment wodzen. Wartość ta jest przypisana do zmiennej z. Następnie funkcja z.substring(2,4) wyodrębnia fragment zaczynający się od indeksu 2 do 3 włącznie z tego nowego ciągu wodzen co daje rezultat ze. Wynik ten zostanie wypisany na ekranie przez document.write(y). Praktyczne zastosowanie metody substring polega na manipulacji tekstem co jest powszechne w web development np. do parsowania danych tekstowych lub przygotowania tekstu do wyświetlenia. Dobre praktyki obejmują użycie substring do przetwarzania danych wejściowych np. w formularzach czy przekształcanie danych użytkownika. Ważne jest zrozumienie indeksowania od zera oraz poprawne określenie zakresu aby uniknąć błędów logicznych w kodzie. W kontekście substringu warto pamiętać że drugi parametr jest ekskluzywny co oznacza że nie jest uwzględniany w wyniku. Takie detale są kluczowe dla programistów aby efektywnie zarządzać danymi tekstowymi w różnorodnych zastosowaniach.

Pytanie 15

Co robi funkcja napisana w języku JavaScript?

function fun1(f)
{
  if(f < 0)
    f = f * (-1);
  return f;
}
A. wypisanie wartości odwrotnej do f
B. zwrócenie wartości bezwzględnej z f
C. wypisanie wartości bezwzględnej z f
D. zwrócenie wartości odwrotnej do f
Patrząc na błędne odpowiedzi, trzeba zauważyć, że funkcja w ogóle nie zajmuje się wypisywaniem wartości ani obliczaniem odwrotności liczby. W JavaScript do wypisywania danych używamy polecenia console.log(), a tutaj go nie ma. Ta funkcja tylko zwraca wynik, co w programowaniu jest super ważne, bo później można wykorzystać tę wartość w dalszym kodzie. Kolejna pomyłka to myślenie, że funkcja zwraca odwrotność liczby. Odwrotność to zupełnie co innego i związane z tym, że musimy znaleźć liczbę, która pomnożona przez pierwotną daje 1. W tym wypadku funkcja tylko zmienia znak liczby, gdy jest ona ujemna, co jest typowe dla obliczania wartości bezwzględnej. Zrozumienie tych różnic jest naprawdę kluczowe, jeśli chcesz uniknąć typowych błędów w programowaniu i lepiej pisać kod.

Pytanie 16

Strona internetowa została napisana w języku XHTML. Który z poniższych kodów przedstawia implementację zamieszczonego fragmentu strony, przy założeniu, że nie zdefiniowano żadnych stylów CSS?

Ilustracja do pytania
A. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
B. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<i>prototyp hipertekstowego systemu informacyjnego - <b>ENQUIRE</b></i></p>
C. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<hr /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
D. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
Odpowiedź druga jest prawidłowa, ponieważ w XHTML stosowanie znaczników zgodnych z HTML jest kluczowe. Nagłówek <h1> wskazuje na najbardziej wyróżniający się element na stronie, co jest zgodne z prezentowanym obrazem, gdzie 'Początki HTML' jest nagłówkiem. XHTML wymaga, by wszystkie elementy były poprawnie zagnieżdżone i zamknięte, a tag <br /> jest poprawnie użyty jako samo zamykający się, co jest wymagane w XHTML. Ponadto, struktura dokumentu XHTML musi być bardziej restrykcyjna, co oznacza, że używanie semantycznych znaczników jak <h1> dla nagłówków sprzyja lepszej interpretacji struktury dokumentu przez przeglądarki i narzędzia dostępności. Poprawne użycie <b> i <i> do wyróżniania tekstu jest zgodne ze standardami, chociaż w nowoczesnym HTML5 zaleca się używanie <strong> i <em> dla semantycznego formatowania. Takie podejście wspomaga dostępność oraz ułatwia zrozumienie kodu przez inne osoby. Dobór tagów w tej odpowiedzi pokazuje zrozumienie zasad semantyki oraz poprawnej struktury dokumentów w XHTML co jest zgodne z dobrymi praktykami web developmentu.

Pytanie 17

W SQL klauzula DISTINCT w poleceniu SELECT zapewnia, że zwrócone wyniki

A. będą zgrupowane według wskazanego pola.
B. będą spełniały dany warunek.
C. będą uporządkowane.
D. nie zawiera będą duplikatów.
Klauzula DISTINCT w języku SQL jest używana w instrukcji SELECT do eliminacji duplikatów w zwracanych wynikach zapytania. Gdy zapytanie wykorzystuje DISTINCT, zwracane są tylko unikalne rekordy, co oznacza, że identyczne wiersze występujące w zestawie wyników są redukowane do jednego wystąpienia. Działa to poprzez porównywanie wszystkich kolumn wymienionych w SELECT, co oznacza, że różnice w jakiejkolwiek kolumnie będą skutkować zwróceniem oddzielnych wierszy. Przykładowe zapytanie: SELECT DISTINCT nazwisko FROM pracownicy; zwróci listę unikalnych nazwisk pracowników, eliminując wszelkie powtórzenia. Klauzula DISTINCT jest szczególnie przydatna w raportach i analizach danych, gdyż pozwala na zrozumienie częstotliwości występowania różnych wartości. Zgodnie z SQL ANSI, użycie DISTINCT jest standardem, co oznacza, że jest obsługiwane przez wszystkie główne systemy zarządzania bazami danych, takie jak MySQL, PostgreSQL czy Oracle. Warto jednak pamiętać, że dodanie DISTINCT do zapytania może wpływać na wydajność, zwłaszcza w przypadku dużych zbiorów danych, ponieważ wymaga dodatkowych operacji przetwarzania, aby zidentyfikować i usunąć duplikaty.

Pytanie 18

W języku HTML zdefiniowano znacznik a oraz atrybut rel nofollow.

A. jest poleceniem dla przeglądarki internetowej, aby nie traktowała słowa "link" jako hiperłącza
B. oznacza, że kliknięcie w link nie przekieruje na stronę website.com
C. oznacza, że kliknięcie w link otworzy go w nowej karcie przeglądarki
D. jest wskazówką dla robota wyszukiwarki Google, aby nie śledził tego linku
Pierwsza odpowiedź sugeruje, że kliknięcie w link nie przeniesie użytkownika do strony website.com, co jest absolutnie błędne. Użycie atrybutu nofollow nie zmienia funkcji samego linku w kontekście przeglądarki internetowej. Użytkownicy nadal mogą klikać w link, a przeglądarka otworzy stronę docelową. Atrybut nofollow ma zastosowanie wyłącznie do robotów wyszukiwarek, a nie do rzeczywistego zachowania linku w przeglądarkach. Druga odpowiedź myli również rolę atrybutu nofollow, sugerując, że link otworzy się w osobnej karcie przeglądarki. Rzeczywiście, aby link został otwarty w nowej karcie, powinien on zawierać atrybut target z wartością '_blank', a nie rel nofollow. Ostatnia odpowiedź sugeruje, że nofollow informuje przeglądarkę, aby nie formatowała słowa 'link' jako odnośnika. To również jest niepoprawne, ponieważ rel nofollow nie ma wpływu na sposób wyświetlania linków w przeglądarkach, a jego rola ogranicza się wyłącznie do komunikacji z robotami wyszukiwarek. W skrócie, wszystkie trzy odpowiedzi mylnie interpretują funkcję atrybutu nofollow, co może prowadzić do poważnych nieporozumień w zakresie SEO i zarządzania linkami.

Pytanie 19

Podana linia kodu została napisana w języku?

document.getElementById("paragraf1").innerHTML = wynik;
A. Python
B. PHP
C. JavaScript
D. C#
Odpowiedź JavaScript jest prawidłowa, ponieważ linia kodu, którą przedstawiono, wykorzystuje standardową metodę DOM (Document Object Model) do dynamicznej manipulacji zawartością HTML. W kodzie 'document.getElementById("paragraf1").innerHTML = wynik;' funkcja 'getElementById' służy do odnajdywania elementu HTML o identyfikatorze 'paragraf1'. Następnie, przypisanie wartości zmiennej 'wynik' do 'innerHTML' tego elementu zmienia jego zawartość tekstową. JavaScript jest głównym językiem do tworzenia interaktywnych stron internetowych i umożliwia programistom tworzenie dynamicznych funkcjonalności. Przykład praktycznego użycia to sytuacja, gdy na stronie internetowej chcemy wyświetlić obliczone wyniki w czasie rzeczywistym, np. w aplikacjach kalkulatorów online. W kontekście standardów branżowych, używanie DOM do manipulacji elementami HTML w JavaScript jest uważane za dobrą praktykę, a jego znajomość jest niezbędna dla każdego web developera.

Pytanie 20

Jakie dane zostaną wyświetlone po wykonaniu poniższych poleceń? bool gotowe=true; cout<<gotowe;

A. 0
B. tak
C. 1
D. nie
W analizie odpowiedzi, które nie są poprawne, warto zwrócić uwagę na błędne rozumienie działania operatora cout oraz konwencji reprezentowania wartości logicznych w C++. W przypadku odpowiedzi, które sugerują, że wynik to "0" lub "tak", istnieje nieporozumienie dotyczące reprezentacji wartości boolean. W C++, wartość true nie jest wypisywana jako 'tak', lecz jako '1', co jest zgodne z konwencją używaną w wielu językach programowania, w tym C, C# i Java. Osoby, które odpowiedziały '0', mylnie sądzą, że 'true' może być reprezentowane w sposób, który nie jest zgodny z przyjętymi standardami. Również odpowiedź 'nie' wskazuje na podstawowe nieporozumienie dotyczące logicznych wartości zwrotnych w kontekście programu. Wartości logiczne w C++ są ściśle powiązane z typami danych, a ich interpretacja może prowadzić do błędnych konkluzji, jeśli nie jest zrozumiana. W codziennym programowaniu, kluczowe jest, aby programiści mieli świadomość, jak wartości boolean przekładają się na operacje arytmetyczne i logiczne, co pozwala na tworzenie bardziej efektywnego oraz bezpiecznego kodu. Niezrozumienie tych podstawowych zasad prowadzi do typowych błędów w logice programowania, co z kolei może skutkować nieefektywnym działaniem aplikacji oraz trudnościami w późniejszym debugowaniu kodu.

Pytanie 21

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. kompilowanie
C. analizowanie
D. rozpoczynanie
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 22

Aby uczynić stronę internetową bardziej dostępną dla osób niewidomych, należy przypisać obrazom wyświetlanym za pomocą znacznika img odpowiedni atrybut

A. text
B. alt
C. src
D. style
Atrybut alt (alternatywny) jest niezbędnym elementem w kontekście dostępności stron internetowych. Jego podstawową funkcją jest dostarczenie opisu graficznego treści zawartych w obrazach dla użytkowników korzystających z czytników ekranu. Dzięki temu niewidomi lub słabo widzący użytkownicy mogą zrozumieć, co przedstawia dany obraz. Przykładowo, jeśli na stronie znajduje się zdjęcie przedstawiające psa bawiącego się w parku, atrybut alt mógłby mieć wartość "Pies bawiący się w parku na zielonej trawie". To pozwala użytkownikowi na mentalne odtworzenie obrazu i kontekstu. W praktyce, zgodnie z wytycznymi WCAG (Web Content Accessibility Guidelines), każdy obraz użyty na stronie internetowej powinien mieć przypisany opis w atrybucie alt, co zwiększa dostępność i użyteczność treści. Warto również pamiętać, że atrybut alt powinien być używany tylko w sytuacjach, gdy obraz ma znaczenie dla treści; obrazy dekoracyjne powinny mieć pusty atrybut alt (alt=""). Dobre praktyki w zakresie dostępności podkreślają, że właściwe stosowanie atrybutów alt nie tylko wspiera użytkowników z niepełnosprawnościami, ale także poprawia SEO, gdyż wyszukiwarki lepiej rozumieją treści obrazów.

Pytanie 23

W CSS, aby zastosować efekt przekreślenia, a także podkreślenia dolnego lub górnego w tekście, należy użyć

A. text-decoration
B. text-indent
C. text-transform
D. text-align
Wybór innych odpowiedzi wskazuje na pewne nieporozumienia dotyczące zastosowania poszczególnych właściwości CSS w kontekście formatowania tekstu. 'text-align' dotyczy wyrównania tekstu w obrębie kontenera, co oznacza, że definiuje, jak tekst jest rozmieszczany w poziomie, na przykład do lewej, prawej lub do środka. Nie ma on wpływu na dekorację tekstu, co czyni go nieadekwatnym do zadania. Z kolei 'text-transform' służy do zmiany wielkości liter w tekście, co obejmuje operacje takie jak zamiana na wielkie litery czy małe litery. Chociaż jest to istotna właściwość w kontekście stylizacji tekstu, nie ma związku z efektami dekoracyjnymi, jakimi są przekreślenie czy podkreślenie. Z kolei 'text-indent' kontroluje wcięcie tekstu na początku akapitu, ale nie modyfikuje jego dekoracji w żaden sposób. Typowym błędem jest mylenie tych właściwości, co może prowadzić do nieefektywnego stylizowania stron internetowych i wprowadzać w błąd w kontekście pożądanych efektów wizualnych. Istotne jest zrozumienie, że każda z tych właściwości ma swoją specyfikę i zastosowanie, które należy dobierać zgodnie z zamierzonym efektem wizualnym oraz standardami projektowania stron internetowych. Używanie niewłaściwych właściwości może prowadzić do chaosu w stylizacji, co zdecydowanie należy unikać w profesjonalnym podejściu do tworzenia stron.

Pytanie 24

W stylu CSS ustalono obramowanie pojedyncze, które ma następujące kolory dla krawędzi:

border: solid 1px; border-color: red blue green yellow;
A. górna – czerwona, prawa – niebieska, dolna – zielona, lewa – żółta
B. prawa – czerwona, dolna – niebieska, lewa – zielona, górna – żółta
C. lewa – czerwona, dolna – niebieska, prawa – zielona, górna – żółta
D. górna – czerwona, lewa – niebieska, dolna – zielona, prawa – żółta
Definicja obramowania za pomocą stylu CSS z użyciem właściwości border-color pozwala na określenie kolorów każdej z krawędzi elementu w kolejności zgodnej ze wskazówkami zegara. Gdy podano cztery wartości jak w border-color: red blue green yellow; oznaczają one odpowiednio kolory krawędzi górnej prawej dolnej i lewej. Właściwość border: solid 1px; definiuje typ obramowania jako solidne i jego szerokość jako 1px. Warto zaznaczyć że podanie czterech wartości kolorów w border-color jest zgodne z zasadami CSS i umożliwia konfigurowanie wyglądu elementów w sposób szczegółowy i zindywidualizowany. Projektanci stron internetowych często używają tej techniki do tworzenia graficznych stylów które zwiększają czytelność i estetykę witryny. W praktyce wiedza o manipulacji stylem obramowania w CSS jest kluczowa dla tworzenia responsywnych i wizualnie atrakcyjnych interfejsów użytkownika. Takie podejście wspiera zachowanie spójności wizualnej co jest jedną z dobrych praktyk w projektowaniu front-endu.

Pytanie 25

Aby zdefiniować pole w klasie, do którego dostęp mają jedynie metody tej klasy, a które jest niedostępne dla klas dziedziczących, konieczne jest zastosowanie kwalifikatora dostępu

A. publiczny
B. publikowany
C. prywatny
D. chroniony
Odpowiedź 'private' jest prawidłowa, ponieważ oznacza ona, że pole klasy jest dostępne wyłącznie z metod tej klasy. W praktyce oznacza to, że inne klasy, w tym klasy pochodne, nie mają dostępu do tego pola. Takie podejście jest zgodne z zasadą enkapsulacji, która jest jedną z podstawowych zasad programowania obiektowego. Dzięki wykorzystywaniu modyfikatora 'private', programiści mogą chronić stan obiektów przed nieautoryzowanym dostępem oraz zapewnić integralność danych. Na przykład, jeśli mamy klasę 'Samochód' z polem 'prędkość', które powinno być modyfikowane tylko przez metody tej klasy, definiując to pole jako 'private', mamy pewność, że nie zostanie ono zmienione przez zewnętrzne klasy lub nieautoryzowane operacje. Dobrą praktyką jest również stosowanie właściwości (getterów i setterów), aby kontrolować dostęp do takich pól, co dodatkowo zwiększa bezpieczeństwo i elastyczność kodu. W związku z tym, użycie modyfikatora 'private' jest nie tylko poprawne, ale i zalecane w programowaniu obiektowym.

Pytanie 26

Które z komend przyznaje najniższy poziom uprawnień dla użytkownika uczen w zakresie modyfikacji danych oraz struktury tabeli?

A. GRANT INSERT, DROP ON szkola.przedmioty TO uczen
B. GRANT ALTER, SELECT ON szkola.przedmioty TO uczen
C. GRANT SELECT ON szkola.przedmioty TO uczen
D. DRANT DROP ON szkola.przedmioty TO uczen
Wszystkie pozostałe polecenia przyznają użytkownikowi uczeń szerszy zakres uprawnień, co prowadzi do większego ryzyka nieautoryzowanej modyfikacji danych. Polecenie DRANT DROP ON szkola.przedmioty TO uczen jest nieprawidłowe, ponieważ DRANT nie jest poprawnym poleceniem SQL, co czyni jego interpretację niemożliwą. W kontekście administracji bazami danych, DROP oznacza usunięcie całej tabeli, co w przypadku użytkownika uczeń może prowadzić do katastrofalnych skutków, gdyż może on przypadkowo lub celowo usunąć istotne dane. Kolejne polecenie GRANT INSERT, DROP ON szkola.przedmioty TO uczen przyznaje prawo do wstawiania nowych danych oraz usuwania tabeli. Takie uprawnienia są zdecydowanie nieodpowiednie dla użytkownika uczeń. Umożliwiają one nie tylko dodawanie nieautoryzowanych rekordów, ale także ich usuwanie, co narusza zasady bezpieczeństwa i integralności danych. Podobnie, GRANT ALTER, SELECT ON szkola.przedmioty TO uczen przyznaje prawo do modyfikacji struktury tabeli, co oznacza, że uczeń mógłby zmieniać kolumny, dodawać nowe oraz wprowadzać zmiany, które mogą wpływać na funkcjonowanie całej bazy danych. Prawo do ALTER jest jednym z najszerszych uprawnień w SQL i nie powinno być przyznawane użytkownikom, którzy nie są administratorami, aby zapewnić pełną kontrolę nad bazą danych.

Pytanie 27

Programista stworzył pętlę w języku C++ mającą na celu obliczenie wartości 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny polegający na tym, że

int a = 1;
for (int i = 1; i < 5; i++)
{
    a = a * i;
}
cout << a;
A. parametr i pętli powinien być inicjowany wartością 0, a nie 1
B. w drugim warunku pętli powinno być porównanie i < 6 zamiast i < 5
C. parametr i pętli powinien być zmniejszany zamiast zwiększany
D. zmienna a powinna być ustawiona na 0 zamiast 1
Pętla for w języku C++ jest często używana do wykonywania określonej liczby iteracji. W przypadku obliczania silni liczby 5, czyli 5!, iteracja powinna przebiegać od 1 do 5 włącznie, co oznacza, że zmienna sterująca i powinna przyjąć wartości 1, 2, 3, 4 i 5. Dlatego warunek zakończenia pętli powinien być zapisany jako i <= 5 lub alternatywnie i < 6. W zestawie egzaminacyjnym podano kod z warunkiem i < 5, co powoduje, że pętla kończy się przy czwartej iteracji, a ostatnia potrzebna mnożenie przez 5 nie jest wykonane. Poprawnym rozwiązaniem problemu jest zmiana warunku na i < 6. Przykład praktyczny: przy obliczaniu silni w programach obliczeniowych często stosujemy pętlę o poprawnym zakresie, co jest kluczowe dla uzyskania prawidłowych wyników. Ponadto, w kontekście dobrych praktyk programistycznych, warto zawsze dokładnie analizować warunki pętli, aby uniknąć nieoczekiwanych błędów logicznych, które mogą prowadzić do niepoprawnych wyników końcowych.

Pytanie 28

Deklaracja z właściwością background-attachment: scroll sprawia, że

A. tło strony zostanie zamocowane, a tekst będzie się poruszał
B. grafika tła będzie widoczna w prawym górnym rogu strony
C. tło strony będzie przesuwane razem z zawartością tekstową
D. grafika tła będzie się powtarzać (kafelki)
Pierwsza niepoprawna odpowiedź sugeruje, że grafika tła będzie powtarzana, co właściwie jest realizowane przez inne ustawienie CSS, takie jak 'background-repeat'. Użycie 'background-attachment: scroll' nie wpływa bezpośrednio na powtarzanie tła, a jedynie na jego zachowanie podczas przewijania strony. Druga niepoprawna odpowiedź odnosi się do stałości tła, co jest sprzeczne z definicją 'scroll'. Właściwość 'fixed' zablokowałaby tło w jednym miejscu, co oznacza, że nie przesuwałoby się ono z zawartością, co jest przeciwieństwem tego, co oferuje 'scroll'. Ostatnia niepoprawna odpowiedź sugeruje, że grafika tła będzie wyświetlona w prawym górnym rogu strony. Tło w CSS nie ma przypisanego miejsca w ten sposób; jego pozycjonowanie reguluje się za pomocą 'background-position'. 'background-attachment: scroll' nie definiuje ani nie wpływa na położenie tła, a jedynie na to, jak się zachowuje podczas przewijania. W związku z tym wszystkie te odpowiedzi są niepoprawne, ponieważ mylą różne aspekty właściwości CSS i ich funkcjonalność.

Pytanie 29

Jakim sposobem można w języku PHP dokumentować blok komentarza składający się z wielu linii?

A. <!-- -->
B. //
C. /* */
D. #
Komentarze w języku PHP mogą być tworzone na kilka sposobów, jednak jedynie sposób wykorzystujący /* */ pozwala na zapis bloku komentarza rozciągającego się na wiele linii. Jest to szczególnie użyteczne w sytuacjach, gdy programista chce umieścić obszerniejsze wyjaśnienia dotyczące kodu, które nie ograniczają się do jednej linii. Przykładem zastosowania może być opis skomplikowanej funkcji lub sekcji kodu, gdzie istotne jest podanie kontekstu lub dodatkowych informacji. Na przykład: /* * Funkcja obliczająca sumę dwóch liczb. * Przyjmuje dwa argumenty: a oraz b. */ function suma($a, $b) { return $a + $b; } Stosowanie bloku komentarza zgodnie z tym stylem jest zgodne z najlepszymi praktykami programowania, gdyż poprawia czytelność kodu oraz ułatwia jego późniejsze utrzymanie. Z punktu widzenia standardów kodowania, szczególnie w większych projektach, dobrze opisane fragmenty kodu mogą zminimalizować ryzyko błędów oraz ułatwić pracę zespołową.

Pytanie 30

Sklep online używa tabeli faktury. W trakcie generowania faktury pole dataPlatnosci nie zawsze zostaje uzupełnione. Aby to skorygować, na zakończenie dnia trzeba wpisać bieżącą datę do rekordów, w których to pole nie jest wypełnione. Można to osiągnąć za pomocą kwerendy

A. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL;
B. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3;
C. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL;
D. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00';
Odpowiedź, którą wybrałeś, jest jak najbardziej trafna. Kwerenda UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL rzeczywiście aktualizuje pole dataPlatnosci w tabeli faktur, ale tylko wtedy, gdy jest ono puste. Super, że korzystasz z CURDATE(), bo to daje nam bieżącą datę. W SQL ważne jest, żeby nie tracić czasu na aktualizowanie wierszy, które już mają datę. Dobrze widzieć, że zastosowałeś IS NULL, bo to pozwala uniknąć kłopotów z porównywaniem dat i wydobywaniem takich wartości jak '0000-00-00', co na pewno by namieszało z interpretacją. Twoje podejście jest zgodne z tym, co powinno być w bazach danych – minimalizowanie zbędnych danych i dbanie o ich spójność. Z mojego doświadczenia, zawsze lepiej korzystać z funkcji datowych, bo to pozwala mieć pewność, że wprowadzane wartości są aktualne i pasują do reszty aplikacji.

Pytanie 31

Który z języków skryptowych nie wykonuje operacji po stronie serwera?

A. ASP
B. Perl
C. PHP
D. CSS
CSS, czyli kaskadowe arkusze stylów, to język używany do stylizacji stron internetowych. Jego głównym celem jest określenie wyglądu elementów HTML, co obejmuje kolory, czcionki, rozmieszczenie oraz responsywność. CSS nie wykonuje zadań po stronie serwera, ponieważ działa po stronie klienta, co oznacza, że interpretacja i renderowanie stylów odbywa się w przeglądarkach internetowych użytkowników. Przykładem zastosowania CSS jest stylizacja przycisków, nagłówków czy układów stron, co pozwala na tworzenie atrakcyjnych wizualnie interfejsów użytkownika. Standardy CSS są regulowane przez W3C, a najnowsze wersje, takie jak CSS3, wprowadzają dodatkowe możliwości, takie jak animacje czy zaawansowane selektory. Dzięki CSS można również tworzyć responsywne strony internetowe, które dostosowują się do różnych rozmiarów ekranu, co jest istotne w dobie wzrostu użycia urządzeń mobilnych.

Pytanie 32

Jaki jest wynik wykonania pętli for w poniższym kodzie PHP, jeśli chodzi o wypisanie liczb?

<?php
for($i=5; $i>1; $i-=2)
echo (
$i%2) . " " ;
?
>
A. 1 0 1
B. 1 0
C. 1 1
D. 1 0 1 0
Analizując inne odpowiedzi zwróćmy uwagę na błędy w logice pętli i operacji modulo które mogą prowadzić do błędnych wyników. Jedną z częstych pomyłek jest niedokładne zrozumienie działania operatora % który zwraca resztę z dzielenia. W kontekście pętli for ważne jest zrozumienie że zmienna kontrolująca i jest modyfikowana zgodnie z określonym krokiem tutaj i -= 2 co oznacza że i zmniejsza się o 2 w każdej iteracji pętli. Niepoprawne odpowiedzi mogą wynikać z założenia że pętla wykonuje się dla innych wartości i niż te faktycznie użyte. Na przykład wynik 1 0 1 0 sugeruje błędne założenie o nieparzystym kroku lub innej inicjalizacji zmiennej i. Możliwe że interpretacja warunku końcowego i > 1 nie została właściwie zrozumiana co prowadzi do założenia że pętla trwa dłużej niż powinna. Innym błędem może być zaniedbanie uwzględnienia kolejności wykonania instrukcji w ciele pętli. Zapominanie o dokładnym zrozumieniu jak działa i jest modyfikowane w każdej iteracji pętli może prowadzić do oczekiwania niepoprawnych wyników. Edukacyjnie ważne jest upewnienie się że każdy krok pętli jest dokładnie przeanalizowany a wynik działania operatora modulo jest zawsze przewidywalnie interpretowany w ramach iteracji pętli. Zrozumienie tych zasad jest kluczowe w pisaniu wydajnego i bezbłędnego kodu w PHP i innych językach programowania.

Pytanie 33

Testy aplikacji webowej, których celem jest ocena wydajności aplikacji oraz bazy danych, a także architektury serwera i konfiguracji, określane są mianem testów

A. bezpieczeństwa
B. użyteczności
C. kompatybilności
D. funkcjonalności
Testy kompatybilności są kluczowym elementem w procesie zapewniania jakości aplikacji internetowych. Ich głównym celem jest weryfikacja, czy aplikacja działa poprawnie w różnych środowiskach, systemach operacyjnych oraz przeglądarkach internetowych. Testy te obejmują również analizę skalowalności, która ma na celu ocenić, jak aplikacja radzi sobie z rosnącą liczbą użytkowników oraz jak skutecznie współpracuje z bazami danych i serwerami. W praktyce oznacza to, że po przeprowadzeniu testów kompatybilności, można zidentyfikować potencjalne problemy z wydajnością, które mogą wystąpić w momencie, gdy liczba równoległych użytkowników wzrasta. Przykładem mogą być testy obciążeniowe, które symulują dużą liczbę użytkowników, by sprawdzić, w jaki sposób system reaguje na taką sytuację. W kontekście standardów, ważne jest odniesienie do norm ISO/IEC 25010, które definiują jakość oprogramowania i wskazują na znaczenie kompatybilności jako jednego z kluczowych atrybutów. Dbałość o kompatybilność aplikacji wpływa nie tylko na jej funkcjonalność, ale również na doświadczenia użytkowników, co jest niezbędne w dzisiejszym zglobalizowanym rynku.

Pytanie 34

Dla strony internetowej stworzono styl, który będzie stosowany tylko do wybranych znaczników, takich jak niektóre nagłówki oraz kilka akapitów. W tej sytuacji, aby przypisać styl do konkretnych znaczników, najodpowiedniejsze będzie użycie

Ilustracja do pytania
A. selektora akapitu
B. klasy
C. pseudoklasy
D. identyfikatora
Użycie klasy w CSS jest najlepszym rozwiązaniem, gdy chcemy zastosować ten sam styl do wielu elementów HTML, ale nie do wszystkich. Klasy w CSS są definiowane za pomocą kropki przed nazwą klasy, np. .nazwa-klasy, i mogą być przypisane do dowolnego elementu HTML za pomocą atrybutu class. Dzięki temu możemy elastycznie i efektywnie zarządzać stylami na stronie internetowej. Klasy są bardzo przydatne w dużych projektach, gdzie powtarzalność i spójność stylów są kluczowe. Pozwalają także na ponowne wykorzystanie tych samych stylów w różnych miejscach projektu bez konieczności kopiowania kodu CSS. Użycie klas zwiększa czytelność i organizację kodu, co jest zgodne z najlepszymi praktykami programowania. Stosowanie klas jest także zalecane w kontekście frameworków CSS, takich jak Bootstrap, które intensywnie wykorzystują klasy do definiowania komponentów i układów. Przykład zastosowania klasy: .align-right { text-align: right; } można przypisać do różnych nagłówków czy akapitów, które mają być wyrównane do prawej.

Pytanie 35

Jak można dodać zewnętrzny arkusz stylów do dokumentu HTML?

A. <css>
B. <meta>
C. <style>
D. <link>
Dołączenie zewnętrznego arkusza stylów do kodu HTML realizowane jest przy użyciu znacznika <link>, który znajduje się w sekcji <head> dokumentu HTML. Ten znacznik umożliwia przeglądarkom internetowym odnalezienie i załadowanie zewnętrznego pliku CSS, co pozwala na zastosowanie stylów do elementów HTML. Przy użyciu atrybutu 'href' wskazujemy lokalizację arkusza stylów, natomiast atrybut 'rel' definiuje relację między dokumentem HTML a plikiem stylów, zazwyczaj ustawiając go na 'stylesheet'. Przykładowa struktura to: <link rel='stylesheet' href='styles.css'>. Taki sposób organizacji stylów pozwala na lepsze zarządzanie kodem, umożliwia wielokrotne wykorzystanie tych samych stylów w różnych dokumentach oraz przyspiesza ładowanie strony poprzez caching. Użycie zewnętrznych arkuszy stylów jest zgodne z najlepszymi praktykami programowania front-endowego, co wpływa pozytywnie na wydajność oraz SEO, umożliwiając lepszą indeksację przez wyszukiwarki. Dodatkowo, umożliwia to łatwiejsze wprowadzanie zmian w stylach bez potrzeby edytowania każdego pliku HTML z osobna.

Pytanie 36

W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu. <h6>CSS</h6>
<p>Kaskadowe arkusze stylów <b>ang.<i>Cascading Style Sheets</b></i>)<br>to język służący...</p>

A. Znak br nie został prawidłowo zamknięty.
B. Znak zamykający /b jest niezgodny z zasadą zagnieżdżania.
C. Znak br nie może być użyty wewnątrz znacznika p.
D. Znacznik h6 jest nieznany.
Wszystkie trzy niepoprawne odpowiedzi zawierają błędne interpretacje kwestii walidacji kodu HTML w analizowanym fragmencie. Odpowiedź dotycząca nieznanego znacznika h6 jest błędna, ponieważ znacznik <h6> jest w pełni akceptowany w HTML jako znacznik nagłówka o najmniejszym znaczeniu. Zgodnie z specyfikacją HTML5, tego rodzaju znaczniki są używane do strukturyzacji treści, a ich użycie jest zalecane dla zachowania hierarchii informacji. Kolejna niepoprawna odpowiedź, dotycząca niedomkniętego znacznika <br>, jest również myląca, ponieważ znacznik <br> jest znakiem nowej linii i nie wymaga zamknięcia, co jest zgodne z zasadami HTML. Jego użycie wewnątrz znacznika <p> jest również dozwolone, chociaż nadmierne użycie <br> do łamania wierszy w paragrafach nie jest zalecane z perspektywy semantycznej i dostępności. Wreszcie, stwierdzenie, że znacznik <br> nie może występować wewnątrz znacznika <p>, jest mylne; znacznik <br> jest specjalnie zaprojektowany do użycia w kontekście tekstu i jego umiejscowienie w paragrafach jest jak najbardziej prawidłowe. W związku z tym wszystkie te odpowiedzi nie są zgodne z aktualnymi standardami HTML.

Pytanie 37

Związek między tabelami, osiągany przez bezpośrednie połączenie kluczy głównych obu tabel, nazywamy relacją

A. 1..1
B. n..m
C. n..1
D. 1..n
Zdecydowanie, tu coś poszło nie tak. Wybierając zły wariant, mogłeś nie do końca zrozumieć, jak działają te relacje między danymi. Odpowiedzi 1..n i n..1 to świetne przykłady na to, jak można się pogubić. W relacji 1..n, jeden rekord z tabeli A może mieć wiele rekordów w tabeli B, co już wprowadza zamieszanie, bo w pytaniu mowa była o unikalnych połączeniach. Z kolei n..1 to jakby odwrotność, gdzie wiele rekordów w A jest powiązanych z jednym w B – również nie to, czego szukamy. I jeszcze ta odpowiedź n..m, która dotyczy relacji wiele do wielu – tu to w ogóle wymaga dodatkowych tabel, a to już może skomplikować wszystko. Takie błędy mogą wynikać z braku zrozumienia, jak zbudowane są bazy danych i zasady ich normalizacji. Fajnie byłoby pamiętać, że każda tabela powinna skupiać się na jednym typie encji, bo to naprawdę ułatwia sprawę i unika nieporozumień.

Pytanie 38

W jakim przypadku w JavaScript warunek jest spełniony, jeśli zmienna x przyjmuje wartość

if ((!isNaN(x)) && (x > 0))
A. wszelką całkowitą wartość liczbową
B. wszelką dodatnią wartość liczbową
C. nie-liczbową wartość
D. pusty ciąg znaków
Warunek zapisany w JavaScript if (!isNaN(x) && x>0) jest prawdziwy, gdy zmienna x przechowuje dowolną dodatnią wartość liczbową Takie podejście jest zgodne z dobrymi praktykami programistycznymi ponieważ umożliwia skuteczne sprawdzenie czy wartość jest zarówno liczbowa jak i dodatnia Funkcja isNaN(x) zwraca true gdy x nie jest liczbą co powoduje że !isNaN(x) zwraca true tylko wtedy gdy x jest liczbą Następnie dodatkowy warunek x>0 sprawdza czy liczba jest większa od zera co oznacza że jest dodatnia Takie warunki są często używane w aplikacjach webowych do walidacji danych użytkownika Na przykład podczas wprowadzania kwoty transakcji system może używać podobnego warunku aby upewnić się że użytkownik nie wprowadza ujemnych wartości co mogłoby prowadzić do błędów logicznych w aplikacji Używanie takich warunków wspiera bezpieczeństwo i poprawność kodu co jest kluczowe w profesjonalnym środowisku programistycznym Dodatkowo takie podejście jest zgodne z zasadą przewidywalności działania kodu co jest istotne dla zapewnienia jego łatwej utrzymywalności i czytelności dla innych programistów

Pytanie 39

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. grupowania.
B. wykluczenia.
C. części wspólnej.
D. sumy.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 40

Która lista jest interpretacją przedstawionego kodu?

<ol>
    <li>muzyka
        <ul>
            <li>Wpis1</li>
            <li>Wpis2</li>
        </ul>
    </li>
    <li>filmy
        <ul>
            <li>Wpis3</li>
            <li>Wpis4</li>
        </ul>
    </li>
</ol>
A. Lista nieuporządkowana zawierająca wszystkie składniki, jeden za drugim.
B. Lista uporządkowana z podpunktami zapisanymi w formie numeracji dziesiętnej (np. 1.1, 1.2).
C. Lista uporządkowana z sześcioma następującymi elementami.
D. Lista uporządkowana z dwoma składnikami, z których każdy ma wewnętrzną listę nieuporządkowaną.
Często błędnym założeniem przy interpretacji zagnieżdżonych list w HTML jest pomylenie uporządkowanych i nieuporządkowanych struktur. Listy uporządkowane oznaczone są tagiem <ol> i wprowadzenie błędnego zrozumienia ich znaczenia może prowadzić do niepoprawnego wyświetlania treści w przeglądarce. Nieuporządkowane listy z kolei identyfikowane są przez tag <ul> i często stosowane są tam gdzie kolejność nie ma znaczenia. W błędnych odpowiedziach często widzimy brak zrozumienia semantyki HTML gdzie hierarchia i zagnieżdżenie elementów mają istotne znaczenie. Niepoprawna interpretacja może skutkować utratą przejrzystości kodu co wpływa na dalszą możliwość jego rozwijania i utrzymania. Typowym błędem jest także nieuwzględnienie poprawnego zamknięcia tagów co jest fundamentalnym wymogiem w HTML aby zapewnić poprawne parsowanie dokumentu przez przeglądarki. W kontekście tworzenia stron internetowych dobór odpowiednich elementów HTML i ich poprawne stosowanie jest fundamentem zgodności ze standardami sieciowymi oraz praktykami projektowania stron co wpływa bezpośrednio na ich funkcjonalność i dostępność dla użytkowników i przeglądarek internetowych. Zrozumienie tych zasad jest kluczowe dla każdego rozwijającego się profesjonalisty zajmującego się frontendem webowym i wpływa na jakość tworzonego oprogramowania internetowego.