Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 11 maja 2026 08:28
  • Data zakończenia: 11 maja 2026 08:50

Egzamin zdany!

Wynik: 29/40 punktów (72,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

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

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

Pytanie 2

Wśród technik rozwiązywania problemów w przedsiębiorstwie znajdują się: ignorowanie, separacja, arbitraż oraz kompromis. Wskaż metodę, która szczególnie może być niebezpieczna i prowadzić do zaostrzenia konfliktu w firmie?

A. ignorowanie
B. separacja
C. kompromis
D. arbitraż
Odpowiedzią, która wskazuje na technikę szczególnie ryzykowną, jest ignorowanie. Ignorowanie problemów w firmie może prowadzić do ich eskalacji, ponieważ nie podejmowanie działań w sytuacjach konfliktowych często prowadzi do narastających napięć. Przykładowo, jeśli zespół projektowy ma niezgodności co do metodologii pracy, a kierownik postanowi to zignorować, różnice mogą się pogłębiać, prowadząc do braku współpracy i obniżenia morale. W praktyce, ignorowanie konfliktów jest jednym z najczęstszych błędów w zarządzaniu, co potwierdzają standardy zarządzania projektami, takie jak PMBOK, które zalecają aktywne podejście do rozwiązywania konfliktów. Ignorowanie problemów nie tylko wpływa na dynamikę zespołu, ale także może wpłynąć na wyniki finansowe organizacji, ponieważ niewłaściwe zarządzanie konfliktami może prowadzić do opóźnień w projektach oraz zwiększonych kosztów. Z tego względu kluczowe jest, aby menedżerowie i liderzy nie bagatelizowali konfliktów, lecz podejmowali działania w celu ich rozwiązania oraz wprowadzenia kultury otwartej komunikacji w zespole.

Pytanie 3

Które z pojęć programowania obiektowego w języku JavaScript odnosi się do dostępu do pól i metod jedynie z poziomu klasy, w której zostały one zadeklarowane?

A. static
B. private
C. const
D. public
Użycie słowa kluczowego 'const' w języku JavaScript odnosi się do deklaracji stałych, a nie do poziomu dostępu do pól i metod w klasach. 'const' pozwala na tworzenie zmiennych, których wartości nie mogą być zmieniane, co może prowadzić do nieporozumień w kontekście obiektowości. W rzeczywistości stałe są dostępne w zasięgu bloku, w którym zostały zadeklarowane, co nie ma związku z dostępem do pól i metod klas. Z kolei 'public' to słowo kluczowe, które oznacza, że pola i metody są dostępne z zewnątrz klasy, co stoi w kontraście do prywatnych elementów. Często programiści mylą te dwa podejścia, co prowadzi do błędów w projektowaniu systemów, które wymagają ukrycia implementacji. Dodatkowo, 'static' odnosi się do pól i metod, które są powiązane z klasą, a nie z instancją obiektu. Oznacza to, że takie elementy można wywoływać bez tworzenia instancji klasy. Jest to przydatne w sytuacjach, gdy nie zachodzi potrzeba operowania na danych instancji. Przy wyborze odpowiednich słów kluczowych kluczowe jest zrozumienie ich roli w kontekście obiektowym oraz ich wpływu na architekturę systemu. Dlatego warto przywiązywać wagę do technicznych niuansów, aby unikać typowych pułapek związanych z dostępem do danych.

Pytanie 4

W stylach CSS, aby ustalić styl linii obramowania jako linię kreskową, należy zastosować wartość

A. dashed
B. groove
C. solid
D. dotted
W stylach CSS, właściwość 'border-style' pozwala na określenie stylu obramowania elementu. Aby ustawić obramowanie jako linię kreskową, stosuje się wartość 'dashed'. Linia kreskowa jest jedną z opcji, które pozwalają na wizualne odróżnienie elementów na stronie internetowej. Wartość 'dashed' generuje obramowanie składające się z przerywanych linii, co czyni go idealnym do wyróżniania elementów, które wymagają uwagi lub są w pewien sposób odrębne. Przykład zastosowania: 'border: 2px dashed black;' tworzy obramowanie o grubości 2 pikseli, w kolorze czarnym, składające się z przerywanej linii. Wartości 'solid', 'dotted', oraz 'groove' oferują inne style obramowania, ale nie generują efektu linii kreskowej. 'Solid' tworzy jednolitą linię, 'dotted' składa się z kropek, a 'groove' daje efekt trójwymiarowego wgłębienia. Standardy CSS, w tym CSS3, precyzują te style, umożliwiając projektantom elastyczność w dostosowywaniu wyglądu stron internetowych, co jest kluczowe dla UX i UI designu.

Pytanie 5

Wskaż NIEPRAWIDŁOWY opis optymalizacji kodu wygenerowanego przez program

A. W celu przyspieszenia wykonania kodu przez procesor może być przeprowadzana na różnych etapach działania
B. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
C. Jej celem jest zwiększenie efektywności programu
D. Powinna prowadzić do zmiany kodu źródłowego w taki sposób, aby działał on szybciej
Optymalizacja kodu wynikowego programu to proces, który ma na celu poprawienie jego wydajności, a nie sprawdzenie zgodności z wymogami formalnymi. W praktyce oznacza to, że optymalizacja skupia się na zwiększeniu efektywności działania aplikacji poprzez różne techniki, takie jak eliminacja zbędnych operacji, zmniejszenie zużycia pamięci, czy też poprawa szybkości wykonywania kodu. Przykładem może być wykorzystanie algorytmów o lepszej złożoności czasowej, co przekłada się na szybsze działanie programów w praktycznych zastosowaniach, takich jak gry komputerowe czy aplikacje webowe. W branży programistycznej stosuje się różnorodne narzędzia i standardy, takie jak analizy profili, które pomagają w identyfikowaniu wąskich gardeł wydajnościowych. Dlatego ważne jest, aby zrozumieć, że optymalizacja to nie tylko poprawa działania programu, ale także dostosowanie go do określonych wymagań użytkowników i systemów, na których będzie uruchamiany.

Pytanie 6

Jaki jest efekt działania programu w JavaScript?

var osoba = prompt("Podaj imię", "Adam");
A. przypisanie do zmiennej osoba wartości "Adam"
B. uzyskanie z formularza wyświetlonego na stronie HTML imienia "Adam"
C. otwarcie okna z polem do edycji, w którym znajduje się domyślny tekst "Adam"
D. pojawi się okno z pustym polem do edycji
Funkcja prompt w JavaScript jest używana do wyświetlania okna dialogowego z polem edycyjnym pozwalającym użytkownikowi na wprowadzenie danych. W tym przypadku funkcja prompt przyjmuje dwa argumenty: pierwszy to komunikat wyświetlany użytkownikowi, a drugi to domyślna wartość w polu tekstowym. Kod var osoba = prompt('Podaj imię' 'Adam') otwiera okno dialogowe z tekstem Podaj imię i domyślnie wpisanym w polu tekstowym imieniem Adam. Domyślna wartość jest przydatna w sytuacjach gdzie chcemy zasugerować użytkownikowi pewne dane które mogą być dla niego odpowiednie lub często używane. Jest to wygodne rozwiązanie w aplikacjach internetowych pozwalające na szybkie i intuicyjne wprowadzanie danych przez użytkownika. Zastosowanie prompt jest przykładem interakcji między użytkownikiem a stroną internetową co jest kluczowym elementem dynamicznych aplikacji webowych. Ważne jest jednak by pamiętać że funkcja prompt może być blokowana w niektórych przeglądarkach dlatego jej użycie powinno być dobrze przemyślane i ewentualnie zastąpione bardziej nowoczesnymi rozwiązaniami takimi jak formularze HTML z odpowiednimi atrybutami i stylizacjami.

Pytanie 7

Elementem odpowiadającym imieniu Agata w zaprezentowanej tablicy JavaScript jest:

var Imiona = new Array('Anna','Joanna','Monika','Agata');
A. Imiona[4];
B. Imiona[3];
C. Imiona[Agata];
D. Imiona['Agata'];
Poprawna odpowiedź to Imiona[3], ponieważ w JavaScript indeksowanie tablicy zaczyna się od zera. Oznacza to, że pierwszy element tablicy Imiona to 'Anna' (Imiona[0]), drugi to 'Joanna' (Imiona[1]), trzeci to 'Monika' (Imiona[2]), a czwarty to 'Agata' (Imiona[3]). W kontekście programowania w JavaScript ważne jest, aby znać zasady indeksowania, co jest szczególnie istotne przy pracy z tablicami, ponieważ niewłaściwe indeksowanie może prowadzić do błędów, takich jak undefined. W praktyce, jeżeli chcemy uzyskać dostęp do konkretnego elementu tablicy, musimy użyć odpowiedniego indeksu. Ponadto, korzystanie z tablic w JavaScript jest powszechną praktyką, a zrozumienie ich mechanizmu pozwala na efektywne operowanie danymi. Należy również pamiętać o dobrych praktykach w programowaniu, takich jak stosowanie opisowych nazw zmiennych oraz komentowanie kodu, co zwiększa jego czytelność i zrozumienie dla innych programistów.

Pytanie 8

Formaty wideo, które są wspierane przez standard HTML5, to

A. Ogg, QuickTime
B. MP4, AVI
C. MP4, Ogg, WebM
D. Ogg, AVI, MPEG
Odpowiedź MP4, Ogg, WebM jest poprawna, ponieważ te trzy formaty wideo są oficjalnie obsługiwane przez standard HTML5, co oznacza, że są zgodne z różnymi przeglądarkami internetowymi bez potrzeby używania dodatkowych wtyczek. Format MP4, oparty na kontenerze MPEG-4, jest szeroko stosowany z uwagi na jego efektywność w kompresji oraz wysoką jakość obrazu i dźwięku. Ogg to otwarty format, który wspiera kodek VP8, co czyni go popularnym wśród projektów o otwartym oprogramowaniu. WebM, z kolei, jest również formatem otwartym, zoptymalizowanym dla wideo w Internecie, co czyni go dobrym wyborem dla zastosowań webowych. Te formaty są zgodne z najlepszymi praktykami w zakresie wydajności i dostępności, co sprawia, że są preferowane podczas tworzenia treści wideo do zastosowań online. Przykładem ich użycia może być osadzanie wideo na stronach internetowych, gdzie różnorodność formatów pozwala na ich odtwarzanie na różnych urządzeniach oraz w różnych systemach operacyjnych.

Pytanie 9

Źródłem danych dla raportu może być

A. zapytanie INSERT INTO
B. makropolecenie
C. inny raport
D. tabela
Inny raport, chociaż może zawierać dane, nie jest źródłem danych w sensie strukturalnym, lecz raczej wynikiem przetwarzania informacji zawartych w tabelach. Raporty są generowane na podstawie danych zgromadzonych w tabelach, a nie bezpośrednio z innych raportów, co ogranicza ich użyteczność jako źródła danych. Makropolecenie, będące zbiorem instrukcji do automatyzacji procesów, również nie stanowi źródła danych, lecz narzędzie do przetwarzania lub manipulacji danymi, które znajdują się w tabelach. Użycie makropolecenia może prowadzić do generowania raportów, jednak sama jego struktura nie zawiera danych, które mają być raportowane. Zapytanie INSERT INTO jest instrukcją SQL używaną do dodawania danych do tabeli, ale nie jest źródłem danych w kontekście raportowania. To polecenie umożliwia wprowadzenie nowych rekordów do tabeli, a więc odgrywa rolę w aktualizacji danych, a nie w ich źródłowym dostarczaniu. Każda z tych opcji nie spełnia wymogu bycia źródłem danych w kontekście tworzenia raportu, co czyni je niewłaściwymi odpowiedziami.

Pytanie 10

Zestawienie dwóch kolorów znajdujących się po przeciwnych stronach na kole barw stanowi zestawienie

A. trójkątnym
B. dopełniającym
C. monochromatycznym
D. sąsiednim
Połączenie dwóch barw leżących po przeciwnych stronach w kole barw określane jest mianem barw dopełniających. Barwy te, takie jak czerwony i zielony czy niebieski i pomarańczowy, wzajemnie się uzupełniają, co oznacza, że gdy są używane razem, podkreślają się nawzajem, tworząc intensywniejszy i bardziej dynamiczny efekt wizualny. W praktyce wykorzystuje się je w projektowaniu graficznym, malarstwie oraz fotografii, gdzie kontrastujące barwy przyciągają uwagę widza, co jest szczególnie ważne w reklamie czy przy tworzeniu wizualnych identyfikacji. Zastosowanie barw dopełniających jest również istotne w teorii kolorów, szczególnie w kontekście harmonii barwnej. Warto pamiętać, że użycie barw dopełniających może również wpływać na percepcję emocjonalną odbiorcy, co jest niezwykle istotne w kontekście marketingu czy sztuki.

Pytanie 11

W jaki sposób można ocenić normalizację przedstawionej tabeli?

FirmaAdres
Forbotul. Krótka 11, 22-222 Warszawa
Marbotul. Długa 5, 33-333 Warszawa
A. Tabela jest w trzeciej postaci normalnej
B. Tabela znajduje się w pierwszej postaci normalnej
C. Tabela nie została znormalizowana
D. Tabela znajduje się w drugiej postaci normalnej
Pierwsza postać normalna wymaga aby wszystkie wartości atrybutów w rekordzie były atomowe czyli nieredukowalne Tabela przedstawiona w zadaniu nie spełnia tego wymogu ponieważ adresy nie są rozbite na osobne elementy takie jak ulica miasto i kod pocztowy co uniemożliwia bardziej złożoną manipulację danymi oraz precyzyjne wyszukiwanie Druga postać normalna wymaga aby wszystkie atrybuty nie będące częścią klucza głównego były w pełni funkcjonalnie zależne od całego klucza Tabela z pytania nie spełnia tych kryteriów ponieważ istnieje redundancja i brak wyraźnej struktury Klucz główny w dobrze zaprojektowanej tabeli bazy danych powinien jednoznacznie identyfikować każdy wiersz co nie jest widoczne w tej strukturze Trzecia postać normalna idzie krok dalej eliminując zależności przechodnie między atrybutami co w przypadku tej tabeli również nie ma zastosowania Problemem tutaj jest brak rozdzielenia danych na mniejsze tabele co prowadzi do redundancji i potencjalnych błędów przy aktualizacji danych często określanych jako anomaly W dobrze znormalizowanej bazie danych oddzielenie informacji takich jak dane adresowe umożliwia lepszą organizację danych ich spójność oraz zwiększa efektywność operacji na bazie danych

Pytanie 12

Funkcja pg_connect w PHP pozwala na nawiązanie połączenia z bazą danych

A. MS ACCESS
B. MS SQL
C. mySQL
D. PostgreSQL
Polecenie pg_connect w języku PHP jest używane do nawiązywania połączenia z bazą danych PostgreSQL. PostgreSQL to zaawansowany system zarządzania relacyjnymi bazami danych, który obsługuje wiele zaawansowanych funkcji, takich jak transakcje, złożone zapytania czy wsparcie dla różnych typów danych. Funkcja pg_connect przyjmuje jako argumenty łańcuch połączenia, w którym określamy host, port, nazwę bazy danych, użytkownika oraz hasło. Przykładowe użycie polecenia to: $conn = pg_connect("host=localhost dbname=mydb user=myuser password=mypass");. Przy prawidłowym połączeniu, zmienna $conn będzie zawierała uchwyt do bazy danych, który można używać w dalszych operacjach, takich jak wykonywanie zapytań SQL. PostgreSQL jest często wybierany ze względu na swoje możliwości dostosowywania, silne wsparcie dla standardów SQL oraz szeroką społeczność. Warto zauważyć, że pg_connect jest częścią rozszerzenia PHP o nazwie pgsql, które musi być włączone, aby umożliwić korzystanie z tej funkcji.

Pytanie 13

Jak określa się proces przedstawiania informacji zawartych w dokumencie elektronicznym w formie odpowiedniej dla konkretnego środowiska?

A. Rasteryzacja
B. Renderowanie
C. Teksturowanie
D. Mapowanie
Mapowanie to proces związany z przypisywaniem wartości z jednego systemu do innego, często w kontekście baz danych lub geolokalizacji, ale nie odnosi się bezpośrednio do transformacji danych w formę wizualną. Rasteryzacja to technika przekształcania obrazów wektorowych na obrazy rastrowe, co jest jedynie etapem w renderowaniu, a nie samodzielnym procesem. Teksturowanie to proces nakładania tekstur na powierzchnie obiektów 3D, co również jest aspektem renderowania, ale nie obejmuje całości procesu przedstawienia dokumentów elektronicznych. Często zdarza się pomylić te pojęcia, ponieważ wszystkie dotyczą przetwarzania danych, jednak ich zastosowania są różne. Zrozumienie różnic między tymi terminami jest kluczowe dla efektywnej komunikacji w dziedzinie technologii cyfrowych. Wnioskując, kluczowym błędem jest mylenie renderowania z innymi technikami przetwarzania danych, co może prowadzić do nieprawidłowego stosowania technologii w projektach, a także do nieporozumień w zespole projektowym. W związku z tym, właściwe rozpoznawanie i stosowanie terminologii technicznej jest niezbędne do skutecznego zarządzania projektami oraz do osiągania zamierzonych rezultatów w branży IT.

Pytanie 14

Jak można wyświetlić bieżącą datę oraz czas na stronie internetowej przy użyciu JavaScript?

A. echo Date() + Time()
B. echo Date()
C. document.write(Date())
D. innerHTML = Date()
Odpowiedź 'document.write(Date());' jest prawidłowa, ponieważ wykorzystuje metodę 'document.write()', która pozwala na wstawienie tekstu bezpośrednio do dokumentu HTML w momencie jego ładowania. Funkcja 'Date()' zwraca aktualną datę i czas w formie tekstu, co czyni ją odpowiednią do użycia w metodzie 'document.write()'. Warto zauważyć, że zastosowanie 'document.write()' może być ograniczone do momentu pierwszego ładowania strony, dlatego istotne jest, aby używać tej metody z rozwagą. Dobrym praktycznym przykładem jest skrypt, który po załadowaniu strony wyświetla datę i czas w nagłówku lub w innym elemencie strony. Przykładowo, można użyć: <script>document.write('Aktualna data i czas: ' + Date());</script>. Dodatkowo, warto zaznaczyć, że w nowoczesnym podejściu do programowania w JavaScript preferuje się użycie metod manipulacji DOM, takich jak 'innerHTML', ale 'document.write()' nadal ma swoje miejsce w prostych przykładach edukacyjnych.

Pytanie 15

Skrypt PHP wyświetla aktualny czas w formacie godzina:minuta:sekunda, na przykład 15:38:20. Czas w tym formacie zostanie uzyskany dzięki funkcji

A. time("H:i:s");
B. time("G:m:s");
C. date("H:i:s");
D. date("G:m:s");
Wybór time("H:i:s") jako metody zwracającej aktualny czas w pożądanym formacie jest błędny, ponieważ funkcja time() nie formatuje daty ani czasu. Zamiast tego, time() zwraca czas w postaci znacznika czasu (timestamp) – liczby sekund, które upłynęły od 1 stycznia 1970 roku, co jest znane jako Unix Epoch. Dlatego wywołanie time("H:i:s") nie zadziała, ponieważ ta funkcja nie akceptuje parametrów formatujących. Kolejną nieprawidłową odpowiedzią jest date("G:m:s"). Chociaż funkcja date() jest stosowana do formatowania czasu, pole 'G' zwraca godziny w 24-godzinnym formacie, ale bez wiodących zer (tak jak 'H'), co może prowadzić do niepoprawnego wyświetlania godzin mniejszych niż 10. Dodatkowo, 'm' odnosi się do miesięcy, a nie minut, co czyni to podejście błędnym we wszystkich aspektach. Wreszcie, w odpowiedzi time("G:m:s") ponownie pojawia się problem ze zrozumieniem funkcji time(), która nie jest używana do formatowania czasu, a zamiast tego służy tylko do uzyskania znacznika czasu. Typowe błędy myślowe związane z tymi odpowiedziami obejmują mylenie funkcji do pozyskiwania danych z funkcjami do ich formatowania oraz niepełne zrozumienie składni i możliwości dostępnych funkcji PHP. Rekomenduje się zawsze dokładne zapoznanie się z dokumentacją PHP oraz praktyczne testowanie funkcji w różnych scenariuszach, aby lepiej zrozumieć ich zastosowanie i ograniczenia.

Pytanie 16

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

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

Pytanie 17

Kolor wyrażony w modelu RGB(255, 0, 0) to

A. zielony.
B. czerwony.
C. niebieski.
D. żółty.
Barwa zapisana w modelu RGB(255, 0, 0) oznacza maksymalne natężenie kanału czerwonego, co wskazuje, że jest to czysta czerwień. Model RGB, czyli Red, Green, Blue, jest powszechnie stosowany w technologii cyfrowej, w tym w monitorach, telewizorach i urządzeniach mobilnych. W praktyce, wartości w zakresie od 0 do 255 określają intensywność poszczególnych kolorów, gdzie 0 oznacza brak koloru, a 255 jego maksymalną intensywność. Wartości dla zielonego i niebieskiego są zerowe, co oznacza, że nie wpływają na ostateczny kolor. Czerwień (RGB(255, 0, 0)) jest często wykorzystywana w projektowaniu graficznym, na przykład w tworzeniu logo, gdzie symbolizuje energię i pasję. W standardzie sRGB, który jest najczęściej stosowanym profilem kolorów w Internecie, barwy są definiowane w ten sposób, co gwarantuje ich spójność na różnych urządzeniach. Zrozumienie tego modelu kolorów jest kluczowe dla każdej osoby pracującej w dziedzinie grafiki komputerowej, projektowania UI/UX czy programowania webowego.

Pytanie 18

Wskaż, który zapis należy zastosować w celu wyświetlenia grafiki obrazek.png na stronie WWW w pliku plik.html.  

Ilustracja do pytania
A. <img src="obrazek.png">
B. <img src="/../katalog_1/katalog_B/obrazek.png">
C. <img src="../../katalog_2/katalog_B/obrazek.png">
D. <img src="/../katalog_2/katalog_B/obrazek.png">
Problem z niepoprawnymi odpowiedziami wynika z niezrozumienia, skąd dokładnie liczona jest ścieżka do pliku oraz jak działa nawigacja po katalogach w adresach względnych. Przeglądarka zawsze interpretuje wartość atrybutu src w <img> zaczynając od lokalizacji aktualnego dokumentu HTML, czyli w tym przypadku od katalogu katalog_1/katalog_A. Jeżeli wpiszemy po prostu nazwę pliku, bez żadnych katalogów, to przeglądarka szuka go w tym samym folderze co plik HTML. Zapis <img src="obrazek.png"> sugeruje więc, że obrazek.png leży obok plik.html w katalogu_A. Ponieważ w przedstawionej strukturze plik graficzny znajduje się zupełnie gdzie indziej, taka ścieżka po prostu nie może zadziałać. Kolejny typ błędu to nieprawidłowe użycie sekwencji /../ na początku ścieżki. W kontekście URL-a ukośnik na początku oznacza ścieżkę absolutną liczoną od katalogu głównego serwera (tzw. root). Dodawanie zaraz po nim .. jest w praktyce bez sensu, bo nie możemy cofnąć się powyżej katalogu głównego. Takie konstrukcje typu "/../katalog_1/..." czy "/../katalog_2/..." nie odzwierciedlają realnej struktury katalogów widzianej przez serwer WWW. To częsty błąd: mieszanie myślenia systemu plików w eksploratorze z zasadami adresacji URL. W systemie operacyjnym czasem zobaczymy .. na początku ścieżki względnej, ale w URL po wiodącym slashu ścieżka jest już traktowana jako absolutna. Prawidłowe podejście polega na świadomym liczeniu poziomów: pojedyncze .. cofa o jeden katalog w górę, podwójne ../../ o dwa, i dopiero potem dokładamy kolejne katalogi prowadzące do docelowego pliku. Warto też pamiętać, że w projektach webowych lepiej unikać "dziwnych" konstrukcji ze zbędnym /../, bo to utrudnia debugowanie i rodzi problemy przy przenoszeniu strony na inny serwer. Typowym błędem myślowym jest też założenie, że jak coś wygląda logicznie w drzewku folderów na ekranie, to tak samo zadziała w URL, bez dokładnego prześledzenia, od jakiego katalogu liczymy ścieżkę. Dlatego dobrą praktyką jest narysowanie sobie tej struktury i ręczne przejście krok po kroku: tu jest plik.html, tu jest obrazek.png, ile razy muszę się cofnąć .. i gdzie potem wejść, żeby dojść dokładnie do tego pliku.

Pytanie 19

Aby wykonać usunięcie tabeli, należy użyć kwerendy

A. TRUNCATE TABLE
B. DROP TABLE
C. UNIQUE
D. DELETE
Poprawna odpowiedź to DROP TABLE, ponieważ jest to standardowa komenda SQL używana do całkowitego usunięcia tabeli z bazy danych. Użycie tej komendy powoduje nie tylko usunięcie samej struktury tabeli, ale również wszystkich danych, które były w niej przechowywane. Przykładowo, jeśli mamy tabelę 'Użytkownicy' i chcemy ją usunąć, piszemy: DROP TABLE Użytkownicy; Należy jednak pamiętać, że po wykonaniu tej operacji nie można odzyskać ani tabeli, ani jej danych, dlatego ważne jest, aby przed takim krokiem wykonać odpowiednie kopie zapasowe lub upewnić się, że dane są już zbędne. W kontekście dobrych praktyk, przed usunięciem tabeli warto przeanalizować wpływ na inne obiekty bazy danych, takie jak klucze obce, które mogą być związane z usuwaną tabelą. Istotne jest również zrozumienie, że DROP TABLE nie można użyć, jeśli w tabeli istnieją aktywne ograniczenia lub jeśli jest ona częścią jakiejś transakcji. W takiej sytuacji, czynności te należy zrealizować w odpowiedniej kolejności, aby uniknąć błędów.

Pytanie 20

Jakiego języka należy użyć, aby stworzyć skrypt realizowany po stronie klienta w przeglądarki internetowej?

A. Perl
B. JavaScript
C. PHP
D. Python
No, wybór języka programowania do pisania skryptów po stronie klienta powinien być dobrze przemyślany. Python, pomimo że bardzo popularny i wszechstronny, to najczęściej jest używany po stronie serwera, na przykład w aplikacjach backendowych albo w analizie danych. W web development nie za bardzo się to sprawdza, chyba że mówimy o frameworkach jak Django czy Flask, które w przeglądarkach nie działają. A co do Perla, to kiedyś był na topie w programowaniu webowym, ale teraz jego użycie w tym kontekście jest niemal zerowe. Perl skupia się głównie na przetwarzaniu tekstu i skryptach serwerowych. PHP, chociaż powszechnie używane do tworzenia aplikacji webowych, również działa po stronie serwera, generując HTML, który potem idzie do przeglądarki. Więc, jak wybierzesz niewłaściwy język, to może być trudność przy wdrażaniu funkcji interaktywnych i w efekcie frustracja przy tworzeniu aplikacji. Dlatego ważne jest, żeby wiedzieć, że JavaScript to jedyny język, który ma pełne wsparcie dla dynamicznych interakcji w przeglądarkach, a ignorowanie go przy tworzeniu skryptów po stronie klienta skończy się kiepskimi rozwiązaniami.

Pytanie 21

Jakim formatem plików dźwiękowych charakteryzuje się kompresja bezstratna?

A. MPEG
B. WAW
C. MP3
D. FLAC
MP3 to format dźwiękowy, który wykorzystuje kompresję, ale niestety jest to kompresja stratna, więc część danych audio się traci. Dlatego jakość dźwięku nie jest najlepsza, co może być problemem dla audiofilów, którzy szukają czegoś lepszego. Z kolei WAV to format nieskompresowany, co oznacza, że zachowuje wszystkie dane, ale pliki są duże… mało praktyczne, zwłaszcza jak masz ogromną bibliotekę muzyczną. MPEG, znany bardziej jako standard kompresji wideo, też może być używany do dźwięku, ale tak jak MP3, traci na jakości. Generalnie ani MP3, ani WAV, ani MPEG nie nadają się do kompresji bezstratnej, więc to nie są dobre odpowiedzi w tym przypadku.

Pytanie 22

Ile razy zostanie wykonana pętla w zamieszczonym skrypcie PHP?

$a = $x = 0;
do{
    $a++;
    $x = $x + $a;
}while($x != 21);
A. 5
B. 7
C. 6
D. 0
Pętla do-while w PHP działa tak, że jej ciało jest zawsze wykonywane przynajmniej raz, a warunek sprawdzany jest na końcu. W przedstawionym skrypcie zmienne $a i $x są inicjalizowane wartością 0. Wewnątrz pętli zmienna $a jest inkrementowana o 1 w każdej iteracji, a $x zwiększane jest o wartość $a. Pętla powtarza się, dopóki zmienna $x nie osiągnie wartości 21. Aby zrozumieć, ile razy pętla się wykona, należy prześledzić zmiany wartości zmiennych. W pierwszej iteracji $a staje się 1 i $x wynosi 1. W kolejnych iteracjach $a przyjmuje wartości 2 3 4 5 6 a $x odpowiednio 3 6 10 15 21. Gdy $x osiąga 21 pętla kończy działanie. Oznacza to że pętla wykonuje się dokładnie 6 razy aż $x osiągnie wartość 21 co zgodnie z treścią pytania jest poprawną odpowiedzią. Takie podejście pozwala na efektywne kontrolowanie liczby iteracji przy dynamicznie zmieniających się warunkach a zasady działania pętli do-while są kluczowe w sytuacjach gdy wymagane jest przynajmniej jedno wykonanie bloku kodu co odróżnia ją od pętli while.

Pytanie 23

Zdefiniowano bazę danych z tabelą sklepy, zawierającą pola: nazwa, ulica, miasto, branża. Aby odnaleźć wszystkie nazwy sklepów spożywczych znajdujących się wyłącznie we Wrocławiu, należy użyć kwerendy:

A. SELECT sklepy FROM nazwa WHERE branza='spożywczy' BETWEEN miasto='Wrocław';
B. SELECT nazwa FROM sklepy WHERE branza='spożywczy' OR miasto='Wrocław';
C. SELECT nazwa FROM sklepy WHERE branza='spożywczy' AND miasto='Wrocław';
D. SELECT sklepy FROM branza='spożywczy' WHERE miasto='Wrocław';
Żeby znaleźć wszystkie sklepy spożywcze tylko we Wrocławiu, stosujemy kwerendę SQL: SELECT nazwa FROM sklepy WHERE branza='spożywczy' AND miasto='Wrocław'; Ta kwerenda jest OK, bo używa klauzuli WHERE, żeby zawęzić wyniki. Klauzula AND jest bardzo ważna, bo tak naprawdę pozwala na spełnienie obu warunków naraz. Jeśli mamy tabelę 'sklepy', gdzie są różne dane o sklepach, to ta kwerenda zwróci tylko te, które pasują do obu kryteriów. Myślę, że to dobrze pokazuje, jak działa normalizacja baz danych, która mówi, żeby unikać duplikatów przez dokładne filtrowanie. Użycie AND gwarantuje, że dostaniemy wyniki, które są naprawdę zgodne z naszym zapytaniem. Na przykład jeśli w tabeli mamy 'Sklep A, ul. X, Wrocław, spożywczy' i 'Sklep B, ul. Y, Poznań, spożywczy', to nasza kwerenda odda tylko 'Sklep A'.

Pytanie 24

W HTML zdefiniowano hiperłącze zawierające znak #. Co się wydarzy po kliknięciu na ten odsyłacz?

<a href="#dane"></a>
A. Zostanie wskazany względny adres URL o nazwie dane
B. Uruchomi się skrypt o nazwie dane
C. Otworzy się nowa karta przeglądarki o nazwie dane
D. Strona przewinie się do elementu o id równym dane
W HTML znacznik <a> to taki element, który tworzy hiperłącza. Dzięki nim możesz przeskakiwać po stronie lub między różnymi stronami. Atrybut href wskazuje, dokąd prowadzi to łącze. Jak widzisz, gdy href zaczyna się od #, to znaczy, że przeniesie Cię do konkretnego miejsca na tej samej stronie, które jest oznaczone atrybutem id. Czyli, jeśli masz href="#dane", to strona przewinie się do elementu z id="dane". To bardzo przydatna rzecz, szczególnie na długich stronach, bo zamiast przewijać wszystko, możesz od razu trafić do odpowiedniej sekcji. To zgodne z tymi sztywnymi zasadami W3C, które mówią o tym, że strony powinny być łatwe w obsłudze. Powinieneś też pamiętać, żeby zawsze sprawdzać, czy id, do którego się odnosisz, istnieje. Dzięki temu unikniesz problemów z nawigacją.

Pytanie 25

Aby wskazać miejsce, w którym ma nastąpić złamanie linii tekstu, na przykład w zmiennej typu string, należy użyć znaku

A. \n
B. \\
C. \b
D. \t
Znakiem używanym do definiowania łamania linii tekstu w zmiennych napisowych jest znak nowej linii, reprezentowany jako '\n'. Jest to standardowy sposób w wielu językach programowania, takich jak Python, Java, C++ czy JavaScript. Znak ten sygnalizuje interpreterowi, że w tym miejscu tekst powinien być przerwany i rozpoczęty od nowej linii. Przykładem zastosowania może być sytuacja, gdy chcemy sformatować tekst, aby był bardziej czytelny. Na przykład: 'Witaj świecie!\nTo jest nowa linia.' spowoduje, że po wyświetleniu pierwszej części tekstu przejdziemy do nowej linii. Użycie '\n' jest zgodne ze standardami ASCII i Unicode, gdzie znak ten ma przypisaną wartość kodu 10. Pozwala to na łatwe tworzenie wieloliniowych tekstów, co jest niezbędne w wielu aplikacjach, takich jak generatory raportów czy edytory tekstowe. Ponadto, wiele systemów operacyjnych interpretuje '\n' w ten sam sposób, co sprawia, że jest to uniwersalne rozwiązanie wykorzystywane w programowaniu.

Pytanie 26

Jakie są różnice między poleceniami DROP TABLE a TRUNCATE TABLE?

A. DROP TABLE kasuje tabelę, natomiast TRUNCATE TABLE zmienia dane w niej, które spełniają określony warunek
B. Obydwa polecenia usuwają tabelę wraz z jej zawartością, jednak tylko TRUNCATE TABLE może być cofnięte
C. DROP TABLE kasuje tabelę, a TRUNCATE TABLE usuwa wszystkie dane, pozostawiając tabelę pustą
D. Oba polecenia usuwają tylko zawartość tabeli, lecz tylko DROP TABLE może być cofnięte
Odpowiedź jest prawidłowa, ponieważ polecenie DROP TABLE w SQL służy do całkowitego usunięcia tabeli z bazy danych, co oznacza, że zarówno struktura tabeli, jak i jej dane zostaną trwale usunięte. Natomiast TRUNCATE TABLE jest używane do usuwania wszystkich wierszy z tabeli, ale sama tabela pozostaje w bazie danych. Po użyciu TRUNCATE TABLE struktura tabeli jest nienaruszona, co umożliwia jej dalsze wykorzystanie. Przykładowo, jeżeli mamy tabelę 'klienci' z danymi klientów, użycie DROP TABLE spowoduje utratę zarówno samej tabeli, jak i wszystkich danych. W przypadku TRUNCATE TABLE, tabela 'klienci' będzie nadal istniała, ale nie będzie zawierała żadnych rekordów. W praktycznych zastosowaniach, TRUNCATE TABLE jest bardziej efektywne pod względem wydajności, szczególnie przy dużych zbiorach danych, ponieważ działa szybciej niż DELETE bez warunku, i nie zapisuje informacji o usuniętych wierszach w dzienniku transakcji. Zgodnie z dobrymi praktykami, używaj DROP TABLE, gdy jesteś pewny, że tabela nie jest już potrzebna, a TRUNCATE TABLE, gdy chcesz szybko opróżnić tabelę, pozostawiając jej strukturę.

Pytanie 27

Aby wprowadzić dane do bazy przy użyciu polecenia PHP, konieczne jest przekazanie do jego parametrów

A. id wiersza w $zm1 i zapytanie INSERT INTO w $zm2
B. identyfikator połączenia z bazą danych w $zm1 i zapytanie SELECT w $zm2
C. NULL w $zm1, aby baza mogła zapisać kod błędu i zapytanie SELECT w $zm2
D. identyfikator połączenia z bazą danych w $zm1 i zapytanie INSERT INTO w $zm2
Poprawna odpowiedź wskazuje, że w parametrze $zm1 należy przekazać identyfikator połączenia z bazą danych, a w $zm2 zapytanie INSERT INTO. To podejście jest zgodne z zasadami korzystania z funkcji mysqli_query w PHP, która jest używana do wykonywania zapytań SQL na bazie danych. Identyfikator połączenia jest niezbędny, ponieważ pozwala PHP zidentyfikować, z którą bazą danych będzie nawiązywało interakcję. Zapytanie INSERT INTO umożliwia dodawanie nowych rekordów do określonej tabeli. Na przykład, jeśli chcemy dodać nowego użytkownika do tabeli 'users', możemy użyć polecenia: mysqli_query($connection, "INSERT INTO users (name, email) VALUES ('Jan Kowalski', '[email protected]')"). Przestrzeganie tych zasad jest zgodne z praktykami bezpieczeństwa, takimi jak unikanie SQL Injection, które można osiągnąć poprzez odpowiednie przygotowywanie zapytań oraz walidację danych przed ich wstawieniem.

Pytanie 28

Dostępna jest tabela zatytułowana wycieczki, zawierająca kolumny nazwa, cena oraz miejsca (jako liczba dostępnych miejsc). Aby wyświetlić jedynie nazwy wycieczek, których cena jest poniżej 2000 złotych oraz posiadają co najmniej cztery dostępne miejsca, należy zastosować zapytanie

A. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
B. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
C. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
D. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
Wybrana odpowiedź jest prawidłowa, ponieważ wykorzystuje operator AND, który jest kluczowy dla spełnienia obu warunków jednocześnie: cena musi być niższa niż 2000 zł, a liczba wolnych miejsc musi być większa niż 3. Dzięki temu zapytanie działa zgodnie z zamierzeniem, wyświetlając tylko te wycieczki, które rzeczywiście spełniają oba kryteria. Dodatkowo, wybór kolumny 'nazwa' zamiast wszystkich kolumn (jak w przypadku użycia *) optymalizuje zapytanie, co jest dobrym podejściem w kontekście wydajności bazy danych. W przypadku większych zbiorów danych, ograniczenie liczby zwracanych kolumn do tych faktycznie potrzebnych jest zgodne z zasadami dobrych praktyk w zakresie projektowania zapytań SQL. Można to zaobserwować na przykład w aplikacjach rezerwacji, gdzie użytkownicy są zainteresowani tylko kluczowymi informacjami o dostępnych wycieczkach. W związku z tym, poprawna konstrukcja zapytania nie tylko spełnia wymogi funkcjonalne, ale także wpływa na wydajność i czytelność kodu.

Pytanie 29

W semantycznym HTML odpowiednikiem elementu <b>, który nie tylko pogrubia tekst, ale także wskazuje na jego większe znaczenie, jest

A. <mark>
B. <ins>
C. <strong>
D. <em>
Znacznik <strong> w HTML semantycznym służy nie tylko do pogrubienia tekstu, ale także do wskazania, że dany fragment ma większe znaczenie w kontekście semantycznym. Zgodnie z zaleceniami W3C, użycie tego znacznika poprawia dostępność treści, ponieważ technologie wspomagające, takie jak czytniki ekranu, interpretują <strong> jako tekst o podwyższonej wadze, co może pomóc w lepszym zrozumieniu struktury dokumentu przez osoby z niepełnosprawnościami. Przykładem zastosowania może być podkreślenie ważnych informacji na stronie, takich jak zasady, ostrzeżenia czy kluczowe dane, które użytkownicy powinni zauważyć. W praktyce, stosowanie elementów semantycznych, takich jak <strong>, zamiast czysto stylistycznych, jest zgodne z zasadami budowania stron przyjaznych dla użytkowników i poprawia SEO, ponieważ wyszukiwarki mogą lepiej analizować kontekst treści. Warto pamiętać, że w przypadku użycia <strong>, nie zmienia to tylko sposobu wyświetlania, ale także wzbogaca znaczenie tekstu w kontekście całej strony.

Pytanie 30

Można przypisać wartości: static, relative, fixed, absolute oraz sticky do właściwości

A. display
B. position
C. list-style-type
D. text-transform
Właściwość CSS 'position' służy do określenia, w jaki sposób element jest pozycjonowany na stronie. Wartości takie jak static, relative, fixed, absolute oraz sticky definiują różne metody pozycjonowania elementów w kontekście innych obiektów oraz w kontekście samego okna przeglądarki. Na przykład, 'static' jest wartością domyślną, co oznacza, że elementy są umieszczane w naturalnym porządku w dokumencie HTML. 'Relative' pozwala na przesunięcie elementu względem jego normalnej pozycji, co daje większą elastyczność w projektowaniu layoutów. 'Absolute' pozycjonuje element względem najbliższego przodka, który również ma ustawioną właściwość 'position' różną od 'static', co umożliwia precyzyjne umiejscowienie elementów. 'Fixed' sprawia, że element pozostaje w tym samym miejscu w oknie przeglądarki, nawet podczas przewijania strony, co jest często wykorzystywane w przypadku nagłówków i stopki. 'Sticky' łączy cechy 'relative' i 'fixed', umożliwiając elementowi bycie na stałe w zasięgu widoku, ale tylko do momentu, gdy nie zostanie przewinięty poza jego kontener. Używanie tych wartości w praktyce pozwala na tworzenie responsywnych i dynamicznych interfejsów użytkownika, które są zgodne z dobrymi praktykami projektowania stron internetowych.

Pytanie 31

Które dane z 8 rekordów wpisanych do tabeli zwierzeta zostaną wyświetlone w wyniku podanego poniżej zapytania SQL?

SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016;

idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
A. Figaro, Dika, Fuks.
B. Anna Kowalska, Jan Nowak.
C. Fafik, Brutus, Dika, Fuks.
D. Dika, Fuks.
Gratulacje! Twoja odpowiedź była poprawna. Wybrałeś 'Dika, Fuks.', co jest prawidłowym wynikiem dla podanego zapytania SQL. Zapytanie przeszukuje bazę danych zwierząt z podziałem na pewne kryteria - w tym przypadku są to zwierzęta o rodzaju, który odpowiada 2 oraz które były szczepione w 2016 roku. Wśród wszystkich rekordów w tabeli tylko 'Dika' i 'Fuks' spełniają te kryteria, dlatego tylko one są wyświetlane. To pokazuje, jak potężne i elastyczne mogą być zapytania SQL - możemy przeszukiwać ogromne ilości danych, stosując różne warunki, aby otrzymać dokładnie to, czego szukamy. Zrozumienie i umiejętne wykorzystanie takich zapytań jest kluczowe w pracy z bazami danych. Pamiętaj, że SQL pozwala nie tylko na pobieranie danych, ale również na ich modyfikację, usuwanie oraz dodawanie nowych rekordów do bazy. Spróbuj teraz zastosować swoją wiedzę w praktycznych zadaniach!

Pytanie 32

Jaki rezultat uzyskamy po uruchomieniu załączonego skryptu?

<?php
class Owoc {
  function __construct() {     echo "test1";     }
  function __destruct() {     echo "test2";     }
}
$gruszka = new Owoc();
?>
A. Pojawi się jedynie komunikat "test2"
B. Nie zostanie wyświetlony żaden komunikat
C. Na ekranie pojawią się oba komunikaty: "test1" oraz "test2"
D. Pojawi się tylko komunikat "test1"
Skrypt w PHP definiuje klasę Owoc z dwoma metodami specjalnymi __construct() i __destruct(). Metoda __construct() jest automatycznie wywoływana podczas tworzenia instancji klasy. W tym wypadku, w momencie utworzenia obiektu $gruszka, zostanie wykonana metoda __construct(), która wyświetli napis test1. Następnie, gdy skrypt kończy działanie lub obiekt jest usuwany z pamięci, wywoływana jest metoda __destruct(). W tym przypadku, po zakończeniu skryptu, wywołana zostanie metoda __destruct(), która wyświetli napis test2. Metody konstruktorów i destruktorów są podstawą zarządzania cyklem życia obiektu w PHP, pozwalając na inicjalizację ustawień, jak również zwalnianie zasobów. Użycie ich jest kluczowe w projektowaniu obiektowo-zorientowanym, gdzie każda klasa może definiować własne sposoby obsługi zasobów. Praktyka ta wspiera modularność i utrzymanie kodu, co jest standardem w profesjonalnym programowaniu.

Pytanie 33

Aby właściwie przystosować stronę internetową dla osób niewidomych, należy przypisać wyświetlanym za pomocą znacznika img obrazom atrybut

A. text
B. alt
C. style
D. src
Atrybut 'alt' w znaczniku <img> to naprawdę ważny element, jeśli chodzi o dostępność stron internetowych dla osób niewidomych. Głównie chodzi o to, żeby zapewnić opis obrazka, który mogą zrozumieć technologie asystujące, tak jak czytniki ekranu. Dzięki temu, osoby niewidome mają możliwość dowiedzieć się, co znajduje się na zdjęciu. Na przykład, jeśli mamy zdjęcie czerwonego swetra w sklepie internetowym, to warto wpisać coś takiego jak 'Czerwony sweter z wełny' w tym atrybucie. To też pomaga w SEO, bo wyszukiwarki lubią takie opisy. W skrócie, dobrze jest stosować atrybut 'alt' przy każdym obrazie, by każdy użytkownik mógł zrozumieć treść strony.

Pytanie 34

W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu: ```

CSS

Kaskadowe arkusze stylów (ang. Cascading Style Sheets)
to język służący ...```

A. Znacznik br nie został poprawnie zamknięty.
B. Nieznany znacznik h6.
C. Znacznik zamykający /b niezgodny z zasadą zagnieżdżania.
D. Znacznik br nie może występować wewnątrz znacznika p.
Twoja odpowiedź jest poprawna. Znacznik zamykający /b w badanym kodzie HTML jest niezgodny z zasadą zagnieżdżania. Zasada ta mówi, że znaczniki powinny być zamykane w odwrotnej kolejności do otwierania - zgodnie z modelem LIFO (Last In, First Out). W praktyce oznacza to, że jeśli otworzyliśmy na przykład najpierw znacznik <i>, a następnie <b>, to najpierw powinniśmy zamknąć <b>, a dopiero potem <i>. Nieprzestrzeganie tej zasady może prowadzić do nieoczekiwanych wyników podczas renderowania strony. Jest to istotne dla utrzymania czytelności i prawidłowego funkcjonowania kodu. W codziennej praktyce, szczególnie w większych projektach, stosowanie się do takich zasad pomaga utrzymać kod zrozumiałym i łatwym do zarządzania.

Pytanie 35

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
B. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
C. wszystkie operacje na tabelach bazy dane.
D. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
Wszystkie pozostałe odpowiedzi są niepoprawne z różnych powiedział. Druga odpowiedź sugeruje, że Jan może wykonywać tylko operacje CREATE, ALTER, DROP. Jest to nieprawidłowe, ponieważ otrzymał on pełne uprawnienia do bazy danych, co zdecydowanie wykracza poza te trzy operacje. Trzecia odpowiedź zawiera błędne przekonanie, że Jan może nadawać uprawnienia innym użytkownikom. Pomimo posiadania pełnych uprawnień do bazy danych, nie oznacza to, że ma on możliwość zarządzania uprawnieniami innych użytkowników. Czwarta odpowiedź jest również błędna, twierdząc, że Jan może manipulować danymi i zmieniać tylko swoje uprawnienia. W rzeczywistości, Jan nie ma uprawnień do zmiany swoich własnych uprawnień - to zadanie zazwyczaj spoczywa na administratorze bazy danych. Wszystkie te błędy wynikają z niewłaściwego zrozumienia zarządzania uprawnieniami w bazach danych i roli konstrukcji GRANT. W rzeczywistości, GRANT pozwala na precyzyjne i granularne zarządzanie uprawnieniami, a pełne uprawnienia oznaczają pełną kontrolę nad bazą danych, ale nie nad uprawnieniami innych użytkowników.

Pytanie 36

W której superglobalnej tablicy w PHP należy przechowywać informacje dotyczące logowania użytkownika w sposób gwarantujący ich bezpieczeństwo?

A. $_COOKIE
B. $_FILES
C. $_SERVER
D. $_SESSION
Wybór $_COOKIE do przechowywania danych logowania to kiepski pomysł z kilku powodów. Ciasteczka są trzymane po stronie klienta, co znaczy, że mogą być łatwo dostępne dla innych, a to stwarza poważne zagrożenie dla bezpieczeństwa. Na przykład, hakerzy mogą wykraść ciasteczka przez różne techniki, takie jak XSS, co mogłoby prowadzić do nieautoryzowanego dostępu do kont. Poza tym, ciasteczka mają ograniczoną pojemność i użytkownik może je modyfikować, co czyni je nieodpowiednim miejscem na wrażliwe dane. Używanie $_FILES także jest nietrafione, bo ta tablica służy do obsługi plików przesyłanych przez użytkowników, a nie zarządzania sesjami. $_SERVER to z kolei tablica, która ma informacje o serwerze oraz zapytaniach, ale nie nadaje się do trzymania danych użytkowników. Typowym błędem przy wyborze $_COOKIE czy $_SERVER jest to, że nie rozumie się ich funkcji, co może prowadzić do niebezpiecznych sytuacji. Żeby dobrze zabezpieczyć dane logowania, najlepiej korzystać z sesji, bo są zaprojektowane właśnie do tego i oferują znacznie lepszą ochronę.

Pytanie 37

W zaprezentowanym fragmencie algorytmu użyto

Ilustracja do pytania
A. dwie pętle.
B. jeden blok decyzyjny.
C. jedną pętlę.
D. trzy bloki operacyjne (procesy).
W przedstawionym fragmencie algorytmu zastosowano jedną pętlę co jest zgodne z poprawną odpowiedzią. Pętla to konstrukcja programistyczna pozwalająca wielokrotnie wykonywać fragment kodu dopóki spełniony jest określony warunek. W analizowanym schemacie widzimy jednokrotną pętlę oznaczoną powrotem do wcześniejszego punktu co jest charakterystyczne dla takich struktur. Najczęściej używane pętle to for while i do-while różniące się sposobem sprawdzania warunku początkowego. Pętle są fundamentalne w algorytmice i pozwalają na realizację złożonych operacji takich jak iteracja po tablicach czy przetwarzanie danych wejściowych. Ich zastosowanie zwiększa efektywność kodu i upraszcza jego strukturę. Dobrą praktyką jest dbanie o czytelność pętli i unikanie skomplikowanych zależności co poprawia zrozumienie kodu przez innych programistów. Warto również pamiętać o zasadach optymalizacji np. minimalizowanie liczby iteracji co przekłada się na lepszą wydajność.

Pytanie 38

W HTML, aby utworzyć poziomą linię, należy zastosować znacznik

A. <hr>
B. <line>
C. <hl>
D. <br>
Znacznik <line> nie jest standardowym elementem HTML i nie istnieje w specyfikacji tego języka. Z tego powodu nie może być użyty do tworzenia poziomej linii. Użytkownicy mogą mylić go z innymi terminami związanymi z grafiką wektorową, gdzie pojawia się pojęcie 'linia', jednak HTML nie przewiduje takiego znacznika. Kolejnym błędnym rozwiązaniem jest znacznik <br>, który jest używany do łamania linii w tekście. Umożliwia on przejście do nowej linii, ale nie daje efektu poziomej linii oddzielającej sekcje treści. Jest to element samodzielny, jednak jego funkcjonalność jest zupełnie inna. Z kolei znacznik <hl> nie istnieje w standardach HTML. Użytkownicy mogą go pomylić z innymi znacznikami, ale <hl> nie jest zdefiniowany w żadnym z wersji HTML, co oznacza, że przeglądarki go nie rozpoznałyby, co skutkowałoby brakiem jakiegokolwiek wizualnego efektu. Użycie niepoprawnych znaczników może prowadzić do problemów z interpretacją dokumentów HTML i ich wyświetlaniem w przeglądarkach, co negatywnie wpłynie na użytkowników oraz SEO strony.

Pytanie 39

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

A. układania bloków jeden pod drugim
B. wyrównania elementów tabeli do lewej strony
C. wyrównania tekstu do lewej strony
D. ustawienia bloku na lewo w stosunku do innych
Reguła CSS 'float: left;' jest używana do ustawienia elementu blokowego po lewej stronie kontenera, co pozwala na swobodne rozmieszczanie innych elementów w otaczającym go obszarze. Elementy, które są ustawione jako 'float', nie zajmują miejsca w normalnym przepływie dokumentu, co oznacza, że inne elementy mogą 'przepływać' wokół nich. Przykładem zastosowania tej reguły może być układ strony internetowej, gdzie zdjęcia są umieszczone z lewej strony tekstu, co pozwala na estetyczne i funkcjonalne połączenie grafiki z treścią. Zgodnie z wytycznymi W3C, właściwości 'float' powinny być używane z rozwagą, aby uniknąć problemów z układaniem stron, na przykład należy pamiętać o zastosowaniu właściwości 'clear', aby uniknąć niechcianych efektów wizualnych. W praktyce, float jest często stosowany w układach siatki lub responsywnych, gdzie elastyczne i dynamiczne rozmieszczenie elementów jest kluczowe dla użyteczności i estetyki strony.

Pytanie 40

Na ilustracji przedstawiono ustawienia programu służącego do montażu filmów. Nowy projekt ma ustawienia

Ilustracja do pytania
A. 25 klatek na cały film.
B. 25 klatek na każdą sekundę filmu.
C. 48 minut czasu trwania filmu.
D. wysokość 1920 px i szerokość 1080 px.
Prawidłowa odpowiedź wynika bezpośrednio z oznaczenia „25 fps” w ustawieniach projektu. Skrót fps oznacza „frames per second”, czyli liczbę klatek na sekundę. Jeśli projekt ma 25 fps, to znaczy, że każda sekunda gotowego filmu będzie złożona z 25 kolejnych klatek wideo. To jest właśnie standardowa liczba klatek na sekundę stosowana w Europie (standard telewizyjny oparty na PAL), bardzo często używana w programach do montażu i w kamerach. W praktyce wygląda to tak: jeżeli nagrasz materiał w 25 fps i zmontujesz projekt również w 25 fps, to ruch będzie wyglądał naturalnie, a odtwarzanie będzie płynne i zgodne z typowymi ustawieniami telewizorów i wielu platform VOD. Gdybyś ustawił np. 10 fps, obraz byłby wyraźnie „szarpiący”, a przy 60 fps – bardzo płynny, ale też wymagający więcej miejsca na dysku i większej mocy obliczeniowej przy montażu. Moim zdaniem warto zapamiętać, że liczba klatek na sekundę to jedna z kluczowych decyzji przy zakładaniu nowego projektu: wpływa na płynność ruchu, rozmiar pliku wynikowego i komfort montażu. W programach do edycji wideo zawsze szukaj parametru „Frame Rate” lub właśnie „fps”. Jeżeli widzisz tam liczbę, np. 24, 25, 30, 50 czy 60, to zawsze będzie chodziło o liczbę klatek przypadających na jedną sekundę odtwarzania filmu, a nie o całkowitą liczbę klatek czy czas trwania projektu. W tym zadaniu opis 25 fps dokładnie odpowiada odpowiedzi „25 klatek na każdą sekundę filmu”.