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: 21 kwietnia 2026 12:45
  • Data zakończenia: 21 kwietnia 2026 12:57

Egzamin zdany!

Wynik: 23/40 punktów (57,5%)

Wymagane minimum: 20 punktów (50%)

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

Przedstawiona transformacja obrazu, w edytorze grafiki rastrowej, została wykonana przy pomocy filtru

Ilustracja do pytania
A. błysk gradientowy.
B. szum HSV.
C. redukcja szumu.
D. rozmycia Gaussa.
Gratulacje, twoja odpowiedź jest prawidłowa. Wybrałeś 'rozmycie Gaussa', które jest odpowiednią odpowiedzią. Na przedstawionym obrazie widzimy, że obraz po prawej stronie jest rozmyty w sposób ciągły i jednolity - to jest charakterystyczne dla rozmycia Gaussa. Filtr rozmycia Gaussa jest powszechnie stosowany w edytorach grafiki rastrowej do uzyskania efektu miękkiego rozmycia, który symuluje efekt obserwacji obiektu przez nieostre medium lub z dużą głębią ostrości. Jest to praktyczne narzędzie, które ma szerokie zastosowanie zarówno w fotografii, jak i w grafice komputerowej. Filtr ten jest często używany do poprawy estetyki obrazów, redukcji szumu i artefaktów, a także w szeroko pojętym przetwarzaniu obrazów, takim jak detekcja krawędzi. Jego nazwa pochodzi od matematyka Karla Gaussa, który opracował koncepcję rozkładu normalnego, na którym opiera się ten filtr.

Pytanie 2

Definicja obiektu została zapisana w języku JavaScript jako var osoba={imie:"Anna", nazwisko:"Kowalska", rok_urodzenia:1985}; Jak można odwołać się do właściwości nazwisko?

A. osoba[1]
B. osoba::nazwisko
C. osoba.nazwisko
D. osoba[2]
W języku JavaScript obiekty są kluczowymi strukturami danych, które pozwalają na grupowanie danych w formie par klucz-wartość. W omawianym przypadku mamy obiekt osoba, który zawiera trzy właściwości: imie, nazwisko oraz rok_urodzenia. Aby uzyskać dostęp do właściwości nazwisko, należy użyć notacji kropkowej, co jest standardową metodą w JavaScript. Notacja kropkowa jest czytelna i intuicyjna, co czyni ją preferowanym sposobem odwołania się do właściwości obiektu. Przykładowo, aby wyświetlić nazwisko, możemy użyć polecenia console.log(osoba.nazwisko), co zwróci wartość 'Kowalska'. Inna metoda dostępu do właściwości obiektu to notacja z nawiasami kwadratowymi, na przykład osoba['nazwisko'], która również zadziała, ale jest mniej czytelna, zwłaszcza w przypadku kluczy, które zawierają znaki specjalne. Warto podkreślić, że zgodnie z ECMAScript, standardem, na którym bazuje JavaScript, obiekty są fundamentalnym elementem języka, a umiejętność ich wykorzystania jest kluczowa dla każdego programisty.

Pytanie 3

Typowym programem przeznaczonym do edycji grafiki wektorowej jest

A. Audacity.
B. Brasero.
C. Paint.
D. Inkscape.
Poprawnie wskazany program to Inkscape, bo jest to typowy, specjalistyczny edytor grafiki wektorowej. Grafika wektorowa opiera się na obiektach takich jak linie, krzywe Béziera, wielokąty, tekst, które są opisane matematycznie (współrzędne, promienie, kąty), a nie na siatce pikseli. Dzięki temu projekty można skalować praktycznie dowolnie bez utraty jakości, co jest absolutnym standardem przy projektowaniu logotypów, ikon, infografik, schematów technicznych czy elementów interfejsu użytkownika. Inkscape obsługuje format SVG, który jest otwartym standardem W3C i jest powszechnie stosowany w projektach webowych, także w responsywnych interfejsach. W praktyce, używając Inkscape, można tworzyć np. logo firmy, które później bez problemu osadzisz na stronie WWW, w materiałach do druku, na banerach, a nawet w aplikacji mobilnej, bez martwienia się o rozmazanie czy pikselizację. Program oferuje warstwy, style, grupowanie obiektów, precyzyjne wyrównywanie, siatki i prowadnice, co jest zgodne z dobrymi praktykami pracy z grafiką: porządek w projekcie, praca na oddzielnych warstwach, używanie krzywych zamiast „ręcznego” rysowania byle jakich kształtów. Moim zdaniem, znajomość Inkscape albo innego edytora wektorowego (np. Adobe Illustrator, CorelDRAW) to dzisiaj podstawowa umiejętność dla kogoś, kto myśli poważnie o grafice komputerowej czy front-endzie. Wiele firm wręcz wymaga, żeby materiały były dostarczane właśnie w formacie wektorowym, bo wtedy łatwiej je modyfikować, dopasowywać kolorystykę do brandingu i eksportować do różnych formatów (PNG, PDF, EPS) w zależności od potrzeb. Inkscape pozwala też na pracę z krzywymi, maskami, gradientami czy efektami filtrów, co daje bardzo duże możliwości przy zachowaniu zalet wektorów.

Pytanie 4

W kodzie HTML znajdziemy formularz. Jaki rezultat zostanie pokazany przez przeglądarkę, jeśli użytkownik wprowadził do pierwszego pola wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 2
B. Efekt 3
C. Efekt 1
D. Efekt 4
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia struktury formularza HTML. W przypadku efektu pierwszego widać, że checkboxy zostały zamienione na radiobuttony, co może sugerować, że użytkownik może wybrać tylko jedną z opcji. Jest to niezgodne z kodem, który jasno określa pola jako checkboxy, co pozwala na wielokrotny wybór. Efekt trzeci pokazuje nieprawidłowe pozycjonowanie elementów formularza, które nie odzwierciedla rzeczywistego układu z kodu HTML. Błędne zrozumienie struktury może wynikać z nieznajomości zasady działania poszczególnych elementów formularza, takich jak <textarea> i <input type='checkbox'>. <Textarea> powinno być stosowane do wprowadzania tekstu wielowierszowego, a checkboxy są idealne do prezentacji listy opcji, które mogą być niezależnie zaznaczone. Efekt czwarty przedstawia radiobuttony zamiast checkboxów, co całkowicie zmienia funkcję formularza. Warto w tym kontekście zrozumieć różnicę między radiobuttonami a checkboxami, gdzie pierwsze są używane do wyboru jednej z wielu opcji, a drugie do wielokrotnego wyboru. Kluczowe jest również poprawne stosowanie i testowanie formularzy w celu zapewnienia ich funkcjonalności i intuicyjności dla użytkownika końcowego.

Pytanie 5

Na podstawie kodu widocznego na ilustracji można stwierdzić, że

Ilustracja do pytania
A. nie zadeklarowano funkcji wyswietlNazwisko.
B. funkcja wyswietlNazwisko(nazwisko) musi być wywołana wewnątrz innej funkcji.
C. podano nieprawidłowy argument do funkcji alert.
D. nie przypisano wartości do zmiennej nazwisko.
Kod z ilustracji bardzo dobrze pokazuje typowy błąd początkujących w JavaScript: pomylenie deklaracji funkcji i zmiennych z ich użyciem. Przeglądarka zgłasza błąd ReferenceError: nazwisko is not defined, co wyraźnie sugeruje, że problem dotyczy zmiennej, a nie funkcji czy argumentu alert(). Funkcja wyswietlNazwisko(nazwisko) jest poprawnie zdefiniowana: ma słowo kluczowe function, nazwę, parametr w nawiasach i blok w klamrach. Samo istnienie tej definicji powoduje, że przeglądarka wie, czym jest wyswietlNazwisko, więc nie można mówić, że funkcja nie została zadeklarowana. Częstym błędnym skojarzeniem jest też traktowanie nazwiska w wywołaniu wyswietlNazwisko(nazwisko); jakby odnosiło się do tego samego nazwiska z nagłówka funkcji. Tymczasem to są dwie różne rzeczy: parametr funkcji istnieje dopiero wewnątrz funkcji i jest wypełniany wartością przekazaną przy wywołaniu. Jeśli przy wywołaniu podajemy nazwę zmiennej, to ta zmienna musi być wcześniej zdefiniowana w aktualnym zakresie. Tu jej nie ma, więc interpreter się „gubi”. Nie jest też prawdą, że argument do alert() jest nieprawidłowy. Funkcja alert() dostaje zwykły łańcuch znaków zapisany w zmiennej komunikat, a ten łańcuch jest zbudowany z tekstu stałego i parametru nazwisko. Gdyby zmienna nazwisko była poprawnie przekazana, alert działałby dokładnie tak, jak oczekujemy. Tak samo nie ma żadnego wymagania, żeby funkcję wyswietlNazwisko wywoływać tylko wewnątrz innej funkcji. W JavaScript można wywołać funkcję zarówno wprost w skrypcie, jak i z poziomu zdarzenia (onclick, onload itd.) – to kwestia logiki aplikacji, a nie wymóg języka. Kluczowe jest zrozumienie zasięgu zmiennych i tego, że każda użyta nazwa musi mieć wcześniej nadaną wartość, inaczej pojawi się właśnie taki ReferenceError.

Pytanie 6

Podana jest tabela psy z polami: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby znaleźć numery telefonów właścicieli, których psy były szczepione przed rokiem 2015?

A. SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015
B. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015
C. SELECT psy FROM rok_szczepienia < 2015
D. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015
Wybór odpowiedzi 'SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015;' jest poprawny z kilku powodów. Przede wszystkim, zapytanie to spełnia wymogi dotyczące selekcji danych z tabeli 'psy', koncentrując się na właścicielach psów, które zostały zaszczepione przed rokiem 2015. W SQL klauzula WHERE jest kluczowym elementem, który pozwala na filtrowanie wyników według określonych kryteriów. W tym przypadku, filtrujemy psy na podstawie roku ich szczepienia, co jest zgodne z naszym celem. Ponadto, selekcjonowanie tylko kolumny 'telefon_wlasciciela' jest właściwe, ponieważ chcemy uzyskać konkretne dane, a nie całą tabelę. Użycie operatora '<' jest odpowiednie, ponieważ skupia się na roku mniejszym niż 2015. Praktycznym zastosowaniem tego zapytania może być uzyskanie kontaktów do właścicieli, aby przypomnieć im o konieczności ponownego zaszczepienia ich psów, co wpisuje się w działania profilaktyczne i zdrowotne w dbaniu o dobrostan zwierząt. Warto również pamiętać, że dobre praktyki w projektowaniu baz danych zalecają użycie poprawnych typów danych oraz właściwe indeksowanie kolumn, co może przyspieszyć wykonanie zapytań tego typu.

Pytanie 7

Aby sprawdzić, czy kod JavaScript działa poprawnie, należy skorzystać z

A. interpretera PERL
B. kompilatora C++
C. konsoli w przeglądarce internetowej
D. interpretera PHP
Konsola w przeglądarce to świetne narzędzie do sprawdzania i naprawiania kodu JavaScript. Dzięki niej możesz od razu zobaczyć, co działa, a co nie. Na przykład, kiedy wpiszesz `console.log('Hello, World!');`, to od razu zobaczysz wynik w konsoli. To bardzo fajny sposób na szybkie testowanie, bo nie musisz czekać ani niczego dodatkowo uruchamiać. Konsola ma też sporo innych przydatnych funkcji, jak inspekcja obiektów czy monitorowanie zdarzeń, więc naprawdę warto się z nią zaprzyjaźnić. Właściwie, każda popularna przeglądarka, jak Chrome czy Firefox, dodaje różne ciekawe opcje, które pomagają w debugowaniu. Z mojego doświadczenia, korzystanie z konsoli to kluczowy element nauki i pracy z JavaScript.

Pytanie 8

Wskaż, który z poniższych jest poprawnym zapisem zmiennej w języku JavaScript.

A. let variableName = 10;
B. var $name@ = 10;
C. var 2nameVar = 10;
D. const var-name = 10;
W języku JavaScript deklaracja zmiennej przy użyciu słowa kluczowego <code>let</code> jest obecnie jedną z najczęściej stosowanych praktyk. Ma ona na celu stworzenie zmiennej o zasięgu blokowym, co oznacza, że zmienna jest dostępna tylko w obrębie bloku kodu, w którym została zadeklarowana. To podejście pozwala na bardziej elastyczne i bezpieczne zarządzanie zmiennymi w kodzie, minimalizując ryzyko błędów związanych z niezamierzonym nadpisywaniem wartości. Zmienna <code>variableName</code> jest poprawnie zapisana zgodnie z konwencjami JavaScript: zaczyna się od litery i składa się wyłącznie z liter oraz cyfr. Wartość 10 przypisana do tej zmiennej to liczba całkowita. Deklaracja <code>let</code> jest preferowana w stosunku do <code>var</code> z uwagi na lepsze zarządzanie zasięgiem i uniknięcie problemów związanych z hoistingiem. Ponadto, stosowanie jasnych i opisowych nazw zmiennych, jak <code>variableName</code>, jest dobrą praktyką programistyczną, ułatwiającą zrozumienie i utrzymanie kodu.

Pytanie 9

DOM oferuje funkcje i atrybuty, które w JavaScript umożliwiają

A. przesyłanie danych formularza bezpośrednio do bazy danych
B. wykonywanie operacji na zmiennych przechowujących wartości liczbowe
C. manipulowanie łańcuchami zadeklarowanymi w kodzie
D. pobieranie i modyfikowanie elementów strony załadowanej w przeglądarce
DOM (Document Object Model) to interfejs programistyczny, który umożliwia manipulację strukturą dokumentu HTML lub XML za pomocą języka JavaScript. Odpowiedź dotycząca pobierania i modyfikowania elementów strony jest poprawna, ponieważ DOM dostarcza zestaw metod, takich jak getElementById, getElementsByClassName, czy querySelector, które pozwalają programistom na selekcję, edytowanie, dodawanie lub usuwanie elementów w drzewie DOM. Na przykład, używając metody document.getElementById('example'), możemy uzyskać dostęp do konkretnego elementu na stronie oraz zmienić jego zawartość, styl czy atrybuty. Takie manipulacje są kluczowe w tworzeniu interaktywnych aplikacji webowych, które reagują na działania użytkownika, co jest zgodne z najlepszymi praktykami w zakresie programowania front-end. Zmiany w DOM mogą także wpływać na wydajność strony, dlatego stosowanie odpowiednich metod i technik, takich jak unikanie zbyt częstych reflowów czy repaints, jest niezbędne dla optymalizacji. Warto również zaznaczyć, że stosowanie bibliotek, takich jak jQuery, może uprościć proces manipulacji DOM.

Pytanie 10

Przedstawiony kod źródłowy, zapisany w języku C++, ma za zadanie dla wprowadzanych dowolnych całkowitych liczb różnych od zera wypisać:

int main()
{
    int liczba;
    cin >> liczba;
    while (liczba != 0)
    {
        if ((liczba % 2) == 0)
            cout << liczba << endl;
        cin >> liczba;
    }
    return 0;
}
A. wszystkie liczby
B. jedynie liczby parzyste
C. liczby pierwsze
D. wyłącznie liczby nieparzyste
Wybierając odpowiedź, która mówi o liczbach pierwszych, można chyba zauważyć, że jest tu pewne nieporozumienie. Program nie ma na celu wyłapania liczb pierwszych, które zaczynają się od 2 i mają dokładnie dwa dzielniki – 1 i siebie samego. Zamiast tego, ten kod skupia się na parzystości liczb, co jest zupełnie czymś innym. Jak widać, sugerowanie, że program wypisuje wszystkie liczby, też jest błędne, bo nieparzyste liczby są po prostu pomijane. A odpowiedź dotycząca liczb nieparzystych to już w ogóle błąd, bo program nawet ich nie uwzględnia. W programowaniu ważne jest, żeby dobrze zrozumieć, co robi dany kod i jakie ma cele. To pomoże unikać błędów i nieporozumień w przyszłości.

Pytanie 11

W języku SQL używanym przez bazę danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. wymusza niepowtarzalne nazwy kolumn tabeli
B. jest używany, jeżeli wartości w danej kolumnie nie mogą się powtarzać
C. jest stosowany jedynie w przypadku kolumn liczbowych
D. uniemożliwia wprowadzenie wartości NULL
Atrybut UNIQUE w poleceniu CREATE TABLE w języku SQL dla bazy danych MySQL jest kluczowym elementem, który zapewnia, że wartości w danej kolumnie są unikalne dla każdego rekordu w tabeli. Oznacza to, że nie może istnieć więcej niż jeden rekord z taką samą wartością w kolumnie oznaczonej tym atrybutem. Dzięki temu, gdy projektujemy bazę danych, możemy zagwarantować integralność danych oraz ich spójność, co jest szczególnie istotne w przypadku kluczowych informacji, jak identyfikatory użytkowników czy numery seryjne produktów. Na przykład, jeżeli mamy tabelę użytkowników z kolumną 'email', możemy zastosować atrybut UNIQUE, aby upewnić się, że każdy użytkownik ma unikalny adres e-mail. W praktyce, jeżeli spróbujemy wprowadzić dwa rekordy z tym samym adresem e-mail, baza danych zgłosi błąd. Warto zauważyć, że atrybut UNIQUE pozwala na wprowadzenie wartości NULL, o ile nie ma innych wartości w danej kolumnie. Zgodnie z zasadami normalizacji danych, stosowanie atrybutu UNIQUE jest standardowym podejściem do zapewnienia jakości danych i ich unikalności w systemach zarządzania bazami danych.

Pytanie 12

Cookie stworzony za pomocą polecenia PHP

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. będzie przechowywany na serwerze przez 24 godziny
B. wygaśnie po dobie od momentu jego utworzenia
C. wygaśnie po jednej godzinie od momentu jego utworzenia
D. będzie przechowywany na serwerze przez jedną godzinę
Odpowiedź wygaśnie po jednej dobie od jego utworzenia jest prawidłowa, ponieważ w funkcji setcookie() parametr time() + (3600 * 24) ustala czas wygaśnięcia ciasteczka na 24 godziny, licząc od momentu jego utworzenia. W praktyce oznacza to, że ciasteczko będzie dostępne dla przeglądarki przez całą dobę, co jest przydatne w wielu aplikacjach webowych. Ciasteczka są używane do przechowywania informacji o sesji użytkownika, preferencjach oraz stanach aplikacji. Przykładem zastosowania może być pamiętanie, że użytkownik jest zalogowany, co ułatwia korzystanie z serwisu. Zgodnie z najlepszymi praktykami, zaleca się ustawianie odpowiednich parametrów dla ciasteczek, takich jak HttpOnly i Secure, a także ich właściwe zarządzanie, aby nie narażać danych użytkowników na niebezpieczeństwo. Ponadto, dobrze jest regularnie przeglądać i aktualizować politykę dotycząca ciasteczek, aby spełniać wymogi przepisów o ochronie danych osobowych, takich jak RODO.

Pytanie 13

W skrypcie JavaScript zmienne mogą być definiowane

A. zawsze poprzedzone znakiem $ przed nazwą
B. w chwili pierwszego użycia zmiennej
C. jedynie wtedy, gdy podamy typ zmiennej oraz jej nazwę
D. wyłącznie na początku skryptu
W języku JavaScript zmienne mogą być zadeklarowane w momencie ich pierwszego użycia dzięki mechanizmowi hoisting. Oznacza to, że silnik JavaScript przenosi deklaracje zmiennych na początek ich zasięgu, co pozwala na ich użycie w kodzie przed ich faktycznym zadeklarowaniem. Przykładem może być sytuacja, gdy zmienną deklarujemy za pomocą słowa kluczowego 'let' lub 'const'. Chociaż sama deklaracja jest hoistowana, to inicjalizacja zmiennej pozostaje w miejscu, co oznacza, że nie można jej używać przed faktycznym przypisaniem wartości. Dobrą praktyką jest zawsze deklarowanie zmiennych przed ich użyciem, aby uniknąć niejasności i błędów, takich jak ReferenceError. Warto również zauważyć, że JavaScript pozwala na dynamiczne typowanie, więc nie trzeba określać typu zmiennej przy jej deklaracji, co zwiększa elastyczność i uproszcza kod.

Pytanie 14

W języku JavaScript, aby uzyskać element wykorzystując metodę getElementById, jaką właściwością można zmienić jego zawartość?

A. Body
B. innerBody
C. HTML
D. innerHTML
Właściwość innerHTML jest kluczowym elementem manipulacji zawartością DOM (Document Object Model) w JavaScript. Umożliwia ona programistom dostęp do zawartości danego elementu HTML oraz jej modyfikację. Gdy pobieramy element za pomocą metody getElementById, mamy możliwość bezpośredniego zmienienia jego treści poprzez przypisanie nowego stringa do innerHTML. Przykładowo, jeśli mamy element o identyfikatorze 'myElement', możemy zaktualizować jego zawartość w następujący sposób: document.getElementById('myElement').innerHTML = 'Nowa treść!';. To podejście jest powszechnie stosowane w dynamicznych aplikacjach internetowych, gdzie treść na stronie musi być często aktualizowana w odpowiedzi na działania użytkownika. Warto jednak pamiętać, że użycie innerHTML niesie ze sobą pewne ryzyko związane z bezpieczeństwem, takie jak podatność na ataki XSS (Cross-Site Scripting). Dlatego zaleca się stosowanie tej właściwości z ostrożnością i rozważenie alternatyw, jak np. textContent, w przypadku, gdy nie potrzebujemy interpretować HTML. Dobrą praktyką jest również walidacja i sanitizacja danych wejściowych, aby zminimalizować ryzyko związane z wstrzyknięciem niepożądanych skryptów. W kontekście standardów kodowania, zasadniczo zaleca się preferowanie metod, które nie tylko poprawiają bezpieczeństwo, ale także czytelność kodu.

Pytanie 15

W CSS określono styl dla paragrafu, który nada mu poniższe cechy:

background-color: red;
color: blue;
margin: 40px;
A. tło w kolorze niebieskim, tekst w kolorze czerwonym, marginesy wewnętrzne o wartości 40px
B. tło w kolorze niebieskim, tekst w kolorze czerwonym, marginesy zewnętrzne o wartości 40px
C. tło w kolorze czerwonym, tekst w kolorze niebieskim, marginesy wewnętrzne o wartości 40px
D. tło w kolorze czerwonym, tekst w kolorze niebieskim, marginesy zewnętrzne o wartości 40px
W podanym przykładzie z CSS zastosowano trzy kluczowe właściwości stylizujące element HTML: background-color color oraz margin. Właściwość background-color określa kolor tła danego elementu tutaj przyjęto wartość red co oznacza czerwone tło. Właściwość color definiuje kolor tekstu w elemencie który w tym przypadku jest ustawiony na blue czyli niebieski. Ostatnią właściwością jest margin która odpowiada za marginesy zewnętrzne elementu. Marginesy zewnętrzne to przestrzeń wokół elementu od jego krawędzi do sąsiadujących elementów i w tym przykładzie mają wartość 40px. Takie ustawienia są często używane w praktyce aby zapewnić czytelność i estetykę projektu. Używanie marginesów zewnętrznych to dobra praktyka w celu zachowania odpowiednich odstępów w układzie strony. Warto podkreślić że użycie tych właściwości jest zgodne ze standardami CSS zapewniając kompatybilność z większością przeglądarek. Właściwe stosowanie kolorów i marginesów jest kluczowe w projektowaniu przyjaznym dla użytkownika UX oraz estetycznie spójnych interfejsów graficznych.

Pytanie 16

Portal internetowy dysponuje bardzo złożonym systemem stylów, który obejmuje style zewnętrzne, wewnętrzne oraz lokalne. Jak można zagwarantować, że określona cecha zdefiniowana w zewnętrznym stylu jest zawsze stosowana do elementu HTML, niezależnie od bardziej priorytetowych stylów?

A. jako selektor potomka
B. przy pomocy reguły !important
C. przy pomocy pseudoelementu ::after
D. jako pseudoklasę :active
Zdefiniowanie cechy za pomocą selektora potomka, pseudoklasy :active lub pseudoelementu ::after to podejścia, które nie spełniają wymaganego celu w kontekście priorytetyzacji stylów CSS. Selektor potomka odnosi się do elementów, które są zagnieżdżone wewnątrz innych elementów i nie zapewnia on wyższego priorytetu. Na przykład, jeśli mamy regułę `div p { color: blue; }`, a później w innym miejscu `p { color: red; }`, kolor tekstu w elemencie <p> będzie czerwony, niezależnie od tego, że jest on dzieckiem <div>. Pseudoklasa :active dotyczy stanu interakcji z elementem, jak naciśnięcie przycisku. Nie można jej używać do stawiania stylów jako domyślnych, ponieważ działa tylko w momencie aktywacji, co nie spełnia wymogu stałego przypisania stylu. Pseudoelement ::after służy do dodawania treści po elemencie, ale również nie wpływa na priorytet wyświetlania stylów. Użycie tych metod w kontekście prób ustalenia stałych cech stylów może prowadzić do nieporozumień i błędów w kodzie, ponieważ nie zapewniają one odpowiedniej kontroli nad priorytetami, co jest kluczowe w projektowaniu stylów CSS. W praktyce, aby uniknąć konfliktów i nieprzewidywalnych rezultatów, zaleca się odpowiednie planowanie struktury styli oraz przejrzystość w używaniu reguły !important tylko tam, gdzie to absolutnie konieczne.

Pytanie 17

Poniżej zaprezentowano fragment kodu w języku HTML:
<ol>
<li>punkt 1</li>
<li>punkt 2</li>
<ul>
<li>podpunkt1</li>
<li>podpunkt2</li>
<li>podpunkt3</li>
</ul>
<li>punkt3</li>
</ol>

A. 1. punkt 1 2. punkt 2 podpunkt1 podpunkt2 podpunkt1 3. punkt3
B. punkt 1 punkt 2 podpunkt1 podpunkt2 podpunkt3 punkt3
C. 1. punkt 1 2. punkt 2 podpunkt1 podpunkt2 podpunkt3 punkt3
D. 1. punkt 1 2. punkt 2 3. punkt3 podpunkt1 podpunkt2 podpunkt1
Fajnie, że wybrałeś poprawną odpowiedź! To pokazuje, że rozumiesz, jak działa struktura list w HTML. W Twoim kodzie mamy uporządkowaną listę z trzema głównymi punktami, co jest świetne. Te pierwsze dwa są dobrze zdefiniowane jako elementy <li>, tak jak powinny być. A w punkcie 2 masz zagnieżdżoną listę nieuporządkowaną, co dodaje trochę ekstra informacji – super sprawa! Pamiętaj, że to zagnieżdżenie ma znaczenie, bo pomaga to w organizacji treści. Każdy podpunkt też jest elementem <li>, więc wszystko się zgadza. Tego typu struktury są mega przydatne, zwłaszcza w spisach treści czy menu nawigacyjnych. Pamiętaj, że dobrze zbudowany HTML jest ważny dla czytelności, a także dla osób, które korzystają z różnych technologii do przeglądania stron. Trzymaj tak dalej!

Pytanie 18

Jaką wartość w systemie szesnastkowym przyjmie kolor określony kodem RGB rgb(255, 128, 16)?

A. #ff8011
B. #008010
C. #ff0f10
D. #ff8010
Odpowiedź #ff8010 jest prawidłowa, ponieważ kolor o wartości rgb(255, 128, 16) w systemie szesnastkowym przekłada się na poszczególne wartości RGB. Wartości te są konwertowane w sposób następujący: 255 w systemie dziesiętnym odpowiada FF w systemie szesnastkowym, 128 to 80, a 16 to 10. Zatem, łącząc te składniki, otrzymujemy #ff8010. W praktyce, kolory te są często stosowane w projektowaniu graficznym oraz tworzeniu stron internetowych, gdzie dokładne odwzorowanie kolorów jest kluczowe. Kod szesnastkowy jest powszechnie używany ze względu na swoją kompaktowość i łatwość odczytu dla programistów. Warto więc zaznaczyć, że znajomość konwersji kolorów między różnymi systemami jest ważnym elementem w pracy nad kolorystyką w projektach cyfrowych oraz w branżach zajmujących się grafiką i designem. Dobre praktyki obejmują stosowanie narzędzi do wizualizacji kolorów oraz testowanie ich na różnych urządzeniach, aby zapewnić spójność wizualną.

Pytanie 19

Która z poniższych funkcji zdefiniowanych w języku PHP oblicza sumę połowy wartości a i połowy wartości b?

A. function licz($a, $b) {return $a/2 + $b/2;}
B. function licz($a, $b) {return ($a/2 + $b)/2;}
C. function licz($a, $b) {return 2/$a + 2/$b;}
D. function licz($a, $b) {return $a/2 + $b;}
Odpowiedź jest poprawna, ponieważ funkcja 'licz' w tej formie prawidłowo oblicza sumę połowy wartości a oraz połowy wartości b. W języku PHP, operator '/' dzieli wartość po lewej stronie przez wartość po prawej, więc w tym przypadku a/2 i b/2 zwracają odpowiednio połowę a oraz połowę b. Następnie te dwie wartości są sumowane, co jest zgodne z wymaganym wynikiem. Przykład zastosowania tej funkcji może być użyty w sytuacji, gdy chcemy obliczyć średnią wartość dwóch parametrów, co jest często spotykane w obliczeniach statystycznych i analitycznych. Dobrą praktyką jest również zapewnienie, że wartości a i b są liczbami, co można osiągnąć za pomocą walidacji danych wejściowych. Zastosowanie tej funkcji w większym kontekście, na przykład w aplikacjach webowych czy systemach obliczeniowych, pokazuje jej uniwersalność i efektywność w pracy z danymi.

Pytanie 20

Aby dodać wpis do tabeli Pracownicy, konieczne jest użycie polecenia SQL

A. INSERT (Jan), (Kowalski) INTO TABLE Pracownicy;
B. INSERT VALUES (Jan; Kowalski) INTO Pracownicy;
C. INSERT VALUES Pracownicy INTO (Jan, Kowalski);
D. INSERT INTO Pracownicy VALUES ("Jan", "Kowalski");
Odpowiedź "INSERT INTO Pracownicy VALUES ("Jan", "Kowalski");" jest poprawna, ponieważ jest zgodna z podstawową składnią języka SQL służącego do dodawania nowych rekordów do tabeli. Polecenie INSERT INTO jest używane w celu wstawienia nowych danych do określonej tabeli w bazie danych, a wartości, które mają zostać dodane, umieszczane są w nawiasach, oddzielone przecinkami. W tym przypadku dodajemy dwa pola: imię oraz nazwisko pracownika. Wartości są otoczone cudzysłowami, co jest wymagane dla typów danych tekstowych. Taki zapis jest zgodny z normami SQL i jest najlepszą praktyką, gdyż zapewnia jasność i jednoznaczność operacji. Przykładowo, w rzeczywistych aplikacjach zarządzania danymi w firmach, często spotykamy się z sytuacjami, gdzie dodawanie nowych pracowników do bazy danych jest rutynowym zadaniem, a zrozumienie poprawnej składni SQL jest kluczowe dla efektywnej pracy. Warto również pamiętać, że korzystanie z parametrów w zapytaniach SQL w aplikacjach produkcyjnych zwiększa bezpieczeństwo danych i minimalizuje ryzyko ataków typu SQL Injection.

Pytanie 21

W języku CSS, aby zdefiniować marginesy zewnętrzne o wartościach: margines górny i dolny 20 px, lewy i prawy 40 px należy użyć kodu

A. margin: 20px 40px;
B. margin: 20px 40px 40px 20px;
C. margin: 40px 20px;
D. margin: 20px 20px 40px 40px;
Poprawny zapis margin: 20px 40px; wynika z tzw. skróconej (shorthand) składni własności margin w CSS. Gdy podajemy dwie wartości, przeglądarka interpretuje je zawsze w ten sam sposób: pierwsza wartość dotyczy marginesu górnego i dolnego (top i bottom), a druga wartość dotyczy marginesu lewego i prawego (left i right). Czyli dokładnie tak, jak w treści pytania: 20 px góra/dół i 40 px lewo/prawo. To jest zgodne ze specyfikacją CSS (CSS Box Model) i działa we wszystkich współczesnych przeglądarkach. Moim zdaniem warto zapamiętać ogólny schemat dla margin i padding: – 1 wartość: wszystkie cztery strony jednakowe (margin: 20px;) – 2 wartości: góra/dół, lewo/prawo (margin: 20px 40px;) – 3 wartości: góra, lewo/prawo, dół (margin: 10px 20px 30px;) – 4 wartości: góra, prawo, dół, lewo – zgodnie z ruchem wskazówek zegara (margin: 10px 20px 30px 40px;) W praktyce zapis z dwiema wartościami jest bardzo często używany w layoutach responsywnych, np. przy centrowaniu kontenera: .container { margin: 20px auto; width: 80%; }. Zamiast podawać osobno margin-top, margin-right, margin-bottom i margin-left, używamy jednego, czytelnego skrótu. To nie tylko skraca kod, ale też ułatwia jego późniejsze utrzymanie. Dobrą praktyką jest też świadome korzystanie z jednostek. W przykładach szkolnych często pojawiają się piksele, ale w prawdziwych projektach produkcyjnych często stosuje się rem, em czy jednostki procentowe, żeby łatwiej skalować interfejs. Sama zasada działania shorthand margin pozostaje jednak identyczna, niezależnie od jednostki. Jeśli rozumiesz ten mechanizm, dużo łatwiej będzie Ci później ogarniać spacing w bardziej złożonych layoutach i frameworkach CSS, typu Bootstrap czy Tailwind, które bazują na tych samych regułach box modelu.

Pytanie 22

Systemem zarządzania wersjami w projekcie oprogramowania, który jest rozproszony, jest

A. TotalCommander
B. FileZilla
C. Eclipse
D. GIT
GIT jest rozproszonym systemem kontroli wersji, który umożliwia programistom śledzenie zmian w kodzie źródłowym oraz współpracę nad projektami w zespole. Rozproszona architektura GIT pozwala każdemu deweloperowi na posiadanie pełnej kopii repozytorium, co zwiększa bezpieczeństwo i elastyczność pracy. W przeciwieństwie do centralnych systemów kontroli wersji, gdzie jedna centralna kopia repozytorium jest głównym źródłem, GIT umożliwia każdemu użytkownikowi wprowadzanie zmian lokalnie, a następnie synchronizację z innymi. Przykładem zastosowania GIT-a jest platforma GitHub, która umożliwia hosting projektów oraz wspiera pracę zespołową poprzez funkcje takie jak pull requesty czy zarządzanie problemami. GIT jest zgodny z wieloma standardami, w tym z Open Source, co czyni go narzędziem dostępnym dla szerokiej społeczności deweloperów. Jego wszechstronność i bogate możliwości, takie jak branżowanie i łączenie gałęzi, sprawiają, że jest on niezbędnym narzędziem w pracy nad nowoczesnymi projektami programistycznymi.

Pytanie 23

Z bazy danych trzeba uzyskać zapytaniem SQL nazwiska pracowników, którzy sprawują funkcję kierownika, a ich wynagrodzenie mieści się w jednostronnie domkniętym przedziale (3000, 4000>. Która klauzula weryfikuje ten warunek?

A. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
B. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
C. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
D. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
Poprawna odpowiedź to 'WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000;'. Ta klauzula w SQL jest zgodna z wymaganiami, ponieważ precyzyjnie określa, że zwracane będą tylko te rekordy, gdzie pracownik jest kierownikiem oraz jego pensja jest większa niż 3000 i jednocześnie mniejsza lub równa 4000. Zastosowanie operatorów logicznych AND w tym kontekście jest kluczowe, ponieważ pozwala na jednoczesne spełnienie obu warunków. W praktyce, aby uzyskać wyniki zgodne z tymi kryteriami, ważne jest, aby zrozumieć różnicę między operatorami porównawczymi, a także ich zastosowanie w kontekście warunków. Przykładowo, jeśli dla dużej bazy danych chcemy filtrować pracowników w oparciu o ich pozycje oraz wynagrodzenie, stosowanie precyzyjnych klauzul WHERE pozwala na optymalizację zapytań i lepsze zarządzanie danymi. Dobre praktyki w SQL podkreślają znaczenie klarowności i dokładności w definiowaniu warunków, co bezpośrednio przekłada się na efektywność operacji na bazach danych.

Pytanie 24

W języku CSS, aby ustalić wewnętrzny górny margines, czyli przestrzeń pomiędzy elementem a jego otaczającym obramowaniem, należy zastosować komendę

A. border-top
B. local-top
C. padding-top
D. outline-top
W języku CSS, aby zdefiniować wewnętrzny górny margines elementu, należy użyć właściwości padding-top. Marginesy wewnętrzne (padding) to przestrzeń, która znajduje się pomiędzy zawartością elementu a jego obramowaniem, co pozwala na stworzenie efektu oddzielenia treści od krawędzi. Wartości padding-top można ustalać w jednostkach takich jak px, em, rem czy %. Na przykład, kod CSS 'padding-top: 20px;' doda 20 pikseli odstępu od górnej krawędzi obramowania do zawartości elementu. Właściwość ta jest standardowo wspierana we wszystkich nowoczesnych przeglądarkach i jest częścią specyfikacji CSS Box Model, która określa, jak przestrzeń jest zorganizowana w obrębie elementów HTML. Użycie padding-top jest kluczowe, gdy chcemy, aby nasza strona była estetyczna i czytelna, co ma istotne znaczenie w projektowaniu responsywnym, gdzie różne urządzenia mogą wymagać różnych wartości paddingu, aby utrzymać spójność wizualną. Poprawne stosowanie padding-top przyczynia się również do lepszej dostępności strony, co jest istotnym aspektem w nowoczesnym web designie.

Pytanie 25

Logo platformy CMS noszącej nazwę Joomla! to

Ilustracja do pytania
A. D
B. A
C. B
D. C
Logo Joomla! jest charakterystyczne z uwagi na swoją kolorystykę i kształt symbolizujący współpracę oraz integrację. Zawiera cztery kolorowe elementy splecione w formie kwiatka lub wiru co często jest interpretowane jako symbol integracji społeczności i otwartości na różnorodność. Joomla! to system zarządzania treścią (CMS) napisany w PHP który wykorzystywany jest do tworzenia stron internetowych blogów i aplikacji internetowych. Jest jednym z najpopularniejszych CMS na świecie dzięki swojej elastyczności modułom oraz dużej społeczności wspierającej rozwój. Joomla! jest wykorzystywany zarówno przez małe przedsiębiorstwa jak i duże organizacje dzięki swojej możliwości skalowania i dostosowywania do indywidualnych potrzeb. Dodatkowo jego open-source'owy charakter pozwala na szerokie dostosowanie kodu do specyficznych wymagań co jest cenione przez programistów i deweloperów. Dobry wybór Joomla! jako CMS może znacząco przyspieszyć proces tworzenia i zarządzania treścią na stronie internetowej oferując jednocześnie wsparcie licznych rozszerzeń i szablonów

Pytanie 26

Baza danych gromadzi dane multimedialne, co wiąże się z koniecznością przechowywania znacznych ilości danych binarnych. Jakiego typu należy użyć dla takich danych?

A. ENUM
B. LONGTEXT
C. DOUBLE
D. BLOB
Typ ENUM jest używany do definiowania kolumn w bazach danych, które zawierają ograniczony zestaw wartości, przy czym każda wartość jest traktowana jako tekst. Zastosowanie ENUM nie jest odpowiednie dla danych multimedialnych, które wymagają przechowywania dużych bloków danych binarnych, ponieważ ENUM nie obsługuje danych binarnych i może przechowywać jedynie dane tekstowe. Typ DOUBLE to liczba zmiennoprzecinkowa, która również nie nadaje się do przechowywania danych multimedialnych, gdyż służy do reprezentacji wartości numerycznych z podwójną precyzją, co ogranicza jego zastosowanie do obliczeń matematycznych. LONGTEXT jest typem tekstowym, który pozwala na przechowywanie długich ciągów tekstowych, jednak w przypadku multimediów, gdzie dane są w formie binarnej, nie jest to odpowiednie rozwiązanie. Sugerowanie stosowania LONGTEXT w kontekście danych multimedialnych może prowadzić do błędów wydajnościowych oraz problemów z zarządzaniem danymi, ponieważ silnik bazy danych nie jest zoptymalizowany do obsługiwania takich danych w tym formacie. Dlatego ważne jest, aby przy wyborze typów danych w bazach danych kierować się ich przeznaczeniem oraz specyfiką przechowywanych informacji, aby uniknąć nieefektywności i problemów z wydajnością.

Pytanie 27

Podstawowym celem korzystania z edytora WYSIWYG jest

A. wykrywanie błędów w bazie danych
B. automatyzacja odtwarzania plików multimedialnych
C. ściąganie z Internetu pełnych portali WWW
D. szybka wizualizacja tworzonej strony
Edytory WYSIWYG (What You See Is What You Get) są narzędziami, które umożliwiają tworzenie i edytowanie treści internetowych w sposób wizualny, co oznacza, że użytkownik widzi na ekranie dokładnie to, co otrzyma po zapisaniu dokumentu. Głównym celem ich stosowania jest przyspieszenie procesu projektowania stron internetowych poprzez natychmiastowe wizualizowanie zmian. Dzięki temu, osoby nieposiadające zaawansowanej wiedzy programistycznej mogą łatwo tworzyć atrakcyjne wizualnie strony, co ma ogromne znaczenie w kontekście szybkiego rozwoju branży webowej. Przykłady zastosowania edytorów WYSIWYG to platformy takie jak WordPress, Wix czy Squarespace, które umożliwiają użytkownikom dodawanie treści, obrazów i multimediów bez potrzeby pisania kodu. Warto również zauważyć, że edytory te wspierają standardy webowe, takie jak HTML5 i CSS3, co pozwala na optymalizację stron pod kątem SEO oraz responsywności. W związku z rosnącą popularnością edytorów WYSIWYG, znajomość ich działania staje się kluczowa dla każdego, kto pragnie efektywnie zarządzać treściami w sieci.

Pytanie 28

W programie napisanym w języku C++ należy wczytać zmienną całkowitą o nazwie liczba i wyświetlić ją tylko w przypadku, gdy przyjmuje trzycyfrowe wartości parzyste. Instrukcja warunkowa, która to sprawdza, powinna być oparta na wyrażeniu logicznym

A. liczba % 2 == 0 || (liczba > 99 && liczba < 999)
B. liczba % 2 == 0 || liczba > 99 || liczba < 999
C. liczba % 2 == 0 && liczba > 99 && liczba < 999
D. liczba % 2 == 0 && (liczba > 99 || liczba < 999)
Wybór odpowiedzi, które nie spełniają wszystkich warunków, prowadzi do sytuacji, w której program nie będzie działał zgodnie z zamierzeniem. W przypadku użycia operatora OR ('||') w odpowiedziach, takich jak 'liczba % 2 == 0 && (liczba > 99 || liczba < 999)', logicznie podchodzimy do problemu w sposób, który nie odzwierciedla wymagań dotyczących liczby trzycyfrowej. Operator OR oznacza, że wystarczy spełnienie jednego z warunków, aby cała instrukcja była prawdziwa, co wprowadza możliwość wyświetlenia liczb, które są parzyste, ale nie mają trzech cyfr. Na przykład liczba 50, która jest parzysta, ale nie jest trzycyfrowa, przejdzie przez tę kontrolę, co jest sprzeczne z założeniem. Podobnie, odpowiedzi opierające się na wyrażeniu 'liczba % 2 == 0 || (liczba > 99 && liczba < 999)' również nie spełniają wymagań, ponieważ pozwalają na wyświetlenie liczb nieparzystych, oraz na liczby, które nie są trzycyfrowe. Często popełnianym błędem w programowaniu jest nieprzemyślenie logicznych warunków, co prowadzi do nieprawidłowego funkcjonowania aplikacji. W programowaniu istotne jest, aby każdy warunek był dokładnie przemyślany i zgodny z wymaganiami funkcjonalnymi, co jest kluczowe dla tworzenia niezawodnych i łatwych w utrzymaniu systemów.

Pytanie 29

W aplikacji PHP, która zarządza bazą danych, aby uzyskać numer błędu oraz jego opis po dokonaniu jakiejkolwiek operacji, jakie funkcje powinny być wykorzystane?

A. tylko funkcję mysqli_error
B. funkcje mysqli_error i mysqli_error_number
C. funkcje mysqli_error i mysqli_connect_errno
D. funkcje mysqli_error i mysqli_errno
Wybór funkcji mysqli_error i mysqli_connect_errno nie jest właściwy, ponieważ mysqli_connect_errno jest funkcją przeznaczoną do uzyskiwania numeru błędu połączenia z bazą danych, a nie błędu SQL. Użycie tej funkcji w kontekście operacji na bazie danych prowadzi do mylnego wniosku, że jej zastosowanie jest uniwersalne dla wszystkich błędów. W rzeczywistości, mysqli_connect_errno powinno być stosowane głównie podczas nawiązywania połączenia, natomiast dla błędów związanych z zapytaniami SQL właściwe są inne funkcje. Z kolei wskazanie tylko na funkcję mysqli_error nie jest wystarczające, ponieważ sama dostarcza jedynie opisu błędu, a nie jego numeru, co ogranicza możliwości analizy i diagnostyki. Użytkownicy często popełniają błąd myślowy, zakładając, że pojedyncza funkcja może spełnić wszystkie potrzeby związane z obsługą błędów. W prawidłowym procesie zarządzania błędami w programowaniu, kluczowe jest użycie zestawu funkcji, które dostarczają zarówno opisy, jak i kody błędów, co pozwala na bardziej wszechstronną reakcję na różne sytuacje awaryjne. Ignorowanie tej zasady może prowadzić do nieefektywnego debugowania i długotrwałych problemów w działaniu aplikacji.

Pytanie 30

Jakim formatem kompresji dźwięku, który nie traci jakości, jest?

A. AAC
B. WWA
C. MP3
D. FLAC
FLAC, czyli Free Lossless Audio Codec, to format bezstratnej kompresji dźwięku, co oznacza, że dźwięk jest kompresowany bez utraty jakości. W przeciwieństwie do formatów stratnych, takich jak MP3 czy AAC, FLAC zachowuje oryginalne właściwości dźwięku, co czyni go idealnym wyborem dla audiofilów oraz profesjonalnych zastosowań dźwiękowych. FLAC umożliwia zmniejszenie rozmiaru plików audio, co ułatwia ich przechowywanie i przesyłanie, przy jednoczesnym zachowaniu jakości studyjnej. Przykładowo, podczas przesyłania plików audio na platformy streamingowe lub do archiwów, FLAC może być użyty do zapewnienia wysokiej jakości dźwięku bez obaw o degradację sygnału. FLAC jest standardem otwartym, co oznacza, że jest dostępny dla każdego, a jego algorytmy kompresji są udokumentowane i dostępne do implementacji w różnych aplikacjach. Warto również dodać, że FLAC obsługuje metadane, co pozwala na dodawanie informacji o utworach, takich jak wykonawca, album czy rok wydania, co zwiększa jego funkcjonalność w porównaniu do innych formatów.

Pytanie 31

Która z reguł dotyczących sekcji w języku HTML jest poprawna?

A. W sekcji <head> mogą znajdować się znaczniki <meta>, <title>, <link>
B. W sekcji <head> nie można umieszczać kodu CSS, jedynie odwołanie do pliku CSS
C. W sekcji <head> można zdefiniować szablon strony przy użyciu znaczników <div>
D. W sekcji <head> umieszcza się część <body>
Nieprawidłowe odpowiedzi zawierają koncepcje, które nie są zgodne z zasadami tworzenia struktury dokumentu HTML. W części <head> nie definiuje się szablonu strony za pomocą znaczników <div>, ponieważ znaczniki <div> są przeznaczone do strukturyzacji zawartości, a ich miejsce znajduje się w części <body>. Umieszczanie <div> w sekcji <head> jest niezgodne z semantyką HTML i nie wnosi żadnych korzyści, ponieważ przeglądarki ignorują takie znaczniki w kontekście interpretacji zawartości strony. Również nie jest poprawne stwierdzenie, że część <head> ma zawierać część <body>, ponieważ każda z tych sekcji pełni swoją unikalną rolę – <head> dostarcza metadanych, podczas gdy <body> zawiera widoczną treść strony. Dodatkowo, umieszczanie kodu CSS w <head> nie jest błędem; wręcz przeciwnie, stosowanie odwołania do zewnętrznego pliku CSS w tej sekcji jest standardową praktyką, która umożliwia organizację kodu oraz jego łatwiejszą obsługę i aktualizację. Ważne jest, aby dobrze zrozumieć, że część <head> służy do określenia ogólnych właściwości dokumentu, podczas gdy <body> zapewnia miejsce dla wszystkich elementów, które użytkownik widzi na stronie. Pojawiające się tutaj nieporozumienia często wynikają z braku zrozumienia struktury HTML oraz jej semantyki, co może prowadzić do niskiej jakości kodu i problemów z renderowaniem strony.

Pytanie 32

Jakie znaczenie ma akronim ACID w kontekście SQL?

A. atomic, consistent, iss, dependable
B. atomic, comming, is, do
C. atomic, consistent, isolated, durable
D. atomic, constaint, isolated, dependable
Każda z niepoprawnych odpowiedzi zawiera błędne definicje podstawowych pojęć związanych z właściwościami transakcji w bazach danych. Pierwsza z nich używa terminu "coming" zamiast "consistent", co jest poważnym błędem, ponieważ spójność jest kluczowa dla zapewnienia, że baza danych nie znajduje się w stanie półpełnym po zakończeniu transakcji. Druga odpowiedź zastępuje "durable" słowem "dependable", co nie oddaje rzeczywistego znaczenia trwałości w kontekście baz danych, gdzie ważne jest, aby wszelkie zmiany były zachowane mimo awarii systemu. Ostatnia odpowiedź błędnie używa słowa "constaint" zamiast "consistent", co wskazuje na nieporozumienie dotyczące fundamentalnych zasad działania baz danych. Ograniczenia (constraints) są istotne, ale to nie one definiują spójność transakcji. Właściwości ACID są kluczowe dla każdej operacji w bazach danych, a ich zrozumienie jest niezbędne dla zapewnienia integralności i bezpieczeństwa danych.

Pytanie 33

Bitmapa stanowi typ obrazu

A. wektorowym
B. rastrowym
C. interakcyjnym
D. analogowym
Wybierając odpowiedzi inne niż 'rastrowym', można napotkać na szereg nieporozumień dotyczących typów obrazów i ich zastosowań. Przykładowo, odpowiedź 'interakcyjnym' może sugerować, że obraz bitmapowy ma zdolność do reagowania na działania użytkownika, co jest nieprawidłowe, ponieważ bitmapy są statycznymi reprezentacjami wizualnymi. Interaktywność w kontekście grafiki dotyczy raczej animacji lub elementów wideo. Odpowiedź 'wektorowym' odnosi się do zupełnie innego typu grafiki, która używa matematycznych równań do definiowania kształtów i linii, co pozwala na skalowanie bez utraty jakości. Wektory są wykorzystywane w projektach, które wymagają precyzyjnych linii i kształtów, jak logotypy czy ilustracje, a ich zastosowanie jest inne niż w przypadku bitmap. Wybór odpowiedzi 'analogowym' wskazuje na mylne pojęcie, że bitmapa mogłaby być obrazem fizycznym, takim jak slajdy czy zdjęcia wydrukowane, co jest sprzeczne z naturą cyfrowych obrazów; bitmapy są bytem cyfrowym, co oznacza, że są one przetwarzane i przechowywane w formacie elektronicznym. Tego rodzaju pomyłki mogą prowadzić do nieporozumień w pracy z grafiką, dlatego warto zwracać uwagę na różnice między tymi pojęciami oraz ich odpowiednie zastosowanie w praktyce.

Pytanie 34

W tabeli klienci znajduje się pole status, które może przyjmować wartości: Zwykły, Złoty, Platynowy. Z uwagi na to, że dane klientów o statusie Platynowy są przetwarzane najczęściej, konieczne jest utworzenie wirtualnej tabeli (widoku), która będzie zawierała wyłącznie te informacje. W tym celu można użyć kwerendy

A. CREATE VIEW KlienciPlatyna FROM klienci WHERE status = "Platynowy"
B. CREATE VIEW KlienciPlatyna AS klient WHERE status = "Platynowy"
C. CREATE VIEW KlienciPlatyna AS SELECT status FROM klienci WHERE "Platynowy"
D. CREATE VIEW KlienciPlatyna AS SELECT * FROM klienci WHERE status = "Platynowy"
Wszystkie inne odpowiedzi zawierają błędy w składni SQL lub koncepcjach dotyczących tworzenia widoków. Odpowiedź pierwsza, sugerując 'CREATE VIEW KlienciPlatyna AS klient WHERE status = "Platynowy";', jest niepoprawna, ponieważ nie podaje poprawnej struktury zapytania. W SQL nie używa się słowa kluczowego 'client' w takim kontekście. Odpowiedź druga, 'CREATE VIEW KlienciPlatyna FROM klienci WHERE status = "Platynowy";', wykorzystuje słowo kluczowe 'FROM', które nie jest obsługiwane w definicji widoków; zamiast tego powinno się używać 'AS SELECT'. Odpowiedź trzecia, 'CREATE VIEW KlienciPlatyna AS SELECT status FROM klienci WHERE "Platynowy";', także nie jest poprawna, ponieważ nie zawiera pełnej definicji warunku filtracji, a zamiast tego próbuję zastosować wartość bez kontekstu, co prowadzi do błędnych wyników. W SQL każdy element zapytania ma swoje miejsce i funkcje, a niepoprawna konstrukcja może skutkować błędami lub nieprzewidywalnymi rezultatami. W praktyce ważne jest, aby zrozumieć, jak budować zapytania w sposób zgodny z gramatyką języka SQL i jak optymalizować je dla lepszej wydajności. Prawidłowe zrozumienie struktury zapytań jest kluczowe w pracy z bazami danych.

Pytanie 35

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

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

Pytanie 36

Określenie powiązań między tabelami w bazie danych MySQL realizuje klauzula

A. INDEX
B. REFERENCES
C. PRIMARY KEY
D. ORDER BY

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klauzula REFERENCES w systemie bazodanowym MySQL jest kluczowym elementem, który umożliwia ustanawianie relacji pomiędzy tabelami. Jej główną funkcją jest definiowanie kluczy obcych, które zapewniają referencyjną integralność danych. Klucz obcy wskazuje na kolumnę w innej tabeli, co pozwala na powiązanie dwóch zestawów danych. Na przykład, jeśli mamy tabelę 'Zamówienia', która zawiera kolumnę 'KlientID', możemy użyć klauzuli REFERENCES, aby wskazać, że ta kolumna odnosi się do kolumny 'ID' w tabeli 'Klienci'. Dzięki temu, przy dodawaniu lub aktualizowaniu rekordów w tabeli 'Zamówienia', system MySQL będzie sprawdzać, czy 'KlientID' ma odpowiadający mu rekord w tabeli 'Klienci'. Takie powiązanie zapobiega błędom związanym z nieistniejącymi danymi i umożliwia bardziej złożone zapytania, które łączą dane z różnych tabel. Klauzula REFERENCES jest częścią szerszych standardów SQL, które ułatwiają zarządzanie relacyjnymi bazami danych i są kluczowe w projektowaniu złożonych struktur danych.

Pytanie 37

Którą relację w projekcie bazy danych należy ustalić między tabelami widocznymi na ilustracji zakładając, że każdy klient sklepu internetowego dokona przynajmniej dwóch zamówień?

Ilustracja do pytania
A. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
B. n:n
C. 1:1
D. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie wskazana relacja 1:n (jeden do wielu), gdzie „1” jest po stronie tabeli Klient, a „n” po stronie tabeli Zamówienie, dokładnie odzwierciedla opisany przypadek biznesowy: jeden klient sklepu internetowego może złożyć wiele zamówień, a każde zamówienie należy do jednego, konkretnego klienta. W praktyce projektowania relacyjnych baz danych oznacza to, że w tabeli Zamówienie umieszczamy klucz obcy (np. kolumnę id_klienta), który wskazuje na klucz główny w tabeli Klient (np. id_klienta jako PRIMARY KEY). To jest klasyczny przykład relacji nadrzędny–podrzędny (parent–child). Z mojego doświadczenia w systemach e‑commerce taka struktura jest standardem, bo pozwala łatwo wykonywać typowe kwerendy: wyszukiwanie wszystkich zamówień danego klienta, liczenie wartości zamówień na klienta, analizę historii zakupów. Dodatkowo założenie, że każdy klient dokona co najmniej dwóch zamówień, wpływa na tzw. krotność minimalną po stronie Zamówienia (min 2), ale nie zmienia samego typu relacji – nadal jest to 1:n. W modelu logicznym i fizycznym realizujemy to przez odpowiednie więzy integralności: klucz główny w tabeli Klient i klucz obcy w tabeli Zamówienie z ON DELETE RESTRICT lub CASCADE (w zależności od polityki biznesowej). Taka relacja ułatwia normalizację danych: dane klienta trzymamy w jednym miejscu, unikamy duplikacji w wielu zamówieniach, a w razie zmiany np. adresu e‑mail aktualizujemy tylko jeden rekord. W dobrze zaprojektowanych schematach (np. zgodnych z 3NF) dokładnie tak modeluje się powiązanie Klient–Zamówienie.

Pytanie 38

Które z formatowań nie jest wyrażone w języku CSS?

A. Fragment pliku strona.html:
<style>
body { background-color: yellow; }
</style>
B. Fragment pliku formatowanie.css:
body { background-color: yellow; }
C. Fragment pliku strona.html:
<body bgcolor="yellow">
D. Fragment pliku strona.html:
<body style="background-color: yellow;" >
A. C.
B. A.
C. D.
D. B.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, prawidłowo wybrałeś odpowiedź C. To pytanie dotyczyło zrozumienia, które formatowania nie są wyrażone w języku CSS. W CSS wykorzystuje się różnego rodzaju selektory, aby określić elementy strony, do których mają być stosowane określone style. Fragmenty A i B przedstawiają formatowanie w języku CSS. Fragment A demonstruje styl wewnątrz dokumentu HTML, co jest jednym z trzech sposobów dodawania styli CSS do dokumentu HTML. Natomiast fragment B pokazuje styl z zewnętrznego pliku CSS, co jest zgodne ze standardami i uważane za najlepszą praktykę, ponieważ pozwala na utrzymanie oddzielenia struktury i prezentacji. Fragment D również wykorzystuje CSS, ale jest to tzw. "inline CSS", który jest stosowany bezpośrednio do elementu HTML. Ostatecznie, jedynie fragment C nie używa CSS. Zamiast tego, wykorzystuje przestarzały atrybut HTML "bgcolor" do określenia koloru tła, co obecnie jest uważane za złą praktykę. Pamiętaj, że zrozumienie różnicy pomiędzy HTML a CSS jest kluczowe w budowaniu poprawnie działających i dobrze zaprojektowanych stron internetowych.

Pytanie 39

Podczas realizacji grafiki na stronę internetową konieczne jest wycięcie jedynie jej części. Jak nazywa się ta czynność?

A. odwrócenie obrazu
B. łącznie warstw
C. kadrowanie
D. zmiana rozmiaru

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kadrowanie to proces, który polega na przycinaniu obrazu w celu uzyskania określonego obszaru, eliminując zbędne fragmenty. W kontekście przygotowywania grafiki na stronę internetową, kadrowanie jest kluczowe, ponieważ pozwala na dostosowanie wymiarów obrazu do wymagań projektu, co jest szczególnie istotne w kontekście responsywnego designu. Przykładowo, jeśli mamy zdjęcie o wysokiej rozdzielczości, a chcemy je wykorzystać jako tło na stronie, kadrowanie pozwala nam wybrać najważniejszy fragment, który będzie najlepiej komponował się w ustalonym układzie. W praktyce kadrowanie nie tylko poprawia estetykę grafiki, ale także wpływa na jej wydajność, zmniejszając rozmiar pliku, co jest korzystne dla szybkości ładowania strony. Warto również zaznaczyć, że dobrym zwyczajem jest zachowanie proporcji obrazu podczas kadrowania, co można osiągnąć przy pomocy narzędzi takich jak Adobe Photoshop czy GIMP, które oferują funkcje do precyzyjnego wycinania i dostosowywania wymiarów.

Pytanie 40

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. wypisanie liczb parzystych w przedziale od a do b
B. wypisanie wszystkich liczb w zakresie od a do b
C. sprawdzenie, czy liczba a jest liczbą nieparzystą; jeśli tak, to jej wypisanie
D. zwrócenie parzystych wartości liczb od a do b

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja fun1 napisana w języku JavaScript ma za zadanie wypisanie liczb parzystych z przedziału od a do b. Na początku funkcja sprawdza, czy liczba a jest nieparzysta, wykorzystując operator modulo %. Jeśli a jest nieparzysta, zwiększana jest o jeden, aby stać się liczbą parzystą. Następnie pętla for iteruje od tej nowej wartości a do b, zwiększając a o 2 w każdej iteracji, co zapewnia, że wszystkie generowane liczby są parzyste. Wykorzystanie document.write(n) w każdej iteracji powoduje wypisanie bieżącej liczby. Taki sposób iteracji jest efektywny w kontekście wydajności, ponieważ omija nieparzyste liczby bez potrzeby sprawdzania ich w każdej iteracji. Ta technika jest powszechnie stosowana w programowaniu, gdy chcemy iterować tylko po określonym typie liczb, w tym przypadku parzystych. Dbałość o sprawność kodu i unikanie zbędnych operacji to kluczowe aspekty profesjonalnego programowania, które wpływają na szybkość działania i zasobożerność aplikacji. Implementacja ta jest zgodna z dobrymi praktykami, gdyż unika zbędnych operacji i wykonuje zadanie w sposób możliwie najbardziej efektywny.