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: 30 kwietnia 2026 11:42
  • Data zakończenia: 30 kwietnia 2026 11:56

Egzamin niezdany

Wynik: 11/40 punktów (27,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

W języku PHP zamieszczono fragment kodu. Plik cookie utworzony przez to polecenie

setcookie("osoba", "Anna Kowalska", time()+(3600*24));
A. będzie przechowywany na serwerze przez jedną godzinę
B. będzie przechowywany na serwerze przez jeden dzień
C. zostanie usunięty po jednej godzinie od jego utworzenia
D. zostanie usunięty po jednym dniu od jego utworzenia
Niepoprawne odpowiedzi na to pytanie opierają się na nieprawidłowym rozumieniu działania funkcji setcookie w PHP, a także na błędnej interpretacji czasu przechowywania plików cookie. Odpowiedzi sugerujące, że plik cookie będzie przechowywany przez jeden dzień lub jedną godzinę, są oparte na mylnych założeniach dotyczących obliczeń czasowych. Czas przechowywania ciasteczka jest określany przez wartość przekazywaną do funkcji setcookie, a w tym przypadku maksymalny czas wynosi 24 godzin. Błędne stwierdzenia mogą wynikać z mylnego założenia, że funkcja time() i dodatkowe sekundy nie są prawidłowo sumowane. Ważne jest, aby zrozumieć, że ciasteczka nie są przechowywane na serwerze, lecz w przeglądarkach użytkowników, co oznacza, że dostępność ich danych zależy od ustawień przeglądarki oraz polityki prywatności. Typowym błędem jest również mylenie pojęć związanych z czasem przechowywania – ciasteczka nie są usuwane w momencie wygaśnięcia, ale po upływie ustalonego czasu, co wyklucza możliwość poprawnych odpowiedzi, które sugerowałyby krótszy okres ich przechowywania. Kluczowym aspektem w pracy z ciasteczkami jest znajomość ich parametrów i ich wpływu na interakcję użytkownika z aplikacją, co może mieć duże znaczenie w kontekście zarządzania sesjami oraz personalizacją doświadczeń użytkownika.

Pytanie 2

W języku PHP do zmiennej a przypisano tekst, w którym wielokrotnie występuje słowo Kowalski. W celu zamiany wszystkich wystąpień słowa Kowalski na słowo Nowak w zmiennej a, należy użyć polecenia

A. $a = str_replace('Nowak', 'Kowalski', $a);
B. $a = str_replace('Nowak', 'Kowalski');
C. $a = str_replace('Kowalski', 'Nowak', $a);
D. $a = str_rep('Kowalski', 'Nowak', $a);
Odpowiedź $a = str_replace('Kowalski', 'Nowak', $a); jest na pewno dobra! Używasz funkcji str_replace, która w PHP jest mega przydatna do zamiany tekstu. W tym przypadku, pierwsza część to słowo, które chcesz zmienić ('Kowalski'), druga to nowy tekst, którym je zastępujesz ('Nowak'), a trzecia to zmienna, na której pracujesz. Funkcja zwraca nowy tekst, gdzie wszystkie 'Kowalski' stały się 'Nowakami'. To super rozwiązanie, bo str_replace działa na wszystkich przypadkach podanego słowa, co sprawia, że jest naprawdę użyteczna w przetwarzaniu tekstów. Na przykład, jak a zawiera 'Kowalski, Kowalski i Kowalski', to po tym poleceniu dostaniesz 'Nowak, Nowak i Nowak'. Użycie tej funkcji to świetna praktyka w programowaniu, bo pisanie przejrzystego i efektywnego kodu to podstawa.

Pytanie 3

Narzędziem do zarządzania bazą danych, które jest zintegrowane w pakiecie XAMPP, jest

A. SQLite
B. phpMyAdmin
C. pgAdmin
D. MySQL Workbench
MySQL Workbench, pgAdmin i SQLite to narzędzia, które często mylone są z phpMyAdmin, jednak różnią się one zasadniczo w kontekście ich zastosowania i środowiska. MySQL Workbench to zaawansowane zintegrowane środowisko programistyczne do pracy z bazami danych MySQL, oferujące funkcje modelowania danych oraz wizualizacji, które są bardziej skomplikowane i dedykowane dla użytkowników z większym doświadczeniem w programowaniu i administracji baz danych. To narzędzie nie jest częścią pakietu XAMPP i wymaga oddzielnej instalacji. Podobnie, pgAdmin jest narzędziem do zarządzania bazami danych PostgreSQL i również nie jest kompatybilne z MySQL, co czyni je niewłaściwym wyborem w kontekście XAMPP, które domyślnie korzysta z MySQL jako systemu zarządzania bazą danych. SQLite, z drugiej strony, jest lekkim systemem baz danych, który nie wymaga serwera, co sprawia, że jest idealny do aplikacji mobilnych czy małych projektów, ale nie jest zintegrowany z XAMPP. Typowym błędem jest zakładanie, że wszystkie wymienione narzędzia pełnią tę samą rolę w zarządzaniu bazami danych; jednak każde z nich ma swoje specyficzne zastosowanie i nie można ich stosować zamiennie. Kluczowe jest rozumienie, że phpMyAdmin jest dedykowane dla MySQL w kontekście XAMPP, co czyni je najlepszym wyborem dla użytkowników korzystających z tego pakietu.

Pytanie 4

Jakiego elementu musisz użyć, aby rozpocząć nową linię tekstu bez tworzenia akapitu na stronie internetowej?

A. </br>
B. <br>
C. <p>
D. </b>
Znaczniki </br> i </b> są niepoprawne w kontekście wprowadzenia przerwy w tekstach bez tworzenia nowego akapitu. Znak </br> jest błędny, ponieważ nie występuje w standardowym HTML – znacznik <br> jest samodzielny i nie wymaga zamknięcia. Kolejne, </b> służy do pogrubiania tekstu, a nie do wprowadzania przerw. Użycie <b> zamiast <br> może prowadzić do nieporozumień w interpretacji kodu przez przeglądarki, które oczekują zamknięcia tagu, co może skutkować błędnym renderowaniem strony. Tag <p> z kolei, choć poprawny, definiuje nowy akapit i dodaje przestrzeń przed i po nim, co jest niezgodne z celem pytania. Powszechny błąd wynika z niewłaściwego zrozumienia funkcji poszczególnych tagów HTML. Kluczowe jest, aby twórcy stron internetowych byli dobrze zorientowani w semantyce HTML, aby unikać błędów w formatowaniu oraz zapewnić czytelność i estetykę treści. Niewłaściwe użycie znaczników może prowadzić do problemów z dostępnością oraz wpływać na SEO, co jest niekorzystne w kontekście najlepszych praktyk projektowania stron internetowych.

Pytanie 5

W języku JavaScript można inaczej zapisać instrukcję a++; jako

A. 1+=a;
B. a<<1;
C. a&1;
D. a=a+1;
W przypadku zapisu 'a<<1;' mamy do czynienia z operacją bitową, która wykonuje przesunięcie bitowe w lewo. To oznacza, że wartość a zostaje pomnożona przez 2, co jest zupełnie inną operacją niż inkrementacja. Takie błędne podejście wynika z nieporozumienia dotyczącego podstawowych operacji arytmetycznych i bitowych. '1+=a;' jest syntaktycznie niepoprawne, ponieważ nie można używać operatora przypisania w ten sposób; taki zapis prowadziłby do błędu w kodzie. Ponadto, operator '&' w zapisie 'a&1;' wykonuje operację bitową AND, co również nie ma związku z inkrementacją, a jedynie może sprawdzić, czy najmniej znaczący bit liczby a jest ustawiony. Takie podejścia mogą wynikać z nieznajomości podstawowych operatorów oraz ich zastosowania. W kontekście nauki programowania niezwykle istotne jest zrozumienie różnicy między operacjami arytmetycznymi a bitowymi, co zapobiega błędnym wnioskom i problemom w kodzie. Używanie właściwych operatorów w odpowiednich kontekstach to klucz do pisania efektywnego i zrozumiałego kodu, co jest istotnym elementem dobrych praktyk programistycznych.

Pytanie 6

Tabela samochody zawiera poniższe rekordy.

idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
Po wykonaniu podanego zapytania SQL, jakie dane zostaną zwrócone?
SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";
A. opel zafira; opel insignia
B. zafira; insignia
C. zafira
D. opel zafira
Twoja odpowiedź jest nieprawidłowa, co sugeruje, że możesz nie do końca rozumieć, jak działa zapytanie SQL. Wszystkie odpowiedzi, które zawierały więcej niż jeden model samochodu, są niepoprawne, ponieważ zapytanie SQL jest skonstruowane tak, aby zwrócić tylko te modele, które spełniają oba warunki - markę 'opel' i rocznik większy niż 2017. W przypadku odpowiedzi zawierających tylko model 'zafira', ale bez wskazania marki, jest to błąd, ponieważ zapytanie SQL również wymaga, aby marka była równa 'opel'. W praktyce, błędy w konstrukcji zapytań SQL mogą prowadzić do błędnych wyników i potencjalnie do poważnych błędów w analizie danych lub oprogramowaniu. Dlatego, ważne jest, aby zrozumieć, jak prawidłowo konstruować zapytania SQL i jakie wyniki one zwracają.

Pytanie 7

W CSS, aby zastosować efekt przekreślenia, a także podkreślenia dolnego lub górnego w tekście, należy użyć

A. text-indent
B. text-decoration
C. text-align
D. text-transform
Wybór innych odpowiedzi wskazuje na pewne nieporozumienia dotyczące zastosowania poszczególnych właściwości CSS w kontekście formatowania tekstu. 'text-align' dotyczy wyrównania tekstu w obrębie kontenera, co oznacza, że definiuje, jak tekst jest rozmieszczany w poziomie, na przykład do lewej, prawej lub do środka. Nie ma on wpływu na dekorację tekstu, co czyni go nieadekwatnym do zadania. Z kolei 'text-transform' służy do zmiany wielkości liter w tekście, co obejmuje operacje takie jak zamiana na wielkie litery czy małe litery. Chociaż jest to istotna właściwość w kontekście stylizacji tekstu, nie ma związku z efektami dekoracyjnymi, jakimi są przekreślenie czy podkreślenie. Z kolei 'text-indent' kontroluje wcięcie tekstu na początku akapitu, ale nie modyfikuje jego dekoracji w żaden sposób. Typowym błędem jest mylenie tych właściwości, co może prowadzić do nieefektywnego stylizowania stron internetowych i wprowadzać w błąd w kontekście pożądanych efektów wizualnych. Istotne jest zrozumienie, że każda z tych właściwości ma swoją specyfikę i zastosowanie, które należy dobierać zgodnie z zamierzonym efektem wizualnym oraz standardami projektowania stron internetowych. Używanie niewłaściwych właściwości może prowadzić do chaosu w stylizacji, co zdecydowanie należy unikać w profesjonalnym podejściu do tworzenia stron.

Pytanie 8

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

A. SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();
B. SELECT * FROM faktury WHERE data = CURRENT_DATE();
C. SELECT numer, wartosc FROM faktury;
D. SELECT * FROM faktury;
Wszystkie inne kwerendy SQL, które nie uwzględniają warunku WHERE z datą, są nieprawidłowe w kontekście zadania, ponieważ nie spełniają konkretnego celu ograniczenia wyników do faktur z bieżącego dnia. Kwerenda SELECT numer, wartosc FROM faktury; zwraca wszystkie numery i wartości faktur bez żadnej filtracji, co jest niezgodne z wymaganiami raportu. W praktyce, generując raporty, istotne jest, aby zapewnić, że dane są aktualne i odpowiadają określonym kryteriom. Następnie, kwerenda SELECT * FROM faktury WHERE data = CURRENT_DATE();, mimo że zawiera poprawny warunek daty, nie ogranicza kolumn do tych wymaganych w zadaniu, co prowadzi do nieefektywnego przetwarzania danych i obciążenia systemu. Ostatecznie, użycie SELECT * FROM faktury; jest najbardziej nieodpowiednie, ponieważ zwraca wszystkie informacje z tabeli, co jest niepraktyczne w kontekście codziennego raportowania. Taka praktyka może prowadzić do nadmiarowych danych, które są w większości niepotrzebne, a tym samym zwiększa czas wykonania zapytania, co jest przeciwwskazane w dobrze zaprojektowanych systemach baz danych. Właściwe formułowanie zapytań SQL, które zawierają tylko niezbędne pola, jest kluczowym aspektem efektywności i optymalizacji zapytań w bazach danych.

Pytanie 9

W CSS wartości: underline, overline, blink są powiązane z atrybutem

A. font-style
B. text-decoration
C. text-style
D. font-weight
Atrybut text-style to w zasadzie fikcja w CSS, bo takiego czegoś po prostu nie ma w specyfikacji. Owszem, CSS daje nam różne opcje do stylizacji tekstu, ale text-style to nie jest jedna z nich. Lepiej skupić się na text-decoration, font-style czy font-weight, bo to już są realne właściwości. Na przykład, font-style pozwala wybrać styl czcionki, jak normal, italic albo oblique, ale nie zrobisz tym efektów dekoracyjnych, takich jak podkreślenie czy nadkreslenie. Z kolei font-weight dotyczy grubości czcionki, ale też nie ma nic wspólnego z dekoracją tekstu. Wartości, które tam znajdziesz, jak normal, bold czy bolder, odnoszą się raczej do samego kroju pisma. Więc jeśli chodzi o dekorację, to musisz używać text-decoration, bo to właśnie do tego zostało stworzone, a inne właściwości mają zupełnie inne zastosowania.

Pytanie 10

W CSS zapis w formie: p{background-image: url"rysunek.jpg")} spowoduje, że rysunek.png stanie się

A. tłem każdego bloku tekstowego
B. tłem całej witryny
C. pokazany, jeśli w kodzie użyty będzie znacznik img
D. wyświetlany obok każdego bloku tekstowego
Pierwsza niepoprawna odpowiedź twierdzi, że obrazek ma być tłem całej strony. W rzeczywistości, żeby ustawić tło dla całej strony, używa się body, a nie <p>. Tło ustawione dla paragrafów nie zmienia wyglądu całej strony. Druga niepoprawna odpowiedź sugeruje, że obrazek ma być obok każdego paragrafu. To mógłbyś osiągnąć innymi właściwościami, jak float czy display inline-block, ale background-image nie wyświetla go obok, to działa jako tło. Ostatnia niepoprawna odpowiedź mówi o użyciu znacznika img. Użycie img to inna sprawa – obrazek dodany w takim znaczniku będzie oddzielnym elementem, a nie tłem. W skrócie, background-image i img to różne techniki i używa się ich w różnych sytuacjach, więc te odpowiedzi nie mają sensu w kontekście pytanie.

Pytanie 11

SELECT AVGcena) FROM usługi; Celem użycia funkcji agregującej AVG w tym zapytaniu jest

A. zsumować wartości kosztów wszystkich usług
B. zliczyć ilość dostępnych usług w tabeli
C. wyliczyć średnią arytmetyczną cen wszystkich usług
D. określić najwyższą cenę usług
Odpowiedź "obliczyć średnią arytmetyczną cen wszystkich usług" jest poprawna, ponieważ funkcja AVG (average) w SQL jest zaprojektowana do obliczania średniej wartości z zestawu danych w danej kolumnie. W podanym zapytaniu, AVG(cena) ma na celu zsumowanie wartości w kolumnie 'cena' dla wszystkich wierszy w tabeli 'usługi' oraz podzielenie tej sumy przez liczbę wierszy, które zawierają dane. W praktyce, średnia arytmetyczna jest niezwykle użyteczna w analizie danych, ponieważ pozwala na uzyskanie jednego, reprezentatywnego wyniku, który może być pomocny w podejmowaniu decyzji biznesowych. Na przykład, firma usługowa może użyć tej informacji do oceny swojej polityki cenowej, porównując średnią cenę swoich usług do średnich cen konkurencji. Zgodnie z najlepszymi praktykami w branży, stosowanie funkcji agregujących takich jak AVG powinno być integralną częścią procesów analizy danych, szczególnie w kontekście raportowania i oceny efektywności operacyjnej.

Pytanie 12

Jakie z poniższych stwierdzeń właściwie opisuje tabelę utworzoną przez: CREATE TABLE dane (kolumna INTEGER(3));

A. Tabela o nazwie dane zawiera trzy kolumny typu liczb całkowitych
B. Kolumny w tabeli dane nazywają się: kolumna1, kolumna2, kolumna3
C. Tabela zawiera jedną kolumnę, która składa się z trzyelementowych tablic
D. Tabela o nazwie dane ma jedną kolumnę typu liczb całkowitych
Wszystkie stwierdzenia w pozostałych odpowiedziach są błędne, ponieważ opierają się na niewłaściwym zrozumieniu definicji tabeli w SQL. Twierdzenie, że tabela posiada jedną kolumnę zawierającą trzy elementowe tablice, jest mylące, ponieważ w SQL nie definiuje się kolumn jako tablic. W systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL, czy Oracle, kolumny są jednostkami przechowującymi pojedyncze wartości, a nie struktury złożone jak tablice. Innym błędnym założeniem jest twierdzenie, że kolumny tabeli dane nazywają się kolumna1, kolumna2, kolumna3; w rzeczywistości, tabela posiada jedną kolumnę o nazwie 'kolumna', co jest jasno określone w definicji. Ostatnia nieprawidłowa odpowiedź sugerująca, że tabela ma trzy kolumny jest również nieprawdziwa, ponieważ jest tylko jedna kolumna. Przy definiowaniu tabel w SQL kluczowe jest przestrzeganie zasad dotyczących struktury danych oraz ich odpowiedniej nazwy, co ma fundamentalne znaczenie dla późniejszego korzystania z tych danych. Zrozumienie tych zasad oraz ich praktyczne zastosowanie w pracy z bazami danych pozwala na unikanie typowych błędów i poprawne projektowanie struktur baz danych.

Pytanie 13

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

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

Pytanie 14

Dostosowanie wyglądu strony dla konkretnego użytkownika i jego identyfikacja w serwisie są możliwe dzięki systemowi

A. obiektów DOM
B. formularzy
C. połączenia z bazą
D. cookie
Obiekty DOM (Document Object Model) to reprezentacja struktury dokumentu HTML lub XML. Dzięki DOM, programiści mogą manipulować elementami na stronie w czasie rzeczywistym, jednak nie umożliwia on identyfikacji użytkowników ani personalizacji ich doświadczeń. DOM pozwala na dynamiczne zmiany w treści strony, ale nie przechowuje informacji o użytkowniku po zamknięciu przeglądarki. Łączenie z bazą danych to proces, który zapewnia dostęp do przechowywanych danych, ale również nie służy do identyfikacji użytkownika na poziomie przeglądarki. Właściwie używane, łączenie z bazą pozwala na pobieranie i zapisywanie danych, jednak wymaga dodatkowych mechanizmów, takich jak sesje, aby poprawnie identyfikować użytkowników. Formularze są narzędziem do zbierania danych od użytkowników, ale same w sobie nie oferują możliwości identyfikacji lub personalizacji. Użytkownik musi wprowadzić dane, które następnie mogą być przetwarzane, ale bez zastosowania cookie lub innych mechanizmów, serwis nie będzie w stanie pamiętać o tych danych przy kolejnych wizytach. W skrócie, obiekty DOM, łączenie z bazą oraz formularze stanowią tylko część ekosystemu webowego, ale nie zapewniają pełnych możliwości identyfikacji i personalizacji użytkownika, jak to robią pliki cookie.

Pytanie 15

Czym jest DBMS?

A. System zarządzania bazą danych
B. Kaskadowy arkusz stylów do opisu wyglądu witryny www
C. Strukturalny język zapytań do bazy danych
D. Obiektowy język programowania służący do tworzenia stron www
DBMS, czyli System Zarządzania Bazą Danych, to oprogramowanie, które umożliwia tworzenie, zarządzanie i manipulowanie danymi w bazach danych. Pozwala na efektywne przechowywanie, organizowanie i odzyskiwanie informacji, co jest kluczowe w każdej aplikacji wymagającej przetwarzania danych. Przykłady popularnych systemów DBMS to MySQL, PostgreSQL oraz Oracle Database. DBMS zapewnia nie tylko bezpieczeństwo danych, lecz także umożliwia współdzielenie informacji między użytkownikami. Stosuje mechanizmy kontroli dostępu, co chroni dane przed nieautoryzowanym dostępem. Dobre praktyki w zarządzaniu bazą danych obejmują normalizację danych, co zapobiega redundancji i poprawia integralność danych. W przypadku rosnących zbiorów danych, DBMS wspiera także skalowalność, co jest niezbędne w aplikacjach internetowych, gdzie liczba użytkowników może przeszło wzrosnąć. Ponadto, DBMS wykorzystuje język SQL (Structured Query Language) do wykonywania zapytań, co jest standardem branżowym dla interakcji z bazami danych.

Pytanie 16

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

A. echo phpversion();
B. print_r(ini_get_all());
C. phpcredits();
D. phpinfo();
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 17

Aby naprawić tabelę w bazie danych MySQL, należy użyć polecenia

A. UPDATE TABLE
B. FIX TABLE
C. CHANGE TABLE
D. REPAIR TABLE
W MySQL tylko jedna z podanych komend jest rzeczywistym, udokumentowanym poleceniem służącym do naprawy struktury tabeli i jest to `REPAIR TABLE`. Pozostałe propozycje wynikają najczęściej z mieszania intuicji językowej z faktyczną składnią SQL. Wiele osób myśli na zasadzie „chcę coś naprawić, to wpiszę FIX”, ale w standardowym SQL i w MySQL nie istnieje polecenie `FIX TABLE`. To zbitka słowna, która brzmi sensownie po angielsku, ale nie ma żadnego odzwierciedlenia w parserze MySQL. W praktyce wpisanie takiej komendy skończy się zwykłym błędem składniowym i żadna tabela nie zostanie ani naprawiona, ani nawet dotknięta. Podobny problem dotyczy `CHANGE TABLE`. W MySQL mamy `ALTER TABLE`, które służy do zmiany struktury tabeli (dodawanie kolumn, zmiana typu, indeksów itd.), natomiast komenda `CHANGE TABLE` po prostu nie istnieje. Jest tu mylące to, że w ramach `ALTER TABLE` jest podpolecenie `CHANGE` dla kolumn, np. `ALTER TABLE t CHANGE stara_kolumna nowa_kolumna INT;`, ale to zupełnie inny poziom – zmiana definicji kolumny, a nie naprawa uszkodzonej tabeli. Najbardziej zdradliwe jest natomiast `UPDATE TABLE`. W SQL istnieje `UPDATE`, ale działa ono na rekordach, a nie na samej tabeli jako strukturze. Poprawna składnia to `UPDATE nazwa_tabeli SET kolumna=wartosc WHERE warunek;`. To polecenie modyfikuje dane w wierszach, nie reperuje indeksów, nagłówków plików czy struktury fizycznej. Typowy błąd myślowy polega na tym, że ktoś utożsamia „naprawę” z „zmianą danych”, podczas gdy problemy, które rozwiązuje `REPAIR TABLE`, dotyczą integralności na poziomie pliku tabeli, a nie logiki rekordów. Z punktu widzenia dobrych praktyk administracyjnych warto rozróżniać: `UPDATE` do modyfikacji zawartości, `ALTER TABLE` do modyfikacji schematu i `REPAIR TABLE` (plus `CHECK TABLE`) do działań serwisowych przy uszkodzeniach. Mylenie tych komend może prowadzić do sytuacji, gdzie administrator próbuje „naprawiać” bazę błędnymi poleceniami, a prawdziwy problem dalej pozostaje nierozwiązany.

Pytanie 18

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. wykluczenia.
C. części wspólnej.
D. grupowania.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 19

W JavaScript metoda Math.random() ma na celu

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

Pytanie 20

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. nieparzystych elementów tablicy
B. wszystkich elementów tablicy
C. parzystych elementów tablicy
D. dodatnich elementów tablicy
Kod analizuje tablicę liczby i sumuje wyłącznie te elementy, które są parzyste. Nie można zatem mówić o sumowaniu nieparzystych czy wszystkich elementów tablicy. Warunek liczby[i] % 2 == 0 jednoznacznie wskazuje na sumowanie wyłącznie parzystych wartości – reszta z dzielenia przez 2 równa 0 jednoznacznie identyfikuje liczbę jako parzystą. W kontekście sumowania wszystkich elementów, kod nie spełnia tej funkcji, gdyż wykorzystuje warunek ograniczający sumowanie do parzystych liczb. Rozważania o sumowaniu wszystkich elementów lub tylko dodatnich nie znajdują uzasadnienia w analizowanym kodzie. Częstym błędem może być mylenie operacji logicznych i warunkowych w pętli, co prowadzi do niepoprawnych interpretacji zadania. W praktyce, prawidłowe zrozumienie i zastosowanie operatorów warunkowych, takich jak modulo, jest niezbędne w programowaniu, szczególnie przy operacjach na tablicach i dużych zestawach danych. Warunki, jak ten zastosowany w kodzie, umożliwiają precyzyjne filtrowanie danych, co jest kluczowe w wielu aplikacjach, w tym w analizie danych czy automatyzacji procesów. Zrozumienie tych mechanizmów jest fundamentalne dla programisty, zarówno w kontekście wydajności, jak i poprawności działania algorytmów.

Pytanie 21

Wszelkie dane, które dostarczają informacji o innych danych, nazywane są

A. databus.
B. markup language.
C. metadata.
D. metalanguage.
Pojęcie z pytania dotyczy bardzo konkretnej rzeczy: danych, które opisują inne dane. W informatyce utrwalił się dla tego termin „metadata” – metadane. To nie jest tylko teoria z książki, ale podstawa działania wyszukiwarek, systemów plików, baz danych czy nawet aparatów w telefonach. Kiedy wybiera się inne określenia, zwykle wynika to z mylenia warstw opisu danych z narzędziami lub językami, w których te dane są przesyłane albo zapisywane. Sformułowanie „databus” odnosi się do zupełnie innej rzeczy. Magistrala danych (data bus) to element architektury sprzętowej lub niskopoziomowej komunikacji, który służy do fizycznego przenoszenia danych między komponentami, np. między procesorem a pamięcią. To kanał przesyłu, a nie opis tych danych. Magistrala nie „wie”, co oznaczają przesyłane bity, ona tylko je transportuje. Dlatego nie można jej traktować jako informacji o innych danych. „Metalanguage” to z kolei język służący do opisywania innych języków. Klasycznym przykładem są formalne metajęzyki używane do definiowania składni, np. BNF czy EBNF. Za ich pomocą opisuje się gramatykę języków programowania lub języków znaczników. To już jest bliżej pojęcia „opis”, ale wciąż dotyczy języków, a nie bezpośrednio danych w sensie rekordów, plików czy zasobów sieciowych. Metajęzyk nie przechowuje informacji o konkretnych danych użytkownika, tylko o strukturze języka, w którym te dane mogą być zapisane. „Markup language”, czyli język znaczników (np. HTML, XML), też bywa mylony z metadanymi, bo rzeczywiście pozwala opisywać strukturę dokumentu, a czasem także dołączać metainformacje. Jednak sam język znaczników to tylko sposób zapisu. To narzędzie, format. Metadanymi mogą być pewne fragmenty dokumentu w tym języku (np. znaczniki <meta> w HTML czy atrybuty w XML), ale nie cały język jako taki. Typowy błąd myślowy polega tutaj na wrzucaniu do jednego worka „wszystkiego, co opisuje coś innego”, bez rozróżniania, czy mówimy o opisie danych, czy o opisie języka lub o kanale transmisji. Z punktu widzenia dobrych praktyk warto jasno rozdzielać te pojęcia: magistrala danych – transport, metajęzyk – opis języka, język znaczników – format zapisu, metadane – informacje o konkretnych danych (pliku, rekordzie, zasobie). Dzięki temu łatwiej projektuje się systemy, dokumentację oraz interfejsy API, bo każdy element pełni swoją wyraźnie określoną rolę.

Pytanie 22

Jakiego znacznika w HTML użyjemy, aby uzyskać tekst wyświetlany czcionką o stałej szerokości znaku, który również uwzględnia dodatkowe spacje, tabulacje oraz znaki końca linii?

A. <code>…</code>
B. <pre>…</pre>
C. <blockquote>…</blockquote>
D. <ins>…</ins>
Znacznik <pre> w HTML jest używany do formatowania tekstu w taki sposób, aby zachować oryginalne odstępy, tabulacje oraz znaki końca linii. W przeciwieństwie do standardowego tekstu, w którym przeglądarka ignoruje dodatkowe białe znaki, <pre> traktuje je dosłownie, co jest szczególnie przydatne w przypadku wyświetlania kodu źródłowego lub tekstu, w którym ważne są układy. Przykładem użycia może być wyświetlanie kodu programistycznego w dokumentacji technicznej, gdzie precyzyjny format jest kluczowy dla zrozumienia struktury kodu. Standard HTML5 potwierdza, że <pre> jest odpowiednim znacznikiem do tego celu, a jego użycie jest zgodne z zasadami semantyki HTML, co zwiększa czytelność i dostępność treści. Praktyka ta sprzyja również urządzeniom wspomagającym, umożliwiając poprawne interpretowanie tekstu przez czytniki ekranu.

Pytanie 23

Jakie kolory wchodzą w skład modelu barw CMYK?

A. cyjan, magenta, żółty i karmazyn
B. cyjan, magenta, żółty i czarny
C. czerwony, zielony oraz niebieski
D. czerwony, zielony, niebieski oraz kanał alfa
Czerwony, zielony i niebieski to kolory, które są składowymi modelu RGB (Red, Green, Blue), który jest stosowany głównie w kontekście wyświetlaczy elektronicznych, takich jak monitory i telewizory. W modelu RGB kolory są generowane przez dodawanie światła, co różni się od modelu CMYK, w którym kolory są uzyskiwane przez subtraktywne mieszanie barw. W kontekście druku, użycie RGB może prowadzić do nieprzewidywalnych rezultatów, gdyż kolory na ekranie nie zawsze odpowiadają tym, które pojawią się na wydruku. Często następuje konieczność konwersji kolorów z RGB na CMYK, aby uzyskać właściwe odwzorowanie kolorów. Cyjan, magenta, żółty i karmazyn to kombinacja kolorów, która nie jest standardowym zestawem składowych w modelu barw. Karmazyn, jako kolor pochodny, nie jest uznawany za podstawowy składnik modelu CMYK, a zamiast tego jest blisko związany z magentą, co może wprowadzać w błąd. Z kolei pojęcie kanału alfa odnosi się do przezroczystości w obrazach rastrowych, co jest związane z modelem kolorów RGBA, a nie z CMYK. Kanał alfa jest istotny w kontekście edycji grafiki komputerowej, ale nie ma zastosowania w tradycyjnych procesach druku, gdzie priorytetem jest odwzorowanie kolorów w formacie CMYK.

Pytanie 24

Wskaź poprawną formę kodowania polskich znaków w pliku HTML?

A. <meta "content=UTF-8">
B. <meta char set= "UTF-8">
C. <meta charset="UTF-8">
D. <meta content='UTF8'>
Widzę, że wybrałeś niepoprawną odpowiedź. Może to być przez jakieś niejasności związane z deklaracją kodowania w HTML. Odpowiedzi takie jak <meta content='UTF8'> czy <meta "content=UTF-8"> są błędne, bo nie trzymają się właściwego formatu HTML. Pierwsza z tych opcji nie ma poprawnego atrybutu 'charset' i brakuje jej myślnika w kodowaniu. Druga też ma problem, bo nie stosuje zasad dotyczących cudzysłowów i źle używa atrybutów, co może prowadzić do złego parsowania przez przeglądarki. Jeszcze w odpowiedzi <meta char set="UTF-8"> jest błąd w nazwie atrybutu; 'char set' powinno być razem jako 'charset'. Takie detale mogą powodować problemy z wyświetlaniem treści, zwłaszcza gdy strona zawiera znaki spoza podstawowego zestawu ASCII. Często ludzie nie zdają sobie sprawy, że złe kodowanie może prowadzić do nieczytelnym znaków i problemów z wyświetlaniem. Dlatego ważne jest, żeby poprawnie ustawić charset w nagłówku HTML, żeby treści były dobrze interpretowane na różnych urządzeniach i przeglądarkach, co teraz jest kluczowe, biorąc pod uwagę globalizację i różnorodność językową.

Pytanie 25

Emblemat systemu CMS o nazwie Joomla! to

Ilustracja do pytania
A. B.
B. D.
C. A.
D. C.
Logo systemu CMS Joomla! różni się od logotypów innych znanych systemów jak Drupal czy WordPress, co jest dość oczywiste. Zrozumienie ich to klucz do ogarnięcia tych platform, bo każda z nich ma swoje zastosowania i funkcje. Drupala przedstawia niebieska kropla, a to narzędzie jest naprawdę potężne do budowy złożonych systemów webowych, ale potrzeba sporej wiedzy programistycznej, więc początkujący mogą mieć z nim trudności. Z kolei WordPress z literą W w czarnym kółku to najpopularniejszy CMS, zwłaszcza wśród blogerów i małych firm, bo jest łatwy w obsłudze. Ale ten logo z pomarańczową gwiazdką nie jest związane z żadnym z tych CMS-ów, więc można się w tym pogubić. Trzeba zrozumieć różnice i jak się te systemy wizualnie identyfikuje, żeby mądrze wybierać platformy do swoich projektów. Kluczowe jest nie tylko widzieć logotypy, ale jeszcze ogarnąć, co każdy z tych systemów potrafi, żeby skutecznie je wykorzystać w pracy.

Pytanie 26

Zamieszczony kod w języku PHP

Ilustracja do pytania
A. jest niepoprawny, nieznany operator =>
B. określa tablicę z sześcioma wartościami
C. definiuje tablicę z trzema wartościami
D. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite
W przedstawionym kodzie PHP definiowana jest tablica asocjacyjna. Jest to typ tablicy, która pozwala na użycie łańcuchów znaków jako kluczy, nie ograniczając się jedynie do liczb całkowitych. Twierdzenie, że operator '=>' jest nieznany, jest błędne. Operator ten jest kluczowym elementem składni PHP, używanym do przypisywania wartości do kluczy w tablicach asocjacyjnych. Ponadto twierdzenie, że indeksy tablicy mogą być tylko liczbami całkowitymi, nie jest prawdziwe dla tablic asocjacyjnych, które są powszechnie używane w PHP do tworzenia bardziej czytelnych i zorganizowanych struktur danych. Tego typu tablice są przydatne wszędzie tam, gdzie dane mają bardziej strukturalny charakter, jak w przypadku danych użytkowników. Pogląd, że tablica definiuje sześć wartości, jest błędny, ponieważ każda para klucz-wartość stanowi pojedynczą jednostkę w tablicy, a nie oddzielne elementy. Częstym błędem jest myślenie o każdej wartości w tablicy jako osobnym elemencie, pomijając fakt, że klucz i wartość tworzą integralną parę. W praktycznym zastosowaniu znajomość i właściwe wykorzystanie tablic asocjacyjnych w PHP znacząco poprawia efektywność pisania i zarządzania kodem oraz jego zrozumienie przez innych programistów.

Pytanie 27

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

SELECT * FROM producent, hurtownia, sklep, serwis
WHERE producent.nr_id = hurtownia.nr_id
AND producent.wyrob_id = serwis.wyrob_id
AND hurtownia.nr_id = sklep.nr_id
AND sklep.nr_id = serwis.nr_id
AND producent.nr_id = 1;
A. Na podstawie parametru wyrob_id wyłącznie z trzech tabel
B. Na podstawie parametru nr_id wyłącznie z trzech tabel
C. Na podstawie parametru wyrob_id ze wszystkich tabel
D. Na podstawie parametru nr_id ze wszystkich tabel
Problem z błędnymi odpowiedziami polega na niewłaściwym zrozumieniu użycia parametrów w zapytaniu SQL Pierwsza z nich sugeruje użycie parametru wyrob_id wyłącznie dla trzech tabel co jest błędne ponieważ w analizowanym zapytaniu wyrob_id jest używany do łączenia jedynie dwóch tabel producent i serwis Nie łączy on wszystkich czterech tabel co ogranicza zakres danych Druga odpowiedź mylnie zakłada że wyrob_id jest używany dla wszystkich tabel co wskazuje na nieprawidłową interpretację struktury samego zapytania Trzecia odpowiedź błędnie sugeruje że parametr nr_id ogranicza się do trzech tabel co również jest sprzeczne z rzeczywistością zapytania które używa nr_id jako wspólnego klucza dla wszystkich czterech tabel Często pomyłki tego typu wynikają z braku zrozumienia jak działa klucz podstawowy i obcy w bazach danych Klucze te są podstawą dla relacji pomiędzy tabelami i ich poprawne użycie jest kluczowe dla uzyskiwania poprawnych wyników z zapytań Skupienie się na zrozumieniu struktury relacyjnej oraz zasad normalizacji pomoże w unikaniu takich błędów w przyszłości co jest kluczowe dla zachowania integralności i spójności danych w systemach bazodanowych

Pytanie 28

Jaki System Zarządzania Bazą Danych jest standardowo używany w pakiecie XAMPP?

A. PostgreSQL
B. Firebird
C. Oracle
D. MariaDB
MariaDB jest systemem zarządzania bazą danych, który jest domyślnie stosowany w pakiecie XAMPP. Jest to otwarty, wieloplatformowy system, będący fork'iem MySQL, co oznacza, że zachowuje wiele z jego funkcjonalności, a jednocześnie wprowadza nowe cechy oraz poprawki. Dzięki temu, MariaDB zyskuje na wydajności i bezpieczeństwie w porównaniu do MySQL. Użytkownicy XAMPP mogą korzystać z MariaDB do lokalnego rozwoju aplikacji webowych, co pozwala na testowanie i debugowanie przed wdrożeniem na serwerze produkcyjnym. Przykładowe zastosowania to budowa dynamicznych stron internetowych, systemów e-commerce czy aplikacji do zarządzania treścią. Standardowe praktyki obejmują tworzenie kopii zapasowych, optymalizację zapytań oraz zapewnienie bezpieczeństwa danych poprzez odpowiednie konfiguracje oraz aktualizacje. MariaDB jest zgodna z SQL, co umożliwia łatwe przejście z MySQL oraz integrację z popularnymi frameworkami i CMS-ami takimi jak WordPress czy Joomla.

Pytanie 29

Aby usunąć zduplikowane wiersze z wyniku zapytania, trzeba zastosować klauzulę

A. DISTINCT
B. UNIQUE
C. ORDER BY
D. LIMIT
LIMIT, UNIQUE i ORDER BY to różne funkcje w SQL, które nie pomagają w eliminowaniu powtarzających się wierszy. LIMIT pozwala nam ograniczyć liczbę zwracanych wierszy, co może być fajne, jeśli chcemy zobaczyć tylko na przykład 10 pierwszych rekordów, ale nie zapewnia unikalności danych. Z kolei UNIQUE jest używane przy definiowaniu tabel, żeby wartości w danej kolumnie były unikalne, ale nie działa bezpośrednio w zapytaniach do usuwania duplikatów. ORDER BY to już całkiem inna bajka, bo służy do sortowania wyników zapytania, co też nie ma nic wspólnego z eliminacją duplikatów. Często mylimy te pojęcia, ale ważne, żeby pamiętać, że tylko DISTINCT działa na dublujących się wierszach. W praktyce, jeśli chcemy mieć przejrzyste dane, musimy odpowiednio stosować klauzulę DISTINCT, co jest zgodne z zasadami dobrego programowania zapytań w SQL.

Pytanie 30

W efekcie wykonania przedstawionego w ramce kodu JavaScript, zmienna x jest równa

Ilustracja do pytania
A. 10 i zostanie wypisana w dokumencie HTML.
B. 11 i zostanie wypisana w oknie popup.
C. 11 i zostanie wypisana w konsoli przeglądarki internetowej.
D. 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
W tym zadaniu łatwo się pomylić, bo miesza się tutaj kilka różnych sposobów wyprowadzania informacji w JavaScript i jednocześnie trzeba poprawnie zinterpretować działanie operatora inkrementacji. Kod wygląda niewinnie, ale kryje w sobie typowe pułapki: `var x = 10; x++; console.log(x);`. Kluczowe są dwa elementy: co robi `x++` oraz gdzie faktycznie pojawia się wynik działania programu. Zaczynając od wartości zmiennej: zapis `var x = 10;` nadaje zmiennej `x` wartość początkową 10. Potem pojawia się operator `x++`, czyli inkrementacja postfiksowa. W JavaScript (podobnie jak w wielu językach z rodziny C) `++` zwiększa wartość zmiennej o 1. Po wykonaniu tej instrukcji wewnętrzny stan programu się zmienia: `x` nie ma już wartości 10, tylko 11. Błędne odpowiedzi zakładają, że `x` pozostaje równe 10, co wynika zazwyczaj z nieuwagi albo z mylenia operatora przypisania `=` z porównaniem, albo z całkowitego pominięcia działania `x++`. Druga część problemu to miejsce wyświetlenia wyniku. Wiele osób odruchowo kojarzy JavaScript z `alert()` i oknami popup, albo z wypisywaniem czegoś bezpośrednio w HTML-u przez `document.write()`. Tymczasem w kodzie użyte jest `console.log(x);`. Ta funkcja nie pokazuje wyniku ani w oknie popup, ani w treści dokumentu, ani w głównym oknie przeglądarki. Zgodnie z praktyką programistyczną i dokumentacją przeglądarek, `console.log()` służy do logowania informacji w konsoli deweloperskiej (narzędziach programistycznych). To jest typowy mechanizm debugowania, niewidoczny dla zwykłego użytkownika strony. Mylenie `console.log()` z wyświetlaniem na stronie wynika często z tego, że ktoś patrzy tylko na efekt w trakcie nauki i nie rozróżnia warstwy interfejsu użytkownika od warstwy debugowania. W prawidłowym rozumieniu: wartość zmiennej zmienia się z 10 na 11 dzięki `x++`, a wynik jest kierowany do konsoli, a nie do HTML ani do popupu. Dlatego wszystkie odpowiedzi, które mówią o wartości 10 lub o innym miejscu wyświetlania niż konsola przeglądarki, są po prostu niezgodne z faktycznym działaniem tego fragmentu kodu.

Pytanie 31

Który fragment kodu stanowi zamiennik dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. A
B. C
C. B
D. D
Odpowiedzi B i D są nieprawidłowe ponieważ ignorują kluczową część logiki oryginalnego kodu mianowicie filtrację parzystych liczb. Odpowiedź B iteruje przez wszystkie liczby od 1 do 55 wypisując je wszystkie bez wyjątku co diametralnie odbiega od zamierzonego wyniku kodu źródłowego. Odpowiedź D jest identyczna z B z tym że format zapisu jest nieco odmienny nie ma to jednak wpływu na logikę działania co czyni ją również błędną. Odpowiedź C inicjuje pętlę od 2 i inkrementuje x o 2 co teoretycznie powinno zbliżyć się do rozwiązania jednak zakres iteracji kończy się na 56 co wykracza poza zadany limit 55 oraz wypisuje nieistniejącą w oryginalnej pętli dodatkową liczbę co jest błędne. Wybory te mogą wynikać z niewłaściwego zrozumienia zakresu pętli lub metody przeskakiwania wartości co jest częstym błędem przy interpretacji pętli iteracyjnych. Kluczowe jest zrozumienie jak zastosowana logika i zakres wpływają na wynik końcowy oraz jak można optymalnie odwzorować te zasady w alternatywnym kodzie.

Pytanie 32

Jakim sposobem w języku PHP można zapisać komentarz zajmujący kilka linii?

A. //
B. #
C. /* */
D. <!-- -->
Kiedy mówimy o komentowaniu kodu w języku PHP, warto zrozumieć, że każdy z wymienionych sposobów ma swoje zastosowanie, ale nie wszystkie pozwalają na wielolinijkowe komentarze. Użycie znaku #, choć jest poprawne w niektórych kontekstach, nie jest standardowym podejściem w PHP do komentowania. W rzeczywistości, ten sposób był bardziej popularny w językach takich jak Python czy Ruby. Dlatego poleganie na tym znaku w kodzie PHP może wprowadzać w błąd, zwłaszcza dla osób, które przyzwyczaiły się do innych konwencji. Z kolei użycie podwójnego ukośnika // pozwala na komentowanie tylko pojedynczej linii, co ogranicza jego użyteczność, gdy potrzebujemy wyjaśnić dłuższy fragment kodu. Wreszcie, komentarze w formacie HTML, czyli <!-- -->, są stosowane w kontekście kodu HTML, a nie PHP, co czyni je niewłaściwymi w tym przypadku. To prowadzi do typowego błędu myślowego, gdzie programiści mogą mylić kontekst użycia różnych typów komentarzy w różnych językach programowania. Kluczowe jest zrozumienie, że dobór odpowiedniego sposobu komentowania jest fundamentem efektywnej komunikacji w zespole programistycznym i ma istotny wpływ na późniejsze utrzymanie oraz rozwój kodu.

Pytanie 33

W deklaracji w języku JavaScript:```var x=true;``` zmienna x przyjmuje typ

A. ciąg znaków
B. logicznym
C. wyliczeniowym
D. liczbowym
Odpowiedź logicznego jest poprawna, ponieważ w języku JavaScript wyrażenie `var x = true;` przypisuje do zmiennej `x` wartość typu boolean, która jest jednym z dwóch stanów: `true` lub `false`. Typ boolean jest kluczowym elementem programowania, służącym do wykonywania logiki warunkowej, co jest niezbędne w większości aplikacji. Na przykład, używając warunków if-else, możemy podejmować decyzje na podstawie wartości boolean. W praktyce, po przypisaniu `x`, możemy używać go w instrukcjach warunkowych, jak w poniższym przykładzie: `if (x) { console.log('X jest prawdą'); } else { console.log('X jest fałszem'); }`. Ponadto, dobrym standardem jest oznaczanie zmiennych typem boolean poprzez użycie prefiksów, jak `is` lub `has`, co poprawia czytelność kodu. Wspieranie logiki programowania przy użyciu typów prostych jest kluczowe w inżynierii oprogramowania, co czyni tę wiedzę istotną.

Pytanie 34

Poniższe zapytanie SQL ma na celu:

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. zwiększyć o jeden wartość kolumny id_klasy dla wszystkich wpisów w tabeli Uczen
B. zwiększyć o jeden wartość pola Uczen
C. ustawić wartość pola Uczen na 1
D. przypisać wartość kolumny id_klasy jako 1 dla wszystkich wpisów w tabeli Uczen
Polecenie SQL "UPDATE Uczen SET id_klasy = id_klasy + 1;" jest poprawne, ponieważ wskazuje na aktualizację kolumny 'id_klasy' w tabeli 'Uczen'. Wartość kolumny dla każdego rekordu w tabeli zostanie zwiększona o jeden. Działanie to jest przydatne w sytuacjach, gdy chcemy zaktualizować dane, na przykład po przesunięciu uczniów do wyższej klasy w systemie edukacyjnym. Przy takim podejściu, wszyscy uczniowie w danym roku szkolnym mogą zostać automatycznie przeniesieni do następnej klasy bez konieczności edytowania rekordów pojedynczo, co zwiększa efektywność i zmniejsza ryzyko błędów. Ta praktyka jest zgodna z zasadami optymalizacji baz danych, gdzie operacje masowe są preferowane dla ich wydajności. Ponadto, dobrym nawykiem jest tworzenie kopii zapasowych przed przeprowadzeniem masowych aktualizacji, aby uniknąć nieodwracalnych zmian w przypadku błędów.

Pytanie 35

Jaką cechę pola w tabeli należy ustalić, aby pole mogło przyjmować wyłącznie dane składające się z cyfr?

Ogólne
Rozmiar pola255
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. Wartość domyślną
B. Tagi inteligentne
C. Regułę sprawdzania poprawności
D. Maskę wprowadzania
Tagi inteligentne to narzędzie, które można znaleźć w dokumentach czy w systemach do zarządzania danymi. Służą do automatycznego rozpoznawania danych, na przykład dat czy adresów, ale nie mają możliwości ograniczania wprowadzanych danych pod kątem ich formatu, jak na przykład cyfry. Reguły sprawdzania poprawności dane na poziomie tabeli, co oznacza, że można sprawdzać, czy spełniają pewne kryteria przy zapisywaniu. To działa, ale jest bardziej ogólne i nie zastąpi maski wprowadzania, bo te działają w czasie rzeczywistym. Z kolei wartość domyślna to coś, co automatycznie wprowadza dane w polu, jeśli użytkownik nic nie poda. To może być przydatne, gdy jakieś pole zawsze powinno mieć określoną wartość, chyba że użytkownik zadecyduje inaczej. Tylko że wartość domyślna nie reguluje, jakie dane mogą być wpisywane, co jest właśnie wymagane w pytaniu o ograniczenie danych do cyfr. Często myślimy, że wartość domyślna lub reguły mogą kontrolować format danych na bieżąco, ale to jest rola maski wprowadzania, która działa w momencie, gdy piszemy, więc chroni integralność już na etapie wprowadzania danych.

Pytanie 36

Pole autor w tabeli ksiazka jest:

CREATE TABLE ksiazka (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHAR(200),
autor SMALLINT UNSIGNED NOT NULL,
CONSTRAINT `dane` FOREIGN KEY (autor) REFERENCES autorzy(id)
);
A. polem wykorzystanym w relacji z tabelą dane
B. kluczem obcym związanym z tabelą autorzy
C. polem typu tekstowego zawierającym informacje o autorze
D. kluczem podstawowym tabeli ksiazka
Pole autor w tabeli ksiazka jest kluczem obcym, co oznacza, że wskazuje na inne pole w innej tabeli - w tym przypadku na pole id w tabeli autorzy. Klucze obce są podstawowym mechanizmem relacyjnych baz danych, który umożliwia tworzenie związków między różnymi tabelami. Dobre praktyki w projektowaniu baz danych sugerują używanie kluczy obcych do zapewnienia integralności referencyjnej, co oznacza, że każde odniesienie do innej tabeli musi wskazywać na istniejący rekord. Dzięki temu unika się problemów z danymi, takich jak tzw. „osierocone” rekordy, które odwołują się do nieistniejących danych. W praktyce, gdy dodajemy nową książkę do tabeli ksiazka, musimy mieć pewność, że istnieje odpowiedni autor w tabeli autorzy. Takie podejście podnosi jakość danych i pozwala na bardziej złożone zapytania SQL, które mogą łączyć informacje z różnych tabel w sposób spójny i logiki. Klucze obce są także kluczowe w kontekście operacji takich jak aktualizacja czy usuwanie danych, ponieważ mogą automatycznie zaktualizować lub usunąć powiązane rekordy, co zapewnia integralność bazy danych.

Pytanie 37

Aby wykonać przycisk na stronę internetową zgodnie z wzorem, potrzebne jest skorzystanie z opcji w programie do grafiki rastrowej

Ilustracja do pytania
A. propagacja wartości
B. selekcja eliptyczna
C. zniekształcenia i deformacja
D. zaokrąglenie lub wybór opcji prostokąt z zaokrąglonymi rogami
Propagacja wartości to termin, który odnosi się do automatycznego rozprzestrzeniania się cech lub danych w obrębie pewnego systemu, ale nie ma związku z tworzeniem przycisków graficznych. Stosuje się go raczej w kontekście programowania i przetwarzania danych. Zaznaczenie eliptyczne jest narzędziem używanym do wyboru kształtów owalnych lub kolistych w edycji grafiki, co przydaje się przy tworzeniu selektywnych modyfikacji, jednak nie jest bezpośrednio stosowane do tworzenia przycisków o zaokrąglonych rogach. Zniekształcenia i deformowanie odnoszą się do modyfikacji kształtu obiektów graficznych, co może być użyteczne przy tworzeniu artystycznych efektów specjalnych, ale nie jest potrzebne do uzyskania prostego efektu zaokrąglenia rogów. Częstym błędem jest mylenie złożonych operacji graficznych z prostymi narzędziami dostępnymi w programach graficznych. Należy zawsze pamiętać, że zaokrąglenie rogów to standardowa funkcjonalność dostępna w większości edytorów graficznych, dzięki czemu można uzyskać estetyczny efekt przy minimalnym wysiłku. Wykorzystanie właściwych narzędzi graficznych zgodnie z ich przeznaczeniem jest kluczowe dla efektywnego projektowania graficznego oraz oszczędności czasu w procesie twórczym. Rozumienie różnic między narzędziami pozwala na ich odpowiednie zastosowanie i unikanie błędów projektowych.

Pytanie 38

Jakie działanie wykonuje poniższy fragment kodu w języku JavaScript? n = "Napis1"; s = n.length;

A. Zwraca długość napisu zawartego w zmiennej n
B. Przypisuje do zmiennej s wartość odpowiadającą długości napisu z zmiennej n
C. Przypisuje wartość zmiennej n do zmiennej s
D. Przypisuje do zmiennej s część napisu z zmiennej n, o długości określonej przez zmienną length
Fragment skryptu w języku JavaScript, w którym zmienne n i s są definiowane, wykonuje przypisanie wartości długości napisu z zmiennej n do zmiennej s. Metoda length jest właściwością obiektów typu string, która zwraca liczbę znaków w danym napisie. W tym przypadku, jeśli zmienna n zawiera napis "Napis1", to zmienna s po wykonaniu tego skryptu przyjmie wartość 6, ponieważ napis ten składa się z 6 znaków. Praktyczne zastosowanie tej funkcji polega na możliwości dynamicznego określenia długości wprowadzanych danych, co jest kluczowe przy walidacji formularzy, obliczaniu rozmiaru danych czy tworzeniu interfejsów użytkownika. Dobrą praktyką w programowaniu jest zawsze uwzględnienie długości napisu w algorytmach przetwarzania tekstu, aby uniknąć błędów podczas operacji na stringach. Warto również wiedzieć, że w JavaScript właściwość length nie wymaga wywołania metody, co jest zgodne z ogólnym założeniem o uproszczeniu użycia obiektów, a tym samym podnosi czytelność kodu.

Pytanie 39

Jakie zadania programistyczne należy realizować po stronie serwera?

A. Walidacja danych wpisanych w pole tekstowe w czasie rzeczywistym
B. Zapisanie danych pobranych z aplikacji internetowej do bazy danych
C. Ukrywanie oraz odkrywanie elementów strony w zależności od bieżącej pozycji kursora
D. Zmiana stylu HTML na stronie spowodowana ruchem kursora
Kiedy użytkownik coś klika, jak na przykład zmienia styl HTML na stronie, to wszystko dzieje się po stronie klienta, czyli w przeglądarce. Zmiany te są przeważnie robione za pomocą JavaScript i CSS, dzięki czemu wszystko działa płynnie i szybko, bo nie musimy za każdym razem gadać z serwerem. Weźmy na przykład efekty hover – to coś, co naprawdę poprawia doświadczenie na stronie. Sprawdzanie danych w polach, jak adres e-mail, również odbywa się po stronie klienta. To właśnie tam walidujemy dane, co robi się najczęściej przez JavaScript. Dzięki temu nasz serwer nie dostaje za dużo niepotrzebnych zapytań, co czyni aplikacje bardziej responsywnymi. Jeśli chodzi o ukrywanie lub pokazywanie elementów na stronie w zależności od kursora, to również robimy to po stronie klienta. Takie rzeczy są zwykle ogarniane przez skrypty JavaScript, które zmieniają DOM. Tak więc, tego typu zadania musimy robić po stronie klienta, a nie na serwerze.

Pytanie 40

W dokumencie XHTML znajduje się fragment kodu, w którym występuje błąd walidacyjny. Co jest przyczyną tego błędu?

Ilustracja do pytania
A. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
B. Znaczniki powinny być pisane dużymi literami
C. Znacznik <br> musi być zamknięty
D. Nie ma nagłówka szóstego poziomu
Wybór odpowiedzi, że nie istnieje nagłówek szóstego stopnia, jest błędny, ponieważ w specyfikacji XHTML nagłówek szóstego stopnia <h6> jest jak najbardziej dopuszczalny i służy do oznaczania najmniej ważnych nagłówków, w hierarchii od <h1> do <h6>. Pisanie znaczników wielkimi literami nie jest wymogiem XHTML. Chociaż XHTML jest wrażliwy na wielkość liter, co oznacza, że nazwy znaczników i atrybutów muszą być pisane małymi literami, odpowiedź sugerująca, że tylko wielkie litery są poprawne, jest błędna. Użycie <b> jako zagnieżdżonego w <p> jest standardową praktyką i jest zgodne z normami XHTML, ponieważ <b> służy do pogrubienia tekstu wewnątrz elementu blokowego, jakim jest <p>. Problem z tą odpowiedzią polega na błędnym zrozumieniu struktury HTML, gdzie zagnieżdżanie elementów inline w elementach blokowych jest dozwolone. Ważnym aspektem jest umiejętność rozpoznania, które elementy są inline, a które blokowe, i jak mogą być poprawnie zagnieżdżane w kontekście specyfikacji XHTML. Poprawne zrozumienie tych zasad pomaga w tworzeniu wydajniejszych i bardziej zgodnych dokumentów internetowych.