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 18:04
  • Data zakończenia: 10 kwietnia 2026 18:33

Egzamin niezdany

Wynik: 17/40 punktów (42,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu— sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Metoda w języku PHP, która pełni rolę konstruktora, nosi nazwę

A. _create
B. _open
C. _construct
D. _new
Konstruktor w języku PHP to specjalna metoda, która jest wywoływana automatycznie w momencie tworzenia obiektu danej klasy. Nazwa konstruktora w PHP to __construct, co jest zgodne z konwencjami programistycznymi i standardem PSR-1. Zastosowanie konstruktora pozwala na inicjalizację obiektu oraz przekazywanie parametrów, które mogą być wykorzystane w dalszej części kodu. Na przykład, jeśli mamy klasę `Samochod`, możemy zdefiniować konstruktor, który przyjmuje parametry takie jak marka, model i rok produkcji. Dzięki temu każdy nowo utworzony obiekt samochodu będzie miał ustawione te wartości. Stosowanie konstruktorów jest powszechną praktyką w programowaniu obiektowym, co sprzyja lepszemu zarządzaniu kodem i jego czytelności. Przykład: `public function __construct($marka, $model, $rok) { $this->marka = $marka; $this->model = $model; $this->rok = $rok; }`. Warto również pamiętać, że konstruktor może dziedziczyć właściwości i metody z klasy rodzicielskiej, co jest kluczowe w kontekście programowania obiektowego.

Pytanie 2

W tabeli podzespoly należy zaktualizować wartość pola URL na 'toshiba.pl' dla wszystkich rekordów, gdzie pole producent to TOSHIBA. W języku SQL ta zmiana będzie wyglądała następująco

A. UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
B. UPDATE podzespoly SET URL='toshiba.pl';
C. UPDATE podzespoly.producent='TOSHIBA' SET URL='toshiba.pl';
D. UPDATE producent='TOSHIBA' SET URL='toshiba.pl';
W analizowanych odpowiedziach występuje szereg błędów w zakresie składni SQL oraz koncepcji użycia klauzuli UPDATE. W pierwszej z niepoprawnych odpowiedzi brak jest warunku WHERE, co skutkuje aktualizacją URL dla wszystkich rekordów w tabeli 'podzespoly', co może prowadzić do niepożądanych zmian w bazie danych. Przy podejmowaniu decyzji o modyfikacji danych, klauzula WHERE jest kluczowa dla ograniczenia zakresu aktualizacji tylko do tych rekordów, które spełniają określone kryteria. Dodatkowo, w kolejnej odpowiedzi zastosowanie składni UPDATE producent='TOSHIBA' SET URL='toshiba.pl'; jest błędne, ponieważ nie reprezentuje ona poprawnej sekwencji SQL. W SQL nie można używać operatora równości bezpośrednio w kontekście instrukcji UPDATE. Ponadto, ostatnia odpowiedź również myli koncepcję, ponieważ sugeruje aktualizację na poziomie producenta, a nie rekordu w tabeli podzespoly. Stosowanie niewłaściwej składni oraz brak zrozumienia kontekstu aktualizacji prowadzi do poważnych błędów w pracy z bazami danych. Kluczowym błędem myślowym jest brak uznania, że każda operacja na bazie danych powinna być przemyślana pod kątem jej wpływu na integralność i spójność danych.

Pytanie 3

Do ilu pól edycyjnych zostanie przypisane tło Teal dla przedstawionego fragmentu dokumentu HTML i stylu CSS?

<input type="text">
<input type="number">
<input type="email">
<input type="number">
<input>

input[type="number"] {
    background-color: Teal;
}
A. Do dwóch.
B. Do żadnego.
C. Do wszystkich.
D. Do trzech.
Bardzo dobrze! Wybrałeś prawidłową odpowiedź, mówiącą, że tło Teal zostanie przypisane do dwóch pól edycyjnych. W przedstawionym fragmencie dokumentu HTML mamy pięć pól edycyjnych (input), z których tylko dwa mają typ 'number'. Tło Teal jest zdefiniowane w stylu CSS i ma być zastosowane tylko do pól typu 'number'. Jest to zgodne z dobrymi praktykami stosowania selektorów atrybutów w CSS, które pozwalają na precyzyjne określenie, do jakich elementów strony internetowej powinien być zastosowany dany styl. Dzięki temu możemy na przykład zastosować różne style dla różnych typów pól wejściowych, jak to jest w tym przypadku. To jest przykład, jak możemy wykorzystać moc CSS do kontroli wyglądu różnych elementów na naszej stronie.

Pytanie 4

Jakie będzie wynik działania programu napisanego w JavaScript, umieszczonego w ramce, kiedy wprowadzisz wartość 5?

var n, i;
var a = 1;

n = prompt("Podaj n:", "");

for (i=n; i>=2; i--)
    a*=i;

document.write("Wynik ",a);
A. 125
B. 625
C. 60
D. 120
Niepoprawne odpowiedzi wynikają z niezrozumienia działania pętli i operatora *= w języku JavaScript. Program implementuje algorytm obliczający silnię, co oznacza wielokrotne mnożenie kolejnych liczb całkowitych malejących aż do wartości 2. Niezrozumienie, że silnia n to iloczyn n*(n-1)*(n-2)*...*2, prowadzi do błędnych odpowiedzi. Początkowa wartość zmiennej a ustawiona na 1 jest kluczowa, ponieważ działa jako neutralny element mnożenia. Każda iteracja pętli zmniejsza wartość i, a *= i oznacza, że a jest mnożone przez bieżącą wartość i, co jest często źle interpretowane jako dodawanie lub niedokładne mnożenie. To typowy błąd przy próbie szybkiego zrozumienia kodu bez analizy krok po kroku. Kolejnym częstym błędem jest złe zrozumienie zakresu działania pętli for, która w tym przypadku działa od wartości n aż do 2 włącznie, co jest istotne, bo mnożenie przez 1 nie zmienia wyniku, ale jest częścią klasycznej definicji silni. Dla danych wejściowych 5, poprawnym wynikiem jest 5*4*3*2*1, co daje 120, a inne wartości jak 125, 60 czy 625 wskazują na błędne założenia lub niepełne zrozumienie mechanizmu działania pętli i mnożenia w kontekście silni.

Pytanie 5

W jakiej technologii niemożliwe jest przetwarzanie danych wprowadzanych przez użytkownika na stronie WWW?

A. CSS
B. JavaScript
C. PHP
D. AJAX
PHP, AJAX i JavaScript to technologie, które mają zdolność do przetwarzania danych użytkownika wprowadzanych na stronach WWW. PHP jest językiem skryptowym po stronie serwera, który może obsługiwać dane użytkowników z formularzy, przetwarzać je, a następnie zwracać odpowiedzi do klienta. Dzięki PHP można na przykład zbierać dane z formularzy rejestracyjnych, walidować je i przechowywać w bazach danych. AJAX, będący technologią asynchronicznego przetwarzania danych, pozwala na komunikację z serwerem bez potrzeby przeładowywania strony. Dzięki AJAX użytkownicy mogą wprowadzać dane w formularzach i otrzymywać na bieżąco odpowiedzi z serwera, co poprawia interaktywność aplikacji internetowych. JavaScript, jako język skryptowy po stronie klienta, umożliwia manipulację danymi wprowadzanymi przez użytkowników i wykonuje walidację danych w czasie rzeczywistym. Przykładowo, JavaScript może kontrolować poprawność danych w formularzach przed ich wysłaniem na serwer, co zapobiega błędom i zwiększa użyteczność aplikacji. Dlatego, w przeciwieństwie do CSS, te technologie są kluczowe dla przetwarzania i interakcji z danymi użytkowników, co sprawia, że są niezbędne w nowoczesnym web developmencie.

Pytanie 6

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. określa tablicę zawierającą sześć wartości
B. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
C. definiuje tablicę z trzema wartościami
D. jest niepoprawny, nieznany operator =>
W tym przypadku mówimy o tablicach w PHP, które są podstawą zarządzania danymi w tym języku. Jednak stwierdzenie, że tablice asocjacyjne mogą mieć tylko klucze liczbowe, to nieprawda. W rzeczywistości klucze asocjacyjne mogą być wszelkimi wartościami skalarnymi, a najczęściej używa się ciągów znaków dla lepszej czytelności kodu. Operator '=>' w PHP jest powszechnie stosowany do przypisywania wartości do kluczy tablic asocjacyjnych, co jest totalnie normalne. Wydaje mi się, że błędne rozumienie tego operatora może pochodzić z braku praktyki z PHP albo z mieszania z innymi językami. Przykład zawiera trzy pary klucz-wartość, więc twierdzenie, że definiuje sześć wartości, jest grube nieporozumienie. Zrozumienie, jak PHP działa z tablicami, jest kluczowe, zwłaszcza w aplikacjach webowych, bo tablice są mega przydatne do przetwarzania danych. Dlatego warto przyłożyć się do analizowania struktury tych tablic, co pomoże unikać błędów w projektach.

Pytanie 7

Metainformacja "Description" zawarta w pliku HTML powinna zawierać ``` ```

A. opis zawartości strony
B. listę kluczowych fraz używanych przez wyszukiwarki internetowe
C. nazwę aplikacji, w której stworzono stronę
D. informację o autorze strony
Metainformacja 'Description' zawarta w pliku HTML pełni kluczową rolę w optymalizacji stron internetowych pod kątem wyszukiwarek. Jest to krótki opis treści strony, który pomaga wyszukiwarkom zrozumieć, o czym jest dana strona. Wartościowy opis powinien być zwięzły, informacyjny i zachęcający do kliknięcia, ponieważ często pojawia się w wynikach wyszukiwania jako fragment tekstu, obok tytułu strony. Przykładem dobrze skonstruowanego opisu może być 'Dowiedz się, jak skutecznie zarządzać swoimi finansami osobistymi dzięki naszym praktycznym poradnikom i wskazówkom'. Taki opis nie tylko informuje użytkownika o zawartości strony, ale również zawiera słowa kluczowe, które mogą przyciągnąć uwagę. Zgodnie z wytycznymi Google, długość opisu powinna wynosić od 150 do 160 znaków, aby uniknąć obcięcia tekstu w wynikach wyszukiwania. Posiadanie dobrze napisanej metainformacji 'Description' jest więc niezbędne dla skutecznej strategii SEO i zwiększenia widoczności strony w internecie.

Pytanie 8

W CSS zapis selektora p > i { color: red; } wskazuje, że kolor czerwony zostanie zastosowany do

A. wszelkiego tekstu w znaczniku <p> lub wszelkiego tekstu w znaczniku <i>
B. tylko tego tekstu w znaczniku <p>, który ma przypisaną klasę o nazwie i
C. wszystkiego tekstu w znaczniku <p> z wyjątkiem tekstu w znaczniku <i>
D. wyłącznie tekstu w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
Zapis selektora CSS p > i { color: red; } jest precyzyjny i wskazuje, że kolor czerwony zostanie zastosowany wyłącznie do elementów <i>, które znajdują się bezpośrednio w obrębie elementu <p>. Warto zrozumieć, że symbol '>' oznacza selektor dziecka, co oznacza, że styl dotyczy tylko tych <i>, które są bezpośrednimi potomkami <p>. Przykładowo, jeśli mamy strukturę HTML:<p>To jest <i>przykład</i> tekstu <i>z <i>zagnieżdżonym</i> elementem</i>.</p>, to tylko pierwszy znacznik <i> (czyli "przykład") będzie miał kolor czerwony, ponieważ drugi znacznik <i> jest zagnieżdżony i nie jest bezpośrednim dzieckiem <p>. W kontekście standardów CSS, stosowanie selektorów dziecka jest zalecane, gdyż pozwala na precyzyjniejsze określenie, do których elementów styl ma być zastosowany, co w praktyce ułatwia zarządzanie stylami na stronach z bardziej złożoną strukturą HTML.

Pytanie 9

Jakie polecenie pozwala na dodanie kolumny zadanie kompletne do tabeli zadania?

A. ADD COLUMN zadanie kompletne WITH zadania
B. ALTER TABLE zadania ADD COLUMN zadaniekompletne int
C. INSERT INTO zadania VALUES zadania kompletne
D. CREATEINDEX zadania ADD COLUMN zadanie_kompletne int
Patrząc na błędne odpowiedzi, widać, że są tam spore pomyłki dotyczące zarządzania tabelami w relacyjnych bazach danych. Pierwsza błędna odpowiedź mówi o używaniu polecenia INSERT INTO, które tak naprawdę dodaje nowe wiersze, a nie zmienia struktury tabeli. Użycie tego polecenia do dodawania kolumny to pomyłka, co pokazuje brak zrozumienia podstaw SQL. Kolejna odpowiedź wspomniana przy CREATEINDEX jest równie myląca, bo to polecenie robi indeksy, co może szybko wyszukiwać dane, ale nie zmienia struktury tabeli. Stosowanie go w tym kontekście to nieporozumienie. No i ta propozycja 'ADD COLUMN zadanie kompletne WITH zadania' to coś, co nie istnieje w SQL, więc nie ma jak tego wykorzystać. Widać, że wiele błędów brało się z mylenia różnych pojęć dotyczących danych i struktur. Żeby poprawić swoje umiejętności, dobrze by było poświęcić trochę czasu na naukę podstawowych poleceń SQL i ich zastosowania w praktyce, bo to pomoże unikać takich pomyłek w przyszłości.

Pytanie 10

Jakim poleceniem można uzyskać konfigurację serwera PHP, w tym dane takie jak: wersja PHP, system operacyjny serwera oraz wartości przedefiniowanych zmiennych?

A. phpinfo();
B. print_r(ini_get_all());
C. phpcredits();
D. echo phpversion();
Chociaż inne funkcje wymienione w pytaniu mogą dostarczać pewnych informacji o konfiguracji PHP, nie są one w stanie w pełni zastąpić funkcji phpinfo(). Funkcja print_r(ini_get_all()) zwraca tablicę wszystkich ustawień konfiguracyjnych PHP, ale nie prezentuje ich w formie przystosowanej do przeglądania w przeglądarce, jak ma to miejsce w przypadku phpinfo(). Jej zastosowanie ogranicza się głównie do debugowania w skryptach, a nie do oglądania pełnej konfiguracji w czytelnej formie. Z kolei funkcja phpcredits() wyświetla informacje o autorach PHP oraz jego historii, co jest interesujące z perspektywy edukacyjnej, ale nie dostarcza praktycznych informacji o bieżącej konfiguracji serwera. Z kolei echo phpversion() zwraca jedynie wersję PHP, co jest zbyt ograniczone, aby uzyskać pełen obraz ustawień serwera. Typowe błędy myślowe, które prowadzą do wyboru tych opcji, to przekonanie, że każda z tych funkcji może dostarczyć wystarczających informacji o konfiguracji serwera. Jednak w praktyce, dla pełnego wglądu w ustawienia i environment, phpinfo() pozostaje niezastąpionym narzędziem, które stanowi standard w branży programowania PHP.

Pytanie 11

Celem testów związanych ze skalowalnością oprogramowania jest ocena, czy aplikacja

A. jest właściwie udokumentowana
B. potrafi funkcjonować przy założonym i wyższym obciążeniu
C. jest chroniona przed nieautoryzowanymi operacjami, np. dzieleniem przez zero
D. posiada odpowiednią funkcjonalność
Twoja odpowiedź o zdolności aplikacji do działania przy dużym obciążeniu to bardzo ważny temat w testach skalowalności. W skrócie, chodzi o to, jak system radzi sobie, gdy użytkowników lub operacji przybywa. To kluczowe, bo przecież każdy z nas nie lubi, gdy aplikacja się zacina, prawda? Przykładowo, testy obciążeniowe symulują sytuację, kiedy jest dużo jednoczesnych użytkowników, żeby sprawdzić, czy wszystko działa jak należy. Dobrze jest też monitorować, jak aplikacja się sprawuje w trakcie takich testów i analizować, gdzie mogą być wąskie gardła. Z moim doświadczeniem, zrozumienie tych rzeczy jest niezbędne do utrzymania dobrej jakości usług. Można też spojrzeć na standardy, takie jak ISO/IEC 25010, które podkreślają, jak ważna jest jakość oprogramowania, w tym jego zdolność do skalowania. To sprawia, że twoja odpowiedź ma duże znaczenie!

Pytanie 12

W celu modyfikacji danych w bazie danych można wykorzystać

A. filtrowaniem
B. raportem
C. formularzem
D. kwerendą SELECT
Raporty, filtracja oraz kwerendy SELECT to różne podejścia do pracy z danymi, ale nie są to metody edytowania danych w bazie danych. Raporty są narzędziem do generowania przeglądów danych, które pozwalają na analizę i wizualizację danych w różnych formatach, jednak nie umożliwiają bezpośredniego modyfikowania tych danych. Zwykle są one używane do prezentowania wyników na podstawie kwerend, a ich celem jest informowanie użytkowników o stanie bazy danych, a nie jej edytowanie. Filtracja, z drugiej strony, to proces selekcjonowania konkretnego zbioru danych z większej bazy, który ma na celu ograniczenie widocznych informacji, ale nie zmienia samych danych. Wyszukiwanie za pomocą filtrów jest kluczowe przy analizie danych, jednak samo w sobie nie prowadzi do ich edytowania. Kwerenda SELECT jest z kolei używana do pobierania danych z bazy, co oznacza, że pozwala na odczyt danych, ale nie na ich modyfikację. Kwerendy, które służą do edytowania danych, to kwerendy typu UPDATE czy INSERT, które bezpośrednio manipulują danymi w bazie. Obserwując te różnice, można zauważyć, że niektóre z tych narzędzi mogą być mylnie interpretowane jako metody edytowania, mimo że ich głównym celem jest analiza lub przetwarzanie informacji.

Pytanie 13

W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w przedziale (0, 100), a wartość zmiennej b jest większa od zera. Jak można poprawnie zapisać taki warunek?

A. if (a > 0 || a < 100 11 b < 0)
B. if (a > 0 && a < 100 && b > 0)
C. if ((a > 0 && a < 100) 11 b < 0)
D. if ((a > 0 11 a < 100) && b > 0)
Odpowiedzi, które nie spełniają wymogów pytania, zawierają różne błędy logiczne i syntaktyczne, które mogą prowadzić do nieporozumień w kodzie. W pierwszej opcji użyto operatora '11', co jest błędem, ponieważ nie jest to poprawny operator w JavaScript. Prawidłowy operator to '&&', który łączy warunki logiczne. W przypadku drugiej opcji zastosowano operator '||', co oznacza logiczne 'lub', co jest nieodpowiednie, gdyż wymaga spełnienia przynajmniej jednego z warunków, co nie jest zgodne z wymaganiem pytania. Dodatkowo, warunek a < 100 powinien być połączony z a > 0 w sposób, który jednoznacznie wskazuje na przedział wartości, co nie ma miejsca w tym zapisie. W kolejnej odpowiedzi, użycie operatora '11' również jest niepoprawne, co świadczy o nieznajomości podstawowych zasad składni języka JavaScript oraz błędnym zrozumieniu operatorów logicznych. Tego typu błędy często wynikają z ustalonych nawyków programistycznych, które nie uwzględniają specyfiki języka, co prowadzi do nieprawidłowych wniosków. Aby unikać takich pomyłek, warto regularnie przeglądać dokumentację oraz praktykować pisanie kodu z zachowaniem wytycznych dotyczących standardów i dobrych praktyk programowania.

Pytanie 14

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

A. Krzywe.
B. Barwienie.
C. Progowanie.
D. Inwersja.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 15

Podczas przygotowywania grafiki do umieszczenia na stronie internetowej konieczne jest wycięcie tylko pewnego fragmentu. Jak nazywa się ta czynność?

A. łączanie warstw.
B. kadrowanie.
C. zmiana rozmiaru.
D. odwracanie obrazu.
Kadrowanie to taka technika, która pomaga nam lepiej uchwycić to, co najważniejsze w obrazie. Wycinając niektóre fragmenty grafiki, skupiamy uwagę na tym, co naprawdę się liczy. Dobrze jest to mieć na uwadze, zwłaszcza przy zdjęciach portretowych, gdzie chcemy, żeby wzrok przyciągała twarz modela, a nie jakieś niepotrzebne tło. Kiedy kadrujemy, warto pamiętać o takich zasadach jak zasada trzecich, bo to pomaga zrobić fajną kompozycję. Można to robić w wielu programach graficznych, jak na przykład Adobe Photoshop czy GIMP. Tak w ogóle, dobrze jest dbać o proporcje i rozdzielczość, żeby obraz nie stracił na jakości. Gadżetem kadrowania można się też posługiwać w projektowaniu stron www, bo odpowiednie wybory graficzne poprawiają estetykę i funkcjonalność strony.

Pytanie 16

Określ rezultat działania podanego kodu PHP, jeśli zmienna tab jest tablicą. ```$tab = explode(",","jelenie,sarny,dziki,lisy,borsuki"); echo $tab[1]." ".$tab[2];```

A. sarny dziki
B. dziki lisy
C. jelenie sarny
D. lisy borsuki
Wynik działania tego kodu PHP to 'sarny dziki'. Dzieje się tak dzięki funkcji explode oraz indeksom tablicy. Funkcja explode dzieli tekst na kawałki według separatora, który w tym przypadku to przecinek. Więc, kiedy zastosujemy ją na ciągu 'jelenie,sarny,dziki,lisy,borsuki', dostaniemy tablicę, gdzie indeks 0 to 'jelenie', indeks 1 to 'sarny', indeks 2 to 'dziki', indeks 3 to 'lisy', a indeks 4 to 'borsuki'. Potem, polecenie echo wyświetla wartości z indeksów 1 i 2, które mają 'sarny' oraz 'dziki'. To całkiem praktyczne w programowaniu, zwłaszcza gdy przerabiamy i manipulujemy danymi tekstowymi. Dzięki explode łatwo dzielimy dane na mniejsze kawałki, co przydaje się w różnych sytuacjach, jak analiza danych czy robienie formularzy, a nawet w pracy z plikami CSV.

Pytanie 17

W katalogu www znajdują się foldery html oraz style, w których umieszczone są odpowiednio pliki o rozszerzeniu html i pliki o rozszerzeniu css. Aby dołączyć styl.css do pliku HTML, należy użyć

A. <link rel="Stylesheet" type="text/css" href="/styl.css" />
B. <link rel="Stylesheet" type="text/css" href="/../style/styl.css" />
C. <link rel="Stylesheet" type="text/css" href="/www/style/styl.css" />
D. <link rel="Stylesheet" type="text/css" href="/style/styl.css" />
W kontekście programowania stron internetowych istnieje wiele aspektów związanych z dołączaniem stylów CSS w dokumentach HTML, które mogą prowadzić do niepoprawnych ścieżek. Wybrane przez nas niepoprawne odpowiedzi zawierają błędy związane głównie z nieprawidłowym określeniem lokalizacji pliku styl.css. W przypadku pierwszej odpowiedzi, href='/styl.css' wskazuje na to, że plik CSS znajduje się w głównym folderze serwera, co jest niezgodne z przedstawioną strukturą folderów. Z kolei w drugiej odpowiedzi, href='/style/styl.css' sugeruje bezpośrednią ścieżkę do folderu 'style' z poziomu głównego katalogu serwera, co również nie odpowiada układowi folderów, gdzie 'style' jest zagnieżdżony w katalogu 'www'. W trzeciej odpowiedzi, href='/www/style/styl.css' nie jest poprawne, ponieważ sugeruje, że folder 'www' jest katalogiem głównym serwera, co jest niezgodne z rzeczywistością. W rzeczywistości, folder 'www' jest folderem, z którego zwykle serwowane są pliki, a nie folderem, który jest bezpośrednio dostępny z poziomu WWW. Te wszystkie błędy ilustrują potrzebę zrozumienia struktury katalogów i zasad dotyczących ścieżek w HTML i CSS, by zapewnić, że pliki zostaną prawidłowo załadowane i będą dostępne dla przeglądarek internetowych.

Pytanie 18

Jakie jest polecenie SQL, które pozwala na usunięcie bazy danych o nazwie firma?

A. ALTER firma DROP DATABASE;
B. DROP firma;
C. DROP DATABASE firma;
D. ALTER firma DROP;
Odpowiedź 'DROP DATABASE firma;' jest poprawnym poleceniem SQL, które służy do usunięcia bazy danych o nazwie 'firma'. Używanie polecenia 'DROP DATABASE' jest standardową praktyką w SQL, która zapewnia usunięcie całej struktury bazy danych, łącznie z wszystkimi tabelami, widokami, procedurami składowanymi oraz danymi. Jest to istotne w kontekście zarządzania bazami danych, gdyż przed wykonaniem takiego polecenia zaleca się wykonanie kopii zapasowej, aby uniknąć utraty danych. W praktyce, administratorzy baz danych używają tego polecenia w sytuacjach, gdy zachodzi potrzeba całkowitego usunięcia bazy danych, np. w przypadku dekompozycji projektu, migracji do innej bazy lub po zakończeniu testów w środowisku deweloperskim. Standardy SQL, takie jak ANSI SQL, definiują 'DROP DATABASE' jako część zestawu operacji DDL (Data Definition Language), co podkreśla jego znaczenie w kontekście strukturalnym zarządzania danymi.

Pytanie 19

Która z list jest interpretacją pokazanego kodu?

Ilustracja do pytania
A. Odpowiedź C
B. Odpowiedź D
C. Odpowiedź A
D. Odpowiedź B
Odpowiedzi A B i D są nieprawidłowe, ponieważ nie odzwierciedlają poprawnie struktury zagnieżdżonych list w HTML. Odpowiedź A przedstawia listę nieuporządkowaną jako główną strukturę, podczas gdy kod źródłowy wyraźnie używa listy uporządkowanej <ol>, która wymaga numeracji głównych elementów. To niezgodne z semantycznym znaczeniem użycia list uporządkowanych które powinny być stosowane, gdy kolejność elementów ma znaczenie. Odpowiedź B myli strukturę przedstawiając listę jako w pełni numerowaną, co również nie jest zgodne z kodem, ponieważ użyto listy nieuporządkowanej <ul> dla elementów podrzędnych, które powinny być oznaczone punktami. Taka interpretacja nie tylko jest błędna, ale również może prowadzić do mylącej prezentacji danych zwłaszcza w kontekście semantycznym i dostępności. Odpowiedź D również nie oddaje prawidłowej struktury ponieważ nie zagnieżdża wpisów 'Wpis1' 'Wpis2' 'Wpis3' i 'Wpis4' wewnątrz odpowiednich kategorii 'muzyka' i 'filmy'. Wiedza o prawidłowej interpretacji list HTML poprawia użyteczność stron internetowych i ułatwia ich optymalizację pod kątem wyszukiwarek co jest kluczowe w nowoczesnym projektowaniu stron internetowych.

Pytanie 20

Przedstawiona w języku C++ definicja typu wyliczeniowego sprawi, że enumerator CZWARTEK będzie równy

enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};
A. liczbie 1
B. napisowi "CZWARTEK"
C. napisowi 'CZWARTEK'
D. liczbie 4
Odpowiedzi wskazujące na napisy, zarówno w pojedynczych cudzysłowach, jak i podwójnych, są niepoprawne, ponieważ w kontekście definicji typów wyliczeniowych w C++ wartością enumeratora nie jest tekst, lecz liczba całkowita. Typy wyliczeniowe zostały zaprojektowane, aby reprezentować zestaw stałych, które mają konkretne wartości numeryczne, co czyni je bardziej efektywnymi w użyciu w porównaniu do zwykłych zmiennych. Próbując utożsamiać CZWARTEK z napisem, można dojść do mylnego wniosku, że nazwy enumeratorów są tego samego rodzaju co stringi, co prowadzi do nieprawidłowego zrozumienia ich roli w programowaniu. Warto również zauważyć, że w C++ używanie typów wyliczeniowych przyczynia się do zwiększenia bezpieczeństwa typów, ponieważ pozwala na ograniczenie wartości, które zmienna może przyjąć. Typowe błędy myślowe, które mogą prowadzić do nieprawidłowych odpowiedzi, obejmują mylenie reprezentacji tekstowej zmiennych z ich wartościami numerycznymi lub nieuważne czytanie definicji enum, co może prowadzić do błędnych wniosków na temat tego, jak działają enumeratory. W systemach, które operują na złożonych danych, takich jak dni tygodnia, wykorzystanie enumów jest kluczowe dla poprawnego działania logiki programu, dlatego istotne jest zrozumienie ich właściwego użycia i przypisania wartości.

Pytanie 21

Algorytm pokazany na ilustracji można zapisać w języku JavaScript przy użyciu instrukcji

Ilustracja do pytania
A. for(i = 0; i > 10; i++)
B. var i = 0; while(i <= 10) i += 2
C. var i = 0; do i++; while(i > 10)
D. var i = 0; do i = i + 2; while(i < 10)
Odpowiedź var i = 0 while(i <= 10) i += 2; jest poprawna, ponieważ reprezentuje poprawną implementację pętli while w języku JavaScript, która odzwierciedla logikę przedstawioną na rysunku. Kluczowym elementem jest inicjalizacja zmiennej i, ustawiając ją na 0. Następnie pętla while jest używana do sprawdzenia warunku i <= 10, co oznacza, że dopóki ten warunek jest spełniony, blok pętli będzie wykonywany. W każdym cyklu wartość i jest zwiększana o 2 za pomocą wyrażenia i += 2. Jest to typowy sposób iteracji w JavaScript, który pozwala na kontrolowaną manipulację zmienną kontrolującą pętlę. Takie podejście jest zgodne z najlepszymi praktykami, ponieważ zapewnia przejrzystość kodu i łatwość jego późniejszej modyfikacji. W praktycznych zastosowaniach, takie struktury są często używane w sytuacjach, gdy potrzebujemy przetworzyć dane w określonym zakresie, np. iterując przez elementy tablicy co drugi element. Zastosowanie pętli while z odpowiednim warunkiem umożliwia precyzyjną kontrolę nad przebiegiem iteracji, co jest kluczowe w programowaniu aplikacji i skryptów.

Pytanie 22

Jakie znaczniki <header>, <article>, <section>, <footer> są typowe dla języka

A. style="margin-bottom: 0cm;">HTML 4.01 Strict
B. HTML 4.01 Transitional
C. style="margin-bottom: 0cm;">XHTML 1.1
D. style="margin-bottom: 0cm;">HTML 5
Wybierając XHTML 1.1, HTML 4.01 Strict lub HTML 4.01 Transitional, można nie dostrzegać kluczowych różnic między tymi standardami a HTML5. XHTML 1.1 jest bardziej restrykcyjną wersją HTML, która wprowadza zasady XML, co skutkuje tym, że wszystkie elementy muszą być poprawnie zagnieżdżone i zamknięte. Choć XHTML wprowadza pewne nowe możliwości, nie oferuje semantycznych znaczników, które są dostępne w HTML5, co ogranicza jego użyteczność w kontekście nowoczesnych aplikacji webowych. HTML 4.01 Strict i HTML 4.01 Transitional to starsze standardy, które również nie zawierają semantycznych znaczników. Standard Strict wymagał ścisłego przestrzegania reguł HTML, co mogło być uciążliwe dla deweloperów, natomiast Transitional wprowadzał pewne elementy przestarzałe, co nie sprzyjało dążeniu do czystego i nowoczesnego kodu. Użycie starszych standardów skutkuje brakiem możliwości implementacji nowoczesnych funkcji i ogranicza dostępność treści dla użytkowników oraz robotów wyszukiwarek. W związku z tym, opieranie się na tych technologiach jest nieadekwatne w kontekście obecnych wymagań webowych, które preferują semantykę, dostępność i zgodność z nowoczesnymi standardami. Brak zrozumienia ewolucji HTML może prowadzić do błędnych praktyk w tworzeniu stron internetowych, co w dłuższej perspektywie może wpłynąć na ich użyteczność oraz widoczność w wyszukiwarkach.

Pytanie 23

Głównym celem systemu CMS jest oddzielenie treści serwisu informacyjnego od jego wizualnej formy. Ten efekt osiągany jest przez generowanie zawartości

A. z bazy danych oraz wizualizacji poprzez atrybuty HTML
B. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
C. z plików HTML o stałej zawartości oraz wizualizacji z użyciem ustalonego szablonu
D. z plików HTML o stałej zawartości oraz wizualizacji przy pomocy technologii FLASH
Poprawna odpowiedź na to pytanie to "z bazy danych oraz wyglądu ze zdefiniowanego szablonu". Systemy CMS (Content Management System) mają na celu oddzielenie treści od prezentacji, co pozwala na łatwiejsze zarządzanie i aktualizowanie zawartości serwisu. Wykorzystanie bazy danych do przechowywania treści jest kluczowe, ponieważ umożliwia dynamiczne generowanie zawartości na stronach internetowych. Dzięki temu, gdy zmienia się treść w bazie danych, zmiany te są automatycznie odzwierciedlane na stronie bez potrzeby modyfikacji statycznych plików HTML. Szablony, które definiują wygląd, są również niezmiernie ważne, ponieważ pozwalają na spójność wizualną serwisu i jego łatwą adaptację w przypadku zmian w designie. Przykładem może być użycie systemu szablonów, takiego jak Twig w Symfony, który umożliwia separację logiki biznesowej od prezentacji, co ułatwia pracę developerom i designerom. Takie podejście jest zgodne z najlepszymi praktykami w branży, zapewniając przy tym elastyczność i skalowalność serwisów internetowych.

Pytanie 24

Który znacznik ma zastosowanie w sekcji body dokumentu HTML?

A. <link>
B. <title>
C. <meta>
D. <h2>
<h2> to znacznik nagłówka, który zgodnie ze specyfikacją HTML5 stosuje się właśnie w sekcji <body>. Nagłówki od <h1> do <h6> służą do strukturyzowania treści dokumentu, czyli tego, co realnie widzi użytkownik na stronie. W <body> umieszczamy całą zawartość prezentowaną w przeglądarce: teksty, nagłówki, obrazy, formularze, przyciski, listy itd. Moim zdaniem dobrze jest zapamiętać prostą zasadę: wszystko, co jest „treścią strony” dla użytkownika, ląduje w <body>, a wszystko, co jest „informacją o stronie” dla przeglądarki i wyszukiwarki – w <head>. Znacznik <h2> jest semantycznym nagłówkiem drugiego poziomu. Oznacza to, że powinien być używany jako podtytuł lub tytuł sekcji podrzędnej względem <h1>. Przykładowo: <h1>Temat strony</h1>, a niżej <h2>Podrozdział 1</h2>, <h2>Podrozdział 2</h2> itd. Taka struktura pomaga nie tylko użytkownikom, ale też czytnikom ekranowym, SEO i ogólnej czytelności kodu. Dobre praktyki mówią, żeby nie używać nagłówków tylko do „zwiększania czcionki”, ale właśnie do logicznego podziału treści. Do zmiany wyglądu służy CSS. W typowym dokumencie HTML mamy: <html>, w nim <head> z metadanymi i <body> z widoczną zawartością. <h2> musi znajdować się właśnie w <body>, bo jest elementem treści, a nie metadanych. Gdy zaczniesz pisać większe strony, poprawne wykorzystanie nagłówków bardzo ułatwia nawigację, generowanie spisów treści, a także utrzymanie projektu w ryzach, co w praktyce jest naprawdę ważne przy pracy zespołowej czy w dużych serwisach.

Pytanie 25

Która komenda pozwala na przesłanie tekstu do przeglądarki?

A. type
B. exit
C. echo
D. break
Odpowiedź 'echo' jest poprawna, ponieważ ta instrukcja służy do generowania tekstu, który jest przesyłany do przeglądarki w kontekście skryptów PHP. Echo jest jedną z najprostszych i najczęściej używanych funkcji do wyświetlania danych na stronie internetowej, co jest kluczowym elementem w budowaniu dynamicznych aplikacji webowych. Przykład zastosowania: w prostym skrypcie PHP możemy użyć echo do wyświetlenia powitania użytkownika: <?php echo 'Witaj, użytkowniku!'; ?>. Dzięki temu, użytkownicy mogą interaktywnie odbierać informacje, co jest istotne dla doświadczenia użytkownika. W praktyce, zastosowanie echo ma również znaczenie w kontekście bezpieczeństwa aplikacji, ponieważ prawidłowe zarządzanie danymi wyjściowymi ochroni przed atakami typu XSS, gdyż pozwala na odpowiednie filtrowanie i kodowanie danych, które są wyświetlane przeglądarki. W branży zaleca się stosowanie echo w połączeniu z odpowiednimi standardami zabezpieczeń, aby zapewnić najwyższą jakość i bezpieczeństwo aplikacji webowych.

Pytanie 26

Który z komentarzy przedstawia opis działania funkcji zdefiniowanej w języku PHP?

A. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
B. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
C. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
D. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
Funkcja zapisana w języku PHP ma na celu porównanie dwóch wartości przekazanych jako argumenty i zwrócenie wartości wyższej z nich. W sytuacji, gdy obie wartości są równe, funkcja zwraca -1. W praktyce taka funkcjonalność może być niezwykle przydatna w różnych kontekstach programistycznych, na przykład przy sortowaniu danych, gdzie istotne jest określenie, która z dwóch wartości jest większa. Warto zauważyć, że stosowanie zwracania wartości -1 w przypadku równych argumentów jest dobrym rozwiązaniem, ponieważ pozwala na łatwe odróżnienie sytuacji, w której obie wartości są identyczne od tych, w których jedna jest większa od drugiej. Taki sposób implementacji jest zgodny z dobrymi praktykami programistycznymi, które zalecają wyraźne i jednoznaczne definiowanie zachowań funkcji, co ułatwia późniejsze korzystanie z nich oraz ich testowanie. Warto również wspomnieć, że funkcje tego typu mogą być rozwijane o dodatkowe funkcjonalności, takie jak obsługa innych typów danych czy możliwość porównywania większej liczby argumentów.

Pytanie 27

Jaką wartość zobaczymy po wykonaniu poniższego kodu JavaScript?

<script>
document.write(Math.round(4.51)+Math.pow(2,3));
</script>
A. 12
B. 13
C. 11
D. 14
Analizując różne odpowiedzi na pytanie dotyczące wartości wyświetlanej przez kod JavaScript musimy zrozumieć podstawowe operacje matematyczne i funkcje wbudowane w języku JavaScript. Jednym z typowych błędów jest niewłaściwe zrozumienie działania funkcji Math.round oraz Math.pow. Math.round odpowiada za zaokrąglenie liczby do najbliższej liczby całkowitej co może prowadzić do błędnych wniosków jeśli nie uwzględnimy specyfiki jej działania. Na przykład liczba 4.51 zostanie zaokrąglona do 5 ponieważ przekracza połowę wartości między 4 a 5. Kolejna funkcja Math.pow wykonuje działania potęgowe co oznacza że przychodzące argumenty traktuje jako podstawę i wykładnik. W przypadku Math.pow(2 3) podnosimy 2 do trzeciej potęgi co daje 8. Jeśli pominiemy tę operację lub niewłaściwie ją zrozumiemy możemy błędnie oszacować wynik jako mniejszy lub większy niż jest w rzeczywistości. Innym błędem może być nieprawidłowe zsumowanie wyników z powyższych funkcji co może prowadzić do wyświetlenia wartości innych niż oczekiwane. Kluczowe jest rozumienie podstawowych zasad matematyki i ich implementacji w kodzie JavaScript co pozwala na precyzyjne tworzenie logiki aplikacji i unikanie typowych błędów logicznych które mogą wpływać na działanie całego programu. Praktyczne podejście do testowania i debugowania takich operacji pomaga w unikaniu pomyłek i gwarantuje poprawne działanie kodu w różnych sytuacjach.

Pytanie 28

Która z metod wyświetlenia tekstu nie jest określona w języku JavaScript?

A. Metoda document.write()
B. Funkcja window.alert()
C. Właściwość innerHTML
D. Funkcja MessageBox()
Funkcja MessageBox() nie jest zdefiniowana w języku JavaScript, co czyni tę odpowiedź poprawną. W JavaScript do wyświetlania interaktywnych okien dialogowych służy metoda window.alert(), która wyświetla prosty komunikat. Metoda ta przyjmuje jeden argument, który jest tekstem wyświetlanym w oknie alertu. Przykład użycia: window.alert('To jest komunikat');. Kolejną metodą jest document.write(), która umożliwia dynamiczne dodawanie treści do dokumentu HTML. Przykład: document.write('<h1>Witaj w JavaScript!</h1>');. W praktyce, podczas tworzenia interaktywnych aplikacji webowych, wybór metody prezentacji danych powinien być przemyślany, biorąc pod uwagę doświadczenia użytkowników. Warto również stosować standardy dotyczące dostępności, aby zapewnić, że wszyscy użytkownicy, niezależnie od ich umiejętności technicznych, mogą z łatwością korzystać z aplikacji.

Pytanie 29

Funkcja PHP var_dump() prezentuje dane na temat zmiennej, w tym jej typ oraz wartość. Jakim wynikiem zakończy się poniższy fragment kodu?

$x = 59.85; var_dump($x);
A. int(59)
B. string(5) "59.85"
C. array(2) { [0]=> int(59) [1]=> int(85) }
D. float(59.85)
Wybrane odpowiedzi nie są zgodne z poprawnym wynikiem działania funkcji var_dump() w PHP. Odpowiedź, która sugeruje, że wynik to "int(59)" jest błędna, ponieważ funkcja ta nie konwertuje zmiennoprzecinkowych wartości na liczby całkowite, a 59.85 jest wyraźnie liczbą zmiennoprzecinkową. Inna odpowiedź, sugerująca "string(5) "59.85"", jest myląca, ponieważ zmienna $x została zadeklarowana jako liczba, a nie jako string. PHP automatycznie określa typ zmiennej na podstawie przypisanej wartości, a w tym przypadku jest to typ float. Odpowiedź "array(2) { [0]=> int(59) [1]=> int(85) }" również jest nieprawidłowa, ponieważ nie mamy do czynienia z tablicą, a z pojedynczą zmienną. Przykłady te ilustrują typowe nieporozumienia dotyczące typów danych w PHP. Programiści powinni zrozumieć, że PHP jest dynamicznie typowanym językiem, co oznacza, że typ zmiennej jest określany podczas wykonywania programu, a nie w czasie kompilacji. Właściwe zrozumienie typów danych oraz ich konwersji jest kluczowe dla zapewnienia poprawności i bezpieczeństwa kodu.

Pytanie 30

Funkcją przedstawionego kodu PHP będzie wypełnienie tablicy

$tab = array();
for ($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}

foreach ($tab as $x) {
    if ($x < 0) echo "$x ";
}
A. Kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
B. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
C. Kolejnymi liczbami od 0 do 9 i wypisanie ich
D. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
Analizując błędne odpowiedzi, warto zauważyć, że niektóre z nich sugerują nieprawidłowe zrozumienie działania funkcji rand() i pętli for w PHP. Kod pokazuje, że pętla for jest używana do iteracji 10 razy, co oznacza, że tablica będzie wypełniona 10 wartościami, a nie 100. Funkcja rand(-100,100) generuje liczby z przedziału od -100 do 100, a nie tylko dodatnie czy kolejne liczby, co wyklucza możliwość wypełnienia tablicy kolejnymi liczbami od 0 do 9 czy od -100 do 100. Dalsze nieporozumienia mogą wynikać z błędnego zrozumienia instrukcji warunkowej w pętli foreach, która wyświetla tylko wartości ujemne, a nie dodatnie. Częste błędy to także założenie, że wszystkie elementy są przetwarzane jednakowo bez sprawdzenia warunku. Dobre praktyki programistyczne wymagają uważnego czytania i analizy kodu, aby zrozumieć jego logikę. Zrozumienie mechaniki działania pętli i instrukcji warunkowych jest kluczowe w programowaniu i często stanowi podstawę bardziej zaawansowanych algorytmów. Ostatecznie skuteczne przetwarzanie danych w PHP wymaga dokładnego zrozumienia struktury kodu i jego funkcji, co może być wyzwaniem, jeśli koncepcje te są źle zinterpretowane. Ważne jest, aby programista dokładnie rozumiał, jakie wartości są generowane i które z nich są wyświetlane, aby uniknąć niezamierzonych rezultatów w aplikacji.

Pytanie 31

W stylu CSS ustalono obramowanie pojedyncze, które ma następujące kolory dla krawędzi:

border: solid 1px; border-color: red blue green yellow;
A. górna – czerwona, lewa – niebieska, dolna – zielona, prawa – żółta
B. prawa – czerwona, dolna – niebieska, lewa – zielona, górna – żółta
C. lewa – czerwona, dolna – niebieska, prawa – zielona, górna – żółta
D. górna – czerwona, prawa – niebieska, dolna – zielona, lewa – żółta
Definicja obramowania za pomocą stylu CSS z użyciem właściwości border-color pozwala na określenie kolorów każdej z krawędzi elementu w kolejności zgodnej ze wskazówkami zegara. Gdy podano cztery wartości jak w border-color: red blue green yellow; oznaczają one odpowiednio kolory krawędzi górnej prawej dolnej i lewej. Właściwość border: solid 1px; definiuje typ obramowania jako solidne i jego szerokość jako 1px. Warto zaznaczyć że podanie czterech wartości kolorów w border-color jest zgodne z zasadami CSS i umożliwia konfigurowanie wyglądu elementów w sposób szczegółowy i zindywidualizowany. Projektanci stron internetowych często używają tej techniki do tworzenia graficznych stylów które zwiększają czytelność i estetykę witryny. W praktyce wiedza o manipulacji stylem obramowania w CSS jest kluczowa dla tworzenia responsywnych i wizualnie atrakcyjnych interfejsów użytkownika. Takie podejście wspiera zachowanie spójności wizualnej co jest jedną z dobrych praktyk w projektowaniu front-endu.

Pytanie 32

Wyjątkowa metoda przynależąca do danej klasy w programowaniu obiektowym, która jest automatycznie wywoływana w momencie tworzenia obiektu i zazwyczaj ma na celu inicjalizację pól, to

A. obiekt
B. specyfikator dostępu
C. destruktor
D. konstruktor
Obiekt to instancja klasy, która zawiera konkretne wartości pól oraz metody zdefiniowane w klasie. Nie jest to jednak metoda, a raczej jej realizacja. W programowaniu obiektowym obiekty są tworzone za pomocą konstruktorów, co oznacza, że mylenie tych pojęć prowadzi do nieporozumień. Destruktor, z drugiej strony, to metoda wywoływana automatycznie podczas usuwania obiektu z pamięci. Jego zadaniem jest zwolnienie zasobów zajmowanych przez obiekt. Brak zrozumienia różnicy między konstruktorem a destruktorem może prowadzić do problemów z zarządzaniem pamięcią i wycieków zasobów. Specyfikator dostępu, natomiast, to mechanizm definiujący widoczność i dostępność pól oraz metod w klasie. Pomimo że jest kluczowym elementem programowania obiektowego, nie odnosi się bezpośrednio do tworzenia instancji obiektów. Powszechnym błędem jest zatem utożsamianie konstruktorów z innymi elementami języka obiektowego, co może prowadzić do nieefektywnej architektury oprogramowania oraz trudności w jego zrozumieniu i utrzymaniu. Kluczowe jest zatem zrozumienie roli, jaką konstruktor odgrywa w kontekście cyklu życia obiektu oraz zarządzania jego stanem.

Pytanie 33

Skrypt PHP wyświetla aktualny czas w formacie godzina:minuta:sekunda, na przykład 15:38:20. Czas w tym formacie zostanie uzyskany dzięki funkcji

A. date("G:m:s");
B. time("H:i:s");
C. time("G:m:s");
D. date("H:i:s");
Wybór time("H:i:s") jako metody zwracającej aktualny czas w pożądanym formacie jest błędny, ponieważ funkcja time() nie formatuje daty ani czasu. Zamiast tego, time() zwraca czas w postaci znacznika czasu (timestamp) – liczby sekund, które upłynęły od 1 stycznia 1970 roku, co jest znane jako Unix Epoch. Dlatego wywołanie time("H:i:s") nie zadziała, ponieważ ta funkcja nie akceptuje parametrów formatujących. Kolejną nieprawidłową odpowiedzią jest date("G:m:s"). Chociaż funkcja date() jest stosowana do formatowania czasu, pole 'G' zwraca godziny w 24-godzinnym formacie, ale bez wiodących zer (tak jak 'H'), co może prowadzić do niepoprawnego wyświetlania godzin mniejszych niż 10. Dodatkowo, 'm' odnosi się do miesięcy, a nie minut, co czyni to podejście błędnym we wszystkich aspektach. Wreszcie, w odpowiedzi time("G:m:s") ponownie pojawia się problem ze zrozumieniem funkcji time(), która nie jest używana do formatowania czasu, a zamiast tego służy tylko do uzyskania znacznika czasu. Typowe błędy myślowe związane z tymi odpowiedziami obejmują mylenie funkcji do pozyskiwania danych z funkcjami do ich formatowania oraz niepełne zrozumienie składni i możliwości dostępnych funkcji PHP. Rekomenduje się zawsze dokładne zapoznanie się z dokumentacją PHP oraz praktyczne testowanie funkcji w różnych scenariuszach, aby lepiej zrozumieć ich zastosowanie i ograniczenia.

Pytanie 34

Czy przedstawione w języku CSS ustawienia czcionki będą dotyczyć dla ```* { font-family: Tahoma; color: Teal; }```?

A. całego dokumentu HTML, jako domyślne formatowanie dla wszystkich elementów strony
B. znaczników o id równym *
C. całego dokumentu HTML, niezależnie od późniejszych reguł CSS
D. znaczników z klasą przypisaną równą *
W przypadku pierwszej odpowiedzi, sugeruje ona, że klasa lub identyfikator oznaczony znakiem * odnosi się do formatowania, co jest niepoprawne. W CSS znaki * nie są stosowane do selektorów z identyfikatorem, gdyż identyfikatory muszą być unikalne i określone za pomocą #. Stąd, gdybyśmy mieli stylować elementy o określonym id, musielibyśmy użyć odpowiedniego identyfikatora, co wyklucza uniwersalne zastosowanie. Druga odpowiedź sugeruje, że formatowanie dotyczy elementów z przypisaną klasą *, co również nie jest prawdą. W CSS, klasy są oznaczane kropką, a nie znakiem *. Dlatego żaden element z taką klasą nie będzie objęty formatowaniem, ponieważ literalny znak * nie jest używany w kontekście klas. Trzecia odpowiedź myli pojęcia, sugerując, że formatowanie CSS ma zastosowanie do całego kodu HTML, co nie jest precyzyjne. Choć formatowanie zostanie zastosowane do wszystkich elementów, to jednak nie oznacza to, że cały kod HTML zostanie zmieniony. Kod HTML pozostaje niezmienny, a jedynie sposób prezentacji tych elementów w przeglądarce jest kształtowany przez CSS. Podsumowując, zrozumienie selektorów i ich zastosowania jest kluczowe dla poprawnego stylizowania stron internetowych. Wiele osób myli te pojęcia, co prowadzi do niepoprawnych konstrukcji w stylach CSS.

Pytanie 35

Wskaż funkcję PHP, która umożliwia zapisanie odczytanej zawartości pliku do zmiennej, która reprezentuje ciąg znaków?

A. fwrite()
B. get_file()
C. eof()
D. file_get_contents()
Odpowiedzi takie jak fwrite(), eof() oraz get_file() nie są prawidłowe w kontekście odczytu zawartości pliku do zmiennej. fwrite() jest funkcją przeznaczoną do zapisywania danych do pliku, co oznacza, że zamiast odczytu, jej zastosowanie polega na wprowadzaniu danych do plików, co jest odwrotne do potrzebnego działania. eof() natomiast sprawdza, czy osiągnięto koniec pliku, ale nie ma związku z odczytem zawartości pliku do zmiennej; jest to funkcja używana w kontekście strumieni plikowych. Wreszcie, get_file() nie jest standardową funkcją PHP i nie istnieje w dokumentacji PHP. Tego rodzaju błędy mogą wynikać z nieporozumienia dotyczącego funkcji i ich zastosowania w PHP. Ważne jest, aby przy wyborze funkcji kierować się ich specyfiką i przeznaczeniem. Właściwa wiedza na temat dostępnych funkcji oraz ich właściwego użycia jest kluczowa w programowaniu, aby uniknąć błędów logicznych i technicznych w kodzie.

Pytanie 36

O czym informuje przeglądarkę internetową zapis <!DOCTYPE html>?

A. Dokument jest zapisany w wersji HTML 4.
B. W dokumencie wszystkie tagi są zapisane wielkimi literami.
C. Dokument został zapisany w języku HTML 5.
D. W dokumencie każda etykieta musi być zamknięta, nawet te samozamykające.
Wszystkie zaproponowane odpowiedzi poza tą właściwą opierają się na nieaktualnych lub błędnych założeniach dotyczących HTML. Kiedy mówimy o dokumentach HTML, istotnym elementem jest zrozumienie znaczenia deklaracji <!DOCTYPE html>. Odpowiedź sugerująca, że dokument powinien być zapisany w wielkich literach, jest nieuzasadniona, ponieważ HTML jest językiem, który nie rozróżnia wielkości liter, a stosowanie wielkich liter nie wpływa na interpretację kodu przez przeglądarki. Z kolei twierdzenie, że dokument został zapisany w HTML 4, jest przestarzałe, ponieważ HTML5 jest następcom HTML 4.1 i jego wprowadzenie oznacza znaczne zmiany w architekturze i możliwościach języka. Dodatkowo, koncepcja, że każdy znacznik musi być zamykany, również nie jest precyzyjna; HTML5 wprowadza elementy samozamykające się, takie jak <img> czy <br>, które nie wymagają zamykania, co różni się od wcześniejszych standardów. Zrozumienie tych podstawowych koncepcji jest kluczowe dla tworzenia nowoczesnych stron internetowych, a nieprawidłowe interpretacje mogą prowadzić do błędów w kodowaniu i niezgodności w wyświetlaniu treści.

Pytanie 37

Który protokół jest stosowany do przesyłania plików na serwer WWW?

A. DHCP
B. POP3
C. DNS
D. FTP
Protokół DHCP (Dynamic Host Configuration Protocol) jest używany do dynamicznego przypisywania adresów IP urządzeniom w sieci. Jego głównym celem jest automatyzacja procesu konfiguracji sieci, co oznacza, że nie jest on odpowiedni do przesyłania plików na serwery WWW. DHCP nie transportuje danych, a jedynie zapewnia adresy i inne parametry konfiguracyjne dla urządzeń. Protokół POP3 (Post Office Protocol 3) jest natomiast używany do odbierania poczty elektronicznej. Jego funkcjonalność koncentruje się na pobieraniu wiadomości z serwera pocztowego na lokalny komputer, co czyni go nieodpowiednim narzędziem do przesyłania plików. POP3 nie ma możliwości zarządzania plikami ani ich przesyłania do serwera, a jego zastosowanie jest ograniczone do komunikacji e-mailowej. Z kolei protokół DNS (Domain Name System) zajmuje się tłumaczeniem nazw domenowych na adresy IP, co jest kluczowe dla działania Internetu, ale również nie ma on nic wspólnego z transferem plików. DNS odpowiada za kierowanie ruchu w sieci, lecz nie transportuje danych ani plików. Zarówno DHCP, POP3, jak i DNS mają swoje specyficzne zastosowania w infrastrukturze sieciowej, lecz żaden z nich nie jest przeznaczony do przesyłania plików na serwer WWW, co czyni je nieodpowiednimi odpowiedziami na postawione pytanie.

Pytanie 38

Błędy interpretacji kodu PHP są

A. ignorowane przez przeglądarkę oraz interpreter kodu PHP.
B. wyświetlane w oknie edytora kodu PHP po wybraniu przycisku kompiluj.
C. zapisywane w logu pod warunkiem ustawienia odpowiedniego parametru w pliku php.ini.
D. zapisywane w podglądzie zdarzeń systemu Windows.
W PHP błędy interpretacji nie działają tak jak w typowych aplikacjach desktopowych, dlatego łatwo tu o mylne skojarzenia. Po pierwsze, systemowy Podgląd zdarzeń Windows co prawda może zawierać pewne informacje z serwera WWW, ale standardowo interpreter PHP nie wrzuca tam szczegółowych komunikatów o błędach składni czy ostrzeżeń z kodu. PHP komunikuje się głównie przez własny mechanizm logowania, powiązany z konfiguracją w pliku php.ini oraz z ustawieniami serwera HTTP (Apache, Nginx, IIS). Zakładanie, że wszystko „magicznie” trafi do Podglądu zdarzeń, to typowe przeniesienie nawyków z programów systemowych na środowisko webowe, które działa jednak inaczej. Kolejne mylne wyobrażenie to przekonanie, że błędy są po prostu ignorowane przez przeglądarkę i interpreter. Interpreter PHP nigdy ich nie ignoruje – jeśli wystąpi błąd składni (parse error), skrypt zwyczajnie przestaje się wykonywać w tym miejscu. To, że użytkownik widzi tylko „pustą” stronę, nie znaczy, że nic się nie stało. Po prostu komunikat błędu może nie być wyświetlany, jeśli `display_errors` jest wyłączone, ale wewnętrznie błąd jest rejestrowany lub przynajmniej generowany. Przeglądarka natomiast nie ma żadnego wpływu na interpretację PHP, ona dostaje już tylko gotową odpowiedź HTTP. Równie złudne jest myślenie, że błędy pojawią się w jakimś „oknie edytora” po naciśnięciu przycisku kompiluj. PHP jest językiem interpretowanym, a nie kompilowanym do pliku wykonywalnego w klasycznym sensie. Niektóre IDE potrafią podświetlać błędy składni lub pokazywać je w konsoli, ale robią to, bo same uruchamiają interpreter albo analizują kod statycznie. To funkcja narzędzia, nie mechanizm samego języka. W realnym środowisku serwerowym kluczowe jest zrozumienie, że źródłem prawdy o błędach jest log błędów PHP oraz logi serwera WWW, konfigurowane właśnie w php.ini i plikach konfiguracyjnych serwera. Ignorowanie tego i liczenie na to, że „coś pokaże się w edytorze” albo „system jakoś to zapisze” to prosta droga do frustrującego debugowania bez konkretnych informacji.

Pytanie 39

Pętla napisana w języku PHP wprowadzi do tablicy liczby
$x=0
for($i=0;$i<10;$i++)
{
   $tab[$i]=$x;
   $x=$x+10;
}

A. 0,1,2,3,4,5,6,7,8,9,10
B. 0,10,20,30,40,50,60,70,80,90
C. 0,1,2,3,4,5,6,7,8,9
D. 10,20,30,40,50,60,70,80,90,100
Pętla w języku PHP, zapisana w podanym kodzie, skutkuje wstawieniem do tablicy wartości będących kolejnymi wielokrotnościami liczby 10, począwszy od zera. Na początku zmienna $x jest inicjalizowana na wartość 0. Wewnątrz pętli for, która iteruje od 0 do 9, każda iteracja przypisuje do elementu tablicy $tab index $i wartość zmiennej $x, a następnie zwiększa $x o 10. Dzięki temu, w tablicy zostaną zapisane wartości: 0 ( dla i=0), 10 ( dla i=1), 20 ( dla i=2) i tak dalej, aż do 90 ( dla i=9). Po zakończeniu pętli tablica $tab będzie wyglądać następująco: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]. Jest to przykład prostego użycia pętli for oraz indeksowania tablicy w PHP, co jest podstawową umiejętnością programistyczną w tym języku. Użytkownicy mogą zauważyć, że zmiana wartości $x lub liczby iteracji w pętli zmieniłaby uzyskany wynik. Ten kod ilustruje sposób pracy z pętlami oraz tablicami w PHP, które są kluczowymi elementami programowania.

Pytanie 40

W języku PHP, aby wyeliminować białe znaki na początku i końcu łańcucha znaków, należy zastosować funkcję

A. strlen( )
B. time( )
C. sort( )
D. trim( )
Funkcja trim() w języku PHP jest kluczowym narzędziem do usuwania zbędnych spacji oraz innych białych znaków z początku i końca ciągu znaków. Jest to istotne, gdyż nieprawidłowe białe znaki mogą prowadzić do błędów w przetwarzaniu danych wejściowych, np. przy porównywaniu czy zapisywaniu do bazy danych. Przykład użycia funkcji trim() może wyglądać następująco: $str = ' Hello World! '; $result = trim($str); echo $result; // Wyświetli 'Hello World!'. Warto zauważyć, że funkcja trim() działa nie tylko na spacji, ale również na tabulatorach i innych znakach białych. Z perspektywy dobrych praktyk, warto stosować trim() przed zapisem danych użytkownika w celu uniknięcia nieprzewidzianych błędów w aplikacji. W kontekście bezpieczeństwa, usuwanie niepotrzebnych spacji pomoże również w walidacji i sanitizacji danych, co jest kluczowe w kontekście ochrony przed atakami typu injection.