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: 19 czerwca 2026 12:56
  • Data zakończenia: 19 czerwca 2026 13:15

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

W CSS określono styl dla stopki. Jak można zastosować to formatowanie do bloku oznaczonego znacznikiem div?

#stopka { ... }
A. <div id = "stopka"> …
B. <div class = "stopka"> …
C. <div "stopka"> …
D. <div title = "stopka"> …
Poprawnie – zapis #stopka w CSS oznacza selektor identyfikatora (ID), więc w HTML musimy użyć atrybutu id="stopka" dokładnie z tą samą nazwą. W CSS znak # wskazuje, że styl jest przypisany do elementu o konkretnym identyfikatorze, a nie do klasy czy czegokolwiek innego. Dlatego jedynym prawidłowym sposobem podpięcia tego stylu do bloku div jest konstrukcja: <div id="stopka">…</div>.
W praktyce wygląda to tak:
CSS:
#stopka {
background-color: #333;
color: white;
padding: 20px;
}
HTML:
<div id="stopka">To jest stopka strony</div>
Przeglądarka łączy selektor #stopka z elementem, który ma id="stopka" i nakłada na niego zdefiniowane właściwości. Identyfikator powinien być unikalny w obrębie całego dokumentu HTML, co jest zgodne z zaleceniami W3C i ogólnie przyjętą dobrą praktyką. Do jednego ID odwołujemy się w CSS przez #, a w JavaScript przez document.getElementById("stopka").
Moim zdaniem warto zapamiętać prostą zasadę: # w CSS = id w HTML, kropka (.) w CSS = class w HTML. Gdy projektujesz layout strony, zwykle elementy typu nagłówek, stopka, główna nawigacja mają unikalne ID, bo występują raz na stronie. Natomiast powtarzalne elementy (np. kafelki z produktami) dostają klasy. Dzięki temu kod jest czytelniejszy, łatwiej się go utrzymuje i unikamy dziwnych konfliktów stylów. Dobrą praktyką jest też używanie opisowych nazw, np. id="stopka" zamiast skrótów typu id="s1", bo po miesiącu nikt nie pamięta, co to znaczyło.

Pytanie 2

Co oznacza dodanie kanału alfa podczas obróbki grafiki rastrowej?

A. zwiększenie głębi ostrości
B. wyostrzenie krawędzi obrazu
C. ustalenie balansu bieli
D. wprowadzenie warstwy z przezroczystością
Dodanie kanału alfa oznacza wprowadzenie dodatkowej warstwy informacji o PRZEZROCZYSTOŚCI pikseli - dzięki niej fragmenty obrazu mogą być przezroczyste lub półprzezroczyste. Dlatego to wprowadzenie warstwy z przezroczystością.

Pytanie 3

Wskaż poprawne stwierdzenie dotyczące przedstawionego kodu HTML.
<video width="640" height="480" controls>
<source src="animacja.mp4" type="video/mp4">
</video>

A. Lokalizacja pliku jest nieprawidłowa, brak w niej ścieżki bezwzględnej.
B. Kod może nie działać w przeglądarkach, które nie obsługują HTML5.
C. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
D. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby był odtwarzany.
Pierwsze stwierdzenie sugeruje, że plik animacja.mp4 musi mieć dokładnie rozdzielczość 640x480 pikseli, co jest nieprawdziwe. Format &lt;video&gt; w HTML umożliwia odtwarzanie filmów w różnych rozdzielczościach, a przeglądarka automatycznie dostosuje odtwarzanie w zależności od dostępnych zasobów i jakości pliku wideo. Drugie stwierdzenie, że użytkownik nie będzie miał możliwości sterowania odtwarzaniem, jest sprzeczne z definicją atrybutu 'controls', który dodaje elementy sterujące do odtwarzacza, takie jak play, pause i seek. Trzecie stwierdzenie odnosi się do lokalizacji pliku, podczas gdy w rzeczywistości plik animacja.mp4 może być lokalizowany w różnych folderach, a nie tylko w ścisłej ścieżce bezwzględnej. HTML5 wprowadza wiele standardów i uproszczeń, a deweloperzy są zobowiązani do przestrzegania tych standardów, aby zapewnić, że ich treści będą dostępne na różnych platformach. Typowe błędy myślowe prowadzące do takich wniosków obejmują nieznajomość zasad działania znaczników HTML oraz niepełne zrozumienie mechanizmów, jakie przeglądarki stosują w kontekście odtwarzania multimediów.

Pytanie 4

Co nada polecenie

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
(anna nie miała wcześniej praw)?
A. prawa do zmiany struktury wszystkich tabel bazy
B. prawa do dodawania kolumn i zmiany STRUKTURY tabeli klienci
C. prawa do wybierania, wstawiania i aktualizacji DANYCH w tabeli klienci
D. prawa do danych we WSZYSTKICH tabelach bazy
GRANT SELECT, INSERT, UPDATE ON klienci TO anna; nadaje użytkowniczce anna prawa do operacji na DANYCH konkretnej tabeli klienci: odczytu (SELECT), wstawiania (INSERT) i aktualizacji (UPDATE). Dlatego nadaje prawa do wybierania, wstawiania i aktualizacji danych w tabeli klienci.

Pytanie 5

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

A.
1 += a;
B.
a << 1;
C.
a = a + 1;
D.
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 6

Jaki wynik przyjmie zmienna a po zakończeniu pętli w podanym fragmencie kodu PHP?

$i = 10; $a = 0;
while ($i)
{
    $a = $a + 2;
    $i--;
}
A. 0
B. 20
C. 2
D. 10
W podanym fragmencie kodu PHP zmienna a przyjmuje wartość 20 po zakończeniu pętli. Dzieje się tak, ponieważ pętla while wykonuje się, dopóki zmienna i jest różna od zera. Na początku i jest równe 10, a podczas każdej iteracji pętli zmienna a jest zwiększana o 2, a zmienna i jest dekrementowana o 1. W efekcie pętla wykonuje się dokładnie 10 razy, a w każdej iteracji wartość zmiennej a zwiększa się o 2. W rezultacie po 10 iteracjach zmienna a osiąga wartość 20. Takie podejście do pętli while jest często stosowane w programowaniu, gdy chcemy wykonać określoną liczbę iteracji, dopóki warunek logiczny jest spełniony. Jest to przykład dobrej praktyki, gdy kod jest czytelny i łatwy do zrozumienia. W praktyce programowania PHP pętle tego typu są używane do różnych operacji, takich jak przetwarzanie danych, iterowanie po elementach tablic, czy wykonywanie złożonych obliczeń, co ilustruje zrozumiałe i efektywne zastosowanie tej konstrukcji w PHP.

Pytanie 7

Najprostszy sposób przekształcenia obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 to

Ilustracja do pytania
A. animowanie obiektu
B. zmiana warstwy obiektu
C. narysowanie docelowego obiektu
D. geometryczne transformowanie obiektu
Geometria transformacji to niezwykle ważne pojęcie w dziedzinie grafiki komputerowej i projektowania. Polega na zmianie kształtu obiektu za pomocą operacji takich jak skalowanie, obracanie, przesuwanie czy odkształcanie. W kontekście pytania, geometria transformacji umożliwia przekształcenie obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 poprzez zmianę jego kształtu i wielkości. Praktyczne zastosowanie transformacji geometrycznych obejmuje m.in. skalowanie w celu dostosowania rozmiarów obiektów do różnych nośników lub kontekstu wyświetlania. Obracanie jest używane do orientacji obiektów w przestrzeni, co jest niezwykle przydatne w modelowaniu 3D czy animacjach. Dobre praktyki projektowania graficznego zalecają korzystanie z transformacji geometrycznych, aby uzyskać spójną i estetyczną kompozycję. Standardy branżowe często definiują konkretne algorytmy i formaty danych dla transformacji, jak na przykład macierze przekształceń w grafice trójwymiarowej. Zrozumienie i umiejętne zastosowanie tych pojęć pozwala na efektywne tworzenie złożonych struktur wizualnych oraz interaktywnych aplikacji.

Pytanie 8

Tabele: Studenci, Zapisy, Zajecia są powiązane relacją. Aby wybrać jedynie nazwiska studentów oraz odpowiadające im idZajecia dla studentów z grupy 15, należy wydać kwerendę

Ilustracja do pytania
A. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy WHERE grupa= 15;
B. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE grupa = 15;
C. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idZajecia WHERE grupa = 15;
D. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta;
Wśród proponowanych rozwiązań pojawiają się charakterystyczne błędy, często spotykane przy pierwszych próbach pracy z relacyjnymi bazami danych. Bardzo łatwo jest pomylić się na etapie łączenia tabel, zwłaszcza gdy nie do końca rozumie się, jak działa klucz główny i obcy w praktyce. Jeden z typowych problemów polega na pominięciu warunku określającego, w jaki sposób tabele mają być połączone – wtedy system bazodanowy tworzy tzw. iloczyn kartezjański, czyli paruje każdy rekord z jednej tabeli z każdym z drugiej, co zwykle daje absurdalnie dużo wyników i nie ma nic wspólnego z rzeczywistością. Popularny błąd to też użycie niewłaściwych pól do łączenia – np. próba połączenia idStudenta z idZajecia, które są ze sobą kompletnie niepowiązane, bo reprezentują dwa różne byty. Z mojego doświadczenia wynika, że często myli się pole id w tabeli Studenci z polem idZajecia w tabeli Zapisy – to są zupełnie inne klucze i nie mają prawa się zgadzać. Inna pułapka pojawia się, gdy zapomni się o warunku WHERE filtrującym po konkretnej grupie, przez co wynik zawiera dane wszystkich studentów, a nie tylko tych z interesującej nas grupy. Trzeba też pamiętać, że poprawna kolejność oraz jawne stosowanie JOIN z warunkiem ON to nie tylko kwestia składni, ale i wydajności oraz czytelności kodu. Warto mocno utrwalić sobie, że łączenie przez JOIN i jasno określony warunek ON to podstawa dobrej praktyki i niemal zawsze sprawdza się przy pracy z większymi, złożonymi bazami danych – zupełnie inaczej niż domyślne, niejawne łączenia czy łączenie po złych polach.

Pytanie 9

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 COUNT(id), klasa FROM uczniowie GROUP BY klasa
B. SELECT SUM(id), klasa FROM uczniowie ORDER BY klasa
C. SELECT COUNT(id), klasa FROM uczniowie ORDER BY klasa
D. SELECT SUM(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 10

Aby zrealizować podane czynności w JavaScript, należy w znaczniku <script> umieścić poniższy kod

  1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikacje: ", następnie po zatwierdzeniu
  2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się wartość pobrana z okna "Kwalifikacja: ..."
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)
Odpowiedź 1 jest prawidłowa, ponieważ w JavaScript funkcja prompt() służy do wyświetlenia okna dialogowego z poleceniem dla użytkownika, aby wprowadził tekst. Po wpisaniu wartości przez użytkownika i zatwierdzeniu, tekst jest przypisywany do zmiennej A. Następnie funkcja document.write() umożliwia dynamiczne dodanie tego tekstu do dokumentu HTML. Poprawne użycie obu tych funkcji spełnia wymagania zadania – najpierw otwieramy okno dialogowe, a potem umieszczamy wprowadzone dane na stronie. Stosowanie prompt() i document.write() jest często wykorzystywane w aplikacjach webowych do interakcji z użytkownikiem w sposób bezpośredni. Mimo że bardziej nowoczesne metody, takie jak manipulacja DOM za pomocą innerHTML czy użycie frameworków JavaScript, oferują większe możliwości, prompt() i document.write() pozostają prostymi narzędziami do szybkiej prezentacji wyników na stronie. Warto jednak pamiętać, że nadmierne użycie document.write() może prowadzić do nadpisania istniejących treści w dokumencie, co nie jest optymalną praktyką w złożonych aplikacjach webowych.

Pytanie 11

W firmie zajmującej się technologiami informacyjnymi otwarta jest rekrutacja na stanowisko administratora e-sklepu. Do jego zadań należy instalacja i konfiguracja systemu zarządzania treścią, który jest przeznaczony jedynie dla sklepu internetowego, zmiana szablonów wizualnych oraz dostosowanie grafiki. Jakie umiejętności powinien posiadać nowy pracownik?

A. HTML, CSS, Photoshop
B. CMS PrestaShop, CSS, Gimp
C. Photoshop, Gimp, JavaScript
D. CMS WordPress, HTML, Gimp
Podczas analizy innych odpowiedzi można zauważyć, że każda z nich zawiera nieodpowiednie elementy, które nie odpowiadają wymaganiom pracy administratora sklepu internetowego. W przypadku odpowiedzi zawierających Photoshop, Gimp oraz JavaScript, chociaż umiejętności graficzne są ważne, JavaScript nie jest priorytetowy w kontekście zarządzania treścią w systemach e-commerce, takich jak PrestaShop. JavaScript głównie służy do tworzenia dynamicznych interfejsów użytkownika, co może być mniej istotne, gdyż wiele funkcjonalności jest już zintegrowanych w CMS. Z kolei Photoshop i Gimp, choć przydatne, nie są kluczowe w administracji samego systemu. Ponadto, odpowiedzi związane z CMS WordPress, HTML i Gimp również mijają się z celem, ponieważ WordPress nie jest dedykowany wyłącznie do e-commerce, podczas gdy PrestaShop został stworzony specjalnie dla sklepów internetowych. HTML jest użyteczny, ale nie jest wystarczający dla administratora, który musi również znać specyfikę CMS-a. W rezultacie, brak pełnego zrozumienia różnic między platformami oraz ich zastosowaniami prowadzi do błędnych wniosków o wymaganych umiejętnościach, co podkreśla znaczenie dokładnej analizy potrzeb w kontekście danej roli zawodowej.

Pytanie 12

Jakie z poniższych stwierdzeń poprawnie opisuje zdefiniowaną tabelę?

CREATE TABLE dane (kolumna INTEGER(3));
A. Tabela o nazwie dane zawiera trzy kolumny typu całkowitego.
B. Tabela ma jedną kolumnę, która zawiera tablice z trzema elementami.
C. Kolumny tabeli dane są nazywane: kolumna 1, kolumna2, kolumna3.
D. Tabela o nazwie dane posiada jedną kolumnę liczb całkowitych.
Odpowiedź jest prawidłowa, ponieważ w zdefiniowanej tabeli 'dane' mamy jedną kolumnę o nazwie 'kolumna', której typ danych to INTEGER. Wartość 3 w definicji INTEGER(3) oznacza, że kolumna może przechowywać liczby całkowite, a nie liczb o długości 3, co często jest mylone. W praktyce INTEGER w SQL nie ma ograniczenia do przechowywania tylko trzech cyfr; to po prostu sugeruje, że przyjmuje się, iż liczby będą miały długość do trzech cyfr, co jest w rzeczywistości ignorowane, ponieważ SQL nie narzuca takich ograniczeń. Wartości w tej kolumnie mogą być zarówno jednocyfrowe, jak i trzycyfrowe. W kontekście projektowania baz danych, dobrą praktyką jest nadawanie kolumnom zrozumiałych nazw oraz dokładne określanie ich typów danych, co ułatwia późniejsze zarządzanie danymi. Poprawne zdefiniowanie tabeli jest kluczowe dla wydajności bazy danych oraz jej integralności, dlatego dla kolumny INTEGER nie ma potrzeby dodatkowego określania ograniczeń, chyba że są one wymagane w kontekście aplikacyjnym.

Pytanie 13

Obiekt typu array w języku JavaScript służy do przechowywania:

A. wielu wartości dowolnego typu
B. wielu wartości wyłącznie tekstowych
C. wielu wartości wyłącznie liczbowych
D. wielu wartości, ale tylko funkcji
Tablica (array) w JavaScript to uporządkowany zbiór elementów dostępnych po indeksie (od 0). W odróżnieniu od tablic w językach o ścisłym typowaniu, tablica JS może przechowywać wartości RÓŻNYCH typów naraz - liczby, napisy, wartości logiczne, obiekty, funkcje, a nawet inne tablice, np. [1, "tekst", true, {a: 1}]. Elementy dodaje się m.in. metodą push(), a liczbę elementów daje length. Dlatego tablica służy do przechowywania wielu wartości dowolnego typu.

Pytanie 14

Wskaż NIEPRAWIDŁOWY opis optymalizacji kodu wygenerowanego przez program

A. Powinna prowadzić do zmiany kodu źródłowego w taki sposób, aby działał on szybciej
B. W celu przyspieszenia wykonania kodu przez procesor może być przeprowadzana na różnych etapach działania
C. Jej celem jest zwiększenie efektywności programu
D. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
Optymalizacja kodu wynikowego programu to proces, który ma na celu poprawienie jego wydajności, a nie sprawdzenie zgodności z wymogami formalnymi. W praktyce oznacza to, że optymalizacja skupia się na zwiększeniu efektywności działania aplikacji poprzez różne techniki, takie jak eliminacja zbędnych operacji, zmniejszenie zużycia pamięci, czy też poprawa szybkości wykonywania kodu. Przykładem może być wykorzystanie algorytmów o lepszej złożoności czasowej, co przekłada się na szybsze działanie programów w praktycznych zastosowaniach, takich jak gry komputerowe czy aplikacje webowe. W branży programistycznej stosuje się różnorodne narzędzia i standardy, takie jak analizy profili, które pomagają w identyfikowaniu wąskich gardeł wydajnościowych. Dlatego ważne jest, aby zrozumieć, że optymalizacja to nie tylko poprawa działania programu, ale także dostosowanie go do określonych wymagań użytkowników i systemów, na których będzie uruchamiany.

Pytanie 15

Jaką wartość przyjmie zmienna a po wykonaniu poniższej sekwencji komend w PHP?

$a = 1;
$a++;
$a += 10;
--$a;
A. 12
B. 11
C. 1
D. 10
Zmienna a początkowo jest ustawiona na wartość 1. Instrukcja $a++ to postinkrementacja co oznacza że pierwotna wartość zmiennej a jest użyta w bieżącym wyrażeniu a dopiero potem zwiększana. Po wykonaniu tej instrukcji a staje się 2. Następnie $a += 10 zwiększa wartość o 10 co daje nam 12. Ostatecznie instrukcja --$a to predekrementacja co oznacza że zmniejsza wartość przed użyciem w wyrażeniu. W efekcie końcowym a wynosi 11. W praktyce zrozumienie różnic między inkrementacją a dekrementacją jest kluczowe dla efektywnego kodowania zwłaszcza przy operacjach na licznikach w pętlach. Dobre praktyki w programowaniu zalecają świadome stosowanie post- i preinkrementacji oraz zrozumienie jak te operacje wpływają na logikę programu. Umiejętność przewidywania efektów tych operacji jest jedną z podstawowych kompetencji programistycznych która znacząco wpływa na jakość i niezawodność tworzonego oprogramowania. Warto także zwrócić uwagę na zachowanie tych operatorów w różnych językach programowania ponieważ mimo pewnych podobieństw zachowanie może się różnić

Pytanie 16

Klucz obcy w bazie danych jest tworzony w celu

A. stworzenia formularza do wprowadzania danych do tabeli
B. określenia relacji 1..n łączącej go z kluczem głównym innej tabeli
C. łączenia go z innymi kluczami obcymi w tabeli
D. umożliwienia jednoznacznej identyfikacji rekordu w bazie danych
Klucz obcy w tabeli jest fundamentalnym elementem w relacyjnych bazach danych, który umożliwia tworzenie relacji pomiędzy tabelami. W szczególności, definiuje relację 1..n, co oznacza, że jeden rekord w tabeli, w której znajduje się klucz główny, może być powiązany z wieloma rekordami w tabeli, która posiada klucz obcy. Taki mechanizm pozwala na strukturalne powiązanie danych, co jest kluczowe dla zapewnienia integralności referencyjnej. Na przykład, w bazie danych zarządzającej informacjami o klientach i ich zamówieniach, klucz obcy w tabeli zamówień może wskazywać na klucz główny w tabeli klientów, co pozwala na łatwe śledzenie, które zamówienia są przypisane do konkretnego klienta. Zastosowanie kluczy obcych wspiera również dobre praktyki projektowania baz danych, takie jak normalizacja, co minimalizuje redundancję danych i poprawia ich spójność. Zgodność z tymi zasadami jest zgodna z wytycznymi organizacji takich jak ISO/IEC 9075 oraz ANSI SQL, które promują efektywne zarządzanie danymi.

Pytanie 17

Rezultatem realizacji zaprezentowanego kodu PHP jest wyświetlenie wartości

Ilustracja do pytania
A. 47
B. 136
C. 14
D. 147
W pytaniu testowym dotyczącym przedstawionego kodu PHP niektóre odpowiedzi mogą wydawać się intuicyjnie poprawne jednak takie podejście często prowadzi do błędów. Kod PHP wykorzystuje pętlę for która jest formą kontrolowanej iteracji. Rozpoczyna się ona od ustalenia pierwszej wartości zmiennej kontrolnej $i na 1 a pętla kontynuuje swoją pracę tak długo jak długo warunek $i <= 7 jest spełniony. Każdorazowo $i zwiększa się o 3. Niewłaściwe zrozumienie tego mechanizmu może prowadzić do niepoprawnych estymacji wyniku zwłaszcza gdy nie analizuje się kolejnych wyrazów ciągu. Pierwsza wartość to 1 następnie 4 i kończy się na 7. Częstym błędem jest przeoczenie faktu że $i zwiększa się o 3 w każdej iteracji co może skutkować błędnym założeniem że pętla iteruje po wszystkich liczbach od 1 do 7 bezpośrednio. Innym częstym błędem jest błędne odczytanie wyników jako sumy wartości co wynika z niepełnej interpretacji działania funkcji print w kontekście pętli. Warto podkreślić że język PHP w kontekście iteracji wymaga szczególnej uwagi w interpretacji warunków sterujących co jest kluczowe dla prawidłowego działania aplikacji w środowisku produkcyjnym. Unikanie tych błędów wymaga zrozumienia podstawowych zasad działania pętli i dokładnego śledzenia logiki programu co jest esencją programowania proceduralnego i imperatywnego w PHP. To podejście zapobiega prostym błędom logicznym które mogą prowadzić do nieoczekiwanych rezultatów w bardziej złożonych aplikacjach webowych i skryptach.

Pytanie 18

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

(([A-ZŁŻ][a-ząęóżźćńłś]{2,})(-[A-ZŁŻ][a-ząęóżźćńłś]{2,})?)
A. Jelenia Góra
B. Kowalski
C. Nowakowska-Kowalska
D. Kasprowicza
Wyrażenie regularne, które zostało podane w pytaniu, to [A-ZŁŻ][a-ząęóżźćńłś]{2,}-[A-ZŁŻ][a-ząęóżźćńłś]{2,}. Wyrażenie to jest używane do walidacji polskich nazwisk, gdzie pierwsza litera musi być dużą literą z zakresu A-Z oraz polskimi znakami diakrytycznymi, następnie muszą występować co najmniej dwa znaki małe, również z zestawu polskich liter. Po pierwszej części, która odpowiada za pierwsze nazwisko, mamy opcjonalny fragment, który zaczyna się od znaku '-', co oznacza, że można podać drugie nazwisko, które także musi spełniać te same warunki. Przykład poprawnych wartości to Kowalski oraz Nowakowska-Kowalska. Wartość 'Jelenia Góra' nie pasuje do tego wzorca, ponieważ zawiera spację, która nie jest dozwolona w tym kontekście. Dodatkowo, spację można interpretować jako rozdzielenie dwóch słów, co wykracza poza przyjęty format. W związku z tym, prawidłowa odpowiedź to 'Jelenia Góra'.

Pytanie 19

Jakie jest zadanie funkcji desaturacji w edytorze grafiki?

A. rozjaśnienie obrazu
B. zwiększenie liczby kolorów w obrazie
C. przekształcenie barw do odcieni szarości
D. zwiększenie jaskrawości (nasycenia) barw
Pozostałe odpowiedzi opisują inne operacje na obrazie. Zwiększenie jaskrawości barw to saturacja - działanie dokładnie odwrotne do desaturacji, która nasycenie odbiera. Rozjaśnienie obrazu dotyczy jasności i reguluje się je osobnymi narzędziami (poziomy, krzywe, jasność/kontrast), nie usuwaniem koloru. Zwiększanie liczby kolorów również nie pasuje - desaturacja redukuje barwy do szarości, a nie poszerza paletę. Przekształcenie do odcieni szarości wykonuje właśnie desaturacja, dlatego ta odpowiedź jest poprawna.

Pytanie 20

W języku PHP zapis $b++ jest równoważny zapisowi

A. $b = $b + $b
B. $b == $b
C. $b == $b + $b
D. $b = $b + 1
Zapis $b++ w PHP to tak zwany operator inkrementacji w wersji postfiksowej. Oznacza on zwiększenie wartości zmiennej b dokładnie o 1. W praktyce, po wykonaniu tej instrukcji, b będzie miało wartość b + 1. Dlatego zapis ten jest równoważny instrukcji przypisania $b = $b + 1. Warto zauważyć, że jest to uproszczona, bardziej czytelna forma, bardzo często wykorzystywana w pętlach, np. for ($i = 0; $i < 10; $i++). Właśnie w takim kontekście operator ++ jest praktycznie standardem branżowym i każdy programista webowy powinien go rozumieć bez zastanawiania. Moim zdaniem używanie $b++ zamiast $b = $b + 1 poprawia czytelność kodu, szczególnie gdy mamy dużo operacji na licznikach, indeksach tablic czy licznikach iteracji. Trzeba też pamiętać o różnicy między $b++ a ++$b. W wersji postfiksowej (b++) najpierw zwracana jest stara wartość, a dopiero potem zmienna jest zwiększana. W wersji prefiksowej (++b) najpierw zwiększana jest wartość, a potem zwracany jest już nowy wynik. W prostych przypadkach, takich jak samodzielna linijka $b++; albo $b = $b + 1;, efekt końcowy w zmiennej b jest ten sam. Natomiast w wyrażeniach typu $c = $b++; różnica ma znaczenie. W codziennej pracy z PHP operatory ++ i -- są fundamentem przy pisaniu pętli, prostych algorytmów zliczania, paginacji czy obsługi indeksów w tablicach. Dobra praktyka to stosowanie tych skróconych operatorów tam, gdzie naprawdę chodzi tylko o zwiększenie lub zmniejszenie o 1, bo od razu widać intencję programisty i kod jest bardziej zwięzły, bez zbędnego „szumu”.

Pytanie 21

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(F, 0, E0)
B. rgb(255, 0, 128)
C. rgb(FF, 0, E0)
D. rgb(255, 0, 224)
Zapis #FF00E0 to klasyczny przykład koloru w notacji szesnastkowej, używanej w CSS i ogólnie w webdesignie. Cały haczyk polega na tym, że te literki i cyfry nie są traktowane jako tekst, tylko jako liczby w systemie o podstawie 16. Każde dwa znaki odpowiadają jednej składowej koloru: czerwonej, zielonej i niebieskiej. Czyli mamy strukturę: #RRGGBB. W tym konkretnym przypadku RR = FF, GG = 00, BB = E0.

Częsty błąd polega na traktowaniu tych liter dosłownie, jak w odpowiedziach typu rgb(F, 0, E0) czy rgb(FF, 0, E0). W zapisie rgb() wartości muszą być liczbami dziesiętnymi z zakresu 0–255, a nie ciągami znaków. Przeglądarka oczekuje tam konkretnych wartości natężenia składowych, a nie kodu szesnastkowego. FF to nie symbol, tylko liczba w systemie hex. Żeby ją poprawnie zinterpretować, trzeba przeliczyć ją na system dziesiętny: F to 15, więc FF = 15×16 + 15 = 255. Podobnie z E0: E to 14, więc E0 = 14×16 + 0 = 224. Z mojego doświadczenia to przeliczanie jest źródłem wielu pomyłek, szczególnie na początku nauki.

Inny typowy błąd myślowy to zgadywanie wartości na oko, jak w odpowiedzi rgb(255, 0, 128). Ktoś widzi intensywny kolor, więc daje maksymalny czerwony i jakąś średnią wartość niebieskiego. Problem w tym, że hex E0 to wcale nie jest 128, tylko 224, czyli dużo bliżej maksimum 255 niż środka skali. Takie „strzelanie” bez przeliczenia łamie spójność pomiędzy zapisem hex a rgb i prowadzi do zupełnie innego koloru niż zamierzony.

Dobra praktyka w branży jest taka, żeby zawsze pamiętać: zapis hex to trzy liczby 0–255 zapisane w bazie 16, a rgb() to te same liczby zapisane normalnie, po ludzku, w systemie dziesiętnym. Jeżeli pojawiają się litery A–F, to znaczy, że mamy do czynienia z systemem szesnastkowym i trzeba je potraktować jak cyfry 10–15, a nie jako jakiś tekst. To niby drobiazg, ale w pracy front-endowca albo grafika webowego ma ogromne znaczenie, bo precyzja kolorów jest kluczowa dla spójności całego projektu graficznego.

Pytanie 22

Wskaż wszystkie symbole, które pozwalają na komentowanie kodu w języku PHP.

A. /* */ oraz <!-- -->
B. tylko /* */
C. <?php ?> oraz //
D. /* */ oraz // oraz #
Odpowiedź, która wskazuje na znaki /* */, // oraz # jako metody komentowania w PHP jest poprawna. W języku PHP istnieją różne sposoby na dodawanie komentarzy, co jest kluczowe dla dokumentacji kodu i ułatwiania jego późniejszego zrozumienia. Komentarze wieloliniowe otaczane są przez znaki /* i */. Umożliwiają one opisanie złożonych fragmentów kodu, co jest przydatne w przypadku długich wyjaśnień. Z kolei // umożliwia tworzenie komentarzy jednoliniowych, co jest idealne dla krótkich notatek czy opisów funkcji. Dodatkowo, znak # również pozwala na tworzenie komentarzy jednoliniowych, co czyni go użytecznym w kontekście skryptów PHP, szczególnie w połączeniu z plikami konfiguracyjnymi. Właściwe stosowanie komentarzy jest częścią dobrych praktyk programistycznych, które pozwalają na lepszą współpracę w zespole oraz przyszłą konserwację kodu. Przykładowo, użycie komentarzy do wyjaśnienia zastosowania konkretnej funkcji w kodzie może znacznie ułatwić pracę innym programistom, którzy będą musieli pracować z tym kodem w przyszłości.

Pytanie 23

Która para znaczników HTML daje (bez stylów CSS) taki sam efekt wizualny - pogrubienie tekstu?

A. <b> i <strong>
B. <meta> i <title>
C. <p> i <h2>
D. <b> i <big>
Znaczniki <b> i <strong> domyślnie dają ten sam efekt wizualny - pogrubienie tekstu. Różnią się jednak znaczeniem (semantyką): <b> to czysto wizualne pogrubienie, a <strong> oznacza treść WAŻNĄ, co wykorzystują m.in. czytniki ekranu i wyszukiwarki. Podobna para to <i> i <em> (pochylenie). Dlatego wizualnie identyczny efekt daje para <b> i <strong>.

Pytanie 24

Za pomocą stylu CSS zdefiniowano obramowanie pojedyncze o następujących kolorach krawędzi:

border: solid 1px;
border-color: red blue green yellow;
Jakie kolory będą miały poszczególne krawędzie?
A. górna – czerwona, prawa – niebieska, dolna – zielona, lewa – żółta.
B. prawa – czerwona, dolna – niebieska, lewa – zielona, górna – żółta.
C. górna – czerwona, lewa – niebieska, dolna – zielona, prawa – żółta.
D. lewa – czerwona, dolna – niebieska, prawa – zielona, górna – żółta.
W tym pytaniu kluczowe jest zrozumienie skróconej składni własności `border-color` w CSS. Gdy podamy cztery wartości kolorów, przeglądarka interpretuje je zawsze w tej samej kolejności: góra (top), prawa (right), dół (bottom), lewa (left). Dokładnie tak samo działa to jak przy `margin` czy `padding`. Czyli zapis `border-color: red blue green yellow;` oznacza: górna krawędź – czerwona, prawa – niebieska, dolna – zielona, lewa – żółta. Styl `border: solid 1px;` określa tylko typ obramowania (ciągła linia) i grubość (1px), ale bez kolorów. Kolory są dopiero dodane przez `border-color`. W praktyce bardzo często używa się tej skróconej notacji, np. żeby wyróżnić jedną krawędź: `border-color: transparent transparent red transparent;` – daje to efekt podkreślenia tylko od dołu. Z mojego doświadczenia w front‑endzie lepiej zapamiętać prostą zasadę: przy czterech wartościach zawsze idziemy zgodnie z ruchem wskazówek zegara, zaczynając od góry: top → right → bottom → left. To się powtarza przy wielu własnościach CSS. Warto też wiedzieć, że można podać mniej wartości: jedną (wszystkie krawędzie ten sam kolor), dwie (góra/dół i prawa/lewa), trzy (góra, prawa/lewa, dół). Jednak w tym zadaniu są cztery, więc każda krawędź ma osobny kolor. Takie podejście jest zgodne ze specyfikacją CSS (box model) i jest powszechnie stosowane w projektach produkcyjnych do tworzenia np. ramek, strzałek, wyróżnień nagłówków czy kart.

Pytanie 25

Tabela wycieczki ma pola nazwa, cena, miejsca. Która kwerenda zwróci nazwy wycieczek tańszych niż 2000 i z CO NAJMNIEJ 4 wolnymi miejscami?

A.
SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4;
B.
SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4;
C.
SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3;
D.
SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3;
Oba kryteria muszą być spełnione naraz, więc łączymy je operatorem AND: cena poniżej 2000 (cena < 2000) i co najmniej 4 wolne miejsca. „Co najmniej 4” to miejsca >= 4, równoważne miejsca > 3. Wybieramy same nazwy: SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3;. Dlatego ta kwerenda jest poprawna.

Pytanie 26

Czym charakteryzują się systemy CMS?

A. możliwością edycji treści bez znajomości HTML
B. wbudowanym serwerem poczty
C. wbudowanym edytorem grafiki wektorowej
D. możliwością programowania w zaawansowanych frameworkach
CMS to system do zarządzania TREŚCIĄ, a nie edytor grafiki wektorowej czy serwer poczty. Nie wymaga też programowania w zaawansowanych frameworkach - przeciwnie, jego sens to praca osób bez wiedzy technicznej. CMS cechuje możliwość edycji treści bez znajomości HTML.

Pytanie 27

Jakiego znacznika w HTML użyjemy, aby uzyskać tekst wyświetlany czcionką o stałej szerokości znaku, który również uwzględnia dodatkowe spacje, tabulacje oraz znaki końca linii?

A. <ins>…</ins>
B. <pre>…</pre>
C. <blockquote>…</blockquote>
D. <code>…</code>
Znaczniki <code>, <ins> i <blockquote> mają swoje unikalne zastosowania, ale nie nadają się do zachowania formatowania tekstu, jak to robi <pre>. Znacznik <code> jest przeznaczony do oznaczania fragmentów kodu, jednak nie utrzymuje przestrzeni i formatowania. Kiedy używasz <code>, przeglądarka wyświetli tekst w inny sposób, ale nie uwzględni dodatkowych odstępów lub tabulacji, co może prowadzić do nieczytelności w przypadku dłuższych fragmentów kodu. Z kolei znacznik <ins> służy do wskazywania wstawionego tekstu, co ma znaczenie w kontekście edycji lub zmian, ale nie zmienia jego formatowania ani nie zachowuje układów, co ogranicza jego użyteczność w przypadku tekstów wymagających precyzyjnego formatowania. Wreszcie, <blockquote> jest używane do cytowania dłuższych fragmentów tekstu z innego źródła, co również nie związane jest z zachowaniem konkretnego formatowania, a jego celem jest raczej stylistyczne wyróżnienie cytatu. W praktyce, mylenie tych znaczników może prowadzić do frustracji użytkowników, którzy oczekują zachowania konkretnych układów, zwłaszcza w kontekście programowania lub prezentacji danych. Ważne jest, aby zrozumieć, że każdy znacznik ma swoje specyficzne zastosowanie i powinien być używany zgodnie z jego przeznaczeniem, aby zapewnić spójność i czytelność prezentowanych treści.

Pytanie 28

W którym języku zaimplementować aplikację działającą po stronie KLIENTA (w przeglądarce)?

A. JavaScript
B. Perl
C. PHP
D. Python
Aplikację działającą po stronie KLIENTA (w przeglądarce) pisze się w JavaScripcie - to język wykonywany przez przeglądarkę, sterujący stroną bez udziału serwera. Dlatego po stronie klienta używa się JavaScriptu.

Pytanie 29

Pętla w kodzie JavaScript zostanie uruchomiona

Ilustracja do pytania
A. 27 razy
B. 3 razy
C. 26 razy
D. 2 razy
Analizując podane odpowiedzi, warto zrozumieć, jak działa pętla do-while w JavaScript. Pętla ta różni się od tradycyjnych pętli for oraz while tym, że warunek jest sprawdzany na końcu każdej iteracji. Oznacza to, że ciało pętli wykona się przynajmniej raz, niezależnie od tego, czy warunek jest prawdziwy na początku. W analizowanej konstrukcji mamy zmienną x początkowo ustawioną na 1, która w każdej iteracji jest mnożona przez 3, oraz zmienną i zliczającą liczbę iteracji. Pętla kontynuuje, dopóki x nie osiągnie wartości 27. W obliczeniach x przyjmuje wartości 1, 3, 9, i na koniec 27. Dopiero po osiągnięciu 27 warunek x!=27 staje się fałszem, zatrzymując pętlę po trzeciej iteracji. Częstym błędem przy analizie takich pętli jest pomijanie faktu, że wykonają się one przynajmniej raz, co może prowadzić do błędnej oceny liczby iteracji. Rozumienie tej mechaniki jest kluczowe w projektowaniu algorytmów, które muszą zagwarantować wykonanie kodu niezależnie od początkowego stanu zmiennych.

Pytanie 30

Który typ danych obsługiwany przez PHP jest przeznaczony do obsługi zmiennych typu logicznego?

A. String
B. Boolean
C. Float
D. Integer
Odpowiedź "Boolean" jest prawidłowa, ponieważ jest to typ danych w języku PHP, który jest używany do przechowywania zmiennych logicznych. Zmienne tego typu mogą mieć jedynie dwie wartości: true (prawda) lub false (fałsz). Jest to niezwykle istotne w programowaniu, ponieważ umożliwia podejmowanie decyzji na podstawie warunków. Przykładowo, w konstrukcjach warunkowych, takich jak if, można sprawdzić, czy zmienna logiczna jest prawdziwa, co pozwala na wykonanie określonej akcji. Warto również zauważyć, że w PHP można łatwo konwertować inne typy danych na typ boolean za pomocą operatorów, takich jak ! (negacja) oraz porównań, co jest zgodne z zasadami dobrych praktyk programistycznych. Używanie typów logicznych jest kluczowe w kontekście programowania obiektowego oraz podczas pracy z strukturami danych. Przykład: $isAvailable = true; if ($isAvailable) { echo 'Produkt jest dostępny.'; }.

Pytanie 31

Którym poleceniem wyświetli się konfigurację serwera PHP (m.in. wersję PHP, system operacyjny, wartości zmiennych predefiniowanych)?

A.
phpcredits();
B.
echo phpversion();
C.
print_r(ini_get_all());
D.
phpinfo();
Pozostałe polecenia dają tylko wycinek. phpcredits() wyświetla listę twórców PHP. echo phpversion(); zwraca wyłącznie numer wersji. print_r(ini_get_all()) pokaże same dyrektywy php.ini, bez informacji o systemie i środowisku. Pełną konfigurację daje phpinfo();.

Pytanie 32

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 33

W języku SQL wykonano przedstawione poniżej polecenia GRANT. Kto będzie miał prawo do przeglądania danych oraz ich zmiany?

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@localhost;
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Anna i Tomasz
B. Jedynie Tomasz
C. Adam i Anna
D. Tomasz i Adam
Odpowiedź 'Tomasz i Adam' jest poprawna, ponieważ obaj użytkownicy mają przypisane odpowiednie uprawnienia do przeglądania oraz modyfikacji danych w bazie 'firmy'. Adam otrzymał pełne uprawnienia, co oznacza, że może przeglądać (SELECT) oraz modyfikować (INSERT, UPDATE, DELETE) dane, a także zmieniać strukturę tabel (ALTER, CREATE, DROP). Tomasz, z kolei, ma przydzielone szczegółowe uprawnienia do przeglądania danych (SELECT) oraz ich modyfikacji (INSERT, UPDATE). W praktyce, przydzielanie uprawnień w bazach danych odbywa się zgodnie z zasadą minimalnych uprawnień, co oznacza, że każdy użytkownik powinien mieć tylko te uprawnienia, które są mu niezbędne do realizacji przydzielonych zadań. Dobrą praktyką jest regularna weryfikacja przydzielonych uprawnień oraz ich dostosowywanie do zmieniających się potrzeb organizacji.

Pytanie 34

Aby dodać nową kolumnę do już istniejącej tabeli, należy użyć polecenia SQL:

A.
ALTER TABLE
B.
INSERT INTO
C.
CREATE TABLE
D.
UPDATE TABLE
Pozostałe polecenia nie zmieniają struktury istniejącej tabeli. CREATE TABLE tworzy zupełnie nową tabelę - nie da się nim dołożyć kolumny do już istniejącej. UPDATE TABLE nie istnieje w SQL, a samo UPDATE modyfikuje dane w wierszach, a nie kolumny. INSERT INTO dodaje nowy wiersz z wartościami, czyli działa na danych, nie na strukturze. Dodanie kolumny do tabeli wykonuje ALTER TABLE z klauzulą ADD.

Pytanie 35

W języku PHP do zmiennej a przypisano tekst, w którym słowo Kowalski pojawia się wielokrotnie. Aby jednym poleceniem zamienić wszystkie wystąpienia słowa Kowalski na słowo Nowak, trzeba użyć polecenia

A. $a = str_replace('Kowalski','Nowak',$a);
B. $a = str_replace('Nowak', 'Kowalski',$a);
C. $a = str_replace('Nowak','Kowalski');
D. $a = str_rep('Kowalski','Nowak',$a);
Pierwsza odpowiedź jest nieprawidłowa, ponieważ funkcja str_rep nie istnieje w PHP. Wszelkie próby użycia takiego polecenia skutkują błędami, ponieważ PHP nie rozpoznaje tej funkcji. Zrozumienie właściwych nazw funkcji oraz ich składni jest kluczowe w programowaniu, aby uniknąć błędów. W drugiej odpowiedzi, funkcja str_replace została wywołana z niewłaściwymi parametrami, ponieważ brakuje trzeciego argumentu, który jest wymagany do zdefiniowania zmiennej, w której dokonujemy zamiany. Nieprawidłowe podejście do składni funkcji prowadzi do nieefektywnego kodu. Kolejna odpowiedź, w której zamieniamy 'Nowak' na 'Kowalski', także jest błędna, ponieważ nie spełnia celu zamiany wskazanego w pytaniu. Całkowicie odwrotne podejście do problemu może prowadzić do wprowadzenia błędnych danych. Warto zwrócić uwagę, że typowe błędy myślowe, takie jak nieprawidłowe przypisanie argumentów funkcji, mogą wynikać z braku znajomości dokumentacji lub niewłaściwego zrozumienia działania funkcji. Ostatecznie, kluczem do skutecznego programowania jest nie tylko znajomość składni, ale także umiejętność analizy i testowania kodu, co można osiągnąć poprzez praktykę oraz korzystanie z zasobów edukacyjnych.

Pytanie 36

Jakie oprogramowanie jest potrzebne do uruchomienia skryptu JavaScript działającego na stronie?

A. debugger JavaScript
B. serwer WWW
C. przeglądarka internetowa
D. serwer MySQL
Skrypt JavaScript działający na stronie wykonuje się po stronie KLIENTA, więc do jego uruchomienia wystarczy przeglądarka internetowa - ma ona wbudowany silnik JS interpretujący kod. Dlatego potrzebna jest przeglądarka internetowa.

Pytanie 37

Innym określeniem saturacji koloru jest:

A. nasycenie koloru
B. przezroczystość koloru
C. jasność koloru
D. dopełnienie koloru
Saturacja to po prostu NASYCENIE koloru - opisuje, jak czysta i intensywna jest barwa. Przy wysokiej saturacji kolory są żywe i soczyste, a przy stopniowym obniżaniu blakną, aż przy zerze przechodzą w odcienie szarości. To jeden z trzech parametrów modeli HSV i HSL (obok odcienia i jasności). Dlatego innym określeniem saturacji jest nasycenie koloru.

Pytanie 38

Jakiego typu mechanizm zabezpieczeń aplikacji jest zawarty w środowisku uruchomieniowym platformy .NET Framework?

A. Mechanizm uruchamiania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
B. Mechanizm uruchamiania aplikacji dla bibliotek klas
C. Mechanizm uruchamiania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
D. Mechanizm uruchamiania aplikacji zrealizowany przez frameworki aplikacji webowych (ASP.NET)
Mechanizm wykonywania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) oraz na rolach (RBS - Role-Based Security) jest kluczowym elementem platformy .NET Framework, który zapewnia odpowiedni poziom bezpieczeństwa dla aplikacji. CAS umożliwia definiowanie poziomów uprawnień dla różnych komponentów kodu, co pozwala na kontrolę, jakie operacje mogą być wykonywane przez dany kod w zależności od jego pochodzenia oraz kontekstu. Na przykład, aplikacja uruchomiona z lokalnego dysku może mieć inne uprawnienia niż ta sama aplikacja uruchomiona z internetu. RBS z kolei umożliwia przypisywanie ról użytkownikom, co pozwala na dalsze graniczenie dostępu do funkcji aplikacji w oparciu o przypisane role. Takie podejście nie tylko zabezpiecza aplikacje przed nieautoryzowanym dostępem, ale także wspiera środowiska wieloużytkownikowe, gdzie różne osoby mogą potrzebować różnych poziomów dostępu. Przykładowo, w aplikacji webowej mogą istnieć role administratora, edytora i widza, gdzie każdy z użytkowników ma różne możliwości interakcji z systemem. Zastosowanie CAS i RBS jest zgodne z najlepszymi praktykami w zakresie zabezpieczeń kodu, co jest istotne w kontekście rosnących zagrożeń w dzisiejszym świecie cyfrowym.

Pytanie 39

Źródłem danych dla raportu może być

A. zapytanie INSERT INTO
B. inny raport
C. tabela
D. makropolecenie
Inny raport, chociaż może zawierać dane, nie jest źródłem danych w sensie strukturalnym, lecz raczej wynikiem przetwarzania informacji zawartych w tabelach. Raporty są generowane na podstawie danych zgromadzonych w tabelach, a nie bezpośrednio z innych raportów, co ogranicza ich użyteczność jako źródła danych. Makropolecenie, będące zbiorem instrukcji do automatyzacji procesów, również nie stanowi źródła danych, lecz narzędzie do przetwarzania lub manipulacji danymi, które znajdują się w tabelach. Użycie makropolecenia może prowadzić do generowania raportów, jednak sama jego struktura nie zawiera danych, które mają być raportowane. Zapytanie INSERT INTO jest instrukcją SQL używaną do dodawania danych do tabeli, ale nie jest źródłem danych w kontekście raportowania. To polecenie umożliwia wprowadzenie nowych rekordów do tabeli, a więc odgrywa rolę w aktualizacji danych, a nie w ich źródłowym dostarczaniu. Każda z tych opcji nie spełnia wymogu bycia źródłem danych w kontekście tworzenia raportu, co czyni je niewłaściwymi odpowiedziami.

Pytanie 40

W języku JavaScript funkcja getElementById() odnosi się do

A. zmiennej liczbowej
B. elementu HTML o określonym id
C. elementu HTML o wskazanej nazwie klasy
D. klasy zdefiniowanej w CSS
Metoda getElementById() jest jedną z najczęściej używanych funkcji w JavaScript, która pozwala na bezpośrednie odwołanie się do elementu DOM (Document Object Model) za pomocą atrybutu id. Gdy wywołujemy tę metodę, przekazujemy jej jako argument ciąg znaków odpowiadający wartości atrybutu id danego elementu HTML. Przykładowo, jeśli mamy znacznik `<div id='myDiv'></div>`, możemy uzyskać do niego dostęp za pomocą `document.getElementById('myDiv')`. Jest to bardzo efektywny sposób na manipulowanie elementami strony, umożliwiający m.in. zmianę ich zawartości, stylu czy atrybutów. Dzięki tej metodzie programiści mogą szybko i łatwo modyfikować interfejs użytkownika oraz reagować na zdarzenia, co jest zgodne z zasadami responsywnego projektowania i tworzenia dynamicznych aplikacji webowych. Warto również pamiętać, że użycie unikalnych identyfikatorów w HTML jest zgodne z dobrymi praktykami, ponieważ pozwala na łatwiejszą nawigację po strukturze dokumentu i unika konfliktów z innymi elementami.