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: 10 kwietnia 2026 12:01
  • Data zakończenia: 10 kwietnia 2026 12:20

Egzamin zdany!

Wynik: 21/40 punktów (52,5%)

Wymagane minimum: 20 punktów (50%)

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

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

A. przy pomocy pseudoelementu ::after
B. jako selektor potomka
C. jako pseudoklasę :active
D. przy pomocy reguły !important
Odpowiedź, że cechę opisaną w zewnętrznym stylu należy zdefiniować przy pomocy reguły !important jest poprawna. Reguła !important w CSS jest używana do nadania określonej właściwości najwyższego priorytetu. Oznacza to, że nawet jeśli inne reguły CSS mają wyższy specyficzność lub są zdefiniowane później, właściwość oznaczona jako !important zostanie zastosowana. Przykład zastosowania to sytuacja, gdy styl globalny dla elementu przyjmuje kolor tła, ale chcemy, aby dany element zawsze miał czerwony kolor tła, niezależnie od innych reguł. W takim przypadku możemy zdefiniować ten styl jako: `.example { background-color: red !important; }`. Ważne jest, aby stosować !important z rozwagą, ponieważ może to prowadzić do trudności w utrzymaniu kodu oraz nadpisywaniu stylów w nieprzewidywalny sposób. Dobrym podejściem jest najpierw spróbować zwiększyć specyficzność selektora, a dopiero potem, w nagłych wypadkach, używać !important, aby unikać problemów z dziedziczeniem stylów.

Pytanie 2

W bazie danych znajdują się dwie tabele, które są ze sobą połączone relacją 1..n. Jakiej klauzuli SQL należy użyć, aby uzyskać odpowiadające sobie dane z obu tabel?

A. INNER LINK
B. OUTER LINK
C. AND
D. JOIN
Klauzula JOIN w SQL służy do łączenia tabel w bazie danych, pozwalając na pobranie powiązanych danych z różnych tabel. W przypadku relacji 1..n, przy której jedna tabela (nazwa tabeli `A`) może mieć wiele powiązanych rekordów w drugiej tabeli (nazwa tabeli `B`), klauzula JOIN jest idealna do uzyskania korespondujących wartości z obu tabel. Przykład zastosowania to: SELECT A.*, B.* FROM A JOIN B ON A.id = B.a_id; W powyższym zapytaniu `A.id` to klucz główny tabeli `A`, a `B.a_id` to klucz obcy w tabeli `B`, który odnosi się do `A`. Klauzula JOIN może przyjmować różne formy, takie jak INNER JOIN, LEFT JOIN, RIGHT JOIN, i FULL JOIN, które różnią się sposobem łączenia danych i wynikami. JOIN jest standardem SQL, co oznacza, że jest wspierany przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, Oracle, czy Microsoft SQL Server. Użycie klauzuli JOIN jest kluczowe w relacyjnych bazach danych, gdzie dane są rozdzielone w różnych tabelach, ale muszą być analizowane łącznie.

Pytanie 3

Wskaż NIEPRAWIDŁOWY opis optymalizacji kodu wygenerowanego przez program

A. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
B. Jej celem jest zwiększenie efektywności programu
C. Powinna prowadzić do zmiany kodu źródłowego w taki sposób, aby działał on szybciej
D. W celu przyspieszenia wykonania kodu przez procesor może być przeprowadzana na różnych etapach działania
Wszelkie odpowiedzi, które sugerują, że celem optymalizacji kodu wynikowego jest sprawdzenie zgodności z wymogami formalnymi, są błędne. Tego rodzaju podejście myślowe może prowadzić do poważnych nieporozumień w kontekście rozwoju oprogramowania. W rzeczywistości, optymalizacja kodu koncentruje się głównie na zwiększeniu wydajności, a nie na zgodności z formalnościami. Wiele osób myli te pojęcia, co może skutkować szkodliwym podejściem, w którym skupiają się na spełnieniu formalnych wymagań bez zrozumienia, że kluczowym celem jest poprawa funkcjonalności i szybkości działania programu. Co więcej, odpowiedzi sugerujące, że modyfikacje kodu źródłowego prowadzące do większej szybkości działania nie są istotne, są również mylne. W rzeczywistości, optymalizacja kodu często wymaga przekształceń na poziomie kodu źródłowego, aby zapewnić lepszą wydajność. Dobre praktyki programistyczne zalecają testowanie i profilowanie kodu, aby zidentyfikować obszary wymagające poprawy. Warto także pamiętać, że optymalizacja powinna być prowadzona na różnych etapach rozwoju aplikacji, aby dostosować kod do zmieniających się potrzeb użytkowników oraz wymagań technicznych. Ignorowanie tych aspektów może prowadzić do stagnacji w rozwoju oprogramowania i obniżenia jego jakości.

Pytanie 4

W HTML umieszczono formularz. Jakie skutki działania tego kodu zostaną pokazane przez przeglądarkę, jeśli użytkownik w drugim polu wprowadzi wartość "ala ma kota"?

Ilustracja do pytania
A. Efekt 1
B. Efekt 4
C. Efekt 3
D. Efekt 2
Efekt 2 jest prawidłowy, ponieważ kod HTML używa elementu select do stworzenia listy rozwijanej z trzema opcjami: Kraków, Poznań i Szczecin. Użytkownik może wybrać jedną z tych opcji, co jest standardowym zastosowaniem elementu select w formularzach HTML. Drugim elementem jest pole input typu password które maskuje wpisywany tekst. W formularzach HTML pole typu password jest używane do ukrywania wprowadzanego tekstu co jest szczególnie ważne przy wprowadzaniu danych wrażliwych takich jak hasła. Gdy użytkownik wpisuje hasło widoczne są tylko znaki maskujące często kropki lub gwiazdki co zapewnia prywatność danych. Stosowanie takich elementów jest zgodne z dobrymi praktykami projektowania interfejsów użytkownika w sieci co zwiększa bezpieczeństwo i wygodę użytkowania formularzy. Właściwe korzystanie z elementów HTML jak select i input type=password jest kluczowe w tworzeniu efektywnych i bezpiecznych stron internetowych co jest szczególnie istotne w kontekście e-commerce i aplikacji bankowych.

Pytanie 5

Jakim słowem kluczowym można zestawić wyniki dwóch zapytań SELECT, które operują na różnych tabelach, aby utworzyć jeden zbiór danych?

A. JOIN
B. AS
C. DISTINCT
D. UNION
Odpowiedź 'UNION' jest poprawna, ponieważ słowo kluczowe UNION służy do łączenia wyników dwóch lub więcej kwerend SELECT w jeden zbiór, pod warunkiem, że te kwerendy mają tę samą liczbę kolumn oraz odpowiednie typy danych. Praktycznie, UNION jest niezwykle przydatne, gdy chcemy uzyskać zintegrowane wyniki z różnych tabel, które zawierają pokrewne dane. Na przykład, jeśli mamy tabelę klientów w systemie A oraz tabelę klientów w systemie B, możemy użyć kwerendy z UNION, aby uzyskać pełną listę klientów z obu systemów. Warto także zaznaczyć, że UNION domyślnie eliminuje zduplikowane rekordy, co jest zgodne z dobrymi praktykami w analizie danych, gdzie często dąży się do uzyskania unikalnych wyników. Można również używać UNION ALL, jeśli chcemy, aby wszystkie wyniki, w tym duplikaty, były zawarte w końcowym zbiorze. Wybór między UNION a UNION ALL powinien być uzależniony od potrzeb w zakresie unikalności danych w wynikach końcowych.

Pytanie 6

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Zwiększenie ostrości zdjęcia.
C. Zmniejszenie kontrastu zdjęcia.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 7

Przykład zapytania SQL przedstawia instrukcję:

UPDATE katalog SET katalog.cena = [cena]*1.1;
A. aktualizującej
B. usuwającej
C. krzyżowej
D. dołączającej
Rozważając funkcje kwerend SQL istotne jest zrozumienie ich specyfiki. Kwerendy krzyżowe często nazywane zapytaniami crosstab służą do przekształcania danych w formę tabel przestawnych co pozwala na analizę w różnych wymiarach. Nie mają one zastosowania w kontekście bezpośredniej modyfikacji danych. Kwerendy usuwające czyli DELETE są używane do trwałego usuwania rekordów z tabeli i wymagają precyzji aby zapobiec niezamierzonej utracie danych. Typowym błędem jest mylenie ich z innymi operacjami modyfikującymi które nie wpływają na strukturę tabeli tylko jej zawartość. Kwerendy dołączające z kolei wykorzystują instrukcję INSERT aby dodawać nowe rekordy do tabeli co jest użyteczne przy wprowadzaniu nowych danych do systemu ale nie zmienia istniejących zapisów co było istotą przedstawionej instrukcji SQL. Zrozumienie różnic między tymi typami kwerend jest kluczowe dla prawidłowego zarządzania danymi w bazach danych. Brak tej wiedzy prowadzi do nieodpowiedniego zastosowania instrukcji co może skutkować nieprzewidzianymi modyfikacjami danych. Prawidłowe operowanie na bazach danych wymaga nie tylko znajomości odpowiednich komend ale i kontekstu w którym są używane co jest podstawą bezpiecznej i efektywnej pracy z danymi w środowisku SQL. Niepoprawne rozumienie tego kontekstu jest częstym źródłem błędów w projektach bazodanowych.

Pytanie 8

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 artykuly SET nowy=TRUE
B. UPDATE nowy FROM artykuly VALUE TRUE
C. INSERT INTO nowy FROM artykuly SET TRUE
D. INSERT INTO artykuly VALUE nowy=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 9

W bazie danych dotyczącej pojazdów pole kolor w tabeli samochody może mieć wartości jedynie z definicji lakier. Aby nawiązać relację między tabelami samochody a lakier, należy użyć kwerendy

A. ALTER TABLE samochody ADD FOREIGN KEY kolor REFERENCES lakier;
B. ALTER TABLE samochody ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
C. ALTER TABLE lakier ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
D. ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
Odpowiedź "ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);" jest poprawna, ponieważ prawidłowo definiuje klucz obcy w tabeli samochody, wskazując, że kolumna kolor w tej tabeli odnosi się do kolumny lakierId w tabeli lakier. Umożliwia to zapewnienie integralności referencyjnej, co oznacza, że wartości koloru w tabeli samochody będą mogły przyjmować tylko te wartości, które istnieją w tabeli lakier. Jest to standardowa praktyka w projektowaniu baz danych, która pomaga zapobiegać błędom, takim jak wprowadzenie koloru, który nie jest dostępny w zbiorze dozwolonych opcji. W praktyce, podczas dodawania nowego wpisu do tabeli samochody, system bazy danych automatycznie sprawdzi, czy dany kolor istnieje w tabeli lakier. Takie podejście zapewnia większą spójność danych oraz ułatwia zarządzanie them, zwłaszcza w większych aplikacjach, gdzie liczba potencjalnych wartości kolorów może być znaczna. Stosowanie kluczy obcych jest zgodne z zasadami normalizacji baz danych, co przyczynia się do ich efektywności i skalowalności.

Pytanie 10

Jeżeli założymy, że zmienne: a, b, c mają wartości liczbowe, wynikiem spełnienia warunku będzie wyświetlenie liczby

if ($a > $b && $a > $c)
echo $a;
else if ($b > $c)
echo $b;
else
echo $c;
A. parzystej
B. największej
C. najmniejszej
D. nieparzystej
Prawidłowa odpowiedź, czyli największa liczba jest wynikiem analizy warunku, który sprawdza wartość zmiennych a, b i c. Wykorzystujemy tutaj strukturę warunkową if-else, co jest standardową techniką w wielu językach programowania, takich jak PHP czy JavaScript. Przy pierwszej linijce kodu if ($a > $b && $a > $c) echo $a sprawdzamy, czy a jest większe od b i jednocześnie większe od c. Jeśli warunek jest spełniony, wypisujemy wartość a, co oznacza, że a jest największa. Jest to zgodne z dobrą praktyką algorytmiczną, gdzie przy porównywaniu trzech wartości dokładne warunki logiczne pomagają w ustaleniu największej z nich. Struktura ta jest wydajna i łatwa do zrozumienia. Praktycznym zastosowaniem może być np. system oceniania, gdzie na podstawie kilku wyników wybieramy ten najwyższy do dalszej analizy. Prawidłowe rozpoznawanie i implementowanie takich warunków jest kluczowe w codziennej pracy programisty, który musi regularnie wybierać największe wartości do różnych zastosowań biznesowych.

Pytanie 11

Gdzie powinien być umieszczony znacznik meta w języku HTML?

A. w dolnej części witryny internetowej.
B. w obrębie znaczników paragrafu.
C. w sekcji nagłówkowej strony.
D. w obrębie znaczników <body> ... </body>
Znacznik meta języka HTML jest kluczowym elementem, który powinien znajdować się w sekcji nagłówkowej witryny, oznaczonej znacznikami <head> ... </head>. Znaczniki meta dostarczają przeglądarkom oraz wyszukiwarkom internetowym informacji o stronie, takich jak jej opis, słowa kluczowe, a także informacje dotyczące kodowania czy autorstwa. Przykładowo, znacznik <meta charset="UTF-8"> informuje przeglądarkę o używanym kodowaniu znaków, co jest istotne dla prawidłowego wyświetlania tekstu w różnych językach. Dodatkowo, metadane takie jak <meta name="description" content="Opis strony"> są często wykorzystywane przez wyszukiwarki do generowania opisów w wynikach wyszukiwania, co może wpłynąć na wskaźnik klikalności (CTR) w SERP. Warto również dodać, że znaczniki meta mogą być używane do definiowania polityki prywatności i zabezpieczeń, na przykład poprzez <meta http-equiv="X-UA-Compatible" content="IE=edge">. Użycie odpowiednich metadanych w nagłówku jest zatem kluczowe dla optymalizacji SEO oraz zapewnienia odpowiedniej interakcji użytkowników z witryną.

Pytanie 12

W języku CSS przedstawione w ramce stylizacje będą miały następujące zastosowanie. Kolorem czerwonym zostanie zapisany

h1 i {color: red;}
A. jedynie tekst pochylony w nagłówku pierwszego stopnia
B. wyłącznie tekst pochylony we wszystkich nagłówkach
C. pełny tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, bez względu na jego lokalizację na stronie
D. kompletny tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu
Odpowiedź 1 jest poprawna, ponieważ selektor CSS 'h1 i' odnosi się do wszystkich elementów <i> (czyli tekstu pochylonego) znajdujących się wewnątrz elementów nagłówka <h1>. Oznacza to, że tylko tekst pochylony w nagłówkach pierwszego stopnia zostanie sformatowany na kolor czerwony. Jest to przykład selektora złożonego, który jest używany do stylizowania elementów zagnieżdżonych w określonym kontekście. W praktyce, takie podejście pozwala na precyzyjne kontrolowanie stylów na poziomie struktury dokumentu HTML, co jest zgodne z dobrymi praktykami w zakresie utrzymania i czytelności kodu CSS. Podczas projektowania arkuszy stylów ważne jest, aby stosować specyficzne selektory tylko tam, gdzie jest to konieczne, aby uniknąć nadmiernego komplikowania stylów i zapewnić lepszą wydajność renderowania stron w przeglądarkach. Dodatkowo, używając właściwości 'color', możemy definiować sposób, w jaki kolor tekstu prezentuje się na stronie, co jest kluczowe dla tworzenia dostępnych i estetycznych interfejsów użytkownika.

Pytanie 13

Aby ułatwić dodawanie oraz modyfikowanie danych w tabeli, konieczne jest zdefiniowanie

A. filtru.
B. zapytania SELECT.
C. sprawozdania.
D. formularza.
Formularz jest istotnym narzędziem w bazach danych, które umożliwia użytkownikom łatwe wprowadzanie oraz edytowanie danych. Zapewnia on przejrzysty interfejs, który jest bardziej przyjazny dla użytkownika niż bezpośrednia interakcja z tabelą. Tworząc formularz, można dostosować pola do specyficznych danych, co pozwala na walidację wprowadzanych informacji oraz ich formatowanie, co czyni proces bardziej intuicyjnym. Na przykład, formularze mogą zawierać różne typy pól, takie jak pola tekstowe, rozwijane listy czy przyciski wyboru, co zwiększa elastyczność w wprowadzaniu danych. Ponadto, formularze mogą być powiązane z odpowiednimi tabelami w bazie danych, co umożliwia automatyczne przetwarzanie danych po ich wprowadzeniu. Dzięki zastosowaniu formularzy, organizacje mogą znacznie przyspieszyć proces zbierania danych oraz zminimalizować błędy, co jest szczególnie istotne w środowiskach wymagających dużej precyzji i efektywności. Programy takie jak Microsoft Access czy Google Forms oferują możliwości tworzenia formularzy, które są zgodne z najlepszymi praktykami w zakresie zbierania danych.

Pytanie 14

W bazie danych znajduje się tabela artykuły z kolumnami: nazwa, typ, producent, cena. Jakie polecenie należy użyć, aby wyświetlić wszystkie nazwy artykułów tylko o typie pralka, których cena mieści się w przedziale od 1000 PLN do 1500 PLN?

A. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena BETWEEN 1000 AND 1500
B. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena FROM 1000 TO 1500
C. SELECT nazwa FROM artykuły WHERE typ='pralka' OR cena BETWEEN 1000 AND 1500
D. SELECT nazwa FROM artykuły WHERE typ='pralka' OR cena BETWEEN 1000 OR 1500
Jak chcesz wyciągnąć nazwy artykułów tylko dla pralek, które kosztują między 1000 a 1500 PLN, to musisz użyć polecenia SELECT z dobrymi warunkami. W SQL klauzula WHERE jest właśnie do tego, żeby określić, jakie dane chcesz wyciągnąć z tabeli. Ważne, żeby użyć operatora AND, bo musisz połączyć dwa warunki: typ musi być 'pralka', a cena musi mieścić się w tym przedziale. W tym wypadku operator BETWEEN będzie najlepszy, bo pozwala łatwo ustawić zakres wartości bez zawirowań z innymi operatorami. Takie zapytanie: SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena BETWEEN 1000 AND 1500, zwróci wszystkie nazwy, które spełniają te kryteria. Dzięki BETWEEN masz pewność, że dolna i górna granica też są uwzględniane, co jest zgodne z zasadami SQL, a to z kolei sprawia, że przeszukiwanie danych jest efektywne. Dzięki temu zapytaniu dostajesz dokładne wyniki, co w zarządzaniu bazą danych jest mega ważne.

Pytanie 15

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. klawiatury został naciśnięty
B. myszki został zwolniony
C. klawiatury został zwolniony
D. myszki został naciśnięty
Zdarzenie onKeydown w JavaScript jest wywoływane, gdy użytkownik naciśnie klawisz na klawiaturze. To fundamentalne zdarzenie jest często wykorzystywane w aplikacjach webowych do obsługi interakcji użytkowników, takich jak wprowadzanie danych czy nawigacja po formularzach. W momencie naciśnięcia klawisza, przeglądarka emituje to zdarzenie, co pozwala programistom na reagowanie na konkretne akcje. Na przykład, jeśli chcemy stworzyć prostą grę opartą na ruchu postaci, możemy wykorzystać onKeydown do wykrywania klawiszy strzałek i poruszania postacią w odpowiednich kierunkach. Warto również zauważyć, że onKeydown różni się od onKeyup, które jest wywoływane, gdy klawisz jest zwolniony, co ma znaczenie w przypadku obsługi sekwencji klawiszy oraz klawiszy modyfikujących, takich jak Shift czy Ctrl. Zrozumienie tych różnic jest kluczowe dla tworzenia responsywnych i interaktywnych aplikacji webowych, zgodnych z najlepszymi praktykami programowania.

Pytanie 16

Co należy zrobić, gdy rozmiar pliku graficznego jest zbyt duży do umieszczenia w Internecie?

A. zmniejszyć jego rozdzielczość
B. zwiększyć jego głębię kolorów
C. zapisać w formacie BMP
D. dodać kanał alfa
Zmniejszenie rozdzielczości pliku graficznego to jedna z najskuteczniejszych metod redukcji jego rozmiaru, co jest kluczowe przy publikacji w Internecie. Rozdzielczość odnosi się do ilości pikseli, które tworzą obraz, a jej zmniejszenie prowadzi do mniejszej ilości danych do przechowania. Przykładowo, zamiast publikować obraz o rozdzielczości 4000x3000 pikseli, można zmniejszyć go do 1920x1080, co drastycznie zmniejszy wielkość pliku bez zauważalnej utraty jakości wizualnej na ekranach komputera czy urządzeń mobilnych. Zmniejszenie rozdzielczości jest zgodne z najlepszymi praktykami w zakresie optymalizacji zasobów internetowych, w tym zasadami dotyczącymi czasu ładowania strony i wydajności. Dodatkowo, odpowiednia rozdzielczość może poprawić doświadczenia użytkowników, zmniejszając czas ładowania i zwiększając responsywność witryn. Warto również pamiętać o formatowaniu plików graficznych, gdzie JPEG jest często preferowanym formatem dla zdjęć, a PNG dla obrazów z przezroczystością. Stosowanie technologii takich jak responsywne obrazy również przyczynia się do efektywnej prezentacji graficznej w sieci, co ma kluczowe znaczenie w dzisiejszym świecie online.

Pytanie 17

Jak powinna wyglądać odpowiednia sekwencja procesów przetwarzania dźwięku z analogowego na cyfrowy?

A. kwantyzacja, próbkowanie, kodowanie
B. próbkowanie, kwantyzacja, kodowanie
C. próbkowanie, kodowanie, kwantyzacja
D. kwantyzacja, kodowanie, próbkowanie
Wybór niepoprawnych odpowiedzi pokazuje, że pewnie nie do końca zrozumiałeś, jak te procesy przetwarzania dźwięku powinny przebiegać. Pierwszy błąd to pominięcie jednego z kluczowych kroków, co może mylić, bo nie jest jasne, jak właściwie przekształcamy sygnał analogowy w cyfrowy. Jeśli byś kodował dane przed kwantyzacją, to mogłoby to zniekształcić informacje przez brak zaokrągleń, co sprawiłoby, że dane nie oddają oryginału. Z kolei, jeśli nie rozumiesz, że kwantyzacja ma być po próbkowaniu, to może się wydawać, że dźwięk przechodzi w formę cyfrową w dziwny sposób. W efekcie, może się zdarzyć, że nie oddasz właściwego zakresu dynamiki, co znacznie pogorszy jakość dźwięku. Może być tak, że dźwięk będzie zniekształcony albo straci ważne szczegóły, przez co będzie trudny do słuchania. Fajnie by było, żebyś lepiej zrozumiał te procesy, bo są mega ważne dla każdego, kto działa w inżynierii dźwięku lub produkcji muzycznej.

Pytanie 18

Jakie są prawidłowe kroki w kolejności, które należy podjąć, aby nawiązać współpracę między aplikacją internetową działającą na serwerze a bazą SQL?

A. wybór bazy danych, nawiązanie połączenia z serwerem baz danych, zapytanie do bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
B. wybór bazy, zapytanie do bazy, nawiązanie połączenia z serwerem baz danych, wyświetlenie na stronie WWW, zamknięcie połączenia
C. nawiązanie połączenia z serwerem baz danych, wybór bazy, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
D. zapytanie do bazy, wybór bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
Wybór odpowiedzi numer 2 jest prawidłowy, ponieważ idealnie odzwierciedla właściwą kolejność działań niezbędnych do nawiązania współpracy między aplikacją webową a bazą danych SQL. Proces zaczyna się od nawiązania połączenia z serwerem baz danych. To kluczowy krok, ponieważ bez aktywnego połączenia z serwerem nie można wykonać żadnych operacji na bazie danych. Następnie następuje wybór bazy, co umożliwia aplikacji określenie, na której bazie danych będzie pracować. Po wybraniu odpowiedniej bazy, można formułować zapytania SQL w celu pobrania lub modyfikacji danych. Ostatnim krokiem jest wyświetlenie wyników na stronie WWW, co pozwala użytkownikowi na interakcję z danymi. Po zakończeniu wszystkich operacji, należy zamknąć połączenie z serwerem bazy danych, co jest standardową praktyką, zapewniającą zwolnienie zasobów i zwiększenie bezpieczeństwa aplikacji. Stosowanie się do tej sekwencji działań jest zgodne z najlepszymi praktykami w programowaniu aplikacji webowych oraz zarządzaniu bazami danych.

Pytanie 19

Nazywa się inaczej nasycenie koloru

A. przezroczystość koloru
B. jasność koloru
C. nasycenie koloru
D. dopełnienie koloru
Zrozumienie koncepcji nasycenia koloru jest kluczowe w kontekście analizy odpowiedzi na to pytanie. Wiele osób myli saturację z innymi właściwościami kolorów, takimi jak przezroczystość, dopełnienie czy jasność. Przezroczystość koloru odnosi się do tego, jak wiele światła przechodzi przez dany kolor, a nie do jego intensywności. Kolory przezroczyste są często stosowane w warstwach grafiki komputerowej, ale nie mają one bezpośredniego związku z nasyceniem. Dopełnienie koloru dotyczy relacji między kolorami, które znajdują się naprzeciwko siebie na kole kolorów, a nie miary intensywności. Niekiedy twórcy kolorów popełniają błąd, uważając dopełnienie za nasycenie, co prowadzi do nieodpowiednich kombinacji i kompozycji w projektach. Jasność koloru, z kolei, odnosi się do jego jasności lub ciemności, co również nie jest równoznaczne z nasyceniem. Osoby zajmujące się projektowaniem powinny być świadome, że jasne kolory mogą być nasycone lub stonowane, w zależności od ich czystości. Ogólnie rzecz biorąc, mylenie tych terminów może prowadzić do frustracji w pracy kreatywnej i negatywnie wpływać na jakość końcowego produktu. Zrozumienie różnicy między tymi właściwościami jest kluczowe, aby uniknąć takich pułapek i osiągnąć zharmonizowane i profesjonalne rezultaty w projektach graficznych.

Pytanie 20

Aby ustalić wysokość grafiki wyświetlanej na stronie internetowej, należy użyć właściwości CSS o nazwie

A. margin
B. width
C. height
D. padding
Odpowiedź 'height' jest prawidłowa, ponieważ właściwość CSS o tej nazwie bezpośrednio określa wysokość elementu na stronie internetowej. Używając 'height', możemy zdefiniować wartość w pikselach, procentach lub innych jednostkach miary, co pozwala na precyzyjne dostosowanie wyglądu elementów do wymagań projektu. Na przykład, zdefiniowanie wysokości obrazka jako 'height: 200px;' sprawi, że obrazek zawsze będzie miał 200 pikseli wysokości, niezależnie od jego oryginalnych wymiarów. Dobrą praktyką jest również używanie wartości procentowych, które pozwalają na responsywne projektowanie, dostosowujące się do różnych rozmiarów ekranu. Ponadto, warto wspomnieć o zastosowaniu 'min-height' i 'max-height', które umożliwiają kontrolowanie minimalnych i maksymalnych wymiarów elementów, co jest pomocne w tworzeniu elastycznych i estetycznych układów stron. Ponadto, definiując wysokość obrazków, warto pamiętać o zachowaniu proporcji poprzez odpowiednie użycie również właściwości 'width'.

Pytanie 21

Testy związane ze skalowalnością aplikacji mają na celu zweryfikowanie, czy program

A. jest właściwie opisany w dokumentacji
B. jest w stanie funkcjonować przy zaplanowanym i większym obciążeniu
C. jest chroniony przed nieautoryzowanymi działaniami, np. dzieleniem przez zero
D. posiada odpowiednie funkcje
Wybór odpowiedzi dotyczącej funkcjonalności aplikacji lub zabezpieczeń przed niepożądanymi operacjami, jak dzielenie przez zero, jest nieprawidłowy w kontekście testów skalowalności. Funkcjonalność, choć istotna, nie odnosi się bezpośrednio do tego, jak aplikacja radzi sobie z wzrastającym obciążeniem. Oprogramowanie może być w pełni funkcjonalne, ale jeśli nie jest w stanie sprostać zwiększonej liczbie użytkowników, nie może być uznane za skalowalne. Zabezpieczenia przed błędami, takimi jak dzielenie przez zero, dotyczą stabilności aplikacji, ale nie definiują jej zdolności do działania pod dużym obciążeniem. W kontekście obliczeń i operacji, programiści powinni zajmować się obsługą wyjątków, co jest oddzielnym zagadnieniem od skalowalności. Odpowiednia dokumentacja ma znaczenie w kontekście utrzymania i rozwoju oprogramowania, ale także nie odnosi się do problematyki wydajności i obciążenia. W rzeczywistości, wiele aplikacji pomimo dobrych praktyk w zakresie zabezpieczeń i dokumentacji, może przestać działać w przypadku nadmiernego obciążenia, co wskazuje na brak właściwej architektury skalowalnej. Zrozumienie różnicy między tymi aspektami jest kluczowe dla inżynierów oprogramowania i projektantów systemów.

Pytanie 22

Który z elementów relacyjnej bazy danych, zapisany w języku SQL, może być wykorzystany w zapytaniach modyfikujących kolumny danych udostępnione jako tabela, niezależnie od tego, czy jest stworzony programowo, czy dynamicznie?

A. Zasada
B. Procedura składowa
C. Funkcja zdefiniowana
D. Trigger
Kiedy analizujemy inne obiekty bazy danych, takie jak reguły, wyzwalacze i procedury składowe, możemy zidentyfikować, dlaczego nie są one odpowiednie w kontekście tego pytania. Reguły w SQL są używane do automatyzacji modyfikacji zapytań, ale ich zastosowanie jest ograniczone i rzadko używane w nowoczesnych bazach danych. Reguły są rzeczywiście często pomijane w nowoczesnych implementacjach ze względu na ich złożoność oraz ograniczenia w stosowaniu. Wyzwalacze natomiast są mechanizmami, które automatycznie wywołują się w odpowiedzi na określone zdarzenia w bazie danych, takie jak dodawanie, aktualizacja lub usuwanie rekordów. Choć mogą modyfikować dane, to nie są one wywoływane bezpośrednio przez zapytania, a raczej jako odpowiedź na zdarzenia, co czyni je mniej elastycznymi w kontekście bezpośrednich zapytań. Procedury składowe są kolejnym typem obiektu bazy danych, które mogą implementować złożoną logikę, jednak są one zazwyczaj wywoływane jako całość i nie mogą być używane w kontekście zapytań modyfikujących dane, jak to ma miejsce w przypadku funkcji zdefiniowanej. Zatem w kontekście elastyczności i modułowości w modyfikacjach danych, funkcje zdefiniowane pozostają najodpowiedniejszym rozwiązaniem.

Pytanie 23

Na podstawie fragmentu dokumentu HTML, określ co należy wpisać w miejsce kropek w odnośniku w menu, aby przenosił on do rozdziału 2.

Fragment menu
<a ...>Rozdział 2</a>

Fragment dalej w dokumencie
<h1 id="r2" name="sekcja2" class="rozdzial2">Rozdział 2<h1>
A. href = "r2"
B. href = "sekcja2"
C. href = "#r2"
D. href = "#sekcja2"
Niestety, Twoja odpowiedź nie jest prawidłowa. Prawidłowa odpowiedź 'href="#r2"' odwołuje się do identyfikatora (id) 'r2' na tej samej stronie. W HTML, atrybut 'href' w tagu 'a' służy do określenia miejsca docelowego odnośnika. Przed identyfikatorem umieszcza się znak '#', który informuje przeglądarkę, że ma poszukać elementu z danym 'id' na tej samej stronie. Błędy w niepoprawnych odpowiedziach wynikają z pominięcia znaku '#' lub zastosowania nieprawidłowego identyfikatora. Pamiętaj, że identyfikator powinien być unikalny dla każdego elementu na stronie i powinien być używany w odnośniku dokładnie w takiej samej formie. W przypadku 'href="r2"' i 'href="sekcja2"', pominięto znak '#', co sprawia, że przeglądarka będzie szukać zasobu o podanej ścieżce, a nie identyfikatora na tej samej stronie. 'href="#sekcja2"' zawiera niepoprawny identyfikator, który nie istnieje na stronie. Kluczowe jest zrozumienie, jak działają identyfikatory i jaki mają wpływ na nawigację na stronie.

Pytanie 24

Zawarty blok ilustruje proces

Ilustracja do pytania
A. wykorzystania zdefiniowanej procedury lub funkcji
B. realizacji zadania w pętli
C. odczytu lub prezentacji danych
D. podjęcia decyzji
Wczytywanie lub wyświetlanie danych nie jest poprawnie reprezentowane przez romb w diagramach przepływu sterowania ponieważ te procesy zazwyczaj są liniowe i deterministyczne co oznacza że nie wymagają oceny warunków ani podejmowania decyzji W schematach blokowych wczytywanie lub wyświetlanie danych jest często przedstawiane przez inne symbole jak paralelogram który jednoznacznie wskazuje na operacje wejścia-wyjścia Zastosowanie gotowej procedury lub funkcji również nie jest zgodne z ideą rombu ponieważ procedury i funkcje są zazwyczaj wywoływane w sposób bezwarunkowy i nie wymagają oceny warunkowej Proces ten może być reprezentowany przez prostokąt symbolizujący wykonanie bloku kodu Wykonanie zadania w pętli podobnie jak wywołanie funkcji wymaga innego podejścia do symbolizacji Zwykle wykonanie zadania w pętli jest reprezentowane przez połączenie kilku symboli gdzie romb może występować jako część warunku przerywającego pętlę lub określającego jej kontynuację jednak sam fakt wykonania zadania w pętli nie jest bezpośrednio związany z podejmowaniem decyzji podejmowane decyzje są raczej częścią bardziej złożonej logiki kontrolnej Stąd błędne zaklasyfikowanie tych procesów do grupy zadań decyzyjnych wynika z niezrozumienia roli poszczególnych elementów diagramów przepływu sterowania i ich zastosowania w strukturze programu

Pytanie 25

Jakiego wyniku można się spodziewać po wykonaniu zapytania na przedstawionej tabeli?

SELECTCOUNT(DISTINCT wykonawca)
FROM`muzyka`;
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. 1
B. 0
C. 3
D. 4
Zapytanie SELECT COUNT(DISTINCT wykonawca) FROM muzyka; ma na celu zliczenie unikalnych wykonawców w tabeli muzyka. Kluczowym błędem jest brak zrozumienia działania funkcji DISTINCT która eliminuje duplikaty i pozwala na zliczenie jedynie różniących się wartości. Należy zatem odrzucić wszelkie odpowiedzi sugerujące liczbę większą niż 3 ponieważ w tabeli są obecne tylko trzy unikalne wartości w kolumnie wykonawca: Czesław Niemen Stan Borys oraz Mikołaj Czechowski. Często popełnianym błędem jest mylne założenie że każda unikalna wartość w konkretnej kolumnie powinna być liczona wielokrotnie co odbiega od celu analizy unikalności danych. W kontekście administracji bazami danych i analizy SQL zrozumienie funkcji DISTINCT jest kluczowe dla dokładności raportowania i optymalizacji wydajności zapytań. Wiedza o tym jak działa COUNT w połączeniu z DISTINCT pomaga w skutecznym projektowaniu zapytań w celu uzyskania dokładnych wyników. Zastosowanie tej wiedzy jest niezbędne w analizie danych biznesowych i przy tworzeniu precyzyjnych raportów dla różnych interesariuszy. Poprawne zrozumienie i implementacja tego mechanizmu wspiera efektywne zarządzanie danymi i podejmowanie decyzji opartych na faktach. Przygotowanie do egzaminu powinno obejmować praktyczne zastosowanie tych koncepcji co ułatwi ich intuicyjne wykorzystanie w sytuacjach zawodowych.

Pytanie 26

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. w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5
B. zmienna i w pętli powinna być rozpoczynana od 0, a nie od 1
C. zmienna i pętli powinna być zmniejszana, a nie zwiększana
D. zmienna a powinna być początkowo ustawiona na 0 zamiast 1
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 27

W CSS przypisano regułę: float: left; dla elementu blokowego. Jakie będzie jej zastosowanie?

A. ustawienia bloku na lewo w stosunku do innych
B. wyrównania elementów tabeli do lewej strony
C. wyrównania tekstu do lewej strony
D. układania bloków jeden pod drugim
Pierwsza z niepoprawnych odpowiedzi sugeruje, że reguła 'float: left;' ma na celu wyrównanie tekstu do lewej strony. W rzeczywistości, float nie wpływa na wyrównanie tekstu, lecz na pozycjonowanie elementów blokowych. Wyrównanie tekstu do lewej strony osiąga się za pomocą właściwości 'text-align', a nie float. Kolejna odpowiedź sugeruje, że float ustawia bloki jeden pod drugim. W rzeczywistości, float powoduje, że elementy są ustawiane obok siebie w poziomie, a nie w pionie. Ustawienie elementów jeden pod drugim jest osiągane poprzez standardowy przepływ dokumentu lub właściwości takie jak 'display: block'. Ostatnia niepoprawna odpowiedź odnosi się do wyrównania elementów tabeli do lewej strony. W przypadku tabel CSS float nie jest najlepszym podejściem, ponieważ elementy tabeli mają swoje własne mechanizmy układu, a wyrównanie w tabelach powinno być zarządzane przy użyciu właściwości CSS 'text-align' dla komórek tabeli. Użycie float w kontekście tabeli może prowadzić do nieprzewidywalnych wyników, a zatem jest to podejście niewłaściwe w tym przypadku.

Pytanie 28

W CSS zapis

a[target="_blank"] {color: yellow;}
spowoduje, że tekst linków przybierze kolor żółty.
A. wszystkich linków.
B. linków, które otwierają się w nowej karcie.
C. treści akapitu.
D. linków, które otwierają się w tej samej karcie.
Odpowiedzi sugerujące, że kolor żółty dotyczy 'wszystkich odnośników', 'tekstu paragrafu' lub 'odnośników, które otwierają się w tej samej karcie' są błędne z kilku powodów. Po pierwsze, selektor CSS 'a[target="_blank"]' jest specyficzny dla odnośników, które otwierają się w nowej karcie, a więc nie obejmuje on wszystkich odnośników. Każdy odnośnik zdefiniowany w HTML jako <a> może mieć różne cele, a atrybut 'target' odgrywa kluczową rolę w tym, jak te odnośniki są obsługiwane przez przeglądarkę. Po drugie, nie istnieje możliwość, aby tekst paragrafu był objęty tym selektorem, ponieważ jest on dedykowany wyłącznie linkom. Warto pamiętać, że CSS służy do stylizacji elementów HTML, a nie do zachowania ich struktury semantycznej. Kolejną nieprawidłową koncepcją jest to, że kolor tekstu dotyczy odnośników otwierających się w tej samej karcie, ponieważ żaden z tych odnośników nie ma przypisanego atrybutu 'target="_blank"'. W praktyce, ważne jest, aby dobrze rozumieć selektory CSS oraz ich zastosowanie, co pozwoli na bardziej precyzyjne projektowanie interfejsów użytkownika oraz zapewnienie lepszej użyteczności i dostępności stron internetowych.

Pytanie 29

Aby sformatować wszystkie obrazy w akapicie przy użyciu stylów CSS, należy zastosować selektor

A. p + img
B. p img
C. p.img
D. p # img
Żeby odpowiednio sformatować wszystkie obrazki w akapicie za pomocą CSS, najlepiej użyć selektora 'p img'. Ten selektor działa na wszystkie obrazki <img>, które są bezpośrednio w akapitach. Po prostu chodzi o to, że styl będzie zastosowany tylko do tych obrazków, które są w <p>. Na przykład, jeśli mamy coś takiego: <p><img src='obraz.jpg' alt='Obraz'></p>, to dzięki 'p img' w CSS możemy ustawić ich szerokość na 100% i dodać marginesy. Takie podejście świetnie działa w responsywnym projektowaniu. Warto też pamiętać o dostępności i SEO, dlatego dobrze by było dodać atrybuty alt do każdego obrazka. Używanie selektorów CSS w ten sposób jest zgodne z praktykami W3C, więc nasz kod będzie bardziej czytelny i łatwiejszy w utrzymaniu.

Pytanie 30

W formularzu zdefiniowano kontrolki do wpisania imienia i nazwiska. Który atrybut reprezentuje podpowiedź umiejscowioną w polu kontrolki, znikającą w momencie, gdy użytkownik rozpocznie wpisywanie wartości?

<label for="imie">Imię: </label>
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. for
B. value
C. title
D. placeholder
Wybrałeś niepoprawną odpowiedź. Atrybut 'placeholder' w elemencie input HTML jest używany do wyświetlania podpowiedzi wewnątrz pola formularza, która znika, gdy użytkownik zaczyna wpisywanie danych. Inne atrybuty, takie jak 'title', 'value' i 'for', mają inne zastosowania. Atrybut 'title' służy do dodawania etykietki wyświetlanej po najechaniu kursorem na element, a nie do wyświetlania podpowiedzi w polu formularza. Atrybut 'value' określa domyślną wartość pola formularza, a nie podpowiedź dla użytkownika. Wreszcie, atrybut 'for' jest używany do powiązania etykiety z konkretnym polem input, a nie do wyświetlania podpowiedzi. Pamiętaj, że ważne jest zrozumienie, do czego służy każdy atrybut, aby móc skutecznie tworzyć interaktywne formularze HTML.

Pytanie 31

Aby móc edytować nakładające się na siebie pojedyncze fragmenty grafiki, przy zachowaniu niezmienności pozostałych elementów, powinno się zastosować

A. histogram
B. kadrowanie
C. kanał alfa
D. warstwy
Wykorzystanie warstw w edytorach graficznych, takich jak Adobe Photoshop czy GIMP, pozwala na wydajne zarządzanie i edytowanie poszczególnych fragmentów obrazu. Warstwy umożliwiają oddzielne manipulowanie elementami, co jest niezwykle istotne, gdy chcemy edytować część obrazu bez wpływania na jego pozostałe elementy. Przykładowo, podczas pracy nad projektem graficznym możemy na jednej warstwie umieścić tekst, na innej obrazek, a na trzeciej tło. Dzięki temu edytując jedną z warstw, pozostałe pozostają nietknięte. Istotnym aspektem pracy z warstwami jest ich hierarchia, która pozwala na ustalanie porządku wyświetlania – warstwy wyższe w hierarchii przykrywają te niższe. Warstwy są również wykorzystywane do tworzenia efektów takich jak przezroczystość czy cienie, co zwiększa głębię i atrakcyjność wizualną projektu. W branży graficznej stosowanie warstw stało się najlepszą praktyką, ponieważ zwiększa elastyczność pracy i ułatwia wprowadzanie poprawek bez ryzyka utraty danych oryginalnych.

Pytanie 32

input:focus { background-color: LightGreen; } W Ciebie CSS określono stylizację dla pola wejściowego. Tak przygotowane pole wejściowe będzie miało tło w odcieniu jasnozielonym?

A. w każdej sytuacji
B. po naciśnięciu przycisku myszy w celu wprowadzenia tekstu
C. kiedy zostanie najechane kursorem myszy bez jego klikania
D. jeżeli jest to pierwsza obecność tego elementu w dokumencie
Odpowiedzi, które wskazują na inne stany pól edycyjnych, nie są zgodne z definicją pseudoklasy :focus w CSS. Stan :focus jest aktywowany wyłącznie w momencie, gdy użytkownik klika w pole edycyjne lub przemieszcza się do niego za pomocą klawiatury (np. poprzez naciśnięcie klawisza Tab). Odpowiedzi takie jak 'gdy zostanie wskazane kursorem myszy bez kliknięcia' pomijają kluczowy element aktywacji, którym jest kliknięcie lub nawigacja za pomocą klawiatury. Wskazanie kursorem nie generuje stanu :focus, chyba że użytkownik rzeczywiście kliknie w pole. Z kolei stwierdzenie, że :focus dotyczy 'pierwszego wystąpienia tego znacznika w dokumencie', jest mylne, ponieważ stan :focus jest niezależny od lokalizacji elementu w DOM (Document Object Model) i odnosi się do konkretnego elementu, który jest aktualnie aktywny, a nie jego położenia. Odpowiedź 'w każdym przypadku' jest również niepoprawna, gdyż stan :focus jest aktywowany tylko w konkretnych okolicznościach, a nie zawsze. Takie błędne zrozumienie może prowadzić do problemów z użytecznością interfejsów użytkownika, ponieważ użytkownicy mogą nie otrzymywać właściwych wskazówek dotyczących aktywnych pól, co w konsekwencji obniża komfort korzystania z aplikacji. Kluczowe jest zrozumienie, że :focus jest jednym z wielu stanów, które mogą być zastosowane w CSS, co podkreśla znaczenie precyzyjnego definiowania interakcji w projektowaniu stron internetowych.

Pytanie 33

Czynnością polegającą na przetwarzaniu grafiki rastrowej na wektorową jest

A. kadrowanie.
B. wektoryzacja.
C. rasteryzacja.
D. skalowanie.
Poprawna odpowiedź to wektoryzacja, bo właśnie tak nazywa się proces zamiany obrazu rastrowego (zbudowanego z pikseli) na grafikę wektorową (opartą na krzywych, liniach i figurach matematycznych). W grafice komputerowej to dość kluczowe pojęcie. Obraz rastrowy, np. JPG z aparatu czy PNG z internetu, ma określoną rozdzielczość i po mocnym powiększeniu zaczyna się „pixeloza”. Natomiast grafika wektorowa (SVG, AI, EPS, CDR) jest opisana matematycznie, więc można ją skalować praktycznie bez utraty jakości. Wektoryzacja polega na analizie kształtów w obrazie rastrowym i zamianie ich na obiekty wektorowe: ścieżki, krzywe Béziera, wielokąty. Może być ręczna (rysujemy po śladzie w programie typu Adobe Illustrator, CorelDRAW, Inkscape) albo automatyczna, np. funkcją „Image Trace” czy „Przekształć na krzywe”. W praktyce używa się tego np. gdy klient przynosi rozmazane logo w JPG, a drukarnia potrzebuje pliku wektorowego do druku wielkoformatowego, grawerowania laserem czy wycinania ploterem. Z mojego doświadczenia wektoryzacja jest też ważna przy projektowaniu ikon, piktogramów, infografik na strony WWW – zapis w SVG jest lekki, dobrze się skaluje na różne ekrany i jest zgodny z dobrymi praktykami front-endu. Warto pamiętać, że wektoryzacja nie „magicznie” poprawia jakości zdjęcia, tylko zamienia je w inny typ reprezentacji, najlepiej sprawdza się przy prostych kształtach, logotypach, rysunkach technicznych, nie przy skomplikowanych fotografiach.

Pytanie 34

W języku Javascript obiekt typu array jest używany do przechowywania

A. wielu wartości różnych typów
B. wielu wartości lub metod
C. wielu wartości jedynie liczbowych
D. wielu wartości jedynie tekstowych
Wielu programistów mogą zmylić ograniczenia dotyczące typów danych w JavaScript, co prowadzi do błędnych wniosków na temat możliwości tego języka. Nieprawidłowe odpowiedzi sugerują, że tablice w JavaScript mogą przechowywać tylko jednorodne typy danych, takie jak wyłącznie tekstowe lub wyłącznie liczbowe wartości. Takie podejście jest ograniczone i nie uwzględnia elastyczności, jaką oferuje JavaScript. Obiekty array w tym języku są projektowane w taki sposób, aby umożliwić przechowywanie różnych typów danych w jednej tablicy, co jest kluczowe dla nowoczesnego programowania. Przykładem może być tablica, która zawiera zarówno liczby, jak i obiekty, co umożliwia tworzenie bardziej złożonych struktur danych. Często spotykanym błędem jest mylenie tablic z innymi strukturami danych, które wymuszają jednolitość typów, jak np. tablice w języku Java. Właściwe zrozumienie typów danych oraz ich właściwości w JavaScript jest niezbędne dla efektywnego kodowania oraz unikania pułapek związanych z typowymi błędami myślowymi, które mogą prowadzić do długotrwałych trudności w utrzymaniu kodu.

Pytanie 35

Zapis w CSS `h2 {background-color: green;}` spowoduje, że kolor zielony będzie dotyczył

A. tła całej witryny
B. czcionki wszystkich nagłówków na stronie
C. czcionki nagłówków drugiego poziomu
D. tła tekstu nagłówka drugiego poziomu
Zapis CSS 'h2 {background-color: green;}' ustawia styl dla nagłówków drugiego stopnia. Dzięki właściwości 'background-color' tło nagłówka zrobi się zielone, co oznacza, że obszar za tekstem tego nagłówka będzie miał kolor zielony. Ważne, żeby pamiętać, że to działa tylko na tło samego nagłówka, a nie na całą stronę. Na przykład, jeśli w elemencie h2 jest tekst 'Witamy na naszej stronie', to tło tego nagłówka dostaje zielony kolor. To podejście jest zgodne z CSS, które pozwala na precyzyjne stylizowanie różnych elementów w dokumencie. Można też używać różnych trybów kolorów jak RGB, HEX czy HSL, co daje jeszcze większe możliwości w projektowaniu.

Pytanie 36

Głównym celem systemu CMS jest oddzielenie treści serwisu informacyjnego od jego wizualnej formy. Ten efekt osiągany jest przez generowanie zawartości

A. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
B. z plików HTML o stałej zawartości oraz wizualizacji z użyciem ustalonego szablonu
C. z plików HTML o stałej zawartości oraz wizualizacji przy pomocy technologii FLASH
D. z bazy danych oraz wizualizacji poprzez atrybuty HTML
Wybór odpowiedzi, która sugeruje wykorzystanie ze statycznych plików HTML, jest w istocie niezgodny z ideą systemów CMS. stosowanie statycznych plików HTML oznacza, że każda zmiana treści serwisu wymagałaby ręcznej edycji plików, co jest czasochłonne i podatne na błędy. Takie podejście ogranicza elastyczność i możliwość szybkiej aktualizacji treści. Z kolei odpowiedzi wskazujące na wykorzystanie technologii FLASH są przestarzałe, ponieważ Flash nie jest już wspierany przez większość nowoczesnych przeglądarek i nie spełnia wymogów dostępności, co stawia pod znakiem zapytania jego użyteczność w kontekście nowoczesnych stron internetowych. Ponadto, odpowiedzi sugerujące wykorzystanie atrybutów HTML do definiowania wyglądu również są niewłaściwe, ponieważ atrybuty HTML nie są wystarczające do efektywnego kształtowania i zarządzania stylem aplikacji. W praktyce do definiowania wyglądu stosuje się arkusze stylów CSS, a nie tylko atrybuty. W konsekwencji, błędne koncepcje opierające się na statycznych plikach czy przestarzałych technologiach prowadzą do sytuacji, w której serwis staje się trudny w utrzymaniu i mało elastyczny, co jest sprzeczne z głównymi zaletami systemów zarządzania treścią.

Pytanie 37

W diagramie ER powiązanie między dwoma zbiorami encji nazywamy

A. atrybutem.
B. krotką.
C. dziedziną.
D. związkiem.
W tym pytaniu łatwo pomylić kilka podstawowych pojęć z teorii baz danych, szczególnie jeśli ktoś kojarzy je tylko z praktyki SQL, a nie z modelu ER. W modelu encja‑związek interesuje nas opis świata rzeczywistego na wyższym poziomie abstrakcji. Zbiory encji to na przykład Pracownicy, Projekty, Produkty, a powiązania między nimi opisujemy właśnie jako związki. Natomiast „krotka” to pojęcie z modelu relacyjnego, czyli z poziomu tabel. Krotka to po prostu pojedynczy wiersz w tabeli, jeden rekord zawierający konkretne wartości atrybutów. Ktoś może intuicyjnie pomyśleć, że skoro wiersz „łączy” wartości atrybutów, to jest jakimś powiązaniem, ale to zupełnie inny poziom opisu: krotka nie jest relacją między zbiorami encji, tylko instancją danych w jednym zbiorze. „Dziedzina” z kolei to zbiór dopuszczalnych wartości dla atrybutu, na przykład dziedzina dla kolumny wiek może być liczbą całkowitą z określonego przedziału, a dla kolumny email – tekstem spełniającym pewien wzorzec. Dziedzina opisuje typ i zakres danych, ale nie opisuje tego, jak tabele czy encje są ze sobą powiązane. Częsty błąd polega na wrzucaniu do jednego worka wszystkich pojęć typu: tabela, rekord, pole, domena, relacja, atrybut, związek – a każde z nich ma dość konkretną definicję. „Atrybut” to po prostu cecha encji, coś w rodzaju kolumny w tabeli: imię, nazwisko, data_urodzenia, cena, ilość. Atrybut opisuje właściwości pojedynczego obiektu, nie tworzy sam z siebie powiązania między zbiorami encji. Oczywiście atrybut może być kluczem obcym, czyli w modelu relacyjnym służyć do realizacji relacji, ale nadal jest to atrybut, a nie sam związek w sensie modelu ER. Z mojego doświadczenia wynika, że największy problem pojawia się, gdy miesza się poziom konceptualny (ER) z poziomem fizycznym (tabele SQL). Na diagramie ER powiązanie między dwoma zbiorami encji nazywamy właśnie związkiem i to ono określa typ relacji (1:1, 1:N, N:M), opcjonalność oraz reguły biznesowe. Dopiero później to powiązanie odwzorowujemy w postaci kluczy obcych, tabel pośredniczących i ograniczeń w konkretnej bazie danych. Dlatego poprawne rozróżnienie tych pojęć jest kluczowe przy profesjonalnym projektowaniu baz danych i zgodne z klasycznymi standardami modelowania danych, które stosuje się w poważnych projektach komercyjnych.

Pytanie 38

W programowaniu istnieje tylko jeden typ danych, który może przyjąć tylko dwie wartości. Jak nazywa się ten typ?

A. ciągowy
B. tablicowy
C. znakowy
D. logiczy
Wybór zmiennej łańcuchowej jako odpowiedzi jest błędny, ponieważ typ ten może przechowywać wiele różnych wartości w postaci sekwencji znaków. Łańcuchy znakowe są używane do reprezentacji tekstu, co czyni je znacznie bardziej złożonymi niż tylko dwie możliwości. Z kolei zmienna znakowa (char) również nie spełnia tego kryterium, gdyż pozwala na reprezentację pojedynczego znaku, a nie ogranicza się do dwóch specyficznych wartości. Typ tablicowy z kolei jest strukturą danych, która może przechowywać wiele elementów jednego typu, co również wykracza poza ograniczenia dwóch wartości. Typowe błędy myślowe prowadzące do takich wniosków to pomylenie typów danych z ich możliwościami przechowywania oraz funkcjami. Warto zrozumieć, że w programowaniu każdy typ zmiennej ma swoje specyficzne zastosowanie, a typ logiczny jest wyjątkowy w tym, że jego zastosowanie opiera się na prostocie i jednoznaczności w podejmowaniu decyzji. Zrozumienie tych różnic jest kluczem do efektywnego programowania oraz do tworzenia kodu, który jest nie tylko funkcjonalny, ale również łatwy do analizy i konserwacji w przyszłości.

Pytanie 39

Aby przekształcić tekst "ala ma psa" na "ALA MA PSA", konieczne jest zastosowanie funkcji w PHP

A. strstr('ala ma psa')
B. strtoupper('ala ma psa')
C. ucfirst('ala ma psa')
D. strtolower('ala ma psa')
Użycie funkcji strtolower('ala ma psa') prowadzi do błędnych rezultatów, bo ta funkcja zmienia wszystkie litery na małe. W tym pytaniu chcemy mieć cały tekst wielkimi literami, więc to jest totalnie nie na miejscu. Gdybyśmy chcieli znormalizować tekst do małych liter, to tak, wtedy miałoby to sens, na przykład przy wyszukiwaniu. Kolejna odpowiedź, strstr('ala ma psa'), też jest chybiona, bo ta funkcja służy do szukania części ciągu, a nie do modyfikacji liter. Można by tego użyć, żeby sprawdzić, czy konkretne słowo występuje w zdaniu, ale nie do zmiany rozmiaru liter. Ostatnia odpowiedź, ucfirst('ala ma psa'), działa tylko na pierwszą literę ciągu, więc też nie pasuje do tego, co pytanie chce osiągnąć. Ta funkcja jest super przy formatowaniu imion czy tytułów, ale nie w sytuacji, gdy potrzebujemy przekształcić całe zdanie. Takie nieporozumienia pokazują, że warto zrozumieć, które funkcje w PHP najlepiej pasują do danego celu, żeby uniknąć błędów w przyszłości.

Pytanie 40

Funkcja zapisana w języku PHP wygląda tak patrz ramka): Jej celem jest

Ilustracja do pytania
A. wypisanie liczby nieparzystej
B. zwrócenie wartości 1, gdy liczba jest parzysta
C. wypisanie liczby parzystej
D. zwrócenie wartości 0, gdy liczba jest parzysta
Funkcja w języku PHP jest zapisana w taki sposób że przyjmuje jeden argument liczba i sprawdza czy jest on parzysty. Używa operatora modulo % który zwraca resztę z dzielenia. Jeśli liczba podzielona przez 2 daje resztę równą 0 oznacza to że jest parzysta. W takim przypadku funkcja zwraca wartość 1. W przeciwnym razie czyli gdy liczba jest nieparzysta funkcja zwraca 0. Takie podejście jest częstym wzorcem w programowaniu gdyż pozwala na szybkie i efektywne sprawdzenie parzystości liczby. Stosowanie operatora modulo jest standardem w wielu językach programowania dzięki czemu kod jest zrozumiały i łatwo go przenieść między różnymi platformami. W praktyce takie funkcje mogą być używane w algorytmach gdzie konieczne jest filtrowanie danych na podstawie parzystości lub innych podobnych kryteriów. Dobre praktyki w kodowaniu w PHP obejmują również jasne nazywanie funkcji i zmiennych co poprawia czytelność i utrzymanie kodu. Można także zastanowić się nad rozszerzeniem funkcji o dodatkowe sprawdzania lub logikę w zależności od potrzeb projektu.