Wyniki egzaminu

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

Egzamin zdany!

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

Tabela o nazwie naprawy zawiera kolumny klient oraz czyNaprawione. Jakie polecenie należy wykonać, aby usunąć te rekordy, w których wartość w kolumnie czyNaprawione jest prawdziwa?

A. DELETE FROM naprawy;
B. DELETE klient FROM naprawy WHERE czyNaprawione= TRUE;
C. DELETE naprawy WHERE czyNaprawione= TRUE;
D. DELETE FROM naprawy WHERE czyNaprawione= TRUE;
Odpowiedź 'DELETE FROM naprawy WHERE czyNaprawione= TRUE;' jest poprawna, ponieważ precyzyjnie wskazuje, które rekordy mają być usunięte z tabeli 'naprawy'. W SQL, polecenie DELETE jest używane do usuwania rekordów z bazy danych, a klauzula WHERE jest kluczowa, aby ograniczyć operację do tych rekordów, które spełniają określone warunki. W tym przypadku, warunek 'czyNaprawione= TRUE' wskazuje, że chcemy usunąć tylko te rekordy, dla których naprawa została już zakończona. W praktyce, stosowanie klauzuli WHERE jest niezbędne, aby uniknąć usunięcia wszystkich rekordów z danej tabeli, co mogłoby prowadzić do utraty cennych danych. W kontekście dobrych praktyk, zawsze należy być ostrożnym przy używaniu polecenia DELETE i dokładnie weryfikować warunki znajdujące się w klauzuli WHERE. Dodatkowo, przed przeprowadzeniem operacji usuwania, warto wykonać zapytanie SELECT z tymi samymi warunkami, aby upewnić się, które rekordy zostaną usunięte, co pozwala na uniknięcie niezamierzonych skutków.

Pytanie 2

Czego nie należy robić, aby zabezpieczyć serwer bazy danych przed atakami hakerów?

A. używanie skomplikowanych haseł do bazy.
B. blokowanie portów związanych z bazą danych.
C. defragmentacja dysków.
D. aktywacja zapory.
Defragmentacja dysków nie jest bezpośrednio związana z zabezpieczaniem serwera bazy danych przed atakami hakerskimi. Choć defragmentacja może poprawić wydajność systemu plików poprzez uporządkowanie fragmentów plików na dysku, nie ma wpływu na kwestie bezpieczeństwa. Przykłady skutecznych działań w zakresie zabezpieczeń obejmują włączenie zapory, co stanowi pierwszą linię obrony, blokowanie portów, które mogą być wykorzystywane przez potencjalnych intruzów, oraz stosowanie złożonych haseł, co minimalizuje ryzyko nieautoryzowanego dostępu. W kontekście zarządzania bezpieczeństwem baz danych, kluczowe jest przestrzeganie najlepszych praktyk, takich jak regularne aktualizacje oprogramowania, monitorowanie logów dostępu oraz stosowanie zasad minimalnych uprawnień. Właściwe zabezpieczenia powinny być wdrażane zgodnie z wytycznymi standardów takich jak ISO/IEC 27001.

Pytanie 3

Który z poniższych formatów plików nie jest używany do publikacji grafiki lub animacji w internecie?

A. PNG
B. SVG
C. AIFF
D. SWF
Format AIFF (Audio Interchange File Format) jest standardowym formatem plików audio stworzonym przez firmę Apple. Został zaprojektowany do przechowywania danych dźwiękowych i nie jest przeznaczony do publikacji grafiki ani animacji na stronach internetowych. W przeciwieństwie do formatów takich jak PNG, SWF czy SVG, które są powszechnie używane w kontekście grafiki i multimediów, AIFF koncentruje się na audio. Format PNG (Portable Network Graphics) jest popularnym formatem rastrowym, który obsługuje przezroczystość i kompresję bezstratną, co czyni go idealnym do obrazów w sieci. SWF (Shockwave Flash) to format plików wykorzystywany do animacji i interaktywnych aplikacji w Adobe Flash, a SVG (Scalable Vector Graphics) to wektorowy format grafiki, który pozwala na skalowanie bez utraty jakości. AIFF nie ma zastosowania w tych obszarach, co czyni go odpowiedzią, której szukamy.

Pytanie 4

Jak określa się program, który wykonuje polecenia zawarte w kodzie źródłowym tworzonego oprogramowania bez wcześniejszego generowania rezultatu finalnego?

A. Interpreter
B. Konwerter kodu
C. Kompilator
D. Konwerter języka
Interpreter to taki program, który od razu wykonuje to, co ma w kodzie, bez czekania na jakieś pliki wynikowe. Działa tak, że analizuje kod linijka po linijce, dzięki czemu można natychmiast uruchamiać programy i testować różne kawałki kodu. Na przykład, Python, Ruby czy JavaScript to popularne interpretery, które fajnie sprawdzają się przy szybkim prototypowaniu czy poprawianiu błędów. Myślę, że to bardzo wygodne, bo możemy szybko wprowadzać zmiany, co jest super ważne, gdy pracujemy nad projektami, które wymagają ciągłych poprawek. W branży, zwłaszcza w DevOps i Continuous Integration, szybkie sprawdzanie kodu to bardzo istotna sprawa. Dobrą praktyką jest też korzystanie z interaktywnych środowisk, co naprawdę bardzo ułatwia naukę programowania.

Pytanie 5

Do zapisania prostej animacji na stronę internetową można zastosować format

A. PNG
B. JPG
C. CDR
D. GIF
Format GIF (Graphics Interchange Format) jest idealny do zapisywania prostych animacji na potrzeby stron internetowych. GIF obsługuje do 256 kolorów w palecie, co czyni go odpowiednim do animacji o niskiej rozdzielczości i małej liczbie kolorów. Animacje GIF składają się z serii klatek, które są wyświetlane w szybkim tempie, co pozwala na płynne przejścia między różnymi etapami animacji. Dzięki swojej powszechności i wsparciu w większości przeglądarek internetowych, GIF stał się standardem dla prostych animacji w sieci. Format ten wspiera również przezroczystość, co pozwala na umiejscowienie animacji na różnych tłach bez widocznego prostokątnego obramowania. Przykłady zastosowania GIF obejmują ikony ładowania, animacje przycisków czy krótkie klipy wideo zamienione na animacje. GIF jest także często wykorzystywany w marketingu internetowym i mediach społecznościowych, aby przyciągnąć uwagę użytkowników. Standardy dotyczące GIF są określone przez specyfikacje formatów obrazów i są szeroko akceptowane przez deweloperów webowych, co czyni go wygodnym wyborem dla twórców stron internetowych.

Pytanie 6

Znacznik <ins> w języku HTML jest używany do wskazania

A. tekstu, który został usunięty
B. cytowanego fragmentu tekstu
C. tekstu, który został dodany
D. tekstu o zmienionym formacie
Znacznik <ins> w języku HTML jest używany do oznaczania tekstu, który został dodany w stosunku do pierwotnej treści dokumentu. Został wprowadzony w standardzie HTML5, co umożliwia programistom i twórcom stron internetowych wyraźne zaznaczanie zmian w treści. Użycie tego znacznika jest szczególnie przydatne w kontekście dokumentów, które podlegają częstym aktualizacjom lub rewizjom, gdyż pozwala użytkownikom łatwo dostrzegać dodany tekst. Przykładem może być sytuacja, w której wprowadzasz poprawki do artykułu na blogu: tekst oznaczony jako <ins> może być wyświetlany z podkreśleniem, co wizualnie wskazuje na jego nowość. Warto także zwrócić uwagę, że znacznik <ins> może być używany w połączeniu z atrybutem 'cite', który wskazuje źródło zmiany, oraz atrybutem 'datetime', który określa datę i godzinę wprowadzenia zmian. Dzięki tym właściwościom, <ins> przyczynia się do lepszego zarządzania treścią w dokumentach HTML, spełniając wymagania dotyczące dostępności i przejrzystości informacji.

Pytanie 7

Wskaż właściwy zapis polecenia napisanego w języku JavaScript?

A. document.write("Liczba ? z dokładnością do 2 miejsc po przecinku ? " + 3.14 )
B. document.write("Liczba ? z dokładnością do 2 miejsc po przecinku ? " ; 3.14 )
C. document.write("Liczba ? z dokładnością do 2 miejsc po przecinku ? " 3.14 )
D. document.write("Liczba ? z dokładnością do 2 miejsc po przecinku ? " . 3.14 )
Odpowiedź ta jest poprawna, ponieważ używa operatora konkatenacji (+) do połączenia tekstu oraz wartości liczbowej 3.14 w jednej instrukcji document.write. Funkcja document.write jest metodą w Javascript, która umożliwia dynamiczne wstawianie treści HTML do dokumentu. W przykładzie, ciąg tekstowy "Liczba ? z dokładnością do 2 miejsc po przecinku ? " jest poprawnie połączony z wartością liczbową, co skutkuje wyświetleniem na stronie rezultatu, który jest czytelny i zrozumiały dla użytkownika. Warto również zauważyć, że w takich sytuacjach stosuje się również metody formatowania liczb, takie jak toFixed() dla uzyskania precyzyjnych wyników, np. (3.14).toFixed(2) zwróci '3.14'. Zgodność z ECMAScript oraz standardami W3C sprawia, że ta konstrukcja jest zarówno praktyczna, jak i zgodna z najlepszymi praktykami programowania w JavaScript.

Pytanie 8

W JavaScript metoda Math.random() ma na celu

A. porównać dwie sekwencje znaków
B. zwrócić liczbę po zaokrągleniu
C. zaokrąglić liczbę do najbliższej większej liczby całkowitej
D. zwrócić liczbę pseudolosową
Metoda Math.random() w języku JavaScript jest kluczowym narzędziem do generowania liczb pseudolosowych w zakresie od 0 (włącznie) do 1 (wyłącznie). Oznacza to, że każdorazowe wywołanie tej metody zwraca nową, losową wartość zmiennoprzecinkową, co jest przydatne w wielu zastosowaniach, takich jak tworzenie gier, symulacje, a także w algorytmach generujących dane testowe. Ważne jest, aby pamiętać, że Math.random() nie generuje liczb losowych w sensie statystycznym, lecz wykorzystuje algorytmy deterministyczne do produkcji wartości, co oznacza, że są one przewidywalne, jeśli znany jest stan początkowy. W praktyce, aby uzyskać liczbę losową w określonym zakresie, można zastosować następujący wzór: Math.floor(Math.random() * (max - min + 1)) + min, gdzie 'min' i 'max' to odpowiednio dolna i górna granica zakresu. To podejście jest zgodne z dobrymi praktykami w programowaniu, gdyż pozwala na elastyczne wykorzystanie losowości w aplikacjach.

Pytanie 9

Podczas obróbki dźwięku, aby eliminować niepożądane dźwięki wynikające z niskiej jakości mikrofonu, należy użyć narzędzia

A. wyciszenia
B. echa
C. usuwania szumów
D. obwiedni
Usuwanie szumów to kluczowa technika w przetwarzaniu dźwięku, pozwalająca na eliminację niepożądanych dźwięków, które mogą zakłócać jakość nagrania. Techniki te opierają się na analizie sygnału i identyfikacji częstotliwości, które nie są związane z pożądanym dźwiękiem. Narzędzia do usuwania szumów często wykorzystują algorytmy takie jak filtrowanie adaptacyjne, które dostosowują się do zmieniającego się środowiska akustycznego. Przykładem zastosowania usuwania szumów jest nagrywanie podcastów, gdzie tło dźwiękowe, takie jak hałas uliczny, jest usuwane, co pozwala na uzyskanie czystego i profesjonalnego brzmienia. Przy użyciu oprogramowania takiego jak Audacity czy Adobe Audition, użytkownicy mogą przeprowadzić analizę spektralną, aby zidentyfikować i usunąć niepożądane częstotliwości. Standardy dotyczące przetwarzania dźwięku, takie jak ITU-R BS.1387, podkreślają znaczenie eliminacji szumów dla poprawy jakości słyszalności i wrażeń akustycznych. W ten sposób usuwanie szumów nie tylko poprawia jakość dźwięku, ale także zwiększa zrozumiałość mowy i klarowność nagrań.

Pytanie 10

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' AND miasto='Wrocław';
C. SELECT nazwa FROM sklepy WHERE branza='spożywczy' OR 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 11

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

A. w sekcji nagłówkowej strony.
B. w obrębie znaczników paragrafu.
C. w obrębie znaczników <body> ... </body>
D. w dolnej części witryny internetowej.
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

Jakie mechanizmy są kluczowe dla Systemu Zarządzania Bazą Danych?

A. Wielodostępność do danych
B. Moduł do wizualizacji diagramów encji
C. System do zarządzania wersjami bazy danych
D. Narzędzia do generowania statystyk
Wielodostępność danych jest kluczowym mechanizmem dla systemów zarządzania bazami danych (DBMS), ponieważ umożliwia równoczesny dostęp wielu użytkowników do tych samych danych bez konfliktów. W praktyce oznacza to, że wiele aplikacji lub użytkowników może korzystać z bazy danych w tym samym czasie, co jest niezbędne w wielu złożonych środowiskach, takich jak systemy bankowe, platformy e-commerce czy aplikacje społecznościowe. Mechanizm wielodostępności zapewnia integralność danych oraz ich spójność, co jest osiągane poprzez zastosowanie technik takich jak blokowanie, transakcje i izolacja. Przykładem praktycznym może być system zarządzania rezerwacjami hoteli, w którym wiele osób próbuje zarezerwować ten sam pokój w tym samym czasie. DBMS musi zastosować odpowiednie mechanizmy, aby zrealizować tylko jedną z tych rezerwacji, jednocześnie informując pozostałych użytkowników o braku dostępności. Dobrą praktyką w projektowaniu baz danych jest także przemyślane stosowanie poziomów izolacji transakcji, co pozwala na dostosowanie wydajności i spójności w zależności od potrzeb aplikacji.

Pytanie 13

Po wykonaniu instrukcji języka JavaScript  x = Math.ceil(2.4); wartość zmiennej x będzie wynosić

A. 4
B. 8
C. 2
D. 3
W tym przykładzie kluczowe jest zrozumienie, co dokładnie robi funkcja Math.ceil() w JavaScript. Ta funkcja zawsze zaokrągla liczbę w górę do najbliższej liczby całkowitej, i to niezależnie od tego, jak mała jest część ułamkowa. Dla wartości 2.4 najbliższa liczba całkowita „w górę” to 3, więc po wykonaniu instrukcji x = Math.ceil(2.4); zmienna x przyjmie wartość 3. Nie interesuje nas tu klasyczne zaokrąglanie matematyczne do „najbliższej” liczby, tylko zawsze w stronę dodatniej nieskończoności. W standardzie ECMAScript Math.ceil() jest jedną z podstawowych funkcji do pracy z liczbami, obok Math.floor() (zaokrąglenie w dół) i Math.round() (zaokrąglenie do najbliższej liczby całkowitej). Dla porównania: Math.floor(2.4) da 2, Math.round(2.4) też da 2, a tylko Math.ceil(2.4) zwróci 3. W praktyce webowej takie funkcje są często używane np. przy dzieleniu elementów na strony (paginacja), liczeniu ilości stron w wynikach wyszukiwania, obliczaniu liczby wierszy w siatce (grid), czy przy przeliczaniu miejsc w koszyku, kiedy musisz zawsze „doliczyć” pełną jednostkę. Moim zdaniem warto od razu wyrobić sobie nawyk, żeby przy liczbach zmiennoprzecinkowych w JavaScript pamiętać o różnicach między ceil, floor i round, bo to są podstawowe narzędzia przy każdym kalkulatorze, module cenowym, przeliczaniu czasu trwania, dzieleniu zadań na porcje itd. Dobra praktyka jest też taka, żeby zawsze jasno nazywać zmienne, np. totalPages = Math.ceil(itemsCount / itemsPerPage); – od razu widać, że chodzi o zaokrąglenie w górę. Podsumowując: poprawna odpowiedź to 3, bo Math.ceil() zawsze przesuwa wynik do najbliższej większej lub równej liczby całkowitej. Dla 2.4 jest to właśnie 3.

Pytanie 14

Jakie prawa: CREATE, ALTER, DROP zostały użyte w poleceniu GRANT?

A. pobierania danych z bazy
B. pracy z danymi
C. pracy ze strukturą
D. przyznawania uprawnień innym użytkownikom
Odpowiedź dotycząca manipulowania strukturą jest poprawna, ponieważ polecenia GRANT z zestawem praw CREATE, ALTER i DROP koncentrują się na zmianie i zarządzaniu strukturą bazy danych. CREATE pozwala na tworzenie nowych obiektów w bazie danych, takich jak tabele czy widoki. ALTER umożliwia modyfikację istniejących obiektów, na przykład dodawanie kolumn do tabeli. DROP służy do usuwania obiektów z bazy danych. Przykładowo, po nadaniu uprawnień CREATE, użytkownik może utworzyć nową tabelę, co jest kluczowe w procesie projektowania bazy danych. W praktyce, odpowiednie zarządzanie tymi uprawnieniami jest istotne w kontekście bezpieczeństwa i organizacji danych. Standardy branżowe, takie jak te określone przez SQL ANSI, zalecają precyzyjne zarządzanie uprawnieniami, aby uniknąć nieautoryzowanych zmian w strukturze bazy danych, co może prowadzić do utraty danych lub naruszeń bezpieczeństwa.

Pytanie 15

Jakie słowo kluczowe w języku SQL należy zastosować, aby usunąć powtarzające się rekordy?

A. DISTINCT
B. LIKE
C. ORDER BY
D. GROUP BY
Słowo DISTINCT w SQL to taki sprytny sposób na pozbycie się duplikatów w wynikach zapytań. Jak robisz zapytanie SELECT, które zwraca różne wiersze, to dzięki DISTINCT dostaniesz tylko unikalne wartości w kolumnach, które wybierzesz. Na przykład, mając tabelę 'pracownicy' z kolumną 'miasto', jak użyjesz zapytania 'SELECT DISTINCT miasto FROM pracownicy;', to dostaniesz listę wszystkich miast, w których są pracownicy, a powtórzenia polecą w odstawkę. Warto pamiętać, że DISTINCT działa na całej kombinacji kolumn, które zwracasz. Jak dodasz więcej kolumn w zapytaniu, to SQL wyciągnie unikalne zestawienia tych kolumn. To naprawdę przydatne, zwłaszcza przy dużych zbiorach danych, gdzie duplikaty mogą namieszać w analizach i raportach. DISTINCT jest standardowym elementem w SQL i działa praktycznie w każdym systemie zarządzania bazami danych, jak MySQL czy PostgreSQL, co czyni to narzędzie mega uniwersalnym w codziennym grzebaniu w danych.

Pytanie 16

Kwerenda umożliwiająca wprowadzenie zmian w wielu rekordach lub przeniesienie ich za pomocą jednej operacji nosi nazwę kwerendy

A. wybierającej
B. funkcjonalnej
C. krzyżowej
D. parametrycznej
Kwerenda funkcjonalna to zaawansowane narzędzie w bazach danych, które umożliwia wprowadzanie zmian w wielu rekordach jednocześnie lub przenoszenie ich w ramach jednej operacji. Jest to kluczowy element zarządzania danymi, ponieważ pozwala na efektywne przeprowadzanie operacji, które inaczej wymagałyby wielu oddzielnych kroków. Przykładem może być aktualizacja statusów zamówień w systemie e-commerce, gdzie użytkownik może wykorzystać jedną kwerendę funkcjonalną do zmiany statusu dla setek zamówień jednocześnie. Standardy SQL, takie jak polecenie UPDATE w połączeniu z warunkiem WHERE, są często wykorzystywane do tworzenia kwerend funkcjonalnych, co pozwala na optymalizację czasu przetwarzania oraz minimalizację obciążenia serwera baz danych. Kwerendy te są niezwykle przydatne w kontekście analizy danych, raportowania oraz utrzymania aktualności bazy danych, co przekłada się na lepszą wydajność oraz zarządzanie informacjami.

Pytanie 17

Która wartość tekstowa nie pasuje do podanego w ramce wzorca wyrażenia regularnego?

(([A-ZŁŻ][a-ząęóżźćńłś]{2,})(-[A-ZŁŻ][a-ząęóżźćńłś]{2,})?)
A. Jelenia Góra
B. Kowalski
C. Kasprowicza
D. Nowakowska-Kowalska
Wszystkie pozostałe wartości tekstowe, takie jak Kowalski, Kasprowicza oraz Nowakowska-Kowalska, spełniają wymagania określone przez wzorzec wyrażenia regularnego. Kowalski to przykład pojedynczego nazwiska, które zaczyna się od dużej litery oraz zawiera wystarczającą liczbę małych liter, co czyni je poprawnym. Kasprowicza również jest poprawne, gdyż zawiera dużą literę na początku, a następnie dwa znaki małe, co jest zgodne z wymaganiami. Dodatkowo, oba nazwiska nie zawierają spacji ani innych znaków, które mogłyby zakłócić strukturę wyrażenia regularnego. Nowakowska-Kowalska jest przykładem podwójnego nazwiska, które jest również zgodne z wzorcem, ponieważ składa się z dwóch części, oddzielonych znakiem '-' i każda z nich zaczyna się od dużej litery, a następnie zawiera co najmniej dwa znaki małe. Obie części nazwiska spełniają wymagania dotyczące polskich znaków diakrytycznych oraz ilości liter, dlatego są one uznawane za poprawne. W związku z tym, nieprawidłowa odpowiedź 'Jelenia Góra' wyróżnia się jako jedyna, która narusza zasady ustalone przez wzorzec.

Pytanie 18

Co można powiedzieć o przedstawionym zapisie języka HTML5?

<title>Strona o psach</title>
A. Jest jedynie informacją dla robotów wyszukiwarek i nie jest wyświetlany przez przeglądarkę.
B. Pojawi się na karcie dokumentu w przeglądarce.
C. Zostanie wyświetlony w treści strony, na samej górze.
D. Jest opcjonalny w języku HTML5 i nie musi występować w dokumencie.
Niektóre z proponowanych odpowiedzi zawierają nieprawidłowe informacje na temat znacznika tytułu w języku HTML 5. Pierwsza błędna koncepcja, która pojawiła się, to twierdzenie, że znacznik tytułu jest zapisywany w treści strony, na samej górze. Nie jest to prawda, tytuł jest wyświetlany na karcie przeglądarki, a nie na stronie. Kolejne nieprawidłowe twierdzenie to, że znacznik tytułu jest jedynie informacją dla robotów wyszukiwarek i nie jest wyświetlany przez przeglądarkę. Choć roboty wyszukiwarek korzystają z tytułów stron w celu indeksowania, tytuły są również wyświetlane użytkownikom na kartach przeglądarek. Ostatnia nieprawidłowa odpowiedź sugeruje, że znacznik tytułu jest opcjonalny dla języka HTML 5 i nie musi wystąpić w dokumencie. Jest to błędne, ponieważ każda strona powinna mieć tytuł dla lepszej identyfikacji i optymalizacji SEO. Omitowanie tytułu może prowadzić do problemów z indeksacją strony przez wyszukiwarki.

Pytanie 19

Kompresja bezstratna pliku graficznego zapewnia

A. mniejszą ilość warstw
B. wyższą jakość
C. oryginalną jakość grafiki
D. rozmiar większy niż w oryginale
Kompresja bezstratna pliku graficznego to technika, która pozwala na zmniejszenie rozmiaru pliku graficznego bez utraty jakichkolwiek informacji wizualnych. Oznacza to, że po procesie kompresji, obraz zachowuje swoją pierwotną jakość, a wszystkie detale, kolory i tekstury pozostają nienaruszone. Przykładami formatów wykorzystujących kompresję bezstratną są PNG (Portable Network Graphics) oraz TIFF (Tagged Image File Format). W przypadku PNG, algorytm kompresji, znany jako DEFLATE, pozwala na efektywne zmniejszenie rozmiaru pliku poprzez usuwanie nadmiarowych danych bez wpływu na jakość obrazu. Kompresja bezstratna jest szczególnie ważna w dziedzinach, gdzie jakość grafiki ma kluczowe znaczenie, na przykład w druku, gdzie jakiekolwiek zniekształcenia mogłyby wpłynąć na finalny efekt. Umożliwia ona również edytowanie obrazów bez obawy o degradację jakości, co jest istotne w pracy z grafiką komputerową oraz fotografią. Dzięki temu technologia ta zyskuje na popularności wśród grafików i profesjonalistów zajmujących się obróbką zdjęć.

Pytanie 20

W którym z przedstawionych bloków powinien być umieszczony warunek pętli?

Ilustracja do pytania
A. Rys. A
B. Rys. D
C. Rys. B
D. Rys. C
Rysunek C przedstawia romb który w diagramach przepływu jest standardowo używany do reprezentowania decyzji lub warunków warunku pętli. Pętle w programowaniu są często oparte na warunkach które decydują o ich kontynuacji lub zakończeniu. Umiejscowienie warunku w rombie pozwala na wyrażenie warunku logicznego który może być testowany jako prawda lub fałsz co jest kluczowe dla działania pętli takich jak while czy for. Przykładem może być pętla while która kontynuuje swoje działanie tak długo jak warunek w rombie jest spełniony. W ten sposób romb ułatwia wizualne i logiczne śledzenie decyzji w algorytmie co jest zgodne z dobrymi praktykami programowania takimi jak przejrzystość i czytelność kodu. Użycie rombu zgodnie z konwencją diagramów przepływu poprawia także zrozumienie algorytmu przez innych programistów co zwiększa efektywność współpracy w zespołach deweloperskich. Stosowanie tego symbolu jest również wspierane przez standardy takie jak UML co czyni go uniwersalnym narzędziem w modelowaniu procesów.

Pytanie 21

W tabeli produkt znajdują się artykuły wyprodukowane po roku 2000, posiadające pola nazwa oraz rok_produkcji. Jakie zapytanie SQL pokaże listę artykułów wyprodukowanych?

Ilustracja do pytania
A. w latach innych niż 2017
B. przed rokiem 2017
C. po roku 2017
D. w roku 2017
Analizując działanie zapytania SQL niektóre z błędnych odpowiedzi wynikają z nieprawidłowego zrozumienia funkcji SUBSTR. Funkcja ta pobiera podciąg z konkretnej pozycji w ciągu znaków. W przypadku zapytania SELECT * FROM produkt WHERE SUBSTR(rok_produkcji3 2)=17; zapytanie koncentruje się na dwóch cyfrach rozpoczynających się od trzeciej pozycji. Błędne podejście polegające na sądzeniu że zapytanie wybiera przedmioty wyprodukowane po roku 2017 wynika z braku uwzględnienia faktu że operacja porównania jest wykonywana na wyekstraktowanym podciągu a nie na całym roku. To prowadzi do konkluzji że tylko przedmioty z końcówką roku 17 będą zwrócone. Inne błędne rozumienie sugeruje że przedmioty produkowane przed rokiem 2017 zostaną wybrane co jest niepoprawne ponieważ operacja SUBSTR jasno określa że porównanie dotyczy właśnie roku z końcówką 17. Istotne jest by zrozumieć że tego typu zapytanie nie jest w stanie określić pełnego zakresu dat a jedynie dokładność do dwóch określonych cyfr w danym formacie. W SQL kluczową rolę odgrywa dokładna analiza struktury danych oraz formatów by uniknąć takich nieporozumień. Dzięki temu można zoptymalizować zapytania SQL oraz uzyskać precyzyjne wyniki co jest podstawowym celem w zarządzaniu danymi.

Pytanie 22

Jakim zapisem w języku PHP można określić komentarz, który rozciąga się na wiele linii?

A. #
B. /*  */
C. <!-- -->
D. //
Wybór zapisu # jako sposobu definiowania komentarzy w PHP nie jest poprawny, ponieważ jest to sposób stosowany w innych językach programowania, takich jak Bash czy Perl, do komentowania pojedynczych linii. Komentarze w PHP, które zaczynają się od // również służą do oznaczania komentarzy, ale zaledwie dla jednej linii. Oznacza to, że w przypadku dłuższych opisów, musielibyśmy używać wielu komentarzy liniowych, co obniża czytelność kodu i może prowadzić do zamieszania. Zapis <!-- --> jest całkowicie nieprawidłowy w kontekście PHP. Ten typ komentarza jest używany w HTML i XML, a jego zastosowanie w PHP może skutkować błędami, ponieważ parser PHP nie interpretuje tego formatu jako komentarza. To może prowadzić do sytuacji, w których fragmenty kodu są błędnie analizowane przez interpreter, co skutkuje nieoczekiwanym działaniem programu. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych wniosków, to mylenie konwencji komentarzy w różnych językach programowania lub zakładanie, że pewne zapisy są uniwersalne. W praktyce, zaleca się stosowanie odpowiednich formatów komentarzy zgodnie z ich przeznaczeniem w danym języku programowania, aby uniknąć nieporozumień i błędów w kodzie.

Pytanie 23

W języku HTML5 do wypełniania podpowiedzią kontrolki pola edycyjnego stosuje się atrybut

A. pattern
B. required
C. placeholder
D. autofocus
W tym pytaniu łatwo pomylić kilka atrybutów, bo wszystkie pojawiają się często przy polach formularzy, ale pełnią zupełnie inne funkcje. W HTML5 każdy z nich ma dość precyzyjnie określone znaczenie i przeglądarki zachowują się wobec nich w konkretny sposób. Atrybut "pattern" służy do walidacji danych po stronie przeglądarki, przy użyciu wyrażeń regularnych. Definiujemy w nim wzorzec, który wprowadzony tekst musi spełniać, np. pattern="[0-9]{3}-[0-9]{3}-[0-9]{3}" dla numeru telefonu. On nie wyświetla żadnej podpowiedzi, tylko sprawdza poprawność wpisu. Częsty błąd myślowy jest taki, że skoro mówimy o "wzorcu", to ktoś kojarzy to z przykładem, a to jednak bardziej mechanizm kontroli, nie wizualna instrukcja. "Required" to natomiast atrybut, który oznacza, że pole jest obowiązkowe. Jeżeli użytkownik spróbuje wysłać formularz bez jego wypełnienia, przeglądarka wyświetli komunikat o błędzie. Nie ma tu żadnej podpowiedzi w samym polu, to tylko informacja dla silnika walidacji formularzy HTML5. Wiele osób myli to z jakąś formą "sugestii", ale to zwykłe wymaganie techniczne: albo coś wpiszesz, albo formularz się nie wyśle. "Autofocus" określa, które pole ma automatycznie dostać fokus po załadowaniu strony. Przez to kursor pojawia się od razu w tym polu i użytkownik może zaczynać pisać bez klikania. To ułatwia obsługę formularzy, ale znowu – nie ma nic wspólnego z wyświetlaniem tekstu pomocniczego w środku kontrolki. To tylko kwestia wygody i kolejności interakcji. Podpowiedź widoczna wewnątrz pola edycyjnego, zanim użytkownik zacznie wpisywać dane, jest realizowana wyłącznie przez atrybut "placeholder". Jeśli więc szukamy atrybutu odpowiedzialnego właśnie za ten efekt wizualny, inne opcje są po prostu funkcjonalnie nietrafione, nawet jeśli też dotyczą formularzy.

Pytanie 24

W formularzu, wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w pokazany sposób. Jaki typ będzie miała zmienna x?

var x = parseInt(a);
A. liczbowy, całkowity
B. napisowy
C. NaN
D. zmiennoprzecinkowy
Rzeczywiście, rozumienie tego, jak działa parseInt(), to klucz do ogarnięcia problemów związanych z danymi liczbowymi w JavaScript. Często można spotkać błąd polegający na myśleniu, że parseInt() zwraca liczby zmiennoprzecinkowe, co jest totalnie nieprawidłowe, bo zawsze dostajesz liczbę całkowitą, obcinając część dziesiętną. Inny typowy błąd to oczekiwanie, że dostaniemy NaN, kiedy dane wejściowe to liczby. NaN pojawia się tylko wtedy, gdy string nie zaczyna się od cyfry, a parseInt() nie może nic wyciągnąć. Ważne jest też to, że ta funkcja daje ci liczbę całkowitą, a nie tekst. W praktyce, jeśli nie rozumiesz dobrze konwersji typów, możesz narobić błędów w aplikacjach, co jest istotne, zwłaszcza gdy dokładność danych ma duże znaczenie. Programiści powinni mieć to na uwadze, żeby dobrze zarządzać danymi i unikać zaskakujących rezultatów, co jest zgodne z tym, co mówią najlepsze praktyki w pisaniu kodu. Warto także pamiętać o dodaniu podstawy liczbowej jako drugiego argumentu dla parseInt(), żeby uniknąć pomyłek przy interpretacji danych liczbowych w różnych systemach liczbowych, jak na przykład ósemkowy czy szesnastkowy. To naprawdę wpływa na poprawność działania aplikacji w praktyce.

Pytanie 25

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

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

Pytanie 26

Który styl CSS ma najwyższy priorytet ważności w zastosowaniu do elementów dokumentu HTML?

A. Styl importowany do wewnętrznego arkusza.
B. Wewnętrzny arkusz stylów.
C. Styl lokalny.
D. Zewnętrzny arkusz stylów.
Poprawnie – najwyższy priorytet ma tzw. styl lokalny, czyli deklaracje CSS zapisane bezpośrednio w atrybucie style danego elementu HTML, np. <p style="color:red; font-weight:bold;">. W kaskadowości CSS (Cascade) przeglądarka ustala, które reguły zastosować, biorąc pod uwagę kilka czynników: ważność (normal vs !important), specyficzność selektora, kolejność wystąpienia oraz właśnie źródło stylu. Zgodnie ze specyfikacją CSS (m.in. CSS Cascade Level 4) style inline są traktowane jako bardzo specyficzne, bo dotyczą jednego, konkretnego elementu. Dlatego, jeżeli nie używamy !important, to reguła z atrybutu style nadpisze reguły zewnętrznego, wewnętrznego arkusza, a także style importowane. W praktyce: jeśli w pliku style.css ustawisz p { color: blue; }, w sekcji <style> w <head> dasz p { color: green; }, a na elemencie napiszesz <p style="color:red;">, to tekst będzie czerwony, właśnie dlatego, że styl lokalny wygrywa w kaskadzie. W projektach komercyjnych styl inline stosuje się raczej oszczędnie, bo utrudnia utrzymanie kodu i psuje rozdzielenie warstw (HTML – struktura, CSS – wygląd). Czasem jednak jest bardzo przydatny: generowane maile HTML, szybkie testy, dynamiczna zmiana wyglądu przez JavaScript (np. element.style.display = "none"). Dobrą praktyką jest opieranie się głównie na zewnętrznych arkuszach stylów i selektorach o odpowiedniej specyficzności, a styl lokalny traktować jako wyjątek albo narzędzie „ostatniej szansy”, gdy naprawdę trzeba coś nadpisać na pojedynczym elemencie.

Pytanie 27

Który atrybut należy dodać do znacznika <video>, aby wyciszyć dźwięk odtwarzanego w przeglądarce filmu?

<video>
    <source src="film.mp4" type="video/mp4">
</video>
A. controls
B. autoplay
C. loop
D. muted
Twoja odpowiedź jest poprawna. Atrybut 'muted' jest używany w znaczniku <video>, aby wyłączyć dźwięk dla filmu wyświetlanego w przeglądarce. Jest to sposób na sterowanie dźwiękiem bez konieczności korzystania z dodatkowych elementów kontrolujących odtwarzanie filmu. Jest to bardzo przydatne, gdy chcemy, aby film był odtwarzany w tle bez zakłócania użytkownika dźwiękiem, co jest często stosowane na stronach internetowych. Ważne jest to, że to atrybut 'muted' jest odpowiedzialny za początkowy stan dźwięku filmu, a nie za to, czy użytkownik będzie mógł go później włączyć. Dodatkowo, dobrą praktyką jest pozostawienie użytkownikowi możliwości sterowania dźwiękiem, nawet jeśli jest on domyślnie wyłączony, co można osiągnąć dodając atrybut 'controls'.

Pytanie 28

W języku C, aby zdefiniować stałą, należy zastosować

A. #INCLUDE
B. static
C. #CONST
D. const
Wybór niewłaściwego słowa kluczowego do deklaracji stałych w języku C może prowadzić do poważnych nieporozumień. W przypadku użycia 'static', programista może myśleć, że ta deklaracja ma na celu utrzymanie wartości zmiennej pomiędzy wywołaniami funkcji, ale statyczne zmienne w rzeczywistości nie są stałymi. Wartość 'static' oznacza, że zmienna zachowuje swoją wartość pomiędzy wywołaniami funkcji, jednak jej wartość może być zmieniana, co jest sprzeczne z zamiarem stałej. Ponadto, użycie '#CONST' jest błędne, ponieważ nie istnieje takie preprocesorowe polecenie w języku C. W praktyce polecenia preprocesora są używane do wstępnej obróbki kodu przed jego kompilacją, a nie do deklaracji stałych. Ostatnia opcja, '#INCLUDE', służy do włączania plików nagłówkowych i nie ma żadnego związku z deklarowaniem stałych. Często programiści mogą mylić te terminy, co prowadzi do błędnych założeń dotyczących użycia statycznych zmiennych i stałych. Zrozumienie różnic pomiędzy tymi słowami kluczowymi jest kluczowe dla efektywnego programowania w C oraz dla unikania niezamierzonych błędów w kodzie. W praktyce, stosowanie właściwych słów kluczowych zgodnie z ich przeznaczeniem jest fundamentem poprawnego i wydajnego programowania.

Pytanie 29

W przypadku zaprezentowanego fragmentu kodu HTML, zdefiniowano zasady CSS dla selektora klasy "menu", aby tło bloku miało kolor zielony. Która z poniższych definicji stylu CSS jest zgodna z tym formatowaniem?

A. div.menu { background-color: green; }
B. div:menu { color: green; }
C. menu { background-color: rgb(0,255,0); }
D. #menu { background-color: rgb(0,255,0); }
Wybór stylu CSS, który nie odnosi się do selektora klasy w sposób prawidłowy, prowadzi do nieprawidłowych rezultatów w stylizacji dokumentów HTML. W przypadku selektora 'div:menu', użycie dwukropka sugeruje pseudo-klasę, co jest niewłaściwe w kontekście definiowania stylów dla klasy. Pseudo-klasy są używane do selekcji elementów w określonym stanie, a nie do wywoływania klas. Z kolei 'menu { background-color: rgb(0,255,0); }' jest błędne, ponieważ nie określa, że odnosi się do elementów HTML, co jest kluczowe w CSS. Selektor sam w sobie bez jakiegokolwiek kontekstu HTML nie ma sensu, ponieważ CSS musi odnosić się do istniejących elementów. Ponadto, użycie '#' wskazuje na identyfikator, a nie klasę, co również prowadzi do pomyłki. Użycie identyfikatora 'menu' sugeruje, że na stronie powinien istnieć element z atrybutem id='menu', co nie ma miejsca w podanym przykładzie. Często popełnianym błędem jest pomijanie kontekstu w selektorach, co prowadzi do nieprawidłowego stylu. Kluczowym jest zrozumienie, że CSS jest hierarchiczne i selektory muszą być używane w sposób, który odzwierciedla rzeczywistą strukturę HTML, aby osiągnąć zamierzony efekt wizualny.

Pytanie 30

Który z przedstawionych kodów HTML sformatuje tekst według wzoru?
(uwaga: słowo "stacji" jest zapisane większą czcionką niż reszta słów w tej linii)

Lokomotywa

Stoi na stacji lokomotywa ...

A.
<h1>Lokomotywa</h1>
<p>Stoi na <big>stacji lokomotywa ...</p>

B.
<h1>Lokomotywa</h1>
<p>Stoi na <big>stacji</big> lokomotywa ...</p>

C.
<h1>Lokomotywa</p>
<p>Stoi na <big>stacji</big> lokomotywa ...</p>

D.
<p><small>Lokomotywa</small></p>
<p>Stoi na <big>stacji<big> lokomotywa ...</p>
A. D.
B. B.
C. C.
D. A.
Wybrana odpowiedź nie jest poprawna. Kluczowym elementem tego pytania było zrozumienie, jak konkretny kod HTML wpływa na formatowanie tekstu. Znacznik <big> jest używany do powiększania czcionki, ale musi być poprawnie umieszczony w kodzie, aby efekt był zgodny z oczekiwaniami. Odpowiedzi A, C i D, mimo że używają tego znacznika, nie spełniają tego kryterium. W odpowiedzi A, znacznik <big> jest używany do powiększenia całego tekstu, a nie tylko słowa 'stacji'. W odpowiedzi C, znacznik <big> jest używany w niewłaściwym miejscu. W odpowiedzi D, zastosowano znacznik <small>, który w rzeczywistości zmniejsza rozmiar czcionki. To pytanie pokazuje, jak ważne jest zrozumienie struktury kodu HTML i umiejętność poprawnego stosowania znaczników formatujących. Warto również pamiętać, że znacznik <big> jest przestarzały i zaleca się stosowanie CSS do manipulowania rozmiarem czcionki.

Pytanie 31

Walidator W3C zgłosił błąd walidacji: Zakończony tag p został znaleziony, jednak były otwarte elementy. Który element kodu to dotyczy?

A. <p>Ala ma kota
B. <p>Ala ma kota</p>
C. <p>Ala ma <b>kota</b></p>
D. <p>Ala ma <b>kota</p></b>
Wybrana odpowiedź odnosi się do sytuacji, w której niepoprawnie zamknięto elementy HTML. W niniejszym przykładzie, tag <b> otwarty przed tagiem <p> jest niepoprawnie zamknięty w złą stronę. Poprawny kod HTML powinien najpierw zamknąć element <b>, zanim zamknie element <p>. Oznacza to, że powinien on wyglądać tak: <p>Ala ma <b>kota</b></p>. Standardy W3C, które dotyczą walidacji HTML, podkreślają znaczenie poprawnego zagnieżdżania elementów. Gdy nieprzestrzegamy tej zasady, pojawią się błędy walidacji, co może prowadzić do problemów z wyświetlaniem strony lub interpretacją przez przeglądarki. Zrozumienie zasad poprawnego zagnieżdżania elementów HTML jest kluczowe, aby tworzyć strony internetowe, które są zarówno semantyczne, jak i dostępne. Dlatego ważne jest, by zawsze zwracać uwagę na poprawną strukturę kodu HTML, co zwiększa jego wydajność i użyteczność.

Pytanie 32

Model kolorów oparty na trzech parametrach: hue, saturation i brightness to

A. CMY
B. HSV
C. RGB
D. CMYK
RGB to model barw oparty na trzech kolorach podstawowych: czerwonym, zielonym i niebieskim. W tym modelu kolory są tworzone przez mieszanie tych trzech barw w różnych proporcjach, a nie przez kontrolowanie odcienia, nasycenia i jasności. RGB jest często stosowany w urządzeniach wyświetlających, takich jak monitory i telewizory, a jego wartości są wyrażane w skali od 0 do 255. CMY i CMYK to modele barw, które są stosowane głównie w druku. Model CMY, który składa się z cyjanu, magenty i żółtego, jest odwrotnością RGB, ponieważ używa kolorów subtraktywnych. CMYK, dodający czarny do CMY, jest zaprojektowany specjalnie do uzyskania głębszych tonów i lepszej reprodukcji kolorów w druku. W przeciwieństwie do modelu HSV, zarówno RGB, CMY, jak i CMYK nie uwzględniają łatwego zarządzania odcieniem, nasyceniem i jasnością w sposób, który jest intuicyjny dla użytkownika, co czyni je mniej użytecznymi w kontekście aplikacji graficznych i multimedialnych.

Pytanie 33

Aby zmienić strukturę tabeli w bazie danych MySQL, należy użyć komendy

A. ALTER TABLE
B. INSERT INTO
C. UPDATE
D. GRANT
Odpowiedź 'ALTER TABLE' jest poprawna, gdyż to polecenie w MySQL służy do modyfikacji struktury istniejącej tabeli. Dzięki niemu możemy dodawać nowe kolumny, zmieniać typy danych kolumn, usuwać kolumny, a także zmieniać właściwości tabeli, takie jak klucze główne czy unikalne. Przykład zastosowania polecenia ALTER TABLE to dodanie kolumny do tabeli: 'ALTER TABLE pracownicy ADD COLUMN wiek INT;' co skutkuje dodaniem kolumny 'wiek' o typie INT do tabeli 'pracownicy'. Zgodnie z najlepszymi praktykami, przed wykonaniem takich operacji warto wykonać kopię zapasową bazy danych, aby uniknąć utraty danych w przypadku nieprawidłowego wykonania polecenia. Używanie ALTER TABLE jest kluczowe podczas rozwoju aplikacji, gdyż często zachodzi potrzeba dostosowania struktury bazy danych do zmieniających się wymagań biznesowych.

Pytanie 34

Wskaż, który paragraf jest sformatowany przy użyciu podanego stylu CSS:

p {
    font-family: serif;
    background-color: Teal;
    color: white;
    font-style: italic;
}
Ilustracja do pytania
A. Paragraf 3
B. Paragraf 2
C. Paragraf 1
D. Paragraf 4
Analizując poszczególne paragrafy można zauważyć różnice w ich formatowaniu które nie odpowiadają przedstawionemu stylowi CSS. Przykładowo paragraf 1 choć posiada ciemnozielone tło i biały tekst nie jest zapisany kursywą co jest jednym z kluczowych wymogów stylu font-style: italic. Kolejną różnicą jest użyta czcionka która nie odpowiada krojowi szeryfowemu font-family: serif. Paragraf 2 wykazuje jeszcze większe odstępstwa od stylu CSS. Jego tło jest białe co nie zgadza się z background-color: Teal a także tekst ma inny kolor niż White. Dodatkowo choć tekst jest kursywą to użyta czcionka nie jest szeryfowa. Paragraf 3 mimo że posiada ciemnozielone tło i biały tekst nie jest napisany kursywą co jest wymagane przez font-style: italic a także tekst jest pogrubiony co nie wynika z przedstawionego stylu CSS. Typowe błędy pojawiające się przy analizie stylów CSS wynikają często z nieprawidłowego zrozumienia właściwości oraz braku uwagi na szczegóły takie jak krój czcionki czy szczegółowe ustawienia kolorów tła i tekstu. Właściwe rozumienie specyfikacji CSS oraz umiejętność rozpoznawania subtelnych różnic w stylach jest kluczowa w projektowaniu stron internetowych zgodnych z najlepszymi praktykami branżowymi.

Pytanie 35

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

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

Pytanie 36

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. wysokość 1920 px i szerokość 1080 px.
C. 25 klatek na każdą sekundę filmu.
D. 48 minut czasu trwania filmu.
Na zrzucie ekranu z ustawieniami nowego projektu w programie do montażu wideo widać kilka różnych parametrów: rozdzielczość (Width, Height), liczbę klatek na sekundę (Frame Rate), czas trwania szablonu i inne. Bardzo łatwo jest pomylić te pojęcia, szczególnie gdy ktoś dopiero zaczyna przygodę z montażem. Najczęstszy błąd polega na myleniu liczby klatek na sekundę z całkowitą liczbą klatek w filmie. Informacja „25 fps” nie oznacza „25 klatek na cały film”, tylko „25 klatek na każdą sekundę filmu”. Gdyby film miał np. 5 minut, to przy 25 fps będzie miał 5 × 60 × 25 = 7500 klatek. Widać więc, że całkowita liczba klatek jest dużo większa i zależy bezpośrednio od czasu trwania. Kolejna pułapka to interpretowanie pojedynczej liczby jako długości filmu. Samo „25” w polu Frame Rate nie ma nic wspólnego z minutami czy sekundami trwania projektu. Czas trwania określa się osobno, zwykle w formacie godzin: minut: sekund: klatek (HH:MM:SS:FF). Na ilustracji widać pole Duration, które odpowiada właśnie za długość, ale nie jest ono równe wartości 25. Trzecie nieporozumienie dotyczy rozdzielczości. W ustawieniach jest wyraźnie napisane Width: 1920 pixels, Height: 1080 pixels. To oznacza szerokość 1920 px i wysokość 1080 px, a nie odwrotnie. W praktyce jest to klasyczne Full HD w proporcjach 16:9. Odwrócenie tych wartości sugerowałoby projekt w orientacji pionowej (1080×1920), typowy np. dla wideo na smartfony, ale tutaj tak nie jest. Z mojego doświadczenia wynika, że warto na spokojnie odróżniać trzy rzeczy: rozdzielczość (ile pikseli w poziomie i pionie), klatkaż (ile klatek na sekundę – fps) oraz czas trwania (ile czasu zajmuje cały film). Pomylenie któregokolwiek z tych parametrów może skutkować np. nieprawidłowym formatem eksportu, złą jakością odtwarzania albo dziwnie wyglądającym ruchem. Dlatego dobrze jest, jeszcze przed montażem, świadomie przeczytać i zrozumieć wszystkie ustawienia w oknie „New Project Settings”.

Pytanie 37

Jak określa się proces przekształcania informacji zawartych w dokumencie elektronicznym na format odpowiedni dla konkretnego środowiska?

A. Mapowanie
B. Renderowanie
C. Teksturowanie
D. Rasteryzacja
Renderowanie to kluczowy proces w grafice komputerowej, który polega na przekształceniu danych zawartych w plikach 3D lub scenach do formy wizualnej, która może być wyświetlana na ekranie. Proces ten obejmuje wiele etapów, takich jak oświetlenie, cieniowanie, oraz teksturowanie, które wspólnie determinują ostateczny wygląd obrazu. W praktyce, renderowanie stosowane jest w różnych dziedzinach, w tym w grach komputerowych, filmach animowanych oraz symulacjach architektonicznych. Na przykład, w grach komputerowych renderowanie odbywa się w czasie rzeczywistym, co pozwala na dynamiczne wyświetlanie zmieniających się scen. W kontekście standardów, renderowanie zgodne z API, takimi jak OpenGL lub DirectX, pozwala na uzyskanie wysokiej jakości grafiki. Warto również zauważyć, że istnieją różne techniki renderowania, takie jak ray tracing, które oferują bardziej realistyczne efekty świetlne, jednak są bardziej zasobożerne. Współczesne aplikacje i silniki graficzne, jak Unreal Engine czy Unity, implementują zaawansowane algorytmy renderowania, co umożliwia tworzenie wizualnie oszałamiających doświadczeń użytkownika.

Pytanie 38

Jakie będzie rezultatem działania poniższego kodu PHP?

$a = $c = true; 
$b = $d = false;
if(($a && $b) || ($c && $d)) echo 'warunek1';
elseif(($a && $b) || ($c || $d)) echo 'warunek2';
elseif(($c && $d) || (!$a)) echo 'warunek3';
else echo 'warunek4';
A. warunek3
B. warunek4
C. warunek2
D. warunek1
Analizowany kod PHP to przykład użycia operatorów logicznych w strukturze sterującej if-else, gdzie każda z odpowiedzi reprezentuje wynik działania konkretnego bloku kodu. Zmienna $a i $c są zainicjalizowane jako true, natomiast $b i $d jako false. Zrozumienie tego jest kluczowe dla poprawnej analizy logicznej. Pierwszy warunek if z ($a && $b) || ($c && $d) nie zostaje spełniony, ponieważ zarówno (true && false) jak i (true && false) zwracają false, co skutkuje false || false, czyli false. Kolejna sekcja elseif obejmuje ($a && $b) || ($c || $d). Tutaj (true && false) zwraca false, ale (true || false) daje true, co prowadzi do false || true, czyli true, co spełnia warunek i 'warunek2' zostaje wyświetlony. Trzeci warunek elseif, sprawdzający ($c && $d) || (!$a), nie jest rozpatrywany, ponieważ poprzedni warunek był już true. Warto podkreślić znaczenie logicznych operatorów w programowaniu: && i || odpowiadają za łączenie warunków, a ich poprawne zrozumienie pozwala na efektywne modelowanie logiki aplikacji. Typowym błędem jest mylenie znaczenia tych operatorów, co może prowadzić do błędnych decyzji warunkowych w kodzie. Programiści powinni zawsze upewniać się, że logika warunków jest zgodna z zamierzonym działaniem programu, a testowanie jest kluczowym elementem tego procesu. Zastosowanie testów jednostkowych może pomóc w zapewnieniu prawidłowego działania skomplikowanych struktur logicznych, pozwalając na wykrycie i korektę potencjalnych błędów logicznych.

Pytanie 39

Do jakich celów wykorzystywany jest certyfikat SSL?

A. do eliminowania złośliwego oprogramowania na stronie
B. do deszyfrowania przesyłanych danych
C. do przechowywania informacji o sesjach tworzonych na stronie
D. w celu identyfikacji właściciela domeny
Certyfikat SSL (Secure Sockets Layer) jest kluczowym elementem zapewniającym bezpieczeństwo komunikacji w Internecie. Jego podstawową funkcją jest zidentyfikowanie właściciela domeny oraz potwierdzenie tożsamości serwera, co jest niezwykle istotne w kontekście ochrony danych przesyłanych pomiędzy użytkownikiem a witryną. Certyfikat SSL działa na zasadzie kryptografii asymetrycznej, co oznacza, że każdy certyfikat posiada unikalny klucz publiczny i prywatny. Użytkownicy mogą być pewni, że komunikują się z właściwym serwerem, co zapobiega atakom typu 'man-in-the-middle'. Przykładem zastosowania certyfikatu SSL jest jego wykorzystanie w sklepach internetowych, gdzie dane osobowe oraz informacje o płatnościach są przesyłane w sposób zabezpieczony. Zgodność z standardami bezpieczeństwa, takimi jak PCI DSS, również wymaga użycia certyfikatów SSL. Dlatego wdrożenie certyfikatu SSL jest nie tylko najlepszą praktyką, ale również wymogiem dla wielu typów działalności online.

Pytanie 40

W JavaScript wynik operacji przyjmuje wartość NaN, jeśli skrypt próbował wykonać

A. funkcję sprawdzającą długość napisu, a zawartość zmiennej była liczbą
B. operację arytmetyczną na dwóch zmiennych liczbowych dodatnich
C. funkcję parseFloat zamiast parseInt na zmiennej typu liczbowego
D. operację arytmetyczną, a zmienna miała postać napisu
W JavaScript, wartość NaN (Not-a-Number) jest wynikiem, który pojawia się, gdy operacja arytmetyczna nie może zostać wykonana z powodu nieprawidłowego typu danych. Gdy skrypt próbuje wykonać operacje matematyczne na zmiennej, która jest napisem (string), a nie liczbą, wynikiem jest NaN. Na przykład, wyrażenie '5' + 5 zwróci '55', ponieważ operator '+' w tym przypadku działa jako konkatenacja napisów. Jeżeli jednak spróbujemy wykonać operację, taką jak 'a' * 2, wówczas wynikiem będzie NaN, ponieważ nie można pomnożyć napisu przez liczbę. Zgodnie ze standardem ECMAScript, NaN jest jedyną wartością, która nie jest równa samej sobie, co można sprawdzić za pomocą metody isNaN(). W praktyce, aby uniknąć tego problemu, programiści często stosują funkcje konwertujące, takie jak parseFloat() i parseInt(), aby upewnić się, że operacje są wykonywane na liczbach. Przykładowo, parseFloat('3.14') zwróci 3.14, co umożliwia poprawne przeprowadzenie działań matematycznych.