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 14:37
  • Data zakończenia: 30 kwietnia 2026 14:55

Egzamin zdany!

Wynik: 28/40 punktów (70,0%)

Wymagane minimum: 20 punktów (50%)

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

Który z typów formatów oferuje największą kompresję pliku dźwiękowego?

A. PCM
B. MP3
C. CD-Audio
D. WAV
Format MP3 jest algorytmem kompresji stratnej, który umożliwia znaczną redukcję rozmiaru plików dźwiękowych przy zachowaniu akceptowalnej jakości dźwięku. W przeciwieństwie do formatów takich jak WAV, PCM czy CD-Audio, które są formatami bezstratnymi, MP3 wykorzystuje techniki psychoakustyczne do eliminacji dźwięków, które są mniej słyszalne dla ludzkiego ucha. Dzięki temu, pliki MP3 mogą być nawet dziesięciokrotnie mniejsze od swoich odpowiedników bezstratnych, co czyni je idealnymi do zastosowań w streamingach, pobierania muzyki oraz na urządzenia mobilne. Użytkownicy mogą z łatwością przechowywać większe ilości muzyki na swoich urządzeniach, co wpływa na komfort korzystania z technologii audio. Warto również zaznaczyć, że standard MP3 stał się de facto normą w branży muzycznej, co potwierdzają liczne platformy dystrybucji muzyki, które preferują ten format. Dobrą praktyką jest dostosowywanie bitrate'u przy kompresji do potrzeb użytkownika, aby równoważyć rozmiar pliku z jakością audio.

Pytanie 2

W języku PHP nie można wykonać

A. Tworzenia dynamicznej treści strony
B. Obsługiwania danych z formularzy
C. Dynamicznej zmiany treści strony HTML w przeglądarce
D. Operacji na danych zgromadzonych w bazie danych
Zmienianie dynamiczne zawartości strony HTML w przeglądarce nie jest możliwe za pomocą języka PHP, ponieważ PHP jest językiem skryptowym działającym po stronie serwera. Oznacza to, że PHP generuje kod HTML, który jest następnie przesyłany do przeglądarki, ale nie ma możliwości modyfikacji tego kodu po jego załadowaniu. Przykładowo, gdy użytkownik wypełnia formularz na stronie i przesyła dane, PHP może przetworzyć te dane na serwerze, ale wszelkie zmiany muszą być wysłane do przeglądarki jako nowa strona lub w odpowiedzi Ajax. W praktyce oznacza to, że dla dynamicznych interakcji na stronie, takich jak zmiana zawartości bez przeładowania, stosuje się JavaScript, który działa po stronie klienta i jest odpowiedzialny za manipulację DOM. W kontekście dobrych praktyk, warto pamiętać o rozdzieleniu logiki przetwarzania danych (PHP) i interakcji użytkownika (JavaScript), co prowadzi do bardziej modułowych i łatwych w utrzymaniu aplikacji webowych.

Pytanie 3

Zaproponowana baza danych składa się z trzech tabel oraz dwóch relacji. Żeby uzyskać listę wszystkich lekarzy przypisanych do danego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Pacjenci.Lekarze_id
B. Lekarze.id = Recepty.id
C. Lekarze.id = Pacjenci.id
D. Lekarze.id = Pacjenci.Recepty_id
Poprawna odpowiedź polega na właściwym zrozumieniu relacji między tabelami Lekarze a Pacjenci w bazie danych. Aby wyświetlić wszystkich lekarzy przypisanych do konkretnego pacjenta konieczne jest użycie klucza obcego Lekarze_id w tabeli Pacjenci. Relacja ta jest kluczowa gdyż każda wizyta pacjenta jest przypisana konkretnemu lekarzowi dzięki temu kluczowi. W praktycznych zastosowaniach relacje takie są niezbędne do efektywnego zarządzania danymi w systemach zdrowotnych umożliwiając szybkie uzyskanie informacji o lekarzach opiekujących się pacjentem. Standardy baz danych zakładają użycie kluczy obcych w celu utrzymania integralności danych. Jest to zgodne z zasadą normalizacji polegającą na eliminacji redundancji i zapewnieniu spójności danych. W kontekście projektowania baz danych dobre praktyki wymagają jasno zdefiniowanych relacji co pozwala na łatwiejsze skalowanie i zarządzanie systemem. Zrozumienie i poprawne zastosowanie tej wiedzy umożliwia tworzenie wydajnych i elastycznych struktur danych.

Pytanie 4

Bitmapa stanowi typ obrazu

A. rastrowym
B. wektorowym
C. analogowym
D. interakcyjnym
Bitmapa, znana również jako obraz rastrowy, jest jednym z najpopularniejszych formatów graficznych używanych w różnych aplikacjach komputerowych, takich jak edytory zdjęć czy programy graficzne. Obrazy rastrowe składają się z siatki pikseli, gdzie każdy piksel ma przypisaną określoną wartość koloru. Przykłady popularnych formatów bitmapowych to JPEG, PNG, oraz BMP. W kontekście praktycznym, bitmapy są idealne do przedstawiania zdjęć i szczegółowych ilustracji, ponieważ mogą zachować bogactwo detali i kolorów. Główne zastosowanie bitmap obejmuje grafikę internetową, projektowanie stron, a także obróbkę zdjęć. W branży graficznej stosuje się standardy, takie jak RGB i CMYK, które definiują, jakie kolory mogą być użyte w obrazach rastrowych. Aby uzyskać najlepszą jakość wizualną, ważne jest, aby dostosować rozdzielczość obrazów do przeznaczenia, co jest kluczowe w profesjonalnych projektach graficznych. Właściwe zrozumienie bitmap jest fundamentem dla każdego, kto zajmuje się grafiką komputerową czy projektowaniem wizualnym.

Pytanie 5

Który z linków ma prawidłową budowę?

A. <a href="mailto:adres"> tekst </a>
B. <a href='mailto:adres'> tekst </a>
C. <a href='http://adres'> tekst </a>
D. <a href="http://adres"> tekst <a>
Odpowiedzi, które nie spełniają standardów HTML, prowadzą do niepoprawnych wyników. Na przykład, użycie pojedynczych cudzysłowów w atrybucie href, jak w konstrukcji <a href='mailto:adres'> tekst </a>, choć działa w wielu przeglądarkach, nie jest zgodne z zaleceniami HTML5, które preferują podwójne cudzysłowy. Ten błąd może prowadzić do problemów z interpretacją przez parsery HTML, a w ekstremalnych przypadkach może uniemożliwić poprawne wyświetlanie odsyłaczy. Dodatkowo, ostatnia odpowiedź <a href="http://adres"> tekst <a> jest błędna, ponieważ nie zamyka znacznika <a>, co skutkuje usunięciem semantycznego znaczenia linku i może prowadzić do problemów z dostępnością oraz indeksowaniem przez wyszukiwarki. Tego typu błędy są często wynikiem niedbałości lub braku zrozumienia podstaw HTML. Poprawna konstrukcja odsyłaczy jest kluczowa w budowaniu dostępnych stron internetowych, które są łatwe do nawigacji i interpretacji przez różne urządzenia i technologie asystujące. Przykłady błędów w HTML mogą również prowadzić do frustracji użytkowników, którzy mogą mieć problemy z interakcją z witryną, co w efekcie wpływa na ich postrzeganie jakości i profesjonalizmu danej strony.

Pytanie 6

document.getElementById("napis").innerHTML = Date); // Aby poprawnie skomentować podaną linijkę kodu w języku JavaScript, należy dodać komentarz po znakach //

A. wyświetlenie ciągu "Date()" w znaczniku o id = napis
B. zmiana właściwości atrybutu innerHTML
C. niepoprawne informacje
D. wyświetlenie daty oraz czasu w znaczniku o id = napis
Wybór odpowiedzi, które nie są poprawne, opiera się na nieścisłym zrozumieniu działania funkcji i użycia atrybutu 'innerHTML'. Pierwsza z niepoprawnych odpowiedzi sugeruje, że przedstawione dane są nieprawidłowe, co jest mylne. W rzeczywistości, kod nie jest błędny w sensie syntaktycznym, ale jego logika w kontekście wyświetlania aktualnej daty i czasu wymaga poprawy. Druga odpowiedź, odnosząca się do zmiany stylu atrybutu 'innerHTML', jest również błędna, ponieważ atrybut 'innerHTML' nie służy do zmiany stylu elementu. W rzeczywistości, 'innerHTML' jest używany do wstawiania lub modyfikacji zawartości HTML danego elementu, a nie jego stylizacji. Stylizacja powinna być realizowana poprzez CSS lub Javascript wykorzystujący inne metody, takie jak 'style' lub 'classList'. Trzecia niepoprawna odpowiedź sugeruje, że kod wyświetli tekst 'Date()', co jest całkowicie błędne. Funkcja bez nawiasów nie zwraca wyników, a jedynie odnosi się do konstruktora obiektów daty. W związku z tym, wynik będzie niepoprawny i nie przyczyni się do wyświetlenia aktualnej daty i czasu na stronie. W kontekście programowania w JavaScript, kluczowe jest zrozumienie różnicy między wywołaniem funkcji a odniesieniem się do funkcji jako obiektu, co jest fundamentalne dla efektywnej manipulacji DOM.

Pytanie 7

Który z poniższych sposobów na komentarz jednoliniowy jest akceptowany w języku JavaScript?

A. !
B. #
C. //
D. <!
W JavaScript, jeśli chcesz dodać komentarz jednoliniowy, musisz użyć podwójnych ukośników, czyli '//' na początku linii. Te komentarze są naprawdę przydatne, bo pozwalają ci opisać, co robi dany kawałek kodu, albo czasami wyłączyć fragmenty podczas testowania. Co fajne, to że wszystko, co napiszesz za '//' zostanie zignorowane przez interpreter, więc nie będzie miało wpływu na działanie skryptu. Przykład: masz linijkę 'let x = 5; // Ustawia wartość x na 5', i wszystko po '//' nie będzie brane pod uwagę przez JavaScript. Komentarze są zgodne z ECMAScript, który jest takim standardem dla tego języka. Szczerze mówiąc, dobrze jest używać komentarzy do dokumentacji, bo to ułatwia czytanie kodu i pracę z innymi programistami. Pamiętaj, żeby robić je zwięzłe, ale muszą też dobrze tłumaczyć, co miał na myśli autor kodu.

Pytanie 8

Która z definicji tablicy asocjacyjnej w PHP jest składniowo poprawna?

A. $wiek = array("Anna"=>"35", "Ewa"=>"37", "Oliwia"=>"43");
B. $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);
C. $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});
D. $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);
Definicja tablicy asocjacyjnej w języku PHP, przedstawiona jako $wiek = array("Anna"=>"35", "Ewa"=>"37", "Oliwia"=>"43");, jest poprawna składniowo. Tablice asocjacyjne to struktury danych, które pozwalają na przechowywanie wartości w parach klucz-wartość. Kluczami mogą być stringi lub liczby, a wartości mogą być różnego typu. Użycie operatora => jest kluczowe, ponieważ wskazuje, że dla danego klucza (np. "Anna") przypisana jest konkretna wartość (np. "35"). W praktyce tablice asocjacyjne są niezwykle użyteczne w wielu sytuacjach, takich jak przetwarzanie danych z formularzy, gdzie klucze odpowiadają nazwom pól, a wartości to wprowadzone przez użytkownika dane. Dzięki tablicom asocjacyjnym można z łatwością uzyskiwać dostęp do wartości, analizować je i manipulować, co czyni je standardowym narzędziem w programowaniu w PHP i praktycznym podejściem w tworzeniu aplikacji webowych.

Pytanie 9

W językach programowania o układzie strukturalnym, aby przechować dane o 50 uczniach (ich imionach, nazwiskach oraz średniej ocen), konieczne jest zastosowanie

A. klasy z 50 elementami typu tablicowego
B. struktury z 50 elementami o składowych typu tablicowego
C. tablicy z 50 elementami o składowych strukturalnych
D. tablicy z 50 elementami o składowych typu łańcuchowego
Wybór tablicy 50 elementów o składowych strukturalnych jest prawidłowy ze względu na potrzebę przechowywania złożonych danych o uczniach. W tym przypadku, każdy element tablicy powinien reprezentować jednego ucznia i zawierać jego imię, nazwisko oraz średnią ocen. Struktura danych, taka jak struktura, pozwala na grupowanie różnych typów danych w jeden obiekt, co jest zgodne z dobrymi praktykami programowania w językach strukturalnych. Przykładowo, w języku C można zadeklarować strukturę dla ucznia w następujący sposób: `struct Uczen { char imie[50]; char nazwisko[50]; float srednia; };`. Następnie można utworzyć tablicę 50 elementów tej struktury: `struct Uczen uczniowie[50];`. Stosowanie struktur w tym kontekście ułatwia zarządzanie danymi i zwiększa czytelność kodu, co jest szczególnie ważne w przypadku projektów wymagających łatwego dostępu do różnych atrybutów obiektów. Używanie dobrze zdefiniowanych struktur danych jest zgodne z zasadami programowania obiektowego, nawet w językach proceduralnych, i przyczynia się do lepszej organizacji kodu oraz jego skalowalności.

Pytanie 10

W języku PHP tablice asocjacyjne to tablice, w których

A. w każdej komórce tablicy przechowywana jest inna tablica.
B. indeks jest dowolnym napisem.
C. elementy tablicy są zawsze indeksowane od liczby równej 0.
D. istnieją przynajmniej dwa wymiary.
Prawidłowo – w PHP tablice asocjacyjne to takie, w których indeks (klucz) może być dowolnym napisem, czyli łańcuchem znaków. Z technicznego punktu widzenia PHP w ogóle nie rozróżnia osobnego typu „mapa” czy „słownik” – wszystko jest tablicą, a to, czy używasz indeksów numerycznych czy tekstowych, zależy wyłącznie od ciebie. Przykład: $uzytkownik = ['imie' => 'Jan', 'wiek' => 25, 'miasto' => 'Kraków']; Tutaj 'imie', 'wiek' i 'miasto' to właśnie napisy pełniące rolę kluczy. Dzięki temu kod staje się czytelniejszy, bo zamiast $dane[0], $dane[1] masz jasne $dane['imie'], $dane['wiek']. W praktyce takie tablice asocjacyjne bardzo często wykorzystuje się do przechowywania rekordów z bazy danych (np. wynik fetch_assoc w MySQLi), konfiguracji aplikacji, danych z formularzy ($_POST, $_GET) czy parametrów przekazywanych do funkcji. Co ważne, kluczem może być też liczba całkowita, ale w definicji tablic asocjacyjnych zwykle podkreśla się, że nie jesteśmy ograniczeni do automatycznego indeksowania 0,1,2,..., tylko możemy sami nadawać znaczące klucze tekstowe. W dobrych praktykach programowania webowego w PHP przyjmuje się, że tam, gdzie dane mają strukturę „nazwa pola → wartość”, używamy tablic asocjacyjnych, bo to zmniejsza ryzyko pomyłek i ułatwia późniejsze utrzymanie kodu. Moim zdaniem, im szybciej człowiek przyzwyczai się do świadomego używania kluczy tekstowych, tym łatwiej mu będzie później przeskoczyć na inne języki i struktury danych, jak mapy czy słowniki.

Pytanie 11

Po wykonaniu kodu PHP zostanie wyświetlona obecna data, zawierająca jedynie

echo date("Y");
A. dzień oraz miesiąc
B. rok
C. miesiąc i rok
D. dzień
Funkcja date w PHP jest super przydatna, bo pozwala na ładne formatowanie daty i godziny. Jak podasz argument Y, to dostaniesz czterocyfrowy rok, co jest zgodne z ISO 8601. To ważne, bo w różnych systemach, jak bazy danych czy księgowość, musisz mieć jasność, który rok jest właściwy. W PHP sporo osób korzysta z tej funkcji, żeby dynamicznie wyciągać datę – to świetne, zwłaszcza gdy tworzysz raporty czy logujesz różne zdarzenia w aplikacjach webowych. Warto też pamiętać, że date Y to tylko jedna z wielu opcji, jakie masz w PHP. Programiści mają dużą swobodę w dobieraniu formatu daty, co daje im możliwość dostosowania wszystkiego do potrzeb projektu. A dobrze sformatowane daty są nie tylko zgodne ze standardami, ale też ułatwiają życie użytkownikom końcowym, bo są jasne i jednoznaczne.

Pytanie 12

Jaki znacznik z sekcji head dokumentu HTML w wersji 5 jest wymagany przez walidator HTML i jego brak skutkuje zgłoszeniem błędu error?

A. style
B. title
C. meta
D. link
Znaczniki <link>, <meta> oraz <style> również pełnią ważne funkcje w sekcji <head>, jednak nie są one wymagane do poprawnej walidacji dokumentu HTML5. Znacznik <link> jest używany głównie do łączenia zewnętrznych arkuszy stylów oraz innych zasobów, a jego pominięcie w wielu przypadkach nie wpłynie na to, czy strona będzie poprawnie wyświetlana. Z kolei <meta> służy do definiowania metadanych, takich jak kodowanie znaków czy opis strony, ale również nie jest obowiązkowy. Znacznik <style> umożliwia wstawienie kodu CSS bezpośrednio do dokumentu HTML, jednak jego brak także nie skutkuje błędem walidacyjnym. Powszechnym błędem jest mylenie wymagań dla poszczególnych znaczników; niektórzy mogą sądzić, że wszystkie składniki sekcji <head> są równie istotne, co prowadzi do nieporozumień. Kluczowym aspektem jest zrozumienie, że standardy HTML określają, które elementy są niezbędne dla prawidłowego działania strony. Niezrozumienie tej różnicy może skutkować pominięciem ważnych elementów w procesie projektowania stron, co w konsekwencji obniża jakość i użyteczność tworzonej witryny. Ważne jest, aby przed rozpoczęciem pracy z HTML5 zapoznać się z dokumentacją oraz najlepszymi praktykami w tej dziedzinie.

Pytanie 13

Poprzez zdefiniowanie var x="true"; w języku JavaScript powstaje zmienna należąca do typu

A. liczbowym
B. logicznym
C. nieokreślonego (undefined)
D. string (ciąg znaków)
Wybór odpowiedzi związanej z typem logicznym jest wynikiem nieporozumienia co do podstawowych zasad typizacji w JavaScript. Wartości logiczne w tym języku, takie jak true i false, są używane do reprezentowania stanów prawdy i fałszu, ale nie mają nic wspólnego z tekstem. Deklaracja zmiennej z wartością "true" w cudzysłowach tworzy ciąg znaków, a nie wartość logiczną. Wynika to z faktu, że użycie podwójnych cudzysłowów oznacza, że wartość jest traktowana jako tekst, a nie jako typ logiczny. Odpowiedź dotycząca typu liczbowego również jest błędna, ponieważ "true" nie jest liczbą, a JavaScript nie interpretuje wartości tekstowych jako liczb, chyba że zostaną poddane konwersji. Typ nieokreślony (undefined) odnosi się do zmiennych, które zostały zadeklarowane, ale nie mają przypisanej wartości, co nie ma zastosowania w omawianym przypadku. Zrozumienie różnicy między typami danych jest kluczowe, ponieważ pozwala programistom unikać typowych pułapek i błędów, które mogą wystąpić podczas programowania w JavaScript. Stosowanie dobrych praktyk w zakresie deklaracji i zarządzania typami danych przyczynia się do bardziej przejrzystego i efektywnego kodu.

Pytanie 14

Aby uzyskać płynne przejścia obrazów w filmie, liczba klatek (niewchodzących w interakcję ze sobą) na sekundę powinna znajdować się w co najmniej takim zakresie

A. 31 - 36 fps
B. 20 - 23 fps
C. 24 - 30 fps
D. 16 - 19 fps
Odpowiedź 24 - 30 fps jest prawidłowa, ponieważ to właśnie w tym zakresie klatek na sekundę (fps) uzyskuje się płynność ruchu, która jest akceptowana w większości produkcji filmowych i telewizyjnych. Standard 24 fps jest powszechnie stosowany w kinematografii, ponieważ pozwala na naturalne odwzorowanie ruchu, a także jest zgodny z technologią filmową. W praktyce, filmy kręcone w tym standardzie mają charakterystyczną estetykę, która jest ceniona przez widzów. Dodatkowo, przy 30 fps można uzyskać płynniejsze efekty w produkcjach telewizyjnych, szczególnie w transmisjach na żywo i sportowych, gdzie dynamika ruchu jest kluczowa. Utrzymanie liczby klatek w tym zakresie zmniejsza ryzyko efektów stroboskopowych, które mogą wystąpić przy niższych liczbach klatek. Warto również dodać, że nowoczesne technologie filmowe i animacyjne często korzystają z wyższych wartości fps, jednak standardowe ramy dla klasycznych produkcji pozostają w tym zakresie, co czyni je uniwersalnym punktem odniesienia dla twórców.

Pytanie 15

Skrypt stworzony w języku JavaScript wyznacza cenę promocyjną dla swetrów w barwach: zielonej, niebieskiej (zmienna kolor) przy wydatkach przekraczających 200 zł (zmienna zakupy). Warunek niezbędny do obliczeń powinien być zapisany z użyciem wyrażenia logicznego?

A. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
B. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
C. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
D. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
Odpowiedź zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski') jest poprawna, ponieważ dokładnie spełnia warunki opisane w pytaniu. Wyrażenie logiczne składa się z dwóch głównych części: sprawdzenia, czy wartość zmiennej zakupy jest większa niż 200 oraz sprawdzenia, czy zmienna kolor jest równa 'zielony' lub 'niebieski'. Użycie operatora logicznego '&&' (AND) w połączeniu z '||' (OR) pozwala na zdefiniowanie warunków, które muszą być spełnione, aby uzyskać cenę promocyjną. Przykładowo, jeśli użytkownik kupi sweter za 250 zł w kolorze zielonym, warunek będzie prawdziwy, a cena promocyjna zostanie zastosowana. W kontekście standardów programistycznych, taka konstrukcja jest zgodna z najlepszymi praktykami pisania czytelnego i efektywnego kodu w JavaScript, gdzie zrozumiałość i logika wyrażeń warunkowych są kluczowe dla utrzymania i rozwoju aplikacji.

Pytanie 16

W formularzu dokumentu PHP znajduje się pole <input name="im">. Po tym, jak użytkownik wprowadzi ciąg znaków "Janek", aby dodać zawartość tego pola do bazy danych, w tablicy $_POST obecny jest element

A. im z następnym numerem indeksu
B. Janek o indeksie im
C. Janek z następnym numerem indeksu
D. im z indeksem Janek
W analizowanym pytaniu niepoprawne odpowiedzi wskazują różne błędne koncepcje dotyczące działania PHP i struktury tablicy $_POST. Przede wszystkim, w systemach opartych na PHP, po przesłaniu formularza, wartości pól formularza są przekazywane do tablicy $_POST, gdzie klucze odpowiadają nazwom pól w formularzu, a ich wartości odpowiadają użytkownikowi wprowadzonym danym. Odpowiedzi sugerujące, że "im" może mieć inny typ indeksu, jak "Janek" lub numer indeksu, są nieprecyzyjne i mylące. Klucz w tablicy $_POST to nazwa pola, co oznacza, że jest stały i niezmienny, niezależnie od wartości, którą użytkownik wprowadza. Ponadto, odpowiedzi, które sugerują istnienie "kolejnego numeru indeksu", mogą prowadzić do błędnego rozumienia konceptu tablic asocjacyjnych w PHP. Tablice asocjacyjne działają na zasadzie klucz-wartość, co oznacza, że klucz (w tym wypadku "im") jest zawsze powiązany z jedną wartością (tu: "Janek"). Błędne myślenie może również wynikać z nieznajomości podstaw PHP, gdzie wiele osób myli pojęcia klucza i wartości lub nie rozumie, że klucz jest stały i determinowany przez atrybut "name" w formularzu, a nie przez wartość wprowadzoną przez użytkownika. Zrozumienie tej zasadniczej różnicy jest kluczowe dla prawidłowego przetwarzania danych w formularzach oraz budowy bezpiecznych aplikacji webowych.

Pytanie 17

W języku JavaScript, aby uzyskać element wykorzystując metodę getElementById, jaką właściwością można zmienić jego zawartość?

A. innerHTML
B. innerBody
C. Body
D. HTML
Właściwość innerHTML jest kluczowym elementem manipulacji zawartością DOM (Document Object Model) w JavaScript. Umożliwia ona programistom dostęp do zawartości danego elementu HTML oraz jej modyfikację. Gdy pobieramy element za pomocą metody getElementById, mamy możliwość bezpośredniego zmienienia jego treści poprzez przypisanie nowego stringa do innerHTML. Przykładowo, jeśli mamy element o identyfikatorze 'myElement', możemy zaktualizować jego zawartość w następujący sposób: document.getElementById('myElement').innerHTML = 'Nowa treść!';. To podejście jest powszechnie stosowane w dynamicznych aplikacjach internetowych, gdzie treść na stronie musi być często aktualizowana w odpowiedzi na działania użytkownika. Warto jednak pamiętać, że użycie innerHTML niesie ze sobą pewne ryzyko związane z bezpieczeństwem, takie jak podatność na ataki XSS (Cross-Site Scripting). Dlatego zaleca się stosowanie tej właściwości z ostrożnością i rozważenie alternatyw, jak np. textContent, w przypadku, gdy nie potrzebujemy interpretować HTML. Dobrą praktyką jest również walidacja i sanitizacja danych wejściowych, aby zminimalizować ryzyko związane z wstrzyknięciem niepożądanych skryptów. W kontekście standardów kodowania, zasadniczo zaleca się preferowanie metod, które nie tylko poprawiają bezpieczeństwo, ale także czytelność kodu.

Pytanie 18

W systemie bazy danych dotyczącej pojazdów, pole kolor w tabeli samochody może przyjmować wartości tylko z listy lakier. Aby zrealizować połączenie między tabelami samochody a lakier przez relację, należy użyć kwerendy

A. <br>ALTER TABLE samochody<br> ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
B. <br>ALTER TABLE samochody<br> ADD FOREIGN KEY kolor REFERENCES lakier;
C. <br>ALTER TABLE lakier<br> ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
D. <br>ALTER TABLE samochody<br> ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
Odpowiedź 4 jest poprawna, ponieważ dokładnie określa, jak należy zdefiniować relację między tabelą samochody a tabelą lakier w kontekście bazy danych. W tym przypadku, pole kolor w tabeli samochody pełni rolę klucza obcego, który odnosi się do kolumny lakierId w tabeli lakier. To połączenie jest niezbędne, aby zapewnić integralność danych oraz umożliwić korzystanie z relacyjnych własności baz danych. Klucz obcy stosowany w relacjach między tabelami pozwala na ograniczenie wartości, które mogą być wprowadzone do pola kolor, zapewniając, że będą one zgodne z wartościami zdefiniowanymi w tabeli lakier. Przykładowo, jeśli chcemy zapewnić, że każdy samochód ma przypisany kolor z określonej palety, stosowanie kluczy obcych jest najlepszą praktyką. Tego rodzaju podejście jest zgodne z normami ACID (Atomicity, Consistency, Isolation, Durability), co zwiększa niezawodność operacji na bazie danych.

Pytanie 19

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
Odpowiedź jest poprawna, ponieważ uwzględnia właściwe połączenie między tabelami Klienci i Zgłoszenia za pomocą klucza obcego Klienci_id w tabeli Zgłoszenia. W relacyjnych bazach danych, gdy chcemy pobrać dane z dwóch tabel powiązanych relacją klucz główny-klucz obcy, używamy klauzuli JOIN. W tym przypadku Klienci_id w tabeli Zgłoszenia odnosi się do kolumny id w tabeli Klienci. Zapytanie SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5; precyzyjnie pobiera kolumny opis i nazwisko z odpowiednich tabel, filtrując wyniki, aby dotyczyły jedynie zgłoszenia o id równym 5. Takie podejście jest zgodne z dobrymi praktykami projektowania relacyjnych baz danych, gdzie separacja danych na tabele pozwala na efektywne zarządzanie związkami między danymi. Korzystając z JOIN, integrujemy te dane w logiczny sposób, co jest fundamentem wydajnych i skalowalnych systemów bazodanowych. Praktyczne zastosowanie tego podejścia można znaleźć w projektowaniu systemów CRM, gdzie dane o klientach i ich zgłoszeniach są regularnie łączone w celu analizy i raportowania.

Pytanie 20

Skrypt na stronę WWW stworzony w języku PHP

A. jest przetwarzany w taki sam sposób jak JavaScript
B. może działać bez wsparcia serwera WWW
C. jest realizowany po stronie klienta
D. jest wykonywany po stronie serwera
Kod PHP jest przetwarzany po stronie serwera, co oznacza, że wszystkie instrukcje napisane w tym języku są wykonywane na serwerze, a nie na komputerze klienta. Kiedy użytkownik żąda strony internetowej, serwer WWW interpretuje kod PHP, generuje odpowiedni HTML i wysyła go do przeglądarki. Dzięki temu możliwe jest dynamiczne tworzenie treści, uzależnionej od danych wejściowych użytkownika czy zawartości bazy danych. Przykładowo, w aplikacjach internetowych takich jak systemy zarządzania treścią (CMS) czy platformy e-commerce, PHP pozwala na generowanie różnorodnych widoków i interakcji w oparciu o aktualne informacje. Kluczowym aspektem dobrej praktyki w programowaniu w PHP jest separacja logiki aplikacji od warstwy prezentacji, co wspiera łatwiejsze zarządzanie kodem i jego utrzymanie. Warto również zaznaczyć, że PHP współpracuje z różnymi systemami baz danych, co umożliwia przechowywanie i przetwarzanie dużych ilości danych. Na przykład, w typowej aplikacji webowej można wykorzystać PHP do komunikacji z bazą MySQL, co pozwala na dynamiczne ładowanie treści w odpowiedzi na interakcje użytkownika.

Pytanie 21

W aplikacjach webowych tablice asocjacyjne to takie tablice, w jakich

A. w każdej komórce tablicy znajduje się inna tablica
B. indeks jest ciągiem znaków
C. elementy tablicy są zawsze indeksowane od 0
D. istnieją przynajmniej dwa wymiary
Tablice asocjacyjne, znane również jako słowniki lub mapy, to struktury danych, które przechowują pary klucz-wartość, gdzie kluczem jest zazwyczaj łańcuch tekstowy. Umożliwia to dostęp do wartości na podstawie zrozumiałych identyfikatorów, co jest znacznie bardziej intuicyjne niż indeksowanie numeryczne. Przykładem zastosowania tablic asocjacyjnych może być przechowywanie informacji o użytkownikach w aplikacjach webowych, gdzie kluczem może być adres e-mail, a wartością obiekt zawierający dane użytkownika, takie jak imię, nazwisko czy wiek. W wielu językach programowania, takich jak JavaScript, Python czy PHP, tablice asocjacyjne są wbudowanymi strukturami, które pozwalają na efektywne zarządzanie danymi, ułatwiając ich przechowywanie i manipulację. W praktyce, używanie tablic asocjacyjnych poprawia czytelność kodu i jego utrzymanie, co jest zgodne z dobrymi praktykami programowania, takimi jak KISS (Keep It Simple, Stupid) i DRY (Don't Repeat Yourself).

Pytanie 22

Lokalny System Zarządzania Bazą Danych (SZBD) oferuje bazę danych

A. w formie serwera w sieci.
B. w chmurze obliczeniowej.
C. wyłącznie na jednym, wyznaczonym komputerze.
D. jako usługę serwerową w sieci.
Odpowiedzi sugerujące, że lokalny system zarządzania bazą danych może być udostępniany jako serwer w sieci, w chmurze komputerowej lub jako usługa sieciowa serwera, mogą prowadzić do pewnych nieporozumień dotyczących architektury baz danych. W kontekście lokalnych systemów, 'serwer w sieci' sugeruje, że baza danych jest dostępna dla wielu użytkowników przez internet lub sieć lokalną, co jest charakterystyczne dla systemów zdalnych. Z kolei chmura komputerowa odnosi się do zdalnych usług i zasobów, które są przechowywane i zarządzane przez dostawców usług chmurowych, co również jest sprzeczne z ideą lokalnych systemów. Usługi sieciowe serwera dodatkowo podkreślają potrzebę interakcji z systemem zdalnym, podczas gdy lokalny SZBD działa na pojedynczym urządzeniu. Często błędne wnioski wynikają z nieodróżniania lokalnych i zdalnych architektur baz danych. W praktyce, lokalne SZBD jest idealne do zastosowań, gdzie bezpieczeństwo danych oraz ich szybki dostęp są kluczowe, w przeciwieństwie do rozwiązań chmurowych, które mogą wprowadzać opóźnienia związane z latencją sieci. Aby lepiej zrozumieć te różnice, warto zaznajomić się z typowymi zastosowaniami dla różnych typów baz danych, co pomoże w podejmowaniu świadomych decyzji w przyszłości.

Pytanie 23

Podaj właściwą sekwencję przy tworzeniu bazy danych?

A. Zdefiniowanie celu, normalizacja, utworzenie tabel, stworzenie relacji
B. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
C. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
D. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
Niepoprawne odpowiedzi często pomijają kluczowe kroki lub nieprawidłowo je kolejkują. Ważne jest, aby zrozumieć, że określenie celu przed rozpoczęciem jakiejkolwiek pracy nad bazą danych jest fundamentem, na którym opiera się cały proces projektowania. Pominienie tego kroku, jak w przypadku odpowiedzi, która sugeruje rozpoczęcie od stworzenia tabel, prowadzi do stworzenia struktury, która może nie odpowiadać rzeczywistym potrzebom użytkowników. Z kolei utworzenie relacji przed normalizacją może skutkować nieefektywnymi powiązaniami między danymi, co w dłuższej perspektywie prowadzi do problemów z integralnością danych. W praktyce, normalizacja powinna być przeprowadzana po utworzeniu relacji, aby można było odpowiednio zoptymalizować strukturę bazy. Często spotykanym błędem jest także mylenie etapy projektowania bazy danych z jej implementacją, co skutkuje brakiem klarowności w dalszych pracach. Kluczowe jest, aby każdy etap był przemyślany i oparty na solidnych podstawach analitycznych, co pozwala na uniknięcie problemów w przyszłości związanych z wydajnością i skalowalnością bazy danych.

Pytanie 24

Jaką relację typu uzyskuje się w wyniku powiązania kluczy głównych dwóch tabel?

A. jeden do jednego
B. wiele do jednego
C. wiele do wielu
D. jeden do wielu
Odpowiedź „jeden do jednego” jest poprawna, ponieważ relacja typu jeden do jednego oznacza, że każdy rekord w jednej tabeli jest powiązany z dokładnie jednym rekordem w drugiej tabeli. Tego rodzaju relacje są często wykorzystywane w sytuacjach, gdzie istnieje potrzeba rozdzielenia danych w celu zwiększenia organizacji lub wydajności, na przykład w przypadku wrażliwych informacji, które są przechowywane oddzielnie od podstawowych danych użytkowników. Praktycznym przykładem może być relacja między tabelą użytkowników a tabelą profili, gdzie każdy użytkownik ma dokładnie jeden profil. W dobrych praktykach projektowania baz danych, takie relacje są stosowane, aby zapewnić integralność danych oraz umożliwić skuteczne zarządzanie informacjami w systemach. Ponadto, stosowanie relacji jeden do jednego może pomóc w optymalizacji zapytań, ponieważ zminimalizowane jest ryzyko duplikacji danych, co przyczynia się do efektywniejszego przetwarzania operacji w bazach danych.

Pytanie 25

Dane z pola input o typie number zostały zapisane do zmiennej a, a następnie przetworzone w kodzie JavaScript w sposób następujący: ```var x = parseFloata);``` Jakiego typu będzie zmienna x?

A. liczbowego, całkowitego
B. napisowego
C. NaN
D. zmiennoprzecinkowego
Widzisz, zmienna x dostaje wartość z funkcji parseFloat, która zmienia coś z pola input typu number na liczbę zmiennoprzecinkową. To jest dość standardowa funkcja w JavaScript, często używana do zamiany tekstu (czyli stringów) na liczby zmiennoprzecinkowe. Na przykład, jak w polu input masz '123.45', to po napisaniu var x = parseFloat(a);, x stanie się liczbą 123.45. Tylko pamiętaj, że jak przekazany tekst nie może być zmieniony na liczbę, to dostaniesz NaN (czyli Not-a-Number). Ta funkcja jest zgodna z ECMAScript i jest naprawdę przydatna, np. w sytuacjach, gdy trzeba walidować dane, które użytkownicy wprowadzają. Twoja odpowiedź jest na plus, bo korzystając z parseFloat, dostajesz typ zmiennoprzecinkowy, co jest ważne w obliczeniach matematycznych. Zresztą, dokładność w tych wartościach liczbowych jest kluczowa.

Pytanie 26

Jakim formatem kompresji dźwięku, który nie traci jakości, jest?

A. WWA
B. AAC
C. FLAC
D. MP3
MP3, AAC i WWA to formaty stratne, co oznacza, że podczas kompresji dźwięku następuje utrata pewnych informacji, co może prowadzić do pogorszenia jakości dźwięku. MP3, jako jeden z najpopularniejszych formatów audio, stosuje algorytmy kompresji, które eliminują dźwięki, które są mniej słyszalne dla ludzkiego ucha, w celu zmniejszenia rozmiaru pliku. Choć MP3 jest szeroko stosowane w aplikacjach muzycznych i odtwarzaczach, jego jakość nie dorównuje bezstratnym formatom, takim jak FLAC. Podobnie AAC, rozwinięcie MP3, także stosuje stratną kompresję i jest często wykorzystywane w serwisach streamingowych oraz jako format dźwięku w iPodach i iTunes. Pomimo lepszej jakości dźwięku w porównaniu do MP3, AAC wciąż nie oferuje tej samej jakości dźwięku co FLAC. WWA, czyli Windows Media Audio, to kolejny format, który wykorzystuje stratną kompresję. Choć zapewnia lepszą jakość dźwięku przy niższych bitratach, to również nie jest w stanie zachować pełnej jakości oryginalnego nagrania. Użytkownicy, którzy poszukują najwyższej jakości dźwięku, powinni unikać formatów stratnych na rzecz FLAC, który zachowuje wszystkie szczegóły dźwięku.

Pytanie 27

Grafik chce przekształcić bez utraty jakości obraz formatu JPEG w format PNG w ten sposób, żeby wszędzie tam, gdzie w pierwotnym obrazie jest kolor biały, w obrazie docelowym była przezroczystość. Aby to zrobić, powinien

A. dodać kanał alfa.
B. zmniejszyć rozdzielczość obrazu.
C. zaimportować obraz do edytora grafiki wektorowej.
D. przekształcić obraz w odcienie szarości.
Prawidłowa odpowiedź wynika z samej idei przezroczystości w grafice rastrowej. Żeby w PNG jakikolwiek piksel mógł być przezroczysty, obraz musi mieć kanał alfa, czyli dodatkową składową opisującą stopień przeźroczystości (opacity) dla każdego piksela. Standardowe RGB ma trzy kanały: R (czerwony), G (zielony), B (niebieski). Format PNG bardzo często używa wariantu RGBA, gdzie A (alpha) definiuje, na ile piksel jest widoczny: 0 oznacza całkowitą przezroczystość, 255 (albo 1.0 przy wartościach zmiennoprzecinkowych) pełną nieprzezroczystość. Dopiero po dodaniu kanału alfa można w programie graficznym zaznaczyć wszystkie białe obszary i ustawić im wartość alfa na 0. To właśnie realizuje wymaganie: „tam gdzie biały – ma być przezroczystość”. Z mojego doświadczenia w pracy z grafiką na potrzeby WWW, typowy workflow wygląda tak: otwierasz JPEG w edytorze rastrowym (np. GIMP, Photoshop, Krita), konwertujesz obraz do trybu z kanałem alfa (w Photoshopie: „Layer > New > Layer from Background” i „Add Layer Mask” albo „Add Alpha Channel” w GIMP-ie), następnie za pomocą narzędzia zaznaczania koloru (Magic Wand / Select by Color) wybierasz białe fragmenty i je usuwasz lub zmniejszasz im krycie. Dopiero potem zapisujesz jako PNG, który natywnie wspiera przezroczystość zgodnie ze specyfikacją formatu. Ważne też, że przy takim przekształceniu nie zwiększasz strat kompresji, bo PNG jest formatem bezstratnym. Straty są już w JPEG-u i ich się nie cofnie, ale samo przejście do PNG z kanałem alfa nie pogorszy jakości bardziej. W praktyce to jest standardowa procedura przygotowania ikon, logotypów i elementów UI na strony WWW, gdzie tło strony „prześwituje” przez przezroczyste fragmenty grafiki.

Pytanie 28

Istnieje tabela o nazwie wycieczki z kolumnami: nazwa, cena oraz miejsca (reprezentujące liczbę dostępnych miejsc). Aby wyświetlić tylko nazwy wycieczek, których cena jest mniejsza od 2000 zł oraz mają co najmniej cztery wolne miejsca, należy użyć zapytania

A. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
B. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
C. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
D. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
Wszystkie inne odpowiedzi są po prostu błędne i prowadzą do złych wyników w kontekście pytania. Na przykład zapytanie z operatorem OR, czyli 'SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4', pozwala na zwrócenie wycieczek, które spełniają tylko jeden z warunków. To oznacza, że mogą być pokazywane wycieczki droższe, które mają wystarczająco dużo miejsc, co jest niezgodne z wymaganiami. Jeszcze innym błędnym przypadkiem jest użycie operatora AND w 'SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3', gdzie ten drugi warunek jest zbyt ogólny. Powinien precyzować, że miejsc musi być co najmniej cztery, a nie tylko więcej niż trzy. Co więcej, zapytanie 'SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4' zwróci wszystkie kolumny, a nie tylko nazwy wycieczek, co też nie jest tym, czego potrzebujemy. Typowe błędy w myśleniu, które prowadzą do tych błędnych wniosków, to złe łączenie warunków i niewłaściwe zrozumienie, co jest ważne w kontekście wymagań. Aby dobrze pisać zapytania SQL, kluczowe jest zrozumienie struktury danych i logiki, która pozwala na wybranie odpowiednich rekordów.

Pytanie 29

Zamieszczone zapytanie SQL przyznaje prawo SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla użytkownika root na serwerze sprzedawca
B. do wszystkich tabel w bazie hurtownia
C. do wszystkich kolumn w tabeli hurtownia
D. dla użytkownika root na serwerze localhost
Polecenie GRANT SELECT ON hurtownia.* TO sprzedawca@localhost; jest często źle interpretowane co prowadzi do błędnego przypisania uprawnień. Częstym problemem jest mylne przekonanie, że przyznanie uprawnień do wszystkich pól w tabeli oznacza to samo co do wszystkich tabel. Symbol * w poleceniu odnosi się do wszystkich tabel w bazie hurtownia a nie do wszystkich pól pojedynczej tabeli. To ważne rozróżnienie wpływa na sposób przyznawania i zarządzania uprawnieniami w kontekście bezpieczeństwa i dostępu do danych. Błędna interpretacja że uprawnienie dotyczy użytkownika root jest wynikiem niezrozumienia konwencji dotyczącej składni SQL gdzie specyficzna definicja użytkownika pojawia się po słowie TO w naszym przypadku jest to sprzedawca@localhost. To wyklucza użytkownika root z opcji możliwych odbiorców tego uprawnienia. Warto zwrócić uwagę że identyfikacja użytkownika sprzedawca@localhost jednoznacznie określa użytkownika działającego z lokalnego serwera a nie z dowolnego hosta co jest istotne z punktu widzenia bezpieczeństwa systemu. Zrozumienie tych niuansów jest kluczowe dla efektywnego zarządzania bazami danych i ochrony przed nieautoryzowanym dostępem. W praktyce przyznanie uprawnień powinno być starannie rozważone i dostosowane do potrzeb zgodnie z zasadą najmniejszych uprawnień co minimalizuje ryzyko błędów i nadużyć systemowych.

Pytanie 30

W wyniku przedstawionego polecenia w tabeli zostanie ```ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;```

A. dodana kolumna nazwa2 o typie zmiennoprzecinkowym
B. dodana kolumna nazwa2 z wymuszoną wartością DOUBLE
C. zmieniona kolumna z nazwa1 na nazwa2
D. zmieniony typ kolumny nazwa2 na DOUBLE
Analizując pozostałe odpowiedzi, można zauważyć, że nie odzwierciedlają one poprawności działania zapytania SQL. Pierwsza odpowiedź sugeruje zmianę nazwy kolumny, co jest błędnym podejściem, ponieważ użycie klauzuli "ADD" wyraźnie wskazuje na dodanie nowej kolumny, a nie na modyfikację istniejącej. Zmiana nazwy kolumny wymagałaby użycia zapytania "ALTER TABLE ... RENAME COLUMN...", co jest zupełnie inną operacją. Drugie stwierdzenie koncentruje się na zmianie wartości kolumny "nazwa2" na typ DOUBLE, co jest niepoprawne, gdyż zapytanie nie zmienia wartości, a dodaje nową kolumnę. Ostatnia odpowiedź wskazuje na dodanie kolumny z wartością domyślną, co również jest błędne, gdyż w zapytaniu nie określono wartości domyślnej dla nowej kolumny. W rzeczywistości, przy dodawaniu kolumny można również ustawić wartość domyślną, ale nie jest to wymagane. Typowe błędy w myśleniu prowadzące do takich wniosków często wynikają z niepełnego zrozumienia składni SQL i funkcji poszczególnych poleceń. Dlatego istotne jest, aby przed przystąpieniem do modyfikacji struktury bazy danych dobrze zaznajomić się z dokumentacją i zasadami działania systemu zarządzania bazą danych, z którego się korzysta.

Pytanie 31

$x = mysql_query('SELECT * FROM mieszkanci'); if (!$x) echo "??????????????????????????????"; W podanym kodzie PHP, w miejscu znaków zapytania powinien wyświetlić się komunikat:

A. Zapytania zakończono sukcesem
B. Złe hasło do bazy danych
C. Nieprawidłowa nazwa bazy danych
D. Błąd w trakcie przetwarzania zapytania
W przedstawionym kodzie PHP mamy do czynienia z próbą wykonania zapytania SQL do bazy danych przy pomocy funkcji mysql_query. Ta funkcja zwraca wartość false, jeśli wystąpił błąd w trakcie przetwarzania zapytania. W kontekście tego kodu, komunikat 'Błąd przetwarzania zapytania.' jest odpowiedni, ponieważ wskazuje, że zapytanie nie zostało poprawnie wykonane. Istotne jest, aby programista zrozumiał, że błędy mogą wynikać z różnych przyczyn, takich jak błędna składnia SQL, problemy z połączeniem do bazy danych lub inne czynniki techniczne. Ważną praktyką jest dodawanie mechanizmów obsługi błędów, które mogą dać więcej informacji na temat problemu, np. użycie mysql_error() do uzyskania szczegółowych informacji o błędzie. Standardy dotyczące programowania w PHP oraz najlepsze praktyki wskazują na konieczność stosowania try-catch dla lepszej kontroli błędów oraz logowania, co może pomóc w diagnozowaniu problemów na etapie produkcyjnym. Warto zaznaczyć, że mysql_query jest przestarzałą funkcją, a obecnie zaleca się użycie mysqli lub PDO do komunikacji z bazą danych, co poprawia bezpieczeństwo i wydajność aplikacji.

Pytanie 32

W języku HTML5 do wypełniania podpowiedzią kontrolki pola edycyjnego stosuje się atrybut

A. autofocus
B. pattern
C. placeholder
D. required
Poprawny atrybut to "placeholder". W HTML5 ten atrybut służy do wyświetlania tymczasowej podpowiedzi wewnątrz pola tekstowego, zanim użytkownik cokolwiek wpisze. Przeglądarka pokazuje ten tekst jaśniejszym kolorem i znika on automatycznie w momencie rozpoczęcia edycji. Z mojego doświadczenia to jest podstawowe narzędzie do delikatnego sugerowania użytkownikowi, czego dokładnie oczekujemy w danym polu. Przykład praktyczny: <input type="text" name="email" placeholder="np. [email protected]"> Tutaj placeholder pokazuje przykładowy format adresu e-mail, ale nie jest to domyślna wartość formularza – ten tekst nie zostanie wysłany na serwer, jeśli użytkownik nic nie wpisze. To ważne: placeholder to tylko wskazówka wizualna, nie zastępuje etykiety <label> ani walidacji. Dobre praktyki mówią, żeby używać placeholdera do krótkich, konkretnych podpowiedzi: format danych, przykład wpisu, skrócona instrukcja. Nie powinno się tam wrzucać długich opisów, bo użytkownik i tak ich nie zapamięta. W standardach dostępności (WCAG) podkreśla się też, że placeholder nie może zastępować labelki, bo osoby z niektórymi niepełnosprawnościami mogą mieć problem z jego odczytaniem. W realnych projektach stosuje się więc układ: opis pola w <label>, a w placeholderze tylko przykład, np. "123-456-789" dla telefonu albo "2024-12-31" dla daty. Taki sposób użycia jest uznawany za poprawny i profesjonalny.

Pytanie 33

Obiekt bazy danych, którego głównym przeznaczeniem jest drukowanie lub wyświetlanie zestawień danych, to

A. raport.
B. moduł.
C. makro.
D. formularz.
Poprawna odpowiedź to „raport”, bo właśnie ten obiekt bazy danych jest przeznaczony typowo do estetycznego drukowania lub wyświetlania gotowych zestawień danych. W typowych systemach bazodanowych, takich jak Microsoft Access czy różne narzędzia klasy RAD, formularze służą głównie do wprowadzania i edycji danych, kwerendy do ich wyszukiwania i filtrowania, a raporty do prezentacji wyników w uporządkowanej, czytelnej formie. Raport ma własny projekt układu: nagłówki, stopki, grupowanie po polach (np. po kliencie, dacie, dziale), sumy częściowe i końcowe, numerację stron, a często także pola obliczeniowe. To jest dokładnie to, czego potrzebujemy, gdy chcemy przygotować np. wydruk faktur, miesięczne zestawienie sprzedaży, raport obecności pracowników albo raport kasowy do działu księgowości. Z mojego doświadczenia raport traktuje się jako końcowy produkt pracy z danymi – użytkownika końcowego zwykle nie interesują tabele czy relacje, tylko czy dostanie przejrzysty wydruk lub PDF, który można wysłać dalej. Dobre praktyki mówią, żeby w raportach nie upychać logiki biznesowej ani skomplikowanych obliczeń, tylko oprzeć je na dobrze przygotowanych kwerendach. Raport powinien być możliwie prosty, czytelny i stabilny – tak, żeby zmiana sposobu liczenia odbywała się w warstwie zapytań, a nie w każdym raporcie osobno. W narzędziach BI (np. Power BI, Tableau, ale też klasyczne Crystal Reports) idea jest podobna: raport to warstwa prezentacji, która korzysta z danych z bazy, modelu analitycznego albo widoków SQL. W praktyce w firmach raporty są podstawą podejmowania decyzji, więc poprawne zrozumienie ich roli w bazie danych jest naprawdę kluczowe.

Pytanie 34

W PHP zmienna $_SERVER zawiera między innymi dane o

A. nazwie ciasteczek zapisanych na serwerze oraz powiązanych z nimi danych
B. adresie IP serwera oraz nazwie protokołu
C. informacjach z formularza przetwarzanego na serwerze
D. informacjach związanych z sesjami
Zmienna superglobalna $_SERVER w PHP gromadzi różnorodne informacje dotyczące bieżącego żądania HTTP oraz środowiska serwera. W szczególności przechowuje dane takie jak adres IP klienta, nazwa protokołu (np. HTTP/1.1), a także inne istotne informacje, takie jak metoda żądania (GET, POST) oraz nagłówki HTTP. Znajomość tych danych jest kluczowa w kontekście programowania aplikacji webowych, ponieważ umożliwia dostosowanie odpowiedzi serwera do specyficznych potrzeb klienta. Przykładowo, można wykorzystać $_SERVER['REMOTE_ADDR'], aby uzyskać adres IP odwiedzającego, co może być istotne w kontekście logowania użytkowników lub analizy ruchu. Ponadto, $_SERVER['SERVER_PROTOCOL'] pozwala na identyfikację używanego protokołu, co jest pomocne przy wdrażaniu funkcji zgodnych z określonymi standardami bezpieczeństwa i wydajności. Praktycznym zastosowaniem tych danych jest implementacja systemów uwierzytelniania lub ograniczanie dostępu na podstawie adresów IP, co wpisuje się w dobre praktyki bezpieczeństwa aplikacji webowych.

Pytanie 35

Zapis przedstawiony w języku JavaScript oznacza, że

x = przedmiot.nazwa();
A. nazwa to pole klasy przedmiot.
B. zmienna x będzie przechowywać wynik działania metody nazwa.
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
D. nazwa to właściwość obiektu przedmiot.
Odpowiedź jest prawidłowa, ponieważ wyrażenie w języku JavaScript x = przedmiot.nazwa(); oznacza, że zmienna x zostanie przypisana do wyniku działania metody nazwa, która jest wywoływana na obiekcie przedmiot. W JavaScript metody są funkcjami zdefiniowanymi jako właściwości obiektów. Kiedy wywołujemy metodę, dodajemy nawiasy okrągłe do jej nazwy, co powoduje jej wykonanie. W przypadku poprawnego zdefiniowania metody nazwa w obiekcie przedmiot, wykonanie tej metody zwróci wartość, która zostanie przypisana do zmiennej x. Taki sposób przypisywania wartości jest powszechnie stosowany w programowaniu obiektowym, co umożliwia dynamiczne uzyskiwanie danych z obiektów. Przykładem zastosowania może być np. obiekt Uzytkownik z metodą pobierzImie(), która zwraca imię użytkownika. Dzięki temu można elastycznie zarządzać danymi obiektów i tworzyć złożone aplikacje. Dobre praktyki programistyczne zalecają czytelne nazywanie metod i korzystanie z nich wtedy, gdy logicznie grupują funkcjonalność, co ułatwia utrzymanie i rozwijanie kodu.

Pytanie 36

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Zmniejszenie kontrastu zdjęcia.
C. Zwiększenie ostrości zdjęcia.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 37

Aby prawidłowo udokumentować linię kodu w języku JavaScript, należy po znakach // wpisać komentarz.

x = Math.max(a, b, c); //
A. wybór losowej wartości ze zmiennych a, b i c
B. w zmiennej x maksymalna wartość ze zmiennych a, b, c
C. nieprawidłowe dane.
D. w zmiennej x minimalna wartość ze zmiennych a, b, c
Odpowiedź "w zmiennej x maksymalna wartość ze zmiennych a, b, c" jest poprawna, ponieważ odzwierciedla działanie funkcji Math.max() w języku JavaScript, która zwraca największą wartość spośród podanych argumentów. W kontekście tej linii kodu, przypisanie wartości do zmiennej x jest kluczowym elementem programowania, gdyż pozwala na dynamiczne ustalanie największej wartości zmiennych a, b i c w różnych scenariuszach. W praktyce, odpowiednia dokumentacja kodu, w tym komentarze, jest niezbędna do utrzymania czytelności i zrozumiałości kodu, zwłaszcza w większych projektach. Komentarze pomagają innym programistom (lub nawet samym autorom kodu w przyszłości) szybko zrozumieć, co dany fragment kodu robi. Używanie komentarzy w odpowiednich miejscach, szczególnie po operatorze "//", jest uznawane za dobrą praktykę w programowaniu. Dlatego ważne jest, aby jasno określić funkcję danej linii kodu, co czyni tę odpowiedź trafną.

Pytanie 38

Formularz przesyła informacje do pliku skrypt.php po naciśnięciu przycisku oznaczonego jako "WYŚLIJ". Wskaż właściwą definicję formularza.

Ilustracja do pytania
A. Skrypt 4
B. Skrypt 2
C. Skrypt 1
D. Skrypt 3
W formularzu HTML do wysłania danych do określonego skryptu należy użyć atrybutu action w znaczniku form co określa adres URL do którego zostaną przesłane dane. Ponadto kluczowy jest atrybut type elementu input który powinien być ustawiony na submit aby umożliwić wysłanie danych po naciśnięciu przycisku. Skrypt 4 jest poprawny ponieważ zawiera zarówno poprawną definicję action="skrypt.php" jak i właściwe określenie typu przycisku jako submit. Taka konstrukcja jest zgodna ze standardami HTML5 i jest powszechnie stosowana w tworzeniu interaktywnych formularzy internetowych. Poprawne wysyłanie formularzy jest kluczowe w wielu aplikacjach webowych szczególnie w kontekście przesyłania danych użytkownika do serwera gdzie mogą być one przetwarzane lub przechowywane. Przy projektowaniu formularza ważne jest również uwzględnienie bezpieczeństwa danych używając metod takich jak POST zamiast GET co zapobiega wyciekom danych w adresie URL. Dobre praktyki obejmują także walidację po stronie klienta oraz serwera aby upewnić się że przesyłane informacje spełniają wymagane kryteria co minimalizuje ryzyko błędów i potencjalnych ataków."

Pytanie 39

W języku CSS wprowadzono poniższe formatowanie:

p > i { color: blue; }
Oznacza to, że tekst w kolorze niebieskim będzie zapisany:
A. cały tekst nagłówków, bez względu na ich formatowanie
B. cały tekst akapitu, bez względu na jego formatowanie
C. pogrubiony tekst akapitu
D. pochylony tekst akapitu
W języku CSS selektor > jest używany do stylizowania bezpośrednich potomków danego elementu. W podanym przykładzie p > i oznacza, że reguła CSS będzie zastosowana do elementu i będącego bezpośrednim dzieckiem elementu p. To oznacza, że tylko tekst zapisany w tagu i wewnątrz paragrafu p będzie miał kolor niebieski. Jest to powszechnie stosowane podejście do precyzyjnego stylizowania elementów na stronach internetowych, z zachowaniem struktury dokumentu HTML. Takie rozwiązanie pozwala na lepszą kontrolę nad wyglądem i prezentacją dokumentu, co jest istotne przy tworzeniu responsywnych i estetycznych stron. Praktyczne zastosowanie tego stylu można zobaczyć w przypadku, gdy chcemy wyróżnić pewne frazy w paragrafie, na przykład cytaty lub terminy. Warto pamiętać, że używanie selektorów potomstwa poprawia czytelność i efektywność kodu CSS, co jest dobrą praktyką w profesjonalnym kodowaniu frontendowym. Zachowanie spójności i przejrzystości stylów jest kluczowe w większych projektach, gdzie wiele osób pracuje nad kodem.

Pytanie 40

Źródłem danych dla raportu może być

A. makropolecenie
B. tabela
C. inny raport
D. zapytanie INSERT INTO
Inny raport, chociaż może zawierać dane, nie jest źródłem danych w sensie strukturalnym, lecz raczej wynikiem przetwarzania informacji zawartych w tabelach. Raporty są generowane na podstawie danych zgromadzonych w tabelach, a nie bezpośrednio z innych raportów, co ogranicza ich użyteczność jako źródła danych. Makropolecenie, będące zbiorem instrukcji do automatyzacji procesów, również nie stanowi źródła danych, lecz narzędzie do przetwarzania lub manipulacji danymi, które znajdują się w tabelach. Użycie makropolecenia może prowadzić do generowania raportów, jednak sama jego struktura nie zawiera danych, które mają być raportowane. Zapytanie INSERT INTO jest instrukcją SQL używaną do dodawania danych do tabeli, ale nie jest źródłem danych w kontekście raportowania. To polecenie umożliwia wprowadzenie nowych rekordów do tabeli, a więc odgrywa rolę w aktualizacji danych, a nie w ich źródłowym dostarczaniu. Każda z tych opcji nie spełnia wymogu bycia źródłem danych w kontekście tworzenia raportu, co czyni je niewłaściwymi odpowiedziami.