Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 23 kwietnia 2026 08:12
  • Data zakończenia: 23 kwietnia 2026 08:35

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

Wymagane minimum: 20 punktów (50%)

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

Po wykonaniu poniższego kodu JavaScript, co będzie przechowywać zmienna str2?

var str1 = "JavaScript";
var str2 = str1.substring(2,6);
A. nvaScr
B. vaScri
C. avaS
D. vaSc
Wykorzystując metodę substring w JavaScript możemy wyodrębnić fragmenty łańcucha znaków bazując na indeksach początkowym i końcowym. Indeksowanie w JavaScript zaczyna się od zera co oznacza że pierwszy znak ma indeks 0 drugi 1 i tak dalej. W przypadku zmiennej str1 przechowującej łańcuch JavaScript wywołanie str1.substring(2 6) zwraca fragment zaczynający się od znaku o indeksie 2 do znaku o indeksie 5 włącznie. Oznacza to że metoda wybiera znaki od trzeciego do szóstego nie wliczając znaku o indeksie 6. W praktyce oznacza to że z napisu JavaScript wybierane są znaki aScr co tworzy łańcuch vaSc. Zrozumienie działania metody substring jest kluczowe przy pracy z łańcuchami znaków w JavaScript. Jest to standardowa metoda używana powszechnie do manipulacji tekstem co ma zastosowanie w wielu dziedzinach programowania frontendowego i backendowego. Ważne jest aby pamiętać o zeroindeksowaniu co pozwala uniknąć typowych błędów związanych z nieprawidłowym określeniem zakresu znaków.

Pytanie 2

Najłatwiejszym i najmniej czasochłonnym sposobem na przetestowanie funkcjonowania strony internetowej w różnych przeglądarkach oraz ich wersjach jest

A. użycie emulatora przeglądarek internetowych, np. Browser Sandbox
B. zainstalowanie na kilku maszynach różnych przeglądarek i przeprowadzenie testu witryny
C. testowanie strony w programie Internet Explorer, zakładając, że inne przeglądarki będą kompatybilne
D. skorzystanie z narzędzia do walidacji kodu HTML
Korzystanie z emulatora przeglądarek internetowych, takiego jak Browser Sandbox, to jedna z najskuteczniejszych metod na testowanie działania witryny w różnych przeglądarkach i ich wersjach. Emulatory umożliwiają symulację różnych środowisk przeglądarkowych bez potrzeby fizycznego instalowania wielu aplikacji na różnych urządzeniach. To znacząco przyspiesza proces testowania i pozwala na łatwe przełączanie się między wersjami przeglądarek. Przykładowo, za pomocą emulatora można szybko sprawdzić, jak strona zachowuje się w Chrome, Firefox czy Safari, co jest kluczowe dla zapewnienia spójnego doświadczenia użytkownika. Ponadto, korzystanie z takich narzędzi pozwala na testowanie z różnych systemów operacyjnych, co jest istotne w kontekście różnorodności urządzeń używanych przez użytkowników. Dobrze skonfigurowany emulator nie tylko pozwala na testowanie responsywności witryny, ale także na analizowanie błędów związanych z CSS czy JavaScript, co przekłada się na wyższą jakość końcowego produktu. Zastosowanie emulatorów jest zgodne z najlepszymi praktykami w zakresie tworzenia aplikacji webowych, które powinny być dostępne i funkcjonalne w różnych przeglądarkach.

Pytanie 3

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: right; }
C. nav { float: left; } aside { float: left; }
D. nav { float: right; } section { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 4

Funkcja agregująca MIN w SQL ma na celu obliczenie

A. wartości najmniejszej w kolumnie wynikowej kwerendy
B. długości tekstu w rekordach zwróconych przez kwerendę
C. średniej wartości różnych pól w rekordzie zwróconym przez zapytanie
D. liczby wierszy, które zostały zwrócone przez kwerendę
Funkcja agregująca MIN w języku SQL służy do obliczania wartości minimalnej w kolumnie zwróconej przez kwerendę. Działa ona na zbiorze rekordów i zwraca najmniejszą wartość spośród wartości znalezionych w specyfikowanej kolumnie. Przykładowo, jeśli w naszej bazie danych mamy tabelę 'Pracownicy' z kolumną 'Wynagrodzenie', zapytanie SQL 'SELECT MIN(Wynagrodzenie) FROM Pracownicy;' zwróci najniższe wynagrodzenie wśród wszystkich pracowników. Funkcja ta jest niezwykle przydatna w analizie danych, gdzie często chcemy zidentyfikować najniższe wartości, na przykład w raportach finansowych czy w analizach jakości danych. Dobrze jest też pamiętać, że MIN może być używana w połączeniu z klauzulą GROUP BY, co pozwala na uzyskanie minimalnych wartości w podgrupach danych, co jest standardem w analityce danych w SQL.

Pytanie 5

W języku PHP zmienna $_GET jest zmienną

A. zwykłą, utworzoną przez autora witryny
B. predefiniowaną, wykorzystywaną do zbierania wartości formularza po nagłówkach żądania HTTP (dane z formularza nie są widoczne w adresie)
C. utworzoną przez autora strony, używaną do przesyłania danych z formularza przez adres URL
D. predefiniowaną, używaną do przesyłania informacji do skryptów PHP za pośrednictwem adresu URL
Odpowiedź jest poprawna, ponieważ zmienna $_GET w języku PHP jest predefiniowaną tablicą asocjacyjną, która służy do pobierania danych przekazanych przez metodę GET. Gdy użytkownik wysyła formularz z wykorzystaniem metody GET, wartości pól formularza są dołączane do adresu URL jako parametry zapytania. Na przykład, w adresie 'example.com/page.php?name=John&age=30', zmienna $_GET będzie zawierać wartości ['name' => 'John', 'age' => '30']. Dzięki temu skrypty PHP mogą uzyskiwać dostęp do tych danych i je przetwarzać. Używanie $_GET jest powszechną praktyką, szczególnie w przypadku, gdy dane nie są wrażliwe, ponieważ są widoczne w adresie URL. Ważne jest, aby pamiętać o bezpieczeństwie, stosując odpowiednie mechanizmy filtrowania i walidacji, aby uniknąć ataków, takich jak SQL Injection. Zastosowanie $_GET jest istotne w kontekście SPA (Single Page Applications), gdzie dane są często przesyłane na serwer w celu pobrania lub zaktualizowania zawartości strony bez przeładowania całej aplikacji.

Pytanie 6

Dla dowolnego a z zakresu (0,99) celem funkcji napisanej w języku JavaScript jest
function fun(a)
 {
    for(n=a; n <=100; n++)
    document.write(n);
    return(n);
 }

A. zwrócenie liczb z zakresu a .. 99
B. wypisanie liczb z zakresu a .. 100 oraz zwrócenie wartości zmiennej n
C. wypisanie wartości zmiennej a i zwrócenie wartości zmiennej n
D. wypisanie liczb z zakresu a .. 99 oraz zwrócenie wartości 100
Funkcja napisana w JavaScript przewiduje iterację w celu wypisania liczb z przedziału ustalonego przez zmienną 'a' do 100. W kodzie zastosowano pętlę for, która zaczyna się od wartości a, a kończy na 100. Wartość zmiennej 'n' jest używana jako iterator, zaczynając od 'a' i zwiększając się o 1 w każdym obiegu pętli, aż osiągnie 100. Warto zauważyć, że funkcja wykorzystuje metodę 'document.write()', która służy do zapisywania danych na stronie internetowej. Po zakończeniu iteracji funkcja zwraca wartość zmiennej 'n', co w kontekście tego zadania oznacza, że zwróci ona wartość 101, ponieważ po ostatniej iteracji n przekroczy wartość 100. Przykład użycia tej funkcji w praktyce może obejmować generowanie dynamicznych treści na stronach internetowych, które wymagają wyświetlenia zakresu wartości liczbowych. Warto również dodać, że zgodnie z aktualnymi standardami JavaScript, kod mógłby być bardziej elegancko zapisany, wykorzystując np. funkcję 'console.log()' zamiast 'document.write()', co jest bardziej zalecane w nowoczesnym podejściu do programowania w JavaScript.

Pytanie 7

Wskaż, jaki błąd walidacyjny zawiera przedstawiony fragment kodu w języku HTML 5.

<h6>CSS</h6>
<p>Kaskadowe arkusze stylów (<b>ang. <i>Cascading Style Sheets</b></i>)<br>to język służący ...</p>
A. Znacznik br nie został prawidłowo zamknięty
B. Znacznik br nie powinien znajdować się wewnątrz znacznika p
C. Znacznik zamykający /b jest niezgodny z zasadą zagnieżdżania
D. Znacznik h6 nie jest używany w HTML5
W analizowanym fragmencie kodu HTML, znacznik zamykający /b jest niezgodny z zasadą zagnieżdżania. W prawidłowej konstrukcji HTML, znaczniki powinny być zamykane w odwrotnej kolejności do ich otwierania — nazywa się to zasadą LIFO (Last In, First Out). W przedstawionym kodzie, znacznik <b> jest otwierany przed znacznikiem <i>, ale zamykany po nim, co jest błędem strukturalnym. Poprawny zapis powinien wyglądać tak: <b><i>Cascading Style Sheets</i></b>. Ważne jest, aby zawsze pamiętać o poprawnej strukturze dokumentu HTML, ponieważ nieprzestrzeganie tej zasady może prowadzić do nieprzewidywalnych wyników renderowania na różnych przeglądarkach. Zasada ta jest kluczowa w zapewnieniu, że znaczniki są zagnieżdżone poprawnie i że style oraz skrypty działają zgodnie z oczekiwaniami. Tego rodzaju błędy mogą również negatywnie wpływać na dostępność strony dla użytkowników korzystających z czytników ekranowych.

Pytanie 8

Funkcji session_start() w PHP należy używać podczas realizacji

A. przetwarzania formularzy
B. wielostronicowej strony internetowej, która wymaga dostępu do danych przy przechodzeniu między stronami
C. każdej strony, która wykorzystuje ciasteczka
D. ładowania danych z zewnętrznych plików
Stosowanie funkcji session_start() w kontekście wczytywania danych z plików zewnętrznych jest nieadekwatne, ponieważ głównym celem tej funkcji jest zarządzanie sesjami użytkowników, a nie operacje na plikach. W przypadku wczytywania danych, zazwyczaj korzystamy z funkcji takich jak fopen(), fread() czy file_get_contents(), które są bezpośrednio przeznaczone do pracy z danymi przechowywanymi w plikach. Ponadto, wykorzystanie sesji w kontekście ciasteczek jest również mylące. Sesje w PHP mogą współpracować z ciasteczkami do przechowywania identyfikatorów sesji, ale ich użycie nie jest tożsame z prostą obsługą ciasteczek, która dotyczy bardziej danych o preferencjach użytkowników. Obsługa formularzy również nie wymaga bezpośrednio sesji, chociaż można je używać do przechowywania danych z formularzy pomiędzy różnymi stronami. Typowym błędem jest mylenie koncepcji związanych z trwałością danych i ich dostępnością. Sesje są używane do przechowywania stanu użytkownika w ramach danej wizyty na stronie, a nie do wczytywania danych czy ustawień globalnych, stąd ich zastosowanie w tych kontekstach jest ograniczone i nieodpowiednie.

Pytanie 9

Głównym celem systemu CMS jest oddzielenie treści portalu informacyjnego od jego wyglądu. Taki efekt osiąga się przez generowanie zawartości

A. ze statycznych plików HTML oraz wyglądu za pomocą technologii FLASH
B. z bazy danych oraz wyglądu za pomocą atrybutów HTML
C. ze statycznych plików HTML oraz wyglądu ze zdefiniowanego szablonu
D. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
Wybór błędnych odpowiedzi wskazuje na niepełne zrozumienie architektury systemów zarządzania treścią. Odpowiedzi sugerujące generowanie zawartości z 'statycznych plików HTML' nie uwzględniają kluczowej zasady, jaką jest elastyczność i efektywność dynamicznego zarządzania treścią. Statyczne pliki HTML są trudne do aktualizacji, co powoduje, że zmiany w treści są czasochłonne i zwiększają ryzyko błędów. Przykładowo, w przypadku wprowadzenia istotnych zmian w treści, takich jak aktualizacje informacji o produktach, każda zmiana wymagałaby ręcznej edycji wielu plików, co jest niepraktyczne i nieefektywne. Ponadto, wykorzystanie technologii FLASH do generowania wyglądu jest przestarzałym podejściem, które nie jest już wspierane przez większość nowoczesnych przeglądarek internetowych. FLASH nie tylko ogranicza dostępność treści na urządzeniach mobilnych, ale także stwarza zagrożenia związane z bezpieczeństwem. Ostatecznie, podejścia te nie są zgodne z najlepszymi praktykami branżowymi, które kładą nacisk na wykorzystanie responsywnych, łatwych w zarządzaniu szablonów i dynamicznych baz danych, co jest kluczowe dla sukcesu nowoczesnych aplikacji internetowych.

Pytanie 10

Aby strona internetowa była dostosowana do różnych urządzeń, należy między innymi określać

A. układ strony wyłącznie przy pomocy tabel
B. wymiary obrazów jedynie w pikselach
C. tylko znane fonty, takie jak Arial
D. wymiary obrazów w procentach
Definiowanie rozmiarów obrazów w procentach jest kluczowym elementem tworzenia responsywnych stron internetowych. Dzięki temu obrazy mogą dostosowywać się do różnych rozmiarów ekranów, co jest niezbędne w erze urządzeń mobilnych. Używając procentów, możemy zapewnić, że obrazy zachowają swoje proporcje w ramach kontenera, co eliminuje problem z rozciąganiem lub zniekształceniem grafiki. Na przykład, ustawiając szerokość obrazu na 50%, obraz zajmie połowę szerokości kontenera, niezależnie od tego, czy jest to telefon, tablet, czy komputer stacjonarny. Taki sposób definiowania rozmiarów jest zgodny z zasadami projektowania responsywnego, w tym z technikami, które określają elastyczne układy oparte na jednostkach względnych, takich jak em, rem, czy vw. W praktyce przyjęcie takiego podejścia nie tylko poprawia doświadczenie użytkownika, ale również zwiększa dostępność strony, co jest istotnym aspektem w kontekście standardów WCAG (Web Content Accessibility Guidelines).

Pytanie 11

Jaki program jest wykorzystywany do edycji dźwięku?

A. Inkscape
B. GIMP
C. CorelDRAW
D. Audacity
Audacity to naprawdę fajny program do obróbki dźwięku, który jest używany przez wielu, zarówno hobbystów, jak i profesjonalistów. Jest to open-source, więc można go ściągnąć za darmo. Dzięki niemu możesz nagrywać dźwięki z mikrofonu lub z innych źródeł, co jest super przydatne. Możliwości edytowania ścieżek dźwiękowych są ogromne – masz różne efekty, jak kompresja, EQ czy reverb, które naprawdę mogą wzbogacić Twoje nagrania. Obsługuje też wiele formatów plików, jak WAV, MP3 czy OGG, co sprawia, że jest wszechstronny. Sam z niego korzystam do nagrywania podcastów i muszę przyznać, że dobrze się sprawdza. Ważne, żeby pamiętać, że Audacity jest popularne w branży, bo pozwala na solidną pracę z dźwiękiem, co jest kluczowe, jeśli planujesz coś profesjonalnego. Jest też duża społeczność użytkowników, więc program ciągle się rozwija i aktualizuje. To na pewno coś, czego warto spróbować!

Pytanie 12

Przy założeniu, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
nada użytkownikowi anna uprawnienia wyłącznie do
A. wybierania, wstawiania oraz aktualizacji danych we wszystkich tabelach w bazie o nazwie klienci
B. wybierania, dodawania kolumn oraz zmiany struktury tabeli o nazwie klienci
C. wybierania, wstawiania oraz aktualizacji danych w tabeli o nazwie klienci
D. wybierania, dodawania kolumn oraz zmiany struktury wszystkich tabel w bazie o nazwie klienci
Polecenie SQL 'GRANT SELECT, INSERT, UPDATE ON klienci TO anna;' przyznaje użytkownikowi 'anna' konkretne uprawnienia do tabeli 'klienci'. Oznacza to, że użytkownik ten będzie miał możliwość wybierania (SELECT), wstawiania (INSERT) oraz aktualizacji (UPDATE) danych w tej konkretnej tabeli. To podejście jest zgodne z zasadą minimalnych uprawnień, co oznacza, że użytkownik powinien mieć jedynie te prawa, które są niezbędne do wykonywania jego zadań. Na przykład, jeśli 'anna' jest pracownikiem działu sprzedaży, może być konieczne, aby miała dostęp do aktualizacji informacji o klientach, ale nie potrzebuje uprawnień do usuwania rekordów (DELETE) czy zmiany struktury tabeli (ALTER). Praktyczne zastosowanie takiego przydzielania uprawnień pomaga w zabezpieczeniu danych oraz minimalizuje ryzyko nieautoryzowanych zmian, co jest standardem w zarządzaniu bazami danych. Dodatkowo, stosowanie takich restrykcji w przydzielaniu ról jest zgodne z najlepszymi praktykami bezpieczeństwa w branży IT, aby zapobiegać potencjalnym nadużyciom.

Pytanie 13

W dostępnej tabeli o nazwie przedmioty znajdują się pola: ocena oraz uczenID. Jakie zapytanie należy wykonać, aby obliczyć średnią ocenę ucznia z ID równym 7?

A. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7;
B. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;
C. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7;
D. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7;
Odpowiedź "SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;" jest poprawna, ponieważ zastosowanie funkcji agregującej AVG pozwala na obliczenie średniej wartości ocen dla ucznia o konkretnym identyfikatorze. W SQL, funkcje agregujące, takie jak AVG, COUNT, SUM, MIN i MAX, są kluczowymi narzędziami do analizy i przetwarzania danych. W tym przypadku, AVG oblicza średnią wartość pól 'ocena' w tabeli 'przedmioty', gdzie spełniony jest warunek 'uczenID = 7'. To podejście jest zgodne z najlepszymi praktykami w SQL, które zalecają ograniczenie zbioru danych przed zastosowaniem funkcji agregujących, aby wyniki były precyzyjne i użyteczne. Przykładowo, jeśli w przyszłości chcielibyśmy obliczyć średnią ocen dla innych uczniów, moglibyśmy zmieniać wartość 'uczenID', co czyni to zapytanie bardzo elastycznym. Ponadto, umiejętność korzystania z funkcji agregujących jest niezbędna w kontekście analizy danych w systemach baz danych, co czyni tę wiedzę fundamentalną w pracy z SQL.

Pytanie 14

Na ilustracji przedstawiono dwie tabele. Aby ustanowić między nimi relację jeden do wielu, gdzie jedna strona to Klienci, a druga strona to Zamowienia, należy

Ilustracja do pytania
A. powiązać relacją pola ID z obu tabel.
B. dodać pole klucza obcego do tabeli Klienci i powiązać je z ID tabeli Zamowienia.
C. wprowadzić pole klucza obcego do tabeli Zamowienia i powiązać je z ID tabeli Klienci.
D. stworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi klucz połączyć z ID tabeli Zamowienia.
Tworzenie relacji jeden do wielu między tabelami w bazie danych wymaga zrozumienia, jak działa klucz podstawowy i klucz obcy. W tym przypadku tabela Klienci posiada pole ID, które jest kluczem podstawowym. Aby utworzyć relację jeden do wielu, należy dodać do tabeli Zamowienia pole klucza obcego, które będzie połączone z polem ID z tabeli Klienci. Dzięki temu każdy rekord w tabeli Zamowienia będzie mógł być przypisany do jednego klienta, ale jeden klient może mieć wiele zamówień. Taka struktura jest zgodna z normalizacją baz danych, która ma na celu eliminację redundancji danych i zapewnienie integralności danych. W praktyce, w systemach takich jak SQL, relacje te są wykorzystywane do wykonywania operacji takich jak wyszukiwanie wszystkich zamówień dla konkretnego klienta, co jest wykonywane przez dołączenie tabel za pomocą klucza obcego. Implementacja kluczy obcych w bazach danych jest standardową praktyką, która zwiększa spójność i bezpieczeństwo danych, minimalizując ryzyko błędów podczas operacji CRUD (Create Read Update Delete).

Pytanie 15

Jak można umieścić komentarz w kodzie PHP, używając odpowiednich symboli?

A. /? ... ?/
B. /* ... */
C. <!-- ... -->
D. <? ... ?>
W języku PHP, komentarze można umieszczać w kodzie przy użyciu znaku '/*' na początku i '*/' na końcu. Jest to standardowy sposób tworzenia komentarzy blokowych, który pozwala na dodanie dłuższych opisów lub notatek. Komentarze te są ignorowane przez interpreter PHP, co oznacza, że nie wpływają na działanie programu. Użycie komentarzy blokowych jest szczególnie przydatne w sytuacjach, gdy chcemy wyłączyć większe fragmenty kodu lub dokumentować skomplikowane algorytmy. Można również stosować komentarze jednolinijkowe, które rozpoczyna się od znaku '//'. Ważne jest, aby stosować komentarze w sposób przemyślany, aby poprawić czytelność kodu oraz ułatwić jego utrzymanie. Warto zaznaczyć, że zgodnie z zaleceniami standardów PEP8 i PSR-12, dobrze udokumentowany kod jest kluczowy dla jego długoterminowej użyteczności i współpracy w zespole programistycznym. Przykładem użycia komentarza blokowego może być: /* To jest komentarz blokowy, który wyjaśnia poniższy kod. */

Pytanie 16

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

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

Pytanie 17

Jakie zdarzenie należy wykorzystać, aby funkcja JavaScript była aktywowana za każdym razem, gdy użytkownik wprowadza jakikolwiek znak w polu tekstowym?

A. onkeydown
B. onload
C. onclick
D. onmouseout
Funkcja JavaScript, która ma być wywoływana za każdym razem, gdy użytkownik wpisuje dowolny znak do pola edycji, powinna korzystać ze zdarzenia 'onkeydown'. Zdarzenie to jest wywoływane w momencie naciśnięcia klawisza, co oznacza, że natychmiast odzwierciedla zmiany wprowadzone przez użytkownika. Dzięki temu możemy w czasie rzeczywistym reagować na dane wprowadzane przez użytkownika, co jest niezwykle przydatne w aplikacjach interaktywnych. Przykładowo, jeśli mamy pole tekstowe, w którym użytkownik wprowadza swoje imię, możemy użyć zdarzenia 'onkeydown', aby sprawdzić, czy imię nie jest za krótkie lub nie zawiera niedozwolonych znaków. Można to zrealizować w następujący sposób: <input type='text' onkeydown='myFunction()'>. Standardy W3C definiują zdarzenia klawiaturowe jako kluczowy element interakcji użytkownika z aplikacjami webowymi, co czyni 'onkeydown' bardzo istotnym w kontekście UX/UI.

Pytanie 18

W obiektowym programowaniu w języku JavaScript zapis: this.zawod w podanym kodzie oznacza

function Uczen(){
  this.imie = '';
  this.nazwisko = '';
  this.technik = 'informatyk';
  this.zawod = function() {
    return this.technik;
  };
}
A. właściwość
B. metodę
C. klasę
D. konstruktor
Podejście, że this.zawod oznacza właściwość jest błędne, ponieważ w programowaniu obiektowym właściwością określamy element obiektu, który przechowuje dane. W przedstawionym kodzie this.zawod jest przypisany do funkcji, która jest metodą umożliwiającą wykonywanie operacji, a nie przechowywanie danych. Klasa w JavaScript, choć wprowadza nowe podejście do definiowania obiektów, jest konceptem wyższego poziomu i nie jest bezpośrednio związana z definicją metod za pomocą funkcji. W analizowanym kodzie użyto funkcji konstrukcyjnej, a nie klasy zdefiniowanej za pomocą słowa kluczowego class. Konstruktor w kontekście programowania obiektowego odnosi się do specjalnej funkcji, która inicjalizuje nowo utworzone obiekty, definiując ich właściwości i metody. W powyższym przykładzie funkcja Uczen pełni rolę konstruktora, lecz sam zapis this.zawod nie jest konstruktorem, gdyż nie służy do tworzenia instancji obiektów, lecz do definiowania ich zachowania. Rozróżnienie między metodą, właściwością, klasą i konstruktorem jest kluczowe dla zrozumienia struktury i działania obiektów w JavaScript. Typowe błędy myślowe wynikają z nieodróżniania tych pojęć i nieznajomości kontekstu, w jakim słowo this jest używane, które w JavaScript może odnosić się do różnych obiektów w zależności od miejsca wywołania i sposobu, w jaki funkcja została zdefiniowana lub wywołana. Zrozumienie tych pojęć jest fundamentalne dla efektywnego programowania obiektowego w JavaScript, co pozwala unikać błędów i pisać bardziej przejrzysty i efektywny kod

Pytanie 19

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. konstruktor
B. destruktor
C. obiekt
D. specyfikator dostępu
Konstruktor to specjalna metoda, która jest wywoływana automatycznie w momencie tworzenia nowego obiektu danej klasy. Jego głównym celem jest zainicjowanie pól obiektu oraz, w razie potrzeby, wykonanie dodatkowych działań konfiguracyjnych. W praktyce konstruktor umożliwia przygotowanie obiektu do dalszego użytkowania. Na przykład, w języku Java, konstruktor o nazwie klasy pozwala na tworzenie instancji tej klasy z określonymi wartościami dla pól. Dobre praktyki wskazują, że konstruktor powinien być używany do przekazywania parametrów, które są niezbędne do prawidłowego działania obiektu. Warto również wspomnieć o koncepcji konstruktorów przeciążonych, która pozwala na definiowanie wielu konstruktorów w jednej klasie, umożliwiając różne sposoby inicjalizacji obiektów. To sprawia, że kod jest bardziej elastyczny i czytelny, co jest zgodne z zasadami programowania obiektowego i dobrymi praktykami inżynierii oprogramowania.

Pytanie 20

Określ rezultat działania skryptu napisanego w języku PHP ```PHP "Perl",14=>"PHP",20=>"Python",22=>"Pike"); asort($tablica); print("

");
print_r($tablica);
print("
"); ?> ```

Ilustracja do pytania
A. rys. D
B. rys. B
C. rys. C
D. rys. A
Niepoprawne odpowiedzi wynikają z błędnego rozumienia działania funkcji asort() w PHP. Funkcja ta sortuje tablicę według wartości, a nie kluczy, co oznacza, że wartości są uporządkowane alfabetycznie lub numerycznie w zależności od ich typu. W przypadku tablic asocjacyjnych klucze pozostają przypisane do swoich oryginalnych wartości co jest kluczowe dla utrzymania integralności danych. Błędne podejścia do sortowania często wynikają z założenia że sortowanie dotyczy kluczy co prowadzi do błędnych wyników. Innym typowym błędem jest założenie że sortowanie zmienia klucze na indeksy numeryczne co nie jest prawdą dla funkcji asort(). Wiedza o tym jak PHP traktuje typy danych i jak przeprowadza operacje sortowania jest niezbędna do efektywnego programowania w tym języku. Należy pamiętać że asort() różni się od sort() gdyż ta druga funkcja faktycznie zmienia klucze na indeksy numeryczne co może prowadzić do utraty istotnych danych identyfikacyjnych w tablicach asocjacyjnych.

Pytanie 21

char str1[30] = 'Ala ma kota';
printf("%s", str1);
Wskaż, gdzie tkwi błąd w powyższym kodzie napisanym w języku C++?
A. W funkcji printf nie można używać formatowania %s.
B. Tekst powinien mieć dokładnie 30 znaków.
C. Tekst powinien być zawarty w cudzysłowie.
D. Do funkcji printf przekazano za mało argumentów.
Odpowiedź jest poprawna, ponieważ w języku C i C++, napisy muszą być ujęte w podwójne cudzysłowy, aby kompilator mógł je rozpoznać jako literały znakowe. W kodzie, który przedstawiono, użyto pojedynczych cudzysłowów, co jest niezgodne z regułami składniowymi tych języków. Poprawna definicja napisu powinna wyglądać następująco: char str1[30] = \"Ala ma kota\"; Ujęcie napisu w cudzysłowy pozwala na poprawne zainicjowanie tablicy typu char, co jest standardową praktyką w programowaniu w C/C++. Dzięki temu kompilator wie, że wszystkie znaki zawarte w cudzysłowie stanowią część jednego ciągu. Warto również zauważyć, że przy pracy z napisami w C, często używa się funkcji standardowych, takich jak strlen do obliczania długości napisu czy strcpy do kopiowania ciągów. Te funkcje są szeroko stosowane w praktyce i znajomość ich działania jest kluczowa dla efektywnego programowania. "

Pytanie 22

Która funkcja PHP obsługi bazy danych służy do kodowania polskich znaków?

A. mysqli_connect()
B. mysqli_query()
C. mysqli_fetch_assoc()
D. mysqli_set_charset()
Prawidłowa odpowiedź to mysqli_set_charset(), bo właśnie ta funkcja ustawia zestaw znaków (charset) dla połączenia z bazą danych w rozszerzeniu mysqli. W praktyce oznacza to, że dzięki niej PHP i serwer bazy danych (np. MySQL) „dogadują się”, w jakim kodowaniu mają być przesyłane i zapisywane teksty – w tym polskie znaki typu ą, ę, ł, ś itd. Bez poprawnie ustawionego charsetu bardzo łatwo o krzaczki, znaki zapytania zamiast liter albo problemy z sortowaniem tekstu. Moim zdaniem dobrą praktyką jest zawsze po nawiązaniu połączenia mysqli_connect natychmiast wywołać mysqli_set_charset($conn, 'utf8mb4'). Ten konkretny charset (utf8mb4) jest obecnie standardem de facto: obsługuje pełne Unicode, w tym emotikony, różne alfabety, a przy okazji bez problemu radzi sobie z polskimi znakami. Przykładowy, poprawny fragment kodu może wyglądać tak: $conn = mysqli_connect('localhost', 'user', 'haslo', 'baza'); mysqli_set_charset($conn, 'utf8mb4'); Dzięki temu każda instrukcja mysqli_query, każde pobieranie danych mysqli_fetch_assoc będzie już działać w odpowiednim kodowaniu. Warto pamiętać, że ustawienie charsetu powinno być spójne na wszystkich poziomach: konfiguracja bazy (collation i charset tabel), ustawienia połączenia (właśnie mysqli_set_charset) oraz nagłówki HTTP/HTML (meta charset="utf-8"). Dopiero takie podejście zgodne z dobrymi praktykami branżowymi zmniejsza ryzyko błędów związanych z kodowaniem tekstu, zwłaszcza w większych aplikacjach webowych. Jeśli robi się projekty komercyjne, to ignorowanie tej funkcji bardzo szybko mści się przy migracjach danych czy integracjach z innymi systemami.

Pytanie 23

W PHP, aby przekierować użytkownika na inną stronę internetową, można użyć funkcji

A. include();
B. upload();
C. header();
D. require();
Wybór odpowiedzi wykorzystujących funkcje require(), upload() i include() jest nieprawidłowy z kilku powodów. Funkcja require() służy do dołączania plików do skryptu PHP i jest wykorzystywana głównie do wczytywania zewnętrznych skryptów lub bibliotek, co nie ma nic wspólnego z przekierowaniem użytkownika. W przypadku, gdy plik nie zostanie znaleziony, funkcja ta spowoduje błąd krytyczny, a skrypt zatrzyma działanie, co jest niepożądane w kontekście przekierowań. Podobnie, include() działa na zasadzie dołączania plików, ale w przeciwieństwie do require() nie powoduje krytycznego błędu w przypadku braku pliku; zamiast tego wyświetla ostrzeżenie, co również nie jest odpowiednie w kontekście zarządzania nawigacją użytkownika. Co więcej, funkcja upload() nie istnieje w standardowej bibliotece PHP, co czyni tę odpowiedź całkowicie nieprawidłową. Typowe błędy myślowe prowadzące do takich wniosków mogą obejmować mylenie funkcji związanych z dołączaniem plików z funkcjami zarządzającymi nagłówkami i odpowiedziami HTTP. Ważne jest, aby zrozumieć kontekst użycia każdej funkcji oraz jej przeznaczenie, co wpływa na poprawność techniczną skryptów i działanie aplikacji webowych.

Pytanie 24

W tabeli mieszkancy znajdują się różne dane. Aby przefiltrować jedynie mieszkańców, którzy mają przypisaną dzielnicę = 1, stworzono dla uproszczenia działania wirtualną tabelę (widok) poprzez zastosowanie kwerendy

A. CREATE VIEW mieszkancySrodmiescie AS SELECT * FROM mieszkancy
B. CREATE VIEW mieszkancySrodmiescie AS SELECT * FROM mieszkancy WHERE dzielnica = 1
C. CREATE VIEW mieszkancy WHERE dzielnica = 1
D. CREATE VIEW mieszkancy FROM mieszkancy WHERE dzielnica = 1
Odpowiedź nr 4 jest na pewno w porządku, bo dobrze definiuje widok w SQL. Filtruje ona dane mieszkańców na podstawie konkretnego warunku. Użycie składni 'CREATE VIEW mieszkancySrodmiescie AS SELECT * FROM mieszkancy WHERE dzielnica = 1;' jest naprawdę zgodne z tym, co powinniśmy robić przy tworzeniu widoków w bazach danych. Widok to w zasadzie zapytanie, które pokazuje dane w specyficzny sposób, a w tym przypadku koncentruje się na mieszkańcach z konkretnej dzielnicy. Moim zdaniem, definiując widoki, warto pamiętać, że prostsze zapytania mogą znacznie poprawić czytelność i ułatwić pracę z kodem. Widoki są naprawdę przydatnym narzędziem do organizacji i segregacji danych, zwłaszcza w dużych systemach, gdzie filtrowanie i agregacja mają duże znaczenie. Na przykład, jeśli chciałbyś zobaczyć mieszkańców tylko z jednej dzielnicy, wystarczy, że użyjesz widoku i napiszesz 'SELECT * FROM mieszkancySrodmiescie'. Dobrze też wiedzieć, że widoki nie tylko filtrują, ale mogą też pomagać w prezentacji bardziej skomplikowanych zestawów danych, co czyni je uniwersalnym narzędziem w analizie i raportowaniu danych.

Pytanie 25

Która funkcja języka PHP służy do zapisu danych do pliku?

A. fwrite()
B. fread()
C. fgets()
D. readfile()
Poprawna odpowiedź to fwrite(), ponieważ jest to podstawowa funkcja PHP służąca do zapisu danych do pliku. W typowym scenariuszu najpierw otwierasz plik funkcją fopen(), np. w trybie 'w' (zapis, nadpisanie) albo 'a' (dopisywanie na koniec), a dopiero potem używasz fwrite($uchwyt, $dane). Taki schemat: $fp = fopen('log.txt', 'a'); fwrite($fp, "Nowy wpis\n"); fclose($fp); to w praktyce standardowy wzorzec pracy z plikami w PHP. Moim zdaniem warto od początku wyrabiać sobie nawyk sprawdzania, czy fopen() się udało (czy nie zwróciło false) oraz czy fwrite() nie zwróciło 0 lub false, bo to jedna z podstawowych dobrych praktyk w programowaniu webowym. W kontekście aplikacji internetowych fwrite() często wykorzystuje się do zapisywania logów (np. własny prosty system logowania błędów), przechowywania prostych danych konfiguracyjnych, cache’owania wygenerowanych stron HTML do plików statycznych, a nawet do eksportu danych do plików CSV. W realnych projektach PHP zapis do pliku trzeba łączyć z odpowiednimi uprawnieniami katalogów na serwerze oraz z kontrolą błędów, żeby aplikacja zachowywała się przewidywalnie nawet wtedy, gdy system plików odmawia zapisu. Dobre praktyki mówią też, żeby nie mieszać logiki aplikacji z zapisem do pliku w losowych miejscach kodu, tylko wydzielić osobne funkcje lub klasy (np. Logger, FileStorage). fwrite() jest wtedy używane pod spodem, a reszta aplikacji tylko woła te wyższe warstwy. Warto też pamiętać o kodowaniu znaków (UTF-8) i o tym, żeby przy danych binarnych (np. obrazki, PDF-y) otwierać plik w trybie 'wb' lub 'ab'. To niby drobiazgi, ale w praktyce często decydują o tym, czy program działa stabilnie na różnych serwerach i systemach operacyjnych.

Pytanie 26

Jakim zapisem można w dokumencie HTML stworzyć element, który wyświetla obraz kotek.jpg oraz zawiera tekst alternatywny „obrazek kotka”?

A. <img href="/kotek.jpg" alt="obrazek kotka">
B. <img href="/kotek.jpg" title="obrazek kotka">
C. <img src="/kotek.jpg" alt="obrazek kotka">
D. <img src="/kotek.jpg" title="obrazek kotka">
Poprawna odpowiedź to <img src="/kotek.jpg" alt="obrazek kotka">, ponieważ stosuje właściwe atrybuty do wyświetlania obrazów w HTML. Atrybut 'src' wskazuje na źródło obrazu, a 'alt' zawiera tekst alternatywny, który jest ważny dla dostępności oraz SEO. Standardy WCAG (Web Content Accessibility Guidelines) podkreślają znaczenie atrybutu 'alt', który zapewnia kontekst dla użytkowników korzystających z czytników ekranu. Ponadto, zastosowanie tego zapisu jest zgodne z dobrymi praktykami, które zachęcają do dostarczania informacji o obrazie, gdy nie może on być wyświetlony. Przykładem zastosowania może być dodanie obrazów w artykułach blogowych, gdzie 'alt' opisuje zawartość obrazu, co poprawia ogólne wrażenie oraz dostępność treści. Prawidłowe użycie atrybutów jest kluczowe dla stworzenia semantycznego i dostępnego kodu HTML.

Pytanie 27

W JavaScript stworzono funkcję o nazwie licz_pitagoras, która oblicza długość przeciwprostokątnej w trójkącie prostokątnym, zgodnie z twierdzeniem Pitagorasa. Funkcja przyjmuje dwa parametry wejściowe i zwraca wynik. Poprawne wywołanie tej funkcji, wraz z uzyskaniem zwróconej wartości, będzie miało formę

A. licz_pitagoras(a, b, c);
B. licz_pitagoras(a, b);
C. licz_pitagoras(a, b) = c;
D. c = licz_pitagoras(a, b);
Odpowiedź 'c = licz_pitagoras(a, b);' jest poprawna, ponieważ przedstawia sposób wywołania funkcji oraz przypisania jej wyniku do zmiennej. W języku JavaScript, aby skorzystać z funkcji, należy najpierw ją wywołać, a następnie, w przypadku gdy funkcja zwraca wartość, możemy tę wartość przypisać do zmiennej. W tym przypadku, funkcja 'licz_pitagoras' przyjmuje dwa argumenty, które odpowiadają długościom dwóch przyprostokątnych w trójkącie prostokątnym i zwraca długość przeciwprostokątnej, obliczoną na podstawie wzoru a^2 + b^2 = c^2. Przykład praktyczny to wykorzystanie tej funkcji w aplikacji, która oblicza długości boków trójkątów, co jest przydatne w różnych dziedzinach, takich jak inżynieria czy architektura. Warto pamiętać o dobrej praktyce, aby nazwy funkcji były opisowe, co ułatwia zrozumienie ich funkcji bez potrzeby zagłębiania się w implementację.

Pytanie 28

O obiekcie zdefiniowanym w języku JavaScript można stwierdzić, że zawiera

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: functon() { … }
}
A. dwie właściwości oraz jedną metodę
B. trzy metody
C. trzy właściwości
D. dwie metody oraz jedną właściwość
Odpowiedź, że obiekt w JavaScript ma dwie właściwości i jedną metodę, jest poprawna. Przykład obiektu `obiekt1` zawiera dwie właściwości: `x` i `y`, które są liczbowymi wartościami. Dodatkowo, metoda `wsp` jest poprawnie zdefiniowana jako funkcja, co czyni ją metodą obiektu. W praktyce obiekty w JavaScript służą do grupowania danych i funkcji, co jest przydatne w programowaniu obiektowym. Wprowadzenie do obiektów i ich właściwości oraz metod jest kluczowym elementem zrozumienia, jak JavaScript operuje na danych. Standardowe praktyki zalecają, aby metody były używane do definiowania zachowań obiektów, co jest zgodne z zasadami programowania zorientowanego obiektowo, gdzie obiekt jest zbiorem właściwości i metod, które operują na tych właściwościach. W kontekście dbałości o czystość kodu, warto zwrócić uwagę na stosowanie dobrej nazewnictwa dla metod i właściwości, co zwiększa czytelność i zrozumienie kodu. Przykładowo, jeśli `wsp` miała by reprezentować funkcję obliczającą współrzędne, dobrze by było, aby jej nazwa była bardziej opisowa, na przykład `obliczWspolrzedne`.

Pytanie 29

Jak można zaznaczyć komentarz w kodzie PHP?

A. /* … */
B. <!-- …. -->
C. /? … ?/
D. <? … ?>
Komentarze w kodzie PHP można umieszczać za pomocą znaków /* … */. Jest to standardowy sposób na dodawanie notatek, które są ignorowane przez interpreter PHP. Komentarze wieloliniowe są szczególnie przydatne w przypadku, gdy chcemy opisać większe fragmenty kodu lub wyłączyć sekcje kodu bez ich usuwania. Na przykład, możemy umieścić w komentarzach informacje o autorze, dacie powstania lub szczegóły dotyczące funkcjonalności danej funkcji. Dobrą praktyką jest również dokumentowanie ważnych informacji dotyczących zmiennych czy parametrów funkcji, co ułatwia przyszłą konserwację kodu. Warto pamiętać, że użycie komentarzy jest kluczowe w pracy zespołowej lub w projektach długoterminowych, gdzie zrozumienie kodu przez innych programistów może być kluczowe dla sukcesu projektu. Ponadto, stosowanie komentarzy zgodnie z dobrymi praktykami programowania zwiększa czytelność kodu i ułatwia jego późniejsze modyfikacje oraz debugowanie.

Pytanie 30

Które z poniższych zdań charakteryzuje grafikę wektorową?

A. Służy do zapisu zdjęć cyfrowych
B. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych
C. Jest to reprezentacja obrazu przy pomocy siatki pikseli o różnych kolorach układających się w poziomie i pionie na monitorze komputera, drukarce lub innym urządzeniu wyjściowym
D. Może być zapisywana w formatach JPG lub PNG
Wybór niepoprawnej odpowiedzi może wynikać z nieporozumienia dotyczącego podstawowych różnic między grafiką wektorową a grafiką rastrową. Wiele osób myli te dwa pojęcia, co prowadzi do błędnych wniosków. Na przykład, stwierdzenie, że grafika wektorowa jest wykorzystywana do zapisu fotografii cyfrowej, jest mylące, ponieważ fotografie to klasyczne przykłady grafiki rastrowej, która jest oparta na pikselach. Grafika rastrowa, jak JPEG czy PNG, polega na tworzeniu obrazów z małych kwadratowych jednostek (pikseli), co skutkuje utratą jakości przy ich skalowaniu, w przeciwieństwie do grafiki wektorowej. Ponadto, opisana jako 'prezentacja obrazu za pomocą pionowo-poziomej siatki odpowiednio kolorowanych pikseli', koncepcja ta odnosi się do struktury grafiki rastrowej, a nie wektorowej. Ponadto, formaty JPEG i PNG są odpowiednie dla obrazów rastrowych, a nie wektorowych, co podkreśla dodatkowe zamieszanie. Dobrze jest pamiętać, że rysunki wektorowe są oparte na matematycznych równaniach, co czyni je bardziej elastycznymi i odpowiednimi dla różnych zastosowań w projektowaniu graficznym. Typowe błędy w myśleniu dotyczące tych technologii wynikają z braku zrozumienia ich fundamentalnych właściwości oraz zastosowań w praktyce, co może prowadzić do niewłaściwego wykorzystania narzędzi graficznych w pracy zawodowej.

Pytanie 31

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

A. Redukowania długości tekstu o określoną w parametrze liczbę znaków
B. Porównywania dwóch tekstów i wyświetlania ich wspólnej części
C. Usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
D. Określania długości tekstu
Wybór odpowiedzi, która sugeruje, że funkcja trim w PHP zmniejsza napis o wskazaną w parametrze liczbę znaków, jest błędny. Funkcja ta nie ma na celu manipulacji długością napisu w taki sposób, ale raczej skupia się na usuwaniu zbędnych znaków z jego końców. Użytkownicy często mylą działanie trim z innymi funkcjami związanymi z obróbką łańcuchów tekstowych, co prowadzi do nieporozumień. Z kolei przekonanie, że trim porównuje dwa napisy i wypisuje ich część wspólną, jest także mylne, ponieważ nie dostarcza funkcjonalności porównywania tekstów. PHP oferuje inne funkcje, takie jak strcmp, które są przeznaczone do porównywania łańcuchów. Kolejna nieprawidłowa koncepcja to założenie, że trim służy do podawania długości napisu - na to zadanie są dedykowane inne funkcje, jak strlen. Różne funkcje w PHP mają specyficzne zastosowania, co jest istotne w kontekście dobrych praktyk programistycznych, ponieważ stosowanie niewłaściwych funkcji może prowadzić do nieefektywności i błędów w kodzie. Warto zatem dokładnie zapoznawać się z dokumentacją PHP i zrozumieć, jakie są cele i zastosowania konkretnych funkcji, aby uniknąć typowych pułapek i błędów w programowaniu.

Pytanie 32

Fragment kodu HTML z JavaScript spowoduje, że po kliknięciu przycisku

<img src="obraz1.png">
<img src="obraz2.png" id="id1">
<button onclick="document.getElementById('id1').style.display='none'">Przycisk</button>
A. obraz2.png zastąpi obraz1.png
B. obraz1.png zostanie schowany
C. obraz2.png zostanie schowany
D. obraz1.png zastąpi obraz2.png
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia działania mechanizmu manipulacji DOM przy użyciu JavaScript. Pierwszym potencjalnym błędem jest założenie, że obraz1.png zostanie ukryty. Kod JavaScript wyraźnie odnosi się do elementu o id 'id1', co jednoznacznie wskazuje na obraz2.png. Tym samym jakiekolwiek operacje związane z obraz1.png są wykluczone, ponieważ ten obraz nie posiada przypisanego identyfikatora, który mógłby być użyty w skrypcie. Kolejne błędne założenie dotyczy zastąpienia jednego obrazu drugim. Aby taka operacja miała miejsce, kod musiałby modyfikować atrybut src jednego z elementów img, co w tym przypadku nie występuje. W obecnym fragmencie kodu zmiana atrybutu src nie jest implementowana, co rzutuje na to, że żaden obraz nie zostanie zamieniony. Typowy błąd logiczny polega tutaj na pomyleniu ukrywania elementu z jego modyfikacją lub zamianą. Błędne rozumienie również może wywodzić się z zakładania, że zmiana widoczności elementu automatycznie implikuje jego fizyczną zamianę, co nie jest prawdą w kontekście manipulacji DOM. Użytkownik powinien nauczyć się rozróżniać te operacje, aby unikać podobnych nieporozumień. Prawidłowe zrozumienie tych mechanizmów pozwala na efektywne projektowanie dynamicznych interfejsów użytkownika, które są zarówno funkcjonalne, jak i estetyczne. W rzeczywistości, operacje na DOM, takie jak ukrywanie elementów, są podstawą nowoczesnego web designu i powinny być dobrze zrozumiane przez każdego programistę webowego.

Pytanie 33

Czym jest DBMS?

A. Kaskadowy arkusz stylów do opisu wyglądu witryny www
B. Obiektowy język programowania służący do tworzenia stron www
C. Strukturalny język zapytań do bazy danych
D. System zarządzania bazą danych
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 34

Element bazy danych, którego podstawowym celem jest generowanie lub prezentowanie zestawień informacji, to

A. formularz
B. moduł
C. raport
D. makro
Raport to taki dokument w bazie danych, który ma za zadanie pokazać dane w przejrzysty i uporządkowany sposób. To jest mega ważne, zwłaszcza kiedy chcemy analizować różne informacje. Można je wykorzystać do robienia zestawień, statystyk, a nawet wykresów, co naprawdę ułatwia podejmowanie decyzji. Zazwyczaj raporty tworzy się na podstawie danych z różnych miejsc, jak tabele czy zapytania. W programach do zarządzania bazami, jak Microsoft Access, można korzystać z kreatora raportów, który pomaga ustawić wszystko tak, jak się chce – wybieramy źródło danych, układ i format. Oczywiście, do pozyskiwania danych często wykorzystuje się SQL, no i potem już te dane można analizować i przedstawiać w raportach. Jak sobie pomyślisz o przykładzie, to taki miesięczny raport sprzedaży to super narzędzie dla menedżerów, bo mogą ocenić, jak im idzie w sprzedaży i podejmować lepsze decyzje strategiczne.

Pytanie 35

W języku HTML kolor biały można przedstawić przy użyciu wartości

A. #000000
B. rgb(FFFF,FF)
C. #255255
D. rgb(255,255,255)
Biały kolor w HTML zapisujemy jako rgb(255,255,255). W systemie RGB kolory tworzą się z trzech podstawowych barw: czerwonej, zielonej i niebieskiej. Każda z nich ma wartość od 0 do 255, więc maksymalna intensywność danego koloru to 255, a najniższa to 0. W przypadku białego koloru wszystkie trzy barwy są na maksa, stąd właśnie rgb(255,255,255) oznacza pełną moc czerwonego, zielonego i niebieskiego, co razem daje kolor biały. Wartości RGB są super ważne w CSS i w różnych programach do grafiki. Moim zdaniem, warto je znać, bo to podstawy przy robieniu stron internetowych. Warto też zwrócić uwagę na standardy W3C dotyczące kolorów w HTML, bo pomagają zadbać o estetykę i dostępność stron.

Pytanie 36

Wskaż NIEPRAWIDŁOWY opis optymalizacji kodu wygenerowanego przez program

A. Powinna prowadzić do zmiany kodu źródłowego w taki sposób, aby działał on szybciej
B. W celu przyspieszenia wykonania kodu przez procesor może być przeprowadzana na różnych etapach działania
C. Jej celem jest zwiększenie efektywności programu
D. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
Optymalizacja kodu wynikowego programu to proces, który ma na celu poprawienie jego wydajności, a nie sprawdzenie zgodności z wymogami formalnymi. W praktyce oznacza to, że optymalizacja skupia się na zwiększeniu efektywności działania aplikacji poprzez różne techniki, takie jak eliminacja zbędnych operacji, zmniejszenie zużycia pamięci, czy też poprawa szybkości wykonywania kodu. Przykładem może być wykorzystanie algorytmów o lepszej złożoności czasowej, co przekłada się na szybsze działanie programów w praktycznych zastosowaniach, takich jak gry komputerowe czy aplikacje webowe. W branży programistycznej stosuje się różnorodne narzędzia i standardy, takie jak analizy profili, które pomagają w identyfikowaniu wąskich gardeł wydajnościowych. Dlatego ważne jest, aby zrozumieć, że optymalizacja to nie tylko poprawa działania programu, ale także dostosowanie go do określonych wymagań użytkowników i systemów, na których będzie uruchamiany.

Pytanie 37

Jakie technologie są konieczne do uruchomienia systemu CMS Joomla!?

A. Apache oraz PHP
B. IIS, PERL i MySQL
C. PHP oraz MySQL
D. Apache, PHP i MySQL
Joomla! jest systemem zarządzania treścią, który wymaga specyficznych technologii do prawidłowego działania. Do uruchomienia Joomla! niezbędne jest środowisko, które obejmuje serwer WWW Apache, język skryptowy PHP oraz bazę danych MySQL. Apache jest najpopularniejszym serwerem WWW, który obsługuje wiele funkcji, takich jak obsługa dynamicznych treści oraz zarządzanie dużymi ilościami ruchu. PHP jest językiem skryptowym, który pozwala na interakcję z bazą danych oraz generowanie treści w czasie rzeczywistym, co jest kluczowe dla działania CMS-a. MySQL natomiast jest systemem zarządzania bazą danych, który przechowuje wszystkie dane dotyczące witryny, takie jak artykuły, ustawienia i użytkownicy. Przykładem zastosowania tych technologii może być stworzenie strony internetowej dla lokalnej organizacji non-profit, gdzie Joomla! umożliwia łatwe zarządzanie treścią przez osoby nieposiadające zaawansowanej wiedzy technicznej. Dobre praktyki w branży zalecają stosowanie najnowszych wersji tych technologii, aby zapewnić bezpieczeństwo oraz wydajność witryny.

Pytanie 38

W PHP typ float oznacza

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

Pytanie 39

Kod został napisany w języku JavaScript. W podanej definicji obiektu metodą jest element o nazwie.

var obj1 = {
  czescUlamkowa: 10,
  czescCalkowita: 20,
  oblicz: function() {.....}
}
A. czescUlamkowa
B. oblicz
C. obj1
D. czescCalkowita
W podanym kodzie JavaScript obiekt obj1 zawiera trzy elementy czescUlamkowa czescCalkowita i oblicz Istotnym aspektem definicji obiektów w JavaScript jest możliwość definiowania metod czyli funkcji będących częścią obiektu W podanym obiekcie metoda oblicz zdefiniowana jest jako funkcja przypisana do klucza o tej samej nazwie To właśnie odróżnia metodę od zwykłych właściwości obiektu czyli czescUlamkowa i czescCalkowita które są wartościami liczbowymi Metody w JavaScript są wykorzystywane do wykonywania operacji wewnątrz obiektu co pozwala na manipulację jego danymi i zachowaniami Przykładowo metoda oblicz może służyć do kalkulacji bazującej na innych właściwościach obiektu takich jak czescUlamkowa i czescCalkowita Definiując metody w obiektach uzyskujemy spójność i enkapsulację dzięki czemu obiekt może sam zarządzać swoimi danymi i operacjami Rozumienie metod w kontekście obiektów jest kluczowe zwłaszcza w paradygmacie programowania obiektowego gdzie obiekty mogą posiadać zarówno dane jak i funkcjonalności związane z tymi danymi

Pytanie 40

Polecenie w języku SQL w formie ALTER TABLE 'miasta' ADD 'kod' text?

A. zmienia nazwę tabeli miasta na kod
B. w tabeli miasta modyfikuje nazwę kolumny kod na text
C. dodaje do tabeli dwie kolumny o nazwach: kod i text
D. wprowadza do tabeli nową kolumnę o nazwie kod typu text
Polecenie ALTER TABLE w języku SQL jest używane do modyfikacji istniejących tabel w bazie danych. W tym przypadku, zapytanie ALTER TABLE 'miasta' ADD 'kod' text; dodaje nową kolumnę o nazwie 'kod' typu tekstowego do tabeli 'miasta'. Typ 'text' w SQL jest używany do przechowywania dużych łańcuchów tekstowych, co czyni go idealnym wyborem, gdy dane w tej kolumnie mogą być różnej długości. Poprawne użycie znaków apostrofu w tym kontekście (zamiast cudzysłowów) jest istotne, ponieważ w niektórych systemach baz danych, takich jak MySQL, apostrofy są używane do definiowania nazw tabel i kolumn. Przy dodawaniu kolumn warto również pamiętać o możliwościach modyfikacji, takich jak określenie wartości domyślnych lub ograniczeń dla nowej kolumny. W praktyce, po wykonaniu tego polecenia, każda istniejąca linia w tabeli 'miasta' będzie miała nową kolumnę 'kod', w której wartości będą domyślnie NULL, dopóki nie zostaną one uzupełnione. Ważne jest, aby przed wykonaniem takich operacji zawsze robić kopie zapasowe danych, aby uniknąć ich utraty.