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: 20 kwietnia 2026 12:38
  • Data zakończenia: 20 kwietnia 2026 13:12

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 JavaScript metoda Math.random() ma na celu

A. zwrócić liczbę po zaokrągleniu
B. zaokrąglić liczbę do najbliższej większej liczby całkowitej
C. zwrócić liczbę pseudolosową
D. porównać dwie sekwencje znaków
Metoda Math.random() w języku JavaScript jest kluczowym narzędziem do generowania liczb pseudolosowych w zakresie od 0 (włącznie) do 1 (wyłącznie). Oznacza to, że każdorazowe wywołanie tej metody zwraca nową, losową wartość zmiennoprzecinkową, co jest przydatne w wielu zastosowaniach, takich jak tworzenie gier, symulacje, a także w algorytmach generujących dane testowe. Ważne jest, aby pamiętać, że Math.random() nie generuje liczb losowych w sensie statystycznym, lecz wykorzystuje algorytmy deterministyczne do produkcji wartości, co oznacza, że są one przewidywalne, jeśli znany jest stan początkowy. W praktyce, aby uzyskać liczbę losową w określonym zakresie, można zastosować następujący wzór: Math.floor(Math.random() * (max - min + 1)) + min, gdzie 'min' i 'max' to odpowiednio dolna i górna granica zakresu. To podejście jest zgodne z dobrymi praktykami w programowaniu, gdyż pozwala na elastyczne wykorzystanie losowości w aplikacjach.

Pytanie 2

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

#stopka { ... }
A. <div title = "stopka"> …
B. <div id = "stopka"> …
C. <div "stopka"> …
D. <div class = "stopka"> …
Klucz do zrozumienia tego zadania leży w poprawnym skojarzeniu składni CSS z odpowiednimi atrybutami w HTML. Selektor #stopka oznacza, że styl jest przypisany do elementu o identyfikatorze stopka, a nie do klasy, tytułu czy jakiegoś „anonimowego” znacznika. Zgodnie ze specyfikacją CSS, znak # zawsze odnosi się do atrybutu id w HTML, podczas gdy kropka (.) jest powiązana z atrybutem class. Częsty błąd polega na myleniu klasy z identyfikatorem. Wiele osób odruchowo używa class="stopka", bo klasy są częściej stosowane przy wielokrotnym powtarzaniu stylów. Jednak dla klasy właściwy selektor w CSS miałby postać .stopka { ... }, a nie #stopka { ... }. Jeśli w HTML ustawimy class="stopka", a w CSS zostawimy #stopka, przeglądarka w ogóle nie skojarzy tych dwóch rzeczy – styl po prostu nie zostanie zastosowany. To typowy przykład rozjazdu między nazwą selektora a atrybutem w znaczniku. Inny błędny trop to pomijanie nazwy atrybutu i pisanie czegoś w rodzaju <div "stopka">. Taki zapis nie jest poprawnym HTML-em, bo każdy atrybut musi mieć nazwę (id, class, title itd.) i wartość w cudzysłowie lub apostrofach. Przeglądarka albo to zignoruje, albo potraktuje jako uszkodzony kod, co utrudnia debugowanie i walidację. Zdarza się też, że ktoś próbuje użyć atrybutu title="stopka", licząc, że skoro napis jest ten sam, to CSS go „złapie”. Atrybut title służy jednak do opisu elementu (np. podpowiedź po najechaniu myszką), nie do wiązania stylów. Można co prawda w CSS pisać selektory atrybutów, np. [title="stopka"], ale to jest zupełnie inny mechanizm niż klasy i identyfikatory i na pewno nie zadziała z selektorem #stopka. Z mojego doświadczenia wynika, że dobra praktyka to konsekwencja: jeśli w CSS widzisz #nazwa, to w HTML szukaj id="nazwa". Jeśli widzisz .nazwa, to używaj class="nazwa". Mieszanie tych podejść, używanie losowych atrybutów albo pomijanie nazw atrybutów prowadzi do stylów, które „magicznie” nie działają, mimo że na pierwszy rzut oka wszystko wygląda podobnie. Dlatego warto zawsze mentalnie łączyć: # → id, . → class, a pozostałe atrybuty traktować jako dodatkowe, a nie stylujące.

Pytanie 3

W zaprezentowanym fragmencie kodu HTML zdefiniowano pole input, które można opisać jako

<input type="password" name="pole">
A. pokazuje znaki, które zostały do niego wprowadzone
B. ukrywa znaki, które zostały do niego wprowadzone
C. dopuszcza jedynie wprowadzanie wartości liczbowych
D. zawiera domyślny tekst „pole”
W formularzach HTML często spotykamy różne typy pól input, mające specyficzne zastosowania. Pole input z atrybutem type="text" pozwala na wpisywanie dowolnego tekstu, co sprawia, że jest ono bardziej elastyczne, ale nie zapewnia żadnej ochrony dla wprowadzanych danych. Problematyczne mogą być sytuacje, gdzie takie pole jest używane dla danych wrażliwych, ponieważ nie oferuje ono żadnego poziomu prywatności. Wprowadzenie domyślnego tekstu w polu input jest realizowane poprzez atrybut value, który ustawia początkową wartość, widoczną dla użytkownika. To rozwiązanie bywa mylone z placeholderem, który służy jako podpowiedź wewnątrz pola, ale nie jest domyślną wartością samego pola. Input o typie "number" w HTML ogranicza wprowadzane dane wyłącznie do liczb, co jest przydatne w przypadku pól wymagających wartości liczbowych, takich jak wiek czy ilość. Choć to ograniczenie jest zasadne i chroni przed błędami użytkownika, nie ma zastosowania w kontekście ochrony prywatności danych. Typ password natomiast nie tylko ogranicza wprowadzone dane, ale również ukrywa je przed wglądem, co jest kluczowe dla zapewnienia bezpieczeństwa. Tym samym, zrozumienie różnic w funkcjonalności i zastosowaniu tych różnych typów pól pozwala na lepsze projektowanie bezpiecznych i funkcjonalnych formularzy w aplikacjach webowych. Błędem jest zakładanie, że każde pole input domyślnie zabezpiecza dane, co często prowadzi do niepoprawnych implementacji, które mogą narazić użytkowników na ryzyko wycieku danych.

Pytanie 4

Lokalny System Zarządzania Bazą Danych (SZBD) oferuje bazę danych

A. w formie serwera w sieci.
B. w chmurze obliczeniowej.
C. wyłącznie na jednym, wyznaczonym komputerze.
D. jako usługę serwerową w sieci.
Odpowiedzi sugerujące, że lokalny system zarządzania bazą danych może być udostępniany jako serwer w sieci, w chmurze komputerowej lub jako usługa sieciowa serwera, mogą prowadzić do pewnych nieporozumień dotyczących architektury baz danych. W kontekście lokalnych systemów, 'serwer w sieci' sugeruje, że baza danych jest dostępna dla wielu użytkowników przez internet lub sieć lokalną, co jest charakterystyczne dla systemów zdalnych. Z kolei chmura komputerowa odnosi się do zdalnych usług i zasobów, które są przechowywane i zarządzane przez dostawców usług chmurowych, co również jest sprzeczne z ideą lokalnych systemów. Usługi sieciowe serwera dodatkowo podkreślają potrzebę interakcji z systemem zdalnym, podczas gdy lokalny SZBD działa na pojedynczym urządzeniu. Często błędne wnioski wynikają z nieodróżniania lokalnych i zdalnych architektur baz danych. W praktyce, lokalne SZBD jest idealne do zastosowań, gdzie bezpieczeństwo danych oraz ich szybki dostęp są kluczowe, w przeciwieństwie do rozwiązań chmurowych, które mogą wprowadzać opóźnienia związane z latencją sieci. Aby lepiej zrozumieć te różnice, warto zaznajomić się z typowymi zastosowaniami dla różnych typów baz danych, co pomoże w podejmowaniu świadomych decyzji w przyszłości.

Pytanie 5

Podczas walidacji witryn internetowych nie analizuje się

A. zgodności z różnymi przeglądarkami
B. działania hiperlinków
C. błędów w składni kodu
D. źródła pochodzenia narzędzi edycyjnych
W procesie walidacji stron internetowych, źródło pochodzenia narzędzi edytorskich nie jest przedmiotem analizy, ponieważ walidacja koncentruje się na technicznych aspektach kodu HTML, CSS i JavaScript, które wpływają na funkcjonalność oraz dostępność strony. Główne obszary walidacji obejmują zgodność z przeglądarkami, co oznacza, że strona powinna działać poprawnie w różnych środowiskach przeglądarkowych. Działania linków są również monitorowane, aby zapewnić, że wszystkie odnośniki kierują do właściwych lokalizacji oraz nie prowadzą do błędów 404. Błędy składni kodu są kluczowe, ponieważ mogą znacząco wpłynąć na sposób, w jaki strona jest renderowana przez przeglądarki. Przykładowo, walidatory HTML, takie jak W3C Validator, pomagają identyfikować błędy i ostrzegają o problemach, które mogą wpłynąć na dostępność i SEO strony. Dobre praktyki wymuszają, aby każda strona internetowa była nie tylko estetyczna, ale przede wszystkim funkcjonalna i zgodna z obowiązującymi standardami, co przekłada się na lepsze doświadczenia użytkowników.

Pytanie 6

W tabeli pokazano cechy pliku graficznego. Aby rysunek ładował się szybciej na stronie WWW, należy

Wymiary: 4272 x 2848px
Rozdzielczość: 72 dpi
Format: JPG
A. zwiększyć rozdzielczość
B. zmniejszyć wymiary rysunku
C. zmienić format grafiki na CDR
D. zmienić proporcje szerokości do wysokości
Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę WWW. Mniejsze wymiary oznaczają mniejszą ilość danych do przesłania, co skraca czas ładowania strony. Praktycznym przykładem jest zmniejszenie wymiarów obrazu z 4272 x 2848 pikseli do bardziej standardowego rozmiaru, jak np. 1920 x 1080 pikseli dla grafik wyświetlanych na ekranach. Zmniejszenie wymiarów nie tylko przyspiesza ładowanie ale także zmniejsza zużycie transferu danych co jest istotne przy ograniczeniach mobilnych. Warto pamiętać że mniejsze grafiki są też mniej zasobożerne dla urządzeń użytkowników co wpływa na ogólną wydajność strony. Zastosowanie odpowiednich wymiarów jest zgodne z dobrymi praktykami optymalizacji webowej rekomendowanymi przez Google PageSpeed Insights i inne narzędzia analityczne. Optymalizacja grafiki poprzez zmniejszenie jej wymiarów jest podstawową czynnością w procesie tworzenia responsywnych i szybko działających witryn internetowych.

Pytanie 7

Jak nazywa się edytor, który wspiera proces tworzenia stron internetowych i którego działanie można opisać w polskim tłumaczeniu jako "otrzymujesz to, co widzisz"?

A. WYSIWYG
B. IDE
C. VISUAL EDITOR
D. WEB STUDIO
IDE, czyli zintegrowane środowisko programistyczne, to narzędzie, które wspomaga programistów w pisaniu kodu, debugowaniu i kompilacji aplikacji. IDE oferuje zaawansowane funkcje, takie jak podpowiedzi składni, integracja z systemami kontroli wersji oraz narzędzia do analizy kodu, jednak nie jest to narzędzie WYSIWYG. Głównym celem IDE jest ułatwienie pracy programistom, a nie wizualne projektowanie stron internetowych. WEB STUDIO to termin ogólny, który może odnosić się do różnych platform i narzędzi do tworzenia stron internetowych, ale nie jest on powszechnie uznawany za standardowy termin w branży. Nie ma on jednoznacznego znaczenia i nie wskazuje na edytor WYSIWYG, co wprowadza w błąd. VISUAL EDITOR, mimo że brzmi podobnie, także nie jest konkretnym terminem odnoszącym się do edytora WYSIWYG. Może być używany w różnych kontekstach, aby opisać edytory wizualne, jednak nie ma takiej samej rozpoznawalności jak termin WYSIWYG, co prowadzi do nieporozumień. W podsumowaniu, IDE, WEB STUDIO oraz VISUAL EDITOR nie oddają w pełni funkcji edytora WYSIWYG, który jest dedykowany do kreacji stron internetowych w sposób wizualny.

Pytanie 8

W języku PHP przypisano zmiennej $a wartość 1. Porównanie $a === $b zwraca true, gdy zmienna $b ma przypisaną wartość

A. 1 lub '1'
B. *1
C. '1' lub "1"
D. '1'
Odpowiedź '1' lub "1" jest prawidłowa, ponieważ w PHP operator porównania identyczności (===) sprawdza zarówno wartość, jak i typ porównywanych zmiennych. Zmienna $a zainicjowana wartością 1 jest typu całkowitego (integer). Aby porównanie $a === $b zwróciło true, zmienna $b również musi być tego samego typu i mieć tę samą wartość. Wartość '1' (jako string) jest interpretowana przez PHP w kontekście operatora porównania identyczności i jest zgodna z typem integer, co sprawia, że jest akceptowalna w tym przypadku. Przykładem zastosowania może być sytuacja, gdy dane są pobierane z formularza, gdzie wartości są traktowane jako stringi, a my potrzebujemy porównać je z wartościami liczbowymi w logice aplikacji. Zastosowanie operatora === w takich przypadkach jest zgodne z dobrymi praktykami programistycznymi, ponieważ pozwala uniknąć niejednoznaczności i błędów typów, co jest szczególnie istotne w bardziej złożonych aplikacjach, gdzie poprawność danych jest kluczowa.

Pytanie 9

Przedstawiony algorytm umożliwia wyliczenie

Ilustracja do pytania
A. średniej arytmetycznej n liczb a wprowadzonych przez użytkownika.
B. reszty z dzielenia kolejnych liczb a przez liczbę n.
C. najmniejszego wspólnego dzielnika dla n kolejnych liczb a.
D. średniej geometrycznej n liczb a wprowadzonych przez użytkownika.
Na diagramie widać dość typowy schemat algorytmu: wczytanie n, zainicjowanie zmiennych, pętla z licznikiem i i na końcu pojedyncza operacja dzielenia. Taki układ często myli osoby początkujące, bo łatwo go skojarzyć z innymi pojęciami matematycznymi. Warto więc spokojnie prześledzić logikę. Najpierw ustalana jest liczba elementów n. Potem zmienna Wynik jest ustawiana na 0, a i na 0, więc mamy klasyczne przygotowanie do sumowania w pętli. Warunek i < n powoduje, że ciało pętli wykona się dokładnie n razy. W każdej iteracji wczytywana jest jedna liczba a, a następnie Wynik = Wynik + a. To jest zwykłe sumowanie wszystkich podanych wartości. Dopiero po wyjściu z pętli następuje pojedyncza operacja Wynik = Wynik / n. To wyklucza interpretację w stylu „reszta z dzielenia” lub „najmniejszy wspólny dzielnik”, bo w algorytmie nie ma ani operatora modulo, ani żadnej logiki opartej na dzielnikach, porównywaniu reszt, iteracyjnej redukcji NWD itp. Dla średniej geometrycznej potrzebne byłoby mnożenie wszystkich wartości, a na końcu pierwiastek n-tego stopnia. Tutaj nie ma ani mnożenia w pętli, ani pierwiastkowania, więc średnia geometryczna odpada. Typowym błędem myślowym jest patrzenie tylko na końcowe dzielenie przez n i dopowiadanie sobie różnych znaczeń: że to reszta, że to jakiś „wspólny dzielnik” albo inna bardziej skomplikowana operacja. Tymczasem według dobrych praktyk analizy algorytmów trzeba zawsze prześledzić pełny przebieg: co się dzieje z każdą zmienną w każdej iteracji pętli. Wtedy widać jasno, że algorytm realizuje sumę n wczytanych liczb i na końcu dzieli tę sumę przez n, czyli liczy zwykłą średnią arytmetyczną. W kontekście podstaw informatyki to klasyczny wzorzec: inicjalizacja, pętla z akumulacją, przetworzenie wyniku po zakończeniu pętli.

Pytanie 10

W HTML znacznik <i> powoduje uzyskanie takiego samego efektu wizualnego jak znacznik

A. <strong>
B. <pre>
C. <em>
D. <u>
Znacznik <em> w HTML służy do podkreślenia wyrazu w sposób, który jest semantyczny oraz wizualny. Oznacza on, że dany tekst ma szczególne znaczenie, co jest zgodne z dobrymi praktykami w tworzeniu dostępnych stron internetowych. Użycie <em> jest preferowane w sytuacjach, gdy chcemy wyróżnić określone słowa lub frazy, co jest istotne dla zrozumienia treści. Przykładem może być zdanie: "Wartość ta jest <em>szczególnie</em> istotna w kontekście analizy". W takim przypadku tekst "szczególnie" będzie wyróżniony nie tylko dla użytkownika, ale również dla wyszukiwarek oraz technologii asystujących, co przyczynia się do lepszej dostępności strony. W przeciwieństwie do znaczników, które mają głównie funkcję wizualną, takich jak <i>, <em> przynosi dodatkowe znaczenie semantyczne, co czyni go bardziej odpowiednim w kontekście tworzenia dokumentów HTML zgodnych z standardami W3C.

Pytanie 11

Instrukcja użytkownika aplikacji nie powinna zawierać

A. wymagań sprzętowych.
B. opisu instalacji programu.
C. sposobu działania poszczególnych komponentów.
D. opisu zastosowanych algorytmów.
Poprawnie – instrukcja użytkownika aplikacji nie powinna zawierać opisu zastosowanych algorytmów. Dokument „dla użytkownika” ma jedno główne zadanie: w prosty sposób pokazać, jak korzystać z programu, a nie jak jest on zbudowany w środku. Algorytmy, struktury danych, złożoność obliczeniowa, szczegóły implementacyjne – to jest domena dokumentacji technicznej, przeznaczonej dla programistów, architektów systemów czy osób rozwijających oprogramowanie. Z punktu widzenia zwykłego użytkownika ważne jest raczej: na jakim sprzęcie aplikacja pójdzie, jak ją zainstalować, jak uruchomić konkretną funkcję i co zrobić, gdy coś nie działa. Moim zdaniem wrzucanie do instrukcji opisów algorytmów szkodzi na dwóch poziomach. Po pierwsze, zaciemnia obraz – użytkownik musi przebijać się przez techniczne treści, których i tak nie wykorzysta, zamiast skupić się na krokach „kliknij tu, wybierz to, zapisz”. Po drugie, z punktu widzenia bezpieczeństwa i ochrony własności intelektualnej firmy, zbyt szczegółowe ujawnianie algorytmów w publicznej instrukcji nie jest najlepszą praktyką. Standardem branżowym jest rozdzielenie dokumentacji na: user guide (instrukcja użytkownika), admin guide (dla administratorów), developer/technical documentation (dla twórców i integratorów). W user guide opisujemy np. wymagania sprzętowe (system operacyjny, ilość RAM, miejsce na dysku), sposób instalacji (krok po kroku, zrzuty ekranu), oraz działanie funkcji z punktu widzenia użytkownika („ten przycisk eksportuje dane do PDF”). Natomiast algorytmy sortowania, szyfrowania, kompresji czy przetwarzania danych trafiają do dokumentów technicznych, specyfikacji lub repozytorium kodu. W praktyce, jeśli użytkownik musi znać algorytm, żeby użyć programu, to znaczy, że interfejs jest po prostu źle zaprojektowany.

Pytanie 12

Którego atrybutu należy użyć w miejscu trzech kropek w znaczniku HTML5 <blockquote>, aby zdefiniować źródło cytatu?

<blockquote ...="https://pl.wikipedia.org">
Pokojowa Nagroda Nobla jest przyznawana kandydatom, którzy wykonali największą lub najlepszą
pracę na rzecz braterstwa między narodami
</blockquote>
A. href
B. cite
C. alt
D. src
Niestety, twoja odpowiedź nie jest poprawna. Atrybut 'cite' w znaczniku <blockquote> jest używany do definiowania źródła cytatu, a nie 'alt', 'src' ani 'href'. Atrybut 'alt' jest używany w obrazach jako tekst alternatywny, który jest wyświetlany, gdy obraz nie może być ładowany lub jest odczytywany przez czytniki ekranowe. Z kolei 'src' jest atrybutem, który określa ścieżkę do obrazu lub innego zasobu multimedialnego. 'href' jest używany w znacznikach 'a' i 'link' do określenia URL strony lub innego zasobu, do którego prowadzi link. Pomyłka ta może wynikać z braku zrozumienia różnych zastosowań atrybutów w HTML. Pamiętaj, że każdy atrybut ma swoje specyficzne zastosowanie i nie są one zamienne.

Pytanie 13

Zamieszczone zapytanie SQL przyznaje prawo SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla użytkownika root na serwerze sprzedawca
B. dla użytkownika root na serwerze localhost
C. do wszystkich tabel w bazie hurtownia
D. do wszystkich kolumn w tabeli hurtownia
Polecenie GRANT SELECT ON hurtownia.* TO sprzedawca@localhost; jest często źle interpretowane co prowadzi do błędnego przypisania uprawnień. Częstym problemem jest mylne przekonanie, że przyznanie uprawnień do wszystkich pól w tabeli oznacza to samo co do wszystkich tabel. Symbol * w poleceniu odnosi się do wszystkich tabel w bazie hurtownia a nie do wszystkich pól pojedynczej tabeli. To ważne rozróżnienie wpływa na sposób przyznawania i zarządzania uprawnieniami w kontekście bezpieczeństwa i dostępu do danych. Błędna interpretacja że uprawnienie dotyczy użytkownika root jest wynikiem niezrozumienia konwencji dotyczącej składni SQL gdzie specyficzna definicja użytkownika pojawia się po słowie TO w naszym przypadku jest to sprzedawca@localhost. To wyklucza użytkownika root z opcji możliwych odbiorców tego uprawnienia. Warto zwrócić uwagę że identyfikacja użytkownika sprzedawca@localhost jednoznacznie określa użytkownika działającego z lokalnego serwera a nie z dowolnego hosta co jest istotne z punktu widzenia bezpieczeństwa systemu. Zrozumienie tych niuansów jest kluczowe dla efektywnego zarządzania bazami danych i ochrony przed nieautoryzowanym dostępem. W praktyce przyznanie uprawnień powinno być starannie rozważone i dostosowane do potrzeb zgodnie z zasadą najmniejszych uprawnień co minimalizuje ryzyko błędów i nadużyć systemowych.

Pytanie 14

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia klienta z serwerem oraz umożliwia wymianę danych bez konieczności przeładowania całej strony WWW?

A. XML
B. PHP
C. VBScript
D. AJAX
AJAX, czyli Asynchronous JavaScript and XML, to technika umożliwiająca asynchroniczną komunikację pomiędzy klientem a serwerem bez potrzeby przeładowania całej strony WWW. Umożliwia to tworzenie bardziej responsywnych i interaktywnych aplikacji internetowych. Przykładem zastosowania AJAX może być formularz kontaktowy, który po wypełnieniu wysyła dane do serwera i otrzymuje odpowiedź bez odświeżania całej strony, co poprawia doświadczenie użytkownika. Technologia ta wykorzystuje XMLHttpRequest lub Fetch API do przesyłania i odbierania danych w formacie JSON, co jest bardziej efektywne niż tradycyjne metody. AJAX jest szeroko stosowany w aplikacjach typu single-page, gdzie szybkość i wydajność są kluczowe. Warto również zwrócić uwagę na bezpieczeństwo przy korzystaniu z AJAX, takie jak walidacja danych wejściowych oraz ochrona przed atakami XSS i CSRF, które są standardami w branży.

Pytanie 15

Jakie jest zadanie funkcji agregującej AVG w zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. sprawdzić, ile usług znajduje się w tabeli
B. zliczyć całkowity koszt wszystkich usług
C. obliczyć średnią arytmetyczną wartości wszystkich usług
D. określić najwyższą wartość spośród cen usług
Funkcja AVG w SQL jest jednym z podstawowych narzędzi do analizy danych w bazach danych. Jej głównym celem jest obliczenie średniej arytmetycznej wartości w kolumnie, co jest kluczowe w raportowaniu i analizie danych. W zapytaniu SQL SELECT AVG(cena) FROM uslugi; funkcja AVG jest użyta, aby uzyskać średnią cenę wszystkich usług zapisanych w tabeli uslugi. Taka średnia jest przydatna w wielu kontekstach biznesowych na przykład przy tworzeniu raportów finansowych czy analizie kosztów w celu optymalizacji oferty. Średnia arytmetyczna pozwala zrozumieć przeciętną wartość danego zestawu danych co jest istotne w podejmowaniu decyzji. Standardy branżowe zalecają użycie funkcji AVG wszędzie tam gdzie potrzebna jest szybka i efektywna analiza danych liczbowych. Zrozumienie działania funkcji AVG jest kluczowe w pracy z bazami danych SQL gdyż pozwala na bardziej złożone analizy jak np. porównanie średnich z różnych okresów czasu lub segmentów rynku.

Pytanie 16

Jakie z wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie (6, 203)?

A. (zm1 > 6) && (zm1 != 203)
B. (zm1 > 6) || (zm1 <= 203)
C. (zm1 > 6) || (zm1 != 203)
D. (zm1 > 6) && (zm1 <= 203)
W analizie wyrażeń logicznych ważne jest zrozumienie logiki za każdym z operatorów oraz ich zastosowania w kontekście zadania. Przykładowo, wyrażenie (zm1 > 6) || (zm1 <= 203) jest niepoprawne, ponieważ użycie operatora || (OR) sugeruje, że wystarczy, aby zm1 spełniało jeden z dwóch warunków, co nie jest zgodne z definicją przedziału. W przypadku (zm1 > 6) && (zm1 != 203) wyrażenie również nie jest prawidłowe, ponieważ ignoruje dolny limit przedziału – wartość 203 nie jest wbudowana w przedział, co sprawia, że zmienna może przyjmować wartości, które nie są odpowiednie. Z kolei (zm1 > 6) || (zm1 != 203) jest całkowicie mylne, gdyż połączenie operatora OR nie tylko rozluźnia wymagania, ale również wprowadza błąd logiczny, który może prowadzić do nieprawidłowych wyników, gdyż zm1 może być mniejsze lub równe 6. Te błędy mogą wynikać z niepełnego zrozumienia operatorów logicznych oraz ich kontekstu w programowaniu. Właściwe stosowanie operatorów logicznych jest kluczowe dla tworzenia poprawnych i niezawodnych aplikacji. Warto pamiętać, że precyzyjne określenie zakresów i warunków w programie ma kluczowe znaczenie dla jego poprawności oraz stabilności działania.

Pytanie 17

Jakiego zdarzenia należy użyć, aby funkcja JavaScript była uruchamiana za każdym razem, gdy użytkownik wprowadzi jakikolwiek znak w polu edycji?

A. onmouseout
B. onclick
C. onload
D. onkeydown
Odpowiedź 'onkeydown' jest poprawna, ponieważ to zdarzenie jest wywoływane za każdym razem, gdy użytkownik naciśnie klawisz na klawiaturze, a zatem idealnie nadaje się do sytuacji, gdy chcemy reagować na wprowadzanie tekstu w polu edycji. W praktyce oznacza to, że nasza funkcja może być użyta do natychmiastowego przetwarzania danych wprowadzanych przez użytkownika, co jest szczególnie istotne w przypadku dynamicznych interfejsów użytkownika. Na przykład, możemy wykorzystać 'onkeydown' do implementacji funkcji autouzupełniania, gdzie na bieżąco prezentujemy możliwe opcje na podstawie wprowadzanego tekstu. Dobrą praktyką jest również umieszczanie dodatkowych warunków, aby nasza funkcja nie była wywoływana dla klawiszy, które nie mają znaczenia dla wprowadzania tekstu, takich jak klawisze funkcyjne czy kombinacje klawiszy. Warto również zrozumieć, że istnieją inne zdarzenia, takie jak 'input', które mogą być użyte w podobnym kontekście, ale 'onkeydown' daje bardziej bezpośrednią kontrolę nad interakcją użytkownika.

Pytanie 18

W języku HTML sposób na zdefiniowanie kodowania polskich znaków to

A. atrybut znacznika <p>
B. znacznik <charset>
C. znacznik <title>
D. atrybut znacznika <meta>
Inne opcje, które rozważono jako poprawne, nie są odpowiednie do określenia kodowania znaków w HTML. Znacznik <charset> nie istnieje w standardzie HTML, co czyni go niewłaściwym wyborem. Kodowanie znaków nie jest definiowane przez atrybut znacznika <p>, który jest używany głównie do formatowania tekstu, a więc nie ma wpływu na kodowanie znaków. Warto również zauważyć, że znacznik <title> jest stosowany do nadania tytułu dokumentu, który pojawia się na karcie przeglądarki, ale nie ma on związku z kodowaniem znaków. Wybór odpowiedniego kodowania jest kluczowy dla zachowania integralności tekstu, a niewłaściwe przypisanie może prowadzić do problemów z wyświetlaniem znaków i błędów w interpretacji treści. Często użytkownicy mylnie zakładają, że inne znaczniki HTML mogą mieć wpływ na kodowanie, co prowadzi do nieporozumień. Dlatego istotne jest, aby być świadomym roli znacznika <meta> w kontekście kodowania znaków, zwłaszcza w przypadku języków z diakrytykami, takich jak język polski.

Pytanie 19

Jak można dodać zewnętrzny arkusz stylów do dokumentu HTML?

A. <style>
B. <link>
C. <css>
D. <meta>
Dołączenie zewnętrznego arkusza stylów do kodu HTML realizowane jest przy użyciu znacznika <link>, który znajduje się w sekcji <head> dokumentu HTML. Ten znacznik umożliwia przeglądarkom internetowym odnalezienie i załadowanie zewnętrznego pliku CSS, co pozwala na zastosowanie stylów do elementów HTML. Przy użyciu atrybutu 'href' wskazujemy lokalizację arkusza stylów, natomiast atrybut 'rel' definiuje relację między dokumentem HTML a plikiem stylów, zazwyczaj ustawiając go na 'stylesheet'. Przykładowa struktura to: <link rel='stylesheet' href='styles.css'>. Taki sposób organizacji stylów pozwala na lepsze zarządzanie kodem, umożliwia wielokrotne wykorzystanie tych samych stylów w różnych dokumentach oraz przyspiesza ładowanie strony poprzez caching. Użycie zewnętrznych arkuszy stylów jest zgodne z najlepszymi praktykami programowania front-endowego, co wpływa pozytywnie na wydajność oraz SEO, umożliwiając lepszą indeksację przez wyszukiwarki. Dodatkowo, umożliwia to łatwiejsze wprowadzanie zmian w stylach bez potrzeby edytowania każdego pliku HTML z osobna.

Pytanie 20

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

A. znakowy
B. ciągowy
C. logiczy
D. tablicowy
Typ logiczny, znany również jako typ boolean, jest jedynym typem danych w językach programowania, który przyjmuje wyłącznie dwie wartości: prawda (true) i fałsz (false). To podstawowe założenie czyni go niezwykle ważnym w kontekście programowania, zwłaszcza w logice warunkowej oraz w kontrolowaniu przepływu programu. W praktyce typ logiczny jest szeroko stosowany w instrukcjach warunkowych, takich jak 'if', 'while' czy 'for', gdzie pozwala na podejmowanie decyzji na podstawie spełnienia określonych warunków. Na przykład w języku Python możemy sprawdzić, czy zmienna jest większa od zera, a wynik tej operacji będzie wartością typu logicznego, co pozwoli na podjęcie dalszych działań w programie. Ponadto, typ logiczny odgrywa kluczową rolę w strukturach danych, takich jak listy i słowniki, które mogą przechowywać warunki logiczne jako klucze. Zgodnie z dobrymi praktykami programistycznymi, zaleca się używanie typu logicznego w sytuacjach, gdzie wynik operacji powinien być jednoznaczny, co prowadzi do poprawy czytelności i utrzymywalności kodu.

Pytanie 21

W języku PHP zmienna o nazwie $_SESSION przechowuje

A. listę aktywnych sesji na serwerze WWW
B. zmienne przesyłane do skryptu poprzez formularze
C. zmienne zarejestrowane w aktualnej sesji
D. zmienne przesyłane do skryptu za pośrednictwem ciasteczek (cookie)
Zmienna predefiniowana $_SESSION w PHP jest kluczowym elementem zarządzania sesjami, który umożliwia przechowywanie danych użytkownika w trakcie jego wizyty na stronie internetowej. Sesja jest identyfikowana przez unikalny identyfikator, który jest zazwyczaj przechowywany w ciasteczku na komputerze użytkownika, co pozwala na zachowanie stanu między różnymi żądaniami HTTP. Przechowywane w $_SESSION zmienne są dostępne na wszystkich stronach związanych z daną sesją, co sprawia, że jest to niezwykle przydatne w przypadku aplikacji wymagających autoryzacji lub personalizacji treści. Przykładem może być strona logowania, gdzie po wprowadzeniu poprawnych danych użytkownika, zmienne takie jak 'username' czy 'user_id' mogą zostać zapisane w $_SESSION, co umożliwia późniejsze wykorzystanie tych danych do wyświetlania spersonalizowanych informacji. PHP automatycznie rozpoczyna sesję po wywołaniu funkcji session_start(), co oznacza, że wszystkie zmienne zarejestrowane w $_SESSION będą dostępne do odczytu i zapisu podczas całej aktywności użytkownika na stronie. Warto również zaznaczyć, że dane w $_SESSION są przechowywane po stronie serwera, co czyni je bardziej bezpiecznymi w porównaniu do danych przechowywanych w ciasteczkach.

Pytanie 22

Który format graficzny rastrowy jest obsługiwany przez przeglądarki internetowe?

A. FLIF
B. PNG
C. TGA
D. PCX
Format PNG (Portable Network Graphics) to jeden z tych formatów, które są naprawdę popularne w sieci. Przeglądarki go dobrze obsługują, co jest dużym plusem. Został stworzony jako lepsza wersja formatu GIF i do tego ma większą paletę kolorów oraz wspiera przezroczystość. To oznacza, że jakość obrazka pozostaje wysoka, kiedy go zapisujesz, bo PNG korzysta z bezstratnej kompresji. Dodatkowo, ten format pozwala na różne stopnie przezroczystości, co czyni go idealnym do różnych grafik w Internecie, na przykład logo czy ikony. Fajnie, że jest zgodny z HTML5 i CSS, bo to ułatwia pracę przy projektowaniu stron. Można go używać z kolorami w trybie RGBA, dzięki czemu można dodawać fajne efekty z przezroczystością, co zdecydowanie poprawia wygląd stron. W praktyce wiele witryn korzysta z PNG, bo nie tylko zachowuje jakość, ale też nie zajmuje dużo miejsca na serwerze, co sprawia, że strony ładują się szybciej i użytkownicy mają lepsze doświadczenia.

Pytanie 23

Instrukcją równoważną funkcjonalnie do przedstawionej instrukcji JavaScript jest

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
Kod 1.
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}
Kod 2.
while (i < 100)
  document.write(i + ' ');
Kod 3.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}
Kod 4.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}
A. Kod 4.
B. Kod 1.
C. Kod 2.
D. Kod 3.
Gratulacje! Wybrałeś poprawną odpowiedź, która jest Kodem 3. Pętla for prezentowana na obrazku inicjuje zmienną i na 0, a następnie sprawdza warunek i < 100, wykonuje instrukcje w pętli for i zwiększa i o 10 za każdą iteracją. To jest standardowe zachowanie dla pętli for w języku programowania JavaScript. Kod 3 jest równoważny funkcjonalnie z pętlą for, ponieważ również inicjuje zmienną i na 0, a następnie w pętli while sprawdza warunek (i < 100), wykonuje instrukcje w pętli i zwiększa i o 10 w każdej iteracji. Zrozumienie różnych rodzajów pętli i ich równoważności jest kluczowe dla skutecznego programowania, ponieważ pozwala na optymalizację kodu i poprawę jego czytelności. Dobrą praktyką jest zrozumienie, kiedy używać różnych typów pętli w zależności od specyficznych wymagań danego problemu programistycznego.

Pytanie 24

Baza danych zawiera tabelę artykuły z polami: nazwa, typ, producent, cena. Aby wyświetlić wszystkie nazwy artykułów wyłącznie typu pralka, dla których cena jest z przedziału 1 000 PLN i 1 500 PLN, należy zastosować polecenie

A. SELECT nazwa FROM artykuły WHERE typ=,pralka' OR cena BETWEEN 1000 AND 1500;
B. SELECT nazwa FROM artykuły WHERE typ=,pralka' AND cena BETWEEN 1000 AND 1500;
C. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena FROM 1000 TO 1500;
D. SELECT nazwa FROM artykuły WHERE typ=,pralka' OR cena BETWEEN 1000 OR 1500;
Poprawna odpowiedź to 'SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena BETWEEN 1000 AND 1500;'. To zapytanie SQL w sposób właściwy wyszukuje wszystkie nazwy artykułów z tabeli 'artykuły', które mają typ 'pralka' oraz cenę mieszczącą się w przedziale od 1000 do 1500 PLN. Użycie operatora 'BETWEEN' jest standardem w SQL i pozwala na określenie zakresu wartości, co w tym przypadku jest kluczowe, aby uwzględnić wszystkie możliwe ceny w tym przedziale. Jest to bardziej efektywne niż stosowanie operatorów porównania, takich jak '>', '<', ponieważ 'BETWEEN' automatycznie wlicza granice. Przykład zastosowania takiego zapytania może być użyty w systemach zarządzania zamówieniami, gdzie często zachodzi potrzeba analizy produktów w określonych przedziałach cenowych, co umożliwia skuteczne podejmowanie decyzji zakupowych oraz optymalizację stanów magazynowych.

Pytanie 25

W języku PHP znak "//" wskazuje na

A. początek skryptu
B. operator dzielenia całkowitego
C. początek komentarza jednoliniowego
D. operator alternatywny
W języku PHP znak '//' oznacza początek komentarza jednoliniowego. Komentarze w PHP są istotnym elementem kodu, pozwalającym programistom na dodawanie adnotacji, które nie wpływają na wykonywanie skryptu. Komentarze są niezwykle pomocne, gdyż umożliwiają wyjaśnienie złożonych fragmentów kodu, co ułatwia jego dalsze utrzymanie i rozwijanie. Dzięki używaniu '//', programista może opisać, co dany fragment kodu robi, dla siebie lub innych osób przeglądających kod w przyszłości. Przykład zastosowania: jeśli mamy kod 'echo "Hello World!";', możemy dodać komentarz wyjaśniający: '// Wyświetla tekst Hello World!'. Warto zaznaczyć, że PHP pozwala także na korzystanie z komentarzy wieloliniowych, które zaczynają się od '/**' i kończą na '*/'. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programistycznymi, które zalecają dokumentowanie kodu oraz poprawne jego komentowanie, co jest częścią standardów kodowania, takich jak PSR-1 oraz PSR-2, promujących czytelność i spójność w kodzie.

Pytanie 26

Jakie z poniższych warunków logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie 6, 203>?

A. (zm1 > 6) || (zm1 <= 203)
B. (zm1 > 6) || (zm1 != 203)
C. (zm1 > 6) && (zm1 != 203)
D. (zm1 > 6) && (zm1 <= 203)
Odpowiedź (zm1 > 6) && (zm1 <= 203) jest poprawna, ponieważ używa operatora logicznego AND (&&), co oznacza, że oba warunki muszą być spełnione, aby wyrażenie zwróciło wartość prawda (true). Zmienna zm1 musi być większa od 6 oraz jednocześnie mniejsza lub równa 203, co dokładnie definiuje przedział wartości. Takie podejście jest zgodne z najlepszymi praktykami programistycznymi, gdzie ważne jest precyzyjne określenie zakresu wartości. W zastosowaniach praktycznych, na przykład w walidacji danych użytkowników, możemy użyć tego wyrażenia do sprawdzenia, czy wiek wprowadzony przez użytkownika mieści się w dozwolonym zakresie. Warto zrozumieć, że korzystając z operatora AND, eliminujemy przypadki, w których zmienna zm1 byłaby na przykład równa 6 lub 203, co może być istotne w kontekście określonych ograniczeń biznesowych. W programowaniu ważne jest, aby warunki były jasno definiowane, co sprzyja lepszej czytelności kodu oraz minimalizuje ryzyko błędów.

Pytanie 27

W języku SQL polecenie INSERT INTO

A. wprowadza dane do tabeli.
B. dodaje tabelę.
C. aktualizuje rekordy określoną wartością.
D. dodaje pola do tabeli.
W SQL bardzo łatwo pomylić polecenia, bo wszystkie wyglądają dość podobnie, ale każde ma swoje wyraźne zadanie. INSERT INTO jest komendą typowo do pracy na danych, nie na strukturze bazy. Jeżeli ktoś myśli, że tym poleceniem „dodaje tabelę”, to miesza dwa różne obszary: definicję struktury i operacje na rekordach. Tworzenie nowej tabeli wykonuje się za pomocą CREATE TABLE, gdzie określamy nazwy kolumn, typy danych, klucze główne itd. INSERT zakłada, że tabela już istnieje i jest gotowa na przyjmowanie rekordów. Podobnie błędne jest kojarzenie INSERT z dodawaniem pól (kolumn) do tabeli. Modyfikacja struktury tabeli, czyli dokładanie nowych kolumn, zmiana typów, usuwanie kolumn, to domena polecenia ALTER TABLE. To jest tzw. DDL (Data Definition Language). Natomiast INSERT należy do DML (Data Manipulation Language), czyli tej części SQL, która operuje na danych: INSERT, UPDATE, DELETE, SELECT. Jeśli próbujemy INSERT-em „dodać pole”, to tak jakby śrubokrętem próbować wbijać gwóźdź – czasem coś się tam stanie, ale to w ogóle nie to narzędzie. Częstym nieporozumieniem jest też mylenie INSERT i UPDATE. UPDATE służy do aktualizacji istniejących rekordów, czyli zmiany wartości w wierszach, które już są w tabeli. Wykorzystuje się przy tym klauzulę WHERE, żeby wskazać, które rekordy mają zostać zmodyfikowane. INSERT natomiast zawsze tworzy nowy wiersz. Jeśli ktoś uważa, że INSERT „aktualizuje rekordy określoną wartością”, to tak naprawdę opisuje działanie UPDATE. W praktyce prowadzi to do błędów typu duplikowanie danych zamiast ich poprawiania. Moim zdaniem największy błąd myślowy polega na wrzucaniu wszystkiego, co „coś zmienia w bazie”, do jednego worka. Tymczasem w dobrze zaprojektowanym systemie bazodanowym wyraźnie rozdziela się operacje na schemacie (CREATE, ALTER, DROP) od operacji na danych (INSERT, UPDATE, DELETE). Zrozumienie tej różnicy jest kluczowe, żeby pisać poprawne i bezpieczne zapytania SQL. INSERT INTO zawsze oznacza: dodaj nowy rekord do istniejącej tabeli, z wartościami zgodnymi z jej strukturą i ograniczeniami.

Pytanie 28

Instrukcja ```REVOKE SELECT ON nazwa1 FROM nazwa2``` w SQL pozwala na

A. przyznawanie uprawnień zgodnie z określonym schematem
B. usunięcie użytkownika z bazy danych
C. przyznawanie dostępu do tabeli
D. odbieranie przyznanych uprawnień użytkownikowi
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL jest używane do odbierania uprawnień użytkownikowi, co jest kluczowym aspektem zarządzania bezpieczeństwem w bazach danych. Umożliwia to administratorom kontrolowanie dostępu do danych, co jest istotne w kontekście ochrony informacji oraz zgodności z regulacjami prawnymi. Przykładowo, jeśli użytkownik 'nazwa2' miał wcześniej przyznane uprawnienia do wykonywania zapytań SELECT na tabeli 'nazwa1', użycie polecenia REVOKE pozwoli na ich cofnięcie. W praktyce, administratorzy baz danych często stosują to polecenie, aby ograniczyć dostęp do wrażliwych informacji, na przykład po zakończeniu projektu, w którym dany użytkownik nie powinien już mieć dostępu do danych. Takie działania są zgodne z najlepszymi praktykami w zakresie zabezpieczeń, które zalecają minimalizowanie uprawnień użytkowników do tylko tych niezbędnych do wykonywania ich obowiązków. Dodatkowo, warto również stosować audyty dostępu, aby na bieżąco monitorować, które uprawnienia są przyznawane i odbierane, co pozwala na lepsze zarządzanie bezpieczeństwem systemu.

Pytanie 29

Jak wygląda instrukcja przypisania wartości do elementu tablicy w języku JavaScript względem tablicy? ```Tablica['technik'] = 'informatyk';```

A. numerycznej
B. asocjacyjnej
C. statycznej
D. wielowymiarowej
W języku JavaScript tablice mogą być traktowane jako obiekty, a więc wykazują cechy struktur asocjacyjnych. Przypisując wartość do tablicy za pomocą notacji z nawiasami kwadratowymi, jak w przykładzie 'Tablica[\'technik\'] = \'informatyk\';', tworzymy nowy element o kluczu 'technik', co jest charakterystyczne dla obiektów asocjacyjnych. W JavaScript tablice są dynamiczne, co oznacza, że możemy dodawać elementy w dowolny sposób, a ich rozmiar nie jest ustalony z góry. Standard ECMAScript definiuje tablice jako obiekty, gdzie klucze są indeksami liczb całkowitych, ale można również używać stringów jako kluczy, co czyni tablice asocjacyjnymi. Przykładem może być obiekt, który przechowuje różne informacje, a elementy są dostępne zarówno za pomocą indeksów numerycznych, jak i stringów. Warto zaznaczyć, że użycie tablicy jako obiektu asocjacyjnego może być praktyczne w wielu zastosowaniach, np. w przechowywaniu konfiguracji czy zestawów danych. Dobrą praktyką jest jednak ograniczać użycie takich technik dla przejrzystości kodu."

Pytanie 30

Do czego wykorzystywany jest program debugger?

A. do interpretacji kodu w wirtualnej maszynie Java
B. do analizy działającego programu w celu odnalezienia błędów
C. do przetwarzania kodu napisanego w języku wyższego poziomu na język maszynowy
D. do badania kodu źródłowego w celu wykrycia błędów składniowych
Debugger to narzędzie służące do analizy wykonywanego programu, które pozwala programistom identyfikować i lokalizować błędy w kodzie. Jego główną funkcją jest umożliwienie krokowego śledzenia działania programu, co pozwala na obserwację wartości zmiennych, a także na analizę przepływu kontrolnego. Przykładowo, programista może ustawić punkty przerwania (breakpoints), które zatrzymują wykonanie programu w określonym miejscu, co daje możliwość dokładnego zbadania stanu aplikacji. Debugger wspiera proces testowania i zapewnia, że program działa zgodnie z założeniami. W branży programistycznej standardem jest korzystanie z debuggingu w ramach cyklu życia oprogramowania, co pozwala na szybką identyfikację usterek oraz poprawę jakości kodu. Ponadto, popularne środowiska programistyczne, jak Visual Studio, Eclipse czy IntelliJ IDEA, oferują zaawansowane funkcje debugowania, które wspierają programistów w ich codziennej pracy.

Pytanie 31

Który z przedstawionych kodów XHTML sformatuje tekst według podanego wzorca?
Ala ma kota
a kot ma Alę

A. <p>Ala ma <b>kota</b><br> a <i>kot</i> ma Alę</p>
B. <p>Ala ma <b>kota<br> a <i>kot</i> ma Alę</p>
C. <p>Ala ma <b>kota</b><br> a <b>kot</b> ma Alę</p>
D. <p>Ala ma <b>kota</i><br> a <b>kot</b> ma Alę</p>
Poprawna odpowiedź to <p>Ala ma <b>kota</b><br/>a <i>kot</i> ma Alę</p>. W tym kodzie XHTML tekst 'Ala ma kota' jest odpowiednio sformatowany dzięki zastosowaniu znaku <b>, który definiuje tekst pogrubiony, oraz <i>, który oznacza tekst kursywą. Ponadto <br/> jest używane do wstawienia przerwy w linii, co jest zgodne z praktykami formatowania tekstu w HTML/XHTML. Zgodnie ze standardami W3C, XHTML jest stricte oparty na XML, co oznacza, że wszystkie elementy muszą być poprawnie zagnieżdżone i zamknięte. Użycie <i> w drugiej części tekstu jest poprawne, ponieważ wskazuje na pewną formę wyróżnienia, a jednocześnie zachowuje semantykę. Przy tworzeniu stron internetowych ważne jest, aby formatowanie tekstu było zarówno estetyczne, jak i zgodne z regułami semantycznymi, co ta odpowiedź spełnia. Przykładowo, tekst ten można umieścić w dowolnym dokumencie HTML, aby zachować poprawne formatowanie, co wpływa na czytelność.

Pytanie 32

Jaką wartość zwróci funkcja empty($a); w języku PHP, gdy zmienna $a będzie miała wartość liczbową 0?

A. FALSE
B. NULL
C. 0
D. TRUE
Funkcja empty() w języku PHP służy do sprawdzania, czy zmienna jest pusta. Zmienna jest uznawana za pustą, jeśli jej wartość jest równa FALSE, NULL, "", 0, '0', lub jeśli zmienna nie została zainicjowana. W przypadku, gdy zmienna $a ma wartość liczbową równą 0, funkcja empty($a) zwróci TRUE, ponieważ 0 jest interpretowane jako wartość fałszywa w PHP. To zachowanie jest zgodne z typowaniem luźnym, które stosuje PHP, gdzie różne typy danych mogą być automatycznie konwertowane na typ logiczny. Praktycznie, można to zobaczyć w kodzie: $a = 0; var_dump(empty($a)); // wynikiem będzie bool(true). Wartości takie jak FALSE, NULL oraz pusty ciąg również zwracają TRUE w tej funkcji. Zrozumienie działania funkcji empty() jest kluczowe w kontekście pisania efektywnego i pozbawionego błędów kodu w PHP, szczególnie w sytuacjach, gdzie zależy nam na walidacji danych wejściowych."

Pytanie 33

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Zmniejszenie kontrastu zdjęcia.
C. Przenikanie zdjęć.
D. Zwiększenie ostrości zdjęcia.
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 34

Które z pól edycyjnych zostało wystylizowane według poniższego wzoru, zakładając, że pozostałe atrybuty pola mają wartości domyślne, a użytkownik wpisał imię Krzysztof w przeglądarce?

input {
    padding: 10px;
    background-color: Teal;
    color: white;
    border: none;
    border-radius: 7px;
}
Ilustracja do pytania
A. Pole 2
B. Pole 1
C. Pole 4
D. Pole 3
Pole 2 zostało sformatowane zgodnie z podanym stylem CSS Ponieważ właściwość padding została ustawiona na 10px pole tekstowe ma wewnętrzny odstęp wokół zawartości co sprawia że tekst nie dotyka bezpośrednio krawędzi pola Kolor tła ustawiony na Teal odróżnia to pole od innych które mogą mieć domyślne kolory tła Biały kolor tekstu zapewniony przez właściwość color sprawia że tekst jest czytelny na ciemnym tle Brak obramowania dzięki border none powoduje że pole nie ma widocznej linii wokół siebie co nadaje mu czysty wygląd Zaokrąglenie krawędzi ustawione na 7px border-radius daje bardziej nowoczesny wygląd a także ułatwia integrację z różnymi projektami interfejsu użytkownika Takie podejście do stylizacji elementów formularzy jest zgodne z nowoczesnymi trendami projektowania stron internetowych gdzie używane są łagodne zaokrąglenia oraz odpowiednio dobrane kontrasty kolorystyczne W praktyce takie style są nie tylko estetyczne ale także poprawiają użyteczność interfejsu poprzez zwiększenie czytelności i intuicyjności obsługi formularzy Warto również zauważyć że zastosowanie CSS do formatowania elementów pozwala na zachowanie spójności wyglądu na różnych stronach oraz łatwą modyfikację w przyszłości

Pytanie 35

Aby zdefiniować pole w klasie, do którego dostęp mają wyłącznie metody tej klasy i które nie jest dostępne dla klas dziedziczących, należy zastosować kwalifikator dostępu

A. published
B. public
C. private
D. protected
Wybór błędnych kwalifikatorów dostępu, takich jak 'published', 'public' czy 'protected', może prowadzić do poważnych problemów z bezpieczeństwem i integralnością danych w aplikacjach. Kwalifikator 'public' sprawia, że pole jest dostępne dla wszystkich klas, co naraża je na nieautoryzowane zmiany oraz może prowadzić do trudności w utrzymaniu kodu. Użytkownicy często mylą publiczne i prywatne pola, zakładając, że pełna dostępność sprzyja współpracy między klasami. Takie podejście może skutkować nieprzewidywalnym zachowaniem systemu, ponieważ zmiany w jednym miejscu mogą wpłynąć na inne klasy. Z kolei 'protected' umożliwia dostęp do pola w klasach pochodnych, co jest niepożądane, gdyż może prowadzić do niezamierzonych zależności i naruszenia zasad dziedziczenia. 'Published', będący terminem używanym w niektórych językach programowania, w rzeczywistości nie jest standardowym kwalifikatorem dostępu i może wprowadzać w błąd, sugerując, że pole jest dostępne tylko w określonych kontekstach, co nie jest zgodne z rzeczywistym zachowaniem. Ostatecznie, niewłaściwy wybór kwalifikatora dostępu skutkuje nie tylko obniżeniem bezpieczeństwa, ale również trudnościami w późniejszym utrzymaniu i rozwijaniu kodu, co jest sprzeczne z dobrymi praktykami programistycznymi.

Pytanie 36

W języku JavaScript, aby zweryfikować, czy liczba leży w zakresie 100,200>, należy użyć:

A. if(liczba>100 && liczba <=200)
B. if(liczba<100 || liczba>=200)
C. if(liczba<100 && liczba<=200)
D. if (liczba>100 || liczba<=200)
Pierwsza z niepoprawnych odpowiedzi używa operatora OR (||), co jest błędne, ponieważ warunek ten sprawdza, czy liczba jest większa niż 100 LUB mniejsza lub równa 200. Taki zapis może prowadzić do sytuacji, w których liczba poza przedziałem też zostanie zaakceptowana, na przykład -50, co nie jest zgodne z intencją sprawdzania zakresu. W drugiej odpowiedzi zastosowano również operator OR, a zapis if(liczba < 100 || liczba >= 200) implikuje, że liczba może być mniejsza niż 100 lub większa lub równa 200, co również wyklucza liczby w zakresie 100-200 i jest niespójne z założonym celem. Ostatnia z błędnych odpowiedzi używa operatora AND, ale zapis if(liczba < 100 && liczba <= 200) sprawdza, czy liczba jest jednocześnie mniejsza niż 100 oraz mniejsza lub równa 200, co nie ma sensu, ponieważ nie ma liczb, które mogą spełniać obydwa warunki jednocześnie. Dlatego kluczowe jest rozróżnienie pomiędzy operatorami logicznymi AND i OR oraz zrozumienie, jak wpływają one na zakresy wartości w kontekście programowania w JavaScript.

Pytanie 37

Zapytanie SQL o treści: UPDATE artykuly SET cena = cena * 0.7 WHERE kod = 2; wskazuje na

A. dodanie w tabeli artykuly pola o nazwie cena z atrybutem kod
B. dodanie w tabeli artykuly nowych pól cena oraz kod
C. w tabeli artykuly zmniejsza wartość każdego pola cena, dla którego pole kod ma wartość 2
D. w tabeli artykuly obniża wartość każdego pola cena o 30% dla wszystkich rekordów artykułów
Ten kod SQL, czyli 'UPDATE artykuly SET cena = cena * 0.7 WHERE kod = 2;', służy do zaktualizowania ceny w tabeli 'artykuly' dla rekordów, gdzie 'kod' ma wartość 2. Fajnie, że rozumiesz, że z użyciem komendy 'UPDATE' nie dodajemy nowych pól, tylko zmieniamy te już istniejące. Mnożenie ceny przez 0.7 oznacza, że obniżamy ją o 30%, co jest dość powszechnie stosowane w przypadku promocji. Dzięki temu możemy lepiej zarządzać cenami w bazie danych. Warto też pamiętać, że klauzula 'WHERE' jest super ważna, bo pozwala nam ograniczyć działanie tego polecenia tylko do wybranych rekordów. W przeciwnym razie mogłoby się zdarzyć, że obniżylibyśmy ceny wszystkich produktów, co mogłoby być niebezpieczne. Dobrze wiedzieć, w jaki sposób korzystać z tych komend, bo to zdecydowanie ułatwia pracę z danymi.

Pytanie 38

Aby stworzyć układ strony z trzema kolumnami obok siebie, można wykorzystać styl CSS

Ilustracja do pytania
A. D
B. A
C. C
D. B
Poprawna odpowiedź A wykorzystuje właściwość float CSS ustawioną na left oraz szerokość width na 33 procent co pozwala na umieszczenie trzech kolumn obok siebie na stronie internetowej Float jest często używany do tworzenia układów wielokolumnowych gdyż pozwala na pływające rozmieszczenie elementów blokowych wewnątrz kontenera Dzięki ustawieniu szerokości na 33 procent zapewniamy że trzy kolumny będą mogły się zmieścić obok siebie w jednym rzędzie w ramach dostępnej szerokości kontenera Jest to efektywne podejście w przypadku responsywnych projektów gdzie nie zawsze znamy dokładną szerokość dostępnej przestrzeni Floating jest klasycznym podejściem w CSS i chociaż nowe technologie jak flexbox czy grid oferują więcej możliwości jest wciąż powszechnie stosowany w wielu projektach szczególnie gdy chodzi o proste układy Dodatkowo float left jest zgodny z wielu przeglądarkami co zapewnia większą uniwersalność kodu Przy projektowaniu stron zawsze warto pamiętać o dodaniu clearfix lub overflow hidden do rodzica elementów pływających aby uniknąć problemów z zawijaniem się kontenera wokół elementów pływających

Pytanie 39

Fragment kwerendy SQL zaprezentowany w ramce ma na celu uzyskanie

SELECT COUNT(wartosc) FROM ...
A. średnią wartość w kolumnie wartosc.
B. liczbę wierszy.
C. liczbę kolumn.
D. sumę wartości w kolumnie wartosc.
SELECT COUNT(wartosc) w zapytaniu SQL jest często mylone z innymi funkcjami agregującymi, co może prowadzić do nieporozumień dotyczących jego działania. COUNT jest specyficznie zaprojektowany do zliczania niepustych wartości w określonej kolumnie, dlatego nie jest używany do obliczania sumy czy średniej wartości. Suma w kolumnie wartosc wymagałaby użycia funkcji SUM(wartosc), która zlicza wartości liczbowe. Z kolei obliczanie średniej wartości w kolumnie wymagałoby zastosowania funkcji AVG(wartosc), która dzieli sumę wartości przez liczbę niepustych wierszy. Mylenie tych funkcji może prowadzić do błędnych interpretacji danych i niepoprawnych wyników, co jest kluczowe w środowisku biznesowym, gdzie precyzja i dokładność są niezbędne. Warto zauważyć, że zrozumienie różnic w działaniu funkcji agregujących jest fundamentalne dla efektywnej analizy danych. Stosowanie odpowiednich funkcji pozwala na optymalizację zapytań oraz zapewnia, że uzyskane wyniki są zgodne z oczekiwaniami analitycznymi, co jest kluczowe w podejmowaniu decyzji opartych na danych.

Pytanie 40

Kod CSS można włączyć do dokumentu HTML, używając znacznika

A. <body>
B. <meta>
C. <head>
D. <style>
Odpowiedź <style> jest prawidłowa, ponieważ ten znacznik HTML jest dedykowany do osadzania kodu CSS wewnątrz dokumentu HTML. Znacznik <style> powinien być umieszczony w sekcji <head> dokumentu, co umożliwia przeglądarkom interpretację stylów przed renderowaniem treści strony. Dzięki temu można definiować różne reguły CSS, które modyfikują wygląd elementów HTML, co jest kluczowe w tworzeniu estetycznych i funkcjonalnych stron internetowych. Przykładowo, można użyć <style> do określenia koloru tła, rozmiaru czcionki czy marginesów. Ważne jest, aby stosować zasady dotyczące kaskadowości, ponieważ style zdefiniowane w <style> mają priorytet nad stylem zewnętrznym, jeśli są tak samo specyficzne. Dodatkowo, korzystanie z <style> jest zgodne z zasadami dobrych praktyk, takich jak unikanie nadmiarowego ładowania zewnętrznych plików CSS w przypadku prostych projekty, co przyspiesza czas ładowania strony.
{# Core JS - self-host Bootstrap bundle + wlasne skrypty. Bundlowane przez django-compressor offline mode na produkcji (refs #50). #}