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: 29 czerwca 2026 15:01
  • Data zakończenia: 29 czerwca 2026 15:11

Egzamin zdany!

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

Liczba 0x142 zapisana w kodzie JavaScript jest w postaci

A. szesnastkowej
B. dziesiętnej
C. ósemkowej
D. dwójkowej
Prefiks 0x oznacza zapis SZESNASTKOWY, więc 0x142 to liczba szesnastkowa (dziesiętnie 322). Dlatego 0x142 jest w postaci szesnastkowej.

Pytanie 2

Funkcja napisana w PHP ma na celu

Ilustracja do pytania
A. nawiązanie połączenia z bazą danych
B. pobranie informacji z bazy danych
C. zabezpieczenie bazy danych
D. ustawienie hasła do bazy danych
Funkcja mysql_query z języka PHP jest używana do wykonywania zapytań SQL w bazie danych MySQL. W przedstawionym przykładzie zapytanie SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. Jest to klasyczne zapytanie używane do uzyskania danych z bazy danych co czyni je podstawowym narzędziem programisty PHP operującego na bazach danych. Zwrócone dane mogą następnie być przetwarzane wyświetlane lub używane w dalszych operacjach aplikacji. Ważnym aspektem pracy z bazami danych jest ochrona przed atakami SQL Injection co można osiągnąć poprzez stosowanie przygotowanych wyrażeń lub funkcji takich jak mysqli_prepare. Warto też pamiętać że funkcja mysql_query jest przestarzała i niezalecana w nowych projektach a zamiast niej powinno się używać mysqli lub PDO. Obie te biblioteki oferują większe bezpieczeństwo i lepszą obsługę błędów co jest zgodne z aktualnymi standardami w branży. Praca z danymi wymaga nie tylko ich pobierania ale także odpowiedniego zarządzania czym zajmują się bardziej złożone mechanizmy jak ORM-y co upraszcza pracę z bazami danych i zwiększa czytelność kodu.

Pytanie 3

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

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

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

Pytanie 4

Aby zaktualizować maksymalną długość kolumny imie w tabeli klienci do 30 znaków, należy zastosować w języku SQL poniższy kod

A. ALTER TABLE klienci CHANGE imie TEXT;
B. CHANGE TABLE klienci MODIFY imie CHAR(30);
C. CHANGE TABLE klienci TO COLUMN imie SET CHAR(30);
D. ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);
Odpowiedź ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30) jest poprawna, ponieważ w SQL polecenie ALTER TABLE służy do modyfikacji struktury istniejącej tabeli. W tym przypadku zmieniamy długość pola 'imie' w tabeli 'klienci'. Typ danych VARCHAR (zmienna długość) jest odpowiedni dla pól, które mogą przechowywać tekst o różnej długości, a określenie 30 oznacza, że maksymalna długość tego pola będzie wynosić 30 znaków. Używanie VARCHAR zamiast CHAR jest dobrą praktyką w przypadku, gdy długość danych jest zmienna, co pozwala na oszczędność miejsca w bazie danych. Przykładowo, jeśli tabela przechowuje imiona, które w większości będą krótsze niż 30 znaków, zastosowanie VARCHAR skutkuje mniejszym zużyciem miejsca w porównaniu do CHAR, który zawsze rezerwuje tę samą ilość miejsca. Warto również pamiętać, że przy modyfikowaniu tabeli w SQL należy zachować ostrożność, aby uniknąć utraty danych, szczególnie jeśli zmieniamy typ danych lub długość pola już zawierającego dane.

Pytanie 5

Jak nazywa się sposób udostępniania bazy danych w Microsoft Access, który obejmuje wszystkie obiekty bazy znajdujące się na dysku sieciowym i używane jednocześnie przez różne osoby?

A. witryny programu SharePoint
B. folderu sieciowego
C. serwera bazy danych
D. dzielonej bazy danych
Wybór innych opcji, takich jak serwer bazy danych, dzielona baza danych czy witryna programu SharePoint, może prowadzić do nieporozumień na temat tego, jak działają mechanizmy udostępniania w Microsoft Access. Serwer bazy danych, na przykład, odnosi się do systemu zarządzania bazami danych, który obsługuje skomplikowane operacje i dużą ilość danych, ale nie jest tożsamy z lokalizacją danych na dysku sieciowym, co ogranicza jego zastosowanie w prostych zespołowych projektach. Z kolei dzielona baza danych to termin ogólny, który może być mylony z udostępnianiem danych na poziomie lokalnym lub zdalnym, ale nie precyzuje, jak obiekty są współdzielone przez użytkowników. Witryna programu SharePoint z kolei służy do przechowywania dokumentów i zarządzania projektami w chmurze, co jest innym podejściem niż tradycyjne foldery sieciowe. W praktyce, wybierając folder sieciowy, użytkownicy mogą łatwiej współpracować, dzielić się plikami i korzystać z prostoty, jaką zapewnia dostęp bez konieczności zaawansowanego konfigurowania serwerów czy baz danych. Kluczowe jest zrozumienie, że odpowiednie podejście do udostępniania danych powinno być zgodne z potrzebami zespołu i charakterem realizowanych projektów.

Pytanie 6

Aby strona poprawnie skalowała się na urządzeniach mobilnych, rozmiar czcionki należy zdefiniować:

A. w procentach
B. w pikselach
C. tylko znacznikami big i small
D. w milimetrach
W projektowaniu responsywnym rozmiary, w tym wielkość czcionki, podaje się w jednostkach względnych - na przykład w procentach (albo em/rem). Tekst skaluje się wtedy proporcjonalnie do ustawień i urządzenia, zamiast mieć sztywną wartość. Dzięki temu strona pozostaje czytelna zarówno na telefonie, jak i na dużym monitorze. Dlatego rozmiar czcionki definiuje się w procentach.

Pytanie 7

Gdzie w dokumencie HTML mogą być umieszczane fragmenty kodu JavaScript?

A. tak w sekcji <head>, jak i <body>, w znaczniku <java>
B. jedynie w sekcji <head>, w znaczniku <script>
C. wyłącznie w sekcji <body>, w znaczniku <java>
D. zarówno w sekcji <head>, jak i <body>, w znaczniku <script>
Wiesz, wstawianie kodu JavaScript do dokumentu HTML powinno odbywać się w znaczniku <script>. Możesz go umieścić zarówno w <head>, jak i w <body>. Często wrzucamy skrypty do <head>, bo chcemy, żeby załadowały się przed wyświetleniem treści. To się przydaje, gdy skrypty zmieniają coś w DOM. Z drugiej strony, jak wrzucisz je do <body>, to skrypty będą ładowane po całej treści, co może przyspieszyć to, co widzi użytkownik. Na przykład, jeśli tworzysz coś interaktywnego, lepiej umieścić skrypty na dole, żeby nie blokować renderowania. Dobrze jest też pamiętać o atrybucie 'defer' w <script>, bo dzięki temu skrypt się ściąga równolegle z innymi rzeczami, ale działa dopiero jak cały dokument jest załadowany. To ważne, żeby strony działały sprawnie i były przyjemne w użytkowaniu.

Pytanie 8

Po uszkodzeniu serwera bazy danych, aby jak najszybciej przywrócić pełną bazę, należy użyć:

A. opisów struktur danych w tabelach
B. aktualnej kopii zapasowej
C. najnowszej wersji instalacyjnej serwera
D. kompletnej listy użytkowników serwera
Po uszkodzeniu serwera najszybciej odtworzysz PEŁNĄ bazę z aktualnej KOPII ZAPASOWEJ (backupu) - zawiera ona zarówno strukturę, jak i dane. Dlatego regularne kopie to podstawa bezpieczeństwa: im świeższy backup, tym mniejsza strata. Zapamiętaj: awaria danych = przywrócenie z kopii zapasowej.

Pytanie 9

W języku CSS określono formatowanie znacznika h1 według poniższego wzoru. Zakładając, że do znacznika h1 nie dodano żadnego innego formatowania, wskaż sposób formatowania tego znacznika.

h1 {
    font-style: oblique;
    font-variant: small-caps;
    text-align: right;
}
Ilustracja do pytania
A. B.
B. D.
C. A.
D. C.
Niestety, Twoja odpowiedź nie jest prawidłowa. Wszystkie odpowiedzi innych niż 'C' nie spełniają kryteriów określonych dla formatowania znacznika h1 w CSS. Formatowanie styli CSS polega na zrozumieniu i zastosowaniu właściwości CSS. W tym przypadku, h1 powinien mieć pochyłą czcionkę ('font-style: oblique'), małe wielkie litery ('font-variant: small-caps') i być wyrównany do prawej ('text-align: right'). Gdybyśmy zastosowali inne właściwości, efekt końcowy niewątpliwie byłby inny. Częstym błędem jest nieuwzględnienie wszystkich właściwości podanych w definicji stylu, co prowadzi do nieprawidłowego renderowania elementu. Inny błąd to mylenie właściwości - na przykład, 'font-style: oblique' nie jest tym samym co 'font-style: italic', chociaż oba skutkują pochyleniem czcionki. Pamiętaj, że precyzyjne zrozumienie i zastosowanie właściwości CSS jest kluczem do tworzenia efektywnych i estetycznych stron internetowych.

Pytanie 10

W każdej iteracji wartość bieżącego elementu tablicy jest przypisywana do zmiennej, a wskaźnik przesuwa się o jeden - aż do ostatniego elementu. Opis ten pasuje do instrukcji:

A.
foreach
B.
if
C.
next
D.
switch
Opisane zachowanie - „weź bieżący element, przypisz do zmiennej, przejdź do następnego, aż do końca” - to dokładnie pętla foreach. Iteruje ona po wszystkich elementach tablicy (lub kolekcji), w każdym obrocie udostępniając wartość (a opcjonalnie i klucz), np. foreach ($tab as $element) { echo $element; }. Programista nie musi sam pilnować indeksu ani warunku końca - pętla robi to automatycznie, co czyni ją wygodniejszą od klasycznego for przy przeglądaniu tablic. Dlatego opis pasuje do instrukcji foreach.

Pytanie 11

W którym formacie RASTROWYM zapisać wykres słupkowy, by miał ostre krawędzie (bez artefaktów)?

A. JPEG
B. CDR
C. PNG
D. SVG
Pozostałe formaty się nie nadają. JPEG kompresuje STRATNIE i wokół ostrych krawędzi tworzy widoczne „brudy” (artefakty). SVG i CDR to formaty WEKTOROWE - dobre do wykresów, ale pytanie wprost prosi o format RASTROWY. Rastrowy zapis wykresu bez artefaktów daje PNG.

Pytanie 12

<script>
  var imiona = ["Ala", "Ola", "Ela", ""];
  tymczasowa=imiona.length;
</script>
Przedstawiony kod JavaScript powoduje przypisanie do zmiennej tymczasowa wartości:
A. 9
B. 3
C. 4
D. 1
Kod tworzy tablicę `imiona` i przypisuje do niej cztery elementy: trzy napisy z imionami oraz jeden pusty string. Następnie do zmiennej `tymczasowa` przypisywana jest wartość `imiona.length`. Kluczowe jest zrozumienie, co dokładnie oznacza właściwość `.length` w kontekście tablicy JavaScript.
Częsty błąd polega na myleniu `.length` tablicy z długością pojedynczego napisu. Niektórzy patrzą na pierwszy element "Ala" i kojarzą długość 3, inni sumują znaki w kilku elementach, jeszcze inni w ogóle ignorują pusty string, bo „nic tam nie ma”. To są naturalne skojarzenia, ale w tym przypadku zupełnie nietrafione. W przypadku obiektu typu Array, zgodnie ze specyfikacją ECMAScript, właściwość `length` odzwierciedla najwyższy użyty indeks plus jeden, czyli de facto liczbę pozycji w tablicy, a nie zawartość tych pozycji.
Pusty string `""` jest pełnoprawnym elementem tablicy, tak jak każdy inny. To, że ma długość tekstową 0, nie ma żadnego wpływu na długość tablicy. Tablica ma indeksy 0, 1, 2 i 3, więc `length` jest równe 4. Próby uzasadniania innych odpowiedzi zwykle wynikają z mieszania pojęć: długości tekstu, liczby niepustych elementów, albo jakiegoś intuicyjnego „liczenia tylko tych, co coś zawierają”. JavaScript tego nie robi automatycznie. Jeżeli chcielibyśmy policzyć tylko niepuste napisy, trzeba by użyć np. `imiona.filter(x => x !== "").length`.
Innym typowym nieporozumieniem jest traktowanie `.length` jak czegoś dynamicznie obliczanego na podstawie treści, a nie struktury. Tymczasem silnik języka przechowuje tę wartość jako właściwość, związaną z indeksem elementów, a nie z ich wartością. Dobra praktyka w programowaniu webowym to zawsze sprawdzać w dokumentacji, co dokładnie oznacza dana właściwość lub metoda dla konkretnego typu danych. Pozwala to unikać takich pułapek i pisać kod, który zachowuje się przewidywalnie, szczególnie gdy pracujemy z tablicami o mieszanej zawartości, w tym z pustymi stringami czy wartościami `null` i `undefined`.

Pytanie 13

W jakim formacie powinien być zapisany obraz, aby mógł być wyświetlany na stronie internetowej z zachowaniem przezroczystości?

A. CDR
B. BMP
C. JPG
D. PNG
Format PNG (Portable Network Graphics) jest szeroko stosowany w sieci internetowej, ponieważ obsługuje przezroczystość, co jest kluczowe przy tworzeniu grafik, które mają być używane na stronach internetowych. Przezroczystość pozwala na nałożenie grafik na różne tła bez widocznych prostokątów czy kolorowych krawędzi, co znacznie poprawia estetykę oraz elastyczność projektów graficznych. PNG wykorzystuje kompresję bezstratną, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas jego zapisywania, co jest istotne dla profesjonalnych projektów. Przykłady zastosowania formatu PNG obejmują ikony, logotypy oraz różnego rodzaju ilustracje, które muszą być wyświetlane na różnych tłach. W branży internetowej dobrym standardem jest używanie PNG do grafik wymagających przezroczystości, szczególnie w kontekście responsywnych projektów, gdzie różne elementy mogą mieć różne tła w zależności od urządzenia. Ponadto, PNG obsługuje kolor 24-bitowy oraz przezroczystość 8-bitową, co daje możliwość tworzenia bardziej złożonych efektów wizualnych. Zastosowanie tego formatu jest zgodne z dobrymi praktykami w projektowaniu stron, co czyni go preferowanym wyborem w wielu sytuacjach.

Pytanie 14

Które stwierdzenie jest poprawne w odniesieniu do grafiki rastrowej?

A. to obraz przedstawiony jako siatka odpowiednio kolorowanych pikseli
B. nie jest zapisywana w formacie WMF
C. podczas skalowania obraz nie traci na jakości
D. obraz opisany jest figurami geometrycznymi w układzie współrzędnych
Pozostałe zdania są fałszywe lub dotyczą grafiki WEKTOROWEJ. Przy skalowaniu rastrowy obraz TRACI jakość (piksele się powiększają). Opis figurami geometrycznymi w układzie współrzędnych to cecha grafiki wektorowej. WMF to format wektorowy. Grafikę rastrową opisuje siatka kolorowanych pikseli.

Pytanie 15

Jakie jest zadanie funkcji przedstawionej w języku JavaScript?

 function fun1(a, b) {
    if (a % 2 != 0) a++;
    for (n = a; n <= b; n+=2)
        document.write(n);
}
A. zwrócenie wartości liczb parzystych od a do b
B. sprawdzenie, czy liczba a jest nieparzysta; w przypadku potwierdzenia, wypisanie jej
C. wypisanie liczb parzystych z zakresu od a do b
D. wypisanie wszystkich liczb z zakresu od a do b
Odpowiedź "wypisanie liczb parzystych z przedziału od a do b" jest prawidłowa, ponieważ funkcja fun1(a, b) w języku JavaScript ma na celu wyświetlenie wszystkich liczb parzystych w zdefiniowanym zakresie. Funkcja najpierw sprawdza, czy liczba a jest nieparzysta; jeśli tak, to zwiększa ją o 1, co zapewnia, że zaczynamy od najbliższej liczby parzystej. Następnie, za pomocą pętli for, iteruje przez liczby od a do b, zwiększając n o 2 w każdej iteracji. Dzięki temu wypisujemy tylko liczby parzyste. Przykładowo, jeśli a = 3 i b = 9, to funkcja zacznie od 4 i wypisze 4, 6, i 8. Tego typu funkcje są przydatne w różnych kontekstach programistycznych, takich jak generowanie sekwencji liczb dla algorytmów matematycznych, generowanie danych testowych czy też przy pracy z interfejsami użytkownika, gdzie występują interwały liczbowe. Dobrą praktyką jest zawsze jasno określać zakres przetwarzanych danych, co ta funkcja realizuje, zapewniając, że wyniki są zgodne z oczekiwaniami użytkownika.

Pytanie 16

Zaprezentowana linia kodu w języku PHP ma na celu

define("OSOBA", "Anna Kowalska");
A. porównać dwa ciągi znaków
B. przypisać dwie wartości do tablicy
C. ustalić wartość dla zmiennej $OSOBA
D. zdefiniować stałą o nazwie OSOBA
Odpowiedź "zdefiniować stałą o nazwie OSOBA" jest prawidłowa, ponieważ linia kodu define("OSOBA", "Anna Kowalska"); w języku PHP służy do tworzenia stałej. Stała to wartość, która nie zmienia się w trakcie działania programu. W tym przypadku, stała o nazwie OSOBA jest przypisywana do wartości "Anna Kowalska". Użycie stałych jest uważane za dobrą praktykę programistyczną, ponieważ pozwala na zdefiniowanie wartości, które mają być używane w różnych częściach aplikacji, co zwiększa czytelność i ułatwia zarządzanie kodem. Przykładem zastosowania stałych może być przechowywanie kluczy API, które nie powinny być zmieniane w trakcie działania aplikacji. Ponadto, korzystanie ze stałych może poprawić wydajność, gdyż PHP nie musi za każdym razem przeprowadzać operacji przypisania. Warto również zauważyć, że stałe w PHP są globalne i mogą być używane w dowolnym miejscu w kodzie, co czyni je bardzo użytecznymi w dużych projektach. Właściwe definiowanie i użycie stałych jest kluczowe dla utrzymania porządku i spójności w projekcie, co jest zgodne z ogólnie uznawanymi standardami programowania.

Pytanie 17

Rekordy do raportu mogą pochodzić z

A. tabeli
B. makropolecenia
C. zapytania INSERT INTO
D. innego raportu
Wybór innego raportu jako źródła danych może wydawać się logiczny na pierwszy rzut oka, jednak w rzeczywistości, raporty są zazwyczaj wynikiem analizy danych już zgromadzonych w bazach danych, a nie bezpośrednim źródłem tych danych. Raport oparty na innym raporcie może prowadzić do niepotrzebnej złożoności oraz braku przejrzystości w dostępie do danych. Ponadto użycie makropolecenia jako źródła do generowania raportu jest niewłaściwe, ponieważ makropolecenia są narzędziami do automatyzacji zadań, a nie strukturami danych. W kontekście zapytania 'INSERT INTO', należy zauważyć, że jest to instrukcja służąca do dodawania nowych rekordów do tabeli, a nie do pobierania danych. Wybranie takiego podejścia mogłoby wprowadzić w błąd, ponieważ nie odzwierciedla rzeczywistego procesu raportowania, który wymaga analizy istniejących danych. Często błędy myślenia w tym kontekście wynikają z pomylenia celów automatyzacji z celami analizy danych. Poprawne zrozumienie roli tabel w bazach danych pozwala na wydajne raportowanie i podejmowanie decyzji na podstawie rzeczywistych i aktualnych informacji.

Pytanie 18

W jakim standardzie języka hipertekstowego wprowadzono do składni znaczniki sekcji <footer>, <header>, <nav>?

A. XHTML 2.0
B. HTML5
C. HTML4
D. XHTML1.0
Zgadza się, w HTML4 nie było znaczników <footer>, <header> i <nav>, bo one pojawiły się później. HTML4 raczej skupiał się na prostym formatowaniu i strukturze. XHTML1.0 też tego nie oferuje, bo jest bardziej rygorystyczną wersją HTML i trzyma się zasad XML, co znaczy, że wszystko musi być zgodne z gramatyką XML, ale nowe semantyczne elementy nie są tam wprowadzone. A, no i XHTML 2.0 miał zmienić wszystko, ale nigdy nie wyszedł oficjalnie, więc w sumie odpuścili jego rozwój na rzecz HTML5. Tak więc to też pokazuje, że brak tych znaczników był sporym ograniczeniem w kontekście rozwoju internetu. Zresztą HTML5 ma ogromne wsparcie od twórców stron i narzędzi programistycznych, dlatego jest teraz numerem jeden w projektach webowych.

Pytanie 19

Baza danych MySQL uległa uszkodzeniu. Które z działań NIE pomoże w jej naprawie?

A. próba naprawy poleceniem REPAIR
B. odtworzenie bazy z kopii zapasowej
C. wykonanie replikacji bazy danych
D. utworzenie nowej bazy i przeniesienie do niej tabel
Pozostałe trzy działania faktycznie ratują uszkodzoną bazę, więc nie są odpowiedzią na pytanie „które NIE pomoże”. Polecenie REPAIR TABLE próbuje odbudować uszkodzoną strukturę i indeksy tabeli. Odtworzenie z kopii zapasowej przywraca sprawny stan sprzed awarii. Utworzenie nowej bazy i przeniesienie do niej tabel pozwala porzucić uszkodzony kontener danych. Replikacja natomiast jedynie kopiuje dane na inny serwer - w tym także ewentualne uszkodzenia - więc to ona nie pomaga w naprawie.

Pytanie 20

Czemu odpowiada pojęcie „krotka” w relacyjnej bazie danych?

A. kolumnie
B. relacji
C. wierszowi
D. tabeli
Pozostałe pojęcia to inne elementy. Relacja (tabela) to cały zbiór krotek, a kolumna (atrybut) opisuje pojedynczą cechę. Pojedynczy rekord, czyli krotka, odpowiada wierszowi.

Pytanie 21

Język JavaScript wspiera

A. wysyłanie ciastek z identycznymi informacjami do wielu użytkowników strony
B. funkcje wirtualne
C. obiekty DOM
D. abstrakcyjne klasy
Obiekty DOM (Document Object Model) są fundamentalnym aspektem języka JavaScript, umożliwiającym interakcję z dokumentami HTML i XML. Dzięki DOM, programiści mogą dynamicznie manipulować strukturą dokumentu, co pozwala na tworzenie interaktywnych aplikacji webowych. Na przykład, za pomocą JavaScript można zmieniać tekst w elementach HTML, dodawać lub usuwać elementy, a także reagować na zdarzenia użytkownika, takie jak kliknięcia czy ruchy myszy. Przykładowy kod: document.getElementById('example').innerHTML = 'Nowa zawartość'; ilustruje, jak można zmienić zawartość elementu z identyfikatorem 'example'. Zrozumienie i umiejętność pracy z DOM jest kluczowe w nowoczesnym tworzeniu stron internetowych oraz aplikacji w JavaScript, co wpisuje się w najlepsze praktyki rozwoju oprogramowania, takie jak separacja logiki od prezentacji i programowanie obiektowe.

Pytanie 22

Po wykonaniu poniższego kodu PHP, w zmiennej $napis znajduje się tekst:

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. gramo
B. ogram
C. gr
D. og
Wybór odpowiedzi 'gr' lub 'og' oraz 'ogram' jest wynikiem nieporozumienia dotyczącego działania funkcji substr() w PHP. Funkcja ta nie zwraca pierwszych kilku znaków z łańcucha, lecz podciąg zaczynający się od określonego indeksu. W przypadku odpowiedzi 'gr', wydaje się, że koncentrujesz się na pierwszych dwóch znakach od momentu, gdy substr() zaczyna od indeksu 3, co jest błędne. Indeks 3 w łańcuchu 'Programowanie w PHP' wskazuje na literę 'g', a nie zawiera żadnych liter przed nią. Z kolei odpowiedź 'og' pomija literę 'r', co również jest błędne. Natomiast wybór 'ogram' może wynikać z mylnego przekonania, że substr() zwraca więcej znaków, niż rzeczywiście to robi. Funkcja substr() działa na zasadzie podawania precyzyjnych wartości, które określają, od którego znaku zacząć i ile znaków wyodrębnić. Dlatego kluczowe jest zrozumienie indeksowania w PHP oraz tego, jak funkcja substr() interpretuje te wartości. Zrozumienie tych zasad jest istotne, zwłaszcza przy pracy z danymi tekstowymi, gdzie precyzyjne operacje są niezbędne do poprawnego przetwarzania i manipulacji łańcuchami znaków. Warto także zwrócić uwagę na dokumentację PHP, aby lepiej poznać inne parametry i możliwości funkcji substr() oraz jej zastosowania w kontekście programowania webowego. Zastosowanie takich funkcji w praktyce pozwala na bardziej efektywne zarządzanie danymi, co jest kluczowe w projektach programistycznych.

Pytanie 23

W języku PHP symbol "//" oznacza

A. operator alternatywy.
B. operator dzielenia całkowitego.
C. początek programu.
D. początek komentarza jednoliniowego
Znak "//" w PHP to początek komentarza jednoliniowego. Komentarze to naprawdę ważna część kodowania, bo dzięki nim można dodawać notatki, które wyjaśniają, co się dzieje w kodzie. Ułatwia to późniejsze zrozumienie przy pracy nad projektem. Kiedy programista wpisuje "//", mówi interpreterowi PHP, żeby zignorował wszystko, co znajduje się w tej linii po tym znaku. Dzięki temu można opisywać funkcje czy klasy albo tymczasowo wyłączać część kodu, gdy testujemy różne rzeczy. To dobra praktyka, bo czytelność i dokumentacja kodu są kluczowe, szczególnie w większych projektach. Przykładowo, można zobaczyć taki komentarz:

// Funkcja oblicza sumę dwóch liczb
function suma($a, $b) {
return $a + $b;
}

Dzięki takiemu komentarzowi inny programista szybko zrozumie, co ta funkcja robi, co jest super ważne w sytuacjach, gdy w zespole jest więcej osób.

Pytanie 24

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Barwienie.
B. Inwersja.
C. Progowanie.
D. Krzywe.
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 25

W PHP, przy wykonywaniu działań na bazie danych MySQL, aby zakończyć sesję z bazą, należy użyć

A. mysqli_commit();
B. mysqli_exit();
C. mysqli_close();
D. mysqli_rollback();
Podejście polegające na używaniu funkcji mysqli_exit() jest błędne, ponieważ taka funkcja nie istnieje w kontekście rozwiązań MySQL w PHP. Oprócz tego, wywołanie mysqli_commit() nie jest właściwą odpowiedzią, gdyż ta funkcja służy do potwierdzania transakcji, a nie do zamykania połączenia. Transakcje w MySQL są kluczowe dla zapewnienia integralności danych, ale ich zakończenie nie jest równoznaczne z zakończeniem połączenia. Z kolei funkcja mysqli_rollback() jest używana do wycofywania transakcji, co także nie dotyczy zamykania połączeń. Te nieprawidłowe odpowiedzi mogą wynikać z nieporozumienia dotyczącego ról poszczególnych funkcji w kontekście zarządzania transakcjami oraz połączeniami. Typowym błędem myślowym jest mylenie zamykania połączenia z zarządzaniem transakcjami; to dwa odrębne aspekty interakcji z bazą danych. Użytkownicy mogą błędnie zakładać, że każda funkcja związana z bazą danych ma na celu ich zamykanie, co prowadzi do niepoprawnych wniosków. Dlatego kluczowe jest zrozumienie różnicy pomiędzy zarządzaniem połączeniami a zarządzaniem transakcjami, co jest fundamentem efektywnej pracy z bazami danych w PHP.

Pytanie 26

O obiekcie przedstawionym w JavaScript można powiedzieć, że posiada

var obiekt1 = {
    x: 0,
    y: 0,
    wsp: function() { [...] }
}
A. dwoma właściwościami oraz jedną metodą
B. trzema właściwościami
C. dwoma metodami oraz jedną właściwością
D. trzema metodami
Obiekt w języku JavaScript, taki jak przedstawiony na obrazku, składa się z par klucz-wartość zwanych właściwościami. W tym przypadku mamy dwie właściwości x i y, które są przypisane wartości 0. Właściwości te przechowują dane i mogą być dowolnego typu, jak liczby, ciągi znaków czy inne obiekty. Trzecim elementem obiektu jest wsp, który jest przypisany funkcji, co czyni go metodą obiektu. Metoda w JavaScript jest funkcją przypisaną jako wartość właściwości, która może być wywoływana na obiekcie. Tego rodzaju struktura pozwala na efektywne organizowanie kodu i jest często stosowana w programowaniu obiektowym w JavaScript. Dzięki metodom można dynamicznie manipulować danymi wewnątrz obiektu. Takie podejście jest zgodne z zasadami hermetyzacji, które są częścią paradygmatu programowania obiektowego, zwiększając czytelność i utrzymanie kodu. W praktyce, znajomość właściwości i metod obiektów JavaScript jest kluczowa dla tworzenia dynamicznych i interaktywnych aplikacji webowych.

Pytanie 27

Po zrealizowaniu polecenia SQL użytkownik Ela zyska możliwość wykorzystania poniższych uprawnień:

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. tylko tworzyć i zmieniać strukturę tabeli
B. przeprowadzać wszystkie operacje na danych
C. tylko dodawać oraz zmieniać dane
D. realizować wszystkie działania na strukturze danych
Poprawna odpowiedź to możliwość wykonywania wszystkich akcji na danych przyznanych przez polecenie GRANT. W kontekście SQL, uprawnienia SELECT, INSERT, UPDATE oraz DELETE dają użytkownikowi pełną kontrolę nad danymi w tabeli. Dzięki uprawnieniu SELECT użytkownik może przeglądać dane, a INSERT umożliwia dodawanie nowych rekordów. Z kolei UPDATE pozwala na modyfikację istniejących danych, natomiast DELETE umożliwia ich usunięcie. Przykładowo, jeśli użytkownik Ela chce prowadzić analizy danych, korzystając z SELECT, a następnie wprowadzać poprawki lub dodawać nowe dane, polecenie to daje jej odpowiednie narzędzia do ich realizacji. W praktyce, wydawanie uprawnień dla użytkowników w bazach danych powinno być zgodne z zasadą minimalnych uprawnień, co oznacza, że użytkownicy powinni otrzymywać tylko te uprawnienia, które są konieczne do wykonywania ich zadań. Dzięki temu zwiększa się bezpieczeństwo bazy danych i zmniejsza ryzyko nieautoryzowanego dostępu.

Pytanie 28

Zdefiniowana jest tabela uczniowie z polami id, nazwisko, imie oraz klasa. Jakie zapytanie SQL pozwoli nam uzyskać liczbę osób w danym klasa i wskazać jej nazwę?

A. SELECT SUM(id), klasa FROM uczniowie GROUP BY klasa
B. SELECT COUNT(id), klasa FROM uczniowie ORDER BY klasa
C. SELECT SUM(id), klasa FROM uczniowie ORDER BY klasa
D. SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa
Odpowiedź 'SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa;' jest prawidłowa, ponieważ wykorzystuje funkcję agregującą COUNT do zliczenia liczby uczniów w każdej klasie. Kluczowym elementem jest tutaj klauzula GROUP BY, która grupuje wyniki według kolumny 'klasa'. Dzięki temu uzyskujemy dla każdej klasy osobny wynik z liczbą uczniów. To podejście jest zgodne z dobrymi praktykami w SQL, gdzie użycie funkcji agregujących z grupowaniem pozwala na efektywne przetwarzanie danych. Przykładowo, w przypadku szkoły, taka analiza może być użyta do zarządzania zasobami lub planowania, na przykład, przy ustalaniu liczby nauczycieli potrzebnych w danej klasie. Użycie COUNT zapewnia również, że wynik będzie liczbowy, co jest istotne dla dalszej analizy danych. Warto również pamiętać, że korzystanie z odpowiednich aliasów dla wyników może poprawić czytelność wyników zapytania.

Pytanie 29

Powszechnie stosowanym narzędziem SZBD do tworzenia zestawień danych, które można wydrukować, jest

A. raport
B. makro
C. formularz
D. kwerenda UPDATE
Kwerenda UPDATE jest używana do modyfikacji istniejących danych w bazie danych. Głównym celem kwerendy jest aktualizacja wartości pól w określonych rekordach, co jest zupełnie innym zadaniem niż generowanie zestawień danych. Użytkownicy, którzy mylnie uważają, że kwerenda UPDATE może służyć do tworzenia raportów, mogą nie rozumieć podstawowego podziału funkcji w systemach bazodanowych. Z kolei formularz jest interfejsem użytkownika, który umożliwia wprowadzanie danych do bazy, ale nie jest narzędziem do generowania zestawień, co sprawia, że jego zastosowanie jest także niewłaściwe w kontekście tego pytania. Makro, z drugiej strony, to zestaw instrukcji automatyzujących różne operacje w bazie danych, ale także nie jest dedykowane do tworzenia raportów. Kluczowym błędem myślowym jest utożsamianie narzędzi do modyfikacji lub wprowadzania danych z narzędziami do ich analizy i raportowania. Warto zrozumieć, że każdy z tych elementów ma swoje specyficzne zastosowanie w systemach zarządzania bazami danych, a ich pomylenie może prowadzić do nieskutecznego wykorzystania zasobów oraz obniżenia jakości analizy danych.

Pytanie 30

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

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

Pytanie 31

W którym przypadku interpreter PHP zgłosi błąd i nie wykona kodu?

A. gdy pobierze wartość z niewypełnionego pola formularza
B. gdy kod nie ma wcięć
C. gdy zabraknie średnika kończącego instrukcję
D. gdy zmienne deklaruje się wewnątrz warunku
PHP wymaga średnika na końcu każdej instrukcji. Gdy go zabraknie, interpreter napotyka błąd składni (parse error) i NIE wykona kodu. Dlatego błąd zgłosi brak średnika kończącego instrukcję.

Pytanie 32

Jak inaczej zapisać w JavaScript instrukcję a++;?

A.
a << 1;
B.
a & 1;
C.
1 += a;
D.
a = a + 1;
Operator a++ zwiększa wartość zmiennej o 1, więc równoważnym zapisem jest a = a + 1. Dlatego a++ to a = a + 1.

Pytanie 33

Co chce osiągnąć poniższe zapytanie MySQL?

ALTER TABLE ksiazki
MODIFY tytul VARCHAR(100) NOT NULL;
A. Zmienić typ kolumny w tabeli ksiazki
B. Dodać do tabeli ksiazki kolumnę tytul
C. Zmienić nazwę kolumny w tabeli ksiazki
D. Usunąć kolumnę tytul z tabeli ksiazki
Polecenie SQL ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL; służy do zmiany typu kolumny tytul w tabeli ksiazki. W tym przypadku typ kolumny jest zmieniany na VARCHAR(100), co oznacza, że będzie przechowywać łańcuchy znaków o maksymalnej długości 100 znaków, a dodatkowo kolumna ta nie może przyjmować wartości NULL. Użycie ALTER TABLE i MODIFY pozwala na dynamiczną modyfikację struktury tabeli bez konieczności jej usuwania i ponownego tworzenia, co jest korzystne w dużych systemach bazodanowych, gdzie minimalizacja czasu przestoju jest kluczowa. Praktyczne zastosowanie polecenia MODIFY jest szerokie i obejmuje sytuacje, w których wymagane są zmiany w przechowalności danych, na przykład aby dostosować się do nowych wymagań biznesowych lub normatywnych. Warto pamiętać o dopasowaniu zmian do istniejących danych i zapewnieniu spójności bazy danych, co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 34

W posiadanej tabeli zwanej przedmioty, która zawiera kolumny ocena oraz uczenID, aby wyliczyć średnią ocen dla ucznia z ID równym 7, należy użyć zapytania

A. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7
B. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7
C. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7
D. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7
Odpowiedź 'SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;' jest poprawna, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią ocen dla wszystkich wpisów w tabeli 'przedmioty', gdzie 'uczenID' jest równy 7. W SQL funkcje agregujące są niezwykle przydatne do analizy danych, pozwalając na uzyskanie statystyk dotyczących zbiorów danych. Użycie klauzuli WHERE pozwala na filtrowanie danych do tych, które dotyczą konkretnego ucznia, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi. Na przykład, w praktycznych zastosowaniach, może to być użyte do generowania raportów dotyczących wyników ucznia w określonym przedziale czasowym lub w porównaniu do innych uczniów. Warto również zauważyć, że poprawna konstrukcja zapytania SQL jest kluczowa dla utrzymania integralności i wydajności bazy danych, co podkreśla znaczenie płynnego zapisu zapytań. Takie umiejętności są nieocenione w pracy z bazami danych oraz w kontekście analizy danych w różnych dziedzinach.

Pytanie 35

Jak nazywa się czynność wykrywania i usuwania błędów w kodzie źródłowym programu?

A. normalizacja
B. standaryzacja
C. debugowanie
D. kompilowanie
Czynność wykrywania i usuwania błędów w kodzie źródłowym nazywa się debugowaniem (od ang. debugging) - programista lokalizuje usterkę i poprawia kod. Dlatego ta czynność to debugowanie.

Pytanie 36

Którego słowa kluczowego użyć w języku C, aby zdefiniować stałą?

A.
#INCLUDE
B.
const
C.
#CONST
D.
static
W języku C stałą definiuje się słowem kluczowym const, np. const int max = 100; - wartości takiej zmiennej nie można potem zmienić. Dlatego stałą tworzy const.

Pytanie 37

W systemie kolorów RGB kolor żółty uzyskuje się przez zmieszanie dwóch barw: zielonej i czerwonej. Jaki kod szesnastkowy reprezentuje kolor żółty?

A. #FFFF00
B. #00FFFF
C. #F0F0F0
D. #FF00FF
Kolor żółty w palecie RGB jest uzyskiwany przez połączenie maksymalnej wartości czerwonego (FF) oraz maksymalnej wartości zielonego (FF), przy zerowej wartości niebieskiego (00). Kod szesnastkowy #FFFF00 oznacza, że czerwony ma wartość 255 (FF), zielony również ma wartość 255 (FF), a niebieski ma wartość 0 (00). Przykładowe zastosowanie koloru żółtego znajduje się w projektowaniu graficznym, gdzie jest on często wykorzystywany do wyróżniania istotnych elementów, takich jak przyciski lub informacje, które mają przyciągnąć uwagę użytkownika. W kontekście aplikacji internetowych, stosowanie barw RGB zgodnie z ich reprezentacją szesnastkową jest zgodne z dobrymi praktykami w zakresie UX/UI, zapewniając spójność i czytelność interfejsów. Standardy dotyczące kolorów, takie jak WCAG, również zalecają odpowiednie kontrasty, które można osiągnąć przy użyciu kolorów takich jak żółty. Poznanie różnych kodów kolorów oraz ich zastosowań jest kluczowe dla skutecznego projektowania wizualnego, co przyczynia się do lepszej interakcji użytkownika z aplikacjami i stronami internetowymi.

Pytanie 38

Aby zwiększyć wydajność operacji na bazie danych dla pól często używanych w wyszukiwaniu lub sortowaniu, należy:

A. utworzyć indeks
B. dodać więzy integralności
C. dodać klucz obcy
D. utworzyć osobną tabelę na te pola
Indeks to dodatkowa struktura bazy, która działa jak skorowidz w książce: zamiast przeglądać cały zbiór wierszy, baza sięga do uporządkowanego spisu i szybko odnajduje szukane wartości. Dlatego dla kolumn często występujących w warunkach WHERE, sortowaniu czy złączeniach zakłada się indeksy - przyspieszają odczyt nawet wielokrotnie. Trzeba pamiętać, że indeksy nieco spowalniają zapis i zajmują miejsce, więc zakłada się je świadomie, na właściwych polach. Do poprawy wydajności wyszukiwania służy właśnie indeks.

Pytanie 39

Do czego służy pole insert_id z biblioteki MySQLi w PHP?

A. do uzyskania kodu błędu nieudanego wstawienia
B. do pobrania najwyższego indeksu bazy do inkrementacji
C. do uzyskania id ostatnio wstawionego wiersza
D. do pobrania pierwszego wolnego indeksu
insert_id dotyczy udanego wstawienia, a nie kodu błędu (od tego są errno/error). Nie pobiera też „pierwszego wolnego” ani „najwyższego” indeksu z góry - zwraca konkretny id WSTAWIONEGO właśnie rekordu. To id ostatnio wstawionego wiersza.

Pytanie 40

W języku JavaScript, aby zweryfikować, czy liczba leży w zakresie (100, 200>, należy użyć następującego zapisu:

A. If (liczba > 100 || liczba <=200)
B. If (liczba < 100 || liczba >=200)
C. If (liczba < 100 && liczba <=200)
D. If (liczba > 100 && liczba <=200)
Wyrażenie warunkowe 'if (liczba > 100 && liczba <= 200)' jest całkiem dobrze skonstruowane. Precyzyjnie wskazuje, że interesują nas liczby od 101 do 200, z tym że 200 jest uwzględniona, a 100 już nie. Operator '&&' (AND) działa tutaj, bo musi być spełniony zarówno pierwszy, jak i drugi warunek, co jest bardzo istotne w tym przypadku. W praktyce takie warunki można często spotkać w aplikacjach webowych, szczególnie przy walidacji danych. Na przykład w formularzach, gdzie użytkownicy muszą podać wartości mieszczące się w danym zakresie. Umiejętne korzystanie z operatorów logicznych to dobra praktyka w programowaniu. Dzięki temu kod jest bardziej czytelny oraz łatwiejszy do utrzymania. Warto też pamiętać, że różne biblioteki i frameworki mają własne metody walidacji, ale znajomość podstawowych zasad programowania w JavaScript jest kluczowa, żeby móc je dobrze wykorzystywać.