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: 10 kwietnia 2026 11:12
  • Data zakończenia: 10 kwietnia 2026 11:34

Egzamin zdany!

Wynik: 26/40 punktów (65,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu— sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Wskaż, jak wygląda komentarz wieloliniowy w języku PHP?

A. /* */
B. #
C. <!-- -->
D. //
Komentarz wieloliniowy w języku PHP jest oznaczany przez symbole '/*' na początku oraz '*/' na końcu. Tego typu komentarze pozwalają na umieszczanie dłuższych opisów lub wyjaśnień w kodzie, co jest szczególnie przydatne w przypadku bardziej złożonych fragmentów. Przykładowo, jeśli mamy funkcję, która wykonuje skomplikowane obliczenia, można użyć komentarza wieloliniowego, aby szczegółowo opisać, co ta funkcja robi oraz jakie są jej wejścia i wyjścia. W dobie pracy zespołowej i dbałości o dokumentację kodu, stosowanie komentarzy do wyjaśnienia celów, metod i ograniczeń kodu jest dobrą praktyką. Dzięki temu, programiści, którzy będą pracować z danym fragmentem kodu w przyszłości, będą mieli pełniejsze zrozumienie jego działania. Używanie komentarzy wieloliniowych w PHP jest zgodne z najlepszymi praktykami programistycznymi, sprzyja utrzymaniu porządku w kodzie oraz ułatwia jego późniejsze modyfikacje.

Pytanie 2

W tabeli psy znajdują się kolumny: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby uzyskać numery telefonów właścicieli psów, które były szczepione przed rokiem 2015?

A. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015
B. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015
C. SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015
D. SELECT psy FROM rok_szczepienia < 2015
Wybór błędnych odpowiedzi wynika z nieporozumienia dotyczącego zastosowania różnych operatorów porównania i struktury zapytań SQL. W pierwszej analizowanej odpowiedzi 'SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015', zamiast wydobywać telefony właścicieli, zapytanie skupia się na imionach i rasach psów, co nie odpowiada na zadane pytanie. Użycie operatora '>' w kontekście roku szczepienia jest sprzeczne z wymaganiem, które dotyczy psów zaszczepionych przed 2015 rokiem, co jest podstawowym błędem logicznym. Inna odpowiedź, 'SELECT psy FROM rok_szczepienia < 2015', jest niepoprawna z powodu błędnej składni SQL; nie można wybierać całej tabeli w ten sposób, co pokazuje brak znajomości podstaw struktury zapytań. Ostatnia niepoprawna odpowiedź, 'SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015', również wskazuje na błąd w interpretacji kryteriów czasowych, ponieważ operator '>' nie uwzględnia psów zaszczepionych przed rokiem 2015. Ta sytuacja pokazuje, jak ważne jest dokładne czytanie wymagań oraz znajomość podstawowych zasad składni SQL, aby unikać błędów i skutecznie korzystać z baz danych.

Pytanie 3

W tabeli artykuly w bazie danych sklepu znajduje się pole o nazwie nowy. Jak należy wykonać kwerendę, aby wypełnić to pole wartościami TRUE dla wszystkich rekordów?

A. INSERT INTO nowy FROM artykuly SET TRUE;
B. INSERT INTO artykuly VALUE nowy=TRUE;
C. UPDATE artykuly SET nowy=TRUE;
D. UPDATE nowy FROM artykuly VALUE TRUE;
Pozostałe odpowiedzi są błędne z kilku powodów. Pierwsza, 'INSERT INTO artykuly VALUE nowy=TRUE;', jest niepoprawna, bo instrukcja INSERT służy do dodawania nowych rekordów, a nie do aktualizacji tych, które już są. Używanie tej komendy w kontekście aktualizacji to poważny błąd w zrozumieniu baz danych. Druga odpowiedź, 'UPDATE nowy FROM artykuly VALUE TRUE;', też nie jest dobra, bo składnia tutaj jest błędna. Komenda UPDATE nie używa słowa 'FROM' w taki sposób i brakuje też struktury, która określałaby, które rekordy mają być zmienione. Ostatnia odpowiedź, 'INSERT INTO nowy FROM artykuly SET TRUE;', jeszcze bardziej myli, bo 'INSERT INTO' nie służy do zmiany wartości w kolumnie. Raczej dodaje nowe wiersze do tabeli. Takie podejście łamie zasady SQL i może prowadzić do błędów w zapytaniach. Ważne jest, żeby zrozumieć różnice pomiędzy INSERT a UPDATE, aby skutecznie zarządzać danymi.

Pytanie 4

W PHP typ float oznacza

A. łańcuchowy
B. całkowity
C. zmiennoprzecinkowy
D. logiczny
Typ float w PHP to coś, co przydaje się do przechowywania liczb zmiennoprzecinkowych, a więc do liczb, które mają część dziesiętną. To naprawdę ważne, zwłaszcza jak robimy obliczenia związane z finansami czy nauką. Dzięki float możemy dokładnie przedstawić liczby rzeczywiste, co w programowaniu jest kluczowe. Te wartości są zgodne ze standardem IEEE 754, co oznacza, że można je przenosić między różnymi systemami i platformami bez problemów. Jeżeli chcesz np. obliczyć cenę z VAT-em albo policzyć coś w grze, to float jest najlepszym typem, bo pozwala na robienie precyzyjnych obliczeń z ułamkami. W PHP masz też funkcje jak round() czy number_format(), które pomagają w manipulacji tymi liczbami, co jest super przy prezentacji wyników, żeby ładnie wyglądały.

Pytanie 5

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

Ilustracja do pytania
A. zaindeksować zmienną tab, gdzie tab[0] to pierwsze imię
B. zastosować pętlę z poleceniem mysqli_fetch_row
C. użyć polecenia mysql_fetch
D. pokazać zmienną $db
Opcja wyświetlenia zmiennej $db nie jest poprawna ponieważ $db reprezentuje połączenie z bazą danych a nie wyniki zapytania. Wydobycie danych wymaga co najmniej jednego kroku przetwarzania. Użycie polecenia mysql_fetch również jest błędne ponieważ funkcje z prefiksem mysql_ są przestarzałe i niezalecane do użycia w nowych projektach. PHP od wersji 7 całkowicie usunął wsparcie dla tych funkcji co oznacza że próba ich użycia w nowoczesnych środowiskach skutkowałaby błędami. Indeksowanie zmiennej tab jako tab[0] nie jest adekwatne gdyż mysqli_query zwraca zasób bazy danych a nie tablicę. Aby uzyskać dostęp do danych należy zastosować odpowiednią metodę przetwarzania zasobu taką jak mysqli_fetch_row mysqli_fetch_assoc lub inne odpowiednie funkcje dostępne w bibliotece mysqli. Typowe błędy myślowe to zakładanie że wyniki zapytania są automatycznie dostępne jako tablica co nie jest prawdą w przypadku pracy z zasobami bazodanowymi. Zrozumienie poprawnego przetwarzania zasobów jest kluczowe w projektowaniu aplikacji bazodanowych co podkreśla znaczenie praktyki w pracy z nowoczesnymi interfejsami API w PHP.

Pytanie 6

Jakie jest poprawne zapisanie tagu HTML?

<a href="#hobby">przejdź</a>
A. jest błędny, użyto niewłaściwego znaku # w atrybucie href
B. jest błędny, w atrybucie href powinien być podany adres URL
C. jest prawidłowy, po kliknięciu w odnośnik otworzy się strona pod adresem "hobby"
D. jest poprawny, po kliknięciu w odnośnik strona zostanie przewinięta do elementu o nazwie "hobby"
W znaczniku HTML a z atrybutem href='#hobby' zastosowano tzw. kotwicę fragmentu strony. Jest to popularna technika używana do bezpośredniego przenoszenia użytkownika do określonej części strony internetowej. Znak hash (#) wskazuje, że link odwołuje się do elementu o identyfikatorze hobby w obrębie tej samej strony. Tego rodzaju odnośniki są szeroko stosowane w długich dokumentach gdzie szybka nawigacja między sekcjami poprawia doświadczenie użytkownika. Aby kod działał poprawnie na stronie musi istnieć element z atrybutem id='hobby'. To działanie jest zgodne ze standardami HTML i jest zalecane w projektowaniu dostępnych i przyjaznych dla użytkownika aplikacji internetowych. Warto także pamiętać o stosowaniu opisowych identyfikatorów co ułatwia czytelność kodu i jego późniejsze utrzymanie. Praktyka ta jest zgodna z najlepszymi praktykami w zakresie użyteczności i dostępności stron internetowych co może również wpłynąć pozytywnie na SEO poprzez poprawę struktury strony.

Pytanie 7

W języku PHP, przy pracy z bazą MySQL, aby zakończyć sesję z bazą, należy wywołać

A. mysqli_rollback()
B. mysqli_exit()
C. mysqli_commit()
D. mysqli_close()
Inne odpowiedzi na to pytanie wprowadzają w błąd, ponieważ każda z nich ma inne znaczenie i zastosowanie w kontekście operacji na bazie danych MySQL. Na przykład, mysqli_exit() nie jest standardową funkcją w bibliotece MySQLi i nie istnieje w dokumentacji PHP, co czyni ją nieprawidłową. Funkcje mysqli_commit() i mysqli_rollback() służą do zarządzania transakcjami w bazach danych. mysqli_commit() zapisuje wszystkie zmiany dokonane w bieżącej transakcji, podczas gdy mysqli_rollback() przywraca stan bazy danych do momentu rozpoczęcia transakcji w przypadku, gdy wystąpił błąd lub gdy zdecydujemy się nie akceptować dokonanych zmian. Użycie tych funkcji jest kluczowe w kontekście zapewnienia integralności danych, zwłaszcza w aplikacjach, gdzie wiele operacji zmienia stan bazy danych. Typowy błąd myślowy, który prowadzi do wyboru tych odpowiedzi, to mylenie zamknięcia połączenia z bazą z zarządzaniem transakcjami. Ważne jest, aby zrozumieć, że mimo iż zarówno zamknięcie połączenia, jak i zarządzanie transakcjami są ważnymi aspektami pracy z bazą danych, pełnią one zupełnie różne funkcje. Właściwe zamknięcie połączenia jest kluczowe, aby uniknąć problemów z wydajnością i dostępnością zasobów, które mogą wystąpić, jeśli połączenia nie zostaną prawidłowo zakończone.

Pytanie 8

Znaczniki HTML <strong> oraz <em>, które służą do wyróżniania istotności tekstu, odpowiadają pod względem formatowania znacznikom

A. <b> oraz <u>
B. <i> oraz <mark>
C. <b> oraz <i>
D. <u> oraz <sup>
Znacznik HTML <strong> jest używany do oznaczenia tekstu, który jest ważny, podczas gdy <em> służy do podkreślenia, że tekst powinien być akcentowany w kontekście. Odpowiednikami tych znaczników, pod względem formatowania, są <b> oraz <i>. Znacznik <b> stosuje się do wyróżnienia tekstu, nadając mu pogrubienie, co zazwyczaj oznacza, że tekst jest istotny. Z kolei <i> używamy do kursywy, co również może wskazywać na akcentowanie lub wyróżnienie pewnych słów, jednak w sposób bardziej subtelny niż przy pomocy pogrubienia. W praktyce, stosując <strong> oraz <em>, dbamy o to, aby nasza treść była bardziej dostępna dla użytkowników, zwłaszcza dla osób korzystających z technologii wspomagających, takich jak czytniki ekranu. Stosowanie znaczników semantycznych zgodnie z dobrymi praktykami zapewnia lepszą interpretację treści przez wyszukiwarki, co może wpływać na SEO. Warto również pamiętać, że pomimo że <b> i <i> mają swoje zastosowania, znacznie lepiej jest używać <strong> i <em> w kontekście semantycznym, aby poprawić zrozumienie treści przez maszyny i użytkowników.

Pytanie 9

Fragment kodu powyżej został napisany w języku JavaScript. Co należy umieścić w miejsce kropek, aby program przypisywał wartość 1 co trzeciemu elementowi w tablicy?

for (i = 0; i < T.length; ...)
{
    T[i] = 1;
}
A. i ++ 3
B. i = 3
C. i =+ 3
D. i += 3
Inne odpowiedzi wynikają z nieprawidłowego zrozumienia mechaniki inkrementacji w pętli for w JavaScript. Wyrażenie i ++ 3 sugeruje błąd składniowy i logiczny. Operator ++ służy do zwiększenia wartości zmiennej o 1 i nie jest poprawnie użyty w połączeniu z innym operatorem lub liczbą. Takie połączenie może prowadzić do nieprzewidywalnych rezultatów i niespójności w kodzie. Natomiast i = 3 to przypisanie które ustawia wartość i na 3 na początku każdej iteracji resetując pętlę i uniemożliwiając jej poprawne działanie. Taka konstrukcja powodowałaby nieskończone zapętlenie ponieważ warunek końcowy pętli nigdy nie mógłby zostać spełniony. Z kolei i =+ 3 to błędna składnia ponieważ operator += jest połączony z plusem co prowadzi do błędów interpretacji przez kompilator. Zamiana kolejności lub dodanie niepotrzebnych znaków zmienia całkowicie logikę operacji prowadząc do nieoczekiwanych rezultatów. Zrozumienie poprawnego użycia operatorów inkrementacji i przypisania jest kluczowe w programowaniu w JavaScript ponieważ umożliwia to pisanie efektywnego i wydajnego kodu. Takie błędy są częste u początkujących którzy często mylą różne operatory przypisania i inkrementacji dlatego ważne jest ćwiczenie poprawnych konstrukcji składniowych podczas nauki programowania. Częste ćwiczenie i testowanie kodu w różnych scenariuszach pozwala na lepsze zrozumienie tych mechanizmów i uniknięcie typowych pułapek związanych z nieprawidłowym użyciem operatorów.

Pytanie 10

Aby zainstalować system CMS Joomla!, potrzebne jest środowisko

A. Apache oraz PHP
B. PHP oraz MySQL
C. IIS, Perl oraz MySQL
D. Apache, PHP i MySQL
Aby uruchomić system CMS Joomla!, niezbędne jest środowisko składające się z serwera Apache, języka PHP oraz bazy danych MySQL. Apache jest jednym z najpopularniejszych serwerów WWW, który obsługuje zapytania HTTP i serwuje zawartość stron internetowych. PHP to skryptowy język programowania, który jest powszechnie używany do tworzenia dynamicznych stron internetowych i aplikacji webowych. W kontekście Joomla!, PHP jest odpowiedzialne za przetwarzanie kodu i interakcję z bazą danych. MySQL natomiast to system zarządzania relacyjnymi bazami danych, który przechowuje wszystkie dane potrzebne do działania Joomla!, takie jak informacje o użytkownikach, artykułach i ustawieniach systemowych. Współpraca tych trzech komponentów tworzy stabilne środowisko do działania Joomla!, zapewniając optymalizację wydajności oraz bezpieczeństwo. Warto również zaznaczyć, że Joomla! wymaga minimum wersji PHP 7.2 oraz MySQL 5.5, aby zapewnić pełną funkcjonalność i wsparcie dla nowoczesnych rozwiązań webowych.

Pytanie 11

Graficzny interfejs użytkownika, który umożliwia wprowadzanie danych do bazy, to

A. raport
B. kwerenda
C. formularz
D. encja
Formularz to interaktywny obiekt w graficznym interfejsie użytkownika, który umożliwia użytkownikom wprowadzanie danych do bazy danych w sposób zorganizowany i intuicyjny. Formularze są standardowo używane w aplikacjach webowych oraz desktopowych, pozwalając na zbieranie informacji od użytkowników, takich jak imię, nazwisko, adres e-mail czy inne istotne dane. Stosowanie formularzy w systemach informacyjnych jest zgodne z zasadami projektowania UX (User Experience), które zalecają, aby interfejsy były jak najbardziej przyjazne dla użytkowników. Dobrym przykładem zastosowania formularzy są strony rejestracyjne, gdzie użytkownicy muszą wprowadzić swoje dane, a system zapisuje je w bazie danych. Dobrze zaprojektowany formularz powinien zawierać walidację danych wprowadzanych przez użytkowników, co pozwala na eliminację błędów przed przesłaniem informacji do bazy. Warto również pamiętać o responsywności formularzy, aby były one użyteczne na różnych urządzeniach, co jest jednym z wymogów nowoczesnego web designu.

Pytanie 12

W języku PHP zapis // służy do

A. używania tablicy superglobalnej
B. dodawania komentarza wieloliniowego
C. zastosowania operatora dzielenia bez reszty
D. dodawania komentarza jednoliniowego
Znak // w języku PHP jest używany do wstawiania komentarzy jednoliniowych. Oznacza to, że wszystko, co znajduje się po tym znaku na danej linii, zostanie zignorowane przez interpreter PHP. Komentarze są istotnym elementem programowania, ponieważ umożliwiają programistom dodawanie wyjaśnień i notatek do kodu, co znacznie ułatwia jego późniejsze zrozumienie i konserwację. Przykładowo, możesz użyć komentarza jednoliniowego, aby wyjaśnić określoną funkcjonalność w kodzie: // To jest funkcja obliczająca sumę. Warto również pamiętać, że stosowanie komentarzy jest standardową praktyką w branży, która zwiększa czytelność i jakość kodu. Dobrą praktyką jest stosowanie komentarzy, aby wyjaśniać bardziej złożone fragmenty kodu, co wpływa na łatwiejsze współdzielenie pracy w zespołach programistycznych, a także na przyszłe modyfikacje kodu przez innych programistów. Warto zaznaczyć, że PHP obsługuje także komentarze wieloliniowe, które zaczynają się od /* i kończą na */. Jednak dla prostych, jednozdaniowych notatek znak // jest najbardziej odpowiedni.

Pytanie 13

Jaką wartość wyświetli standardowe wyjście dla podanego w ramce fragmentu kodu w języku C++?

Ilustracja do pytania
A. 32
B. 3
C. 2
D. 0
W analizowanym fragmencie programu funkcja obliczenia modyfikuje swój argument x poprzez operację x %= 3 co oznacza że oblicza resztę z dzielenia x przez 3. W przypadku x równego 32 reszta z dzielenia przez 3 wynosi 2. Następnie instrukcja x++ zwiększa wartość x o 1 co daje wynik końcowy równy 3. Wiedza o operatorach arytmetycznych takich jak % oraz o inkrementacji ++ jest kluczowa przy programowaniu w C++. Operator % jest powszechnie używany do określania parzystości liczb lub cyklicznych wzorców w algorytmach. Zrozumienie jak te operacje wpływają na przepływ danych w programie pozwala unikać błędów logicznych i poprawiać wydajność kodu. Inkrementacja jest również istotna w wielu strukturach sterujących takich jak pętle co czyni ją niezbędnym elementem w rozwiązywaniu problemów algorytmicznych. Tego typu operacje są fundamentem w standardach programowania ponieważ pozwalają na precyzyjne kontrolowanie wartości zmiennych w trakcie wykonywania programów. Warto ćwiczyć te koncepcje aby w pełni wykorzystać potencjał języka C++ szczególnie w kontekście optymalizacji i wydajności aplikacji.

Pytanie 14

Tabele Klienci oraz Zgloszenia są związane relacją jeden do wielu. Jakie polecenie należy wydać, aby uzyskać tylko opis zgłoszenia oraz odpowiadające mu nazwisko klienta dla zgłoszenia numer 5?

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Klienci.id = 5
B. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.id WHERE Zgloszenia.id = 5
C. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Zgloszenia.id = 5
W przypadku nieprawidłowych odpowiedzi często występuje błędne rozumienie relacji i składni SQL. W pierwszym przykładzie, klauzula WHERE Klienci.id = 5 próbuje filtrować według identyfikatora klienta zamiast zgłoszenia, co nie jest zgodne z celem zapytania. Taki zapis prowadzi do niepoprawnych wyników, ponieważ zamiarem jest uzyskanie danych dla konkretnego zgłoszenia, a nie wszystkich zgłoszeń danego klienta. Innym częstym błędem jest pominięcie klauzuli ON w zapytaniu, co widać w trzeciej odpowiedzi. Bez określenia warunku łączenia, SQL nie ma informacji, jak powiązać rekordy z dwóch tabel, co może skutkować błędem lub zwróceniem niepoprawnych danych. W czwartym przypadku, klauzula ON jest błędnie skonstruowana, używając Klienci.id = Zgloszenia.id, co nie odpowiada relacji klucz główny-klucz obcy. Takie błędy wynikają z niezrozumienia struktury bazy danych i jej modeli relacyjnych. W praktyce, takie niepoprawne zapytania mogą prowadzić do błędnych wniosków, utraty integralności danych i problemów z wydajnością systemu. Aby tego uniknąć, istotne jest zrozumienie logicznej struktury bazy danych oraz poprawne stosowanie składni SQL, co jest kluczowe w pracy z relacyjnymi bazami danych. W profesjonalnym środowisku, testowanie i walidacja zapytań pomogą zidentyfikować i poprawić takie błędy przed wdrożeniem w produkcji.

Pytanie 15

W języku PHP do zmiennej a wprowadzono tekst, w którym wielokrotnie występuje fraza Kowalski. Jakim poleceniem można jednocześnie zamienić wszystkie pojawienia się słowa Kowalski na słowo Nowak w zmiennej a?

A. $a = str_replace('Kowalski', 'Nowak', $a);
B. $a = str_replace('Nowak', 'Kowalski', $a);
C. $a = str_replace('Nowak', 'Kowalski');
D. $a = str_rep('Kowalski', 'Nowak', $a);
Wybór niepoprawnych odpowiedzi wskazuje na niezrozumienie funkcji str_replace w PHP oraz na błędne podejście do wymiany tekstu. Odpowiedź $a = str_replace('Nowak', 'Kowalski'); jest błędna, ponieważ próbuje zamienić 'Nowak' na 'Kowalski', co nie odpowiada zadaniu polegającemu na zamianie 'Kowalski' na 'Nowak'. To pokazuje brak zrozumienia kierunku działania funkcji. Kolejna odpowiedź $a = str_rep('Kowalski', 'Nowak', $a); jest niepoprawna, ponieważ str_rep nie jest właściwą funkcją w PHP. Powoduje to, że kod nie zadziała, co wskazuje na niezrozumienie dokumentacji PHP oraz dostępnych funkcji. Ostatnia niepoprawna odpowiedź $a = str_replace('Nowak', 'Kowalski', $a); zawiera tę samą pomyłkę co pierwsza, gdyż zamiana jest odwrotna do tego, co jest wymagane. Te wybory mogą wynikać z mylnego przekonania, że zamiana tekstu działa w obu kierunkach lub że funkcje mogą być używane z dowolnymi nazwami, co jest nieprawdziwe. W przypadku manipulacji tekstem w PHP, istotne jest zrozumienie dokładnej struktury oraz parametrów funkcji, a także ich funkcjonalności. Dlatego szczególnie ważne jest zapoznanie się z dokumentacją oraz zrozumienie, jak działają funkcje, zanim zostaną zastosowane w praktyce.

Pytanie 16

Wskaż poprawne stwierdzenie dotyczące poniższej definicji stylu:

<style>
<!--
P{color:blue; font-size:14pt; font-style:italic}
A{font-size: 16pt ; text-transform:lowercase;}
TD.niebieski {color: blue}
TD.czerwony {color: red}
-->
</style>
A. Określono dwie kategorie
B. To jest styl lokalny
C. Odnośnik będzie napisany czcionką 14 punktów
D. Akapit będzie konwertowany na małe litery
W tym kawałku kodu CSS mamy dwie klasy: TD.niebieski i TD.czerwony. Klasy w CSS to nic innego jak sposób na nadawanie różnych stylów grupom elementów HTML. Poznajesz je po tym, że mają przed sobą kropkę. Klasa TD.niebieski ustawia kolor tekstu na niebieski, a TD.czerwony na czerwony. Tworzenie klas jest super ważne, gdy robisz strony WWW, bo pozwala ci na stosowanie jednolitych stylów w różnych miejscach. Dzięki temu łatwiej później ogarnąć wygląd strony. Na przykład, w dużych projektach webowych użycie klas sprawia, że wszystko wygląda spójnie, a zmiany kolorów czy innych stylów są proste, bo nie musisz grzebać w każdym elemencie osobno. Fajnie jest też nadawać klasom opisowe nazwy, bo to ułatwia zrozumienie kodu. W sumie, to standard w branży, żeby wszyscy, którzy będą pracować nad kodem, mogli się w nim łatwo odnaleźć.

Pytanie 17

Jaką rolę pełni funkcja PHP o nazwie mysql_num_rows()?

A. zwraca ilość wierszy znajdujących się w rezultacie zapytania
B. zwraca następny rekord z wynikami zapytania
C. numeruje rekordy w bazie danych
D. zwraca rekord o numerze podanym w argumencie funkcji
Funkcja mysql_num_rows() jest fundamentalnym narzędziem w interakcji z bazami danych w PHP, służącym do zwrócenia liczby wierszy w zestawie wyników zapytania. W kontekście programowania, jej zastosowanie jest kluczowe, gdy chcemy ocenić, czy zapytanie zwróciło jakiekolwiek dane. Przykładowo, jeśli wykonujemy zapytanie do bazy danych w celu pobrania listy użytkowników i chcemy sprawdzić, czy tabela zawiera jakiekolwiek rekordy, użycie mysql_num_rows() pozwala na łatwą i efektywną weryfikację. W praktyce, często łączy się tę funkcję z innymi, takimi jak mysql_query() w celu uzyskania wyników zapytania, a następnie sprawdzenia ich liczby. W związku z tym, dobre praktyki sugerują, aby po każdym zapytaniu, które może zwrócić wiele wyników, stosować tę funkcję do walidacji wyniku. Należy pamiętać, że mysql_num_rows() działa tylko na wynikach zapytań SELECT i nie jest użyteczna w przypadku innych typów operacji na bazach danych.

Pytanie 18

Aby zrealizować przekierowanie 301, które przenosi użytkownika z jednego URL na inny, należy skonfigurować plik serwera Apache zwany

A. apacheConf
B. .htaccess
C. configuration.php
D. conf.php
Odpowiedzi conf.php, apacheConf oraz configuration.php nie są poprawne w kontekście ustawiania przekierowania 301 w serwerze Apache. conf.php nie jest standardowym plikiem konfiguracyjnym serwera Apache; zazwyczaj odnosi się do plików PHP, które mogą być używane w aplikacjach webowych, ale nie mają one funkcji związanej z konfiguracją serwera czy przekierowaniami. Pliki te mogą jedynie zawierać zmienne konfiguracyjne dla aplikacji, ale nie umożliwiają ustawienia reguł dla serwera. W przypadku apacheConf, nie istnieje standardowy plik o tej nazwie w konfiguracji Apache. Podstawową konfigurację serwera Apache można wykonywać w pliku httpd.conf lub w plikach .htaccess, ale nie w pliku o nazwie apacheConf. Ponadto, configuration.php to nazwa, która również nie odnosi się do standardowego pliku konfiguracji serwera Apache, a raczej może być używana w kontekście aplikacji opartych na PHP do przechowywania ustawień aplikacji. Żaden z wymienionych plików nie ma funkcji związanej z przekierowaniami 301, co czyni je nieodpowiednimi w tym kontekście.

Pytanie 19

Uprawnienia obiektowe przyznawane użytkownikom serwera bazy danych mogą umożliwiać lub ograniczać

A. wykonywać polecenia, takie jak tworzenie kopii zapasowej
B. przechodzić uprawnienia
C. zmieniać role i konta użytkowników
D. realizować operacje na bazie, takie jak wstawianie lub modyfikowanie danych
Uprawnienia obiektowe w kontekście baz danych pozwalają na kontrolowanie dostępu do różnych zasobów, takich jak tabele, widoki czy procedury składowane. Odpowiedź dotycząca wykonywania operacji na bazie, takich jak wstawianie czy modyfikowanie danych, jest prawidłowa, ponieważ uprawnienia te bezpośrednio wpływają na możliwości użytkownika w zakresie manipulacji danymi. Przykładowo, jeśli użytkownik posiada uprawnienie do INSERT, może dodawać nowe rekordy do tabeli, natomiast uprawnienie UPDATE pozwala na zmianę istniejących danych. Takie zarządzanie uprawnieniami jest kluczowe w kontekście bezpieczeństwa danych oraz zapewnienia integralności systemu, ponieważ pozwala na ograniczenie dostępu tylko do tych operacji, które są niezbędne dla danego użytkownika. W praktyce administratorzy baz danych stosują zasady minimalnych uprawnień, przyznając użytkownikom tylko te uprawnienia, które są niezbędne do wykonywania ich pracy, co jest zgodne z najlepszymi praktykami w zakresie zarządzania bezpieczeństwem baz danych.

Pytanie 20

Zapis CSS postaci:

 ul {
    list-style-image: url('rys.gif');
}

sprawi, że na stronie internetowej
A. każdy z punktów listy będzie miał osobne tło pobrane z grafiki rys.gif
B. wyświetli się rysunek rys.gif jako tło listy nienumerowanej.
C. punktorem listy nienumerowanej będzie rys.gif
D. rys.gif będzie stanowił ramkę dla listy nienumerowanej.
Wygląda na to, że nie zrozumiałeś poprawnie jak działa właściwość CSS list-style-image. Ta właściwość nie jest używana do ustawienia obrazka jako tła listy, ramki listy lub tła każdego punktu listy. Zamiast tego, jest ona wykorzystywana do określenia obrazu, który będzie służył jako punktor listy nienumerowanej. W podanym kodzie CSS, obrazek 'rys.gif' zostanie ustawiony jako punktor dla każdego elementu listy <li> wewnątrz listy nienumerowanej <ul>. To ważne, aby zrozumieć, że mimo że obrazek jest ustawiony jako punktor, nie wpłynie to na tło ani na obramowanie listy. Ponadto, obrazek nie będzie stanowił tła dla każdego z punktów listy. To jest powszechny błąd, który wielu programistów początkujących może popełnić. Pamiętaj, że podstawowym celem CSS jest stylizowanie elementów HTML, a nie modyfikowanie ich struktury lub funkcjonalności. Zatem użycie właściwości list-style-image do modyfikacji tła lub obramowania listy byłoby niezgodne z zasadami CSS.

Pytanie 21

Jedną z charakterystyk relacyjnej bazy danych jest

A. obecność klas, obiektów i metod
B. zdefiniowanie jej stanu według obiektowego modelu danych
C. stosowanie kluczy głównych do identyfikacji rekordów w tabelach
D. używanie języka zapytań OQL
Relacyjne bazy danych opierają się na koncepcji tabel, gdzie dane są przechowywane w wierszach i kolumnach. Klucze główne odgrywają kluczową rolę w zapewnieniu unikalności rekordów w tabelach i umożliwiają ich identyfikację. Klucz główny to kolumna (lub zestaw kolumn), której wartości są unikalne w obrębie tabeli i nie mogą być puste. Przykładem może być tabela 'Użytkownicy', w której identyfikatorem użytkownika (kluczem głównym) może być numer PESEL lub unikalny ID. Dzięki kluczom głównym, można łatwo odnaleźć konkretne rekordy, a także powiązać je z innymi tabelami przy pomocy kluczy obcych, co jest fundamentalne dla relacyjnej struktury bazy danych. Standardy takie jak SQL (Structured Query Language) dostarczają narzędzi do definiowania, modyfikowania i manipulowania danymi z wykorzystaniem kluczy głównych, co jest podstawą projektowania baz danych zgodnie z najlepszymi praktykami. Dobre praktyki projektowe sugerują również, aby klucze główne były proste, stabilne i unikalne, co ułatwia zarządzanie danymi w relacyjnych systemach zarządzania bazą danych (RDBMS).

Pytanie 22

Przedstawione polecenie SQL nadaje użytkownikowi adam@localhost prawa:

GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO adam@localhost
A. manipulowania danymi bazy danych klienci.
B. manipulowania danymi w tabeli klienci.
C. zarządzania strukturą bazy danych klienci.
D. zarządzania strukturą tabeli klienci.
Niepoprawne odpowiedzi sugerują, że polecenie SQL nadaje użytkownikowi 'adam' z hosta 'localhost' prawa zarządzania strukturą bazy danych lub tabeli 'klienci', co jest niezgodne z prawdą. Zgodnie z konstrukcją polecenia GRANT, użytkownik otrzymuje prawa do manipulowania danymi, a nie do zarządzania strukturą. Zarządzanie strukturą bazy danych lub tabeli obejmuje operacje takie jak CREATE, ALTER, DROP, które pozwalają na tworzenie, modyfikowanie lub usuwanie bazy danych lub tabeli. Te uprawnienia są zazwyczaj zarezerwowane dla administratorów bazy danych i nie są nadawane zwykłym użytkownikom, co jest zgodne z zasadą minimalnych uprawnień dla bezpieczeństwa systemu. Dodatkowo, polecenie nie odnosi się do całej bazy danych 'klienci', tylko do konkretnej tabeli 'klienci'. Tę pomyłkę można zrozumieć, jako nieprawidłowe zrozumienie hierarchii i struktury bazy danych.

Pytanie 23

Osobistym środkiem ochrony dla oczu i twarzy może być

A. sprzęt filtrujący powietrze
B. przyłbica
C. fartuch ochronny
D. osłona pleksi pomiędzy stanowiskami pracy
Przyłbica jest indywidualnym środkiem ochrony oczu i twarzy, zaprojektowanym w celu ochrony przed szkodliwymi czynnikami mechanicznymi, chemicznymi oraz biologicznymi. Wykorzystanie przyłbic jest szczególnie istotne w środowiskach, gdzie istnieje ryzyko wystawienia pracowników na działanie odprysków, substancji chemicznych lub zagrożeń biologicznych, jak wirusy czy bakterie. Przykładem zastosowania przyłbic jest praca w laboratoriach chemicznych, podczas spawania, bądź w przemyśle drzewnym, gdzie odpryski materiału mogą być niebezpieczne. Dobrze zaprojektowana przyłbica powinna spełniać normy EN 166, które określają wymagania dotyczące ochrony oczu. Warto również zauważyć, że przyłbice mogą być stosowane w połączeniu z innymi środkami ochrony osobistej, takimi jak maski ochronne czy rękawice, co zwiększa poziom bezpieczeństwa pracowników. Dzięki możliwości łatwej dezynfekcji i przejrzystości materiału, przyłbice stanowią wygodny i efektywny sposób na zapewnienie bezpieczeństwa w różnych branżach. W kontekście pandemii COVID-19, ich popularność wzrosła jako dodatkowy środek ochrony zdrowia, co podkreśla ich uniwersalność i znaczenie w nowoczesnym podejściu do BHP.

Pytanie 24

Jakie słowo kluczowe w języku SQL należy zastosować, aby usunąć powtarzające się rekordy?

A. GROUP BY
B. DISTINCT
C. ORDER BY
D. LIKE
Słowo DISTINCT w SQL to taki sprytny sposób na pozbycie się duplikatów w wynikach zapytań. Jak robisz zapytanie SELECT, które zwraca różne wiersze, to dzięki DISTINCT dostaniesz tylko unikalne wartości w kolumnach, które wybierzesz. Na przykład, mając tabelę 'pracownicy' z kolumną 'miasto', jak użyjesz zapytania 'SELECT DISTINCT miasto FROM pracownicy;', to dostaniesz listę wszystkich miast, w których są pracownicy, a powtórzenia polecą w odstawkę. Warto pamiętać, że DISTINCT działa na całej kombinacji kolumn, które zwracasz. Jak dodasz więcej kolumn w zapytaniu, to SQL wyciągnie unikalne zestawienia tych kolumn. To naprawdę przydatne, zwłaszcza przy dużych zbiorach danych, gdzie duplikaty mogą namieszać w analizach i raportach. DISTINCT jest standardowym elementem w SQL i działa praktycznie w każdym systemie zarządzania bazami danych, jak MySQL czy PostgreSQL, co czyni to narzędzie mega uniwersalnym w codziennym grzebaniu w danych.

Pytanie 25

Jakie zadania programistyczne należy wykonać na serwerze?

A. Weryfikacja danych wprowadzonych do pola tekstowego na bieżąco
B. Zapisanie danych pozyskanych z aplikacji internetowej w bazie danych
C. Ukrywanie i wyświetlanie elementów strony w zależności od aktualnej pozycji kursora
D. Zmiana stylu HTML na stronie spowodowana ruchem kursora
Zapisanie danych pobranych z aplikacji internetowej w bazie danych to zadanie, które powinno być wykonywane po stronie serwera ze względów bezpieczeństwa, integralności danych oraz zarządzania zasobami. Serwer jest odpowiedzialny za przechowywanie informacji, które mogą być wykorzystywane przez wielu użytkowników, co wymaga centralizacji ich przetwarzania. W przypadku aplikacji internetowych, dane są często przesyłane z klienta (przeglądarki) do serwera, gdzie są walidowane oraz zapisywane w bazach danych. Na przykład, gdy użytkownik rejestruje się w aplikacji, jego dane osobowe są wysyłane do serwera, który sprawdza poprawność tych informacji i zapisuje je w bazie danych. Właściwe implementacje powinny stosować bezpieczne połączenia (np. HTTPS), a także techniki, takie jak sanitizacja danych, aby unikać ataków typu SQL Injection. Dobrą praktyką jest także stosowanie ORM (Object-Relational Mapping), co umożliwia łatwiejsze zarządzanie danymi i ich relacjami. Przechowywanie danych po stronie serwera pozwala na efektywne zarządzanie zasobami i umożliwia późniejsze przetwarzanie informacji w sposób zorganizowany i bezpieczny.

Pytanie 26

W dokumencie HTML utworzono formularz wysyłający dane do skryptu formularz.php. Po naciśnięciu przycisku typu submit, przeglądarka przekierowuje nas do określonego adresu. Na podstawie podanego linku można wywnioskować, że dane do pliku formularz.php przesłano metodą

.../formularz.php?imie=Anna&nazwisko=Kowalska
A. GET
B. POST
C. SESSION
D. COOKIE
Metoda GET w HTTP jest używana do przesyłania danych w adresie URL. Dane są dołączane jako parametry zapytania po znaku zapytania w formacie klucz=wartość. Przykład w pytaniu pokazuje, że dane imie=Anna oraz nazwisko=Kowalska są przesyłane jako część adresu URL do formularz.php. Jest to typowe dla metody GET, która umożliwia łatwe przesyłanie danych przez przeglądarkę i ich późniejsze przetwarzanie po stronie serwera. Metoda GET jest często stosowana w przypadku, gdy dane nie zawierają poufnych informacji, a ich objętość jest niewielka. Standard HTTP rekomenduje używanie metody GET do pobierania danych i niepowinno być używane do przesyłania lub modyfikowania danych. Dokumentacja W3C wskazuje, że GET jest metodą idempotentną, co oznacza, że wielokrotne wykonanie tego samego zapytania nie spowoduje dodatkowych efektów ubocznych. W praktyce GET jest używana np. w zapytaniach wyszukiwania w witrynach, gdzie parametry wyszukiwania są umieszczane w URL.

Pytanie 27

W języku SQL, aby usunąć tabelę należy zastosować polecenie

A. DROP TABLE
B. UNIQUE
C. DELETE
D. TRUNCATE TABLE
Poprawne polecenie do usunięcia całej tabeli w SQL to „DROP TABLE”. To polecenie działa na poziomie struktury bazy danych, a nie tylko na danych. Innymi słowy: nie usuwasz rekordów z tabeli, tylko samą tabelę jako obiekt – razem z jej definicją, indeksami, constraintami (klucze obce, klucze główne, unikalne, check) itp. Przykładowo, jeśli masz tabelę użytkownicy, to jej usunięcie wygląda tak: DROP TABLE uzytkownicy; Po wykonaniu tej komendy tabela przestaje istnieć w schemacie bazy. Próba SELECT * FROM uzytkownicy po takim DROP-ie zakończy się błędem typu „table does not exist”. Moim zdaniem warto zapamiętać, że DROP to operacja DDL (Data Definition Language), czyli zmienia definicję bazy, w odróżnieniu od DELETE, który jest DML (Data Manipulation Language) i modyfikuje tylko zawartość. W praktyce w projektach produkcyjnych polecenia DROP TABLE stosuje się ostrożnie, zwykle po wykonaniu kopii zapasowej lub na środowiskach deweloperskich/testowych, bo operacja jest destrukcyjna i w wielu silnikach baz danych nieodwracalna bez backupu. Dobrą praktyką jest też sprawdzenie zależności, np. kluczy obcych z innych tabel, bo DROP TABLE może się nie udać, jeśli inne tabele się do niej odwołują. W wielu systemach stosuje się wariant: DROP TABLE IF EXISTS nazwa_tabeli; co pozwala uniknąć błędu, gdy tabela już została wcześniej usunięta. Warto też mieć świadomość, że w normalnych projektach zmiany struktury bazy (w tym DROP TABLE) wykonuje się przez migracje lub skrypty wersjonujące, a nie „z palca” na produkcji, co po prostu zwiększa bezpieczeństwo i porządek w bazie.

Pytanie 28

Atrybut value w elemencie formularza XHTML

 <input type="text" name="name" value="value">
A. określa nazwę pola
B. określa domyślną wartość
C. definiuje maksymalną długość pola
D. ustawia pole jako tylko do odczytu
Atrybut 'value' w polu formularza XHTML ma kluczowe znaczenie, ponieważ określa wartość, która będzie domyślnie wyświetlana w polu tekstowym. Kiedy użytkownik otworzy formularz, będzie widział w polu tekstowym wpisaną wartość, co ułatwia interakcję, zwłaszcza w przypadkach, gdy potrzebne są przykłady lub domyślne odpowiedzi. Na przykład, w formularzu rejestracyjnym można ustawić atrybut 'value' na 'Jan Kowalski', co sugeruje użytkownikowi, jak powinien wypełnić swoje imię i nazwisko. Jest to zgodne z dobrymi praktykami projektowania formularzy, które dążą do poprawy użyteczności i zmniejszenia liczby błędów użytkowników. Warto również zauważyć, że w przypadku formularzy, jeśli użytkownik zdecyduje się nie zmieniać tej wartości, atrybut 'value' sprawia, że odpowiedź zostanie przesłana w formularzu po jego wysłaniu. To podkreśla znaczenie predefiniowania wartości w kontekście UX, ponieważ dobrze zaprojektowane formularze mogą znacznie poprawić doświadczenia użytkowników.

Pytanie 29

Które z poniższego oprogramowania nie jest zaliczane do systemów zarządzania treścią (CMS)?

A. WordPress
B. Apache
C. Joomla
D. Mambo
Joomla, Mambo i WordPress to przykłady systemów zarządzania treścią, które umożliwiają użytkownikom łatwe tworzenie i zarządzanie treściami na stronach internetowych. Joomla to rozbudowany CMS, który oferuje zaawansowane funkcje zarządzania treścią oraz rozbudowany system rozbudowy za pomocą komponentów i modułów, co czyni go idealnym narzędziem dla średnich i dużych serwisów internetowych. Mambo, będący jednym z pierwszych systemów tego typu, również dostarcza szereg funkcji umożliwiających tworzenie i zarządzanie treściami, jednak został w dużej mierze wycofany na rzecz bardziej nowoczesnych platform, jak Joomla. WordPress, z kolei, jest najpopularniejszym systemem zarządzania treścią na świecie, znanym z prostoty obsługi oraz ogromnej społeczności deweloperów, co pozwala na łatwe dostosowywanie i rozszerzanie funkcji poprzez wtyczki. Każdy z tych systemów jest zaprojektowany z myślą o użytkownikach, którzy chcą efektywnie zarządzać treściami bez konieczności programowania, oferując przy tym różne możliwości personalizacji i wsparcie dla różnych rodzajów treści, co czyni je idealnymi narzędziami w tworzeniu nowoczesnych stron internetowych.

Pytanie 30

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. klucza głównego.
B. klucza obcego.
C. wyłącznie typu tekstowego.
D. wyłącznie typu logicznego.
Poprawna jest odpowiedź dotycząca klucza głównego, bo to właśnie pole (lub zestaw pól) oznaczone jako PRIMARY KEY w tabeli pełni rolę jednoznacznego identyfikatora rekordu. W praktyce oznacza to, że dla każdej krotki (wiersza) w tabeli wartość klucza głównego musi być unikalna i nie może być pusta (NULL). Systemy baz danych, takie jak MySQL, PostgreSQL, SQL Server czy Oracle, egzekwują te zasady automatycznie – jeśli spróbujesz wstawić drugi rekord z tą samą wartością klucza głównego, dostaniesz błąd naruszenia unikalności. Moim zdaniem to jedna z kluczowych zasad normalnego projektowania baz danych: zawsze projektujemy tabelę zaczynając od przemyślania klucza głównego. W aplikacjach webowych bardzo często używa się prostego klucza głównego typu liczbowego (np. INT AUTO_INCREMENT lub SERIAL), który jest technicznym identyfikatorem rekordu. Dzięki temu łatwo się odwołać do konkretnego użytkownika, zamówienia czy produktu po jego ID. Klucz główny jest też podstawą do definiowania kluczy obcych w innych tabelach – relacje typu 1:N czy N:M opierają się właśnie na odwołaniach do wartości PRIMARY KEY. Z mojego doświadczenia wynika, że stosowanie sztucznych (surrogate) kluczy głównych, zamiast kombinowania z wieloma polami naturalnymi, upraszcza później zapytania SQL, modyfikacje struktury i integrację z kodem w PHP czy JavaScript. W dobrze zaprojektowanej bazie danych każda tabela relacyjna powinna mieć jasno zdefiniowany klucz główny, bo bez tego trudno mówić o porządnym zarządzaniu danymi, spójności referencyjnej i wydajnym indeksowaniu.

Pytanie 31

Podczas wykonywania zapytania można skorzystać z klauzuli DROP COLUMN

A. DROP TABLE
B. CREATE TABLE
C. ALTER TABLE
D. ALTER COLUMN
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ klauzula DROP COLUMN jest używana w kontekście zmiany struktury tabeli w bazach danych. Polecenie ALTER TABLE pozwala na modyfikację istniejącej tabeli, w tym dodawanie, usuwanie lub modyfikowanie kolumn. Użycie klauzuli DROP COLUMN umożliwia usunięcie określonej kolumny z tabeli, co jest przydatne, gdy kolumna nie jest już potrzebna, zawiera nieaktualne dane lub w celu optymalizacji struktury bazy danych. Na przykład, jeśli mamy tabelę 'Użytkownicy' z kolumną 'wiek', której chcemy się pozbyć, możemy użyć polecenia: 'ALTER TABLE Użytkownicy DROP COLUMN wiek;'. Ważne jest, aby przed wykonaniem tej operacji upewnić się, że usunięcie kolumny nie wpłynie negatywnie na integralność danych lub logikę aplikacji. Praktyki dotyczące zarządzania bazami danych zalecają również wykonanie kopii zapasowej danych przed takimi operacjami, aby zminimalizować ryzyko utraty danych.

Pytanie 32

W PHP typ float oznacza

A. całkowity
B. łańcuchowy
C. zmiennoprzecinkowy
D. logiczny
Typ float w PHP to coś w rodzaju magicznego narzędzia do pracy z liczbami, które mają część dziesiętną. Tego typu liczby są niezbędne, kiedy musimy mieć na uwadze detale, na przykład w finansach czy matematyce. Weźmy taki przykład: przy obliczaniu cen w sklepie internetowym często spotykamy się z kwotami jak 19.99 zł. Dzięki PHP możemy wykonywać różne operacje matematyczne na tych liczbach, co daje nam dużą elastyczność w pracy z danymi liczbowymi. Jednak trzeba wiedzieć, że ze względu na to, jak komputery przechowują liczby zmiennoprzecinkowe, zdarzają się problemy z ich dokładnością. W sytuacjach, gdzie to precyzja jest kluczowa, jak w przypadku obliczeń finansowych, dobrze jest skorzystać z takich funkcji jak round(), żeby zaokrąglić wynik do odpowiedniej liczby miejsc po przecinku. Wiedza na temat typu float i jego zastosowania to absolutna podstawa w pracy z programowaniem, zwłaszcza przy tworzeniu aplikacji webowych.

Pytanie 33

Na podstawie przedstawionego kodu PHP wskaż ile wynosi czas ważności ustawionego ciasteczka?

A. 24 doby.
B. 24 godziny.
C. 1 godzina.
D. 1 minuta.
W pokazanym fragmencie kodu PHP funkcja setcookie() jest wywołana z trzema podstawowymi argumentami: nazwą ciasteczka ('egzamin'), jego wartością ('24') oraz czasem wygaśnięcia: time() + 60. Funkcja time() zwraca aktualny czas w postaci znacznika czasowego UNIX (liczba sekund od 1.01.1970). Dodanie do tego wartości 60 oznacza przesunięcie tego czasu o 60 sekund do przodu, czyli dokładnie o jedną minutę. Przeglądarka zapisuje to ciasteczko z datą wygaśnięcia ustawioną na ten przyszły moment. Po upływie tej minuty cookie jest automatycznie uznawane za nieważne i przestaje być wysyłane do serwera przy kolejnych żądaniach HTTP. W praktyce oznacza to, że to ciasteczko nadaje się np. do bardzo krótkotrwałych informacji: jednorazowy komunikat, prosty licznik, krótka flaga techniczna. Moim zdaniem lepiej jednak unikać zbyt krótkich czasów w realnych aplikacjach, bo użytkownicy potrafią się zdziwić, że coś „znika” tak szybko. Warto zapamiętać, że w setcookie() zawsze podajemy czas w sekundach jako absolutny timestamp (nie „za ile”, tylko konkretną datę w sekundach), dlatego używa się konstrukcji time() + X, gdzie X to liczba sekund. Jeśli chcemy godzinę – dajemy 60 * 60, jeśli dobę – 60 * 60 * 24, tydzień – 60 * 60 * 24 * 7 itd. To jest bardzo typowy wzorzec spotykany w dokumentacji PHP i w profesjonalnych projektach. W poważniejszych systemach stosuje się dodatkowo odpowiednie flagi (np. httponly, secure, samesite), ale logika czasu wygaśnięcia zawsze opiera się na sekundach i znaczniku czasowym. Dobrą praktyką jest też trzymanie takich wartości w stałych lub konfiguracji, żeby nie rozsiewać po kodzie „magicznych liczb” typu 60 czy 3600 bez komentarza.

Pytanie 34

Jak powinien być zapisany kolor 255 12 12 w modelu RGB na stronie www?

A. #EE0C0C
B. #2551212
C. #AB1A1D
D. #FF0C0C
Kolor 255, 12, 12 w modelu RGB oznacza maksymalne nasycenie koloru czerwonego oraz bardzo niskie wartości zielonego i niebieskiego. Zapis w postaci heksadecymalnej, który jest stosowany w projektowaniu stron internetowych, polega na konwersji wartości RGB do formatu szesnastkowego. W tym przypadku, wartość 255 w systemie dziesiętnym odpowiada FF w systemie szesnastkowym, co oznacza maksymalne nasycenie koloru czerwonego. Wartość 12 w systemie dziesiętnym odpowiada 0C, co jest zbyt niską wartością zarówno dla zielonego, jak i niebieskiego. Dlatego pełny zapis koloru RGB 255, 12, 12 w formacie heksadecymalnym to #FF0C0C. Użycie standardu heksadecymalnego (hex) jest powszechne w CSS, gdzie kolory są definiowane za pomocą szesnastkowych wartości. Przykładowo, aby ustawić tło elementu w CSS na ten kolor, można użyć zapisu: 'background-color: #FF0C0C;'. Warto zrozumieć, że poprawne użycie systemów kolorów RGB i hex jest kluczowe w projektowaniu graficznym i webowym, ponieważ wpływa na estetykę i użyteczność interfejsów użytkownika.

Pytanie 35

W języku C, aby zdefiniować stałą, należy zastosować

A. static
B. const
C. #INCLUDE
D. #const
W języku C, aby zadeklarować stałą, używamy słowa kluczowego 'const'. Oznaczenie zmiennej jako stałej z użyciem 'const' informuje kompilator, że wartość tej zmiennej nie może być zmieniana po jej inicjalizacji. Jest to istotne, ponieważ pozwala na większą kontrolę nad danymi w programie oraz może przyczynić się do zwiększenia bezpieczeństwa kodu. Na przykład, jeśli zadeklarujemy stałą długość tablicy jako 'const int length = 10;', kompilator zablokuje wszelkie próby zmiany tej wartości w późniejszej części programu. Dzięki temu, możemy uniknąć wielu błędów logicznych. Ponadto stosowanie stałych zwiększa czytelność kodu, ponieważ zamiast magicznych liczb w kodzie, używamy nazw, które jasno określają, co dana wartość reprezentuje. Warto również pamiętać, że stałe mogą być używane w różnych kontekstach, w tym przy definiowaniu parametrów funkcji, co pozwala na lepszą organizację i zarządzanie kodem. Praktyka używania 'const' jest zgodna z dobrymi praktykami programowania, które zalecają minimalizowanie zmienności danych tam, gdzie to możliwe.

Pytanie 36

W zaprezentowanym fragmencie algorytmu wykorzystano

Ilustracja do pytania
A. trzy bloki operacyjne (procesy)
B. jeden blok decyzyjny
C. jedną pętlę
D. dwie pętle
Błędy w odpowiedziach mogą wynikać z mylnego odbioru diagramu. Posiadanie bloku decyzyjnego nie zawsze znaczy, że mamy pętlę, bo pętle potrzebują zarówno warunków, jak i mechanizmu powtarzania. Wydaje się, że są różne bloki, ale w rzeczywistości mamy tu dwa bloki decyzyjne i jeden operacyjny, co nie zgadza się z odpowiedzią. Na diagramie nie da się znaleźć dwóch pętli, co może sugerować, że nie do końca rozumiesz strukturę algorytmu. Często w takich analizach ludzie mylą bloki decyzyjne z pętlami, co jest błędne, bo pętle są bardziej złożonymi strukturami. Jak się programuje, ważne jest, żeby dobrze rozróżniać te elementy, bo to wpływa na jakość algorytmu. Mnie osobiście pomogło to w pisaniu lepszego kodu, dlatego warto poświęcić chwilę na zrozumienie różnic między tymi pojęciami.

Pytanie 37

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }
W tym zadaniu chodzi o zrozumienie, jak działają selektory CSS oraz pseudo-klasy odpowiedzialne za interakcję z użytkownikiem. Jeśli efekt ma pojawiać się tylko wtedy, gdy użytkownik najedzie myszką na wiersz tabeli, to zwykłe ustawienie background-color bez pseudo-klasy nie spełni tego warunku. Deklaracja tr { background-color: Pink; } oznaczałaby, że wszystkie wiersze tabeli są cały czas różowe, niezależnie od tego, czy ktoś na nie najedzie, czy nie. To jest po prostu styl statyczny, bez żadnej reakcji na zdarzenia. Podobnie zapis td, th { background-color: Pink; } ustawia tło dla wszystkich komórek tabeli (zarówno nagłówkowych th, jak i zwykłych td) w sposób stały. Moim zdaniem to dość częsty błąd: ktoś kojarzy tabelę z komórkami i intuicyjnie styluje td/th, ale zapomina, że w pytaniu chodzi o efekt dynamiczny „po najechaniu”. W rezultacie otrzymujemy tabelę pokolorowaną na stałe, bez jakiejkolwiek interakcji, co jest sprzeczne z założeniem zadania i z typowym zachowaniem tabel w nowoczesnych interfejsach. Ciekawsza jest kwestia selektora tr:active { background-color: Pink; }. Pseudo-klasa :active oznacza element w momencie „aktywacji”, czyli najczęściej w chwili klikania (przytrzymania przycisku myszy). Efekt trwa bardzo krótko, tylko w czasie samego kliknięcia. To zupełnie inny scenariusz niż wygodne podświetlenie wiersza, które ma się utrzymywać, dopóki kursor jest nad elementem. Użycie :active prowadzi do efektu, który miga na ułamek sekundy i z punktu widzenia ergonomii jest praktycznie bezużyteczny w kontekście podświetlania wierszy. Typowy błąd myślowy przy takich pytaniach polega na myleniu różnych pseudo-klas: :hover, :active, :focus. W webdevie przyjęło się, że :hover służy do reakcji na najechanie myszką, :active do krótkiej reakcji na kliknięcie, a :focus do zaznaczenia elementu, który ma aktualnie fokus klawiatury. Standardy CSS i dobre praktyki projektowania interfejsów jasno wskazują, że do efektu „podświetl wiersz, gdy nad nim jestem” należy użyć właśnie :hover na odpowiednim elemencie, czyli w tym przypadku tr. Wszystkie pozostałe odpowiedzi ignorują tę zasadę albo stosują nie tę pseudo-klasę, co trzeba, przez co nie odzwierciedlają poprawnie zachowania pokazanego w materiale wideo.

Pytanie 38

W HTML 5 atrybut action jest wykorzystywany w znaczniku

A. <body>
B. <form>
C. <head>
D. <code>
Atrybut action w znaczniku <form> jest kluczowym elementem w kontekście przesyłania danych formularzy w HTML5. Określa on adres URL, do którego zostaną wysłane dane po złożeniu formularza przez użytkownika. Przykładowo, jeżeli mamy formularz do logowania, atrybut action mógłby mieć wartość 'login.php', co oznacza, że po kliknięciu przycisku 'Zaloguj', dane z formularza zostaną przesłane do skryptu PHP obsługującego logowanie. Podczas projektowania formularzy warto przestrzegać zasad bezpieczeństwa, takich jak walidacja danych zarówno po stronie klienta, jak i serwera. Dobrą praktyką jest także stosowanie metod przesyłania danych, takich jak POST, aby ukryć dane użytkownika w URL. Dodatkowo, w ramach HTML5 wprowadzono atrybuty, takie jak novalidate, które pozwalają na wyłączenie domyślnej walidacji w przeglądarkach, co może być przydatne w określonych sytuacjach. Używanie znaczników formularzy zgodnie z ich przeznaczeniem zwiększa dostępność i użyteczność stron internetowych, co jest kluczowe w nowoczesnym web designie.

Pytanie 39

Jaką czynność należy wykonać przed zrobieniem kopii zapasowej danych w MySQL?

A. sprawdzenie, czy baza działa wystarczająco wydajnie
B. zweryfikowanie poprawności tabel w bazie oraz ewentualne naprawienie usterek
C. ustalenie systemu kodowania znaków w bazie
D. przyznanie uprawnień do przeglądania bazy dla Administratora
Sprawdzenie poprawności tabel w bazie przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który pozwala na zapewnienie integralności danych. W przypadku, gdy w tabelach występują błędy, takie jak uszkodzone wiersze czy niedopasowane indeksy, proces tworzenia kopii zapasowej może nie uwzględnić tych problemów, co w konsekwencji prowadzi do utraty danych lub trudności w ich przywróceniu. W MySQL, przed rozpoczęciem backupu, zaleca się użycie polecenia 'CHECK TABLE' do weryfikacji stanu tabel. Przykładowo, jeśli tabela 'users' jest sprawdzana i wykryto błąd, można zastosować 'REPAIR TABLE', aby naprawić uszkodzenia. Dobrą praktyką w branży jest regularne tworzenie kopii zapasowych oraz prowadzenie audytów jakości danych, co pozwala na minimalizację ryzyka utraty informacji. Utrzymywanie bazy danych w dobrym stanie technicznym poprzez regularne sprawdzanie tabel oraz ich naprawianie jest zalecane w dokumentacji MySQL oraz innych systemów zarządzania bazami danych, co podkreśla znaczenie tego procesu w kontekście bezpieczeństwa danych.

Pytanie 40

W języku PHP funkcja trim służy do

A. redukcji tekstu o liczbę znaków określoną w parametrze
B. podawania długości tekstu
C. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
D. porównywania dwóch tekstów i wyświetlania ich wspólnej części
Wybór niewłaściwej odpowiedzi może wynikać z pomylenia funkcji <i>trim</i> z innymi funkcjami w PHP, które pełnią różne role. Na przykład, porównywanie dwóch napisów i wypisywanie części wspólnej nie jest funkcjonalnością dostępną w <i>trim</i>, lecz w funkcjach takich jak <i>similar_text</i> lub używając operatorów porównania. Dodatkowo, funkcja <i>strlen</i> jest odpowiedzialna za podawanie długości napisu, co również nie ma związku z działaniem <i>trim</i>. Zmniejszanie napisu o wskazaną liczbę znaków można zrealizować za pomocą funkcji takich jak <i>substr</i>, a nie <i>trim</i>, która koncentruje się jedynie na usuwaniu nadmiarowych znaków z końców. Te pomyłki często wynikają z niepełnego zrozumienia funkcji dostępnych w PHP oraz ich specyfiki w kontekście obróbki tekstu. Aby uniknąć takich nieporozumień, warto dokładnie zapoznać się z dokumentacją PHP oraz zwracać uwagę na kontekst i zastosowanie każdej funkcji. Zrozumienie, jakie zadania są przeznaczone dla poszczególnych funkcji, jest kluczowe dla efektywnego programowania oraz unikania błędów w kodzie.