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: 28 kwietnia 2026 13:36
  • Data zakończenia: 28 kwietnia 2026 13:48

Egzamin zdany!

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

Aby w JavaScript wykonać wymienione kroki, należy w znaczniku <script> umieścić kod

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
    następnie po zatwierdzeniu

2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
    wartość pobrana z okna "Kwalifikacja: ..."
A. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
B. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
C. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
D. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A);
Wybrana odpowiedź nie jest prawidłowa. W JavaScript, funkcja 'alert()' jest używana do wyświetlania okienka z komunikatem, ale nie pozwala na wprowadzenie przez użytkownika żadnej wartości, w przeciwieństwie do funkcji 'prompt()'. Operator '<<' nie jest odpowiedni w tym kontekście, ponieważ jest to operator przesunięcia bitowego, a nie służy do przypisywania wartości do zmiennej. W niektórych niepoprawnych odpowiedziach, próbowano połączyć łańcuchy znaków (stringi) za pomocą kropki ('.'), co jest niepoprawne w JavaScript. Operator do łączenia łańcuchów znaków w tym języku to '+'. Kropka jest używana do dostępu do właściwości obiektów. Pamiętaj, że zrozumienie różnicy między różnymi funkcjami interaktywnymi, takimi jak 'alert()', 'prompt()' i 'confirm()', oraz kiedy ich używać, jest kluczowe do efektywnego tworzenia interaktywnych stron internetowych.

Pytanie 2

Dla tablicy n-elementowej o nazwie t[n], algorytm, zapisany w formie kroków, ma za zadanie obliczenie sumy

Ilustracja do pytania
A. n-elementów tablicy
B. sumy wszystkich elementów tablicy
C. sumy tych elementów tablicy, których wartości są nieparzyste
D. co drugiego elementu tablicy
Błędne odpowiedzi, jakie podałeś, wynikają tak naprawdę z niezrozumienia algorytmu. Po pierwsze, suma wszystkich elementów tablicy wymagałaby przechodzenia przez każdy element bez przeskoków, więc musielibyśmy zwiększać indeks i o 1 w każdym kroku, a to odbiega od tego, co robi ten algorytm. Jakbyśmy chcieli sumować elementy nieparzyste, to musielibyśmy dodać warunek, który sprawdza, czy dany element jest parzysty, zanim go dodamy do wyniku. W ogóle nie ma takiego mechanizmu w tym algorytmie. Suma n-elementów tablicy jest błędna, bo algorytm pomija co drugi element, więc nie może być taką odpowiedzią. Typowe błędy, które się pojawiają w takich zadaniach, to niepełne rozumienie działania pętli i tego, jak aktualizowany jest indeks. Tego rodzaju myślenie może prowadzić do błędnych wniosków na temat tego, które elementy są brane pod uwagę. W praktyce ważne jest, żeby na spokojnie analizować, jak działają warunki iteracyjne i jakie mają konsekwencje dla przetwarzanych danych, bo to kluczowe przy projektowaniu algorytmów i ich wdrażaniu w różnych realnych sytuacjach, gdzie efektywność ma ogromne znaczenie.

Pytanie 3

Które z poniższych poleceń pozwala na dodanie kolumny zadanie_kompletne do tabeli zadania?

A. ADD COLUMN zadanie_kompletne WITH zadania
B. ALTER TABLE zadania ADD COLUMN zadanie_kompletne int
C. INSERT INTO zadania VALUES zadanie_kompletne
D. CREATE INDEX zadania ADD COLUMN zadanie_kompletne int
Dodanie kolumny do istniejącej tabeli w relacyjnej bazie danych może być realizowane za pomocą polecenia ALTER TABLE. To polecenie jest standardem SQL i jest wspierane przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, Oracle czy Microsoft SQL Server. W przypadku zapytania 'ALTER TABLE zadania ADD COLUMN zadanie_kompletne int', polecenie to modyfikuje strukturę tabeli 'zadania', dodając nową kolumnę o nazwie 'zadanie_kompletne', która będzie przechowywać dane typu całkowitego (int). Praktycznym przykładem zastosowania tego polecenia może być system zarządzania projektami, w którym chcemy śledzić status zadań. Po dodaniu tej kolumny, możemy wprowadzać wartości 0 lub 1, które mogą reprezentować, czy zadanie zostało ukończone, czy nie. Użycie ALTER TABLE jest niezbędne, gdyż inne polecenia, takie jak CREATE INDEX czy INSERT INTO, służą do innych celów, takich jak tworzenie indeksów lub wstawianie danych, a nie do modyfikacji struktury tabeli. W praktyce, aby upewnić się, że zmiany są zgodne z wymaganiami systemu, zaleca się zawsze wykonanie kopii zapasowej bazy danych przed przeprowadzeniem operacji na strukturze tabeli.

Pytanie 4

Jakie polecenie SQL zmieni w tabeli tab wartość w kolumnie kol z Ania na Zosia?

A. ALTER TABLE tab CHANGE kol = 'Ania' kol = 'Zosia'
B. ALTER TABLE tab CHANGE kol = 'Zosia' kol = 'Ania'
C. UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia'
D. UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania'
Podane odpowiedzi, które nie wykorzystują odpowiedniej składni SQL lub koncepcji manipulacji danymi, są błędne. Na przykład, aktualizacja wartości 'Ania' na 'Zosia' za pomocą polecenia UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia' nie tylko nie osiągnie zamierzonego celu, ale również wprowadzi w błąd. W rzeczywistości, polecenie to nie zmieni żadnych danych, ponieważ nie ma rekordów, w których kolumna 'kol' zawierałaby wartość 'Zosia', a polecenie próbuje ustawić ją na 'Ania'. Z kolei użycie ALTER TABLE do zmiany wartości w kolumnie jest całkowicie niewłaściwe, ponieważ to polecenie służy do zmiany struktury tabeli, a nie danych w niej zawartych. Alteracja struktury bazy danych jest fundamentalnie różna od aktualizacji wartości w wierszach. Zrozumienie różnicy między tymi dwoma typami operacji jest kluczowe dla efektywnego zarządzania bazami danych. Typowe błędy myślowe obejmują mylenie operacji na danych z operacjami na strukturze bazy danych, co prowadzi do nieefektywnego i błędnego kodowania. Warto także zwrócić uwagę na zapewnienie integralności danych i stosowanie właściwych kryteriów, aby uniknąć przypadkowych modyfikacji lub usunięć danych.

Pytanie 5

Przedstawiony w ramce kod języka PHP oznacza, że zmienna $liczba2 jest

Ilustracja do pytania
A. negacją logiczną zmiennej $liczba1
B. referencją do $liczba1
C. wskaźnikiem do $liczba1
D. iloczynem logicznym ze zmienną $liczba1
Kod $liczba2 = &$liczba1; w PHP często bywa mylony z różnymi innymi mechanizmami, bo ten sam znak & występuje także w innych kontekstach. Tutaj jednak nie mamy ani wskaźnika w sensie znanym z języka C, ani operacji logicznej. Silnik PHP traktuje taki zapis jako utworzenie referencji, czyli dwóch nazw dla tej samej wartości w pamięci. To jest dość wysokopoziomowa konstrukcja, a nie bezpośrednia manipulacja adresami. Mylenie tego zapisu ze wskaźnikiem bierze się z analogii do C/C++, gdzie & kojarzy się z adresem. W PHP programista nie dostaje jednak do ręki adresów pamięci, nie może ich inkrementować, przesuwać ani wykonywać typowych operacji wskaźnikowych. Referencja w PHP jest bardziej mechanizmem zarządzania zmiennymi przez silnik, ukrytym pod prostą składnią. Dlatego mówienie, że $liczba2 jest wskaźnikiem do $liczba1, jest merytorycznie błędne – to inny poziom abstrakcji. Kolejne częste nieporozumienie dotyczy logiki. Operator negacji logicznej w PHP to !, a nie &, więc zapis &$liczba1 nie może oznaczać negacji. Ampersand w kontekście logicznym w PHP w ogóle nie występuje jako samodzielny operator, więc łączenie go z pojęciem negacji jest całkowicie chybione. Podobnie w przypadku iloczynu logicznego: w PHP używa się && albo and, natomiast pojedyncze & ma inne znaczenie – w starszych wersjach języka było też używane do operacji bitowych oraz właśnie do referencji. Żaden z tych wariantów nie pasuje do odpowiedzi o iloczynie logicznym zmiennej $liczba1. Typowy błąd myślowy polega na tym, że ktoś kojarzy sam znak & z „jakąś logiką” lub „adresami pamięci” i na tej podstawie strzela odpowiedź, zamiast odnieść się do konkretnej składni PHP. W programowaniu webowym, szczególnie w PHP, warto patrzeć na pełny kontekst: gdzie stoi &, czy jest przed nazwą zmiennej w definicji funkcji, przy przypisaniu, czy może pomiędzy wyrażeniami. Dopiero z tego wynika prawidłowa interpretacja. W tym zadaniu kontekst jest jasny: mamy operator referencji przy przypisaniu, więc chodzi wyłącznie o powiązanie dwóch zmiennych z tą samą wartością, a nie o logikę czy wskaźniki w niskopoziomowym znaczeniu.

Pytanie 6

Edytor, który realizuje zasady WYSIWYG, powinien umożliwiać

A. publikację serwisów na serwerze przy użyciu wbudowanego klienta FTP
B. przetwarzanie plików dźwiękowych przed ich umieszczeniem na stronie internetowej
C. osiągnięcie podobnego rezultatu tworzonej strony do jej wizualizacji w przeglądarce internetowej
D. tworzenie elementów podstawowej grafiki wektorowej
Edytor WYSIWYG (What You See Is What You Get) jest narzędziem, które umożliwia użytkownikom tworzenie treści internetowych w sposób intuicyjny, bez konieczności znajomości kodu HTML czy CSS. Kluczowym założeniem tego typu edytora jest to, że użytkownik widzi na ekranie dokładny obraz tego, co będzie wyświetlane w przeglądarce. Uzyskanie zbliżonego wyniku tworzonej strony do jej obrazu w przeglądarce internetowej oznacza, że edytor powinien umożliwiać podgląd na żywo oraz edytowanie treści w sposób, który bezpośrednio odzwierciedla rezultaty. Przykładem takiego edytora jest WordPress, który pozwala na tworzenie stron za pomocą edytora blokowego, gdzie użytkownik może na bieżąco widzieć, jak jego strona będzie wyglądać. Standardy, takie jak HTML5 oraz CSS3, są kluczowe w kontekście tworzenia responsywnych i interaktywnych stron, a edytory WYSIWYG powinny wspierać te standardy, aby zapewniać zgodność z nowoczesnymi praktykami webowymi. Dodatkowo, funkcje takie jak przeciąganie i upuszczanie elementów, możliwość dodawania multimediów oraz formatowania tekstu są nieodłącznymi elementami, które przyczyniają się do efektywności edytorów WYSIWYG.

Pytanie 7

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

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

Pytanie 8

Jakiego rodzaju relację uzyskuje się, łącząc ze sobą dwie tabele za pomocą kluczy głównych?

A. jeden do wielu
B. jeden do jednego
C. wiele do jednego
D. wiele do wielu
Odpowiedź 'jeden do jednego' jest prawidłowa, ponieważ w relacjach baz danych, gdy łączymy dwie tabele za pomocą kluczy głównych, każdy rekord w jednej tabeli odpowiada dokładnie jednemu rekordowi w drugiej tabeli. Taki układ jest stosowany, gdy chcemy podzielić dane na różne tabele w celu zachowania ich normalizacji, eliminując redundancję. Na przykład, jeśli mamy tabelę 'Użytkownicy' i tabelę 'Profile', gdzie każdy użytkownik ma dokładnie jeden profil, to relacja między tymi tabelami będzie relacją jeden do jednego. Przy użyciu klucza głównego w tabeli 'Użytkownicy' i klucza obcego w tabeli 'Profile', możemy zapewnić, że każdy użytkownik ma unikalny profil. W praktyce, tego typu relacje są często wykorzystywane w projektowaniu systemów baz danych, aby ułatwić zarządzanie danymi oraz ich integralność, zgodnie z zasadami normalizacji i dobrymi praktykami projektowania baz danych.

Pytanie 9

Jakie słowo kluczowe w językach z grupy C powinno być wykorzystane do nadania alternatywnej nazwy już istniejącemu typowi danych?

A. union
B. typedef
C. switch
D. enum
Użycie słów kluczowych takich jak 'enum', 'union' czy 'switch' w kontekście nadawania alternatywnych nazw dla typów danych w języku C prowadzi do nieporozumień i błędnych praktyk programistycznych. Enum to typ, który definiuje zbiór stałych nazwanych, co pozwala na lepsze zarządzanie zestawem wartości. Na przykład, zamiast używać liczby do reprezentacji dni tygodnia, możemy użyć 'enum { MONDAY, TUESDAY, WEDNESDAY };', co poprawia czytelność, ale nie pozwala na nadanie aliasu dla złożonego typu. Union z kolei to typ, który pozwala na przechowywanie różnych typów w tym samym miejscu w pamięci, co również nie jest odpowiednie do przypisania nazwy dla istniejącego typu. Switch jest konstrukcją sterującą, a nie typem danych, używaną do wykonywania różnych fragmentów kodu w zależności od wartości zmiennej. Użycie tych konstrukcji w miejsce typedef może prowadzić do nieczytelności kodu i błędnych założeń dotyczących typów danych. Kluczowe jest rozumienie, że każdy z tych elementów ma swoje specyficzne zastosowanie, a ich pomylenie z typedef jest typowym błędem myślowym. Właściwe użycie typedef jest fundamentalnym aspektem dobrego programowania w C, ponieważ pozwala na definiowanie bardziej złożonych struktur danych w sposób, który jest zarówno zrozumiały, jak i łatwy do utrzymania.

Pytanie 10

Deklaracja

<!DOCTYPE html>
informuje przeglądarkę internetową o:
A. wersji języka HTML zastosowanej w dokumencie strony internetowej.
B. tytule strony internetowej.
C. dostosowaniu strony internetowej do różnych rozmiarów urządzeń.
D. indeksowaniu strony internetowej na potrzeby pozycjonowania witryny.
Deklaracja <!DOCTYPE html> to wbrew pozorom bardzo ważny element każdej poprawnej strony internetowej. Informuje przeglądarkę, jaka wersja języka HTML została użyta w dokumencie, a w praktyce – że ma renderować stronę w trybie zgodnym ze współczesnym standardem HTML5. Dzięki temu przeglądarka nie próbuje włączać tzw. „quirks mode”, czyli trybu zgodności ze starymi, historycznymi błędami Internet Explorera, tylko stosuje aktualne zasady specyfikacji. Moim zdaniem to jest jeden z tych drobiazgów, które po prostu trzeba pisać z automatu na górze każdego pliku .html. W starszych wersjach HTML deklaracja DOCTYPE była dużo dłuższa i określała konkretne DTD (Document Type Definition), np. dla HTML 4.01 Transitional czy XHTML 1.0 Strict. W HTML5 uproszczono to do jednej, krótkiej formy: <!DOCTYPE html>. To właśnie ta linijka mówi: „to jest dokument HTML5”. Na tej podstawie silnik przeglądarki dobiera reguły parsowania, walidacji struktury i sposób interpretacji wielu elementów, np. sekcji <header>, <footer>, <section>, a także nowych atrybutów formularzy. W praktyce, gdy tworzysz nową stronę, zawsze zaczynasz od: <!DOCTYPE html> <html lang="pl"> <head>… Jeśli pominiesz DOCTYPE albo wpiszesz go błędnie, możesz mieć kłopot z tym, że strona wygląda inaczej w różnych przeglądarkach, pojawią się problemy z modelu pudełkowym CSS (box model), z obsługą nowych znaczników lub z poprawnym działaniem responsywnego layoutu. Walidatory W3C też zakładają konkretną wersję HTML na podstawie DOCTYPE i pod nią sprawdzają poprawność kodu. Z mojego doświadczenia wynika, że poprawny DOCTYPE to absolutna podstawa profesjonalnego front-endu, nawet jeśli wygląda jak coś „magicznego” na samej górze pliku.

Pytanie 11

W języku SQL, jaki będzie efekt wykonania poniższego zapytania?

ALTER TABLE osoba DROP COLUMN grupa;
A. Dodana zostanie kolumna grupa.
B. Zmieniona zostanie nazwa kolumny na grupa.
C. Usunięta zostanie kolumna grupa.
D. Zmieniona zostanie nazwa tabeli na grupa.
Gratulacje, wybrałeś poprawną odpowiedź. W zaprezentowanym pytaniu skupiliśmy się na instrukcji 'ALTER TABLE' w języku SQL, a dokładniej na jej konkretnej odmianie, tj. 'DROP COLUMN'. Ta instrukcja służy do usunięcia kolumny z istniejącej tabeli. W tym konkretnym przypadku, użyto jej do usunięcia kolumny o nazwie 'grupa' z tabeli 'osoba'. Jest to przydatne narzędzie w przypadku, gdy chcemy usunąć dane z bazy bez usuwania całej tabeli. Pamiętaj jednak o skutkach utraty wszystkich danych z tej kolumny. Zawsze warto zrobić backup bazy danych przed taką operacją. Dobrą praktyką jest także sprawdzenie, jakie inne elementy bazy są zależne od usuwanej kolumny, aby uniknąć niespodziewanych problemów.

Pytanie 12

Standard kodowania ISO-8859-2 jest używany do poprawnego wyświetlania

A. znaków zarezerwowanych dla języka opisu strony
B. znaków specjalnych dla języka kodu strony
C. polskich liter, takich jak: ś, ć, ń, ó, ą
D. symboli matematycznych
Kodowanie w standardzie ISO-8859-2, znane również jako Latin-2, jest szczególnie istotne dla poprawnego wyświetlania znaków diakrytycznych, które są charakterystyczne dla języków słowiańskich, w tym polskiego. W standardzie tym zdefiniowane są znaki reprezentujące polskie litery takie jak: ś, ć, ń, ó, ą oraz inne znaki diakrytyczne. Przykładem zastosowania tego kodowania może być strona internetowa zawierająca treści w języku polskim, która wymaga użycia odpowiednich znaków w swoich nagłówkach, akapitach czy formularzach. Stosowanie ISO-8859-2 w HTML-u, np. poprzez deklarację w metatagach, zapewnia, że przeglądarki internetowe będą w stanie prawidłowo interpretować i wyświetlać te znaki, co zwiększa czytelność i dostępność treści dla użytkowników. W kontekście dobrych praktyk, warto zauważyć, że dla nowych projektów często zaleca się korzystanie z kodowania UTF-8, które obejmuje znaki ze wszystkich języków, jednak ISO-8859-2 nadal znajduje zastosowanie w wielu starszych systemach i aplikacjach, gdzie zachowanie zgodności z istniejącymi danymi jest kluczowe.

Pytanie 13

Dana jest tabela uczniowie, do której wpisano rekordy jak na rysunku. Co będzie wynikiem działania przedstawionego zapytania SQL?

SELECT AVG(ocena) FROM uczniowie;

NazwiskoImieocena
KowalskiSebastian4
KaczmarekMarta3
BaryłaZenon4
GotaAnna3
A. Liczba wierszy równa 4
B. Wartość 3.5
C. Dane 4, 3, 4, 3
D. Suma ocen równa 14
Tak, poprawna odpowiedź to 'Wartość 3.5'. W zapytaniu SQL 'SELECT AVG(ocena) FROM uczniowie;' używamy funkcji AVG, żeby obliczyć średnią. W tym przypadku ona bierze oceny z tabeli 'uczniowie' i liczy, ile wynosi średnia. Jak to działa? Suma wszystkich ocen to 14 (3 + 4 + 3 + 4), a mamy cztery oceny, więc dzielimy 14 przez 4 i wychodzi nam 3.5. To jest super przykład, jak można wykorzystać funkcję AVG w SQL, co jest naprawdę przydatne, szczególnie, gdy mamy dużą ilość danych do przeanalizowania. Dobrze jest znać takie funkcje agregujące jak AVG, SUM, MAX czy MIN, bo ułatwiają one analizę danych.

Pytanie 14

W SQL prawo SELECT w poleceniu GRANT umożliwia użytkownikowi bazy danych na

A. tworzenie nowych tabel
B. usuwanie danych z tabeli
C. zmianę danych w tabeli
D. pobieranie danych z tabeli
Wybór innych opcji jako odpowiedzi jest błędny, ponieważ każda z nich odnosi się do różnych operacji, które nie są związane z przywilejem SELECT. Pierwsza z błędnych odpowiedzi sugeruje, że GRANT SELECT pozwala na modyfikowanie danych w tabeli, co jest nieprawdziwe, gdyż operacje modyfikujące dane wymagają przywileju UPDATE. Użytkownicy muszą mieć odpowiednie uprawnienia do zmiany danych, a SELECT nie daje takich możliwości. Druga odpowiedź wskazuje na usuwanie danych z tabeli, co również jest błędne, ponieważ usuwanie rekordów wymaga przywileju DELETE. Przywilej SELECT nie ma żadnego związku z operacjami, które niszczą lub eliminują dane, a jego rolą jest jedynie umożliwienie ich odczytu. Trzecia niepoprawna odpowiedź dotyczy tworzenia tabeli, co wymaga przywileju CREATE. Przywilej SELECT nie daje użytkownikowi możliwości wprowadzania strukturalnych zmian w bazie danych, a jego funkcjonalność ogranicza się jedynie do odczytu danych. W związku z tym, przyznanie przywileju SELECT nie daje użytkownikowi żadnych uprawnień do modyfikowania, usuwania ani tworzenia tabel, co czyni te odpowiedzi nieadekwatnymi w kontekście pytania.

Pytanie 15

Prostokątne zniekształcenia obrazu, które występują przy zapisie pliku graficznego, są typowe dla formatu

Ilustracja do pytania
A. GIF z kompresją bezstratną LZW
B. PNG z kompresją bezstratną LZ77
C. JPEG z dużym stopniem kompresji stratnej
D. BMP bez kompresji
BMP jest formatem, który przechowuje obrazy bez kompresji, co oznacza, że każdy piksel jest zapisywany indywidualnie. Zapewnia to wysoką jakość obrazu bez zniekształceń wynikających z kompresji, ale skutkuje bardzo dużymi rozmiarami plików. BMP jest zatem nieefektywny w kontekście przechowywania i przesyłania dużych ilości danych graficznych. Format GIF natomiast używa kompresji bezstratnej LZW, która pozwala zachować pełną integralność danych graficznych. GIF jest ograniczony do 256 kolorów, co czyni go nieodpowiednim dla złożonych obrazów fotograficznych, a sam format nie generuje prostokątnych zniekształceń widocznych w obrazie. PNG, podobnie jak GIF, korzysta z kompresji bezstratnej, w tym przypadku LZ77, i jest często wykorzystywany do grafik internetowych ze względu na wsparcie dla przezroczystości i szerokiej gamy kolorystycznej. PNG, dzięki zachowaniu pełnych danych, nie wykazuje charakterystycznych dla JPEG efektów zniekształcenia blokowego. Częstym błędem jest zakładanie, że wszystkie formaty kompresji wpływają na jakość obrazu w ten sam sposób, podczas gdy różne algorytmy mają swoje unikalne właściwości i zastosowania. Wybór formatu powinien być oparty na konkretnych potrzebach i zastosowaniach, z uwzględnieniem kompromisu między jakością, a rozmiarem pliku, co ma kluczowe znaczenie w różnych branżach zajmujących się grafiką i fotografią cyfrową.

Pytanie 16

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 17

W języku CSS określono styl dla stopki. Aby zastosować to formatowanie do bloku oznaczonego znacznikiem div, należy wpisać

#stopka { ... }
A. <div title="stopka">
B. <div class="stopka">
C. <div "stopka">
D. <div id="stopka">
Poprawna odpowiedź to <div id="stopka"> ponieważ w CSS użycie selektora ID poprzedzonego znakiem # oznacza, że styl jest stosowany do elementu o określonym identyfikatorze. W HTML atrybut id jest unikalny w obrębie całego dokumentu co oznacza, że może być przypisany tylko do jednego elementu. Stosowanie identyfikatorów jest powszechną praktyką w przypadku stylizacji elementów, które pojawiają się tylko raz na stronie jak stopka nagłówek czy główny kontener treści. Przykład praktycznego zastosowania obejmuje sytuacje gdzie chcesz stylizować konkretną część strony internetowej zachowując jednorodność w całym projekcie. Dobrą praktyką jest również unikanie zbyt częstego używania id na rzecz klas które są bardziej elastyczne i mogą być stosowane do wielu elementów. Jednak w przypadku elementów unikalnych takich jak stopka użycie id jest zgodne z najlepszymi praktykami projektowania stron internetowych. Warto również pamiętać że selektory ID mają wyższy priorytet w CSS co oznacza że ich stylizacje nadpisują te zdefiniowane dla klas o tej samej specyfikacji.

Pytanie 18

Aby uzyskać dane z formularza HTML bez ich widoczności w adresie URL, powinno się użyć

A. metody GET
B. samych kontrolek bez zastosowania formularza
C. wyłącznie funkcji z biblioteki PDO
D. metody POST
Wybór metody POST do przesyłania danych z formularza HTML jest odpowiedni, gdyż ta metoda nie ujawnia przesyłanych informacji w adresie URL, co zwiększa bezpieczeństwo danych. Metoda POST wysyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne dla użytkowników, a także nie są rejestrowane w historii przeglądarki ani w logach serwera tak, jak ma to miejsce w przypadku metody GET. W praktyce, metodę POST wykorzystuje się w sytuacjach, gdy przesyłane są wrażliwe dane, takie jak hasła czy dane osobowe. Na przykład, podczas rejestracji użytkownika na stronie internetowej, dane osobowe są najczęściej przesyłane metodą POST, aby zminimalizować ryzyko ich wycieku. Dobrą praktyką jest również stosowanie HTTPS w połączeniu z metodą POST, co dodatkowo zabezpiecza przesyłane dane przed przechwyceniem przez osoby trzecie. W kontekście standardów, zaleca się stosowanie metody POST, gdyż zapewnia ona większą kontrolę nad przesyłanymi danymi i umożliwia większą ilość danych w porównaniu do metody GET, która jest ograniczona do około 2048 znaków w adresie URL.

Pytanie 19

Określ właściwą sekwencję stylów CSS, biorąc pod uwagę ich priorytet w formatowaniu elementów strony WWW?

A. Rozciąganie stylu, Styl zewnętrzny, Styl lokalny
B. Styl wewnętrzny, Styl zewnętrzny, Rozciąganie stylu
C. Styl zewnętrzny, Wydzielone bloki, Styl lokalny
D. Styl lokalny, Styl wewnętrzny, Styl zewnętrzny
Wskazana odpowiedź, czyli Lokalny, Wewnętrzny, Zewnętrzny, jest zgodna z zasadami kaskadowego stylu arkuszy CSS. Istotą kaskadowości jest to, że style są stosowane według określonej hierarchii. Style lokalne (wbudowane) mają najwyższy priorytet, co oznacza, że jeśli na danym elemencie zastosowano styl lokalny, to zdominuje on wszelkie inne style. Przykład użycia stylu lokalnego to nadanie koloru tła dla konkretnego przycisku poprzez atrybut 'style': <button style='background-color: red;'>Przycisk</button>. W przypadku, gdy nie ma stylu lokalnego, przetwarzany jest styl wewnętrzny, który można zdefiniować w sekcji <style> w nagłówku dokumentu HTML. Na przykład: <style>p { color: blue; }</style> sprawi, że wszystkie akapity będą miały niebieski kolor. Dopiero na końcu brane są pod uwagę style zewnętrzne, które są definiowane w osobnych plikach CSS, na przykład: <link rel='stylesheet' href='style.css'>. Dlatego znajomość tej hierarchii jest kluczowa dla skutecznego tworzenia stylów, co przekłada się na lepsze zarządzanie wyglądem strony oraz unikanie konfliktów stylów. Warto również pamiętać o zasadzie „specyficzności”, która dodatkowo komplikuje temat, ponieważ style mogą mieć różny priorytet w zależności od ich specyfikacji.

Pytanie 20

Wykres słupkowy należy zapisać w formacie rastrowym tak, aby jakość jego krawędzi była jak najlepsza, również dla dużego powiększenia, unikając efektu aliasingu. Do tego celu można zastosować format

A. PNG
B. CDR
C. SVG
D. JPEG
Analizując dostępne możliwości, łatwo się pogubić między formatami rastrowymi a wektorowymi, bo w praktyce często mieszają się te pojęcia. Format JPEG mimo swojej popularności w fotografii zupełnie nie nadaje się do wykresów słupkowych – kompresja stratna silnie degraduje jakość ostrych krawędzi i tekstów, przez co nawet lekko powiększony wykres wygląda nieestetycznie, pojawiają się brzydkie artefakty, rozmycia czy wręcz fragmentacja kolorów. To powszechny błąd, że JPEG jest uniwersalny – tak naprawdę sprawdza się tylko przy zdjęciach i obrazach z płynnymi przejściami kolorów. Z kolei SVG to już zupełnie inna liga, bo to format wektorowy. W nim krawędzie są zawsze idealnie ostre nawet przy dowolnym powiększeniu, bo są opisane matematycznie, a nie jako siatka pikseli. Problem w tym, że pytanie dotyczyło formatu rastrowego, więc SVG – choć fantastyczny do wykresów – nie spełnia tego warunku. CDR, czyli CorelDRAW, to natomiast format projektu wektorowego, popularny raczej w poligrafii i druku, a nie w codziennym zapisie wykresów do prezentacji czy publikacji elektronicznych. Pliki CDR są niekompatybilne z większością standardowych przeglądarek czy edytorów graficznych i wymagają specjalistycznego oprogramowania, więc to raczej ślepy zaułek. Wiele osób nie odróżnia również pojęcia aliasingu – czyli poszarpanych krawędzi w grafice rastrowej – od rozmycia czy utraty jakości wynikającej ze złego formatu. PNG jako jedyny z wymienionych formatów rastrowych umożliwia uzyskanie bardzo ostrych krawędzi, a przy zachowaniu wysokiej rozdzielczości pozwala niemal całkowicie uniknąć efektu aliasingu. Moim zdaniem to jeden z tych tematów, gdzie praktyka bardzo szybko weryfikuje teorię i wybierając PNG, po prostu nie ma się później problemów z jakością czy kompatybilnością. Trzeba pamiętać, że dobór formatu ma ogromny wpływ na ostateczną prezentację danych, dlatego nie warto iść na skróty, tylko dobrać narzędzie do konkretnego celu.

Pytanie 21

W HTML-u znacznik tekst będzie prezentowany przez przeglądarkę w sposób identyczny do znacznika

A. <big>tekst</big>
B. <sub>tekst</sub>
C. <b>tekst</b>
D. <h1>tekst</h1>
Znacznik <strong> w HTML jest używany do oznaczania tekstu, który ma być wyróżniony jako ważny. Jego domyślne stylizowanie w przeglądarkach polega na pogrubieniu tekstu, co jest również funkcją znacznika <b>. Oba znaczniki mają podobne zastosowanie, ale <strong> niesie dodatkowe znaczenie semantyczne, co oznacza, że informuje przeglądarki i maszyny o tym, że dany tekst jest istotny. Przykładem może być użycie <strong> w nagłówkach lub w miejscach, gdzie chcemy zwrócić uwagę na kluczowe informacje, jak np. 'Zamówienie <strong>pilne</strong> musi być dostarczone do jutra.' W kontekście dobrych praktyk zaleca się używanie znaku <strong> zamiast <b>, gdyż wspiera to dostępność i SEO - wyszukiwarki lepiej interpretują semantykę treści, co może wpłynąć na pozycjonowanie strony. Warto również pamiętać, że zgodnie z W3C, semantyka HTML ma kluczowe znaczenie dla strukturyzacji dokumentów oraz ich dostępności.

Pytanie 22

W MS SQL Server predefiniowana rola o nazwie dbcreator umożliwia użytkownikowi

A. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
B. zarządzanie plikami na nośniku
C. zarządzanie zabezpieczeniami systemu
D. tworzenie, aktualizowanie, usuwanie oraz przywracanie bazy danych
Wszystkie pozostałe odpowiedzi są niepoprawne z punktu widzenia funkcji przypisanych do roli dbcreator w MS SQL Server. Stwierdzenie, że rola ta pozwala na wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy, jest błędne, ponieważ taka funkcjonalność jest zarezerwowana dla roli sysadmin, która ma pełne uprawnienia serwera. Użytkownicy z rolą sysadmin mogą wykonywać jakiekolwiek operacje, co stawia ich w pozycji pełnej kontroli, w przeciwieństwie do roli dbcreator, która jest ograniczona do zarządzania bazami danych. Odnośnie zarządzania bezpieczeństwem systemu, to również nie jest odpowiednia funkcja dla dbcreator, ponieważ zarządzanie bezpieczeństwem wymaga bardziej zaawansowanych uprawnień, które są przydzielane innym rolom, takim jak securityadmin. W końcu, zarządzanie plikami na dysku nie wchodzi w zakres kompetencji dbcreator, ponieważ ta rola skupia się na operacjach związanych z bazami danych, a nie na zarządzaniu systemem plików czy innymi zasobami systemowymi. Te nieprawidłowe wnioski mogą wynikać z nieporozumienia dotyczącego funkcji ról w SQL Server, a także z braku znajomości hierarchii uprawnień oraz ich zastosowania w praktyce. Zrozumienie różnic między rolami jest kluczowe w kontekście efektywnego zarządzania bezpieczeństwem i dostępem w środowisku baz danych.

Pytanie 23

W SQL, aby usunąć wszystkie rekordy z tabeli, ale zachować jej strukturę, należy użyć polecenia:

A. REMOVE
B. DROP TABLE
C. DELETE FROM
D. TRUNCATE
Istnieje kilka nieporozumień związanych z usuwaniem danych z tabel SQL, co może prowadzić do błędów. Polecenie <code>DROP TABLE</code> jest często mylone z <code>DELETE FROM</code>. Jednak <code>DROP TABLE</code> usuwa zarówno dane, jak i strukturę tabeli, co oznacza, że po jego użyciu nie będzie można odzyskać tabeli bez jej ponownego stworzenia. To polecenie jest destrukcyjne i powinno być używane tylko wtedy, gdy mamy pewność, że tabela nie jest już potrzebna. Z kolei <code>REMOVE</code> nie jest poprawnym poleceniem SQL. To może wynikać z mylnego przekonania, że istnieje takie polecenie w języku SQL, jednak w rzeczywistości nie jest ono częścią standardu SQL. Tego typu błędy wynikają często z nieznajomości składni SQL lub mylenia z innymi językami programowania, które mogą mieć podobne polecenia. Na koniec, <code>ERASE TABLE</code> również nie jest poprawnym poleceniem SQL. Może to być wynikiem intuicyjnego podejścia do nazewnictwa poleceń, ale w rzeczywistości SQL posługuje się innymi komendami. Kluczowe jest, by dobrze zrozumieć standardy języka SQL i znać właściwe polecenia dla zamierzonych operacji, aby uniknąć potencjalnie destrukcyjnych działań na bazie danych.

Pytanie 24

Podana jest tabela książki z kolumnami: tytuł, autor (w formie tekstowej), cena (w formie liczbowej). Jaką kwerendę SELECT należy wykorzystać, aby otrzymać tylko tytuły, których cena jest niższa niż 50 zł?

A. SELECT tytul FROM ksiazki WHERE cena > '50 zł';
B. SELECT tytul FROM ksiazki WHERE cena < 50;
C. SELECT ksiazki FROM tytul WHERE cena < '50 zł';
D. SELECT * FROM ksiazki WHERE cena < 50;
Odpowiedzi, które zostały podane jako niepoprawne, zawierają różne błędy w składni oraz logiczne nieścisłości. W pierwszym przypadku, zapytanie "SELECT * FROM ksiazki WHERE cena < 50;" zwraca wszystkie kolumny z tabeli, co nie jest zgodne z wymaganiami pytania, które prosi o zwrócenie jedynie tytułów książek. Użycie operatora * zamiast konkretnego pola jest nieefektywne, co prowadzi do większego obciążenia, szczególnie przy dużych zbiorach danych. Innym zapytaniem, które jest niepoprawne, jest "SELECT tytul FROM ksiazki WHERE cena > '50 zł';". To zapytanie zawiera błąd w operatorze porównania, ponieważ zamiast poszukiwać książek tańszych niż 50 zł, filtruje te droższe. Dodatkowo, zawarcie ceny jako tekstu ('50 zł') wprowadza nieprawidłowe zachowanie porównania, ponieważ SQL nie przetwarza wartości tekstowych jako liczb. Wreszcie, zapytanie "SELECT ksiazki FROM tytul WHERE cena < '50 zł';" jest całkowicie błędne, ponieważ sugeruje, że wybieramy kolumnę z tabeli 'ksiazki' na podstawie warunków dotyczących innej kolumny. Tego typu błędne zrozumienie struktury i składni SQL często prowadzi do frustracji w pracy z bazami danych. Kluczowe w nauce SQL jest zrozumienie, że każdy element zapytania ma swoje miejsce i rolę, co pozwala na tworzenie poprawnych i efektywnych kwerend.

Pytanie 25

Na listingu kodu JavaScript w wykropkowanej części definicji obiektu osoba należy wpisać kod, który prawidłowo obsłuży instrukcję osoba.j = "PL"; Który to będzie kod?

 var osoba = {
    imie: "Jan",
    jezyk: "EN",
    set j(nazwa) {  ...  }
};
A. this.jezyk = nazwa;
B. this.j = nazwa;
C. return this.jezyk;
D. return this.j;
Niepoprawne odpowiedzi w tym pytaniu wynikają z niezrozumienia roli setterów i sposób, w jaki są one używane do zarządzania stanem obiektu w JavaScript. Odpowiedź 'this.j = nazwa;' jest nieprawidłowa, ponieważ próbuje przypisać wartość bezpośrednio do właściwości 'j', która nie istnieje w obiekcie 'osoba'. Z kolei 'return this.j;' i 'return this.jezyk;' nie są prawidłowe, ponieważ setter nie powinien zwracać wartości. Jego zadaniem jest ustawienie wartości, a nie jej zwrócenie. Zrozumienie roli setterów w zarządzaniu stanem obiektu jest kluczowe dla prawidłowego używania JavaScript. Setter powinien zawsze przypisywać wartość do właściwości obiektu, a nie próbować zwrócić wartość lub przypisać wartość do nieistniejącej właściwości.

Pytanie 26

Zmienna o typie integer lub int jest w stanie przechowywać

A. liczbę rzeczywistą
B. znak
C. łańcuch znaków
D. liczbę całkowitą
Zmienna typu integer, znana również jako int, jest podstawowym typem danych w wielu językach programowania, takich jak C, C++, Java czy Python. Jej kluczową zaletą jest możliwość przechowywania tylko liczb całkowitych, co czyni ją idealnym wyborem do operacji arytmetycznych, które wymagają precyzyjnego zarządzania wartościami całkowitymi bez części dziesiętnych. Przykłady zastosowania to m.in. przechowywanie ilości przedmiotów w magazynie, zliczanie punktów w grze lub reprezentowanie indeksów w tablicach. W praktyce, użycie zmiennych typu integer umożliwia efektywne wykorzystanie pamięci, ponieważ zajmują one mniej miejsca niż zmienne typu zmiennoprzecinkowego, a ich operacje są wykonywane szybciej. Ponadto, stosowanie zmiennych całkowitych jest zgodne z dobrymi praktykami programowania, które zalecają dobór odpowiednich typów danych do specyficznych potrzeb aplikacji, co zwiększa ich wydajność i czytelność kodu. Warto także zrozumieć, że w kontekście programowania, typ zmiennej determinuje zakres wartości, które można przechowywać, co w przypadku typu integer zwykle wynosi od -2,147,483,648 do 2,147,483,647 w standardzie 32-bitowym, co czyni go wystarczającym dla wielu zastosowań.

Pytanie 27

W języku CSS zdefiniowano styl. Sformatowana stylem sekcja będzie zawierała obramowanie o szerokości

div { border: solid 2px blue;
    margin: 20px;             }
A. 20 px oraz marginesy na zewnątrz tego obramowania.
B. 20 px oraz marginesy wewnątrz tego obramowania.
C. 2 px oraz marginesy wewnątrz tego obramowania.
D. 2 px oraz marginesy na zewnątrz tego obramowania.
Gratulacje, twoja odpowiedź jest poprawna! W CSS obramowanie (border) i margines (margin) są dwoma różnymi typami przestrzeni, które możemy zdefiniować wokół elementu. W tym pytaniu dokładnie określono styl obramowania jako linię ciągłą o szerokości 2 piksele. W praktyce jest to cienka linia otaczająca element na stronie. Z kolei margines zdefiniowany jako 20 pikseli to przestrzeń między obramowaniem a następnym elementem. Jest to zgodne ze standardami CSS, które mówią, że marginesy znajdują się zawsze na zewnątrz obramowania. To dlaczego '2 px oraz marginesy na zewnątrz tego obramowania' jest poprawną odpowiedzią. W praktyce, kontrolowanie obramowania i marginesów pozwala nam na precyzyjne ułożenie elementów na stronie, co jest kluczowym aspektem tworzenia responsywnych, atrakcyjnych stron internetowych.

Pytanie 28

Jakie kolory wchodzą w skład modelu barw CMYK?

A. czerwony, zielony oraz niebieski
B. czerwony, zielony, niebieski oraz kanał alfa
C. cyjan, magenta, żółty i czarny
D. cyjan, magenta, żółty i karmazyn
Model barw CMYK (Cyan, Magenta, Yellow, Key/Black) jest jednym z najczęściej wykorzystywanych modeli kolorystycznych w druku. Składa się z czterech podstawowych składowych, które są używane do tworzenia szerokiej gamy kolorów poprzez ich nakładanie. Cyjan, magenta, żółty i czarny są barwami subtraktywnymi, co oznacza, że podczas mieszania ich ze sobą światło jest absorbowane, a nie emitowane, jak ma to miejsce w modelach addycyjnych, takich jak RGB. Przykładem zastosowania modelu CMYK jest druk offsetowy, gdzie kolory są nakładane na papier w formie warstw, co umożliwia uzyskanie intensywnych i nasyconych odcieni. Standardy takie jak ISO 12647 określają zasady dotyczące kolorymetrii w druku, a także wymagania dotyczące reprodukcji kolorów. W praktyce projektanci graficzni i specjaliści ds. druku korzystają z tego modelu, aby precyzyjnie odwzorować kolory na różnych materiałach, co jest kluczowe dla zachowania spójności wizualnej w materiałach drukowanych.

Pytanie 29

W języku JavaScript potrzebne jest odwołanie się do elementu znajdującego się w pierwszym paragrafie danego fragmentu kodu HTML. Można to osiągnąć przy użyciu funkcji

<body>
<p>pierwszy paragraf</p>
<p>drugi paragraf</p>
<p>trzeci paragraf</p>
A. getElementsByClassName('p.1')[0]
B. getElementsByTagName('p')[0]
C. getElementById('p1')
D. getElement('p')
Metoda getElementsByClassName("p.1")[0]; jest niepoprawna, ponieważ jej użycie zakłada, że w dokumencie HTML występuje element z klasą "p.1", a w podanym fragmencie HTML nie ma żadnego elementu, który spełniałby ten warunek. Klasy w HTML definiuje się za pomocą atrybutu class, a nie poprzez dotację z kropką w nazwie. W przypadku użycia getElementById("p1");, ta metoda zakłada, że istnieje element z unikalnym identyfikatorem "p1". W przedstawionym fragmencie również tego identyfikatora nie ma, co czyni tę odpowiedź błędną. Metoda getElement("p"); jest nieprawidłowa, ponieważ takiej metody nie ma w standardowym obiekcie document w JavaScript. Programista, zamiast tego, powinien użyć getElementById lub getElementsByTagName. Użycie getElementsByTagName jest najlepszą praktyką, ponieważ pozwala na selekcję wszystkich elementów danego typu. Często mylące są koncepcje związane z selekcją elementów; kluczowe jest zrozumienie, że metody JavaScript są czułe na typy i struktury dokumentu. Dlatego ważne jest, aby dokładnie wiedzieć, jakie elementy chcemy wybrać i jakie metody są do tego dostępne w standardzie DOM.

Pytanie 30

Zgodnie z zasadami ACID, które odnoszą się do realizacji transakcji, wymóg trwałości (ang. durability) oznacza, że

A. w przypadku naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi
B. w trakcie wykonywania transakcji dane mogą być zmieniane przez inne transakcje
C. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od wydarzeń, które nastąpią po jej zakończeniu
D. transakcja może w pewnych okolicznościach być podzielona na dwa niezależne etapy
Trwałość (czyli durability) w bazach danych to taka cecha, która mówi, że jak już zatwierdzisz transakcję, to wszystkie zmiany zostaną na zawsze w systemie. To znaczy, że niezależnie od tego, co się później wydarzy, jak na przykład awaria, Twoje dane są bezpieczne. To naprawdę ważne, bo pozwala na utrzymanie spójności i pewności, że system działa tak, jak powinien. Weźmy na przykład systemy bankowe. Gdy robisz przelew, musisz być pewien, że pieniądze poszły tam, gdzie miały, nawet jak serwer padnie tuż po zakończeniu transakcji. Dobrze jest mieć też takie mechanizmy, jak zapisywanie dzienników, które pomagają odtworzyć dane, jeśli coś pójdzie nie tak. Trwałość to kluczowa sprawa w projektowaniu baz danych, bo buduje zaufanie użytkowników oraz pozwala spełnić różne normy i regulacje.

Pytanie 31

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

A. kiedy zostanie najechane kursorem myszy bez jego klikania
B. jeżeli jest to pierwsza obecność tego elementu w dokumencie
C. w każdej sytuacji
D. po naciśnięciu przycisku myszy w celu wprowadzenia tekstu
Odpowiedź 'po kliknięciu myszą w celu zapisania w nim tekstu' jest poprawna, ponieważ styl CSS zdefiniowany jako 'input:focus' odnosi się do stanu, w którym pole edycyjne jest aktywne i gotowe do wprowadzania danych. Kiedy użytkownik klika w pole edycyjne, przeglądarka przełącza jego stan na 'focus', co skutkuje zastosowaniem zdefiniowanego stylu, w tym przypadku jasnozielonego tła. Dzięki temu użytkownicy mogą wizualnie zidentyfikować, które pole edycyjne jest aktualnie wybrane, co znacząco poprawia użyteczność i interaktywność formularzy na stronach internetowych. W praktyce, jest to kluczowe podczas projektowania formularzy, aby zapewnić użytkownikom wyraźne wskazówki dotyczące aktualnego stanu interfejsu. Dobrym przykładem zastosowania jest formularz rejestracyjny, gdzie aktywne pole edycyjne wyróżnia się kolorem, ułatwiając użytkownikom wprowadzanie danych. Zgodnie z wytycznymi WCAG (Web Content Accessibility Guidelines), takie wizualne wskazówki są istotne dla zapewnienia dostępności aplikacji webowych, co czyni je standardem branżowym.

Pytanie 32

Która z funkcji agregujących dostępnych w SQL służy do obliczania średniej z wartości znajdujących się w określonej kolumnie?

A. MIN
B. SUM
C. COUNT
D. AVG
Funkcja AVG w języku SQL jest wbudowaną funkcją agregującą, która służy do obliczania średniej wartości we wskazanej kolumnie. Oblicza ona średnią arytmetyczną z wartości liczbowych w danej kolumnie, co jest niezwykle przydatne w analizie danych. Na przykład, jeśli mamy tabelę z wynikami sprzedaży, możemy użyć zapytania SQL: SELECT AVG(sprzedaż) FROM tabela_sprzedaży; aby uzyskać średnią sprzedaż. Dobrą praktyką jest stosowanie tej funkcji w połączeniu z klauzulą GROUP BY, co pozwala na obliczenie średnich wartości w różnych grupach danych, na przykład średnia sprzedaż według kategorii produktowej. Przy stosowaniu funkcji AVG warto pamiętać, że ignoruje ona wartości NULL, co wpływa na wynik obliczeń. W kontekście analizy danych w SQL, znajomość takich funkcji jak AVG jest kluczowa dla efektywnego przetwarzania i analizy informacji, co stanowi fundament dobrego zarządzania danymi.

Pytanie 33

Jaką wartość zwróci funkcja empty($a); w języku PHP, gdy zmienna $a będzie miała wartość 0?

A. FALSE
B. NULL
C. TRUE
D. 0
Funkcja empty($a) w języku PHP zwraca TRUE, gdy zmienna $a jest uznawana za pustą. Zgodnie z definicją, pustą wartość w PHP mają zmienne, które są równoważne FALSE, co obejmuje m.in. wartość 0, pusty string, NULL oraz pustą tablicę. W przypadku, gdy zmienna $a przyjmuje wartość liczbową równą 0, funkcja empty() zwróci TRUE, ponieważ 0 jest interpretowane jako wartość uznawana za pustą. To zachowanie jest zgodne z zasadami silnej typizacji w PHP, które pozwalają na dynamiczne sprawdzanie typów zmiennych. W praktyce, funkcję empty() można wykorzystać do walidacji danych wejściowych, na przykład w formularzach, gdzie istotne jest, aby użytkownik wprowadził wartość. Zamiast porównywać zmienną z różnymi pustymi wartościami, wywołanie empty() pozwala na bardziej zwięzły i czytelny kod. Warto również pamiętać, że empty() nie generuje ostrzeżeń w przypadku nieistniejącej zmiennej, co czyni ją bezpieczniejszym wyborem niż inne metody sprawdzania wartości.

Pytanie 34

Który z wymienionych systemów nie należy do systemów CMS?

A. WordPress
B. Drupal
C. Adobe Flash
D. Joomla!
Drupal, Joomla! oraz WordPress to systemy zarządzania treścią, które różnią się pod względem funkcji, architektury oraz grupy docelowej. Drupal jest zaawansowanym CMS-em, który dedykowany jest zarówno dla profesjonalnych twórców stron, jak i dużych organizacji, oferując niezwykle elastyczne możliwości konfiguracji oraz bogaty ekosystem modułów. Dzięki temu, użytkownicy mogą tworzyć skomplikowane strony internetowe i aplikacje webowe, zarządzając jednocześnie złożonymi strukturami treści. Joomla! to kolejny CMS o szerokim zastosowaniu, który łączy w sobie łatwość użycia z potężnymi funkcjami, co czyni go idealnym rozwiązaniem dla małych i średnich przedsiębiorstw. Oferuje szereg komponentów, które umożliwiają dodawanie różnych funkcji, takich jak galerie zdjęć, forum czy e-commerce. WordPress, z kolei, to najpopularniejszy CMS na świecie, znany z prostoty obsługi oraz bogatej biblioteki wtyczek i motywów. Jest idealny dla blogerów oraz osób chcących szybko stworzyć stronę internetową. Każdy z tych systemów ułatwia użytkownikom zarządzanie treścią, archiwizację, a także publikację bez potrzeby znajomości programowania, co czyni je niezastąpionymi narzędziami w tworzeniu nowoczesnych stron internetowych.

Pytanie 35

Aby obraz umieszczony za pomocą kodu HTML mógł być rozpoznawany przez programy wspierające osoby niewidome, konieczne jest określenie atrybutu

A. alt
B. border
C. src
D. sizes
Atrybut 'alt' (alternatywny tekst) jest kluczowym elementem w kontekście dostępności stron internetowych, szczególnie dla osób niewidzących. Jego głównym celem jest dostarczenie opisowej informacji o obrazie, który nie może być bezpośrednio widziany. W przypadku obrazów, które nie są widoczne z różnych powodów (np. uszkodzenie pliku, brak połączenia internetowego lub korzystanie z czytników ekranu), tekst alternatywny pomaga zrozumieć kontekst i znaczenie danego obrazu. Przykład zastosowania: dla obrazka przedstawiającego logo firmy, można użyć atrybutu alt w następujący sposób: <img src='logo.png' alt='Logo firmy XYZ'>. W ten sposób, jeśli obrazek nie załadowałby się, użytkownik korzystający z czytnika ekranu otrzyma informację o tym, co ten obraz przedstawia. Definiowanie atrybutu 'alt' jest zgodne z wytycznymi WCAG (Web Content Accessibility Guidelines), które zalecają, aby wszystkie obrazki, które pełnią funkcję informacyjną, były opisane w taki sposób, aby zapewnić pełny dostęp do treści wszystkim użytkownikom. W praktyce takie podejście nie tylko poprawia dostępność, ale również pozytywnie wpływa na SEO, ponieważ wyszukiwarki również analizują ten atrybut.

Pytanie 36

Język PHP zapewnia wsparcie dla

A. obiektów przeglądarki
B. zdarzeń związanych z myszą
C. sesji i ciastek
D. klawiszy klawiatury
PHP, jako język skryptowy po stronie serwera, oferuje wsparcie dla zarządzania sesjami oraz ciasteczkami, co jest kluczowe w kontekście tworzenia aplikacji internetowych. Sesje w PHP umożliwiają przechowywanie danych użytkownika pomiędzy różnymi żądaniami HTTP, co jest istotne w przypadku potrzeb utrzymania stanu aplikacji, np. podczas logowania. Dzięki funkcjom takim jak session_start() można łatwo rozpocząć nową sesję lub wznowić istniejącą. Ciasteczka, z kolei, pozwalają na przechowywanie danych po stronie klienta, co umożliwia personalizację doświadczeń użytkowników na stronie. Przykładem może być zapisywanie preferencji użytkownika, takich jak język interfejsu. Dobre praktyki w zakresie obsługi sesji i ciasteczek obejmują stosowanie bezpiecznych identyfikatorów sesji, ograniczanie czasu życia ciasteczek, a także ich szyfrowanie, co chroni przed atakami typu session hijacking. W ten sposób PHP gwarantuje, że aplikacje są nie tylko funkcjonalne, ale także bezpieczne.

Pytanie 37

Jednostka ppi (pixels per inch) odnosi się do rozdzielczości?

A. jest miarą rozdzielczości skanerów, definiującą częstotliwość próbkowania obrazu
B. określa rozdzielczości obrazów wytwarzanych przez drukarki oraz plotery
C. określa rozdzielczość obrazów rastrowych
D. jest wskaźnikiem definiującym rozdzielczość cyfrowych urządzeń dokonujących pomiarów
Zrozumienie pojęcia PPI (pixels per inch) jest kluczowe dla efektywnego zarządzania grafiką cyfrową, a podawanie PPI jako parametru odniesienia do rozdzielczości innych urządzeń, takich jak skanery lub drukarki, jest mylne. PPI odnosi się ściśle do rozdzielczości obrazów rastrowych, które są tworzone z pikseli. Pojęcia, takie jak rozdzielczość skanerów, odnoszą się do innej jednostki miary, zazwyczaj określanej w DPI (dots per inch), która określa liczbę kropli tuszu lub punktów, jakie maszyna może nałożyć na cal. To prowadzi do nieporozumień w interpretacji, ponieważ DPI i PPI, mimo że są używane w kontekście jakości obrazu, służą różnym celom. W przypadku rozdzielczości generowanej przez drukarki i plotery, ich wydajność nie jest bezpośrednio związana z PPI, lecz raczej z DPI, co ma kluczowe znaczenie w kontekście technik druku oraz jakości uzyskiwanych wydruków. W praktyce, błędne zrozumienie tych jednostek może prowadzić do zaprojektowania grafiki, która nie spełnia oczekiwań jakościowych, co jest szczególnie istotne w sytuacjach, gdy precyzja i szczegółowość są kluczowe, takich jak w projektach reklamowych czy publikacjach. Dlatego istotne jest, aby zawsze odnosić się do właściwych jednostek miary w zależności od kontekstu zastosowania, co umożliwia optymalne wykorzystanie zasobów i osiągnięcie zamierzonych rezultatów w projektowaniu graficznym.

Pytanie 38

Jakie działanie wykonuje polecenie DBCC CHECKDB("sklepAGD", Repair_fast) w MS SQL Server?

A. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
B. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
C. zweryfikuje spójność danej tabeli
D. sprawdzi spójność bazy danych i utworzy kopię zapasową
Polecenie DBCC CHECKDB w MS SQL Server to narzędzie używane do weryfikacji integralności bazy danych. W przypadku użycia opcji Repair_fast, polecenie to sprawdza spójność bazy danych oraz naprawia uszkodzone indeksy. Jest to istotne w kontekście zapewnienia, że wszystkie dane w bazie są prawidłowo zorganizowane i dostępne. Uszkodzone indeksy mogą prowadzić do problemów z wydajnością zapytań oraz błędów w dostępie do danych. Przykładowo, gdy baza danych ulega uszkodzeniu z powodu awarii sprzętu lub błędów oprogramowania, DBCC CHECKDB umożliwia przywrócenie funkcjonalności. Dobrą praktyką jest regularne wykonywanie tego polecenia jako część strategii utrzymania bazy danych, co pozwoli na wcześniejsze wykrycie potencjalnych problemów, zanim staną się one krytyczne. Warto również zaznaczyć, że DBCC CHECKDB powinno być uruchamiane w odpowiednich oknach serwisowych, by zminimalizować wpływ na wydajność aplikacji korzystających z bazy danych.

Pytanie 39

Wskaż styl CSS za pomocą którego został uzyskany przedstawiony efekt.

  • psy
  • koty
  • chomiki
  • świnki morskie
  • rybki
A. ul li:hover { background-color: DodgerBlue; }
B. ul li:nth-child(even) { background-color: DodgerBlue; }
C. ul li:nth-child(odd) { background-color: DodgerBlue; }
D. ul li:active { background-color: DodgerBlue; }
Wybrane przez Ciebie odpowiedzi są nieprawidłowe. Zacznijmy od selektora CSS 'ul li:active { background-color: DodgerBlue; }' - aktywny stan elementu to moment, kiedy jest on aktualnie klikany, co nie pasuje do obserwowanego efektu. Następnie 'ul li:nth-child(odd) { background-color: DodgerBlue; }' - ten selektor odnosi się do nieparzystych elementów listy, podczas gdy na obrazku parzyste elementy mają niebieskie tło. Na koniec 'ul li:hover { background-color: DodgerBlue; }' - pseudoklasa :hover odnosi się do stanu, kiedy kursor myszy jest nad elementem, co również nie jest zgodne z efektem na obrazku. Wybór nieodpowiedniej pseudoklasy sugeruje, że nie zrozumiałeś do końca ich zastosowania w CSS. Jest to typowy błąd, który można naprawić przez dokładniejsze zapoznanie się z tym aspektem języka CSS, konkretnie z różnymi pseudoklasami i ich zastosowaniem.

Pytanie 40

Wskaź na właściwą sekwencję tworzenia aplikacji?

A. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, testowanie, wdrażanie
B. Specyfikacja wymagań, analiza potrzeb klienta, tworzenie, wdrażanie, testowanie
C. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, wdrażanie, testowanie
D. Tworzenie, analiza potrzeb klienta, specyfikacja wymagań, wdrażanie, testowanie
Prawidłowa kolejność tworzenia aplikacji zaczyna się od analizy wymagań klienta, co jest kluczowym etapem, pozwalającym zrozumieć oczekiwania oraz potrzeby użytkowników. Następnie, na podstawie zebranych informacji, sporządzana jest specyfikacja wymagań, która dokładnie opisuje, jakie funkcjonalności i cechy powinna posiadać aplikacja. To dokument, który stanowi fundament dla dalszych prac programistycznych. W kolejnej fazie następuje etap tworzenia, w którym programiści przekształcają specyfikację w kod, implementując wszystkie wymagane funkcje. Po zakończeniu kodowania, aplikacja przechodzi testy, które mają na celu wykrycie błędów oraz weryfikację zgodności z wymaganiami. W końcowej fazie, po przeprowadzeniu testów i eliminacji ewentualnych problemów, aplikacja jest wdrażana, co oznacza jej udostępnienie użytkownikom. Cały proces powinien być zgodny z najlepszymi praktykami oraz standardami, takimi jak Agile czy Scrum, które kładą duży nacisk na iteracyjny rozwój oraz stałą komunikację z klientem, co zwiększa szansę na sukces projektu.