Przejdź do głównej treści
  1. Strona główna
  2. Wyniki egzaminu

Wyniki egzaminu

Nowy egzamin

Informacje o egzaminie

  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Rozpoczęcie: 21 września 2026 15:10
  • Zakończenie: 21 września 2026 15:34 

Egzamin zdany!

Wynik: 21/40 punktów (52,5%)

Wymagane minimum: 20 punktów (50%)

Twój wynik na tle innych

Twój wynik jest lepszy niż 35% podejść do kwalifikacji INF.03.

Porównanie z 42486 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).

Zachowaj ten wynik na koncie

Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.

Analiza przebiegu egzaminu - sprawdź jak rozwiązywałeś pytania Przebieg egzaminu

Analiza przebiegu egzaminu

Odtwarzaj przebieg egzaminu krok po kroku i ucz się na własnych błędach - kolejność rozwiązywania, czas nad każdym pytaniem, momenty zmiany odpowiedzi.

  • Suwak czasu - przeglądaj pytania w kolejności rozwiązywania.
  • Tryb nauki - poprawne odpowiedzi i wyjaśnienia.
  • Analiza czasu - ile czasu nad każdym pytaniem.
  • Monitoring focusu - momenty opuszczenia zakładki.

Pochwal się swoim wynikiem!

Szczegółowe wyniki

Pytanie 1

W bazie danych znajduje się tabela o nazwie faktury, która posiada pola: numer, data, id_klienta, wartosc, status. Każdego dnia tworzony jest raport dotyczący faktur z danego dnia. W raporcie prezentowane są jedynie numery oraz wartości faktur. Która z poniższych kwerend SQL jest odpowiednia do wygenerowania tego raportu?

A. SELECT numer, wartosc FROM faktury;
B. SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();Twoja odpowiedź
C. SELECT * FROM faktury WHERE data = CURRENT_DATE();
D. SELECT * FROM faktury;
Poprawna odpowiedź. Wybrana kwerenda SQL, SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();, jest poprawna, ponieważ precyzyjnie spełnia wymagania dotyczące generowania raportu faktur dla bieżącego dnia. Kwerenda ta nie tylko wybiera odpowiednie kolumny, czyli 'numer' i 'wartosc', ale także filtruje wyniki, wykorzystując warunek WHERE, który ogranicza dane do tych, które mają datę równą aktualnej dacie. Użycie funkcji CURRENT_DATE() jest standardowym podejściem w SQL do uzyskiwania bieżącej daty, co pozwala na automatyzację raportowania. Praktycznie rzecz biorąc, takie kwerendy są kluczowe w aplikacjach biznesowych, gdzie codzienna analiza danych jest niezbędna, aby podejmować informowane decyzje. Przy tworzeniu raportów warto również zwrócić uwagę na indeksowanie kolumn używanych w filtrach, co może znacznie przyspieszyć czas odpowiedzi zapytania w dużych zbiorach danych. Dobrą praktyką jest również testowanie kwerend na mniejszych zestawach danych przed ich wdrożeniem na żywo, aby upewnić się, że zwracają oczekiwane wyniki.

Pytanie 2

Deklaracja w języku JavaScript var x = true; powoduje, że zmienna x jest typu:

A. ciągu znaków
B. wyliczeniowego
C. logicznegoPoprawna odpowiedź
D. liczbowegoTwoja odpowiedź
Niepoprawna odpowiedź. Pozostałe typy nie pasują do wartości true. Typ liczbowy trzyma liczby, ciąg znaków - tekst (w cudzysłowach), a typ wyliczeniowy to zbiór nazwanych stałych (JS klasycznie go nie ma). Wartość true należy do typu logicznego.

Pytanie 3

Który typ danych w języku C++ ma najszerszy zakres wartości całkowitych?

A. long longPoprawna odpowiedź
B. intTwoja odpowiedź
C. long int
D. short
Niepoprawna odpowiedź. Pozostałe typy są węższe. short jest najmniejszy, int zwykle 32-bitowy, a long int bywa 32- lub 64-bitowy, ale nie szerszy niż long long. Najszerszy zakres ma long long.

Pytanie 4

W tabeli podzespoly należy zaktualizować wartość pola URL na "toshiba.pl" dla wszystkich wierszy, gdzie producent to TOSHIBA. W SQL zapis tej modyfikacji będzie wyglądać następująco:

A. UPDATE podzespoly.producent = 'TOSHIBA' SET URL = 'toshiba.pl';
B. UPDATE producent = 'TOSHIBA' SET URL = 'toshiba.pl';
C. UPDATE podzespoly SET URL = 'toshiba.pl'Twoja odpowiedź
D. UPDATE podzespoly SET URL = 'toshiba.pl' WHERE producent = 'TOSHIBA';Poprawna odpowiedź
Niepoprawna odpowiedź. Wszystkie zaproponowane odpowiedzi, z wyjątkiem pierwszej, są błędne z kilku powodów. Po pierwsze, w drugiej odpowiedzi próbujesz ustawić wartość 'TOSHIBA' dla producenta, co jest niewłaściwe, ponieważ nie określasz, na jakiej tabeli to ma być wykonane. W SQL, składnia UPDATE wymaga wskazania tabeli przed wskazaniem, co ma być zmienione. Ponadto, nie może być tak, że producent jest aktualizowany bez kontekstu tabeli, w której się znajduje. W trzeciej odpowiedzi brakuje klauzuli WHERE, co oznacza, że jeśli komenda zostanie wykonana, to URL dla wszystkich rekordów w tabeli 'podzespoly' zostanie zmieniony na 'toshiba.pl', co jest niepożądane w przypadku chęci aktualizacji tylko niektórych rekordów. Czwarta odpowiedź również jest błędna przez to, że próbuje ustawić producenta jako parametr w kontekście polecenia UPDATE, co nie ma sensu w SQL. Kluczowe znaczenie ma właściwe zrozumienie struktury zapytań SQL oraz ich składni, aby uniknąć typowych problemów związanych z modyfikacją danych. W pracy z bazami danych istotne jest również, by zawsze testować zapytania na mniejszych zbiorach danych lub w środowiskach testowych przed ich wdrożeniem w produkcji, aby zminimalizować ryzyko błędów i utraty danych. Zrozumienie tych elementów jest kluczowe dla poprawnego zarządzania bazami danych.

Pytanie 5

Aby sprawdzić poprawność składni kodu CSS, można skorzystać z:

A. walidatoraPoprawna odpowiedź
B. optymalizatoraTwoja odpowiedź
C. debuggera
D. konsolidatora
Niepoprawna odpowiedź. Pozostałe narzędzia dotyczą innych zadań. Debugger służy do krokowego śledzenia działania programu i podglądu zmiennych - CSS jednak niczego nie „wykonuje”, więc nie ma tu czego debugować. Konsolidator (linker) łączy skompilowane moduły w gotowy program, co z arkuszami stylów nie ma związku. Optymalizator może zmniejszyć i uprościć kod (np. minifikacja), ale jego celem jest wydajność, a nie wykrywanie błędów składni. Poprawność CSS sprawdza walidator, dlatego to on jest poprawną odpowiedzią.

Pytanie 6

Na podstawie jakiego parametru oraz z ilu tabel zostaną zwrócone wiersze w wyniku przedstawionego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis
WHERE producent.nr_id = hurtownia.nr_id
AND producent.wyrob_id = serwis.wyrob_id
AND hurtownia.nr_id = sklep.nr_id
AND sklep.nr_id = serwis.nr_id
AND producent.nr_id = 1;
A. Na podstawie parametru nr_id wyłącznie z trzech tabel
B. Na podstawie parametru wyrob_id wyłącznie z trzech tabel
C. Na podstawie parametru nr_id ze wszystkich tabelTwoja odpowiedź
D. Na podstawie parametru wyrob_id ze wszystkich tabel
Poprawna odpowiedź. Zapytanie SQL używa parametru nr_id jako kluczowego elementu łączącego cztery tabele producent hurtownia sklep oraz serwis Dzięki temu zapytanie zwraca wiersze dla wszystkich tych tabel gdzie istnieje wspólna wartość nr_id W praktyce klucz taki jak nr_id jest używany do tworzenia relacji pomiędzy różnymi tabelami co jest podstawą w relacyjnych bazach danych Użycie tego samego klucza w zapytaniu umożliwia efektywne łączenie danych i jest zgodne z zasadami normalizacji danych która zmniejsza redundancję i poprawia integralność danych Praktycznym przykładem może być analiza danych sprzedażowych gdzie nr_id reprezentuje unikalny identyfikator zamówienia łączący dane producenta dystrybutora sklepu i serwisu W ten sposób można uzyskać pełny widok na procesy biznesowe we wszystkich etapach cyklu życia produktu Zachowanie tej struktury relacyjnej pozwala na szybkie i dokładne analizy co jest kluczowe w podejmowaniu decyzji biznesowych

Pytanie 7

Model, w którym wszystkie dane są zapisane w jednej tabeli, określa się mianem

A. relacyjnym
B. sieciowym
C. hierarchicznym
D. jednorodnymTwoja odpowiedź
Poprawna odpowiedź. Model jednorodny to taka podstawowa struktura w bazach danych, gdzie wszystko trzymamy w jednej tabeli. To się fajnie sprawdza w prostych aplikacjach, bo wtedy relacje między danymi są dość oczywiste. Klasycznym przykładem może być baza kontaktów, gdzie każdy ma swoje info w jednym miejscu. Dzięki temu mamy łatwy dostęp do danych i prosto nimi zarządzać. Z mojego doświadczenia, to rozwiązanie jest super efektywne, ale jak system staje się większy i złożony, to zaczynają się schody. Wtedy inne modele, jak relacyjne, mogą mieć więcej sensu. W branży często korzysta się z modelu jednorodnego, zwłaszcza tam, gdzie szybki dostęp do danych jest kluczowy, a sztywne struktury tylko przeszkadzają. Na codzień to naprawdę przydatna rzecz, jak ktoś nie chce się męczyć z komplikacjami.

Pytanie 8

Jaką funkcję pełni program debugger?

A. analizy działającego programu w celu wykrycia błędówPoprawna odpowiedź
B. interpretacji kodu w ramach wirtualnej maszyny Java
C. badania kodu źródłowego w celu wykrycia błędów składniowychTwoja odpowiedź
D. przekładania kodu napisanego w języku wyższego poziomu na język maszynowy
Niepoprawna odpowiedź. Pojęcia związane z błędnymi odpowiedziami często wynikają z nieporozumienia dotyczącego ról, jakie pełnią różne narzędzia i procesy w inżynierii oprogramowania. Analiza kodu źródłowego w celu odnalezienia błędów składniowych odnosi się do działania kompilatorów i narzędzi statycznej analizy kodu, które zajmują się oceną jakości kodu przed jego wykonaniem. Tego rodzaju narzędzia są przydatne, ale nie mają na celu lokalizacji błędów w czasie rzeczywistym, co jest kluczowe dla debuggowania. Tłumaczenie kodu na język maszynowy to zadanie kompilatorów, które przekształcają kod źródłowy w formę, która może być zrozumiana przez komputer, ale nie zajmują się analizą błędów podczas działania programu. Interpretacja kodu w wirtualnej maszynie Java również nie odnosi się bezpośrednio do lokalizacji błędów, bowiem jest to proces, w którym kod bajtowy jest wykonywany, ale bez możliwości interakcji w czasie rzeczywistym, jak to ma miejsce w przypadku debuggera. Dlatego kluczowe jest zrozumienie, że debugger ma za zadanie monitorować i analizować program w trakcie jego działania, co jest fundamentalne dla diagnostyki i poprawy jakości oprogramowania.

Pytanie 9

Która z poniższych opcji najlepiej opisuje przedstawioną definicję w JavaScript?

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. tablicyPoprawna odpowiedź
B. obiektu
C. klasyTwoja odpowiedź
D. zbioru
Niepoprawna odpowiedź. Obiekt w JavaScript jest bardziej skomplikowaną strukturą niż tablica i służy do przechowywania danych w postaci par klucz-wartość. W przedstawionym przykładzie nie mamy par klucz-wartość a jedynie listę wartości co wyklucza definicję obiektu. Kolekcja w kontekście JavaScript nie jest specyficznym typem danych; odnosi się ogólnie do struktur danych które przechowują wiele elementów. Tablice mogą być częścią kolekcji ale kolekcje mogą obejmować też inne struktury jak mapy i zestawy dlatego definicja ta byłaby zbyt ogólna w tym przypadku. Klasa natomiast jest częścią paradygmatu obiektowego wprowadzonego w nowszych wersjach JavaScript do definiowania struktur danych i ich zachowań. Klasy nie są bezpośrednio powiązane z tablicami które służą do przechowywania danych w uporządkowany sposób. Typowe błędy przy interpretacji takich struktur wynikają zwykle z niezrozumienia różnic między obiektami tablicami i klasami. Tablice są używane przede wszystkim do przechowywania zbiorów danych w uporządkowanej formie podczas gdy obiekty są bardziej elastyczne w definiowaniu struktury danych a klasy służą do tworzenia złożonych struktur danych i logiki. Zrozumienie tych różnic jest kluczowe w efektywnym korzystaniu z języka JavaScript i pozwala na bardziej świadome podejmowanie decyzji dotyczących wyboru struktur danych odpowiednich do konkretnego problemu.

Pytanie 10

W celu wykonania kopii bazy danych biblioteka w systemie MySQL należy w konsoli użyć polecenia

A. backupmysql -u root biblioteka kopia.sql
B. mysqlduplicate –u root biblioteka > kopia.sql
C. mysqldump -u root biblioteka > kopia.sqlTwoja odpowiedź
D. copymysql –u root biblioteka kopia.sql
Poprawna odpowiedź. Poprawne polecenie do wykonania kopii bazy danych MySQL to „mysqldump -u root biblioteka > kopia.sql”. Narzędzie mysqldump jest oficjalnym, standardowym programem dostarczanym razem z serwerem MySQL i właśnie ono służy do tworzenia logicznych kopii zapasowych baz danych. Działa tak, że łączy się z serwerem MySQL, odczytuje strukturę tabel oraz dane, a następnie generuje plik tekstowy zawierający instrukcje SQL typu CREATE TABLE i INSERT. Taki plik można potem w prosty sposób wgrać z powrotem, np. poleceniem „mysql -u root biblioteka < kopia.sql”. To jest bardzo wygodne w praktyce, bo backup jest przenośny między serwerami, wersjami MySQL, a nawet można go edytować ręcznie w razie potrzeby.
W tym poleceniu „-u root” oznacza użytkownika bazy danych, czyli logujemy się jako użytkownik root. W realnym środowisku produkcyjnym zwykle używa się konta z mniejszymi uprawnieniami i dodatkowo opcji „-p”, żeby podać hasło (np. „mysqldump -u backup_user -p biblioteka > kopia.sql”). Nazwa „biblioteka” to nazwa bazy, którą archiwizujemy. Znak „>” to przekierowanie powłoki systemowej (bash, cmd itp.), które zapisuje wynik działania programu mysqldump do pliku „kopia.sql” zamiast wypisywać go na ekran. To przekierowanie nie jest częścią MySQL, tylko mechanizmem systemu operacyjnego, co czasem bywa mylące dla początkujących.
Moim zdaniem warto od razu wyrabiać sobie dobre nawyki: używać mysqldump regularnie, najlepiej w skryptach cron (Linux) lub Harmonogramie zadań (Windows), trzymać kopie na innym serwerze i testować odtwarzanie. W praktyce administracji serwerami i bezpieczeństwa danych takie kopie logiczne są podstawą procedur disaster recovery. W dokumentacji MySQL mysqldump jest wymieniony jako jedno z głównych narzędzi do backupu i migracji baz danych, więc znajomość dokładnie tego polecenia to absolutna podstawa pracy z MySQL w środowiskach webowych i nie tylko.

Pytanie 11

Aby utworzyć relację wiele do wielu pomiędzy tabelami A i B, należy

A. wprowadzić trzecią tabelę zawierającą klucze obce do tabel A i BTwoja odpowiedź
B. wiele wpisów z tabeli A zduplikuje się w tabeli B
C. tabela A będzie miała identyczne pola jak tabela B
D. tabelę A połączyć z tabelą B przez utworzenie kluczy obcych
Poprawna odpowiedź. Aby stworzyć relację wiele do wielu między dwiema tabelami, w rzeczywistości wymagana jest dodatkowa tabela, nazywana tabelą pośrednią lub łączącą. Tabela ta zawiera klucze obce, które wskazują na klucze główne w tabelach A i B. Dzięki temu możliwe jest powiązanie wielu rekordów z tabeli A z wieloma rekordami z tabeli B. Na przykład, jeśli mamy tabelę 'Studenci' i tabelę 'Kursy', to aby zrealizować relację wiele do wielu, tworzymy tabelę 'Zapisani', która zawiera kolumny 'StudentID' i 'KursID'. W ten sposób możemy zarejestrować, że jeden student może być zapisany na wiele kursów, a jeden kurs może być uczęszczany przez wielu studentów. Taki model danych jest zgodny z zasadami normalizacji bazy danych i pozwala na efektywne zarządzanie danymi oraz unikanie redundancji.

Pytanie 12

Który z poniższych przykładów kodu HTML5 zostanie zakwalifikowany przez walidator HTML jako błędny?

A. <pre>&lt;p class= &quot;stl&quot; id= &quot;a&quot;&gt;tekst&lt;/p&gt;</pre>
B. <pre>&lt;p class= &quot;stl&quot;&gt;tekst&lt;/p&gt;</pre>
C. <pre>&lt;p class= &quot;stl&quot; style= &quot;color: #F00 &quot;&gt;tekst&lt;/p&gt;</pre>
D. <pre>&lt;p class= &quot;stl&quot;&gt;&lt;style&gt;.a{color:#F00}&lt;/style&gt;tekst&lt;/p&gt;</pre>Twoja odpowiedź
Poprawna odpowiedź. Wybrany fragment jest błędny dla walidatora HTML, ponieważ element style został umieszczony wewnątrz akapitu p. W HTML5 element p ma dość ograniczony model zawartości: powinien zawierać tzw. phrasing content, czyli treść tekstową i elementy „liniowe”, na przykład span, a, img, strong czy em. Element style nie należy do typowej treści akapitu. Służy do definiowania reguł CSS i zgodnie z dobrymi praktykami powinien znajdować się w sekcji head dokumentu albo style powinny być przeniesione do zewnętrznego pliku CSS. Moim zdaniem to jest jeden z tych błędów, które łatwo przeoczyć, bo przeglądarka często „jakoś” to wyrenderuje, ale walidator patrzy na zgodność ze standardem, a nie na to, czy strona przypadkiem wygląda dobrze. Poprawniej byłoby zapisać na przykład: <head><style>.a{color:#F00}</style></head>, a w treści użyć <p class="a">tekst</p>. Jeszcze lepsza praktyka w większym projekcie to plik style.css i podłączenie go przez link rel="stylesheet". Dzięki temu HTML odpowiada za strukturę, a CSS za wygląd, czyli kod jest czystszy i łatwiej go utrzymać.

Pytanie 13

Która wartość atrybutu target otwiera stronę w NOWYM oknie lub karcie?

A.
_self
B.
_blank
Poprawna odpowiedź
C.
_top
Twoja odpowiedź
D.
_parent
Niepoprawna odpowiedź. Pozostałe wartości target działają inaczej. _self otwiera link w tym samym oknie (zachowanie domyślne). _parent ładuje go w ramce nadrzędnej, a _top w całym oknie, przełamując ramki. Nowe okno lub kartę otwiera _blank.

Pytanie 14

Wynikiem realizacji kwerendy

SELECT sezon, SUM(liczba_dn) FROM rezerwacje GROUP BY sezon;
na podstawie poniższej tabeli rezerwacje jest:

rezerwacje
sezonliczba_dn
lato10
zima4
lato5
zima6
lato5
zima9
zima8
A. lato 10, zima 4, lato 5, zima 6, lato 5, zima 9, zima 8
B. lato 10, 5, 5; zima 4, 6, 9, 8Twoja odpowiedź
C. lato 20, zima 27Poprawna odpowiedź
D. lato 3, zima 4
Niepoprawna odpowiedź. W tym zadaniu łatwo pomylić zliczanie rekordów z sumowaniem wartości, a to są dwie różne operacje w SQL. Wynik lato 3, zima 4 odpowiadałby raczej zapytaniu z funkcją COUNT, czyli policzeniu, ile wierszy występuje dla każdego sezonu. COUNT nie interesuje się tym, czy w kolumnie liczba_dn jest 10, 5 czy 8, tylko liczy rekordy. Tutaj jednak użyto SUM(liczba_dn), więc baza danych dodaje liczby dni w obrębie każdej grupy. Drugi częsty błąd to potraktowanie GROUP BY tak, jakby tylko porządkowało dane i zostawiało wszystkie wartości osobno, np. lato 10, 5, 5 oraz zima 4, 6, 9, 8. To nie jest poprawny wynik tej kwerendy, bo funkcja agregująca zwraca jedną wartość dla całej grupy, a nie listę elementów. Jeszcze inne nieporozumienie polega na przepisaniu tabeli wejściowej bez żadnej agregacji. Taki wynik byłby możliwy przy prostym SELECT sezon, liczba_dn FROM rezerwacje, ale nie wtedy, gdy używamy GROUP BY razem z SUM. W praktyce GROUP BY służy właśnie do tworzenia zestawień i raportów, a nie do zwykłego wyświetlania danych. Z mojego doświadczenia warto zawsze zadać sobie pytanie: według czego grupuję i jaką operację wykonuję na każdej grupie. Tutaj grupujemy według sezonu i sumujemy liczba_dn, więc końcowy wynik musi mieć po jednym wierszu dla każdego sezonu.

Pytanie 15

W języku CSS określono styl dla stopki. Aby zastosować to formatowanie do bloku oznaczonego znacznikiem div, należy wpisać

#stopka { ... }
A. <div id="stopka">Twoja odpowiedź
B. <div "stopka">
C. <div title="stopka">
D. <div class="stopka">
Poprawna odpowiedź. Poprawna odpowiedź to <div id="stopka"> ponieważ w CSS użycie selektora ID poprzedzonego znakiem # oznacza, że styl jest stosowany do elementu o określonym identyfikatorze. W HTML atrybut id jest unikalny w obrębie całego dokumentu co oznacza, że może być przypisany tylko do jednego elementu. Stosowanie identyfikatorów jest powszechną praktyką w przypadku stylizacji elementów, które pojawiają się tylko raz na stronie jak stopka nagłówek czy główny kontener treści. Przykład praktycznego zastosowania obejmuje sytuacje gdzie chcesz stylizować konkretną część strony internetowej zachowując jednorodność w całym projekcie. Dobrą praktyką jest również unikanie zbyt częstego używania id na rzecz klas które są bardziej elastyczne i mogą być stosowane do wielu elementów. Jednak w przypadku elementów unikalnych takich jak stopka użycie id jest zgodne z najlepszymi praktykami projektowania stron internetowych. Warto również pamiętać że selektory ID mają wyższy priorytet w CSS co oznacza że ich stylizacje nadpisują te zdefiniowane dla klas o tej samej specyfikacji.

Pytanie 16

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest pokazane na dołączonym rysunku?

Ilustracja do pytania
A. Drupal
B. MediaWiki
C. WordPressTwoja odpowiedź
D. Joomla!Poprawna odpowiedź
Niepoprawna odpowiedź. Drupal WordPress i MediaWiki to również popularne systemy zarządzania treścią jednak różnią się one znacząco od Joomla! pod względem funkcjonalności i przeznaczenia. Drupal to zaawansowany CMS często wybierany do dużych i złożonych projektów które wymagają wysokiego poziomu personalizacji i rozbudowanej struktury danych. Z kolei WordPress początkowo rozwinięty jako platforma bloggingowa jest obecnie najczęściej używanym systemem CMS na świecie dzięki prostocie użycia i szerokiej gamie wtyczek co czyni go idealnym narzędziem do tworzenia blogów i mniejszych stron biznesowych. MediaWiki natomiast to oprogramowanie stworzone z myślą o prowadzeniu wiki co sprawia że jest świetnym narzędziem do gromadzenia i organizacji wiedzy w formie stron edytowanych przez wielu użytkowników ale nie jest to narzędzie o szerokim zastosowaniu w kontekście typowych stron internetowych. Często popełnianym błędem jest zakładanie że wszystkie CMS-y pełnią te same funkcje podczas gdy każdy z nich ma swoje unikalne cechy i zastosowania. Wybór systemu powinien być uzależniony od specyficznych wymagań projektu oraz oczekiwań dotyczących funkcjonalności i skalowalności. Rozpoznawanie logo poszczególnych CMS-ów jest praktyczną umiejętnością pomocną w identyfikacji właściwego narzędzia dla określonej potrzeby projektowej co jest istotne dla profesjonalistów z branży web developmentu. Zrozumienie różnic między tymi systemami pozwala na trafniejsze podejmowanie decyzji projektowych i efektywne wykorzystanie dostępnych technologii.

Pytanie 17

Aby stworzyć poprawną kopię zapasową bazy danych, która będzie mogła zostać później przywrócona, należy najpierw sprawdzić

A. spójność bazyPoprawna odpowiedź
B. możliwość udostępnienia bazy danych
C. uprawnienia dostępu do serwera bazy danychTwoja odpowiedź
D. poprawność składni zapytań
Niepoprawna odpowiedź. Sprawdzanie możliwości udostępniania bazy danych jest ważne, ale nie ma bezpośredniego wpływu na jakość i integralność samej kopii bezpieczeństwa. Może to dotyczyć kwestii użytkowników i ról, jednak nawet przy poprawnym udostępnieniu, jeżeli dane są niespójne, kopia może być bezużyteczna. Prawa dostępu do serwera bazy danych, choć istotne z punktu widzenia bezpieczeństwa, również nie wpływają na jakość danych. Użytkownik mógłby mieć pełne prawa dostępu, ale to nie gwarantuje, że baza danych jest poprawna i gotowa do stworzenia kopii zapasowej. Poprawność składni zapytań to kolejny aspekt ważny dla efektywnego działania bazy danych, jednak w kontekście wykonywania kopii zapasowej, nie odnosi się bezpośrednio do spójności danych. Nawet poprawnie sformułowane zapytania mogą prowadzić do błędnych wyników, jeśli dane w bazie są w złym stanie. Dlatego też, żadne z wymienionych zagadnień nie zastąpi konieczności sprawdzenia spójności bazy jako kluczowego elementu przed wykonaniem kopii bezpieczeństwa.

Pytanie 18

Ile razy powtórzy się pętla w JavaScript?

var x=1, i=0;
do{
    x*=3;
    i++;
}
while(x!=27);
A. 27 razy
B. 26 razy
C. 2 razy
D. 3 razyTwoja odpowiedź
Poprawna odpowiedź. W przedstawionym kodzie JavaScript, pętla do-while wykonuje się do momentu, gdy zmienna x nie jest równa 27. Zaczynając od wartości x równej 1, przy każdym przejściu przez pętlę zmienna x jest mnożona przez 3. Kolejno, x przyjmuje wartości: 3, 9, 27. Zatem pętla wykonuje się trzy razy, ponieważ dopiero po trzecim cyklu x osiąga wartość 27, co powoduje zakończenie pętli. Do-while zawsze wykonuje przynajmniej jedno przejście, niezależnie od warunku końcowego, dzięki czemu jest przydatna w sytuacjach, gdy operacja musi być przeprowadzona co najmniej raz. Dobrym przykładem wykorzystania tego mechanizmu jest oczekiwanie na spełnienie określonego warunku, np. uzyskanie poprawnej odpowiedzi od użytkownika. Warto zwrócić uwagę, że w przypadku operacji matematycznych wymagających określonej liczby iteracji, pętla do-while zapewnia prostotę i przejrzystość implementacji, zgodnie z dobrymi praktykami zapewniającymi łatwość w czytaniu i utrzymaniu kodu.

Pytanie 19

Którego zdarzenia użyć, aby funkcja JavaScript uruchomiła się PO ZAŁADOWANIU strony?

A.
onkeydown
B.
onmouseout
C.
onclick
D.
onload
Twoja odpowiedź
Poprawna odpowiedź. Zdarzenie onload uruchamia funkcję dopiero PO całkowitym załadowaniu strony lub elementu - gdy gotowe są wszystkie zasoby (obrazy, style, skrypty). Dlatego skrypt operujący na elementach strony często startuje właśnie z <body onload="start()">, by mieć pewność, że dany element już istnieje w drzewie DOM. Zapamiętaj: „load” = wczytano - dopiero wtedy działaj.

Pytanie 20

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

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

Pytanie 21

Które narzędzie edytora grafiki przedstawia rozkład jasności (tonów) pikseli obrazu w postaci wykresu?

A. kadrowanie
B. histogramTwoja odpowiedź
C. kanał alfa
D. warstwy
Poprawna odpowiedź. Histogram to wykres rozkładu jasności obrazu: na osi poziomej są poziomy jasności (od czerni do bieli), a na pionowej - liczba pikseli o danej jasności. Pozwala ocenić ekspozycję i kontrast - np. wykres „upchnięty” po lewej oznacza niedoświetlenie. Dlatego rozkład tonów obrazu pokazuje histogram.

Pytanie 22

Jaką maksymalną liczbę znaczników &lt;td&gt; można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, która nie zawiera złączeń między komórkami oraz wiersza nagłówkowego?

A. 12
B. 9Twoja odpowiedź
C. 3
D. 6
Poprawna odpowiedź. Odpowiedź 9 jest poprawna, ponieważ w tabeli składającej się z trzech kolumn i trzech wierszy, każdy wiersz może zawierać trzy komórki danych. Zatem, aby obliczyć maksymalną liczbę znaczników &lt;td&gt;, należy pomnożyć liczbę kolumn przez liczbę wierszy: 3 kolumny x 3 wiersze = 9 znaczników &lt;td&gt;. Ważne jest, aby pamiętać, że w kontekście HTML, znacznik &lt;td&gt; służy do definiowania komórek tabeli i jest używany tylko do umieszczania danych w tabeli. Przy projektowaniu tabel w HTML, dobrym rozwiązaniem jest stosowanie przejrzystej struktury oraz odpowiednich znaczników, aby poprawić czytelność i dostępność stron. Zgodnie z dobrymi praktykami, zawsze warto używać znaczników &lt;th&gt; do nagłówków kolumn, ale w tym przypadku, zgodnie z treścią pytania, zakładamy, że nie stosujemy wiersza nagłówkowego. W efekcie maksymalna liczba komórek, które można wykorzystać w takiej tabeli, wynosi 9. Przykładem zastosowania takiej tabeli może być wyświetlanie danych o produktach, gdzie każda komórka zawierać może różne informacje, takie jak nazwa produktu, cena i ilość.

Pytanie 23

Aby ułatwić wprowadzanie oraz modyfikację danych w tabeli, konieczne jest zdefiniowanie

A. filtra
B. raportu
C. formularzaTwoja odpowiedź
D. kwerendy SELECT
Poprawna odpowiedź. Formularz to narzędzie, które pozwala na łatwe i intuicyjne wprowadzanie oraz edytowanie danych w bazie danych. W przeciwieństwie do kwerend, które są używane głównie do selekcji danych, formularze zapewniają interfejs użytkownika, który ułatwia zbieranie danych od użytkowników. Dzięki formularzom można zaprojektować przyjazny dla użytkownika interfejs, który może zawierać różne elementy, takie jak pola tekstowe, listy rozwijane, przyciski radiowe i przyciski akcji. Praktycznym zastosowaniem formularzy jest wprowadzanie danych do systemów zarządzania treścią, takich jak bazy danych dla aplikacji webowych czy systemów CRM. Dobrą praktyką jest stosowanie walidacji danych w formularzach, aby upewnić się, że wprowadzane informacje są zgodne z wymaganym formatem i nie zawierają błędów. Ponadto formularze mogą być zintegrowane z procesami automatyzacji, co znacznie zwiększa efektywność wprowadzania danych i minimalizuje ryzyko wystąpienia błędów.

Pytanie 24

W przedstawionym kodzie HTML ukazany styl CSS to styl:

<p style="color: red;">To jest przykładowy akapit.</p>
A. zewnętrzny.
B. lokalny.Twoja odpowiedź
C. nagłówkowy.
D. dynamiczny.
Poprawna odpowiedź. Odpowiedź "lokalnym" jest prawidłowa, ponieważ styl CSS zastosowany w podanym kodzie HTML definiuje właściwości stylu bezpośrednio w elemencie HTML, co określamy jako styl lokalny (inline style). W tym przypadku, styl "color: red;" został zastosowany bezpośrednio w tagu <p>, co wpływa wyłącznie na ten konkretny akapit. Praktyczne zastosowanie lokalnych stylów polega na tym, że można je szybko dodać do pojedynczych elementów, ale należy pamiętać, że nadmiar lokalnych stylów może prowadzić do problemów z utrzymywaniem i zarządzaniem kodem. Zamiast tego zaleca się stosowanie zewnętrznych arkuszy stylów CSS, co pozwala na centralne zarządzanie stylami dla całej strony. Warto zauważyć, że lokalne style mają wyższy priorytet niż style zewnętrzne, co może prowadzić do konfliktów, jeśli nie zostaną odpowiednio użyte. Aby zapewnić zgodność z najlepszymi praktykami, zaleca się ograniczanie stosowania lokalnych stylów tam, gdzie to możliwe, na rzecz bardziej zorganizowanego podejścia z użyciem klas i identyfikatorów w zewnętrznych arkuszach stylów.

Pytanie 25

W PHP, aby stworzyć obiekt pkt dla klasy Punkt, której definicja znajduje się poniżej, należy użyć polecenia

class Punkt {
  public $x;
  public $y;
}
A. pkt Punkt;
B. pkt Punkt();
C. pkt = new Punkt();Poprawna odpowiedź
D. Punkt() pkt;Twoja odpowiedź
Niepoprawna odpowiedź. Podczas tworzenia obiektów w PHP kluczowe jest zrozumienie składni i logiki stojącej za deklaracjami obiektów. Problemem w błędnych odpowiedziach jest brak użycia słowa kluczowego new, które jest niezbędne do prawidłowego utworzenia obiektu. Składnia pkt Punkt() sugeruje próbę użycia nazwy klasy jako funkcji, co nie jest poprawne w kontekście PHP. PHP wymaga wyraźnego wskazania, że chcemy utworzyć nową instancję klasy za pomocą new. Kolejna błędna składnia pkt Punkt pokazuje niezrozumienie podstawowej struktury definicji zmiennych i obiektów w PHP, gdzie brakuje operatora new i nawiasów. Takie podejście jest niepoprawne i prowadzi do błędów kompilacji. Brak nawiasów czy operatora przypisania to często popełniane błędy przy nauce programowania obiektowego. Ostateczna odpowiedź Punkt() pkt; jest niezgodna z zasadami składniowymi PHP, ponieważ nie można deklarować obiektu w tej formie. Taka konstrukcja narusza logikę przypisania wartości do zmiennych i tworzenia instancji obiektów w PHP. Zrozumienie, dlaczego słowo new jest kluczowe, pozwoli uniknąć tych typowych błędów i poprawnie implementować obiektowe aspekty PHP, co jest podstawą budowy złożonych aplikacji w tym języku.

Pytanie 26

W języku SQL wydano polecenie

CREATE USER 'anna'@'localhost' IDENTIFIED BY '54RTu8';
Jednak operacja ta zakończyła się niepowodzeniem z powodu błędu: #1396 - Operation CREATE USER failed for 'anna'@'localhost'. Możliwą przyczyną tego problemu bazy danych może być:
A. błędna składnia polecenia CREATE USER
B. nieznane polecenie CREATE USERTwoja odpowiedź
C. istnienie użytkownika anna w bazie danychPoprawna odpowiedź
D. niewystarczająca siła hasła dla konta anna
Niepoprawna odpowiedź. Wybrana przez Ciebie odpowiedź o zbyt słabym haśle dla konta 'anna' jest nietrafiona. Podczas tworzenia użytkownika w MySQL ustalasz nowego użytkownika i hasło, które jeszcze nie jest połączone z żadnym drugim kontem. Zasady bezpieczeństwa mówią, że hasła powinny być mocne, ale w tym przypadku słabe hasło nie wywołuje błędu #1396. Słabe hasło może być problemem przy późniejszej edycji konta, ale nie przy zakładaniu nowego. Co więcej, jeśli chodzi o składnię CREATE USER, to w twoim poleceniu nie masz błędu. To, że hasło jest słabe, to istotny temat, ale musi być zgodne z zasadami, które ustala firma. I pamiętaj, polecenie CREATE USER jest standardem w MySQL, więc jeśli nie znasz, to warto się z nim zapoznać. Większość błędów przy użytkownikach bierze się z braku zrozumienia, jak działa system autoryzacji w bazach danych. Warto znać zasady dotyczące uprawnień, żeby lepiej zarządzać dostępem do baz.

Pytanie 27

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = sql_connect('localhost', 'root','','zwierzaki');
B. $polacz = server_connect('localhost', 'root','','zwierzaki');
C. $polacz = mysqli_connect('localhost', 'root','','zwierzaki');Twoja odpowiedź
D. $polacz = db_connect('localhost', 'root','','zwierzaki');
Poprawna odpowiedź. Odpowiedź $polacz = mysqli_connect('localhost', 'root','','zwierzaki'); jest poprawna, ponieważ funkcja mysqli_connect jest standardowym sposobem nawiązywania połączenia z bazą danych MySQL w języku PHP. Funkcja ta jest częścią rozszerzenia MySQLi, które oferuje bardziej zaawansowane możliwości w porównaniu do oryginalnego rozszerzenia MySQL. Umożliwia obsługę złożonych zapytań i zabezpieczeń, a także wspiera techniki programowania obiektowego. Warto zauważyć, że przy wywołaniu tej funkcji przekazujemy cztery argumenty: adres serwera (w tym przypadku 'localhost'), nazwę użytkownika ('root'), hasło (które jest puste w tym przypadku), oraz nazwę bazy danych ('zwierzaki'). Praktyczne zastosowanie tej funkcji jest kluczowe w kontekście aplikacji webowych, gdzie interakcja z bazą danych jest niezbędna. Na przykład, po nawiązaniu połączenia możemy wykonywać zapytania SQL, pobierać dane, a także dodawać nowe rekordy. Warto również dodać, że przed użyciem tej funkcji, powinniśmy zawsze sprawdzić, czy rozszerzenie MySQLi jest zainstalowane i aktywne, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 28

Która z zasad walidacji strony internetowej jest nieprawidłowa?

A. Tagi, poza samozamykającymi się, funkcjonują do momentu ich wyłączenia znakiem "/", np. ```<p> ..</p>```
B. Wyłączanie tagów musi następować w odwrotnej sekwencji do ich włączenia, np. ```<p> ... <big>...</big></p>```
C. Jeżeli w poleceniu występuje kilka atrybutów, ich kolejność powinna być uporządkowana alfabetycznie np. ```<img alt="..." src="/.."/>```Twoja odpowiedź
D. W tagach nie jest brana pod uwagę różnica między dużymi a małymi literami, np. ```<p>``` i ```<P>``` to ten sam tag.
Poprawna odpowiedź. Odpowiedź dotycząca kolejności atrybutów w znacznikach HTML jest poprawna, ponieważ nie ma wymogu, aby atrybuty w znacznikach były uporządkowane alfabetycznie. W rzeczywistości, HTML pozwala na dowolną kolejność atrybutów, co czyni tę regułę błędną. Przykładowo, znacznik <img src="/path/to/image.jpg" alt="Opis obrazu" /> jest poprawny niezależnie od kolejności atrybutów. Ważne jest, aby atrybuty były odpowiednio używane w kontekście ich przeznaczenia, a nie w kontekście kolejności alfabetycznej. Dobrą praktyką jest również stosowanie atrybutów w sposób, który zwiększa czytelność kodu, jednak nie jest to wymóg techniczny. Zgodnie z zaleceniami W3C, kluczowym aspektem jest poprawność semantyczna i zgodność ze standardami, a nie kolejność atrybutów.

Pytanie 29

Cookie stworzony za pomocą polecenia PHP

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. wygaśnie po jednej godzinie od momentu jego utworzenia
B. będzie przechowywany na serwerze przez jedną godzinę
C. będzie przechowywany na serwerze przez 24 godziny
D. wygaśnie po dobie od momentu jego utworzeniaTwoja odpowiedź
Poprawna odpowiedź. 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

Aby stworzyć stronę internetową, która będzie odpowiadać załączonej ilustracji, konieczne jest użycie semantycznych znaczników sekcji w języku HTML5. Jakim znacznikiem należy określić sekcję menu?

A. divTwoja odpowiedź
B. aside
C. navPoprawna odpowiedź
D. header
Niepoprawna odpowiedź. Znacznik <div> jest często używany do ogólnego grupowania elementów w HTML, ale nie niesie ze sobą semantycznego znaczenia, co oznacza, że nie informuje technologii wspomagających ani wyszukiwarek o roli, jaką pełni zawartość. W kontekście semantycznego HTML5, poleganie na znaczniku <div> nie wykorzystuje potencjału nowych standardów, które poprawiają dostępność i strukturę dokumentów. Znacznik <aside> jest zwykle używany do grupowania treści pobocznej, takiej jak reklamy czy linki powiązane, dlatego nie jest on odpowiedni do definiowania sekcji menu. <header> jest z kolei stosowany do elementów nagłówkowych, takich jak tytuły stron czy sekcje wstępne, co również nie pasuje do kontekstu sekcji nawigacyjnej. Właściwe wykorzystanie semantycznych znaczników pomaga nie tylko w lepszej organizacji kodu, ale także wspiera dostępność oraz optymalizację SEO, co jest kluczowe w nowoczesnym projektowaniu stron internetowych.

Pytanie 31

Które wywołanie is_int() zwróci true?

A.
is_int("135")
B.
is_int(13.5)
C.
is_int(135)
Twoja odpowiedź
D.
is_int(NULL)
Poprawna odpowiedź. Funkcja is_int() zwraca true tylko dla liczby CAŁKOWITEJ - dlatego is_int(135) da true.

Pytanie 32

Który zapis CSS ustawi NIEBIESKIE tło bloku <div>?

A.
div { shadow: blue; }
B.
div { background-color: blue; }
Twoja odpowiedź
C.
div { color: blue; }
D.
div { border-color: blue; }
Poprawna odpowiedź. Kolor tła elementu ustawia właściwość background-color, więc div { background-color: blue; } daje niebieskie tło bloku <div>. Dlatego poprawny jest ten zapis.

Pytanie 33

Rekordy do raportu mogą pochodzić z

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

Pytanie 34

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

int fun1(int tab[]) {
    int wynik = 0;
    for (int i = 0; i < 6; i++)
        wynik += tab[i];
    return wynik;
}
A. 0Twoja odpowiedź
B. 10
C. 960
D. 23Poprawna odpowiedź
Niepoprawna odpowiedź. Twoja odpowiedź jest niepoprawna. Wygląda na to, że nie do końca zrozumiałeś, jak działa ta funkcja w języku C++. Funkcja, o której mówimy, sumuje wartości wszystkich elementów tablicy. W podanym pytaniu mamy tablicę z sześcioma elementami: 3, 4, 2, 4, 10, 0. Suma tych elementów wynosi 23, a nie 960, 10 ani 0. Wartości 960, 10 i 0 mogą pochodzić z różnorodnych błędnych wniosków. Na przykład, 960 to produkt wszystkich elementów tablicy, a nie ich suma. Podobnie, 10 to najwyższa wartość w tablicy, a 0 to najniższa. Możliwe, że te wartości byłyby poprawne w innych kontekstach, na przykład, gdybyśmy pytali o produkt elementów, największy element lub najmniejszy element. Ważne jest, aby zawsze dokładnie czytać pytanie i zrozumieć, czego dokładnie oczekuje od nas funkcja. Praca z tablicami jest kluczowym aspektem programowania w języku C++, dlatego warto poświęcić więcej czasu na zrozumienie, jak one działają.

Pytanie 35

Który ze sposobów komentowania kodu nie jest stosowany w kodzie jako komentarz PHP?

A. # komentarz
B. /* komentarz */
C. <!-- komentarz -->Poprawna odpowiedź
D. // komentarzTwoja odpowiedź
Niepoprawna odpowiedź. W tym pytaniu kluczowe jest odróżnienie komentarzy w samym języku PHP od komentarzy w otaczającym go kodzie HTML. Wiele osób myli te dwie warstwy, bo pliki .php bardzo często zawierają jednocześnie kod HTML i PHP, i wtedy łatwo założyć, że skoro coś wygląda jak komentarz w przeglądarce, to na pewno jest też komentarzem dla interpretera PHP. To jest właśnie podstawowy błąd myślowy. W PHP obowiązuje składnia komentarzy przejęta głównie z języka C i powiązanych z nim technologii. Znak # oraz podwójny ukośnik // oznaczają komentarz jednolinijkowy – wszystko od tego znaku do końca linii jest ignorowane przez interpreter. Z kolei konstrukcja /* ... */ tworzy komentarz blokowy, który może obejmować wiele linii i jest bardzo wygodny do opisywania większych fragmentów kodu, np. funkcji, klas czy bardziej skomplikowanych algorytmów. Te trzy formy są pełnoprawnymi komentarzami PHP i są dokładnie opisane w oficjalnej dokumentacji języka. Problem pojawia się, gdy ktoś uzna, że <!-- komentarz --> też jest komentarzem PHP, bo „przecież używa się go w plikach .php”. Ten zapis jest jednak komentarzem HTML, rozumianym przez przeglądarkę internetową, a nie przez interpreter PHP. Działa on tylko w części dokumentu, którą przeglądarka widzi jako czysty HTML. Jeżeli taki komentarz wstawimy wewnątrz bloku <?php ... ?>, to PHP nie potraktuje go jako komentarz, tylko jako nieznane znaki, co w praktyce skończy się błędem składni. Z mojego doświadczenia wynika, że zamieszanie bierze się z tego, że w jednym pliku mieszają się dwa światy: serwerowy (PHP) i kliencki (HTML). Dobrą praktyką jest więc świadome rozdzielanie: w sekcjach PHP używamy wyłącznie #, // i /* */, a w czystym HTML – tylko <!-- -->. Pozwala to uniknąć trudnych do wykrycia błędów i sprawia, że kod jest czytelniejszy dla innych programistów, którzy od razu widzą, co jest komentarzem dla serwera, a co tylko dla frontendu.

Pytanie 36

W jaki sposób lokalny System Zarządzania Bazą Danych (SZBD) udostępnia bazę?

A. wyłącznie na jednym, wyznaczonym komputerzePoprawna odpowiedź
B. jako usługę serwerową w sieciTwoja odpowiedź
C. jako serwer w sieci
D. w chmurze obliczeniowej
Niepoprawna odpowiedź. Udostępnianie bazy w sieci, jako usługi serwerowej czy w chmurze to cechy SZBD SIECIOWEGO lub serwerowego, a nie lokalnego. Lokalny system zarządzania bazą działa wyłącznie na jednym komputerze.

Pytanie 37

W zaprezentowanej części formularza HTML znajduje się pole, które można określić jako?

<input type="password" name="pole">
A. pozwala na wprowadzanie jedynie wartości liczbowych.
B. ukrywa wprowadzone znaki.Poprawna odpowiedź
C. domyślnie posiada wpisany tekst "pole".
D. wyświetla wprowadzone znaki.Twoja odpowiedź
Niepoprawna odpowiedź. Wybrana przez ciebie odpowiedź jest niepoprawna. Możesz myśleć, że pole <i>input</i> ma domyślny tekst 'pole', ale zapomniałeś, że atrybut 'value', który to robi, nie występuje w tym kodzie. Poza tym, nie ma żadnych danych wskazujących, że to pole przyjmuje tylko liczby. Zazwyczaj, używa się atrybutu 'type' z wartością 'number', ale tutaj jest ustawiony na 'password'. Gdy mówisz, że pole pokazuje wprowadzone znaki, to też nie jest prawda. Jak mamy 'type' ustawione na 'password', to wszystko jest ukryte, żeby użytkownik był bezpieczny. Takie pomyłki to najczęściej efekt braku zrozumienia różnych atrybutów w HTML. Ważne, żeby ogarnąć, że atrybut 'type' mówi, jakie dane można wprowadzać, a różne wartości mają różne skutki.

Pytanie 38

Która funkcja PHP wczyta zawartość pliku do zmiennej (jako ciąg znaków)?

A.
fwrite()
Twoja odpowiedź
B.
eof()
C.
file_get_contents()
Poprawna odpowiedź
D.
get_file()
Niepoprawna odpowiedź.fwrite() ZAPISUJE dane do pliku, a nie odczytuje. eof() i get_file() to funkcje nieistniejące w PHP w tej postaci. Zawartość pliku wczyta file_get_contents().

Pytanie 39

W jakim celu stosuje się kwerendę SELECT DISTINCT?

A. aby wybrać rekordy występujące w bazie tylko raz
B. aby posortować rekordy rosnąco lub malejąco
C. aby w wskazanej kolumnie nie powtarzały się wartości w wynikuTwoja odpowiedź
D. aby pogrupować rekordy
Poprawna odpowiedź. Gdy w kolumnie ta sama wartość powtarza się w wielu wierszach (np. miasto klienta), zwykłe zapytanie zwróci wszystkie powtórzenia. SELECT DISTINCT usuwa duplikaty z WYNIKU, pokazując każdą wartość tylko raz - przydatne, by zrobić listę unikalnych pozycji. Dlatego stosuje się je, by w wybranej kolumnie wartości się nie powtarzały.

Pytanie 40

W skrypcie JavaScript operatory: ||, && zaliczane są do kategorii operatorów

A. logicznymiTwoja odpowiedź
B. bitowych
C. arytmetycznych
D. przypisania
Poprawna odpowiedź. Odpowiedź 'logicznym' jest poprawna, ponieważ w języku JavaScript operatory || (logiczne OR) i && (logiczne AND) są klasyfikowane jako operatory logiczne. Te operatory służą do wykonywania operacji na wartościach logicznych (prawda/fałsz). Użycie operatora && powoduje, że wyrażenie zwraca prawdę tylko wtedy, gdy oba operandy są prawdziwe. Z kolei operator || zwraca prawdę, jeśli przynajmniej jeden operand jest prawdziwy. Przykładem ich zastosowania może być warunkowe wykonywanie kodu, np. w instrukcjach if, gdzie możemy sprawdzić, czy spełnione są określone warunki. Standardowe praktyki programistyczne zalecają używanie tych operatorów do efektywnego zarządzania logiką programów, co zwiększa ich czytelność i umożliwia łatwiejszą konserwację. Ważne jest także zrozumienie, że operatory te wykonują krótką ocenę (short-circuit evaluation), co oznacza, że ​​nie obliczają drugiego operandu, jeśli pierwszy już decyduje o wyniku. Dzięki tym właściwościom, operatory logiczne są kluczowym elementem wszelkich aplikacji programistycznych, które potrzebują podejmować decyzje w oparciu o różne warunki.