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: 11 maja 2026 09:06
  • Data zakończenia: 11 maja 2026 09:24

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

Funkcja PHP var_dump() wyświetla informację na temat zmiennej: jej typ i wartość. Wynikiem dla przedstawionego fragmentu kodu jest:

$x = 59.85;
var_dump($x);
A. int(59)
B. float(59.85)
C. string(5) "59.85"
D. array(2) { [0]=> int(59) [1]=> int(85) }
Gratulacje, Twoja odpowiedź jest poprawna! W poprawnej odpowiedzi, wartość zmiennej $x była 59.85, co jest liczbą zmiennoprzecinkową, a więc typem tej zmiennej jest float. Funkcja PHP var_dump() służy do wyświetlania informacji o zmiennej, w tym jej typu i wartości. Zatem wynikiem jej wykonania dla zmiennej $x inicjowanej wartością 59.85 jest float(59.85). To jest jeden z przykładów, gdzie rozumienie typów danych w PHP jest kluczowe. Zrozumienie typu float pozwoli Ci na prawidłową manipulację danymi, co jest niezwykle ważne w programowaniu. Jest to szczególnie istotne, gdy porównujesz różne wartości lub przekształcasz jedne typy danych w inne. Pamiętaj, że PHP jest językiem o słabej typizacji, co oznacza, że konwersja typów może nastąpić automatycznie w niektórych kontekstach, więc zawsze warto wiedzieć, jakiego typu jest dana zmienna.

Pytanie 2

Etap, w którym identyfikuje się oraz eliminuje błędy w kodzie źródłowym programów, to

A. kompilowanie
B. debugowanie
C. normalizacja
D. standaryzacja
Debugowanie to proces identyfikacji, analizy i eliminacji błędów w kodzie źródłowym programów komputerowych. Jest to kluczowy etap w cyklu życia oprogramowania, który zapewnia, że aplikacje działają zgodnie z założeniami projektowymi. W praktyce debugowanie może obejmować różne techniki, takie jak stosowanie punktów przerwania, śledzenie wartości zmiennych czy analiza stosu wywołań. Przykładowo, programista może użyć narzędzi debugujących, takich jak GDB dla programów w C/C++ lub wbudowane debugery w IDE, takie jak Visual Studio czy Eclipse. Debugowanie jest również związane z dobrymi praktykami, jak testowanie jednostkowe i integracyjne, które pozwalają na wczesne wykrycie błędów. Zrozumienie i umiejętność efektywnego debugowania jest niezbędna dla każdego programisty, aby tworzyć wysokiej jakości, niezawodne i wydajne oprogramowanie. Warto również podkreślić znaczenie dokumentacji oraz korzystania z systemów kontroli wersji, takich jak Git, które pozwalają śledzić zmiany w kodzie i ułatwiają proces debugowania.

Pytanie 3

W utworzonej tabeli pole należące do typu BLOB służy do składowania

A. danych binarnych o dużych rozmiarach, takich jak grafika
B. danych logicznych takich jak true
C. łańcuchów znaków o nieokreślonej długości
D. liczb całkowitych, które przekraczają zakres typu INT
Pole typu BLOB (Binary Large Object) jest przeznaczone do przechowywania danych binarnych dużych rozmiarów, co czyni je idealnym do przechowywania plików multimedialnych, takich jak obrazy, wideo lub dźwięki. W bazach danych, BLOB jest używane, gdy dane są zbyt duże, aby mogły być przechowywane w standardowych typach danych, takich jak VARCHAR czy INT. Przykładem zastosowania BLOB może być strona internetowa, która pozwala użytkownikom na przesyłanie zdjęć profilowych. W takim przypadku, zdjęcia są przechowywane w kolumnie typu BLOB w bazie danych, co pozwala na efektywne zarządzanie dużymi plikami binarnymi. Zastosowanie standardów takich jak SQL przy projektowaniu baz danych zapewnia optymalizację przechowywania danych, a użycie BLOB jako typu danych dla dużych plików jest zgodne z najlepszymi praktykami w tej dziedzinie.

Pytanie 4

Aby utworzyć tabelę w systemie baz danych, należy użyć polecenia SQL

A. CREATE TABLE
B. ADD TABLE
C. NEW TABLE
D. PLUS TABLE
Aby utworzyć tabelę w bazie danych, należy użyć polecenia SQL 'CREATE TABLE', które jest standardową komendą w SQL (Structured Query Language) służącą do definiowania struktury tabeli. Polecenie to pozwala na określenie nazw kolumn, ich typów danych oraz opcji, takich jak klucze główne czy unikalność wartości. Przykładowe użycie tego polecenia wygląda następująco: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50))'. Dzięki temu tworzymy tabelę o nazwie 'pracownicy' z trzema kolumnami: 'id', 'imie' i 'nazwisko'. Używanie polecenia 'CREATE TABLE' jest zgodne z normami SQL, co zapewnia jego przenośność między różnymi systemami zarządzania bazami danych. Dobrą praktyką jest także definiowanie ograniczeń, takich jak 'NOT NULL', aby zapewnić integralność danych. Również istotne jest zrozumienie, że polecenie to jest tylko jednym z wielu w SQL, które umożliwia manipulację danymi w relacyjnych bazach danych.

Pytanie 5

W skrypcie napisanym w języku PHP należy przeprowadzić operacje, gdy spełniony jest warunek, że adresy są parzystymi numerami na ulicach: Bratkowej oraz Nasturcjowej. Jakie wyrażenie logiczne to określa?

A. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer / 2 == 0
B. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer / 2 == 0
C. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer % 2 == 0
D. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer % 2 == 0
Pojęcia zastosowane w odpowiedziach, które nie są poprawne, zawierają błędne założenia dotyczące użycia operatorów logicznych i arytmetycznych. W przypadku pierwszej odpowiedzi, użycie operatora && (i) do sprawdzania, czy zmienna $ulica jest jednocześnie równa "Bratkowa" i "Nasturcjowa" jest technicznie niemożliwe, ponieważ zmienna nie może przyjąć dwóch różnych wartości jednocześnie. Druga odpowiedź, która używa operatora / (dzielenie) w kontekście sprawdzania parzystości, wprowadza w błąd; reszta z dzielenia przez 2 jest właściwym sposobem sprawdzania parzystości, a nie dzielenie, które może prowadzić do nieprawidłowego wyniku - liczba będzie parzysta tylko wtedy, gdy reszta z dzielenia wynosi zero. W czwartej odpowiedzi, użycie operatora / również nie jest odpowiednie. Kluczowym błędem, który można zauważyć, jest nieprawidłowe myślenie o logice warunkowej i operatorach matematycznych. W praktyce, stosowanie reszty z dzielenia jako metody określenia parzystości jest powszechną praktyką w wielu językach programowania, w tym PHP. Dlatego konieczne jest zrozumienie, jak poprawnie formułować warunki logiczne oraz jakich operatorów używać, aby osiągnąć zamierzony efekt.

Pytanie 6

Najłatwiejszym i najmniej czasochłonnym sposobem na przetestowanie funkcjonowania strony internetowej w różnych przeglądarkach oraz ich wersjach jest

A. zainstalowanie na kilku maszynach różnych przeglądarek i przeprowadzenie testu witryny
B. testowanie strony w programie Internet Explorer, zakładając, że inne przeglądarki będą kompatybilne
C. użycie emulatora przeglądarek internetowych, np. Browser Sandbox
D. skorzystanie z narzędzia do walidacji kodu HTML
Wykorzystywanie walidatora języka HTML do testowania witryny w różnych przeglądarkach nie jest wystarczającą metodą. Walidatory są narzędziami, które sprawdzają poprawność kodu HTML pod kątem zgodności ze standardami W3C, ale nie oceniają, jak rzeczywiście strona będzie działać w różnych przeglądarkach. Możliwe jest, że strona przejdzie test walidacji, ale w rzeczywistości może wyświetlać się inaczej w różnych przeglądarkach z powodu różnych silników renderujących. Instalowanie różnych przeglądarek na wielu komputerach również nie jest efektywnym rozwiązaniem, gdyż wymaga znacznych nakładów czasu i zasobów, a także trudności w utrzymaniu aktualizacji i wersji. Testowanie jedynie w programie Internet Explorer, zakładając, że inne przeglądarki będą działać podobnie, jest mylne, gdyż różnice w implementacji standardów HTML, CSS i JavaScript w różnych przeglądarkach mogą prowadzić do nieoczekiwanych błędów. Takie podejście może skutkować poważnymi problemami z użytecznością, a także obniżyć jakość doświadczenia użytkownika. Istnieje zatem ryzyko, że aplikacja webowa nie będzie działać prawidłowo na kluczowych platformach, co w dzisiejszym zróżnicowanym środowisku przeglądarek stanowi istotne zagrożenie dla reputacji i funkcjonalności witryny.

Pytanie 7

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

A. zarządzanie plikami na nośniku
B. zarządzanie zabezpieczeniami systemu
C. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
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 8

Na ilustracji przedstawiającej tabelę muzyka, zrealizowano poniższe zapytanie SQL. Jaki rezultat zwróci ta kwerenda?

SELECT wykonawca FROM`muzyka`
WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. Czesław
B. Czesław, Niemen
C. Czesław, Czechowski
D. pusty wynik
W przypadku zapytania SQL które wykorzystuje operator LIKE z wzorcem C%W często dochodzi do nieporozumienia dotyczącego działania tego operatora. LIKE jest używany do porównywania wzorców tekstowych a procent % służy do zastępowania dowolnej liczby znaków. Można by błędnie założyć że skoro zapytanie ma zwrócić wykonawców których imiona zaczynają się na C i kończą na W to którąś z dostępnych opcji w tabeli spełnia ten warunek. Jednakże w tej konkretnej tabeli nie ma wykonawcy który by spełniał te kryteria. Czesław Niemen kończy się na M a nie na W natomiast Mikołaj Czechowski rozpoczyna się od litery M zamiast C. Przykładem typowego błędu jest nieprawidłowa interpretacja tego jak działają wzorce w operatorze LIKE lub przeoczenie że wzorzec musi być dokładnie zgodny z wymaganiami. Ważnym aspektem jest też zrozumienie że w praktyce biznesowej dokładność danych jest kluczowa a niepoprawne zrozumienie wzorców prowadzi do niepoprawnych wyników zapytań. Dlatego zawsze warto przetestować zapytanie na mniejszym zbiorze danych aby upewnić się że zwraca oczekiwane wyniki co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 9

W firmowej tabeli znajdują się kolumny: nazwa, adres, NIP, obrót (obrót w ostatnim miesiącu), rozliczenie oraz status. Po wykonaniu kwerendy SQL

SELECT nazwa, NIP FROM firmy WHERE obrot < 4000;
na ekranie pojawią się:
A. wszystkie informacje o firmach, które w ostatnim miesiącu uzyskały obrót co najmniej 4000 zł
B. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł
C. wszystkie informacje o firmach, które w ostatnim miesiącu miały obrót poniżej 4000 zł
D. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł
W tej kwerendzie SQL chodziło o to, aby zrozumieć, że zapytanie 'SELECT nazwa, NIP FROM firmy WHERE obrót < 4000;' zwróci tylko nazwy firm i ich numery NIP. Tylko te firmy, co miały obrót poniżej 4000 zł w ostatnim miesiącu. SQL jako język zapytań daje nam możliwość wybierania konkretnych kolumn z tabeli i filtrowania wyników według różnych warunków. Tu wybraliśmy kolumny 'nazwa' i 'NIP', a filtr 'WHERE obrót < 4000' pokazuje nam tylko te firmy, które spełniają ten warunek. To bardzo ważne w praktycznym użyciu SQL, bo często musimy wyświetlać dane według określonych kryteriów. Dzięki temu zapytaniu łatwo możemy zidentyfikować firmy, które mogą potrzebować wsparcia finansowego lub jakiejś pomocy z powodu niskiego obrotu.

Pytanie 10

W języku HTML, atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość

A. rect, poły, circle
B. style="margin-bottom: 0cm;">rect, triangle, circle
C. style="margin-bottom: 0cm;">poły, square, circle
D. rect, sąuare, circle
Atrybut shape znacznika area w języku HTML jest kluczowy dla określenia kształtu interaktywnego obszaru na mapie obrazów. Przyjmuje on wartości, które definiują geometrię obszaru w kontekście mapy, a do najpopularniejszych z nich należą 'rect', 'circle' oraz 'poly'. Wartość 'rect' definiuje prostokątny obszar, gdzie użytkownik może kliknąć w dowolnym miejscu w obrębie prostokąta. 'Circle' z kolei pozwala na stworzenie okrągłego obszaru kliknięcia, definiując jego środek oraz promień. Z kolei 'poly' umożliwia zdefiniowanie wielokątnego obszaru poprzez podanie współrzędnych wierzchołków. Te wartości są zgodne z definicjami przedstawionymi w standardach W3C, które określają sposób, w jaki przeglądarki interpretują te atrybuty. Przykładowo, dla atrybutu shape='rect' można podać współrzędne lewego górnego i prawego dolnego narożnika prostokąta, co sprawia, że jest to użyteczne w implementacji interaktywnych map. Zrozumienie tych wartości jest istotne dla programistów webowych, którzy chcą tworzyć dostępne i interaktywne treści.

Pytanie 11

Zasada działania algorytmów zachłannych polega na

A. przeszukiwaniu danych do momentu znalezienia rozwiązania
B. dzieleniu problemu na mniejsze podproblemy, aby uzyskać łatwiejsze do rozwiązania zadania
C. wybieraniu rozwiązań, które na danym etapie wydają się najbardziej korzystne
D. odwołaniu się do funkcji lub definicji we własnym zakresie
Wybór odpowiedzi dotyczący przeszukiwania zbioru danych do momentu znalezienia rozwiązania wprowadza w błąd, ponieważ nie odnosi się do specyfiki metod zachłannych, które koncentrują się na lokalnych optymalizacjach w każdym kroku. Takie podejście bardziej pasuje do algorytmów przeszukiwania, jak na przykład wyszukiwanie binarne, które działa w oparciu o uporządkowane zbiory i wymaga przeszukiwania w poszukiwaniu konkretnego elementu. Z drugiej strony, podział problemu na podproblemy jest charakterystyczny dla podejścia dziel i zwyciężaj, znanego z algorytmów takich jak sortowanie szybkie czy algorytm Karatsuby do mnożenia dużych liczb. Te strategie są skuteczne w rozwiązywaniu bardziej złożonych problemów, ale nie wykorzystują zasady podejścia zachłannego. Pojęcie odwołania do samego siebie jest związane z rekurencją, która jest techniką programistyczną używaną w algorytmach takich jak obliczanie silni czy rozwiązywanie problemów związanych z drzewami i grafami. Nie jest bezpośrednio związane z metodami zachłannymi. Zrozumienie różnic między tymi technikami jest kluczowe, ponieważ rzuca światło na odpowiednie konteksty ich zastosowania. Często popełniany błąd polega na myleniu tych podejść i ich zastosowań, co może prowadzić do nieefektywnych rozwiązań i złych praktyk programistycznych.

Pytanie 12

Aby zrealizować opisane czynności w JavaScript, konieczne jest umieszczenie poniższego kodu w znaczniku <script>

Ilustracja do pytania
A. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
B. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
C. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
D. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A)
W JavaScript użycie funkcji prompt() pozwala na wyświetlenie okna dialogowego, które umożliwia użytkownikowi wprowadzenie danych. W przypadku poprawnej odpowiedzi kod A = prompt('Podaj kwalifikację: '); document.write('Kwalifikacja: '+A); realizuje dokładnie te kroki. Funkcja prompt() czeka na wprowadzenie danych przez użytkownika i zwraca wprowadzaną wartość, która jest następnie przypisywana do zmiennej A. Następnie document.write() jest używane do bezpośredniego wstawienia zawartości zmiennej A na stronę internetową w połączeniu z tekstem 'Kwalifikacja: '. To podejście jest zgodne z dobrymi praktykami tworzenia aplikacji internetowych, gdzie dynamiczne wprowadzanie danych przez użytkownika i ich wyświetlanie jest kluczowe. Używanie prompt() jest powszechne w prostych aplikacjach do interakcji z użytkownikiem, lecz w bardziej zaawansowanych projektach zaleca się korzystanie z bardziej zaawansowanych metod jak formularze HTML czy asynchroniczne żądania sieciowe. Niemniej jednak, zrozumienie działania prompt() oraz document.write() jest podstawowe dla tworzenia dynamicznych stron WWW i stanowi fundament dalszej nauki w JavaScript.

Pytanie 13

Proces normalizacji tabel ma na celu

A. dodanie danych do bazy
B. weryfikację i poprawę efektywności bazy danych
C. wyłącznie stworzenie tabel oraz powiązań w bazie
D. wizualizację bazy
Niektóre pomysły na niepoprawne odpowiedzi wskazują na powszechne nieporozumienia dotyczące normalizacji w kontekście baz danych. Stwierdzenie, że normalizacja polega jedynie na utworzeniu tabel i relacji, jest mylne. Normalizacja to znacznie bardziej skomplikowany proces, który zakłada również przemyślane podejście do organizacji danych oraz ich struktury. Utworzenie tabel i relacji to zaledwie etap, który nie zapewnia, że baza danych będzie wolna od błędów czy nadmiarowości. Inna nieprawidłowa odpowiedź dotycząca dodawania rekordów do bazy nie uwzględnia faktu, że normalizacja skupia się na strukturze i organizacji danych, a nie na ich wprowadzaniu. Ponadto, przedstawienie graficzne bazy danych, choć może być przydatne w wizualizacji, nie ma nic wspólnego z procesem normalizacji, który jest techniką analizy i poprawy struktury danych. Zrozumienie, że normalizacja nie ogranicza się do jednego aspektu zarządzania danymi, ale jest całościowym podejściem do ich organizacji, jest kluczowe dla efektywnego projektowania baz danych. W praktyce, nieprawidłowe zrozumienie celu normalizacji może prowadzić do poważnych problemów z wydajnością i integralnością danych w systemach bazodanowych.

Pytanie 14

Grafik pragnie przekształcić obraz JPG na format PNG bez utraty jakości, tak aby wszędzie tam, gdzie w oryginalnym obrazie występuje kolor biały, w docelowej wersji była przezroczystość. W tym celu powinien

A. zaimportować obraz do edytora grafiki wektorowej
B. obniżyć rozdzielczość obrazu
C. dodać kanał alfa
D. przekształcić obraz w odcienie szarości
Dodanie kanału alfa do obrazu jest kluczowym krokiem, aby przekształcić JPEG w PNG z zachowaniem przezroczystości. Format PNG obsługuje kanał alfa, który może przechowywać informacje o przezroczystości każdego piksela, co oznacza, że można zdefiniować, które części obrazu są w pełni widoczne, a które są całkowicie przezroczyste. W praktyce, po dodaniu kanału alfa, można użyć narzędzi edycyjnych, aby ustawić białe obszary na przezroczyste. Na przykład w programie GIMP lub Adobe Photoshop, można użyć narzędzia 'Magiczne różdżka' do zaznaczenia białego tła, a następnie usunąć je, co zamieni białe piksele na przezroczystość. Istotne jest, aby pamiętać, że JPEG nie wspiera przezroczystości, dlatego przekształcenie do formatu PNG jest niezbędne. Dobrą praktyką jest zawsze pracować na kopii oryginalnego obrazu, aby móc wrócić do źródłowego pliku, jeśli zajdzie taka potrzeba.

Pytanie 15

Zgodnie z aktualnie obowiązującym w Polsce prawem, osoby z wykształceniem inżynieryjno-technicznym są zobowiązane do odbywania szkoleń BHP w regularnych odstępach czasu, które nie powinny być dłuższe niż co

A. 5 lat
B. 6 lat
C. 8 lat
D. 1 rok
Wszystkie pozostałe odpowiedzi są błędne, ponieważ nie odpowiadają wymogom prawnym dotyczącym okresowych szkoleń BHP dla inżynieryjno-technicznych pracowników w Polsce. Odpowiedzi sugerujące, że szkolenia powinny odbywać się co 5, 6 lub 8 lat, opierają się na nieprawidłowym rozumieniu przepisów. Ustawa Kodeks pracy jasno określa, że okresowe szkolenia BHP mają na celu nie tylko dostarczenie pracownikom wiedzy na temat bezpieczeństwa, ale także dostosowanie ich umiejętności do zmieniających się warunków w miejscu pracy. Zbyt długi okres pomiędzy szkoleniami mógłby prowadzić do utraty aktualności wiedzy pracowników, co zwiększa ryzyko wypadków oraz zagrożeń zdrowotnych. W praktyce, regularne, coroczne szkolenia są niezbędne do nadążania za nowymi przepisami, technologiami oraz aktualizacjami w procedurach bezpieczeństwa. Ponadto, firmy, które zaniedbują wymóg przeprowadzania takich szkoleń, mogą być narażone na konsekwencje prawne oraz finansowe, w tym na kary administracyjne. Odpowiednie przestrzeganie przepisów dotyczących szkoleń BHP jest kluczowe dla zapewnienia bezpieczeństwa pracowników oraz ochrony firmy przed potencjalnymi stratami.

Pytanie 16

W języku HTML zapisano formularz. Który z efektów działania poniższego kodu zostanie wyświetlony przez przeglądarkę, zakładając, że w pierwsze pole użytkownik wpisał wartość "Przykładowy tekst"?

<form>
    <textarea rows="3" cols="30"></textarea><br>
    <input type="checkbox"> Opcja1<br>
    <input type="checkbox"> Opcja2
</form>
Ilustracja do pytania
A. Efekt 4.
B. Efekt 2.
C. Efekt 3.
D. Efekt 1.
Twoja odpowiedź jest poprawna. Wybrałeś odpowiedź 'Efekt 2', która jest zgodna z zachowaniem formularza HTML w opisanym scenariuszu. Formularz zawiera pole tekstowe i dwa pola typu checkbox. Kiedy wpiszesz do pola tekstowego wartość 'Przykładowy tekst' i wyświetlisz formularz w przeglądarce, zobaczysz ten tekst w polu tekstowym oraz dwa pola wyboru typu checkbox poniżej z etykietami 'Opcja1' i 'Opcja2'. To dokładnie taki układ, co pokazuje Efekt 2. Tworzenie formularzy HTML to ważna umiejętność w projektowaniu stron internetowych. Pozwalają one na interakcję z użytkownikiem oraz zbieranie od niego informacji. Pamiętaj, że dobry formularz powinien być intuicyjny w użyciu i jasno prezentować swoje funkcje użytkownikowi.

Pytanie 17

Pierwszym etapem w procesie konwersji sygnału analogowego na cyfrowy jest

A. filtracja
B. kwantyzacja
C. kodowanie
D. próbkowanie
Filtrowanie i próbkowanie to dwa różne procesy, chociaż czasem można się pogubić. Filtrowanie polega na tym, że usuwamy niechciane częstotliwości z sygnału analogowego przed jego próbkowaniem. Jak nie zrobimy tego dobrze, sygnał może mieć różne zakłócenia, które później popsują wyniki próbkowania. Kodowanie to już inna bajka, bo tu przekształcamy wartości, które próbkowaliśmy, na format binarny. Kwantyzacja z kolei to proces wygładzania tych wartości do najbliższych punktów. Niektórzy mylą te procesy i myślą, że są takie same, a to błąd! One wszystkie są ważne i muszą zachodzić w odpowiedniej kolejności, żeby sygnał cyfrowy wiernie odwzorował sygnał analogowy. Musimy też pamiętać o standardach, jak Nyquist-Shannon, żeby wszystko działało jak należy.

Pytanie 18

Który z poniższych formatów NIE umożliwia zapis plików animowanych?

A. SWF
B. ACE
C. SVG
D. GIF
Format ACE (Archive Compressed Enhanced) jest formatem archiwum, który służy do kompresji danych, a nie do przechowywania animacji. W przeciwieństwie do formatów takich jak SWF, SVG czy GIF, ACE nie jest projektowany do obsługi grafiki ruchomej. SWF to format opracowany przez Adobe, który jest używany do tworzenia i wyświetlania animacji we Flashu. SVG to wektorowy format grafiki, który również wspiera animacje za pomocą CSS i JavaScript. GIF, z kolei, jest jednym z najpopularniejszych formatów do zapisu prostych animacji, dzięki możliwości przechowywania wielu klatek w jednym pliku. Zrozumienie różnic między tymi formatami jest istotne w kontekście tworzenia treści multimedialnych, a także w kontekście ich zastosowań w sieci. Wybór odpowiedniego formatu do animacji może mieć wpływ na wydajność ładowania strony, jakość wizualną oraz możliwości interakcji z użytkownikami.

Pytanie 19

Tabela góry, której fragment został pokazany, obejmuje polskie pasma górskie oraz ich szczyty. Podaj kwerendę obliczającą dla każdego pasma górskiego średnią wysokość szczytów.

A. SELECT pasmo, SUM(wysokosc) FROM gory GROUP BY pasmo
B. SELECT pasmo, COUNT(wysokosc) FROM gory ORDER BY pasmo
C. SELECT pasmo, AVG(wysokosc) FROM gory LIMIT pasmo
D. SELECT pasmo, AVG(wysokosc) FROM gory GROUP BY pasmo
Gratulacje! Twoja odpowiedź jest prawidłowa. Zapytanie 'SELECT pasmo, AVG(wysokosc) FROM gory GROUP BY pasmo;' jest poprawne. Funkcja AVG() jest jedną z funkcji agregujących w SQL, które służą do wykonania pewnej operacji na zestawie wartości. W tym przypadku oblicza ona średnią wartość wysokości szczytów dla każdego z pasm górskich. Funkcja GROUP BY jest natomiast klauzulą SQL, która jest używana do grupowania wartości z różnych wierszy w jedną grupę. W tym przypadku GROUP BY pasmo oznacza, że wyniki zostaną pogrupowane według pasma górskiego, co pozwala obliczyć średnią wysokość szczytów dla każdego z pasm. Jest to zgodne z treścią pytania. Pamiętaj, że wykorzystanie funkcji agregujących w SQL pozwala na efektywne przetwarzanie dużych ilości danych, co jest niezwykle ważne w praktycznych zastosowaniach baz danych.

Pytanie 20

Aby przedstawić dane w bazach danych, które spełniają określone kryteria, należy stworzyć

A. makropolecenie
B. formularz
C. relację
D. raport
Wybór relacji, formularza lub makropolecenia jako odpowiedzi na pytanie o prezentację danych spełniających określone warunki jest nieprawidłowy z kilku powodów. Relacja w bazach danych odnosi się do struktury danych, która opisuje związki między tabelami, a nie do sposobu ich prezentacji. Choć relacje są fundamentem, na którym opiera się przechowywanie i organizowanie danych, same w sobie nie oferują narzędzia do wyodrębniania czy przedstawiania informacji w przystępny sposób. Formularze z kolei są wykorzystywane głównie do wprowadzania danych do systemu, pozwalając użytkownikom na interakcję z bazą, jednak nie służą one do analizy ani prezentacji danych w formie zrozumiałej dla odbiorcy. Makropolecenia, choć mogą automatyzować pewne procesy związane z przetwarzaniem danych, również nie spełniają funkcji raportowania, ponieważ są narzędziem do wykonywania powtarzalnych operacji. Wybierając te odpowiedzi, można wpaść w pułapkę myślową, w której myli się funkcje narzędzi bazodanowych, co może prowadzić do błędnych decyzji w zakresie projektowania systemów informatycznych. Każde z tych narzędzi pełni swoją specyficzną rolę w ekosystemie baz danych, lecz tylko raporty są zaprojektowane z myślą o efektywnej prezentacji danych zgodnie z określonymi kryteriami.

Pytanie 21

Aby stworzyć tabelę, należy wykorzystać polecenie

A. INSERT INTO
B. ALTER TABLE
C. CREATE DATABASE
D. CREATE TABLE
Polecenie CREATE TABLE to naprawdę ważna sprawa, jeśli chodzi o budowanie struktury bazy danych w systemach DBMS. Dzięki niemu możemy stworzyć nową tabelę w bazie, nadając jej różne nazwy i typy danych dla kolumn. Na przykład, można użyć takiego zapisu: CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50), data_zatrudnienia DATE); W efekcie mamy tabelę 'pracownicy' z czterema kolumnami, a 'id' to nasz klucz główny. W praktyce, poprawne stworzenie tabeli to podstawa dalszej pracy z danymi, więc warto się postarać, żeby schematy baz danych były dobrze zaprojektowane, w zgodzie z zasadami normalizacji. To zmniejsza zbędne powtarzanie danych i sprawia, że potem łatwiej nimi zarządzać. Pamiętaj, żeby przed użyciem CREATE TABLE dobrze zaplanować strukturę bazy danych, bo to pomoże w wydajności i elastyczności aplikacji. Fajnie jest też dodać różne ograniczenia, jak klucze obce, żeby mieć pewność, że nasze dane są w porządku.

Pytanie 22

Przedstawione zapytanie SQL przydziela uprawnienie SELECT

GRANT SELECT ON hurtownia.*
TO 'sprzedawca'@'localhost';
A. do wszystkich tabel w bazie hurtownia
B. dla użytkownika root na serwerze localhost
C. do wszystkich kolumn w tabeli hurtownia
D. dla użytkownika root na serwerze sprzedawca
Polecenie GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost'; nie przyznaje praw do użytkownika root ani do serwera localhost, co wyklucza te możliwości. W SQL, użytkownik root zazwyczaj posiada pełne uprawnienia administracyjne, a przypisanie mu dodatkowych specyficznych praw nie jest konieczne ani typowe w kontekście tego typu polecenia. Z kolei wskazanie serwera localhost w tym kontekście dotyczy tylko ograniczenia dostępu użytkownika do tego konkretnego hosta, a nie nadania mu praw selektywnych. Błędne jest również stwierdzenie, że polecenie to nadaje prawa do wszystkich pól w tabeli hurtownia. W rzeczywistości, wyrażenie hurtownia.* w kontekście GRANT odnosi się do wszystkich tabel, a nie do pól, które w SQL nazywane są kolumnami. Właściwe przypisanie uprawnień w systemach bazodanowych wymaga zrozumienia kontekstu, w którym dane polecenie jest stosowane, oraz znajomości specyfiki składni SQL. Wiele błędów wynika z niepełnego zrozumienia różnicy między tabelami a kolumnami oraz ról poszczególnych użytkowników w systemie zarządzania bazą danych. Praktyka i ciągłe doskonalenie wiedzy w zakresie zarządzania bazami danych jest kluczowe dla unikania takich pomyłek oraz dla utrzymania bezpieczeństwa i spójności danych w organizacjach.

Pytanie 23

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

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

Pytanie 24

W przedstawionej definicji typu wyliczeniowego w języku C++ enumerator CZWARTEK będzie miał wartość równą

Ilustracja do pytania
A. napisowi 'CZWARTEK'
B. liczbie 4
C. napisowi "CZWARTEK"
D. liczbie 1
W języku C++ typ wyliczeniowy (enum) pozwala na definiowanie grupy nazwanych stałych całkowitych. W przedstawionej definicji enum dni {PONIEDZIAŁEK = 1, WTOREK, ŚRODA, CZWARTEK, PIĄTEK, SOBOTA, NIEDZIELA}; inicjalizacja PONIEDZIAŁEK na 1 powoduje, że kolejne wyliczane wartości są automatycznie zwiększane o 1. Oznacza to, że wartość dla WTOREK wynosi 2, ŚRODA to 3, a CZWARTEK automatycznie staje się równy 4. Takie podejście jest powszechnie stosowane w programowaniu do reprezentowania dyskretnych zestawów wartości, co ułatwia interpretację kodu i minimalizuje ryzyko błędów. W praktyce typy wyliczeniowe są używane do przechowywania dni tygodnia, stanów maszyn oraz innych uporządkowanych kolekcji. Są zgodne ze standardem C++ i odgrywają istotną rolę w tworzeniu czytelnego i efektywnego kodu. Ich zaletą jest możliwość łatwej manipulacji wartościami oraz zwiększenie czytelności kodu dzięki użyciu przyjaznych nazw zamiast surowych wartości liczbowych.

Pytanie 25

Czy automatyczna weryfikacja właściciela witryny dostępnej przez protokół HTTPS jest możliwa dzięki

A. informacjom kontaktowym na stronie
B. certyfikatowi SSL
C. kluczom prywatnym
D. danym whois
Wybór niepoprawnych odpowiedzi można wytłumaczyć poprzez zrozumienie, jak działa weryfikacja właściciela strony internetowej. Dane kontaktowe na stronie mogą być przydatne dla użytkowników, ale nie mają one żadnego wpływu na automatyczną weryfikację tożsamości właściciela domeny przez protokół HTTPS. Oferowanie takich danych może zwiększyć zaufanie użytkowników, jednak nie jest to standardowy sposób potwierdzania tożsamości. Klucze prywatne są elementem kryptografii używanym w procesie szyfrowania danych, ale same w sobie nie służą do weryfikacji właściciela strony. Klucz prywatny jest używany do podpisywania cyfrowego certyfikatu, a jego posiadanie przez właściciela witryny jest jednym z warunków uzyskania certyfikatu SSL, ale nie zastępuje automatycznej weryfikacji. Dane whois, chociaż mogą zawierać informacje o właścicielu domeny, są publicznie dostępne i nie są używane w procesie weryfikacji HTTPS. Właściciele stron mogą zarejestrować swoje domeny z fikcyjnymi danymi kontaktowymi, co czyni je mało wiarygodnym źródłem informacji o rzeczywistym właścicielu. Dlatego wszystkie te odpowiedzi nie są związane z procesem automatycznej weryfikacji, który opiera się na certyfikatach SSL.

Pytanie 26

Jakim protokołem można bezpiecznie przesłać pliki strony internetowej na serwer WWW?

A. Telnet
B. IMAP
C. POP3
D. SFTP
POP3, czyli Post Office Protocol Version 3, to protokół do odbierania maili, ale nie za bardzo nadaje się do przesyłania plików. Głównie synchronizuje wiadomości z lokalnym klientem poczty. Więc jak chcesz przesyłać pliki na stronę, to nie jest dobry wybór. Z kolei Telnet to protokół, który pozwala na zdalne logowanie do systemów, ale nie ma żadnego szyfrowania. Przez to łatwo można przechwycić dane, a to nie jest zbyt bezpieczne, zwłaszcza jak są tam wrażliwe informacje. IMAP, czyli Internet Message Access Protocol, służy do zarządzania mailami na serwerze, ale też nie do przesyłania plików. Tak samo jak POP3, jest tylko do e-maili. Telnet natomiast się nie nadaje do bezpiecznego przesyłania plików, bo nie zapewnia odpowiednich zabezpieczeń.

Pytanie 27

W tabeli mieszkańcy zawierającej pola id, imie, nazwisko, ulica, numer, czynsz (wartość całkowita) należy zidentyfikować osoby zamieszkujące ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz jest niższy niż
1000 zł. Jak będzie wyglądać klauzula WHERE w zapytaniu?

A. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
B. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
C. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
Odpowiedź jest prawidłowa, ponieważ klauzula WHERE w zapytaniu SQL skutecznie filtruje dane zgodnie z wymaganiami. W tym przypadku, użycie operatora AND w połączeniu z IN i warunkiem < 1000 zapewnia, że zwrócone zostaną jedynie te rekordy, które spełniają wszystkie trzy kryteria: ulica musi być 'Mickiewicza', numer musi być jednym z 71, 72 lub 80, a czynsz musi być mniejszy niż 1000 zł. To jest zgodne z dobrą praktyką w SQL, gdzie łączenie warunków z użyciem operatorów logicznych pozwala na precyzyjne określenie zestawu danych, które nas interesują. Przy tak skonstruowanej klauzuli, zapytanie będzie wydajne i zrozumiałe, co jest kluczowe w pracy z bazami danych. Przykładowe zastosowanie to generowanie raportów dotyczących mieszkańców, co może być istotne dla zarządzania nieruchomościami lub analizy rynku wynajmu. Tego typu zapytania są powszechnie używane w aplikacjach webowych i systemach zarządzania danymi, co podkreśla znaczenie umiejętności formułowania precyzyjnych zapytań SQL.

Pytanie 28

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

A. public
B. private
C. static
D. const
Słowo kluczowe 'private' w języku JavaScript jest stosowane do definiowania pól i metod, które są dostępne wyłącznie w obrębie klasy, w której zostały zadeklarowane. Oznacza to, że nie są one dostępne z zewnątrz tej klasy, co zwiększa bezpieczeństwo i kapsułkowanie danych. Przykładowo, jeśli zdefiniujesz prywatną metodę wewnątrz klasy, inne klasy ani instancje tej klasy nie będą mogły jej wywołać. Przykład: class MyClass { #privateMethod() { console.log('To jest metoda prywatna'); } } const obj = new MyClass(); obj.#privateMethod(); // Błąd: #privateMethod is not accessible outside the class. Takie podejście pozwala na ograniczenie dostępu do wrażliwych danych oraz kontrolowanie ich modyfikacji. Kolejną zaletą używania prywatnych pól i metod jest to, że pozwala to na tworzenie bardziej modularnych i łatwiejszych w utrzymaniu aplikacji, co jest zgodne z aktualnymi standardami programowania. W kontekście obiektowo-orientowanego programowania, właściwe wykorzystanie dostępu private jest kluczowe dla zachowania zasad SOLID i dobrych praktyk projektowych.

Pytanie 29

Używając komendy BACKUP LOG w MS SQL Server, można

A. odczytać komunikaty generowane podczas tworzenia kopii
B. wykonać kopię zapasową dziennika transakcyjnego
C. zrealizować pełną kopię zapasową
D. zalogować się do kopii zapasowej
Wybór odpowiedzi dotyczący logowania się do kopii bezpieczeństwa wykazuje nieporozumienie dotyczące funkcji, jakie pełnią operacje backupu w MS SQL Server. Proces tworzenia kopii zapasowej dziennika transakcyjnego nie ma nic wspólnego z logowaniem się do wygenerowanej kopii; jest to osobny proces, który polega głównie na archiwizacji danych transakcyjnych. Kolejne stwierdzenie, że możliwe jest przeczytanie komunikatów wygenerowanych podczas tworzenia kopii, zakłada, że operacja backupu dostarcza interaktywnych danych na temat jej przebiegu, co nie jest zgodne z rzeczywistością. MS SQL Server zwykle loguje wyniki operacji do dziennika zdarzeń lub plików logów, ale nie jest to funkcjonalność, na którą można liczyć w codziennym użytkowaniu. Wreszcie, stwierdzenie, że BACKUP LOG pozwala na wykonanie pełnej kopii bezpieczeństwa, jest także błędne. BACKUP LOG dotyczy tylko dziennika transakcyjnego, podczas gdy pełna kopia bezpieczeństwa wykonana jest przy użyciu polecenia BACKUP DATABASE. W praktyce, wiele osób myli te dwa procesy, co prowadzi do nieefektywnego zarządzania danymi i ryzyka utraty informacji. Zrozumienie technicznych aspektów działania tych poleceń jest kluczowe dla prawidłowego administrowania bazami danych.

Pytanie 30

Które z poniższych poleceń JavaScript zmieni kolor tekstu na niebieski w paragrafie oznaczonym w HTML?

<p id="jeden">Kwalifikacja EE.01</p>
A. document.getElementById("jeden").color = "blue";
B. document.getElementById("jeden").style.background-color = "blue";
C. document.getElementById("jeden").style.color = "blue";
D. document.getElementById("jeden").background-color = "blue";
W analizowanym pytaniu tylko jedna odpowiedź poprawnie odnosi się do zmiany koloru tekstu w elemencie HTML. Wielu początkujących programistów popełnia błędy związane z nieznajomością struktury obiektowej Document Object Model czyli DOM. Użycie właściwości background-color w odpowiedzi pierwszej i czwartej wskazuje na próbę zmiany tła a nie koloru tekstu. Właściwość style.backgroundColor jest stosowana do zmiany tła elementu a nie tekstu w nim zawartego. Rozróżnienie tych dwóch właściwości jest kluczowe w stylowaniu elementów HTML. Odpowiedź trzecia document.getElementById("jeden").color = "blue"; błędnie zakłada że property color jest bezpośrednio dostępne na poziomie elementu co nie jest prawdą. Właściwości stylów CSS są dostępne w obiekcie style związanym z elementem. Typowym błędem myślowym jest założenie że właściwości CSS można stosować bezpośrednio jako właściwości obiektów DOM co prowadzi do niespójności i błędów w kodzie. Zrozumienie jak obiekt style działa w kontekście DOM pozwala uniknąć takich pomyłek. Ważne jest aby pamiętać że JavaScript umożliwia dynamiczne manipulowanie stylami ale wymaga to poprawnego odwołania się do właściwości stylu poprzez obiekt style co jest często mylone przez początkujących. Poprawne użycie składni JavaScript w kontekście DOM jest kluczowe dla dynamicznego i responsywnego programowania webowego. Przy projektowaniu aplikacji webowych kluczowe jest również przestrzeganie zasad oddzielania logiki biznesowej od prezentacji co zapewnia lepszą czytelność i utrzymanie kodu. Stąd wiedza o poprawnym użyciu stylów w JavaScript jest nie tylko przydatna ale również konieczna dla efektywnego tworzenia aplikacji.

Pytanie 31

W PHP typ float oznacza

A. zmiennoprzecinkowy
B. logiczny
C. łańcuchowy
D. całkowity
Typ float w PHP to coś w rodzaju magicznego narzędzia do pracy z liczbami, które mają część dziesiętną. Tego typu liczby są niezbędne, kiedy musimy mieć na uwadze detale, na przykład w finansach czy matematyce. Weźmy taki przykład: przy obliczaniu cen w sklepie internetowym często spotykamy się z kwotami jak 19.99 zł. Dzięki PHP możemy wykonywać różne operacje matematyczne na tych liczbach, co daje nam dużą elastyczność w pracy z danymi liczbowymi. Jednak trzeba wiedzieć, że ze względu na to, jak komputery przechowują liczby zmiennoprzecinkowe, zdarzają się problemy z ich dokładnością. W sytuacjach, gdzie to precyzja jest kluczowa, jak w przypadku obliczeń finansowych, dobrze jest skorzystać z takich funkcji jak round(), żeby zaokrąglić wynik do odpowiedniej liczby miejsc po przecinku. Wiedza na temat typu float i jego zastosowania to absolutna podstawa w pracy z programowaniem, zwłaszcza przy tworzeniu aplikacji webowych.

Pytanie 32

Wskaźnik HTML, który umożliwia oznaczenie tekstu jako błędnego lub nieodpowiedniego poprzez jego przekreślenie, to jaki?

A. <em> </em>
B. <u> </u>
C. <s> </s>
D. <b> </b>
Element <s> w HTML służy do oznaczania tekstu jako nieaktualnego, błędnego albo już nieobowiązującego poprzez jego przekreślenie. Przeglądarka domyślnie renderuje taki fragment z poziomą linią przez środek tekstu. W praktyce używa się go np. przy cenach promocyjnych: <p>Stara cena: <s>199 zł</s> Nowa cena: 149 zł</p> albo przy korektach treści, kiedy chcemy pokazać, że coś zostało zmienione, ale wciąż widoczne jest, co było wcześniej. Warto wiedzieć, że historycznie do podobnych celów używano też <strike>, ale ten znacznik jest przestarzały (deprecated) w standardzie HTML i nie powinien być już stosowany. Moim zdaniem lepiej od razu przyzwyczajać się do poprawnych, aktualnych tagów, bo to się później opłaca przy większych projektach. W nowszych specyfikacjach HTML5 zaleca się stosowanie <s> właśnie do treści nieaktualnych, ale nie takich, które zostały formalnie wycofane – do tego jest znacznik <del>, który dodatkowo semantycznie wskazuje usunięcie fragmentu, często używany w systemach kontroli wersji treści. Z mojego doświadczenia warto rozróżniać <s>, <del> i <ins>, bo w połączeniu z CSS i narzędziami do dostępności (np. czytnikami ekranu) daje to lepszą semantykę dokumentu. Dobrą praktyką jest też nie nadużywać przekreśleń tylko dla „efektu wizualnego” – jeśli chcesz coś tylko wyróżnić graficznie, lepiej użyć CSS, a znaczników semantycznych używać zgodnie z ich przeznaczeniem.

Pytanie 33

Co uzyskujemy po wykonaniu zapytania SQL?

Ilustracja do pytania
A. całkowitą liczbę uczniów
B. średnią wszystkich ocen uczniów
C. suma ocen uczniów, których średnia ocen wynosi 5
D. liczbę uczniów, których średnia ocen wynosi 5
Zapytanie SQL SELECT count(*) FROM Uczniowie WHERE srednia = 5; wykorzystuje funkcję agregującą count(*), która służy do zliczania liczby wierszy spełniających określone warunki. W tym przypadku warunkiem jest srednia = 5 co oznacza że zapytanie zlicza wszystkich uczniów których średnia ocen wynosi dokładnie 5. Jest to powszechna praktyka w analizie danych gdzie często potrzebujemy określić liczebność pewnych grup danych na przykład aby przeanalizować ich rozkład lub porównać je z innymi grupami. W profesjonalnej bazie danych zliczanie wierszy na podstawie kryteriów jest standardem co umożliwia generowanie raportów i podejmowanie decyzji na podstawie danych. Użycie count(*) bez dodatkowych parametrów jest zgodne z dobrymi praktykami ponieważ jest wydajne i łatwe w interpretacji. W praktyce stosowanie tego typu zapytań jest nieodzowne w działach analizy danych zarządzania relacjami z klientami czy w edukacji gdzie analizujemy wyniki uczniów.

Pytanie 34

Fragment kodu w języku JavaScript realizujący dodawanie dwóch liczb ma poniższą postać. Aby dodawanie wykonane było po kliknięciu przycisku o nazwie "dodaj", należy w wykropkowane miejsce wstawić

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
….
<script type=text/javascript>
function dodaj()
{
    // ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onselect="return dodaj()">dodaj</button>
B. <button onclick="return oblicz()">dodaj</button>
C. <button onselect="return dodaj()">oblicz</button>
D. <button onclick="return dodaj()">dodaj</button>
Gratulacje, wybrałeś poprawną odpowiedź. Przycisk w JavaScript jest aktywowany poprzez zdarzenie onclick, które jest wyzwalane po kliknięciu przycisku. Właściwość onclick jest jednym z wielu zdarzeń w JavaScript, które są używane do obsługi interakcji użytkownika. Kiedy użytkownik kliknie przycisk, zdarzenie onclick jest wywoływane i kod zawarty w tym zdarzeniu jest wykonany. W tym przypadku, kod to 'return dodaj()', co oznacza, że funkcja 'dodaj' jest wywoływana. Ta funkcja została zdefiniowana w skrypcie JavaScript i realizuje dodawanie dwóch liczb. Zdarzenie onclick jest często używane w praktycznych zastosowaniach, takich jak przyciski subskrybcji, przyciski do logowania czy przyciski do przesyłania formularzy. Zasada ta jest zgodna z dobrymi praktykami programowania, które zalecają utrzymanie interakcji użytkownika w kodzie JavaScript zamiast HTML.

Pytanie 35

W tabeli o nazwie pracownicy zdefiniowano klucz główny w typie INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowane zostały pola imie oraz nazwisko. W przypadku wykonania podanej kwerendy SQL, która dodaje dane i pomija pole klucza, w bazie danych MySQL nastąpi

INSERT INTO pracownicy (imie, nazwisko)
VALUES ('Anna', 'Nowak');
A. zignorowanie polecenia, tabela nie ulegnie zmianie
B. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
C. błąd związany z niewłaściwą liczbą pól
D. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
W kontekście baz danych MySQL wprowadzenie rekordu z pominięciem pola klucza głównego z atrybutem AUTO_INCREMENT nie prowadzi do błędu ani pozostawienia pola z wartością NULL, ponieważ mechanizm AUTO_INCREMENT automatycznie przypisuje kolejną wartość liczbową. Niepoprawne jest myślenie, że pole klucza mogłoby pozostać puste lub z wartością NULL, gdyż oznaczałoby to naruszenie zasady unikalności, co jest sprzeczne z ideą klucza głównego, który musi mieć unikalną wartość. Kolejną błędną koncepcją jest przekonanie, że polecenie SQL mogłoby zostać zignorowane pozostawiając tabelę bez zmian. Taka sytuacja mogłaby mieć miejsce jedynie w przypadku wystąpienia błędu składniowego lub naruszenia spójności danych, ale nie w tym wypadku. Często spotykanym błędem jest też wyobrażenie, że wystąpi błąd nieprawidłowej liczby pól, co miałoby miejsce, gdyby liczba wymienionych pól w instrukcji INSERT nie zgadzała się z liczbą wartości, które chcemy wprowadzić. Prawidłowe zrozumienie mechanizmu AUTO_INCREMENT jest kluczowe, by unikać tych typowych błędów i w pełni korzystać z możliwości, jakie daje ten mechanizm w kontekście automatyzacji i ułatwienia zarządzania kluczami głównymi w bazach danych.

Pytanie 36

Przygotowując raport w systemie zarządzania relacyjnymi bazami danych, można uzyskać

A. analizę wybranych danych
B. aktualizowanie danych w tabelach
C. dodawanie danych do tabel
D. usuwanie danych z tabel
W kontekście systemów obsługi relacyjnych baz danych, raportowanie odgrywa kluczową rolę w analizie danych. Wykonywanie raportu umożliwia użytkownikom dostęp do wybranych informacji, co pozwala na podejmowanie świadomych decyzji opartych na danych. Analiza danych to proces przetwarzania informacji w celu wydobycia wartościowych wniosków. Przykłady zastosowania to generowanie raportów sprzedażowych, finansowych czy analizy trendów klientów. W raportach można wykorzystać różne techniki, takie jak filtrowanie, grupowanie czy agregowanie danych, co umożliwia prezentację wyników w przystępnej formie graficznej. Dodatkowo, standardy takie jak SQL (Structured Query Language) są powszechnie używane do wykonywania zapytań w relacyjnych bazach danych, co pozwala na efektywne przeszukiwanie i analizowanie danych. W praktyce, raporty mogą być generowane na podstawie zapytań do bazy danych i mogą obejmować różne parametry, co zwiększa ich użyteczność w podejmowaniu decyzji strategicznych i operacyjnych.

Pytanie 37

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

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

Pytanie 38

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr { background-color: Pink; }
C. tr:active { background-color: Pink; }
D. tr:hover { 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 39

Wskaż prawidłowe twierdzenie odnoszące się do zaprezentowanego kodu HTML.

<video width="640" height="480" controls>
    <source src="animacja.mp4" type="video/mp4">
</video>
A. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby można go było odtworzyć.
B. Kod może nie działać w przeglądarkach, które nie wspierają HTML5.
C. Ścieżka do pliku jest niepoprawna, nie zawiera pełnej ścieżki.
D. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
Pierwsze stwierdzenie sugeruje, że plik animacja.mp4 musi mieć rozdzielczość 640x480 pikseli, co jest nieprawdziwe, ponieważ atrybuty width i height w znaczniku <video> nie narzucają wymagań rozdzielczości dla samego pliku wideo, lecz jedynie definiują rozmiar ramki odtwarzacza w przeglądarce. Jeśli plik ma inną rozdzielczość, przeglądarka odpowiednio go przeskaluje. Drugie stwierdzenie, że użytkownik nie będzie miał możliwości sterowania odtwarzaniem animacji, jest błędne, ponieważ atrybut controls w znaczniku <video> dokładnie to umożliwia, dostarczając przyciski do odtwarzania, pauzowania oraz regulacji głośności. Ostatnie stwierdzenie dotyczące lokalizacji pliku jest również mylne, ponieważ kod nie wymaga ścieżki bezwzględnej dla pliku animacja.mp4. W przypadku gdy plik znajduje się w tym samym katalogu co strona HTML, wystarczy podać jego nazwę. W przeciwnym razie można zastosować ścieżkę względną, co jest zgodne z dobrymi praktykami w zakresie organizacji plików na serwerze. Te nieporozumienia mogą prowadzić do mylnych wniosków, dlatego ważne jest zrozumienie zasad działania znaczników HTML oraz podstawowych koncepcji związanych z odtwarzaniem multimediów w sieci.

Pytanie 40

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

Ilustracja do pytania
A. referencją do $liczba1
B. iloczynem logicznym ze zmienną $liczba1
C. wskaźnikiem do $liczba1
D. negacją logiczną zmiennej $liczba1
Instrukcja $liczba2 = &$liczba1; w PHP oznacza, że zmienna $liczba2 staje się referencją do $liczba1. Ten znak ampersanda (&) nie jest żadnym operatorem logicznym, tylko właśnie operatorem referencji w PHP. W praktyce oznacza to, że obie zmienne wskazują na to samo miejsce w pamięci, więc przechowują dokładnie tę samą wartość. Jeżeli później w kodzie napiszesz $liczba1 = 10; to automatycznie $liczba2 też będzie miała wartość 10, i odwrotnie – zmiana $liczba2 zmieni $liczba1. Z mojego doświadczenia w PHP referencje używa się głównie wtedy, gdy chcemy, żeby funkcja modyfikowała przekazaną zmienną bez zwracania jej wyniku, albo gdy operujemy na dużych strukturach danych (tablice, obiekty) i nie chcemy kopiować ich zawartości. Przykład: function zwieksz(&$x){ $x++; } sprawi, że wywołanie zwieksz($liczba1); zmieni wartość zmiennej poza funkcją. To jest typowy, całkiem często spotykany wzorzec w starszych projektach PHP. Warto też pamiętać, że referencja w PHP nie jest tym samym, co wskaźnik w C/C++. Programista nie operuje bezpośrednio na adresach pamięci, tylko na abstrakcji zaprojektowanej przez silnik Zend. Dobra praktyka jest taka, żeby referencji używać oszczędnie i świadomie, bo nadmierne ich stosowanie utrudnia debugowanie, testowanie jednostkowe i zrozumienie przepływu danych w aplikacji. W nowoczesnym kodzie PHP częściej korzysta się z przekazywania obiektów (które zachowują się referencyjnie) oraz z czytelnego zwracania wartości z funkcji. Mimo to, rozumienie mechanizmu referencji jest bardzo ważne, bo nadal pojawia się w wielu istniejących aplikacjach webowych i w zadaniach egzaminacyjnych.