Wyniki egzaminu

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

Egzamin zdany!

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

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. Liczbowego
B. Nieokreślonego (undefined)
C. String (ciąg znaków)
D. Logicznego
Odpowiedź 'String (ciąg znaków)' jest poprawna, ponieważ w języku JavaScript zmienna zadeklarowana za pomocą 'var x="true";' przechowuje wartość typu tekstowego. Wartość 'true' jest traktowana jako ciąg znaków, ponieważ jest umieszczona w cudzysłowie. JavaScript jest językiem dynamicznie typowanym, co oznacza, że typ zmiennej jest określany w momencie przypisania wartości. W praktyce, ciągi znaków są powszechnie używane w programowaniu webowym do reprezentacji danych, takich jak teksty, komunikaty, a także do przetwarzania informacji z formularzy. Dobre praktyki obejmują użycie cudzysłowów pojedynczych lub podwójnych do definiowania ciągów, a także unikanie mieszania typów, co może prowadzić do błędów. Ważne jest, aby zawsze być świadomym typu danych, z którymi pracujemy, aby uniknąć nieoczekiwanych wyników w kodzie. Zrozumienie, jak JavaScript interpretuje różne typy danych, jest kluczowe dla efektywnego programowania oraz debugowania aplikacji.

Pytanie 2

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 onclick="return oblicz()">dodaj</button>
B. <button onclick="return dodaj()">dodaj</button>
C. <button onselect="return dodaj()">oblicz</button>
D. <button onselect="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 3

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
B. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
C. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
D. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
Odpowiedź WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000 jest poprawna, ponieważ precyzyjnie definiuje warunki, które muszą być spełnione, aby zwrócić odpowiednich pracowników. Klauzula WHERE jest fundamentalnym elementem zapytań SQL, który pozwala na filtrację wyników na podstawie określonych kryteriów. W tym przypadku, warunek 'kierownik = true' zapewnia, że tylko pracownicy pełniący rolę kierowników zostaną uwzględnieni w wynikach. Dodatkowo, użycie operatorów porównania '>' oraz '<=' dla pensji umożliwia dokładne zdefiniowanie przedziału, w którym pensja musi się mieścić. W praktyce, w kontekście baz danych, taka filtracja pozwala na efektywne zarządzanie danymi oraz generowanie raportów zgodnych z wymaganiami analizy. Stosowanie tego typu warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami, gdyż umożliwia precyzyjne i wydajne wyszukiwanie danych, co jest kluczowe w zarządzaniu informacjami w złożonych systemach bazodanowych.

Pytanie 4

Który zapis służy do zdefiniowania klucza obcego w MySQL?

A.
FOREIGN KEY(ID)
B.
PRIMARY KEY(ID)
C.
UNIQUE KEY(ID)
D.
AUTO_INCREMENT(ID)
W MySQL klucz obcy definiuje się zapisem FOREIGN KEY(ID) - wiąże kolumnę z kluczem głównym tabeli nadrzędnej, zapewniając integralność relacji. Dlatego klucz obcy tworzy FOREIGN KEY(ID).

Pytanie 5

W języku CSS zdefiniowano style dla znacznika h1 zgodnie z podanym wzorem. Przy założeniu, że żadne inne style nie są zastosowane do znacznika h1, wskaż właściwy sposób stylizacji tego elementu

Ilustracja do pytania
A. A
B. C
C. D
D. B
Błędne odpowiedzi wynikają z nieprawidłowego zrozumienia zastosowania specyficznych stylów CSS. Font-style: oblique; jest często mylony z kursywą, czyli font-style: italic;. Oblique to bardziej subtelna forma pochylenia tekstu, która w projektach graficznych może nadawać bardziej nowoczesny wygląd. Dlatego inne opcje, które mogłyby sugerować użycie zwykłej kursywy, są nieprawidłowe. Font-variant: small-caps; często jest mylony z całkowitymi kapitalikami, co może prowadzić do nieporozumienia w formacie tekstu. Small-caps zachowuje proporcje tekstu, przekształcając tylko małe litery, co może być użyteczne w projektach, gdzie estetyka i elegancja są kluczowe. Niewłaściwe zrozumienie tego stylu może prowadzić do błędnych założeń o wyglądzie tekstu. Text-align: right; jest często zapominane, ponieważ większość tekstów w Internecie jest wyrównywana do lewej. Dlatego projekty, które wymagają wyrównania do prawej mogą być błędnie postrzegane jako niestandardowe lub nieoczekiwane. Poprawne użycie text-align: right; może jednak być kluczowe w układzie stron, gdzie asymetria i nowoczesny design są pożądane. Te błędne koncepcje pokazują, jak ważne jest zrozumienie i prawidłowe stosowanie specyficznych stylów CSS, ponieważ mogą one znacząco wpłynąć na wygląd i użyteczność projektu. Właściwe rozróżnienie tych stylów jest kluczowe dla profesjonalnego projektowania stron internetowych, gdzie detale wizualne i funkcjonalne mają istotne znaczenie dla końcowego użytkownika.

Pytanie 6

W regule CSS h1 { color: blue } czym jest h1?

A. selektorem
B. wartością
C. klasą
D. deklaracją
Trzeba odróżnić części reguły CSS. To, co w klamrach (np. color: blue), to DEKLARACJA, złożona z właściwości (color) i WARTOŚCI (blue). Klasa zaczyna się od kropki. Element wskazujący cel reguły to selektor, więc h1 jest selektorem.

Pytanie 7

Skrypt w języku JavaScript, który zajmuje się płacami pracowników, ma na celu stworzenie raportu dla osób zatrudnionych na umowę o pracę, które otrzymują wynagrodzenie w przedziale 4000 do 4500 zł, w tym przedziale obustronnie domkniętym. Jakie jest kryterium do wygenerowania raportu?

A. umowa == 'praca' || (pensja >= 4000 || pensja <= 4500)
B. umowa == 'praca' && (pensja >= 4000 || pensja <= 4500)
C. umowa == 'praca' || (pensja >= 4000 && pensja <= 4500)
D. umowa == 'praca' && (pensja >= 4000 && pensja <= 4500)
Odpowiedź, którą wybrałeś, to umowa == 'praca' && (pensja >= 4000 && pensja <= 4500). To jest faktycznie odpowiednia opcja, bo spełnia warunki do wygenerowania raportu. To ważne, żeby oba warunki były spełnione – pracownik musi mieć umowę o pracę i pensja powinna być w zakresie od 4000 do 4500 zł. Na przykład, jeśli ktoś zarabia 4200 zł, to wtedy wszystko gra i raport się pojawi. W programowaniu używanie operatorów logicznych, takich jak '&&', jest kluczowe, bo pozwalają one precyzyjnie ustalić kryteria. Dobrze zrozumiane operatory '&&' i '||' pomagają unikać niejasności i błędów w logice, a to jest podstawa dobrego pisania kodu.

Pytanie 8

Jakie dane zostaną wyświetlone po wykonaniu podanych poleceń?

bool gotowe = true;
cout << gotowe;
A. tak
B. nie
C. 1
D. 0
W języku C++ zmienne typu bool mogą przyjmować jedynie dwie wartości: true i false. Gdy zmienna typu bool zostanie wypisana przy użyciu standardowego strumienia wyjściowego cout, to domyślnie wartości true i false są konwertowane na liczby całkowite 1 i 0 odpowiednio. Dlatego w zaprezentowanym fragmencie kodu zmiennej gotowe przypisano wartość true, a następnie jej zawartość została wypisana przy użyciu cout. Wynikiem tego działania będzie wyświetlenie liczby 1 na ekranie. Jest to zgodne z domyślnym zachowaniem cout w przypadku zmiennych typu bool w C++. Aby modyfikować to zachowanie i bezpośrednio wypisywać słowa true lub false, można użyć specjalnej flagi boolalpha, która sprawia, że wartości logiczne są reprezentowane jako tekst. Jednak w podanym przykładzie nie użyto tej flagi, co prowadzi do wypisania wartości liczbowej. Takie podejście jest powszechne w wielu aplikacjach, gdzie wartości logiczne muszą być szybko zamieniane na wartości liczbowe, na przykład w obliczeniach binarnych czy przy operacjach bitowych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla programistów tworzących efektywne i czytelne aplikacje w C++.

Pytanie 9

W przedstawionym kodzie PHP, co powinno się wyświetlić zamiast znaków zapytania?

$x = mysql_query('SELECT * FROM mieszkancy');
if(!$x)
echo "???????????????????????";
A. Zapytanie zostało zrealizowane pomyślnie
B. Nieprawidłowe hasło do bazy danych
C. Niepoprawna nazwa bazy danych
D. Błąd w trakcie przetwarzania zapytania
Odpowiedź 2 czyli Błąd przetwarzania zapytania jest poprawna ponieważ w kodzie PHP używana jest funkcja mysql_query do wykonania zapytania SQL Funkcja ta zwraca false w przypadku niepowodzenia co oznacza że blok if(!x) zostanie wykonany tylko wtedy gdy wystąpi błąd w przetwarzaniu zapytania Komunikat Błąd przetwarzania zapytania jest więc właściwy ponieważ odzwierciedla sytuację w której zapytanie nie mogło zostać wykonane poprawnie co może być wynikiem wielu czynników takich jak błędy składniowe w zapytaniu brak połączenia z serwerem bazy danych lub nieodpowiednie uprawnienia użytkownika Praktyczne podejście do obsługi błędów w PHP często obejmuje logowanie szczegółowych komunikatów błędów lub przekazywanie ich użytkownikowi w sposób przyjazny dla użytkownika co jest zgodne z najlepszymi praktykami w zakresie programowania Dodatkowo warto wspomnieć że funkcja mysql_query jest przestarzała i nie jest zalecana do użycia w nowych projektach Zaleca się używanie bardziej nowoczesnych funkcji takich jak mysqli_query lub PDO co poprawia bezpieczeństwo i wydajność aplikacji

Pytanie 10

Którą wartość zwróci funkcja zapisana w języku C++, jeżeli jej parametrem wejściowym jest tablica wypełniona w następujący sposób: tablica[6] = {3, 4, 2, 4, 10, 0};?

int fun1(int tab[]) {
    int wynik = 0;
    for (int i = 0; i < 6; i++)
        wynik += tab[i];
    return wynik;
}
A. 0
B. 960
C. 10
D. 23
Gratulacje, Twoja odpowiedź jest poprawna. W języku C++ funkcja zwraca sumę wszystkich elementów w tablicy. W podanym pytaniu mamy tablicę z sześcioma elementami, którymi są liczby: 3, 4, 2, 4, 10, 0. Dodając te liczby otrzymujemy 23, co jest poprawną odpowiedzią. To jest typowy scenariusz, kiedy potrzebujemy obliczyć sumę wszystkich elementów w tablicy. Na przykład, możemy mieć program, który oblicza średnią wartość z zestawu danych. W takim przypadku najpierw musimy zsumować wszystkie elementy, a następnie podzielić przez ich liczbę. Pamiętaj, że w języku C++ tablice indeksowane są od zera, co oznacza, że pierwszy element tablicy ma indeks 0, a ostatni element ma indeks o jeden mniejszy niż rozmiar tablicy. Jest to powszechny standard w programowaniu i jest istotny do zrozumienia, jak działają tablice.

Pytanie 11

Wskaż kod CSS, który odpowiada layoutowi bloków 2 – 5, zakładając, że są one utworzone na podstawie podanego kodu HTML.

Ilustracja do pytania
A. Kod 2
B. Kod 1
C. Kod 4
D. Kod 3
Prawidłowy układ bloków wymaga precyzyjnego zarządzania ich pozycjonowaniem za pomocą właściwości CSS float. W niepoprawnych odpowiedziach pojawiają się często błędy związane z nieodpowiednim pozycjonowaniem bloków, co skutkuje niepożądanym układem. Na przykład w Kodzie 1, użycie właściwości clear: both dla bloku 5 powoduje, że zaczyna on nowy wiersz, co jest niezgodne z założeniem układu, w którym blok 5 powinien znajdować się pod blokiem 3. Brak odpowiedniego wyrównania bloków może prowadzić do niepożądanego zapełnienia przestrzeni, co może być kłopotliwe szczególnie w responsywnym projektowaniu. Kod 3 nie uwzględnia potrzeby wyczyszczenia float, co może prowadzić do nakładania się bloków. W przypadku Kodu 4, brak użycia float dla bloku 3 powoduje, że ten nie zachowuje się jak oczekiwano, co może prowadzić do niezgodności z przedstawionym układem. Typowym błędem jest również niewłaściwe obliczenie sumarycznej szerokości bloków w jednym wierszu, co może prowadzić do przekroczenia dostępnej przestrzeni, a tym samym zaburzenia układu. Takie błędy często wynikały z braku zrozumienia działania mechanizmu float i clear, co jest kluczowe w tradycyjnym projektowaniu układów stron za pomocą CSS. Obecnie, dla bardziej zaawansowanych układów, zaleca się stosowanie takich technologii jak flexbox czy grid layout, które oferują większą elastyczność i kontrolę nad rozmieszczeniem elementów na stronie.

Pytanie 12

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

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

Który z formatów plików graficznych używa kompresji stratnej?

A. GIF
B. PNG
C. JPEG
D. BMP
JPEG stosuje kompresję STRATNĄ - usuwa część informacji o obrazie, by mocno zmniejszyć plik, co sprawdza się przy zdjęciach. Dlatego stratnej kompresji używa JPEG.

Pytanie 14

Wskaż zapytanie, które z tabeli klienci wybierze wyłącznie nazwiska trzech najlepszych klientów, czyli takich, którzy posiadają najwięcej punktów na swoim koncie (pole całkowite punkty)?

A. SELECT nazwisko FROM klienci LIMIT 3
B. SELECT LIMIT 3 nazwisko FROM klienci ORDER BY nazwisko DESC
C. SELECT nazwisko FROM klienci ORDER BY nazwisko DESC LIMIT 3
D. SELECT nazwisko FROM klienci ORDER BY punkty DESC LIMIT 3
Wybór odpowiedzi 'SELECT nazwisko FROM klienci ORDER BY punkty DESC LIMIT 3;' jest poprawny, ponieważ zapytanie to precyzyjnie spełnia wymagania przedstawione w pytaniu. Kluczowym elementem jest użycie klauzuli 'ORDER BY punkty DESC', która sortuje klientów w porządku malejącym według ich punktów. Dzięki temu, na górze wyników znajdą się ci klienci, którzy mają ich najwięcej. Następnie zastosowanie 'LIMIT 3' ogranicza wynik do trzech pierwszych rekordów, co odpowiada na potrzebę zidentyfikowania trzech najlepszych klientów. W praktycznych zastosowaniach, takich jak systemy CRM czy programy lojalnościowe, tego typu kwerendy są niezwykle przydatne do analizy klientów oraz do przyznawania nagród lub promocji. Dobre praktyki w zakresie pisania zapytań SQL sugerują, aby zawsze zwracać uwagę na kolejność sortowania oraz ograniczenie wyników, aby zwiększyć efektywność bazy danych oraz uniknąć zbędnych obliczeń.

Pytanie 15

Jak brzmi nazwa edytora, który wspiera proces tworzenia stron internetowych i którego działanie można określić w polskim tłumaczeniu słowami: widzisz to, co otrzymujesz?

A. WYSIWYG
B. IDE
C. VISUAL EDITOR
D. WEB STUDIO
Termin WYSIWYG to skrót od "What You See Is What You Get", co w dosłownym tłumaczeniu oznacza "to, co widzisz, to, co otrzymasz". Odnosi się to do edytorów graficznych, które pozwalają użytkownikowi na wizualne projektowanie stron internetowych w sposób, który odzwierciedla finalny wygląd strony. Dzięki edytorom WYSIWYG, użytkownicy mogą tworzyć i edytować treści bez konieczności znajomości języków programowania, takich jak HTML czy CSS. Przykładem takiego edytora może być Adobe Dreamweaver, które oferuje zarówno tryb wizualny, jak i możliwość edycji kodu. W praktyce, korzystanie z edytora WYSIWYG przyspiesza proces tworzenia stron, ponieważ pozwala na szybkie wprowadzanie zmian, przetestowanie ich w czasie rzeczywistym oraz łatwe zarządzanie elementami graficznymi. Standardy branżowe promują takie podejście, ponieważ zwiększa ono dostępność tworzenia stron internetowych dla osób bez technicznego wykształcenia, co jest szczególnie istotne w kontekście rozwijającej się digitalizacji i rosnącego zapotrzebowania na treści online.

Pytanie 16

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123

CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"; 
A. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123'
B. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`
C. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`
D. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"
Poprawne zapytanie SQL do tworzenia nowego użytkownika w systemie baz danych MySQL brzmi: CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123';. Kluczowe elementy tego zapytania to: 'CREATE USER' – polecenie używane do tworzenia nowych użytkowników, '`sekretarka`' – nazwa użytkownika, '@`localhost`' – wskazuje, że użytkownik będzie łączył się z serwerem lokalnym, oraz 'IDENTIFIED BY' – polecenie do zdefiniowania hasła dla nowego użytkownika. Warto zwrócić uwagę, że hasło musi być umieszczone w pojedynczych cudzysłowach, co jest standardową praktyką w SQL. Umożliwia to skuteczne zarządzanie uprawnieniami użytkownika oraz bezpieczeństwem bazy danych. Dzięki odpowiedniemu skonfigurowaniu użytkowników, można wprowadzać różne poziomy dostępu, co jest kluczowe w kontekście ochrony danych. Warto również pamiętać, że praktyka ta jest zgodna z wytycznymi bezpieczeństwa, które zalecają stosowanie silnych haseł oraz ograniczanie dostępu do danych wrażliwych na poziomie użytkowników.

Pytanie 17

W językach programowania o układzie strukturalnym, aby przechować dane o 50 uczniach (ich imionach, nazwiskach oraz średniej ocen), konieczne jest zastosowanie

A. klasy z 50 elementami typu tablicowego
B. struktury z 50 elementami o składowych typu tablicowego
C. tablicy z 50 elementami o składowych strukturalnych
D. tablicy z 50 elementami o składowych typu łańcuchowego
Wybór niewłaściwych podejść do przechowywania informacji o uczniach często wynika z nieporozumienia dotyczącego struktury danych i ich właściwego zastosowania. Tworzenie struktury 50 elementów o składowych typu tablicowego sugeruje, że każdy element byłby tablicą, co nie odpowiada rzeczywistej naturze danych. Tego rodzaju podejście nie tylko komplikuje dostęp do informacji, ale również zwiększa ryzyko błędów w zarządzaniu danymi. Z kolei użycie tablicy 50 elementów o składowych łańcuchowych ogranicza nas do prostych typów danych, takich jak ciągi znaków, co uniemożliwia przechowywanie średniej ocen, która wymagałaby użycia innego typu danych, co narusza zasady typizacji. W przypadku klasy z 50 elementami typu tablicowego, problemem jest, że klasa powinna być używana do modelowania złożonych obiektów z zachowaniem, co nie jest konieczne w tym przypadku. Te nieścisłości pokazują typowe błędy myślowe związane z projektowaniem struktur danych. Kluczowym elementem skutecznego programowania jest zrozumienie, jak najlepiej reprezentować i przechowywać złożone dane, a także znajomość odpowiednich struktur, które umożliwią efektywne operacje na tych danych.

Pytanie 18

Aby walidować pole formularza na bieżąco, w trakcie wpisywania znaków przez użytkownika, można wykorzystać zdarzenie:

A.
onClick
B.
onKeyDown
C.
onLoad
D.
onFocusOut
Aby reagować na dane w trakcie ich wpisywania, używa się zdarzeń klawiatury, takich jak onKeyDown (lub onInput), które zachodzą przy każdym naciśnięciu klawisza. Dzięki temu skrypt może sprawdzać poprawność pola na bieżąco i od razu informować użytkownika o błędzie. Dlatego do walidacji podczas pisania nadaje się onKeyDown.

Pytanie 19

Aby prawidłowo udokumentować linię kodu w języku JavaScript, należy po znakach // wpisać komentarz.

x = Math.max(a, b, c); //
A. nieprawidłowe dane.
B. wybór losowej wartości ze zmiennych a, b i c
C. w zmiennej x minimalna wartość ze zmiennych a, b, c
D. w zmiennej x maksymalna wartość ze zmiennych a, b, c
Odpowiedź "w zmiennej x maksymalna wartość ze zmiennych a, b, c" jest poprawna, ponieważ odzwierciedla działanie funkcji Math.max() w języku JavaScript, która zwraca największą wartość spośród podanych argumentów. W kontekście tej linii kodu, przypisanie wartości do zmiennej x jest kluczowym elementem programowania, gdyż pozwala na dynamiczne ustalanie największej wartości zmiennych a, b i c w różnych scenariuszach. W praktyce, odpowiednia dokumentacja kodu, w tym komentarze, jest niezbędna do utrzymania czytelności i zrozumiałości kodu, zwłaszcza w większych projektach. Komentarze pomagają innym programistom (lub nawet samym autorom kodu w przyszłości) szybko zrozumieć, co dany fragment kodu robi. Używanie komentarzy w odpowiednich miejscach, szczególnie po operatorze "//", jest uznawane za dobrą praktykę w programowaniu. Dlatego ważne jest, aby jasno określić funkcję danej linii kodu, co czyni tę odpowiedź trafną.

Pytanie 20

W zaprezentowanym fragmencie zapytania SQL, instrukcja SELECT ma za zadanie zwrócić

SELECT COUNT(wartosc) FROM ...
A. średniej w kolumnie wartosc
B. suma w kolumnie wartosc
C. liczby rekordów
D. średniej wartości tabeli
Komenda SELECT COUNT w języku SQL jest używana do zwracania liczby wierszy w rezultacie zapytania. Użycie funkcji COUNT z nazwą kolumny, jak w przykładzie SELECT COUNT(wartosc), pozwala policzyć wszystkie niepuste wartości w danej kolumnie wartosc w tabeli. Jest to przydatne w przypadkach, gdy chcemy zrozumieć, ile danych spełnia określone kryteria, lub gdy interesuje nas liczba wierszy zawierających wartości w konkretnej kolumnie. Funkcja COUNT jest jedną z podstawowych funkcji agregujących w SQL, co oznacza, że podsumowuje dane w określony sposób. Stosowanie tej funkcji jest zgodne z najlepszymi praktykami w projektowaniu baz danych, gdzie często potrzebujemy analizować dane w sposób ilościowy. Przykładowo, jeśli prowadzimy bazę danych klientów, możemy użyć SELECT COUNT(id) FROM klienci, aby dowiedzieć się, ilu mamy zarejestrowanych klientów. Ta funkcja jest także kluczowym elementem w optymalizacji zapytań, ponieważ pozwala na szybkie uzyskanie informacji o liczbie rekordów bez konieczności przetwarzania wszystkich danych z tabeli. Zrozumienie działania COUNT i jego zastosowań jest kluczowe dla efektywnego przetwarzania danych i tworzenia wydajnych zapytań w języku SQL.

Pytanie 21

Jakie wyrażenie należy umieścić w miejsce ??? w pętli napisanej w języku C++, aby na ekranie zostały wyświetlone wyłącznie elementy tablicy tab?

int tab[6];
for (int i = 0; ???; i++)
    cout << tab[i];
A. i < 6
B. i <= 6
C. i >= 6
D. i > 6
Niepoprawne wybory wyrażenia warunkowego w pętli for mogą prowadzić do różnych problemów, z których głównym jest przekroczenie zakresu tablicy, co jest powszechnym błędem w programowaniu w językach takich jak C++. Błędne zastosowanie warunku i >= 6 spowodowałoby, że pętla nie wykonałaby się ani razu, ponieważ początkowa wartość i wynosi 0, co nie spełnia tego warunku. Warunek i <= 6 może wydawać się poprawny, ponieważ uwzględnia indeks 6, jednak indeks ten wykracza poza zakres tablicy posiadającej 6 elementów (z indeksami od 0 do 5), co prowadziłoby do błędu out-of-bounds. Warunek i > 6 również jest błędny, ponieważ nigdy nie zostanie spełniony przy początkowej wartości i równej 0, a pętla tym samym się nie wykona. Typowe błędy myślowe prowadzące do takich wyborów wynikają z nieprawidłowego rozumienia indeksowania tablic oraz zakresu pętli. Ważne jest, aby dokładnie przeanalizować, jak indeksy są przypisywane w tablicach i dostosować warunki pętli, aby zawsze mieściły się w poprawnym zakresie. Aby uniknąć takich błędów, zaleca się stosowanie podejścia, które uwzględnia długość tablicy i iteruje do mniejszej wartości niż jej rozmiar. Tego typu prewencja nie tylko zwiększa stabilność programu, ale również jego bezpieczeństwo, eliminując ryzyko naruszenia pamięci programu i potencjalnych podatności bezpieczeństwa.

Pytanie 22

Która właściwość kontrolki w MS Access określa, skąd kontrolka pobiera wyświetlaną wartość?

A. Źródło kontrolki
B. Format
C. Nazwa
D. Widoczny
W MS Access to właściwość „Źródło kontrolki” (Control Source) określa, skąd kontrolka pobiera wyświetlaną wartość - np. z którego pola tabeli czy kwerendy. Dlatego decyduje o tym „Źródło kontrolki”.

Pytanie 23

Aby dołączyć do skryptu PHP kod zawarty w osobnym pliku zewnętrznym, należy użyć funkcji:

A.
isset()
B.
strlen()
C.
include()
D.
str_replace()
Właściwa jest include(), ponieważ to jej zadaniem jest dołączenie do bieżącego skryptu kodu zapisanego w osobnym pliku. Interpreter PHP w miejscu wywołania wstawia zawartość wskazanego pliku tak, jakby ten kod był napisany w tym właśnie miejscu. Dzięki temu aplikację dzieli się na mniejsze, wielokrotnie używane części, np. wspólny nagłówek header.php, stopkę footer.php czy plik konfiguracyjny config.php. Pisze się to zwykle jako include 'header.php';. Pokrewne require działa podobnie, lecz przy braku pliku przerywa skrypt, a include() tylko ostrzega i kontynuuje działanie.

Pytanie 24

Aby ustanowić relację jeden do wielu, w tabeli reprezentującej stronę "wiele", konieczne jest zdefiniowanie

A. klucza sztucznego odnoszącego się do kluczy podstawowych obydwu tabel
B. klucza obcego odnoszącego się do klucza obcego tabeli po stronie "jeden"
C. klucza obcego wskazującego na klucz podstawowy tabeli po stronie "jeden"
D. klucza podstawowego wskazującego na klucz podstawowy tabeli po stronie "jeden"
Tak, relacja jeden do wielu w bazach danych faktycznie działa przez klucze obce. Kiedy mamy tabelę, która ma wiele rekordów, klucz obcy jest tworzony po to, żeby pokazać, który klucz podstawowy z drugiej tabeli jest z nim powiązany. To ważne, bo zapewnia, że każda wartość w kluczu obcym musi pasować do wartości klucza podstawowego w tabeli, na którą wskazuje. Na przykład, w systemie filmowym, mamy tabelę 'Filmy', która jest po stronie 'jeden', a obok niej tabelę 'Obsada', gdzie będą aktorzy. Klucz podstawowy w 'Filmy' to może być jakiś identyfikator filmu, a w 'Obsada' klucz obcy pokaże, do którego filmu się odnosi. Dzięki temu jeden film może mieć wielu aktorów. Dobrze jest pamiętać, że klucz obcy pomaga utrzymać porządek w danych i zapobiega problemom, które mogą się pojawić, jeśli coś się pomiesza. Jak projektujesz bazy danych, to warto używać kluczy obcych, żeby wszystko działało tak jak powinno.

Pytanie 25

Wartość kolumny w tabeli, która działa jako klucz podstawowy

A. musi być unikalna
B. jest zawsze w formacie numerycznym
C. może mieć wartość pustą (NULL)
D. jest wykorzystywana do szyfrowania treści tabeli
Wartość pola tabeli pełniącego rolę klucza podstawowego musi być unikalna, ponieważ klucz podstawowy identyfikuje jednoznacznie każdy rekord w tabeli bazy danych. To oznacza, że żadna z wartości w tym polu nie może się powtarzać, co zapewnia integralność danych. Przykładem zastosowania klucza podstawowego jest identyfikator użytkownika (UserID) w tabeli z danymi użytkowników; każdy użytkownik ma przypisany unikalny identyfikator, co umożliwia jednoznaczną identyfikację jego danych. Standardy relacyjnych baz danych, takie jak SQL, nakładają te wymagania na klucze podstawowe, co jest kluczowe dla prawidłowego działania relacji między tabelami. Dobre praktyki w projektowaniu baz danych sugerują, aby klucze podstawowe były nie tylko unikalne, ale także stabilne (czyli nie zmieniały się w czasie), co ułatwia zarządzanie danymi i ich integrację w systemie. W przypadku naruszenia zasady unikalności klucza podstawowego mogą wystąpić problemy z integralnością referencyjną, co sprawia, że niemożliwe staje się prawidłowe powiązanie rekordów w różnych tabelach.

Pytanie 26

W którym znaczniku HTML5 stosuje się atrybut action?

A.
<form>
B.
<code>
C.
<head>
D.
<body>
Atrybut action określa adres (URL), pod który trafią dane po zatwierdzeniu formularza, dlatego należy do znacznika <form>. Razem z atrybutem method (GET lub POST) definiuje, dokąd i jak wysłać dane. Dlatego action stosuje się w <form>.

Pytanie 27

Jaką rozdzielczość ustawić, aby przygotować film w jakości HD Ready (720p)?

A. 480 × 360
B. 1920 × 1080
C. 720 × 480
D. 1280 × 720
Standard HD Ready (720p) ma rozdzielczość 1280 × 720 pikseli w proporcjach 16:9 - to niższy wariant HD niż Full HD. Dlatego dla HD Ready ustawia się 1280 × 720.

Pytanie 28

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

A. zalogować się do kopii zapasowej
B. odczytać komunikaty generowane podczas tworzenia kopii
C. zrealizować pełną kopię zapasową
D. wykonać kopię zapasową dziennika transakcyjnego
Polecenie BACKUP LOG w MS SQL Server służy do wykonywania kopii zapasowej dziennika transakcyjnego, co jest kluczowe dla zapewnienia integralności danych w bazach danych transakcyjnych. Dziennik transakcyjny rejestruje wszystkie zmiany dokonane w bazie, co pozwala na odtworzenie stanu bazy na dany moment oraz na przywrócenie bazy do stanu sprzed awarii. Wykonując kopię zapasową dziennika transakcyjnego, użytkownicy mogą minimalizować ryzyko utraty danych, ponieważ pozwala to na przywrócenie bazy do najnowszego stanu przed wystąpieniem awarii. W praktyce, regularne tworzenie takich kopii jest częścią polityki backupu, która powinna być dostosowana do potrzeb organizacji oraz do intensywności operacji na bazie danych. Ustalając harmonogram kopii zapasowych, należy także brać pod uwagę obciążenie bazy danych oraz wymagania dotyczące RPO (Recovery Point Objective) i RTO (Recovery Time Objective). Według najlepszych praktyk, zaleca się wykonywanie kopii zapasowych dziennika transakcyjnego przynajmniej co kilka godzin, a w środowisku o wysokiej dostępności – nawet co kilka minut.

Pytanie 29

Co oceniają testy wydajnościowe oprogramowania?

A. stopień spełnienia wymagań wydajnościowych przez system lub moduł
B. działanie programu przy wadliwym systemie
C. ciąg zdarzeń, gdzie prawdopodobieństwo zależy tylko od poprzedniego
D. działanie programu przy wadliwym sprzęcie
Testy wydajnościowe oceniają, w jakim stopniu system lub moduł spełnia wymagania dotyczące wydajności - czas odpowiedzi, przepustowość czy zachowanie pod obciążeniem. Dzięki nim wiadomo, czy aplikacja udźwignie spodziewany ruch. Dlatego mierzą stopień spełnienia wymagań wydajnościowych.

Pytanie 30

Co oznacza polecenie:

UPDATE artykuly SET cena = cena * 0.7 WHERE kod = 2;
?
A. dodaje do tabeli nowe pola cena i kod
B. obniża cenę o 30% dla WSZYSTKICH artykułów
C. obniża wartość pola cena dla rekordów, gdzie kod = 2
D. dodaje pole cena z atrybutem kod
Polecenie UPDATE artykuly SET cena = cena * 0.7 WHERE kod = 2; mnoży dotychczasową cenę przez 0,7 (czyli obniża ją o 30%), ale TYLKO dla rekordów, gdzie kod = 2 - warunek WHERE ogranicza zmianę do wybranych wierszy. Dlatego obniża cenę dla rekordów z kod = 2.

Pytanie 31

Selektor CSS a:link {color:red} w arkuszach stylów nazywanych kaskadowymi określa

A. identyfikator.
B. klasę.
C. pseudoklasę.
D. pseudoelement.
Pseudoklasa CSS to specjalny rodzaj selektora, który pozwala na stylizację elementów na podstawie ich stanu lub kontekstu w dokumencie HTML. Zapis 'a:link' wskazuje, że stylizacja dotyczy linków, które jeszcze nie zostały odwiedzone przez użytkownika. Przykładowo, w tym przypadku 'color:red' ustawia kolor tekstu linku na czerwony. Użycie pseudoklas jest zgodne z dobrymi praktykami, ponieważ pozwala na tworzenie bardziej dynamicznych i responsywnych interfejsów użytkownika, poprawiając jednocześnie doświadczenia użytkowników. Warto również zaznaczyć, że w CSS istnieją inne pseudoklasy, takie jak ':hover' czy ':active', które umożliwiają stylizację elementów w różnych interakcjach z użytkownikiem. Dzięki nim możemy na przykład zmieniać kolor linku, gdy użytkownik na niego najedzie myszką, co zwiększa przejrzystość i użyteczność strony. Używanie pseudoklas jest nie tylko praktyczne, ale także zalecane w dokumentacji CSS, co przyczynia się do lepszego zarządzania i organizacji kodu.

Pytanie 32

Aby usunąć wszystkie rekordy z tabeli (zachowując samą tabelę), można użyć kwerendy:

A.
ALTER COLUMN
B.
INSERT INTO
C.
CREATE COLUMN
D.
TRUNCATE TABLE
TRUNCATE TABLE usuwa z tabeli wszystkie wiersze naraz, pozostawiając jej strukturę (kolumny, definicję) nienaruszoną. Działa szybciej niż DELETE bez warunku, bo nie rejestruje pojedynczych usunięć i zwykle zeruje licznik AUTO_INCREMENT. Dlatego do wyczyszczenia całej zawartości tabeli służy TRUNCATE TABLE.

Pytanie 33

Która metoda przesłania danych poufnych z formularza jest NAJBEZPIECZNIEJSZA?

A. metoda POST przez HTTPS
B. metoda GET przez HTTPS
C. metoda POST przez HTTP
D. metoda GET przez HTTP
Pozostałe kombinacje są słabsze. GET (w obu wariantach) umieszcza dane w ADRESIE URL - widoczne, zapisywane w historii i logach. Czyste HTTP przesyła wszystko otwartym tekstem, więc nawet POST przez HTTP można podsłuchać. Dane poufne najlepiej chroni POST przez HTTPS.

Pytanie 34

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 35

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. kanał alpha
B. zmianę intensywności kolorów
C. gradient liniowy
D. gradient okrągły
Gradient liniowy to narzędzie stosowane w edytorach grafiki rastrowej do tworzenia płynnych przejść pomiędzy dwoma lub więcej kolorami w zadanym kierunku najczęściej poziomym lub pionowym. W praktyce gradient liniowy jest kluczowy w projektowaniu graficznym ponieważ pozwala na subtelne cieniowanie i nadawanie głębi elementom wizualnym. Przykładowo stosuje się go w tworzeniu tła logotypów czy też przycisków interfejsów użytkownika. Proces tworzenia gradientu liniowego opiera się na ustawieniu punktów początkowych i końcowych oraz przypisaniu im odpowiednich wartości kolorystycznych co podkreśla jego wszechstronność. Standardowym podejściem jest użycie gradientu liniowego w celu uzyskania efektu trójwymiarowości co jest zgodne z dobrymi praktykami projektowania UX i UI. W kontekście branżowym gradienty liniowe są nieodłącznym elementem narzędzi takich jak Adobe Photoshop czy GIMP gdzie umożliwiają manipulację barwą i luminancją co jest kluczowe w profesjonalnym edytowaniu obrazów.

Pytanie 36

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

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

Pytanie 37

Jakim typem jest w PHP zmienna globalna $_POST (odbierająca dane formularza)?

A. ciągiem znaków zakodowanym w JSON
B. obiektem klasy stdClass
C. zmienną tekstową
D. tablicą asocjacyjną
Pozostałe typy nie pasują. $_POST nie jest pojedynczą zmienną tekstową ani ciągiem JSON - przechowuje wiele par klucz-wartość. Nie jest też obiektem klasy stdClass (do pól sięga się przez [], nie przez ->). To tablica asocjacyjna.

Pytanie 38

W którym przypadku plik graficzny należy zapisać w formacie GIF?

A. gdy jest to grafika wektorowa
B. gdy jest to obraz stereoskopowy (3D)
C. gdy potrzebny jest zapis bez kompresji
D. gdy trzeba zapisać obraz lub prostą animację
Format GIF nadaje się do zapisu prostej grafiki i krótkich ANIMACJI - obsługuje ograniczoną paletę (256 kolorów) i sekwencje klatek. Dlatego GIF stosuje się, gdy trzeba zapisać obraz lub prostą animację.

Pytanie 39

W kaskadowych arkuszach stylów do oznaczenia selektora klasy wykorzystuje się symbol

A. : (dwukropek)
B. . (kropka)
C. *
D. #
Odpowiedzi #, *, oraz : nie są poprawne w kontekście definicji selektorów klas w CSS. Symbol # jest używany do definiowania selektorów identyfikatorów, co oznacza, że w przypadku elementu z identyfikatorem 'element1', selektor w CSS będzie wyglądał tak: #element1. Identyfikatory są unikalne dla danego elementu w dokumencie i mogą być używane tylko raz, co sprawia, że są mniej elastyczne w porównaniu do klas. Użycie identyfikatorów jest często niezalecane, gdyż prowadzi do mniejszej reużywalności stylów. Z kolei symbol * jest selektorem uniwersalnym, który odnosi się do wszystkich elementów na stronie. Chociaż może być użyteczny w pewnych sytuacjach, jego nadużywanie może prowadzić do spadku wydajności, zwłaszcza w większych projektach, ponieważ styluje każdy element w dokumencie. Ostatni symbol : jest używany w pseudo-klasach i pseudo-elementach, takich jak :hover czy ::before, które pozwalają na stylizację elementów w specyficznych stanach lub na dodawanie stylów do części elementu. Pojęcia te są często mylone z klasami, co prowadzi do błędnych wniosków i nieefektywnego zarządzania stylem. Używanie właściwych selektorów jest kluczowe dla utrzymania dobrze zorganizowanego i wydajnego kodu CSS.

Pytanie 40

Z jakich elementów składa się tabela generowana przez poniższy kod?

<table border="1">
<tr>
<td> 1 </td>
<td> 2 </td>
</tr>
</table>
A. jednego wiersza oraz jednej kolumny
B. dwóch wierszy oraz jednej kolumny
C. jednego wiersza oraz dwóch kolumn
D. dwóch wierszy i dwóch kolumn
Kod w pytaniu przedstawia strukturę HTML dla tabeli. Tabela składa się z jednej pary znaczników <tr>, co oznacza, że zawiera jeden wiersz. Wewnątrz tego wiersza znajdują się dwa znaczniki <td>, reprezentujące dwie komórki, czyli kolumny. Praktyczne zastosowanie tabel w HTML obejmuje prezentację danych w sposób strukturalny, co jest szczególnie użyteczne w przypadku raportów, cenników czy kalendarzy. Dobre praktyki w projektowaniu stron internetowych sugerują stosowanie tabel do prezentacji danych, nie zaś do układania treści na stronie, co było popularne w starszych wersjach HTML. W nowoczesnym podejściu do front-endu, używa się CSS i Flexbox lub Grid do układania elementów. Jednak zrozumienie podstaw HTML, takich jak prawidłowa struktura tabeli, jest kluczowe dla tworzenia semantycznych i dostępnych stron WWW. Tabele powinny być też wzbogacone o elementy takie jak <thead>, <tbody> i <tfoot> dla lepszej organizacji danych i wsparcia przez technologie asystujące dla osób z niepełnosprawnościami.