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: 27 kwietnia 2026 01:35
  • Data zakończenia: 27 kwietnia 2026 01:49

Egzamin zdany!

Wynik: 36/40 punktów (90,0%)

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

Który z opisów komentarza odzwierciedla działanie funkcji zdefiniowanej w języku PHP ```function fun1($a, $b) { if($a > $b) return $a; elseif($b > $a) return $b; else return -1; }```?

A. /* Funkcja zwraca niższą wartość spośród dwóch podanych, w przypadku równości zwraca wartość $a */
B. /* Funkcja zwraca wyższą wartość spośród dwóch podanych, w przypadku równości zwraca -1 */
C. /* Funkcja zwraca wyższą wartość spośród dwóch podanych, w przypadku równości zwraca wartość $a */
D. /* Funkcja zwraca niższą wartość spośród dwóch podanych, w przypadku równości zwraca -1 */
Funkcja `fun1` w języku PHP ma na celu porównanie dwóch wartości przekazanych jako argumenty `$a` i `$b`. Zastosowana logika w funkcji jest jasna: jeśli `$a` jest większe od `$b`, funkcja zwraca wartość `$a`; jeśli `$b` jest większe, zwraca wartość `$b`. W przypadku, gdy obie wartości są równe, funkcja zwraca -1, co jasno wskazuje na brak różnicy między tymi wartościami. Takie podejście jest zgodne z dobrymi praktykami programistycznymi, ponieważ funkcje powinny być jednoznaczne i przewidywalne w swoim działaniu. Wykorzystanie zwracania wartości -1 jako wskaźnika równości jest ciekawym rozwiązaniem, które może być przydatne w dalszej logice aplikacji, gdzie różne kody zwrotne mogą reprezentować różne stany. W praktycznych zastosowaniach taka funkcja mogłaby być używana w algorytmach sortujących lub w analizach danych, gdzie potrzeba porównania wartości jest powszechna. Dobrą praktyką jest także dokumentowanie funkcji, aby inni programiści mogli łatwo zrozumieć jej działanie i zastosowanie.

Pytanie 2

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Zmniejszenie kontrastu zdjęcia.
C. Zwiększenie ostrości zdjęcia.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 3

Według zasad walidacji HTML5, jakie jest prawidłowe użycie znacznika hr?

A. </ hr>
B. <hr>
C. </hr?>
D. </ hr />
Znacznik <hr> to taki prosty element w HTML5, który robi poziomą linię na stronie. Używa się go często do oddzielania różnych sekcji w tekście, co sprawia, że wszystko wygląda bardziej przejrzyście. Co ciekawe, to znacznik samodzielny, więc nie potrzebuje zamknięcia, a dodatkowo w HTML5 nie musimy dodawać znaku '/' na końcu, co czyni go lżejszym w użyciu. Jak użyjemy <hr>, to przeglądarki wiedzą, co z tym zrobić, a to ważne, żeby strona wyglądała spójnie. Moim zdaniem, świetnie działa w artykułach, bo gdy oddziela różne części, to czytelnik łatwiej się w tym odnajduje. No i nie zapominajmy o dostępności – ludzie, którzy korzystają z technologii wspomagających, też lepiej zrozumieją, co się dzieje na stronie dzięki takim znacznikom.

Pytanie 4

W języku CSS określono styl dla pola edycyjnego. Pole to będzie miało jasnozielony kolor tła, gdy będzie w trybie edycji.

A. po naciśnięciu na nie myszką w celu wpisania tekstu.
B. gdy będzie na nie najechane kursorem bez kliknięcia.
C. w każdej sytuacji.
D. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie.
Odpowiedź "po kliknięciu myszą w celu zapisania w nim tekstu" jest prawidłowa, ponieważ reguła CSS <pre>input:focus { background-color: LightGreen; }</pre> odnosi się do stanu "focus" elementu formularza, który występuje, gdy pole edycyjne jest aktywne. To znaczy, że użytkownik musi kliknąć na pole, aby je aktywować, co pozwala na wprowadzenie danych. W momencie, gdy pole ma stan "focus", jego tło zmienia się na jasnozielone, co jest pomocne dla użytkowników, aby zidentyfikować, które pole aktualnie edytują. To zachowanie jest zgodne z dobrymi praktykami projektowania interfejsów użytkownika, które promują klarowność i intuicyjność. Dzięki zastosowaniu kolorów i wizualnych wskazówek, użytkownicy mogą łatwiej poruszać się po formularzach, co zwiększa ich efektywność. Ponadto, stosowanie takich reguł CSS jest zgodne z zaleceniami WCAG (Web Content Accessibility Guidelines), które składają się z wytycznych dotyczących dostępności treści internetowych, co sprawia, że aplikacje są bardziej przyjazne dla użytkowników z różnymi potrzebami.

Pytanie 5

Pokazane pole input pozwala na

<input type="checkbox" name="text1" value="text2">
A. wpisanie dowolnego ciągu znaków
B. wybranie opcji
C. wprowadzenie hasła
D. selekcję opcji z listy zawierającej wartości text1 oraz text2
Pole input typu checkbox to fajna opcja, bo pozwala użytkownikom zaznaczać jedną albo więcej opcji z dostępnych wyborów. Takie checkboxy można zobaczyć na różnych stronach internetowych, są super przydatne, a użytkownik może je odznaczać kiedy chce. W HTML mamy atrybut type, który mówi, co użytkownik może wpisać. W przypadku checkboxa mamy to pole, które można zaznaczyć i dzięki temu dodajemy wartość do formularza, gdy go wysyłamy. Przykładem mogą być formularze zgód, gdzie trzeba potwierdzić kilka polityk prywatności lub warunków korzystania z serwisu. Ważne jest także, żeby każdy checkbox miał odpowiednio przypisane atrybuty name i value, bo dzięki temu łatwiej jest je zidentyfikować, gdy przesyłamy dane. I pamiętajmy, żeby dobrze oznaczać checkboxy etykietami przez element label – to pomaga, zwłaszcza osobom korzystającym z technologii wspomagających. Takie poprawne używanie checkboxów to klucz do budowania intuicyjnych i użytecznych interfejsów użytkowników.

Pytanie 6

Debugger to narzędzie programowe, które ma za zadanie

A. instalowanie zestawu do programowania
B. rozpoznawanie błędów składniowych w kodzie źródłowym języka programowania
C. łączenie plików bibliotek oraz wstępnie przetworzonego kodu źródłowego w plik wykonywalny
D. dynamiczna analiza działającego programu mająca na celu identyfikację przyczyn błędnego działania
Debugger to zaawansowane oprogramowanie, które odgrywa kluczową rolę w procesie programowania, umożliwiając programistom dynamiczną analizę uruchomionego programu. Jego głównym zadaniem jest identyfikacja i diagnozowanie problemów, które mogą występować podczas działania aplikacji, co jest nieocenione w procesie tworzenia oprogramowania. Debugger pozwala na obserwację zmiennych, śledzenie przepływu wykonania kodu oraz analizę stanu pamięci, co jest istotne dla wykrywania błędów logicznych i wydajnościowych. Przykłady zastosowania debuggera można znaleźć w różnych środowiskach programistycznych, takich jak Visual Studio, Eclipse czy PyCharm, które oferują wbudowane narzędzia do debugowania. Standardy takie jak IEEE 829, dotyczące dokumentacji testowej, podkreślają znaczenie narzędzi debugujących w zapewnieniu jakości oprogramowania. W kontekście debugowania, programiści mogą korzystać z takich technik jak breakpointy, które zatrzymują wykonywanie programu w określonym miejscu, co umożliwia dokładną analizę jego stanu w danym momencie. Takie praktyki przyczyniają się do poprawy stabilności i wydajności tworzonych aplikacji.

Pytanie 7

W systemach bazodanowych, aby przedstawić dane, które spełniają określone kryteria, należy stworzyć

A. raport
B. formularz
C. relację
D. makropolecenie
Raport w kontekście baz danych to coś, co naprawdę pomaga w uporządkowanej prezentacji danych. Dzięki niemu możemy pokazać informacje w taki sposób, żeby było to zrozumiałe i zgodne z tym, czego potrzebujemy. Raporty to świetne narzędzie do zbierania danych, ich analizy i wizualizacji, co jest bardzo ważne w biznesie. Na przykład, można za ich pomocą stworzyć zestawienie sprzedaży za dany okres, porównać finanse różnych działów firmy albo sprawdzić, jak skuteczne były kampanie marketingowe. W praktyce często korzysta się z takich raportów w programach jak Microsoft Access, gdzie można wybrać źródło danych, odpowiednie pola i ustawić filtry. To wszystko po to, żeby stworzyć dokument, który jasno przedstawia wyniki analizy. Warto pamiętać, że tworzenie raportów powinno opierać się na dobrych zasadach, takich jak czytelność i estetyka, a także dostosowanie do potrzeb użytkownika, bo to naprawdę się liczy, jeśli chodzi o UX.

Pytanie 8

Na ilustracji pokazano tabelę z połączonymi komórkami. Jakie atrybuty scalania zastosowano, aby uzyskać ten efekt?

Ilustracja do pytania
A. colspan w drugim wierszu we wszystkich trzech komórkach oraz rowspan w trzecim wierszu ostatniej komórce
B. colspan w drugim wierszu i pierwszej komórce oraz rowspan w trzecim wierszu, trzeciej komórce
C. colspan w drugim wierszu i pierwszej komórce oraz rowspan w trzecim wierszu i czwartym wierszu
D. rowspan w drugim wierszu i pierwszej komórce oraz colspan w trzecim wierszu, trzeciej komórce
Odpowiedź jest prawidłowa, ponieważ zastosowanie atrybutów colspan i rowspan w tabeli HTML pozwala na efektywne zarządzanie układem danych. Atrybut colspan w drugiej komórce pierwszego wiersza łączy dwie komórki poziomo, co jest użyteczne, gdy chcemy, aby nagłówki lub dane rozciągały się na kilka kolumn. W trzecim wierszu, atrybut rowspan w trzeciej komórce łączy trzy komórki pionowo, co może być przydatne, gdy mamy dane, które powinny być przedstawione obok siebie w kilku rzędach. Tego typu operacje scalania są powszechnie stosowane w projektowaniu stron internetowych, szczególnie w przypadku układów, które wymagają elastyczności i skalowalności. W praktyce, takie podejście pozwala na lepsze wykorzystanie przestrzeni ekranowej i ułatwia czytelność danych. Dobrą praktyką jest również stosowanie CSS do dodatkowego stylizowania takich tabel, co zwiększa ich atrakcyjność wizualną. Ważne jest, aby zrozumieć, że używanie colspan i rowspan wpływa na dostępność danych, dlatego należy je stosować świadomie i z uwzględnieniem użytkowników korzystających z technologii wspomagających.

Pytanie 9

Pozycjonowanie poza stroną (off-page SEO) polega na

A. pozyskiwaniu linków zewnętrznych prowadzących do strony.
B. sprawdzeniu i testowaniu szybkości ładowania strony.
C. walidacji kodu HTML, CSS oraz linków.
D. zoptymalizowaniu elementów grafiki i multimediów.
Poprawnie – pozycjonowanie poza stroną (off-page SEO) dotyczy przede wszystkim wszystkiego, co dzieje się poza Twoją własną witryną, a ma wpływ na jej pozycję w wynikach wyszukiwania. Kluczowym elementem są właśnie linki zewnętrzne prowadzące do strony (backlinki). Dla Google i innych wyszukiwarek taki link to coś w rodzaju „głosu zaufania”: jeśli wartościowe, wiarygodne serwisy linkują do Twojej strony, to roboty wyszukiwarki zakładają, że treść też jest wartościowa. Oczywiście nie chodzi o byle jakie linki. Liczy się jakość domeny linkującej, tematyczne dopasowanie, naturalny profil linków, zróżnicowane anchory oraz to, czy linki nie pochodzą z podejrzanych źródeł (farmy linków, spam w komentarzach itd.). W praktyce off-page SEO to m.in.: publikacja artykułów gościnnych na innych portalach, zdobywanie wzmianek i linków z mediów branżowych, katalogów wysokiej jakości, forów tematycznych, social mediów oraz współpraca z influencerami. W dobrych praktykach SEO podkreśla się, że link building powinien być naturalny, rozłożony w czasie i wsparty realną wartością merytoryczną treści, do których prowadzą linki. Moim zdaniem sensowna strategia off-page zawsze zaczyna się od pytania: „Dlaczego ktoś miałby do mnie linkować?” – jeśli treść i oferta są słabe, to żadne linki nie pomogą na dłuższą metę. Warto też pamiętać, że off-page SEO to nie tylko linki, ale też sygnały zewnętrzne, takie jak brand mentions, opinie, recenzje, aktywność w social media. Jednak w kontekście tego pytania najważniejszym i najbardziej klasycznym elementem off-page SEO jest właśnie pozyskiwanie linków zewnętrznych.

Pytanie 10

W języku PHP znajduje się poniższa instrukcja pętli. Ile iteracji wykona ta pętla, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu i nie zastosowano instrukcji przerywającej pętlę typu break?

for ($i = 10; $i <= 100; $i += 10)
A. 100 iteracji
B. 10 iteracji
C. 9 iteracji
D. 11 iteracji
Podana pętla w języku PHP jest zdefiniowana jako: for ($i = 10; $i <= 100; $i += 10). W tym przypadku, zmienna sterująca $i jest inicjalizowana na wartość 10 i jest inkrementowana o 10 w każdej iteracji, aż osiągnie wartość 100 włącznie. Zatem, możliwe wartości zmiennej $i podczas powtórzeń pętli będą: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100. W sumie daje to 10 powtórzeń, ponieważ pętla wykonuje się także dla wartości 100. W praktyce, znajomość struktur pętli w PHP jest kluczowa, szczególnie podczas przetwarzania dużych zbiorów danych, gdzie efektywność i precyzyjne kontrolowanie liczby iteracji mogą znacznie wpłynąć na wydajność skryptów. Przy implementacji pętli, warto również pamiętać o standardach czystości kodu oraz zasadach DRY (Don't Repeat Yourself), co pozwala na utrzymanie czytelności i ułatwia przyszłe modyfikacje kodu.

Pytanie 11

Prezentowany blok kodu ilustruje proces

Ilustracja do pytania
A. realizacji zadania w pętli
B. załadowania lub wyświetlenia informacji
C. podjęcia decyzji
D. użycia zdefiniowanej procedury lub funkcji
Pierwsza odpowiedź sugeruje że blok reprezentuje zastosowanie gotowej procedury lub funkcji co jest niepoprawne Romb w schematach blokowych nie jest używany do oznaczania procedur lub funkcji lecz do podejmowania decyzji Stosowanie procedur i funkcji zazwyczaj związane jest z blokami prostokątnymi symbolizującymi operacje a nie z decyzjami które wymagają warunkowego rozgałęzienia Druga odpowiedź wczytania lub wyświetlenia danych również nie jest poprawna Operacje związane z wczytywaniem i wyświetlaniem danych są zazwyczaj przedstawiane za pomocą bloków równoległoboków które obrazują wejście i wyjście danych Wczytywanie danych polega na pozyskaniu informacji z zewnętrznych źródeł lub użytkownika a wyświetlanie polega na prezentacji wyników jednak obie te czynności nie mają charakteru decyzyjnego Odpowiedź dotycząca wykonania zadania w pętli jest także błędna Pętle które umożliwiają powtarzanie określonych czynności są zazwyczaj wyrażane za pomocą konstrukcji prostokątnych z dodatkowymi wskaźnikami powrotu nie zaś za pomocą rombu który odzwierciedla logiczne warunkowe ścieżki przepływu danych Typowym błędem myślowym jest przypisywanie rombowi funkcji powiązanych z iteracjami lub operacjami co wynika z mylnego zrozumienia zasad tworzenia algorytmów w formie graficznej Intuicja podpowiada że decyzja i powtarzanie mogą być podobne jednak w diagramach blokowych różnią się symboliką i zastosowaniem

Pytanie 12

Jakie skutki przyniesie zastosowanie przedstawionego formatowania CSS dla nagłówka trzeciego stopnia?

<style> h3 { background-color: grey; } </style> ... <h3 style="background-color: orange;"> Rozdział 1.2.2. </h3>
A. tło będzie pomarańczowe
B. kolor tekstu będzie pomarańczowy
C. tło będzie szare
D. kolor tekstu będzie szary
W tym przykładzie pokazano dwa różne sposoby stylizacji za pomocą CSS: styl wbudowany i styl zewnętrzny. Styl wbudowany ma wyższy priorytet, bo jest przypisany bezpośrednio do elementu HTML, a to oznacza, że w nagłówku trzeciego stopnia kolor tła będzie pomarańczowy. To ma sens, bo czasem musimy przeskoczyć ogólne reguły stylizacji, żeby wprowadzić jakieś szczególne zmiany. Używanie stylów wbudowanych może być jednak ryzykowne, bo jak się ich nagromadzi, to ciężko się potem w tym połapać. Dlatego lepiej korzystać z zewnętrznych stylów – są bardziej uporządkowane i pozwalają na łatwe powtarzanie kodu CSS. Ważne jest też, żeby nie łączyć HTML z CSS w sposób, który wprowadza zamęt, bo to ułatwia życie i sprawia, że kod jest bardziej zrozumiały. Wiedza na temat priorytetów w CSS jest kluczowa dla każdego, kto chce dobrze projektować strony i mieć wszystko ładnie poukładane.

Pytanie 13

Który atrybut należy wstawić w miejsce kropek, aby przeglądarka wyświetliła komunikat o błędzie w przypadku kliknięcia przycisku "Zapisz" bez wypełnionego pola nazwisko?

<form action="/skrypt.php" method="post">
  <input type="text" name="nazwisko" ...>
  <input type="submit" value="Zapisz">
</form>
A. disable
B. required
C. checked
D. pattern
Poprawną odpowiedzią jest atrybut „required”. Ten atrybut jest częścią wbudowanego mechanizmu walidacji formularzy HTML5 po stronie przeglądarki. Jeśli dodasz go do pola typu input, textarea czy select, przeglądarka automatycznie sprawdzi, czy użytkownik coś tam wpisał lub wybrał, zanim pozwoli wysłać formularz. W naszym przykładzie: <input type="text" name="nazwisko" required> sprawi, że kliknięcie przycisku „Zapisz” bez wypełnionego nazwiska wywoła komunikat błędu i formularz nie zostanie wysłany. To działa bez żadnego JavaScriptu i bez dodatkowego kodu po stronie serwera. Moim zdaniem warto pamiętać, że „required” to nie tylko wygoda, ale też dobra praktyka UX – użytkownik od razu widzi, czego brakuje, a nie dopiero po przeładowaniu strony. Standard HTML5 jasno opisuje ten atrybut jako tzw. boolean attribute, czyli taki, który samą swoją obecnością w znaczniku włącza daną funkcję. Nie trzeba pisać required="required", chociaż przeglądarka i tak to zrozumie. W praktyce używa się go bardzo często w formularzach rejestracji, logowania, zamówień: imię, nazwisko, e‑mail, hasło – wszędzie tam, gdzie pole jest obowiązkowe. Dobrze jest łączyć required z innymi atrybutami walidacyjnymi, np. type="email" czy pattern, żeby od razu kontrolować nie tylko to, czy coś wpisano, ale też czy ma poprawny format. Mimo wszystko, nawet przy użyciu required, nigdy nie wolno rezygnować z walidacji po stronie serwera, bo walidacja w przeglądarce może być wyłączona albo ominięta. Required traktuj jako pierwszą linię obrony i wygodne wsparcie dla użytkownika, a nie jedyne zabezpieczenie.

Pytanie 14

Proces zmierzający do osiągnięcia przez stronę internetową jak najwyższych pozycji w rankingach wyszukiwarek internetowych nosi nazwę

A. optymalizacji wydajności.
B. pozycjonowania.
C. responsywności.
D. walidacji HTML.
Prawidłowa odpowiedź to „pozycjonowanie”, bo właśnie tak w branży nazywa się proces działań mających na celu osiąganie jak najwyższych pozycji strony w wynikach wyszukiwarek (głównie Google). W praktyce pozycjonowanie obejmuje zarówno SEO on‑page, jak i SEO off‑page. On‑page to m.in. poprawna struktura HTML, nagłówki H1–H3, sensowne tytuły stron (tag title), opisy meta description, przyjazne adresy URL, szybkość ładowania, mobile‑friendly design. Off‑page to głównie link building, czyli zdobywanie wartościowych odnośników z innych serwisów, obecność w katalogach branżowych, artykuły sponsorowane, a także ogólna reputacja domeny. Z mojego doświadczenia pozycjonowanie to nie jednorazowa akcja, tylko stały proces optymalizacji, analizy słów kluczowych, śledzenia statystyk w Google Search Console i Google Analytics, dopasowywania treści do intencji użytkownika. Dobre praktyki mówią, żeby unikać technik black‑hat SEO (np. kupowanie tysięcy spamowych linków, ukryty tekst, keyword stuffing), bo algorytmy wyszukiwarek szybko to wychwytują i mogą nałożyć filtr lub karę. Moim zdaniem kluczowe w pozycjonowaniu jest połączenie technicznie poprawnej strony (wydajność, responsywność, poprawny HTML) z wartościową treścią i rozsądną strategią linków. To właśnie cały ten zestaw działań nazywamy pozycjonowaniem strony w wyszukiwarkach.

Pytanie 15

Błędy interpretacji kodu PHP są

A. zapisywane w logu pod warunkiem ustawienia odpowiedniego parametru w pliku php.ini.
B. ignorowane przez przeglądarkę oraz interpreter kodu PHP.
C. wyświetlane w oknie edytora kodu PHP po wybraniu przycisku kompiluj.
D. zapisywane w podglądzie zdarzeń systemu Windows.
Poprawnie – w PHP błędy interpretacji (parse errors, fatal errors itd.) są standardowo zapisywane do logu, o ile w konfiguracji serwera i pliku php.ini jest to włączone. Kluczowe są tu parametry takie jak `log_errors` (powinno być ustawione na `On`) oraz `error_log` (ścieżka do pliku logu). To właśnie te ustawienia decydują, czy komunikaty błędów trafią do pliku dziennika, czy zostaną po prostu zignorowane z punktu widzenia logowania. W praktyce administracyjnej i programistycznej log błędów PHP to jedno z podstawowych narzędzi diagnozowania problemów na serwerze. W środowisku produkcyjnym dobrą praktyką jest wyłączenie wyświetlania błędów w przeglądarce (`display_errors = Off`) i jednoczesne włączenie szczegółowego logowania do pliku. Dzięki temu użytkownik nie widzi wrażliwych informacji o strukturze aplikacji, a programista nadal ma pełen wgląd w to, co się posypało. Z mojego doświadczenia, dobrze skonfigurowane logi ratują masę czasu przy debugowaniu: np. gdy aplikacja zwróci białą stronę albo kod 500, pierwszy odruch to zajrzeć do `error_log` i sprawdzić dokładny komunikat, numer linii, plik, czas wystąpienia. W projektach zespołowych często stosuje się też rotację logów (logrotate) i dodatkowe narzędzia typu ELK, Graylog czy Sentry, które zbierają logi z wielu serwerów. Niezależnie od skali, zasada jest ta sama: błędy PHP powinny być automatycznie logowane, a konfiguracja w php.ini jest punktem wyjścia do ich prawidłowej obsługi i monitoringu w profesjonalnym środowisku webowym.

Pytanie 16

Która z poniższych zasad nie przyczyni się pozytywnie do poprawy czytelności kodu?

A. Nazwy zmiennych muszą odzwierciedlać ich funkcję
B. Każda linia kodu powinna zawierać jedynie jedną instrukcję
C. Kod powinien być napisany bez wcięć i zbędnych przejść do nowej linii
D. Należy dodawać komentarze w bardziej skomplikowanych fragmentach kodu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, że kod powinien być napisany bez wcięć i zbędnych enterów jest prawidłowa, ponieważ brak odpowiedniego formatowania negatywnie wpływa na czytelność kodu. Wcięcia są kluczowe w wielu językach programowania, takich jak Python, gdzie struktura kodu jest oparta na przestrzeniach, a nie na nawiasach. Wcięcia pomagają zaznaczyć hierarchię oraz zagnieżdżenie bloków kodu, co jest niezbędne do zrozumienia logiki działania programu. W praktyce, dobrze sformatowany kod, z użyciem wcięć i odpowiednich przerw, pozwala programistom szybko zrozumieć jego strukturę i funkcjonalność. Przykładem mogą być fragmenty kodu, gdzie funkcje są wyraźnie oddzielone od siebie, a pętle i warunki są poprawnie wcięte, co ułatwia ich analizę i modyfikację. Zgodnie z konwencjami PEP 8 dla Pythona oraz zasadami wielu innych języków, stosowanie wcięć oraz przestrzeni między blokami kodu to standardy, które znacznie poprawiają jakość kodu oraz jego czytelność.

Pytanie 17

Który program komputerowy przekłada kod źródłowy, stworzony w określonym języku programowania, na język maszyny?

A. Środowisko programistyczne
B. Debugger
C. Edytor kodu źródłowego
D. Kompilator
Kompilator to taki mega ważny program, który pomaga w tworzeniu aplikacji. Przekształca kod, który napisaliśmy w danym języku programowania, na język maszynowy, czyli taki, który komputery rozumieją. To jest kluczowe, bo komputery działają na kodzie binarnym. Tak więc, jak piszemy programy w językach, takich jak C++, Java czy Python, musimy przekształcić ten skomplikowany kod na coś, co maszyna będzie mogła ogarnąć. Kompilatory nie tylko zamieniają nasz kod, ale też sprawdzają go pod kątem błędów, co jest super ważne dla jakości oprogramowania. Dla przykładu, jest taki kompilator GCC do języka C/C++, który jest bardzo popularny w projektach open source. Dobrze jest regularnie kompilować kod podczas pisania, bo to pozwala szybko łapać błędy i lepiej pracować w zespole.

Pytanie 18

W dokumencie HTML umieszczono tekst sformatowany określonym stylem. Aby dodać do tego tekstu kilka słów sformatowanych innym stylem, należy użyć znacznika

A. <span>
B. <table>
C. <hr>
D. <section>
<span> jest znacznikiem HTML, który służy do stosowania stylów CSS do określonych fragmentów tekstu w obrębie bloków HTML. Umożliwia on formatowanie tekstu w bardziej lokalny sposób, co jest niezwykle przydatne, gdy chcemy wyróżnić niektóre słowa lub frazy w dłuższym akapicie. W odróżnieniu od znaczników takich jak <div>, które są stosowane do większych sekcji, <span> działa na poziomie inline, co oznacza, że nie wprowadza nowego bloku w układzie strony. Przykład użycia tej etykiety może wyglądać następująco: <p>W tym akapicie <span style='color:red;'>ważne słowo</span> jest wyróżnione kolorem czerwonym.</p>. Dzięki temu możemy łatwo zastosować różnorodne style, takie jak zmiana koloru czcionki, czcionki, tła lub nawet dodawanie efektów animacyjnych do konkretnego fragmentu tekstu. Zgodnie z standardami W3C, <span> jest zalecanym sposobem na selektywne formatowanie tekstu, co czyni go niezwykle praktycznym narzędziem w tworzeniu elastycznych i atrakcyjnych wizualnie stron internetowych.

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. w zmiennej x maksymalna wartość ze zmiennych a, b, c
B. nieprawidłowe dane.
C. wybór losowej wartości ze zmiennych a, b i c
D. w zmiennej x minimalna 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

Która z wartości tekstowych nie odpowiada podanemu wzorcowi wyrażenia regularnego?

(([A-ZŁŻ][a-ząęóżźćńłś]{2,})(-[A-ZŁŻ][a-ząęóżźćńłś]{2,}))?
A. Kowalski
B. Jelenia Góra
C. Nowakowska-Kowalska
D. Kasprowicza
Odpowiedzi takie jak 'Kasprowicza', 'Nowakowska-Kowalska' i 'Kowalski' są w porządku, bo pasują do wzoru wyrażenia regularnego. Wzór mówi, że tekst musi zaczynać się od wielkiej litery i mieć przynajmniej dwie małe litery zaraz po. 'Kasprowicza' to nazwisko, które zaczyna się od wielkiej litery, więc jest ok. 'Nowakowska-Kowalska' też jest good, bo ma segment po myślniku z kolejną wielką literą. Z 'Kowalskim' sprawa wygląda podobnie, bo również spełnia wymogi. Często ludzie mylą, co dokładnie oznacza wzór i co przynależne do niego. Wydaje się, że każde słowo z wielką literą pasuje, ale nie do końca tak to działa. Kluczowe jest, żeby zrozumieć dokładne zasady, bo wyrażenia regularne są bardzo precyzyjne i wymagają zwrócenia uwagi na detale. Dobrze jest też testować swoje wzory, by sprawdzić, czy działają w różnych sytuacjach.

Pytanie 21

W języku PHP zmienna globalna $_POST, służąca do odbierania danych z formularza przesłanych metodą POST, jest: 

A. ciągiem znaków zakodowanym w JSON.
B. obiektem klasy stdClass.
C. tablicą asocjacyjną.
D. zmienną tekstową.
Poprawnie – w PHP zmienna superglobalna $_POST jest tablicą asocjacyjną, czyli zbiorem par klucz ⇒ wartość. Kluczami są nazwy pól formularza (atrybut name w HTML), a wartościami – dane przesłane metodą POST. Dzięki temu po stronie PHP możesz wygodnie odwoływać się do konkretnych pól, np.: $imie = $_POST['imie']; $email = $_POST['email'];. To jest bardzo naturalne, bo struktura formularza HTML też opiera się na nazwach pól, więc mapowanie na tablicę asocjacyjną jest po prostu praktyczne. Moim zdaniem ważne jest też zrozumienie, że $_POST zawsze jest tablicą (array w PHP), nawet jeśli w formularzu jest tylko jedno pole. Jeżeli użytkownik nic nie wyśle, to będzie to pusta tablica, a nie null czy ciąg znaków. Z mojego doświadczenia warto zawsze sprawdzać isset($_POST['nazwa']) albo używać filter_input(INPUT_POST, 'nazwa'), co jest zgodne z dobrymi praktykami bezpieczeństwa. $_POST jest jedną z tzw. superglobali, obok $_GET, $_SERVER, $_FILES, $_SESSION itd. Są one dostępne w całym skrypcie, niezależnie od zasięgu (scope) funkcji. W kontekście formularzy webowych przyjętym standardem jest: używamy $_GET do danych z adresu URL (zapytania typu ?id=5), a $_POST do danych z formularzy, szczególnie gdy przesyłamy hasła, większe teksty, dane wrażliwe. To jest zgodne z typową architekturą aplikacji webowych w PHP. Warto też wiedzieć, że wartości w $_POST są zawsze typu string (lub tablica stringów, gdy używasz nazw pól z nawiasami, np. name="interesy[]"), ale sama zmienna $_POST jest tablicą asocjacyjną. Dobra praktyka: nie ufaj ślepo zawartości $_POST – zawsze waliduj i filtruj dane wejściowe przed zapisaniem do bazy czy wyświetleniem użytkownikowi, żeby unikać np. XSS i SQL injection.

Pytanie 22

Atrybut colspan służy do poziomego łączenia komórek tabeli, natomiast rowspan pozwala na łączenie ich w pionie. Którą z poniższych tabel ukazuje fragment kodu napisany w języku HTML?
<table border="1" cellspaing="0" cellpadding="10" >
<tr> <td rowspan="2"> </td> <td> </td> </tr>
<tr> <td> </td> </tr>
</table>

Ilustracja do pytania
A. rys. C
B. rys. D
C. rys. B
D. rys. A
W języku HTML atrybut rowspan w znaczniku <td> pozwala na scalanie komórek w pionie co oznacza że dana komórka zajmuje miejsce w kilku wierszach tabeli W podanym kodzie pierwsza komórka w pierwszym wierszu posiada atrybut rowspan z wartością 2 co sprawia że zajmuje ona miejsce w dwóch wierszach Pierwszy wiersz zawiera dwie komórki z czego pierwsza jest połączona pionowo z komórką w drugim wierszu Druga komórka w pierwszym wierszu oraz jedyna komórka w drugim wierszu nie posiadają atrybutu rowspan ani colspan dlatego nie są połączone z innymi komórkami Takie użycie rowspan jest zgodne z praktykami HTML które umożliwiają tworzenie bardziej złożonych układów tabeli dzięki czemu można lepiej zarządzać przestrzenią w interfejsie użytkownika Jako że kod tworzy tabelę z dwiema kolumnami i dwoma wierszami gdzie pierwsza komórka po lewej stronie zajmuje dwa wiersze przedstawia to układ jak na rysunku B Możliwości jakie daje rowspan są niezwykle przydatne w sytuacjach gdy chcemy aby dane w tabeli były czytelniejsze i bardziej zorganizowane szczególnie w raportach czy formularzach gdzie różne kategorie danych muszą być jasno oddzielone

Pytanie 23

Określ złożoność obliczeniową algorytmu naiwnego (zwykłego) poszukiwania minimum w kolekcji liczb?

A. O(n!)
B. O(n3)
C. O(n2)
D. O(n)
Algorytm naiwnego (zwykłego) wyszukiwania minimum w zbiorze liczb charakteryzuje się złożonością obliczeniową O(n), co oznacza, że jego czas wykonania rośnie liniowo w zależności od liczby elementów w zbiorze. W praktyce oznacza to, że aby znaleźć najmniejszy element w zbiorze liczb, algorytm przeszukuje wszystkie elementy, porównując je ze sobą. W przypadku zbioru zawierającego n elementów, konieczne jest wykonanie n-1 porównań, co skutkuje liniową złożonością. Wyszukiwanie minimum jest użyteczne w wielu aplikacjach, takich jak analiza danych, gdzie może być wykorzystywane do szybkiego lokalizowania najniższej wartości w zestawie wyników. Dobrymi praktykami w tym zakresie są stosowanie tego algorytmu w sytuacjach, gdy zbiór danych jest relatywnie mały lub gdy zależy nam na prostocie i czytelności kodu. Złożoność O(n) jest optymalna dla tego typu operacji, ponieważ nie da się znaleźć minimum bez przeszukania każdego elementu przynajmniej raz, co potwierdza zasadę, że konieczne jest zbadanie wszystkich danych w celu uzyskania poprawnego wyniku.

Pytanie 24

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

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

Pytanie 25

Web designer pragnie wstawić w znaczniku <header> nagłówek do treści. Zgodnie z zasadami użycia znaczników semantycznych, powinien wykorzystać znacznik

A. <strong>
B. <h1>
C. <title>
D. <p>
Zastosowanie znacznika <h1> w nagłówkach strony internetowej jest zgodne z zasadami semantycznymi HTML. Znacznik <h1> jest przeznaczony do oznaczania głównego nagłówka dokumentu i powinien być używany do przedstawienia najważniejszej treści. Dobrą praktyką jest, aby każda strona miała tylko jeden znacznik <h1>, co pomaga wyszukiwarkom zrozumieć hierarchię treści na stronie. Na przykład, w przypadku artykułu, tytuł artykułu mógłby być umieszczony w znaczniku <h1>, a podtytuły w <h2>, <h3> itd. W ten sposób struktura dokumentu jest jasna, co poprawia dostępność oraz SEO. Dodatkowo, stosowanie semantycznych znaczników ułatwia nawigację po stronie osobom korzystającym z technologii asystujących, takich jak czytniki ekranu, które interpretują hierarchię treści na podstawie użytych znaczników.

Pytanie 26

Znacznik <i> w języku HTML ma na celu

A. zmianę czcionki na kursywę
B. określenie formularza
C. dodanie grafiki
D. ustalenie nagłówka w treści
Znacznik <i> w języku HTML jest używany do formatowania tekstu, aby uzyskać efekt pochylonego kroju pisma. Jest to element semantyczny, który wprowadza do dokumentu wizualną różnicę, ale także ma swoje miejsce w kontekście znaczeniowym. Użycie <i> może wskazywać na zmianę intonacji w tekście, taką jak nazwy książek, filmów, czy obcych wyrazów. W standardach HTML5, <i> jest zalecany do użytku, aby wyróżnić elementy tekstowe w sposób, który jest zgodny z zasadami dostępności i semantyki. Przykład zastosowania: <p>W książce <i>W pustyni i w puszczy</i> autorstwa Henryka Sienkiewicza...</p>. Oznaczanie tekstu w ten sposób wspiera nie tylko estetykę strony, ale również poprawia doświadczenie użytkowników korzystających z technologii asystujących, które mogą interpretować znaczenie tak oznaczonego tekstu. Warto również pamiętać o odpowiednich stylach CSS, które można zastosować do tego znacznika, aby dostosować jego wygląd do reszty witryny.

Pytanie 27

Zidentyfikuj styl CSS, który doprowadził do uzyskania pokazanego efektu.

Ilustracja do pytania
A. Styl 3
B. Styl 1
C. Styl 4
D. Styl 2
Odpowiedź Styl 2 jest prawidłowa, ponieważ zastosowanie border-radius w wartości 50px pozwala osiągnąć efekt zaokrąglenia narożników elementu do kształtu koła, o ile element jest kwadratem. W tym przypadku obraz ma szerokość 100px, co oznacza, że promień zaokrąglenia równy 50px sprawia, że wszystkie narożniki zbiegają się w punktach centralnych ścianek kwadratu, tworząc idealny okrąg. Ta technika jest szeroko stosowana w projektowaniu stron internetowych zwłaszcza w odniesieniu do awatarów lub elementów graficznych, które wymagają zaokrąglonego kształtu. Stosowanie odpowiednich wartości border-radius jest zgodne z dobrymi praktykami w CSS, co pozwala projektantom na eleganckie i efektywne kształtowanie wyglądu witryny. Dzięki temu można tworzyć intuicyjne i estetyczne interfejsy użytkownika. Ważne jest również, aby testować wyświetlanie na różnych urządzeniach, ponieważ CSS powinien być responsywny i adaptowalny do różnorodnych rozdzielczości wyświetlaczy co zwiększa dostępność oraz użyteczność witryn.

Pytanie 28

W znaczniku meta w miejsce kropek należy wpisać

<meta name="description" content="…">
A. streszczenie treści strony.
B. język dokumentu.
C. informację o dostosowaniu do urządzeń mobilnych.
D. nazwę edytora.
W meta tagu, w polu 'content' powinno być streszczenie tego, co jest na stronie. To bardzo ważne dla SEO, czyli optymalizacji strony pod kątem wyszukiwarek. Taki opis pojawia się w wynikach wyszukiwania, co wpływa na to, jak użytkownicy postrzegają stronę i czy klikną w link. Fajnie by było, gdyby był krótki, zrozumiały i zawierał ważne słowa kluczowe dotyczące tematu strony. Na przykład, jeśli strona jest o zdrowym jedzeniu, można napisać coś w stylu: 'Poradnik zdrowego odżywiania z przepisami i wskazówkami na lepszy styl życia'. Użycie tych znaczników meta zgodnie z zaleceniami Google i innych wyszukiwarek zwiększa szansę, że strona będzie lepiej widoczna w sieci. Dlatego dobrze, żeby używać tego znacznika w odpowiedni sposób, bo to naprawdę pomaga w poprawie widoczności strony w internecie.

Pytanie 29

Cookie stworzony za pomocą polecenia PHP

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. będzie przechowywany na serwerze przez 24 godziny
B. wygaśnie po dobie od momentu jego utworzenia
C. wygaśnie po jednej godzinie od momentu jego utworzenia
D. będzie przechowywany na serwerze przez jedną godzinę
Odpowiedź wygaśnie po jednej dobie od jego utworzenia jest prawidłowa, ponieważ w funkcji setcookie() parametr time() + (3600 * 24) ustala czas wygaśnięcia ciasteczka na 24 godziny, licząc od momentu jego utworzenia. W praktyce oznacza to, że ciasteczko będzie dostępne dla przeglądarki przez całą dobę, co jest przydatne w wielu aplikacjach webowych. Ciasteczka są używane do przechowywania informacji o sesji użytkownika, preferencjach oraz stanach aplikacji. Przykładem zastosowania może być pamiętanie, że użytkownik jest zalogowany, co ułatwia korzystanie z serwisu. Zgodnie z najlepszymi praktykami, zaleca się ustawianie odpowiednich parametrów dla ciasteczek, takich jak HttpOnly i Secure, a także ich właściwe zarządzanie, aby nie narażać danych użytkowników na niebezpieczeństwo. Ponadto, dobrze jest regularnie przeglądać i aktualizować politykę dotycząca ciasteczek, aby spełniać wymogi przepisów o ochronie danych osobowych, takich jak RODO.

Pytanie 30

Sprawdzanie poprawności wypełnienia formularza, które ma przebiegać po stronie klienta, powinno być wykonane w języku

A. CSS
B. Ruby on Rails
C. JavaScript
D. PHP
Weryfikacja kompletności formularza po stronie przeglądarki jest kluczowym elementem interakcji użytkownika z aplikacją internetową. Do realizacji tego zadania najczęściej wykorzystuje się język JavaScript, który umożliwia dynamiczne manipulowanie strukturą HTML oraz reagowanie na zdarzenia użytkownika, takie jak kliknięcia czy wprowadzanie danych. Przykładem może być zdefiniowanie funkcji, która sprawdza, czy wszystkie wymagane pola formularza zostały uzupełnione przed jego wysłaniem. W tym celu można użyć zdarzenia 'submit', aby przechwycić moment wysłania formularza i przeprowadzić odpowiednie sprawdzenie. Standardy, takie jak W3C, zalecają stosowanie walidacji po stronie klienta, jako sposób na poprawę doświadczeń użytkownika i zmniejszenie obciążenia serwera. Przykład kodu JavaScript do walidacji formularza mógłby wyglądać następująco: function validateForm() { var x = document.forms["myForm"]["fname"].value; if (x == "") { alert("Imię musi być wypełnione"); return false; } }. Takie podejście nie tylko zwiększa użyteczność aplikacji, ale również pozwala na wczesne wykrywanie błędów, co może znacznie poprawić jakość danych przesyłanych do serwera.

Pytanie 31

W języku PHP przeprowadzono operację zaprezentowaną w ramce. Jak można wyświetlić wszystkie rezultaty tego zapytania?

Ilustracja do pytania
A. pokazać zmienną $db
B. zaindeksować zmienną tab, gdzie tab[0] to pierwsze imię
C. użyć polecenia mysql_fetch
D. zastosować pętlę z poleceniem mysqli_fetch_row
Zastosowanie pętli z poleceniem mysqli_fetch_row jest poprawnym rozwiązaniem dla wyświetlenia wyników zapytania w języku PHP. Funkcja mysqli_fetch_row zwraca kolejny wiersz wynikowy jako tablicę liczbową przy każdym wywołaniu. Oznacza to, że aby przetworzyć wszystkie wiersze wyników, należy zastosować pętlę while bądź for, która będzie kontynuować do momentu zwrócenia ostatniego wiersza. Przykładowy kod może wyglądać następująco while ($row = mysqli_fetch_row($tab)) { echo $row[0]; } gdzie $tab to wynik zapytania mysqli_query. Takie podejście pozwala na iteracyjne przetwarzanie każdego wiersza i jest zgodne z branżowymi standardami dotyczącymi pracy z bazami danych w PHP. Dodatkowo mysqli_fetch_row jest bardziej efektywny w przypadku dużych zbiorów danych, ograniczając zużycie pamięci. Jest to zgodne z dobrymi praktykami dotyczącymi przetwarzania dużych zbiorów danych, gdzie operacje powinny być jak najbardziej zoptymalizowane i pamięciooszczędne co ma kluczowe znaczenie w aplikacjach internetowych z dużym obciążeniem.

Pytanie 32

Jakiego rodzaju oprogramowanie narzędziowe jest wymagane, aby użytkownik mógł przeprowadzać operacje na zebranych danych?

A. Obiektowy System Zarządzania Bazą Danych
B. Otwarty mechanizm komunikacji bazy danych
C. System Zarządzania Bazą Danych (SZBD)
D. Klucz obcy
System Zarządzania Bazą Danych (SZBD) to kluczowy element w architekturze aplikacji, który umożliwia użytkownikom przechowywanie, modyfikowanie i zarządzanie danymi. Dzięki SZBD użytkownicy mogą wykonywać operacje takie jak dodawanie, usuwanie, modyfikacja danych oraz wykonywanie zapytań, co jest niezbędne w każdym systemie informacyjnym. Przykłady powszechnie stosowanych SZBD to MySQL, PostgreSQL oraz Oracle Database. W praktyce, SZBD obsługuje relacje między danymi, co pozwala na zapewnienie integralności i spójności danych. Dodatkowo, SZBD implementują standardy takie jak ACID (Atomicity, Consistency, Isolation, Durability), co jest gwarancją niezawodności transakcji. Aby efektywnie korzystać z SZBD, warto zapoznać się z językiem SQL, który jest standardem do komunikacji z bazą danych. W kontekście dobrych praktyk, umiejętność projektowania prawidłowej struktury bazy danych oraz znajomość zasad normalizacji danych są kluczowe dla optymalizacji wydajności aplikacji oraz minimalizacji ryzyka błędów danych.

Pytanie 33

Jakie jest zastosowanie programu debugger?

A. analizy wykonywanego programu w celu lokalizacji błędów
B. badania kodu źródłowego w celu znalezienia błędów składniowych
C. interpretacji kodu w wirtualnej maszynie Java
D. tłumaczenia kodu napisanego w języku wyższego poziomu na język maszynowy
Program debugger to narzędzie, które umożliwia programistom analizę wykonywanego programu w celu lokalizacji błędów, co jest kluczowym elementem procesu tworzenia oprogramowania. Debuggery pozwalają na zatrzymywanie wykonania programu w określonych momentach, co pozwala na inspekcję stanu zmiennych oraz wywołań funkcji w danym momencie. Dodatkowo, wiele debuggerów oferuje możliwość krokowego przechodzenia przez kod, co ułatwia zrozumienie logiki programu i identyfikację błędów. Przykładem może być użycie debuggera w IDE, takich jak Visual Studio czy Eclipse, gdzie można ustawić punkty przerwania i obserwować zmiany w czasie rzeczywistym. Zastosowanie debuggera jest zgodne z najlepszymi praktykami branżowymi, które zalecają regularne testowanie i debugowanie kodu w trakcie jego pisania, co znacząco zwiększa jakość oprogramowania oraz przyspiesza proces developmentu. Warto również zaznaczyć, że dobra znajomość narzędzi debugujących jest niezbędna dla każdego programisty, aby efektywnie rozwiązywać problemy i dostarczać stabilne aplikacje.

Pytanie 34

Fragment kodu JavaScript, który sumuje dwie liczby, przedstawia się następująco. Aby wykonać dodawanie po kliknięciu przycisku o nazwie dodaj, należy umieścić kod w wykropkowanym miejscu.

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
....
<script>
function dodaj()
{
// ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onselect="return dodaj()">dodaj</button>
B. <button onselect="return dodaj()">oblicz</button>
C. <button onclick="return dodaj()">dodaj</button>
D. <button onclick="return oblicz()">dodaj</button>
W JavaScript funkcje mogą być wywoływane w odpowiedzi na zdarzenia użytkownika takie jak kliknięcie przycisku. Atrybut onclick jest powszechnie stosowany do określenia, jaka funkcja powinna zostać wywołana w momencie kliknięcia. W tym przypadku celem jest wywołanie funkcji dodaj() po kliknięciu przycisku. Dlatego odpowiedź <button onclick="return dodaj()">dodaj</button> jest prawidłowa, ponieważ używa właściwego atrybutu onclick do przypisania zdarzenia kliknięcia funkcji dodaj(). To podejście jest zgodne z dobrymi praktykami w zakresie obsługi zdarzeń w HTML oraz JavaScript, umożliwiając elastyczne interakcje użytkownika z aplikacją. Ważne jest, by pamiętać o tym, że funkcja przypisana do onclick powinna zwracać wartość false, jeśli chcemy, by domyślne działanie przeglądarki zostało zatrzymane. W tym przypadku funkcja dodaj() powinna realizować operację dodawania liczb wprowadzonych przez użytkownika w formularzu, co jest typowym scenariuszem użycia JavaScript do manipulacji danymi wprowadzanymi przez użytkownika w czasie rzeczywistym. Implementacja tej funkcji powinna zawierać również walidację danych wejściowych oraz kontrolę błędów, co jest standardem w nowoczesnym programowaniu webowym, zapewniającym stabilność i bezpieczeństwo aplikacji.

Pytanie 35

Który model barw opisuje kolor za pomocą stożka przestrzeni barw?

A. HSV
B. CMY
C. CIE
D. CMYK
Model barw HSV (Hue, Saturation, Value) jest jednym z najbardziej znanych modeli opisujących kolory w przestrzeni barwnej, który można graficznie przedstawić w formie stożka. W modelu tym kolor definiowany jest przez trzy parametry: odcień (Hue), nasycenie (Saturation) i jasność (Value). Odcień określa kolor, nasycenie odnosi się do intensywności koloru, a jasność wskazuje na jego jasność. Przykładem zastosowania modelu HSV może być grafika komputerowa, gdzie użytkownicy często korzystają z suwaków do wyboru koloru; suwak odcienia pozwala na wybór koloru bazowego, suwak nasycenia modyfikuje jego intensywność, a suwak jasności pozwala na kontrolowanie poziomu jasności koloru. Model HSV jest szeroko używany w oprogramowaniu do edycji zdjęć oraz w programowaniu gier, co sprawia, że jest niezwykle praktyczny w zastosowaniach cyfrowych. Jest zgodny z wieloma standardami, takimi jak sRGB czy Adobe RGB, co czyni go uniwersalnym narzędziem w pracy z kolorami.

Pytanie 36

W celu stylizacji strony internetowej stworzono odpowiednie reguły. Reguły te będą stosowane tylko do wybranych znaczników (np. niektóre nagłówki, kilka akapitów). W tej sytuacji, aby zastosować styl do kilku wybranych znaczników, najlepiej będzie użyć

{ text-align: right; }
A. pseudoklasy.
B. identyfikatora.
C. selektora akapitu.
D. klasy.
Wybór klasy jako metody przypisania stylu do konkretnych znaczników HTML jest uzasadniony, gdyż klasy pozwalają na wielokrotne zastosowanie tego samego stylu w różnych miejscach dokumentu. Klasy definiuje się w arkuszu stylów CSS i przypisuje się je do elementów HTML za pomocą atrybutu "class". Dzięki temu, na przykład, możemy zastosować ten sam zestaw stylów do kilku nagłówków, akapitów czy innych elementów, co znacznie ułatwia zarządzanie stylizacją strony. Stosując klasy, nie musimy powielać kodu, co jest zgodne z zasadą DRY (Don't Repeat Yourself), prowadzącą do bardziej zorganizowanego i łatwiejszego w utrzymaniu kodu. Przykład użycia: jeśli stworzymy klasę "highlight" w CSS, możemy zastosować ją do kilku elementów, np. <h1 class="highlight">Nagłówek 1</h1> oraz <p class="highlight">Akapit wyróżniony.</p>. Dzięki temu, zmieniając styl w jednym miejscu, mamy wpływ na wszystkie elementy, co znacznie zwiększa efektywność i konsekwencję wizualną naszej strony. Dobrą praktyką jest także nadawanie klas nazw, które odzwierciedlają ich funkcję lub wygląd, co ułatwia późniejsze zarządzanie kodem.

Pytanie 37

Jaką funkcję pełni program debugger?

A. badania kodu źródłowego w celu wykrycia błędów składniowych
B. analizy działającego programu w celu wykrycia błędów
C. przekładania kodu napisanego w języku wyższego poziomu na język maszynowy
D. interpretacji kodu w ramach wirtualnej maszyny Java
Debugger jest narzędziem, które pozwala na analizowanie i monitorowanie działania programów w trakcie ich wykonywania. Jego głównym celem jest lokalizacja błędów, co jest kluczowe w procesie programowania. Umożliwia on programiście śledzenie wartości zmiennych, monitorowanie stanu aplikacji oraz identyfikowanie momentów, w których występują błędy. Dobre praktyki wskazują, że regularne korzystanie z debuggersów w procesie developmentu przyczynia się do wczesnego wykrywania problemów, co z kolei redukuje koszty i czas potrzebny na naprawę. Na przykład, w przypadku aplikacji webowych, debugger może pomóc w analizie, dlaczego dany fragment kodu nie działa tak, jak oczekiwano, umożliwiając programiście zatrzymanie wykonania w konkretnym punkcie oraz sprawdzenie stanu aplikacji. Współczesne środowiska programistyczne, takie jak Visual Studio czy IntelliJ IDEA, oferują rozbudowane funkcje debugowania, które są nieocenione w codziennej pracy programisty.

Pytanie 38

Testy związane ze skalowalnością aplikacji mają na celu zweryfikowanie, czy program

A. jest chroniony przed nieautoryzowanymi działaniami, np. dzieleniem przez zero
B. jest właściwie opisany w dokumentacji
C. posiada odpowiednie funkcje
D. jest w stanie funkcjonować przy zaplanowanym i większym obciążeniu
Odpowiedź mówiąca o tym, że aplikacja potrafi działać przy zakładanym i większym obciążeniu, jest kluczowa, gdyż skalowalność oprogramowania odnosi się do zdolności systemu do efektywnego działania w warunkach wzrastającego zapotrzebowania na zasoby. Oznacza to, że aplikacja powinna być w stanie obsługiwać rosnącą liczbę użytkowników, transakcji lub innych operacji bez degradacji wydajności. Przykładem może być system e-commerce, który w okresie wyprzedaży musi obsługiwać znacznie więcej użytkowników niż w normalnych okolicznościach. Aby zapewnić skalowalność, programiści mogą wykorzystywać różne architektury, takie jak mikroserwisy, które pozwalają na niezależne skalowanie poszczególnych komponentów aplikacji. Dobre praktyki obejmują również wykorzystanie chmurowych rozwiązań, takich jak AWS czy Azure, które oferują elastyczność i automatyczne skalowanie w odpowiedzi na wzrost obciążenia. Warto także wdrażać mechanizmy monitorowania i optymalizacji wydajności, aby na bieżąco dostosowywać zasoby do potrzeb użytkowników.

Pytanie 39

Która z właściwości grafiki wektorowej jest słuszna?

A. Po utworzeniu nie jest możliwa edycja
B. Grafika wektorowa jest niezależna od rozdzielczości
C. Grafika wektorowa nie podlega skalowaniu
D. Nie można jej przekształcić w grafikę rastrową
Grafika wektorowa jest niezależna od rozdzielczości, co oznacza, że można ją skalować do dowolnych rozmiarów bez utraty jakości. W przeciwieństwie do grafiki rastrowej, która składa się z pikseli, grafika wektorowa opiera się na matematycznych równaniach i wektora, co pozwala na zachowanie ostrości i detali niezależnie od tego, jak bardzo powiększymy lub pomniejszymy obraz. Przykłady zastosowań grafiki wektorowej obejmują logotypy, ilustracje w książkach i projektowanie interfejsów użytkownika, gdzie precyzja jest kluczowa. Standardy takie jak SVG (Scalable Vector Graphics) są powszechnie używane do tworzenia i publikowania grafiki wektorowej w Internecie, co dodatkowo potwierdza ich elastyczność. W praktyce, projektanci mogą tworzyć grafiki wektorowe w programach takich jak Adobe Illustrator czy CorelDRAW, a następnie swobodnie dostosowywać ich rozmiar do różnych mediów, co czyni je niezwykle uniwersalnym narzędziem w świecie grafiki komputerowej.

Pytanie 40

Baza danych zawiera tabelę artykuły z kolumnami: nazwa, typ, producent, cena. Aby wypisać wszystkie nazwy artykułów jedynie typu pralka, których cena mieści się w zakresie od 1000 PLN do 1500 PLN, należy użyć zapytania

A. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
B. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
C. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
D. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje polecenie SQL w odpowiedni sposób, aby wybrać nazwy artykułów, które spełniają określone kryteria. Słowo kluczowe 'BETWEEN' jest używane do określenia wartości w przedziale, co w tym przypadku oznacza, że cena artykułów musi mieścić się między 1000 a 1500 PLN. W połączeniu z warunkiem 'AND' zapewnia, że tylko te artykuły, które są typu 'pralka' i mają cenę w podanym przedziale, zostaną wyświetlone. W praktyce takie zapytanie jest niezwykle użyteczne w kontekście e-commerce, gdzie często przeprowadza się filtrowanie produktów według określonych parametrów. Dobrą praktyką w programowaniu SQL jest również używanie podwójnych cudzysłowów dla wartości tekstowych, co jest zgodne z niektórymi standardami SQL, chociaż w wielu systemach baz danych akceptowane są również pojedyncze cudzysłowy. Przykłady zastosowania tego zapytania można znaleźć w systemach zarządzania zapasami, gdzie potrzebne jest szybkie generowanie list produktów spełniających specyficzne wymagania klientów.