Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 22 czerwca 2026 17:10
  • Data zakończenia: 22 czerwca 2026 17:35

Egzamin zdany!

Wynik: 24/40 punktów (60,0%)

Wymagane minimum: 20 punktów (50%)

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

W języku JavaScript rezultat wykonania polecenia zmienna++; będzie identyczny jak polecenia

A. zmienna=zmienna+10;
B. zmienna --;
C. zmienna+=1;
D. zmienna===zmienna+1;
W języku JavaScript operator inkrementacji '++' zwiększa wartość zmiennej o 1. Zapis 'zmienna++' jest równoważny z 'zmienna += 1', ponieważ obydwa polecenia prowadzą do tej samej końcowej wartości zmiennej. Operator '+=' to skrót, który dodaje wartość po prawej stronie operatora do aktualnej wartości zmiennej. Warto nadmienić, że 'zmienna++' działa w trybie post-inkrementacji, co oznacza, że zwraca pierwotną wartość przed inkrementacją, podczas gdy '++zmienna' działa w trybie pre-inkrementacji, zwracając wartość po inkrementacji. Przykładowo, jeśli zmienna wynosi 5, to po zastosowaniu 'zmienna++' jej nowa wartość stanie się 6, a jej wartość zwracana to 5. Zastosowanie operatora '+=' jest zgodne z ECMAScript, standardem, na którym oparty jest JavaScript. Użycie tych operatorów jest powszechne w programowaniu, zwłaszcza w iteracjach i obliczeniach. Przykładając to do praktyki, w kodzie można zobaczyć takie zastosowanie: let x = 5; x++; console.log(x); // wypisze 6, a let y = 5; y += 1; console.log(y); // również wypisze 6.

Pytanie 2

W aplikacji internetowej komunikat powinien pojawiać się tylko wtedy, gdy dany użytkownik jest na stronie po raz pierwszy. Którą funkcję PHP należy w tym celu zastosować?

A. session_destroy
B. setcookie
C. define
D. mysqli_change_user
Prawidłowo – w tym zadaniu kluczowa jest funkcja setcookie(), bo to właśnie ciasteczka są standardowym mechanizmem do rozpoznawania, czy użytkownik był już wcześniej na danej stronie. W praktyce robi się to tak: przy pierwszym wejściu na stronę sprawdzasz, czy istnieje określone cookie, np. $_COOKIE['first_visit']. Jeśli go nie ma, wyświetlasz komunikat powitalny i ustawiasz ciasteczko za pomocą setcookie('first_visit', '1', time()+3600*24*365). Przy kolejnych wejściach cookie już będzie istniało, więc komunikat się nie pojawi. To jest bardzo typowy wzorzec np. dla banerów informujących o ciasteczkach, komunikatów onboardingowych czy jednorazowych podpowiedzi dla nowych użytkowników. Z mojego doświadczenia w webdevie to najprostsze i najbardziej przenośne rozwiązanie, bo działa niezależnie od sesji i logowania użytkownika – wystarczy przeglądarka z włączonymi cookies. Ważne jest też, żeby pamiętać o tym, że setcookie() musi być wywołane przed wysłaniem jakiegokolwiek outputu (czyli przed jakimkolwiek HTML, echo, BOM itd.), bo ciasteczka są wysyłane w nagłówkach HTTP. W bardziej rozbudowanych projektach często łączy się cookies z innymi mechanizmami (np. sesją czy bazą danych), ale do prostego sprawdzenia „czy użytkownik jest tu pierwszy raz” ciasteczko ustawiane setcookie() to według dobrych praktyk w zupełności wystarcza. Warto też dbać o parametry bezpieczeństwa ciastek (secure, httponly, samesite), szczególnie gdy później używamy tego mechanizmu do czegoś ważniejszego niż zwykły komunikat informacyjny.

Pytanie 3

Do jakich zadań można wykorzystać program FileZilla?

A. publikacji strony internetowej
B. kompilowania skryptu na stronie
C. sprawdzania poprawności strony internetowej
D. analizowania skryptu na stronie
Walidacja strony internetowej polega na sprawdzaniu poprawności kodu HTML lub CSS, co zapewnia, że witryna jest zgodna z określonymi standardami, takimi jak W3C. Narzędzia do walidacji, takie jak W3C Validator, służą do analizy kodu źródłowego, wskazując błędy, które mogą wpłynąć na wyświetlanie strony w różnych przeglądarkach. W kontekście FileZilla, to oprogramowanie nie jest zaprojektowane do tego celu, a jego użycie w tej roli byłoby mylnym podejściem. Debugowanie skryptu na stronie, na przykład w językach JavaScript czy PHP, wymaga zastosowania narzędzi takich jak debugger w przeglądarkach internetowych lub IDE. FileZilla nie oferuje żadnych funkcji debugowania, co sprawia, że jest to nieodpowiedni wybór dla programistów zajmujących się rozwiązywaniem problemów w kodzie. Podobnie, kompilacja skryptu, jak w przypadku języków programowania, takich jak C++ czy Java, wymaga narzędzi kompilacyjnych, a nie klienta FTP. FileZilla nie przetwarza ani nie kompiluje kodu, więc nie może być użyta w tym kontekście. Typowym błędem myślowym jest mylenie narzędzi używanych do transferu plików z tymi, które są używane do programowania i rozwoju aplikacji webowych. Właściwe zrozumienie ról poszczególnych narzędzi w ekosystemie tworzenia stron internetowych jest kluczowe dla efektywnej pracy i unikania nieporozumień.

Pytanie 4

Który sposób wyświetlenia tekstu NIE istnieje w JavaScript?

A. właściwość innerHTML
B. funkcja MessageBox()
C. funkcja window.alert()
D. metoda document.write()
W JavaScripcie nie istnieje funkcja MessageBox() - to konstrukcja z innych środowisk (np. Windows/VBScript). Dlatego sposobem NIEistniejącym jest MessageBox().

Pytanie 5

Aby sprawdzić poprawność składni kodu CSS, można skorzystać z:

A. debuggera
B. optymalizatora
C. konsolidatora
D. walidatora
Poprawność składni CSS sprawdza walidator - na przykład walidator CSS organizacji W3C (jigsaw.w3.org/css-validator). Analizuje arkusz pod kątem zgodności ze standardem i wypisuje błędy oraz ostrzeżenia: literówki we właściwościach, nieprawidłowe wartości czy brakujące średniki. Dlatego do kontroli składni CSS służy walidator.

Pytanie 6

Które stwierdzenie na temat funkcji fun1 zapisanej w języku JavaScript jest prawdziwe?

var x = fun1(3, 24, "Mnożymy");

function fun1(a, b, c) {
    return a * b;
}
A. Zwraca dwie wartości przechowywane w zmiennych a i b.
B. Przyjmuje trzy parametry, lecz nie zwraca wartości.
C. Ma dwa parametry liczbowe i zwraca wartość typu napisowego.
D. Ma trzy parametry wejściowe, w tym jeden typu napisowego, i zwraca wartość numeryczną.
Niestety, Twoja odpowiedź jest niepoprawna, ale nie zmartw się - przeanalizujmy to razem. Funkcja w JavaScript nie musi zwracać wartości, ale w przypadku funkcji fun1, zwraca ona wynik mnożenia dwóch pierwszych parametrów, co jest wartością numeryczną. Istotne jest zrozumienie, że funkcje w JavaScript mogą przyjmować dowolną liczbę argumentów, a także różne typy argumentów. Co więcej, zamiast zwracać wiele wartości, funkcje w JavaScript zwykle zwracają jedną wartość lub obiekt zawierający wiele wartości. Z tego powodu, stwierdzenie, że fun1 zwraca dwie wartości przechowywane w zmiennych a i b, jest błędne. Podobnie, twierdzenie, że fun1 nie zwraca żadnej wartości, też jest nieprawdziwe. Wybór odpowiedzi sugerującej, że fun1 ma dwa parametry liczbowe i zwraca wartość typu napisowego, jest również niewłaściwy, ponieważ fun1 przyjmuje trzy parametry, w tym jeden typu napisowego, i zwraca wartość numeryczną. Pamiętaj, że zrozumienie struktury i działania funkcji jest kluczowe dla efektywnego kodowania w JavaScript.

Pytanie 7

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

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

Pytanie 8

W bazie danych MYSQL znajduje się tabela z programami komputerowymi, która ma pola: nazwa, producent, rokWydania. Jak należy sformułować kwerendę SELECT, aby uzyskać wszystkie nazwy producentów bez powtórzeń?

A. SELECT producent FROM programy WHERE UNIQUE;
B. SELECT UNIQUE producent FROM programy;
C. SELECT producent FROM programy WHERE producent NOT DUPLICATE;
D. SELECT DISTINCT producent FROM programy;
Odpowiedź 'SELECT DISTINCT producent FROM programy;' jest w porządku. To dlatego, że kluczowe słowo DISTINCT działa tak, że zwraca tylko unikalne wartości z kolumny 'producent' w tabeli 'programy'. Jak są duże zbiory danych, to użycie DISTINCT naprawdę się przydaje, bo pozwala pozbyć się duplikatów i to później ułatwia analizę danych. Na przykład, kiedy w tabeli jest mnóstwo rekordów dla tego samego producenta, to DISTINCT zwróci tylko jeden wpis dla każdego z nich. Wiesz, to taka dobra praktyka w SQL, bo im mniej danych musisz przetwarzać, tym lepsza wydajność. I, co ciekawe, użycie DISTINCT nie obniża wydajności zapytania tak bardzo, jak niektórzy mogą myśleć, szczególnie w dobrze zindeksowanych tabelach. Warto to mieć na uwadze.

Pytanie 9

Kaskadowe arkusze stylów są tworzone w celu

A. połączenia struktury dokumentu strony z odpowiednią formą jego wyświetlania
B. blokowania wszelkich zmian w wartościach znaczników już przypisanych w pliku CSS
C. nadpisywania wartości znaczników, które już funkcjonują na stronie
D. ułatwienia formatowania strony
Kaskadowe arkusze stylów (CSS) są kluczowym narzędziem w tworzeniu i zarządzaniu wyglądem stron internetowych. Głównym celem CSS jest ułatwienie formatowania strony, co oznacza, że pozwala to deweloperom na oddzielenie treści od prezentacji. Dzięki zastosowaniu CSS, programiści mogą stosować style do wielu elementów jednocześnie, co znacząco przyspiesza proces tworzenia stron. Na przykład, zamiast dodawać atrybuty stylów bezpośrednio do każdego znacznika HTML, można zdefiniować klasy i identyfikatory w arkuszu stylów, co czyni kod bardziej zorganizowanym i łatwiejszym w utrzymaniu. Dodatkowo, CSS umożliwia stosowanie reguł kaskadowych, co oznacza, że style mogą być dziedziczone, a ich kolejność może wpływać na sposób ich zastosowania. Odwołując się do standardów, CSS jest definiowany przez W3C, co zapewnia jego uniwersalność i możliwość szerokiego użycia w różnych przeglądarkach oraz na różnych urządzeniach. Przykładami z praktyki mogą być zmiana koloru tekstu, rozmiaru czcionki czy rozmieszczenia elementów, co jest realizowane w prosty sposób poprzez zmiany w CSS, zamiast modyfikacji samego HTML.

Pytanie 10

Częstotliwość próbkowania ma wpływ na:

A. jakość dźwięku analogowego
B. amplitudę fali dźwiękowej
C. poziom głośności nagranego utworu
D. jakość dźwięku cyfrowego
Próbkowanie to zamiana ciągłego sygnału dźwiękowego na cyfrowy przez pomiar jego wartości w równych odstępach czasu. Częstotliwość próbkowania (np. 44,1 kHz dla CD) mówi, ile takich pomiarów wykonuje się na sekundę - im więcej, tym wierniej odwzorowany jest oryginalny dźwięk, zwłaszcza wysokie tony. Dlatego częstotliwość próbkowania wpływa na jakość dźwięku cyfrowego.

Pytanie 11

Do czego służy znacznik <i> w języku HTML?

A. zdefiniowania nagłówka w treści
B. zmiany kroju pisma na pochylony
C. zdefiniowania formularza
D. umieszczania obrazu
Znacznik <i> w języku HTML jest używany do przedstawienia tekstu w stylu kursywy. Jest to jeden z najprostszych znaczników, który jest często stosowany do podkreślenia pewnych elementów tekstowych, takich jak tytuły książek, nazwy filmów czy inne wyrazy, które mają znaczenie kontekstowe. Użycie tego znacznika jest zgodne z zasadami semantyki HTML, co oznacza, że zachowuje on znaczenie treści, a nie tylko jej wygląd. Warto również zauważyć, że w CSS istnieje wiele możliwości stylizacji tekstu, a znacznik <i> jest jednym z elementów, które w łatwy sposób można połączyć z regułami stylów, aby stworzyć atrakcyjne wizualnie strony internetowe. Przykładem zastosowania może być: <p>Ostatnio przeczytałem <i>Harry'ego Pottera</i> i bardzo mi się podobał.</p>. W tym przypadku tytuł książki jest wyróżniony, co przyciąga uwagę czytelnika. Warto pamiętać, że w nowoczesnym HTML zamiast <i> dla stylizacji można używać CSS, jednak <i> pozostaje ważnym elementem dla zachowania semantyki treści.

Pytanie 12

Którym poleceniem wyświetli się konfigurację serwera PHP (m.in. wersję PHP, system operacyjny, wartości zmiennych predefiniowanych)?

A.
phpcredits();
B.
phpinfo();
C.
echo phpversion();
D.
print_r(ini_get_all());
Pełną konfigurację serwera PHP wyświetla phpinfo(); - generuje stronę z wersją PHP, systemem operacyjnym serwera, załadowanymi rozszerzeniami i wartościami zmiennych predefiniowanych. To pierwsze narzędzie diagnostyczne, gdy sprawdzasz, czy środowisko jest poprawnie skonfigurowane. Zapamiętaj: phpinfo() = kompletny „raport o serwerze”.

Pytanie 13

Czego wymaga uruchomienie kodu JavaScript w przeglądarce?

A. kompilowania
B. interpretowania
C. zamiany na kod maszynowy przez programistę
D. debugowania
JavaScript nie wymaga ręcznej kompilacji ani zamiany na kod maszynowy przez programistę - robi to silnik przeglądarki w locie. Debugowanie służy do szukania błędów, a nie do uruchamiania kodu. Uruchomienie JS opiera się na interpretowaniu.

Pytanie 14

W systemie baz danych dla sklepu znajduje się tabela artykuly, która zawiera kolumnę o nazwie nowy. Jak należy skonstruować zapytanie, aby przypisać wartość TRUE dla tego pola w każdym rekordzie?

A. UPDATE nowy FROM artykuly VALUE TRUE
B. UPDATE artykuly SET nowy=TRUE
C. INSERT INTO artykuly VALUE nowy=TRUE
D. INSERT INTO nowy FROM artykuly SET TRUE
Odpowiedź UPDATE artykuly SET nowy=TRUE; jest poprawna, ponieważ wykorzystuje standardową składnię zapytań SQL, która pozwala na aktualizację istniejących danych w tabeli. W tym przypadku kwerenda ta zmienia wartość pola 'nowy' na TRUE dla każdego rekordu w tabeli 'artykuły'. W praktyce, używając tej kwerendy, można efektywnie zaktualizować wiele rekordów jednocześnie bez konieczności wprowadzania danych indywidualnie. Dobrą praktyką w pracy z bazami danych jest korzystanie z transakcji, aby zapewnić integralność danych, zwłaszcza w przypadku operacji, które mogą wpływać na dużą liczbę rekordów. Ponadto, warto wiedzieć, że używanie wartości logicznych, takich jak TRUE/FALSE, jest powszechną praktyką w projektowaniu relacyjnych baz danych, co pozwala na lepszą semantykę i łatwiejszą obsługę danych. Na przykład, jeśli w bazie danych istnieje konieczność oznaczania produktów jako nowe, odpowiednia aktualizacja wszystkich rekordów przy użyciu tej kwerendy jest szybkim rozwiązaniem.

Pytanie 15

Zasłanianie niektórych pól lub metod obiektów danej klasy w sposób, który umożliwia dostęp wyłącznie wewnętrznym metodom tej klasy lub funkcjom zaprzyjaźnionym, to

A. hermetyzacja
B. polimorfizm
C. dziedziczenie
D. konkatenacja
Polimorfizm to zdolność obiektów do przyjmowania różnych form, co oznacza, że można stosować tę samą metodę do różnych typów obiektów. Nie ma on jednak związku z ukrywaniem pól i metod, a raczej koncentruje się na interfejsach i implementacjach, które mogą różnić się w zależności od kontekstu, co sprawia, że nie jest poprawną odpowiedzią w kontekście tego pytania. Konkatenacja to proces łączenia dwóch lub więcej ciągów tekstowych w jeden długi ciąg. Choć często pojawia się w programowaniu, nie jest to koncepcja związana z ukrywaniem pól czy metod w klasach, więc jej wybór w tym kontekście jest błędny. Dziedziczenie to mechanizm, który pozwala na tworzenie nowych klas na podstawie istniejących, co umożliwia ponowne użycie kodu. Podobnie jak polimorfizm, dziedziczenie nie odnosi się do hermetyzacji, ponieważ nie dotyczy ochrony i ukrywania wewnętrznych danych czy metod w klasie, lecz skupia się na relacjach między klasami i ich hierarchią. W związku z tym te odpowiedzi nie pasują do opisanego w pytaniu zagadnienia.

Pytanie 16

Która definicja i wywołanie funkcji PHP poprawnie wypisze ciąg $n znaków @?

A.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki(@, $n);
B.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki($n);
C.
function znaki($znak, $n) { for($i=0; $i<$n; $i++) print($znak); } znaki("@", $n);
D.
function znaki($i) { for($i=0; $i<$n; $i++) print("@"); } znaki($i);
Poprawna funkcja przyjmuje DWA parametry - znak do wypisania i liczbę powtórzeń - oraz pętlą wypisuje znak tyle razy: function znaki($znak, $n) { for($i=0; $i<$n; $i++) print($znak); }, wywołana np. znaki("@", 5). Dlatego poprawny jest wariant z parametrami ($znak, $n).

Pytanie 17

Osobistym środkiem ochrony oczu i twarzy jest:

A. przyłbica
B. osłona z pleksi między stanowiskami
C. sprzęt filtrujący powietrze
D. fartuch ochronny
Przyłbica to środek ochrony indywidualnej (osobistej), który osłania oczy i twarz pracownika przed zagrożeniami - odpryskami, pyłem czy promieniowaniem. „Indywidualny” oznacza, że chroni konkretną osobę, która go nosi, w odróżnieniu od ochrony zbiorowej (np. osłon, barier), zabezpieczającej wszystkich na stanowisku. Do ochrony oczu i twarzy zalicza się też gogle i okulary ochronne. Dobór środka zależy od rodzaju zagrożenia na danym stanowisku. Dlatego osobistym środkiem ochrony oczu i twarzy jest przyłbica.

Pytanie 18

Aby umieścić reguły CSS bezpośrednio w dokumencie HTML (wewnętrzny arkusz stylów), w sekcji <head> stosuje się znacznik:

A.
<style>
B.
<script>
C.
<css>
D.
<link>
Wewnętrzny arkusz stylów umieszcza się w znaczniku <style> wewnątrz sekcji <head>. Reguły CSS zapisane między <style> a </style> obowiązują w całym dokumencie. To wygodne dla pojedynczej strony, choć przy wielu podstronach lepszy jest arkusz zewnętrzny. Dlatego style wpisane bezpośrednio w dokumencie obejmuje znacznik <style>.

Pytanie 19

Które polecenia należą w SQL do grupy DCL (Data Control Language)?

A.
DELETE
i
UPDATE
B.
CREATE
i
DROP
C.
SELECT
i
INSERT
D.
GRANT
i
REVOKE
Do grupy DCL (Data Control Language) należą polecenia sterujące UPRAWNIENIAMI: GRANT (nadaje prawa) i REVOKE (odbiera je). Zarządzają dostępem użytkowników do obiektów bazy. Dlatego DCL to GRANT i REVOKE.

Pytanie 20

Znacznik <pre> </pre> służy do wyświetlania

A. znaku skreślenia
B. znaku wielokropkowego
C. treści czcionką o stałej szerokości
D. treści czcionką w języku polskim
Znacznik <pre> </pre> jest używany do wyświetlania treści w formacie, który zachowuje oryginalny układ oraz czcionkę o stałej szerokości. Umożliwia on prezentację tekstu w takiej formie, w jakiej został wprowadzony, co jest szczególnie przydatne w kontekście kodu źródłowego, danych tabelarycznych lub innych elementów, gdzie zachowanie spacji, łamań linii i innych formatów jest istotne. Przykładem zastosowania znacznika <pre> może być wyświetlanie fragmentów kodu w dokumentacji HTML lub na stronach internetowych, gdzie istotne jest, aby użytkownik mógł widzieć dokładnie, jak kod wygląda, bez modyfikacji przestrzeni lub układu, co jest często problematyczne w przypadku standardowego tekstu HTML. Używanie tego znacznika jest zgodne z dobrymi praktykami w tworzeniu przejrzystych i czytelnych interfejsów, zwłaszcza w kontekście tworzenia stron internetowych o charakterze technicznym.

Pytanie 21

Tabela faktury w bazie danych zawiera pola: numer, data, id_klienta, wartość oraz status. Każdego dnia tworzony jest raport dotyczący faktur z dnia bieżącego. Zawiera on jedynie numery oraz wartości faktur. Która z poniższych kwerend SQL pozwoli na wygenerowanie tego raportu?

A. SELECT * FROM faktury WHERE data=CURRENT_DATE();
B. SELECT numer, wartość FROM faktury;
C. SELECT numer, wartosc FROM faktury WHERE data=CURRENT_DATE();
D. SELECT * FROM faktury;
Aby wygenerować raport faktur z bieżącego dnia, kluczowe jest zastosowanie odpowiednich filtrów oraz wybranie tylko tych pól, które są istotne w kontekście raportu. Kwerenda SQL, która prawidłowo odpowiada na postawiony problem, to 'SELECT numer, wartosc FROM faktury WHERE data=CURRENT_DATE();'. Dzięki temu zapytaniu, system wyciąga z bazy danych jedynie numery i wartości faktur, które zostały wystawione w dniu dzisiejszym. Użycie funkcji CURRENT_DATE() pozwala na dynamiczne filtrowanie danych według aktualnej daty, co jest niezbędne do stworzenia codziennego raportu. W praktyce, taka kwerenda może być używana w aplikacjach do zarządzania finansami, gdzie użytkownicy chcą szybko uzyskać podsumowanie transakcji z danego dnia. Standardy SQL wymagają precyzyjnego określenia, które kolumny mają być wyświetlane, a także jakiego rodzaju dane mają być filtrowane. W związku z tym, zastosowanie warunku WHERE jest kluczowe, aby ograniczyć wyniki do faktur z dzisiaj, co zwiększa efektywność analizy danych.

Pytanie 22

W języku PHP funkcja trim ma za zadanie

A. zmniejszać napis o wskazaną w parametrze liczbę znaków.
B. porównywać dwa napisy i wypisywać część wspólną.
C. wyznaczyć długość napisu.
D. z obu końców napisu usuwać białe znaki lub inne znaki podane w parametrze.
W PHP łatwo pomylić różne funkcje operujące na łańcuchach znaków, bo często używa się ich obok siebie i wszystkie „coś robią z napisem”. Funkcja trim() bywa mylona z innymi narzędziami, które mierzą długość, porównują teksty albo je przycinają w środku. Warto więc to sobie spokojnie uporządkować. Trim nie służy do wyznaczania długości napisu – do tego jest funkcja strlen(), która zwraca liczbę znaków w łańcuchu i nic z nim nie usuwa ani nie modyfikuje. To typowy błąd: ktoś widzi krótką nazwę „trim” i kojarzy ją z „przycięciem do długości”, a tu chodzi wyłącznie o usuwanie znaków z obu końców. Funkcja trim nie porównuje też dwóch napisów i nie wypisuje części wspólnej. Jeżeli chcemy porównać łańcuchy, używamy operatorów porównania (==, ===) albo funkcji strcmp(), strcasecmp() itd. Szukanie części wspólnej między dwoma tekstami wymaga zupełnie innych technik, np. funkcji strpos(), substr(), czasem nawet algorytmów dopasowania wzorców – ale to zupełnie inny temat niż trim. Częste jest też mylne przekonanie, że trim „zmniejsza napis o wskazaną liczbę znaków”, jakby działał na zasadzie: przekaż n i utnij tyle znaków. Tymczasem trim w ogóle nie operuje na liczbach, tylko na zbiorze znaków podanych w drugim parametrze. Usuwa wszystkie wystąpienia tych znaków z początku i końca, niezależnie od tego, ile ich tam jest. Jeżeli ktoś chce przyciąć łańcuch do określonej długości, używa się substr() albo mb_substr() (dla UTF-8), czasem w połączeniu z funkcjami multibajtowymi. Moim zdaniem podstawowy błąd myślowy polega tu na traktowaniu „przycinania” bardzo ogólnie, bez rozróżnienia: czy przycinamy do długości, czy usuwamy białe znaki na brzegach, czy porównujemy zawartość. Trim jest funkcją specjalistyczną: normalizuje początek i koniec łańcucha, co jest kluczowe przy walidacji danych wejściowych, porównywaniu stringów i zapisywaniu ich w spójnej postaci. Dobrą praktyką jest najpierw zastosować trim na danych od użytkownika, a dopiero potem używać strlen, strcmp czy substr do dalszych operacji. Wtedy każdy element ma swoją jasną, techniczną rolę.

Pytanie 23

Który zapis wyświetli obraz kotek.jpg z tekstem alternatywnym „obrazek kotka”?

A.
<img src="/kotek.jpg" title="obrazek kotka">
B.
<img src="/kotek.jpg" alt="obrazek kotka">
C.
<img href="/kotek.jpg" title="obrazek kotka">
D.
<img href="/kotek.jpg" alt="obrazek kotka">
Obraz wstawia się znacznikiem <img>, podając źródło w src i tekst alternatywny w alt: <img src="/kotek.jpg" alt="obrazek kotka">. Dlatego poprawny jest ten zapis.

Pytanie 24

Efektem wykonania poniższego kodu PHP jest wyświetlenie komunikatu:

$a = $c = true;
$b = $d = false;

if(($a && $b) || ($c && $d))
    echo 'warunek1';
elseif(($a && $b) || ($c || $d))
    echo 'warunek2';
elseif(($c && $d) || (!$a))
    echo 'warunek3';
else
    echo 'warunek4';
A. warunek4
B. warunek1
C. warunek2
D. warunek3
W tym zadaniu kluczowe jest zrozumienie, jak PHP ocenia wyrażenia logiczne z użyciem operatorów `&&` i `||` oraz jak działa sekwencja `if / elseif / else`. Sporo osób gubi się tutaj przez pobieżne liczenie w głowie albo przez mylenie operatora AND z OR, albo przez nieuwzględnianie tego, że kolejne gałęzie `elseif` są sprawdzane dopiero wtedy, gdy poprzednie warunki były fałszywe.

Najpierw warto zauważyć wartości zmiennych: `$a = $c = true;` oraz `$b = $d = false;`. To oznacza po prostu: `a = true`, `c = true`, `b = false`, `d = false`. W pierwszym warunku mamy `($a && $b) || ($c && $d)`. Zarówno `true && false`, jak i `true && false` dają `false`, więc całość to `false || false`, czyli `false`. Dlatego komunikat „warunek1” nie ma prawa się pojawić – ten blok w ogóle nie jest wykonywany.

Częsty błąd polega na tym, że ktoś widzi dwa `true` w warunku i z automatu zakłada, że „coś tam pewnie wyjdzie na true”. Niestety tak to nie działa – przy operatorze `&&` wystarczy jeden `false`, żeby całe wyrażenie było fałszywe. Z kolei przy `||` wystarczy jedno `true`, by wynik był prawdziwy. I to dokładnie widać w drugim warunku: `($a && $b) || ($c || $d)`. Tu pierwsza część znów jest fałszywa, ale druga to `true || false`, więc daje `true`. Cały warunek jest więc prawdziwy i dlatego wykonuje się tylko ten blok – „warunek2”.

Jeżeli ktoś zaznaczył „warunek3” lub „warunek4”, to zazwyczaj wynika to z niezrozumienia, że po pierwszym spełnionym `if`/`elseif` dalsze nie są już w ogóle analizowane. Trzeci warunek logicznie też warto policzyć: `($c && $d) || (!$a)` to `false || false`, bo `$c && $d` to `true && false = false`, a `!$a` to `!true = false`. On byłby fałszywy nawet gdyby do niego dotrzeć, więc „warunek3” i tak by się nie wydrukował. „warunek4” z kolei to blok domyślny, wykonywany tylko wtedy, gdy wszystkie wcześniejsze warunki są fałszywe – tutaj tak nie jest, bo drugi warunek jest prawdziwy.

Z mojego doświadczenia dobrym nawykiem jest zawsze rozpisywanie takich wyrażeń krok po kroku, szczególnie na początku nauki: najpierw obliczyć `&&` wewnątrz nawiasów, potem `||`, i dopiero wtedy patrzeć, która gałąź `if/elseif/else` zostanie wykonana. W realnym kodzie przy skomplikowanych warunkach lepiej je upraszczać albo rozbijać na kilka czytelnych zmiennych pomocniczych, zamiast liczyć wszystko „w głowie”, bo to prosta droga do subtelnych błędów logicznych.

Pytanie 25

Podano fragment kodu HTML, który nie przechodzi walidacji. Problemy z walidacją tego kodu będą dotyczyć:

<!DOCTYPE HTML>
<html>
<head>
    <title>Test</title>
</head>
<body>

<img src="obraz.gif">
<br>
<img src="obraz.gif">

</body>
</html>
A. duplikacji nazwy pliku graficznego
B. braku zamknięcia znacznika <br>
C. braku zamknięcia znacznika <img>
D. braku atrybutu alt w znaczniku <img>
Patrząc na fragment kodu, można zauważyć kilka miejsc, które czasem wprowadzają w błąd osoby uczące się HTML-a, szczególnie jeśli ktoś nie śledzi na bieżąco aktualnych specyfikacji. Zacznijmy od zamknięcia znaczników <br> i <img>. W HTML5 oba te tagi mogą być zapisywane jako samodzielne, bez ukośnika (tzn. nie trzeba pisać <br /> czy <img />). To, że w starszych materiałach lub w XHTML-u stosowało się ukośnik przed zamknięciem, wynikało z wymagań tamtych standardów, ale obecnie walidatory nie traktują to już jako błąd. Często spotyka się przekonanie, że każda para tagów musi być zamknięta, co nie zawsze jest prawdą w przypadku tzw. self-closing tags w HTML. Jeśli chodzi o duplikację nazwy pliku graficznego – powielanie atrybutu src z tą samą wartością w dwóch obrazkach nie stanowi żadnego problemu z punktu widzenia składni czy walidacji HTML. To jest po prostu dwukrotne użycie tego samego obrazka i nie wpływa na poprawność kodu. Czasami osoby początkujące myślą, że takie powtórzenia mogą być błędem, bo wydaje się to nieoptymalne, ale walidator HTML patrzy wyłącznie na poprawność struktury i wymaganych atrybutów. Najpoważniejszym problemem, który rzeczywiście zostanie wychwycony przez walidator, jest brak atrybutu alt w znaczniku <img>. To właśnie jego brak narusza wymagania dostępności i standardów HTML. W praktyce, jeśli dążymy do zgodności z HTML5 i zasadami web accessibility, zawsze trzeba dodawać alt, bo to jest istotne dla użytkowników i systemów wspierających. Moim zdaniem, wiele osób nadmiernie skupia się na detalach typu ukośniki czy powtórzenia obrazków, a nie zawsze zwraca uwagę na aspekt dostępności, który jest obecnie jednym z ważniejszych wymogów jakościowych w branży webowej.

Pytanie 26

Badania dotyczące skalowalności oprogramowania mają na celu sprawdzenie, czy aplikacja

A. jest odpowiednio opisana dokumentacją
B. posiada właściwą funkcjonalność
C. jest chroniona przed nieautoryzowanymi operacjami, takimi jak dzielenie przez zero
D. jest w stanie funkcjonować przy przewidzianym oraz większym obciążeniu
Odpowiedzi takie jak 'ma odpowiednią funkcjonalność', 'jest odpowiednio udokumentowana' oraz 'jest zabezpieczona przed niedozwolonymi operacjami' odnoszą się do zupełnie innych aspektów jakości oprogramowania. Funkcjonalność dotyczy tego, czy aplikacja spełnia określone wymagania i jest w stanie realizować zamierzone zadania. Choć jest to istotna cecha, nie jest bezpośrednio związana ze skalowalnością, która koncentruje się na możliwości dostosowania się systemu do zwiększających się obciążeń. Dokumentacja jest równie ważna, ponieważ pozwala na zrozumienie architektury i funkcji systemu, lecz nie wpływa na jego zdolność do obsługi większej ilości użytkowników. Zabezpieczenia przed błędami, takimi jak dzielenie przez zero, są kluczowe dla stabilności i bezpieczeństwa aplikacji, ale również nie mają związku z jej skalowalnością. Często występującym błędem myślowym jest zakładanie, że wszystkie aspekty jakości oprogramowania są ze sobą ściśle powiązane i mogą być używane zamiennie. W rzeczywistości, każdy z tych elementów stanowi niezależny komponent większej całości, a ich ocena wymaga różnorodnych podejść i technik testowania. Aby poprawnie ocenić skalowalność, należy skupić się na pomiarze wydajności w warunkach dużego obciążenia, co wymaga zastosowania specyficznych metodologii testowych, takich jak testy obciążeniowe oraz analizę wydajności systemu w realnych scenariuszach użytkowania.

Pytanie 27

W pliku CSS znajdują się poniższe style. Kiedy klikniemy na hiperłącze i wrócimy na stronę, jego kolor zmieni się na

a { color: Brown; }
a:link { color: Green; }
a:visited { color: Red; }
a:hover { color: Yellow; }
A. zielony
B. brązowy
C. czerwony
D. żółty
W zrozumieniu działania stylów CSS dla hiperłączy kluczowe jest poznanie zastosowania pseudoklas takich jak a:link a:visited i a:hover. Każda z tych pseudoklas odpowiada za inny stan linku. Pseudoklasa a:link stosuje się do linków które użytkownik jeszcze nie odwiedził dlatego kolor zielony przypisany do tej pseudoklasy oznaczałby nieodwiedzony link co w tym przypadku jest nieprawidłowe. Pseudoklasa a:hover zmienia kolor podczas najechania myszką i tutaj ustalono kolor żółty który jest tylko tymczasowy. Błędne byłoby uznawanie że kolor żółty pozostanie po odwiedzeniu linku ponieważ dotyczy on jedynie stanu przejściowego. Pseudoklasa a:visited która definiuje kolor po odwiedzeniu jest tu kluczowa ponieważ określa właśnie kolor po powrocie na stronę. Zastosowanie odpowiednich stylów pomaga w nawigacji i poprawia dostępność. Typowe błędy związane z rozumieniem pseudoklas wynikają z braku znajomości ich specyfiki działania oraz priorytetu jaki mają w kaskadowym modelu stylów. Dlatego zrozumienie i prawidłowe stosowanie tych zasad jest fundamentalne w projektowaniu intuicyjnych i przyjaznych dla użytkownika stron internetowych co jest zgodne z najlepszymi praktykami branżowymi i standardami WCAG.

Pytanie 28

W tabeli programiści znajdują się kolumny: id, nick, ilosc_kodu, ocena. W kolumnie ilosc_kodu zapisano liczbę linii kodu, które programista napisał w danym miesiącu. Jakie zapytanie umożliwi obliczenie całkowitej liczby linii kodu stworzonych przez wszystkich programistów?

A. SELECT COUNT(programisci) FROM ilosc_kodu;
B. SELECT SUM(ocena) FROM ilosc_kodu;
C. SELECT MAX(ilosc_kodu) FROM programisci
D. SELECT SUM(ilosc_kodu) FROM programisci;
Wybór polecenia 'SELECT SUM(ocena) FROM ilosc_kodu;' jest nieprawidłowy, ponieważ w tym zapytaniu występuje kilka fundamentalnych błędów w rozumieniu struktury bazy danych oraz funkcji agregujących. Po pierwsze, pole 'ocena' nie jest odpowiednie do zsumowania linii kodu, ponieważ zawiera dane dotyczące ocen programistów, a nie ilości linii kodu, co całkowicie mija się z celem poszukiwania sumy linii kodu. Ponadto, tabela 'ilosc_kodu' nie istnieje jako samodzielna jednostka w kontekście tego pytania; 'ilosc_kodu' jest jedynie kolumną w tabeli 'programisci', co oznacza, że nie możemy bezpośrednio z niej tworzyć zapytań. To podkreśla ważny aspekt projektowania baz danych oraz ich strukturalnych zależności. Podczas pisania zapytań SQL należy zawsze mieć na uwadze, w której tabeli znajdują się interesujące nas dane oraz jakie kolumny są dostępne w tej tabeli. Inne nieprawidłowe odpowiedzi, takie jak 'SELECT COUNT(programisci) FROM ilosc_kodu;' również wskazują na misunderstanding, ponieważ użycie COUNT w tym kontekście nie odnosi się do sumowania linii kodu, a jedynie liczenia wierszy, co w tym przypadku nie jest celem. Ponadto, 'SELECT MAX(ilosc_kodu) FROM programisci;' ma zupełnie inną funkcję, polegającą na znalezieniu maksymalnej liczby linii kodu napisanych przez jednego programistę, co również nie jest zgodne z pierwotnym pytaniem. Wniosek jest taki, że kluczowe jest zrozumienie struktury bazy danych oraz logiczne podejście do formułowania zapytań SQL, aby uzyskiwać prawidłowe i użyteczne wyniki.

Pytanie 29

Jakie są określenia typowych komend języka SQL, które dotyczą przeprowadzania operacji na danych SQL DML (np.: dodawanie danych do bazy, usuwanie, modyfikowanie danych)?

A. DENY, GRANT, REVOKE
B. DELETE, INSERT, UPDATE
C. SELECT, SELECT INTO
D. ALTER, CREATE, DROP
Odpowiedź DELETE, INSERT, UPDATE jest prawidłowa, ponieważ te polecenia stanowią podstawowe instrukcje języka SQL DML (Data Manipulation Language), które są wykorzystywane do manipulacji danymi w bazie danych. DELETE służy do usuwania rekordów z tabel, co jest niezbędne w sytuacjach, gdy dane są już nieaktualne lub niepotrzebne. INSERT umożliwia dodawanie nowych rekordów, co jest kluczowe w procesie wprowadzania danych, na przykład dodawania nowych klientów do bazy danych. Z kolei UPDATE pozwala na modyfikację już istniejących danych, co jest istotne w przypadku zmiany informacji, takich jak aktualizacja adresu klienta. W praktyce te operacje są niezwykle ważne dla utrzymania spójności i aktualności danych w systemach zarządzania bazami danych. Warto również zauważyć, że stosowanie tych poleceń zgodnie z dobrymi praktykami, takimi jak transakcje, pozwala na zabezpieczenie integralności danych oraz umożliwia łatwe wycofywanie zmian w przypadku błędów.

Pytanie 30

W językach programowania o układzie strukturalnym, aby przechować dane o 50 uczniach (ich imionach, nazwiskach oraz średniej ocen), konieczne jest zastosowanie

A. klasy z 50 elementami typu tablicowego
B. tablicy z 50 elementami o składowych strukturalnych
C. tablicy z 50 elementami o składowych typu łańcuchowego
D. struktury z 50 elementami o składowych typu tablicowego
Wybór tablicy 50 elementów o składowych strukturalnych jest prawidłowy ze względu na potrzebę przechowywania złożonych danych o uczniach. W tym przypadku, każdy element tablicy powinien reprezentować jednego ucznia i zawierać jego imię, nazwisko oraz średnią ocen. Struktura danych, taka jak struktura, pozwala na grupowanie różnych typów danych w jeden obiekt, co jest zgodne z dobrymi praktykami programowania w językach strukturalnych. Przykładowo, w języku C można zadeklarować strukturę dla ucznia w następujący sposób: `struct Uczen { char imie[50]; char nazwisko[50]; float srednia; };`. Następnie można utworzyć tablicę 50 elementów tej struktury: `struct Uczen uczniowie[50];`. Stosowanie struktur w tym kontekście ułatwia zarządzanie danymi i zwiększa czytelność kodu, co jest szczególnie ważne w przypadku projektów wymagających łatwego dostępu do różnych atrybutów obiektów. Używanie dobrze zdefiniowanych struktur danych jest zgodne z zasadami programowania obiektowego, nawet w językach proceduralnych, i przyczynia się do lepszej organizacji kodu oraz jego skalowalności.

Pytanie 31

Mając var osoba = {imie:"Anna", nazwisko:"Kowalska", rok_urodzenia:1985};, jak odwołać się do właściwości nazwisko?

A.
osoba.nazwisko
B.
osoba::nazwisko
C.
osoba[1]
D.
osoba[2]
Do właściwości obiektu w JavaScripcie sięga się notacją kropkową obiekt.wlasciwosc, więc dla var osoba = {imie:"Anna", nazwisko:"Kowalska"}; nazwisko odczytasz przez osoba.nazwisko (zwróci „Kowalska”). Działa też notacja nawiasowa osoba['nazwisko'], przydatna, gdy nazwę pola masz w zmiennej. Zapamiętaj: obiekt to pary klucz-wartość, a do wartości docierasz po NAZWIE klucza, nie po numerze.

Pytanie 32

Co umożliwiają w JavaScript metody i właściwości DOM?

A. pobieranie i modyfikowanie elementów strony w przeglądarce
B. operacje na zmiennych liczbowych
C. przesyłanie danych formularza wprost do bazy danych
D. manipulowanie łańcuchami zadeklarowanymi w kodzie
DOM (Document Object Model) to drzewiasta reprezentacja strony w przeglądarce. Metody i właściwości DOM pozwalają JavaScriptowi POBIERAĆ i MODYFIKOWAĆ elementy strony - zmieniać treść, atrybuty, style czy dodawać i usuwać węzły. Dlatego DOM umożliwia pobieranie i modyfikowanie elementów strony.

Pytanie 33

Do przechowywania jakich danych służy w tabeli pole typu BLOB?

A. dużych danych binarnych, np. grafiki
B. danych logicznych, np. true
C. łańcuchów znaków o nieokreślonej długości
D. liczb całkowitych większych od zakresu INT
Pozostałe typy danych są inne. Wartości logiczne (true/false) trzyma BOOLEAN, łańcuchy znaków - TEXT/VARCHAR, a duże liczby całkowite - BIGINT. Dane binarne, jak obrazy, przechowuje BLOB.

Pytanie 34

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

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

Pytanie 35

Które z poniższych stwierdzeń na temat klucza głównego jest prawdziwe?

A. W przypadku tabeli z danymi osobowymi może to być pole nazwisko
B. Jest unikalny dla danej tabeli
C. Składa się wyłącznie z jednego pola
D. Może przyjmować wyłącznie wartości liczbowe
Wiele osób myli pojęcie klucza podstawowego z innymi właściwościami atrybutów w tabeli. Chociaż klucz podstawowy może składać się tylko z jednego pola, nie jest to warunek konieczny. Klucze podstawowe mogą również być złożone, co oznacza, że mogą składać się z wielu pól. Na przykład, w tabeli rejestrującej sprzedaż można wykorzystać kombinację kolumn takich jak 'ID produktu' i 'ID zamówienia' jako klucz podstawowy, co jest częstą praktyką w projektowaniu baz danych. Z kolei twierdzenie, że pole nazwisko może być kluczem podstawowym w tabeli danych osobowych, jest również problematyczne, ponieważ nazwiska mogą się powtarzać. W związku z tym, wybór atrybutów do klucza podstawowego powinien opierać się na ich unikalności oraz stabilności, a nie na ich powszechności. Ostatnia nieprawidłowa koncepcja sugeruje, że klucz podstawowy może przyjmować tylko wartości liczbowe, co jest wprowadzeniem w błąd. Klucz podstawowy może być zarówno liczbowy, jak i tekstowy; klucz identyfikujący użytkownika może zawierać np. adres e-mail, co jest także przykładem spójnego podejścia w projektowaniu baz danych. Typowe błędy myślowe prowadzące do takich wniosków to uproszczenia związane z rozumieniem właściwości atrybutów oraz zbyt wąskie podejście do koncepcji unikalności w kontekście baz danych.

Pytanie 36

W języku C do reprezentowania liczb zmiennoprzecinkowych używa się typu:

A.
bool
B.
int
C.
char
D.
double
Pozostałe typy nie nadają się do liczb z częścią ułamkową. char przechowuje pojedynczy znak (a niskopoziomowo małą liczbę całkowitą), więc nie odwzoruje wartości typu 3.14. int trzyma wyłącznie liczby całkowite - przypisanie ułamka spowodowałoby odcięcie części po przecinku. bool przechowuje tylko wartość logiczną (prawda/fałsz), czyli zupełnie inny rodzaj danych. Liczby zmiennoprzecinkowe reprezentuje double (lub float), dlatego to on jest poprawny.

Pytanie 37

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. Logicznego
B. Liczbowego
C. Nieokreślonego (undefined)
D. String (ciąg znaków)
Odpowiedzi wskazujące na inne typy danych, takie jak typ logiczny czy liczbowy, zawierają istotne nieporozumienia dotyczące sposobu, w jaki JavaScript zarządza danymi. Typ logiczny w tym kontekście oznaczałby, że zmienna mogłaby przyjmować tylko wartości 'true' lub 'false', co jest mylnym założeniem, ponieważ 'true' jest tutaj częścią tekstu, a nie wartością logiczną. Z kolei typ liczbowy byłby właściwy dla zmiennych takich jak 1, 2 czy 3, które reprezentują liczby całkowite lub zmiennoprzecinkowe. W przypadku zadeklarowanej zmiennej 'var x="true";', wartość, która jest przypisywana, jest w rzeczywistości ciągiem tekstowym, mimo że zawiera słowo kluczowe 'true'. Typ danych 'undefined' z kolei oznacza, że zmienna została zadeklarowana, ale nie przypisano jej żadnej wartości, co również nie odpowiada sytuacji przedstawionej w pytaniu. Zrozumienie typów danych w JavaScript jest kluczowe dla unikania błędów typowych, zwłaszcza w kontekście zmiennych, które mogą być używane w różnych operacjach. W praktyce, to zrozumienie typów pozwala programistom lepiej zarządzać danymi i pisać bardziej niezawodny kod. Warto również pamiętać, że JavaScript automatycznie konwertuje typy w wielu sytuacjach, co może prowadzić do niezamierzonych rezultatów, dlatego proszę zwracać szczególną uwagę na przypisania i operacje wykonywane na zmiennych.

Pytanie 38

Metainformacja "Description" umieszczona w pliku HTML powinna zawierać

<head>
    <meta name="Description" content="...">
</head>
A. informację na temat autora strony
B. opis treści znajdującej się na stronie
C. spis słów kluczowych, które są wykorzystywane przez wyszukiwarki internetowe
D. nazwę aplikacji, za pomocą której stworzono stronę
Meta tag Description w HTML służy do dostarczenia krótkiego streszczenia zawartości strony internetowej Jest to jeden z kluczowych elementów optymalizacji pod kątem wyszukiwarek internetowych SEO który pomaga wyszukiwarkom i użytkownikom zrozumieć tematykę strony choć nie jest bezpośrednim czynnikiem rankingowym wyszukiwarek może wpływać na wskaźnik klikalności CTR w wynikach wyszukiwania Dzięki dobrze skonstruowanemu opisowi użytkownicy mogą szybko ocenić czy strona spełnia ich potrzeby co z kolei może zwiększyć ruch na stronie Praktyką branżową jest aby opis był zwięzły i zawierał najważniejsze informacje dotyczące zawartości strony zazwyczaj nie przekraczając 160 znaków Ponadto opis ten może być wyświetlany jako fragment w wynikach wyszukiwania co czyni go istotnym elementem strategii marketingowej strony Dobre praktyki obejmują stosowanie unikalnych i precyzyjnych opisów dla każdej podstrony co przyczynia się do lepszego zrozumienia i klasyfikacji strony przez wyszukiwarki

Pytanie 39

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Progowanie.
B. Inwersja.
C. Barwienie.
D. Krzywe.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 40

W zapisie rgba(100, 40, 50, 0.2) czego dotyczy OSTATNIA wartość?

A. przezroczystości, gdzie 1 = pełna przezroczystość, 0 = brak
B. saturacji barw RGB
C. nasycenia koloru czarnego
D. przezroczystości, gdzie 0 = pełna przezroczystość, 1 = brak
Pozostałe opisy są błędne. Ostatnia wartość nie dotyczy nasycenia ani saturacji - te należą do modelu HSL/HSV, a nie RGBA. Myląca jest też odwrócona skala: to 0 daje PEŁNĄ przezroczystość, a 1 jej brak (nie odwrotnie). Czwarta wartość rgba to alfa: 0 = przezroczyste, 1 = kryjące.