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: 15 czerwca 2026 12:20
  • Data zakończenia: 15 czerwca 2026 12:22

Egzamin niezdany

Wynik: 14/40 punktów (35,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

W instrukcjach mających na celu odtwarzanie dźwięku na witrynie internetowej jako podkładu muzycznego nie stosuje się atrybutu

A. balance="-10"
B. loop="10"
C. volume="-100"
D. href="C:/100.wav">
Odpowiedź 'href="C:/100.wav"' jest prawidłowa, ponieważ atrybut 'href' nie jest używany w kontekście odtwarzania dźwięku na stronie internetowej. Atrybut ten jest przeznaczony do definiowania hiperłączy w elementach, takich jak <a> (linki). W przypadku odtwarzania dźwięków na stronach internetowych, stosuje się atrybuty, takie jak 'src' w elemencie <audio> lub <embed>, które wskazują lokalizację pliku audio, który ma być odtwarzany. Dobre praktyki webowe zalecają korzystanie z elementu <audio>, który pozwala na kontrolowanie odtwarzania dźwięku przy pomocy takich atrybutów jak 'controls', 'autoplay', 'loop' itp. Na przykład, aby odtworzyć plik audio, można użyć znacznika <audio src="C:/100.wav" controls></audio>, co pozwala na interaktywne sterowanie odtwarzaniem. Zrozumienie różnicy między atrybutami i ich zastosowaniem w kontekście HTML jest kluczowe dla projektowania funkcjonalnych i dostępnych stron internetowych.

Pytanie 2

Na ilustracji przedstawiono związek jeden do wielu. Łączy on

Ilustracja do pytania
A. klucz podstawowy id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
B. klucz podstawowy id w tabeli z kluczem obcym rezyserzy_id w tabeli rezyserzy
C. klucz obcy rezyserzy_id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
D. klucz obcy rezyserzy_id w tabeli filmy z kluczem obcym id w tabeli rezyserzy
Relacja jeden do wielu jest kluczowym elementem projektowania baz danych i występuje, gdy pojedynczy rekord w jednej tabeli może być powiązany z wieloma rekordami w innej tabeli. W tym przypadku mamy do czynienia z relacją między tabelą 'rezyserzy' i 'filmy'. Klucz podstawowy 'id' w tabeli 'rezyserzy' jest związany z kluczem obcym 'rezyserzy_id' w tabeli 'filmy'. Oznacza to, że jeden reżyser może być autorem wielu filmów. Klucz obcy w tabeli 'filmy' wskazuje na odpowiedni rekord w tabeli 'rezyserzy', co zapewnia integralność danych i umożliwia wykonywanie operacji takich jak JOIN w języku SQL, co jest przydatne przy pobieraniu danych z obu tabel jednocześnie. W praktyce stosowanie kluczy obcych jest standardową praktyką w projektowaniu relacyjnych baz danych, ponieważ ułatwia organizację i normalizację danych. Zrozumienie tych relacji jest niezbędne dla każdego, kto pracuje z bazami danych, gdyż pozwala na efektywne zarządzanie i analizowanie danych w skomplikowanych systemach informatycznych.

Pytanie 3

Ustalenie klucza obcego jest konieczne do skonstruowania

A. relacji 1..1
B. klucza podstawowego
C. relacji 1..n
D. transakcji
Zdefiniowanie klucza obcego nie jest bezpośrednio związane z relacjami 1..1, transakcjami czy kluczem podstawowym, ponieważ każde z tych pojęć odnosi się do innego aspektu zarządzania danymi w relacyjnych bazach danych. W przypadku relacji 1..1, każdemu rekordowi w jednej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli, co oznacza, że nie ma potrzeby stosowania klucza obcego, gdyż relacja ta nie wymaga wskazywania powiązań między różnymi rekordami. Ponadto, transakcje są zbiorem operacji, które muszą być wykonane w całości lub wcale, a klucz obcy nie ma bezpośredniego wpływu na ich działanie - klucze obce służą głównie do zapewnienia integralności danych, a nie do zarządzania transakcjami. Klucz podstawowy, z drugiej strony, to unikalny identyfikator każdego rekordu w tabeli, a jego definicja jest odrębna od definicji klucza obcego. W praktyce, pomylenie tych pojęć prowadzi do błędnych wniosków o strukturyzacji danych oraz ich relacjach, co może skutkować nieefektywnym projektowaniem baz danych oraz trudnościami w późniejszym zarządzaniu danymi.

Pytanie 4

SELECT ocena FROM oceny WHERE ocena > 2 ORDER BY ocena;
Załóżmy, że istnieje tabela oceny zawierająca kolumny id, nazwisko, imię oraz ocena. Przykładowe zapytanie ilustruje:
A. łączenie.
B. sumę.
C. rekurencję.
D. selekcję.
Zapytanie SQL przedstawione w pytaniu jest przykładem selekcji ponieważ wykorzystuje klauzulę WHERE do filtrowania danych. Selekcja w kontekście baz danych oznacza wybieranie konkretnych wierszy z tabeli które spełniają określone kryteria. W tym przypadku kryterium to ocena większa niż 2. Takie podejście jest bardzo powszechne i użyteczne w analizie danych pozwalając na uzyskanie tylko istotnych informacji spośród dużych zbiorów danych. Klauzula WHERE jest jednym z podstawowych narzędzi SQL wykorzystywanym w praktycznie każdym systemie zarządzania bazami danych jak MySQL PostgreSQL czy Oracle. Umożliwia ona tworzenie elastycznych i złożonych zapytań które mogą zawierać różnorodne warunki logiczne takie jak porównania czy wyrażenia regularne. Dobre praktyki w zakresie projektowania baz danych zalecają używanie selekcji do ograniczania ilości przetwarzanych danych co zwiększa wydajność systemów. Zrozumienie mechanizmu selekcji jest kluczowe dla skutecznego zarządzania i optymalizacji baz danych szczególnie w projektach o dużej skali.

Pytanie 5

Który składnik nie jest wymagany do instalacji i uruchomienia systemu CMS Joomla!?

A. serwer WWW
B. parser PHP
C. platforma .NET
D. baza danych
W pytaniu o wymagania systemowe dla Joomla! bardzo łatwo pomylić ogólne pojęcie „serwer” czy „platforma” z konkretnymi technologiami, które faktycznie są potrzebne. Joomla! to klasyczny CMS napisany w PHP, który działa w architekturze klient–serwer zgodnej z typowym modelem aplikacji webowych. Do poprawnego działania potrzebuje trzech filarów: serwera WWW, interpretera PHP oraz relacyjnej bazy danych. Serwer WWW, taki jak Apache czy Nginx, przyjmuje żądania HTTP z przeglądarki, obsługuje pliki statyczne i przekazuje żądania do skryptów PHP. Bez tego elementu użytkownik w ogóle nie byłby w stanie połączyć się z witryną. Parser (interpretator) PHP jest absolutnie kluczowy, bo cały kod Joomla! – logika logowania, panele administracyjne, generowanie treści, system szablonów – jest napisany właśnie w tym języku. To nie jest zwykły „dodatek”, tylko środowisko uruchomieniowe aplikacji. Baza danych z kolei przechowuje wszystkie dynamiczne dane: artykuły, użytkowników, uprawnienia, moduły, konfigurację. Bez bazy CMS przestałby być „systemem zarządzania treścią”, bo nie miałby gdzie tej treści trwale zapisywać. Częsty błąd myślowy polega na wrzucaniu do jednego worka wszystkich technologii serwerowych: skoro coś działa „na serwerze”, to może wymaga .NET, Javy, PHP – wszystko jedno. Tymczasem każdy CMS jest pisany w konkretnej technologii i wymaga zgodnego z nią środowiska. Joomla! nie wykorzystuje ASP.NET ani bibliotek .NET, więc platforma .NET nie jest jej potrzebna do niczego. Można mieć serwer z zainstalowanym .NET, ale jeśli nie ma tam PHP i odpowiedniej bazy danych, Joomla! i tak nie ruszy. Z mojego doświadczenia warto zawsze zaczynać od sprawdzenia, w jakim języku napisane jest dane oprogramowanie webowe i pod to dobierać stos serwerowy, zamiast zakładać, że każda aplikacja webowa wymaga .NET tylko dlatego, że kojarzy się on z „nowoczesnym” serwerem.

Pytanie 6

Ile razy zostanie wykonana poniższa pętla w PHP?

for($i = 0; $i < 25; $i += 5) { ... }
A. 26
B. 25
C. 5
D. 0
W programowaniu pętle są kluczowymi konstrukcjami kontrolnymi pozwalającymi na wielokrotne wykonywanie kodu. W analizowanym przykładzie mamy do czynienia z pętlą for, która jest jedną z najczęściej używanych, z uwagi na jej elastyczność i czytelność. Pętla ta jest zdefiniowana jako for($i = 0; $i < 25; $i += 5). W tym kontekście błędem jest zakładanie, że pętla wykona 0 iteracji, ponieważ zmienna $i zaczyna od wartości 0 i spełnia warunek $i < 25, co rozpoczyna proces iteracji. Kolejną błędną koncepcją jest myślenie, że pętla wykona 25 lub 26 iteracji. Taki błąd może wynikać z niezrozumienia mechanizmu przyrostu zmiennej iteracyjnej $i. W tym przypadku, przyrost wynosi 5, co oznacza, że wartości przyjmowane przez $i to 0, 5, 10, 15 i 20, zanim warunek pętli przestanie być spełniony. Takie myślenie może prowadzić do nadmiernej ilości iteracji w pętlach, co jest typowym błędem projektowym. Warto zwrócić uwagę na poprawne formułowanie warunków pętli oraz zrozumienie wpływu inkrementacji na liczbę iteracji. Starannie zaplanowane i przemyślane pętle są kluczowe dla efektywności działania programu, a ich niepoprawne zrozumienie prowadzi do błędów, które są trudne do wykrycia i naprawy w większych projektach.

Pytanie 7

Co zwraca funkcja mysqli_query() po pomyślnym wykonaniu zapytania SELECT?

A. zawsze wartość true
B. zbiór wynikowy (rekordy do odczytania)
C. nazwę odpytywanej tabeli
D. liczbę usuniętych wierszy
Funkcja mysqli_query() wykonuje zapytanie i przy zapytaniu zwracającym dane (np. SELECT) zwraca zbiór wynikowy - obiekt wyniku. Z niego pobiera się kolejne wiersze, np. funkcją mysqli_fetch_assoc() w pętli. Dla zapytań bez wyniku (jak INSERT) zwraca true, a przy błędzie false. Dlatego dla SELECT zwraca zbiór wynikowy.

Pytanie 8

Podaj polecenie SQL, które pozwoli na dodanie kolumny miesiacSiewu do tabeli rośliny znajdującej się w bazie danych

A. INSERT INTO rośliny VALUES (miesiacSiewu int);
B. ALTER TABLE rośliny ADD miesiacSiewu int;
C. UPDATE rośliny ADD miesiacSiewu int;
D. CREATE TABLE rośliny {miesiacSiewu int};
Odpowiedź 'ALTER TABLE rośliny ADD miesiacSiewu int;' jest jak najbardziej na miejscu. Używasz tutaj komendy SQL 'ALTER TABLE', co jest standardem, jeśli chcesz coś zmienić w już istniejącej tabeli. W tym przypadku dodajesz nowe pole 'miesiacSiewu' w formacie 'int' do tabeli 'rośliny'. Fajnie, bo dodawanie kolumn w relacyjnych bazach danych to chleb powszedni, zwłaszcza gdy musisz dodać nowe informacje. Na przykład, jak chcesz wiedzieć, kiedy siać rośliny, to zrobienie tego przy pomocy tej komendy pozwoli Ci trzymać te dane blisko innych szczegółów roślin. Warto też pamiętać, żeby nowe kolumny były dobrze indeksowane lub miały jakieś wartości domyślne, bo to może przyspieszyć zapytania do bazy. Tego typu operacje są naprawdę ważne w zarządzaniu bazami danych, bo dają Ci elastyczność, żeby dostosować strukturę bazy do potrzeb Twojej aplikacji.

Pytanie 9

Zapis CSS w postaci:

ul{ list-style-image:url('rys.gif');}
spowoduje, że na stronie internetowej
A. punktorem nienumerowanej listy stanie się rys.gif
B. każdy element listy zyska indywidualne tło pochodzące z grafiki rys.gif
C. rys.gif będzie służyć jako tło dla nienumerowanej listy
D. rysunek rys.gif zostanie wyświetlony jako punkt listy nienumerowanej
W CSS właściwość 'list-style-image' służy do określenia obrazu, który ma być użyty jako znacznik punktu dla list nienumerowanych. W podanym przykładzie zapis 'ul{ list-style-image:url('rys.gif'); }' informuje przeglądarkę, aby zamiast domyślnego punktu, wykorzystała obrazek 'rys.gif'. Oznacza to, że każdy element listy (li) w tej nienumerowanej liście będzie miał przypisany obraz jako punkt. To podejście jest zgodne ze standardami CSS i jest szeroko stosowane w celu dodania indywidualnego stylu do elementów listy. Przykładowo, zamiast tradycyjnego kropkowania, możemy użyć ikon lub obrazów, które lepiej oddają tematykę strony. Ważne jest, aby plik graficzny był dostępny i poprawnie załadowany, co zapewni, że znacznik wyświetli się na stronie. Istotne jest również, aby pamiętać o optymalizacji obrazków dla sieci, co może poprawić szybkość ładowania strony.

Pytanie 10

Do czego stosuje się zapytanie z klauzulą JOIN?

A. do uzyskania wyniku z jednej tabeli
B. do uzyskania danych z dwóch powiązanych tabel
C. do wywołania funkcji agregującej
D. do zdefiniowania klucza obcego
JOIN nie definiuje klucza obcego (robi to FOREIGN KEY) ani nie jest funkcją agregującą. Pobranie danych z JEDNEJ tabeli nie wymaga złączenia. JOIN łączy dane z dwóch powiązanych tabel.

Pytanie 11

W instrukcji warunkowej języka JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w zakresie (0, 100), a wartość zmiennej b jest większa od zera. Taki warunek można zapisać w sposób następujący

A. if ((a>0 && a<100) || b<0)
B. if ((a>0 || a<100) && b>0)
C. if (a>0 && a<100 && b>0)
D. if (a>0 || a<100 || b<0)
Wybór odpowiedzi 'if (a>0 && a<100 && b>0)' jest prawidłowy, ponieważ precyzyjnie spełnia określone wymagania zawarte w pytaniu. Warunek ten sprawdza, czy zmienna 'a' mieści się w przedziale od 0 do 100 (wyłączając 0 i 100), a także potwierdza, że zmienna 'b' jest większa od zera. Operator '&&' (AND) jest kluczowy w tym przypadku, ponieważ wymaga spełnienia wszystkich zdefiniowanych warunków jednocześnie. Przykładowo, jeśli mamy zmienne 'a' równe 50 i 'b' równe 10, to warunek zostanie spełniony i kod wewnątrz instrukcji 'if' zostanie wykonany. Zastosowanie takich warunków jest powszechne w programowaniu, zwłaszcza w sytuacjach wymagających walidacji danych, gdzie musimy upewnić się, że wszystkie kryteria są spełnione przed kontynuowaniem dalszych operacji. Standardy kodowania zalecają wykorzystanie prostych i jednoznacznych instrukcji warunkowych, co przyczynia się do lepszej przejrzystości i utrzymywalności kodu. Stosując odpowiednią logikę w warunkach, minimalizujemy ryzyko wystąpienia błędów w logice aplikacji.

Pytanie 12

Plik cookie utworzony przedstawionym poleceniem PHP:

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. będzie przechowywany na serwerze przez jedną godzinę.
B. będzie przechowywany na serwerze przez jedną dobę.
C. wygaśnie po jednej dobie od jego utworzenia.
D. wygaśnie po jednej godzinie od jego utworzenia.
Kod z funkcją setcookie() w PHP bardzo często myli się z mechanizmami przechowywania danych po stronie serwera, dlatego łatwo tu o błędne skojarzenia. W tym przykładzie kluczowe są dwie rzeczy: po pierwsze, gdzie fizycznie przechowywane jest cookie, a po drugie, w jakiej jednostce podajemy czas. Ciasteczka HTTP są zawsze przechowywane po stronie klienta, czyli w przeglądarce użytkownika, w jej lokalnym magazynie. Serwer jedynie informuje przeglądarkę, jaki ma być czas życia takiego wpisu, wysyłając odpowiedni nagłówek Set-Cookie z datą wygaśnięcia. Stąd pomysł, że cookie „będzie przechowywane na serwerze” jest po prostu nietrafiony – serwer nie ma osobnego magazynu na ciasteczka użytkowników, on tylko je odczytuje z nagłówków przychodzących żądań i ewentualnie ustawia nowe. Druga częsta pomyłka dotyczy samego czasu. Funkcja time() zwraca aktualny timestamp w sekundach od 1.01.1970, a w wyrażeniu 3600 * 24 wyliczana jest liczba sekund w jednej dobie. Jeśli ktoś pobieżnie spojrzy na zapis, może skojarzyć 3600 z godziną i założyć, że cookie jest ważne tylko godzinę, ignorując mnożenie przez 24. To typowy błąd „czytania po łebkach” kodu. Tymczasem przeglądarka dostaje konkretny moment w przyszłości, przesunięty o 86400 sekund, i do tej chwili będzie wysyłać cookie przy każdym żądaniu do odpowiedniej domeny i ścieżki. Warto też pamiętać, że samo istnienie cookie nie oznacza trwałego przechowywania danych po stronie serwera. Dane z ciasteczka trafiają na serwer dopiero, gdy przeglądarka wyśle je w nagłówku HTTP. Dlatego planując logikę aplikacji, trzeba jasno rozróżniać dane sesyjne na serwerze (np. w $_SESSION) od danych w cookie, które użytkownik może modyfikować po swojej stronie i które wygasają dokładnie według tego timestampu, jaki podamy w setcookie().

Pytanie 13

W dokumencie HTML umieszczono tekst sformatowany określonym stylem. Aby wprowadzić w treści kilka słów o zróżnicowanym stylu, należy użyć znacznika

A. <span>
B. <table>
C. <section>
D. <hr>
Wybór znaczników <section>, <table> i <hr> jako sposobów na wtrącenie fragmentów tekstu stylizowanych różnie od reszty treści jest niewłaściwy z technicznego punktu widzenia. Znacznik <section> jest przeznaczony do tworzenia sekcji dokumentu, co oznacza, że ma on znaczenie semantyczne i jest używany do grupowania treści, które dotyczą tego samego tematu. Użycie go do stylizacji pojedynczych słów może prowadzić do nieczytelności struktury dokumentu oraz negatywnie wpływać na dostępność treści. Z kolei znacznik <table> służy do tworzenia tabel, które organizują dane w wierszach i kolumnach, a więc jego zastosowanie w kontekście formatowania tekstu byłoby zarówno nieefektywne, jak i niezgodne z przeznaczeniem. Stosowanie <hr> natomiast, które definiuje poziomą linię, nie ma sensu w kontekście zmiany stylu tekstu, ponieważ jego funkcją jest oddzielanie sekcji treści, a nie stylizowanie tekstu. Wybierając nieodpowiednie znaczniki, możemy naruszyć zasady semantyki HTML, co prowadzi do problemów z dostępnością i SEO, a także do trudności w dalszej edycji oraz utrzymaniu kodu. Prawidłowe użycie znaczników jest kluczowym elementem dobrych praktyk w tworzeniu stron internetowych i wpływa na ich czytelność oraz zrozumienie przez różne urządzenia i technologie.

Pytanie 14

Jaką instrukcję algorytmu ilustruje graficzna prezentacja bloku na zamieszczonym rysunku?

Ilustracja do pytania
A. Wypisz n
B. n ← n + 5
C. n > 20
D. Wykonaj podprogram sortowania tablicy t
Każda z niepoprawnych odpowiedzi wynika z błędnego rozpoznania typów bloków w diagramach przepływu. Instrukcje przypisania, takie jak n ← n + 5, są reprezentowane prostokątem i oznaczają operacje przetwarzania danych, gdzie zmienna jest modyfikowana zgodnie z określoną logiką. Ta operacja głównie pojawia się w kontekście pętli lub jako część większej sekwencji działań obliczeniowych, co jest użyteczne w algorytmach obliczeniowych i matematycznych, gdzie często modyfikujemy wartość zmiennych. Kolejny typ instrukcji, taki jak Wypisz n, jest reprezentowany przez blok wyjścia, który jest używany do komunikacji wyników algorytmu na zewnątrz. Jest to częste w raportowaniu lub debugowaniu programów, gdzie wynikiem działania algorytmu jest wyświetlenie informacji użytkownikowi. Podprogramy, takie jak sortowanie tablicy, oznaczają bloki procesów, które są reprezentowane prostokątem z podwójnymi liniami bocznymi i wskazują na wywołanie funkcji lub procedury. Takie konstrukcje są kluczowe w strukturalnym programowaniu, gdzie zadania są dekomponowane na mniejsze, zarządzalne jednostki, co prowadzi do lepszego zrozumienia i utrzymania kodu. Błędne rozpoznanie tych bloków prowadzi do nieprawidłowego zrozumienia struktury algorytmu, co może skutkować jego nieefektywnością lub błędami logicznymi w jego działaniu. Zrozumienie różnic między tymi blokami jest niezbędne do prawidłowego projektowania i implementacji algorytmów, co jest podstawą w wielu dziedzinach informatyki, takich jak inżynieria oprogramowania czy analiza danych. Dzięki temu można tworzyć efektywne i zrozumiałe rozwiązania, które spełniają wymagania użytkowników i normy branżowe.

Pytanie 15

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

A. grupowania.
B. sumy.
C. wykluczenia.
D. części wspólnej.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów.
Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna.
Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 16

Deklaracja typu dokumentu HTML: <!DOCTYPE HTML> wskazuje, że kod został stworzony w wersji

A. 7
B. 4
C. 6
D. 5
Gdy widzisz deklarację <!DOCTYPE HTML>, to znaczy, że mówimy o wersji HTML5. To obecny standard, który wprowadza naprawdę sporo nowych funkcji w porównaniu do wcześniejszych wersji. Na przykład, HTML5 pozwala na osadzanie audio i wideo bez potrzeby dodatkowych wtyczek, co jest super wygodne. Mamy też fajne semantyczne elementy jak <article>, <section> czy <nav>, które sprawiają, że łatwiej zorganizować treści na stronie. Ważne jest, żeby zawsze na początku dokumentu umieszczać tę deklarację, bo to pozwala przeglądarkom na prawidłowe wyświetlanie strony. Dzięki temu unikamy problemów z interpretacją kodu, co z doświadczenia mówię, jest naprawdę istotne.

Pytanie 17

Od jakiego znaku rozpoczyna się nazwa zmiennej w języku PHP?

A.
@
B.
&
C.
#
D.
$
Pozostałe znaki pełnią w PHP inne funkcje. & przed zmienną oznacza referencję, czyli przekazanie „przez wskazanie”, a nie sam początek zmiennej. @ to operator wyciszania błędów - stawiany przed wyrażeniem ukrywa komunikaty, lecz nie tworzy zmiennej. # rozpoczyna komentarz jednoliniowy, więc tekst po nim jest ignorowany. Nazwę zmiennej w PHP otwiera znak $, dlatego to on jest poprawny.

Pytanie 18

Po przeprowadzeniu walidacji dokumentu HTML pojawił się błąd przedstawiony na zrzucie. Jak można go usunąć?

Ilustracja do pytania
A. zmienić zapis </h1> na <h1>
B. dodać atrybut alt do grafiki
C. w znaczniku img zmienić nazwę atrybutu src na alt
D. w znaczniku img zmienić nazwę atrybutu src na href
Atrybut alt w znaczniku img jest kluczowym elementem poprawnego i dostępnego kodu HTML. Służy on do dostarczenia tekstowego opisu zawartości obrazu co jest niezwykle ważne dla osób korzystających z technologii asystujących takich jak czytniki ekranu. Dodanie atrybutu alt poprawia również indeksowanie strony przez wyszukiwarki internetowe co wpływa na SEO. Zgodnie z wytycznymi W3C oraz WCAG każda grafika powinna posiadać ten atrybut aby zapewnić dostępność treści. Przykładowo jeśli obraz przedstawia logo firmy alt powinien zawierać nazwę firmy. W przypadku obrazów dekoracyjnych atrybut alt może być pusty co sygnalizuje że obraz nie niesie istotnej informacji. Takie praktyki wspierają budowanie witryn przyjaznych i zgodnych ze standardami co jest nie tylko wymogiem prawnym w wielu jurysdykcjach ale także dobrym nawykiem programistycznym. W związku z tym dodanie atrybutu alt jest nie tylko środkiem do eliminacji błędu walidacji ale również krokiem w stronę odpowiedzialnego tworzenia treści internetowych.

Pytanie 19

W SQL, aby zabezpieczyć kwerendę CREATE USER przed utworzeniem konta, jeżeli ono już istnieje, należy użyć składni

A. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
B. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
C. CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
D. CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
Odpowiedzi takie jak 'CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' są nieprawidłowe, ponieważ nie zawierają mechanizmu do weryfikacji istnienia użytkownika przed jego utworzeniem. W przypadku, gdy konto o nazwie 'anna' już istnieje, wykona się próba utworzenia go ponownie, co skutkuje błędem. Tego typu podejście nie tylko narusza praktyki zarządzania bazami danych, ale również wprowadza potencjalne problemy z bezpieczeństwem, gdyż mogą wystąpić niezamierzone konsekwencje w przypadku nadpisania istniejących uprawnień. Odpowiedź 'CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' także jest błędna, gdyż takiej składni nie definiuje standard SQL. 'CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' myli pojęcie zastępowania użytkownika, gdyż nie zawsze jest to pożądane. Użytkownicy mogą mieć różne uprawnienia, a ich usunięcie lub nadpisanie może prowadzić do problemów z dostępem. Takie myślenie często prowadzi do błędnych założeń, że można swobodnie zarządzać użytkownikami bez przemyślanej strategii, co może skutkować poważnymi lukami w bezpieczeństwie oraz problemami z audytem. Zrozumienie, jak ważne jest stosowanie odpowiednich praktyk przy zarządzaniu kontami użytkowników w bazach danych, jest kluczowe dla zapewnienia ich integralności oraz ochrony danych.

Pytanie 20

Polecenie serwera MySQL w postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
spowoduje, że użytkownikowi tKowal zostaną
A. przydzielone uprawnienia do usuwania oraz aktualizowania danych w tabeli pracownicy
B. odebrane uprawnienia usuwania oraz dodawania rekordów w tabeli pracownicy
C. odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy
D. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
Odpowiedzi sugerujące, że użytkownikowi tKowal przydzielono prawa lub odebrano inne uprawnienia, takie jak prawa do dodawania rekordów czy zmiany struktury tabeli, są mylące i niezgodne z tym, co faktycznie robi polecenie REVOKE. Przede wszystkim, polecenie to dotyczy konkretnych operacji na danych, a w opisywanym przypadku wyraźnie odnosi się do usuwania i aktualizowania danych, co oznacza, że inne operacje, takie jak dodawanie rekordów, nie zostały w ogóle wspomniane. W praktyce, aby zrozumieć mechanizm uprawnień w MySQL, należy pamiętać, że każde polecenie ma określony kontekst i zastosowanie. Niezrozumienie tej struktury może prowadzić do błędnych wniosków, które z kolei mogą wpływać na zarządzanie bezpieczeństwem bazy danych. Ponadto, pojmowanie błędów polegających na myleniu usuwania i aktualizowania danych z innymi operacjami, takimi jak zmiana struktury tabeli, nie tylko wprowadza zamieszanie, ale także może prowadzić do niepoprawnej konfiguracji uprawnień, co stwarza luki w bezpieczeństwie. Fundamentalnym błędem jest nieczytelne rozróżnienie pomiędzy różnymi rodzajami uprawnień, a także brak świadomości, że MySQL zarządza uprawnieniami w sposób bardzo szczegółowy i kontekstowy.

Pytanie 21

Rekordy do raportu mogą pochodzić z

A. innego raportu
B. makropolecenia
C. tabeli
D. zapytania INSERT INTO
Tabela stanowi fundamentalne źródło danych w kontekście raportowania, ponieważ przechowuje zorganizowane informacje w formie wierszy i kolumn. W praktyce, raporty często opierają się na danych zgromadzonych w tabelach, które są częścią bazy danych. Dzięki strukturze tabeli, możliwe jest łatwe filtrowanie, sortowanie i agregowanie danych, co jest kluczowe w procesie tworzenia raportów. Na przykład, w systemach CRM, dane o klientach są przechowywane w tabeli, co pozwala na wygenerowanie raportów dotyczących sprzedaży, aktywności klientów czy trendów rynkowych. W kontekście standardów branżowych, stosowanie tabel w relacyjnych bazach danych jest nie tylko powszechne, ale również zgodne z najlepszymi praktykami, które zalecają utrzymywanie danych w znormalizowanej formie, aby minimalizować redundancję i ułatwiać zarządzanie danymi. Dodatkowo, w przypadku tworzenia raportów, można korzystać z języka SQL, aby dynamicznie wydobywać dane z tabel, co zwiększa elastyczność i precyzję raportowania.

Pytanie 22

W skrypcie JavaScript operatory: ||, && są klasyfikowane jako operatorzy

A. przypisania
B. bitowe
C. logicznymi
D. arytmetyczne
Wybierając odpowiedzi z grupy operatorów arytmetycznych, bitowych czy przypisania, można wprowadzić się w błąd, co do funkcji operatorów || i && w JavaScript. Operatory arytmetyczne, takie jak +, -, *, /, służą do wykonywania obliczeń matematycznych na liczbach, a ich zastosowanie jest zupełnie inne niż w przypadku operatorów logicznych. Operator bitowy, jak np. &, działa na poziomie bitów w liczbach binarnych, co również różni się od operacji zwracających wartość logiczną. Z kolei operator przypisania = jest używany do przypisywania wartości zmiennym, co nie ma związku z oceną warunków. Typowe błędy myślowe, które prowadzą do nieprawidłowych odpowiedzi, wynikają z mylenia kontekstu użycia operatorów w programowaniu. Ważne jest, aby rozumieć, w jakim celu stosuje się poszczególne grupy operatorów i jak wpływają one na logikę programu. Przyjmowanie błędnych założeń dotyczących funkcji operatorów może prowadzić do poważnych błędów w kodzie, dlatego zaleca się przyswojenie podstawowych zasad dotyczących różnych operatorów i ich zastosowań w praktyce programistycznej. Znajomość tych różnic jest kluczowa dla realizacji skutecznych i poprawnych programów.

Pytanie 23

Aby wskazać błędy składniowe w kodzie HTML, należy zastosować:

A. walidator
B. kompilator
C. debugger
D. interpreter
Pozostałe odpowiedzi to narzędzia związane z językami programowania, a HTML do nich nie należy. Debugger pozwala zatrzymywać i śledzić wykonujący się program, sprawdzać wartości zmiennych - tymczasem HTML niczego nie wykonuje, więc nie ma tu czego debugować. Interpreter i kompilator to z kolei narzędzia, które tłumaczą lub uruchamiają kod programu: interpreter na bieżąco, kompilator zamieniając go wcześniej na inną postać. HTML jest jedynie opisem struktury strony, dlatego żadne z nich nie wskaże błędnie zapisanego znacznika. Do kontroli poprawności składni HTML służy walidator, który porównuje dokument ze standardem języka i raportuje znalezione usterki.

Pytanie 24

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true OR pensja > 3000 OR 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 AND pensja > 3000 AND pensja <= 4000
Odpowiedź WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000 jest poprawna, ponieważ precyzyjnie definiuje warunki, które muszą być spełnione, aby zwrócić odpowiednich pracowników. Klauzula WHERE jest fundamentalnym elementem zapytań SQL, który pozwala na filtrację wyników na podstawie określonych kryteriów. W tym przypadku, warunek 'kierownik = true' zapewnia, że tylko pracownicy pełniący rolę kierowników zostaną uwzględnieni w wynikach. Dodatkowo, użycie operatorów porównania '>' oraz '<=' dla pensji umożliwia dokładne zdefiniowanie przedziału, w którym pensja musi się mieścić. W praktyce, w kontekście baz danych, taka filtracja pozwala na efektywne zarządzanie danymi oraz generowanie raportów zgodnych z wymaganiami analizy. Stosowanie tego typu warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami, gdyż umożliwia precyzyjne i wydajne wyszukiwanie danych, co jest kluczowe w zarządzaniu informacjami w złożonych systemach bazodanowych.

Pytanie 25

Jaki będzie efekt wykonania poniższego kodu JavaScript?

var akapit = document.createElement("p");
document.body.appendChild(akapit);
A. Pokazanie okna dialogowego z napisem akapit
B. Skasowanie akapitu ze strony
C. Wstawienie akapitu na szczycie strony
D. Dodanie akapitu na końcu strony
Zrozumienie dlaczego niektóre odpowiedzi są błędne wymaga analizy działania metod JavaScriptowych w kontekście modelu DOM. Pierwsza odpowiedź wskazuje na usunięcie akapitu ze strony co nie jest zgodne z działaniem zaprezentowanego kodu ponieważ metoda document.createElement tworzy nowy element a nie usuwa istniejący. Usunięcie elementu zamiast tego można osiągnąć za pomocą metody removeChild która wymaga wskazania konkretnego elementu do usunięcia. Druga odpowiedź sugeruje dodanie akapitu na początku strony co również jest niepoprawne. Metoda appendChild zawsze dodaje element na koniec wskazanego rodzica czyli w tym przypadku dokumentu body. Aby dodać element na początku strony należałoby użyć metody insertBefore w połączeniu z odwołaniem do pierwszego dziecka body. Trzecia odpowiedź mówi o wyświetleniu okna dialogowego co jest błędem konceptualnym gdyż omawiany kod nie zawiera żadnej funkcji wyświetlającej alert czy prompt. Tworzenie i manipulowanie elementami DOM nie wpływa bezpośrednio na interakcje dialogowe z użytkownikiem. Aby wyświetlić okno dialogowe używa się zazwyczaj metod takich jak alert confirm czy prompt co nie ma miejsca w podanym fragmencie kodu. Analizując te odpowiedzi zauważamy że błędne rozumowanie może wynikać z mylenia funkcji manipulujących DOM z elementami interfejsu użytkownika co jest częstym błędem wśród początkujących programistów. Znajomość specyfiki oraz kontekstu użycia poszczególnych metod jest kluczowa dla poprawnego kodowania w JavaScript i efektywnego zarządzania treścią na stronie internetowej.

Pytanie 26

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);
Pozostałe warianty mają błędy. Parametr $i++ w nagłówku funkcji jest niedozwolony (parametrem nie może być wyrażenie). Wersje używające $n bez przekazania go jako argumentu odwołują się do nieistniejącej zmiennej, a wywołanie znaki(@, ...) bez cudzysłowów jest błędne (znak @ trzeba podać jako napis). Poprawny jest wariant function znaki($znak, $n) {...} znaki("@", ...).

Pytanie 27

Instrukcja w języku SQL GRANT ALL PRIVILEGES ON klienci TO pracownik

A. przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
B. cofa wszystkie uprawnienia pracownikowi do tabeli klienci
C. przeniesie uprawnienia z grupy klienci do użytkownika pracownik
D. przyznaje uprawnienie grupie klienci dla tabeli pracownik
Wybór odpowiedzi, która nie odpowiada na pytanie, zazwyczaj wynika z błędnych założeń dotyczących działania polecenia GRANT w SQL. Odpowiedź, która sugeruje, że polecenie skopiuje uprawnienia z grupy klienci na użytkownika pracownik, jest błędna, ponieważ GRANT nie działa na zasadzie kopiowania uprawnień, ale bezpośrednio przydziela określone uprawnienia do wskazanego obiektu. W SQL nie istnieje konstrukcja, która automatycznie przenosi uprawnienia z jednej grupy na inny użytkownik, co czyni to zrozumienie niewłaściwym. Inną nieprawidłową koncepcją jest myślenie, że komenda nadaje uprawnienia grupie klienci do tabeli pracownik. To zrozumienie myli pojęcie grupy z użytkownikiem, co jest podstawowym błędem w interpretacji polecenia SQL. Ostatnia wskazana odpowiedź, która sugeruje, że odbiera wszystkie uprawnienia pracownikowi do tabeli klienci, jest również błędna, ponieważ polecenie GRANT nie jest używane do odbierania uprawnień, a do ich przydzielania. Powoduje to nieporozumienia co do funkcji i zastosowania polecenia w kontekście zarządzania dostępem do danych. Aby poprawnie zrozumieć te koncepcje, ważne jest, aby zapoznać się z dokumentacją SQL oraz najlepszymi praktykami zarządzania uprawnieniami, co przyczyni się do efektywnego i bezpiecznego zarządzania danymi w bazach danych.

Pytanie 28

Co oznacza dodanie kanału alfa podczas obróbki grafiki rastrowej?

A. zwiększenie głębi ostrości
B. ustalenie balansu bieli
C. wprowadzenie warstwy z przezroczystością
D. wyostrzenie krawędzi obrazu
Kanał alfa dotyczy przezroczystości, a nie innych korekt. Balans bieli reguluje barwy, głębia ostrości i wyostrzanie krawędzi dotyczą ostrości obrazu. Dodanie kanału alfa to wprowadzenie warstwy z przezroczystością.

Pytanie 29

Programista stworzył pętlę w języku C++, która miała za zadanie obliczyć wynik 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny, gdyż

int a = 1;
for (int i=1; i < 5; i++)
{
    a = a * i;
}
cout << a;
Ilustracja do pytania
A. zmienna a powinna być początkowo ustawiona na 0 zamiast 1
B. zmienna i w pętli powinna być rozpoczynana od 0, a nie od 1
C. w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5
D. zmienna i pętli powinna być zmniejszana, a nie zwiększana
Zmienna a, odpowiedzialna za przechowywanie wyniku, nie powinna być inicjowana wartością 0, gdyż każdy wynik mnożenia przez 0 również daje 0, co zniweczyłoby cały proces obliczeniowy. Inicjalizacja zmiennej wartością 1 jest odpowiednia, ponieważ jest to element neutralny dla mnożenia. Pomysł inicjowania parametru i pętli wartością 0 zamiast 1 jest błędny, ponieważ obliczanie silni wymaga rozpoczęcia od wartości 1, nie 0. Rozpoczęcie od 0 jest odpowiednie dla iteracji związanych z indeksami tablic w wielu językach programowania, ale nie w przypadku obliczeń liczbowych, takich jak silnia. Dekrementacja parametru i zamiast inkrementacji w kontekście silni jest nieodpowiednia, ponieważ wymagałaby przebiegania pętli wstecz od większej wartości do 1, co komplikuje logikę i zwiększa ryzyko błędów logicznych. Takie podejście nie tylko odbiega od standardowych praktyk, ale również jest mniej czytelne i trudniejsze do zrozumienia oraz utrzymania. Dobre praktyki kodowania zalecają, aby pętla for była używana w sposób, który jest intuicyjnie zrozumiały i logiczny, co oznacza inkrementację w przypadku iteracji przez rosnące wartości. Ustalenie poprawnego warunku zakończenia pętli jest kluczowe dla otrzymania właściwego wyniku, a w przypadku obliczania silni, musi obejmować wszystkie liczby w zakresie od 1 do n. Zrozumienie tych podstawowych zasad jest niezbędne dla każdego programisty, aby unikać powszechnych błędów logicznych w algorytmach.

Pytanie 30

Który atrybut znacznika <img> określa lokalizację (ścieżkę) pliku graficznego?

A.
link
B.
href
C.
alt
D.
src
Pozostałe atrybuty nie wskazują pliku obrazu. alt zawiera tekst alternatywny - opis wyświetlany, gdy obraz się nie wczyta, ważny też dla dostępności - lecz nie podaje ścieżki. href to atrybut odnośnika <a>, określający adres docelowy linku, a nie źródło grafiki. link w ogóle nie jest atrybutem znacznika <img>. Ścieżkę pliku graficznego wskazuje atrybut src, dlatego to on jest poprawny.

Pytanie 31

Deklaracja background-attachment: scroll sprawia, że:

A. grafika tła będzie powtarzana (kafelki)
B. tło będzie nieruchome, a treść będzie się przewijać
C. grafika tła pojawi się w prawym górnym rogu
D. tło będzie przewijane razem z zawartością strony
Właściwość background-attachment określa, jak zachowuje się tło podczas przewijania strony. Wartość scroll (domyślna) sprawia, że tło przewija się razem z zawartością elementu - znika z widoku, gdy przewiniemy stronę. Przeciwna wartość fixed „przykleja” tło do okna, więc treść przesuwa się po nieruchomym tle. Dlatego scroll oznacza, że tło przewija się z treścią.

Pytanie 32

W języku JavaScript zapisano fragment kodu. Po wykonaniu skryptu zmienna x

<script>
var x = 10;
x++;
console.log(x);
</script>
A. będzie równa 11 i zostanie wypisana w oknie popup.
B. będzie równa 10 i zostanie wypisana w dokumencie HTML.
C. będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
D. będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej.
Twoja odpowiedź nie była poprawna, ale nie martw się, omówimy teraz dlaczego. Po pierwsze, zmienna x nie będzie równa 10 - jest to błąd wynikający z braku zrozumienia, jak działa inkrementacja. W JavaScript, operator ++ stosowany jest do zwiększenia wartości zmiennej o 1. W naszym przypadku, zmienna x jest zainicjalizowana wartością 10, a następnie jest inkrementowana, co oznacza, że jej wartość wynosi 11, a nie 10. Jeśli chodzi o miejsce wypisywania wartości zmiennej, to nie będzie to dokument HTML, okno popup, ani główne okno przeglądarki. W JavaScript, standardowym miejscem do wypisywania wartości zmiennych do celów debugowania jest konsola przeglądarki, co odbywa się za pomocą metody console.log(). Pamiętaj, że zrozumienie, jak działa konsola i jak z niej korzystać, jest ważnym elementem pracy z JavaScript. Podsumowując, zrozumienie operacji na zmiennych, takich jak inkrementacja, oraz właściwe wykorzystanie konsoli przeglądarki, są podstawowymi umiejętnościami niezbędnymi do efektywnego programowania w JavaScript.

Pytanie 33

W programie do edytowania grafiki rastrowej zmieniono krzywe kolorów w sposób zaznaczony ramką na pokazanym obrazie. Jakie jest to działanie?

Ilustracja do pytania
A. rozjaśnienie całego obrazu
B. wygładzenie krawędzi na obrazie
C. modyfikację najjaśniejszych i najciemniejszych kolorów obrazu
D. przyciemnienie całego obrazu
Modyfikacja krzywych kolorów w programach do obróbki grafiki rastrowej jest zaawansowanym narzędziem służącym do precyzyjnej regulacji tonalnej obrazu. Krzywe pozwalają na kontrolę nad najjaśniejszymi i najciemniejszymi partiami obrazu poprzez modyfikację kanałów RGB lub wartości jasności. W zaznaczonej na obrazku ramce widać, że punkty kontrolne krzywej zostały przesunięte, co wskazuje na zmianę tonacji skrajnych wartości jasności. Tego typu operacja jest często stosowana w celu poprawy kontrastu i ogólnego wyglądu zdjęcia. Standardową praktyką jest tu podnoszenie i opuszczanie punktów na krzywej, co daje możliwość uwydatnienia szczegółów w cieniach oraz światłach bez wpływu na średnie tony. Modyfikacja krzywych jest zgodna z profesjonalnymi standardami edycji, ponieważ umożliwia uzyskanie efektów niedostępnych przy użyciu prostych suwaków jasności lub kontrastu. Praktyczne zastosowanie znajduje m.in. w fotografii portretowej, gdzie często konieczne jest subtelne dostosowanie tonacji skóry oraz w krajobrazach, gdzie ważne jest zachowanie detali w jasnych niebie i ciemnych cieniach ziemi. Stosując krzywe, można precyzyjnie regulować każdy aspekt tonalny obrazu, co jest kluczowe w profesjonalnej edycji graficznej.

Pytanie 34

Na tabeli Pracownicy, której wiersze są przedstawione na załączonym obrazie, została zrealizowana podana kwerenda SELECT. Jakie dane zostaną zwrócone?

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;
idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Wyłącznie Maria
B. Monika, Ewelina, Maria
C. Anna, Maria, Ewa
D. Wyłącznie Anna
Ważne jest zrozumienie działania klauzuli WHERE w SQL, zwłaszcza gdy stosujemy w niej operator OR. Częstym błędem przy analizie takich zapytań jest traktowanie operatora OR jak operatora AND co prowadzi do błędnych wniosków. W zapytaniu SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2 celem jest wybór imion pracowników spełniających przynajmniej jedno z podanych kryteriów. Można błędnie założyć że wybierane są tylko osoby z nazwiskiem Kowal i stanowiskiem większym od 2 lub odwrotnie co prowadzi do niepoprawnej interpretacji danych. Imiona takie jak Monika czy Ewelina nie pojawiają się w wyniku ponieważ ich stanowiska wynoszą dokładnie 2 co nie spełnia wymagań stanowisko > 2. Natomiast imię Maria jest wynikowe ponieważ nazwisko Kowal spełnia pierwszy warunek a Anna i Ewa są wybierane przez drugi warunek dotyczący stanowiska. Zrozumienie różnicy między operatorami AND i OR jest kluczowe dla poprawnego tworzenia zapytań SQL oraz unikania błędów logicznych przy przetwarzaniu danych. Operator OR wymaga aby przynajmniej jeden z warunków był prawdziwy co zwiększa elastyczność filtrowania danych ale także wymaga ostrożności aby nie uzyskać wyników niezgodnych z intencjami analizy. Znajomość i umiejętność wykorzystania różnych operatorów logicznych pozwala na efektywne zarządzanie danymi i ich analizę co jest niezbędne w pracy z bazami danych.

Pytanie 35

Do czego służy polecenie GRANT w SQL?

A. do nadawania użytkownikom praw do obiektów
B. do wstawiania nowych danych do bazy
C. do aktualizacji istniejących danych
D. do odbierania użytkownikom praw
Pozostałe opisy dotyczą innych poleceń. Wstawianie danych to INSERT, aktualizacja - UPDATE, a ODBIERANIE praw - REVOKE. Nadawaniem uprawnień zajmuje się GRANT.

Pytanie 36

Ile razy powtórzy się pętla w JavaScript?

var x=1, i=0;
do{
    x*=3;
    i++;
}
while(x!=27);
A. 2 razy
B. 3 razy
C. 27 razy
D. 26 razy
W przedstawionym kodzie JavaScript, pętla do-while wykonuje się do momentu, gdy zmienna x nie jest równa 27. Zaczynając od wartości x równej 1, przy każdym przejściu przez pętlę zmienna x jest mnożona przez 3. Kolejno, x przyjmuje wartości: 3, 9, 27. Zatem pętla wykonuje się trzy razy, ponieważ dopiero po trzecim cyklu x osiąga wartość 27, co powoduje zakończenie pętli. Do-while zawsze wykonuje przynajmniej jedno przejście, niezależnie od warunku końcowego, dzięki czemu jest przydatna w sytuacjach, gdy operacja musi być przeprowadzona co najmniej raz. Dobrym przykładem wykorzystania tego mechanizmu jest oczekiwanie na spełnienie określonego warunku, np. uzyskanie poprawnej odpowiedzi od użytkownika. Warto zwrócić uwagę, że w przypadku operacji matematycznych wymagających określonej liczby iteracji, pętla do-while zapewnia prostotę i przejrzystość implementacji, zgodnie z dobrymi praktykami zapewniającymi łatwość w czytaniu i utrzymaniu kodu.

Pytanie 37

Który z poniższych znaczników jest używany do definiowania list w HTML?

A. <ul>
B. <tr>
C. <td>
D. <th>
Wybór znaczników <tr>, <th> i <td> jest nieprawidłowy, ponieważ są one zarezerwowane dla konstrukcji tabel w HTML. Znacznik <tr> definiuje wiersz tabeli, <th> oznacza nagłówek kolumny, natomiast <td> oznacza komórkę danych w tabeli. Użycie tych znaczników wskazuje na mylenie struktury danych prezentowanej w formie tabelarycznej z listą, co jest fundamentalnym błędem w podejściu do budowy semantycznej HTML. W tabelach, każdy wiersz i kolumna mają swoje określone przeznaczenie i służą do organizowania danych w sposób bardziej złożony, natomiast listy są używane do prostszego katalogowania elementów, gdzie kolejność nie ma znaczenia. Dlatego istotne jest, aby zrozumieć, że każdy znacznik w HTML ma swoje konkretne zastosowanie i kontekst. Właściwe wykorzystanie znaczników nie tylko poprawia semantykę dokumentu, ale także przyczynia się do poprawy dostępności oraz optymalizacji SEO. Ignorowanie tych zasad może prowadzić do nieczytelnych stron internetowych i nieefektywnego przekazywania informacji użytkownikom.

Pytanie 38

Który sposób komentowania NIE jest stosowany w kodzie PHP?

A.
/* komentarz */
B.
<!-- komentarz -->
C.
# komentarz
D.
// komentarz
Trzy pozostałe zapisy SĄ poprawnymi komentarzami PHP, więc nie pasują do pytania o sposób NIESTOSOWANY. // i # komentują pojedynczą linię (do końca wiersza), a /* */ obejmuje cały blok, także wieloliniowy. Spoza PHP jest komentarz HTML <!-- -->.

Pytanie 39

Co w pasku adresu przeglądarki sygnalizuje, że połączenie ze stroną jest bezpieczne (szyfrowane HTTPS)?

A. dane whois domeny
B. nazwa serwera w nagłówku
C. adres IP serwera
D. ikona kłódki
Pozostałe elementy nie informują o bezpieczeństwie połączenia. Dane whois opisują rejestrację domeny (właściciela, daty) i nie pojawiają się w pasku adresu ani nie świadczą o szyfrowaniu. Adres IP serwera to tylko jego numer w sieci - strona pod dowolnym IP może być szyfrowana lub nie. Nazwa serwera również nic nie mówi o ochronie transmisji. Szyfrowane, zweryfikowane połączenie HTTPS sygnalizuje ikona kłódki przy adresie https://, dlatego to ona jest poprawna.

Pytanie 40

W instrukcjach, których celem jest odtwarzanie dźwięku na stronie internetowej jako tła muzycznego, nie stosuje się atrybutu

A. loop="10"
B. balance="10"
C. href="c:/100.wav"
D. volume="-100"
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku powodów. Atrybut loop, który jest używany do powtarzania dźwięku, nie może przyjmować wartości liczbowych, dlatego loop='10' jest niewłaściwy. Wartość loop jest typu boolowskiego, gdzie obecność atrybutu w tagu <audio> lub <source> oznacza, że dźwięk ma być odtwarzany w pętli. Kolejną niepoprawną odpowiedzią jest balance='10', który nie jest uznawany za standardowy atrybut HTML. W kontekście dźwięku, nie istnieje atrybut balance, który mógłby kontrolować balans lewego i prawego kanału. Ostatnia z niepoprawnych odpowiedzi, volume='-100', także nie jest obowiązującym atrybutem. W HTML5 nie ma możliwości ustawienia głośności w ten sposób; zamiast tego dźwięk musi być kontrolowany za pomocą JavaScript i API Web Audio, co pozwala na programowe dostosowanie głośności dźwięku. Podsumowując, wszystkie te odpowiedzi nie odpowiadają na wymagania techniczne dotyczące odtwarzania dźwięku w standardach internetowych.