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: 12 maja 2026 12:53
  • Data zakończenia: 12 maja 2026 12:59

Egzamin niezdany

Wynik: 13/40 punktów (32,5%)

Wymagane minimum: 20 punktów (50%)

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

W tabeli pracownicy zdefiniowano klucz główny jako INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowano kolumny imie oraz nazwisko. W przypadku wykonania poniższej kwerendy SQL wprowadzającej dane, w której pominięto pole klucza, w bazie danych MySQL wystąpi:

INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak');
A. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
B. ignorowanie polecenia, tabela nie ulegnie zmianie
C. błąd związany z nieprawidłową liczbą kolumn
D. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
Jak używasz polecenia INSERT w MySQL i masz klucz główny ustawiony jako AUTO_INCREMENT, to system sam zajmie się przydzieleniem nowej, unikalnej wartości dla tego klucza dla każdego nowego rekordu. Kiedy wprowadzasz dane o pracowniku, takie jak imię i nazwisko, to nie musisz martwić się o podawanie wartości klucza głównego. MySQL świetnie to rozumie i dodaje kolejny wolny numer. To jest zgodne z dobrymi praktykami w bazach danych, gdzie klucz główny musi być unikalny dla każdego rekordu, ale niekoniecznie musisz go podawać ręcznie, szczególnie gdy korzystasz z mechanizmu AUTO_INCREMENT. Weźmy na przykład tabelę zamówień – tam każdy nowy wpis automatycznie dostaje unikalny numer zamówienia, co eliminuje ryzyko błędów i ułatwia późniejsze śledzenie danych. Dzięki AUTO_INCREMENT wprowadzanie danych staje się dużo prostsze, a szansa na pomyłki przy manualnym wpisywaniu wartości klucza głównego znacznie maleje.

Pytanie 2

Aby cofnąć uprawnienia danemu użytkownikowi, należy użyć polecenia

A. REVOKE
B. DELETE
C. DELETE PRIVILEGES
D. GRANT NO PRIVILEGES
Odpowiedź 'REVOKE' jest rzeczywiście trafna. To standardowe polecenie w systemach baz danych, jak SQL, do odbierania uprawnień użytkownikom. Dzięki temu administracja może lepiej zarządzać dostępem do danych, co jest mega ważne dla ich bezpieczeństwa. Na przykład, jeśli ktoś wcześniej miał prawo do edytowania danych, administrator może użyć 'REVOKE UPDATE ON tabela FROM użytkownik', żeby cofnąć te uprawnienia. W praktyce, stosowanie odpowiednich uprawnień jest kluczowe, żeby utrzymać integralność danych oraz upewnić się, że tylko uprawnione osoby mają do nich dostęp. Użycie 'REVOKE' to dobra praktyka w zarządzaniu dostępem, bo daje możliwość elastycznego dostosowania uprawnień, co może pomóc w uniknięciu nieautoryzowanego dostępu.

Pytanie 3

W CSS, żeby uzyskać efekt kursywy dla tekstu, należy zastosować właściwość

A. font-variant
B. font-size
C. font-family
D. font-style
W języku CSS, aby uzyskać efekt pochylenia tekstu, należy zastosować właściwość font-style, która umożliwia określenie stylu czcionki. Właściwość ta ma kilka wartości, z których najczęściej używaną jest 'italic', która pochyla tekst w sposób naturalny, przypominający ręczne pismo. Można także użyć wartości 'oblique', która również powoduje pochylenie, ale w nieco inny sposób, dając efekt bardziej syntetyczny. Przykładem może być następujący kod CSS: p { font-style: italic; }. Wartości te są zgodne z dokumentacją W3C, która definiuje standardy CSS. Użycie font-style jest kluczowe w projektowaniu responsywnych stron internetowych, gdzie estetyka i typografia odgrywają istotną rolę w odbiorze wizualnym. Pochylenie tekstu może być także użyte do wyróżniania cytatów lub nazw własnych, co zwiększa czytelność i przejrzystość dokumentu. Dobrą praktyką jest również testowanie stylów na różnych przeglądarkach, aby upewnić się, że efekt pochylenia jest zgodny z oczekiwaniami we wszystkich środowiskach.

Pytanie 4

Jakie polecenie jest poprawne w kontekście walidacji HTML5?

A. <img src = "mojPiesek.jpg" >
B. <img src = mojPiesek.jpg alt = pies>
C. <img src = "mojPiesek.jpg" alt = "pies">
D. <img src = mojPiesek.jpg" alt = "pies>
Odpowiedzi, które nie spełniają wymogów walidacji HTML5, często wynikają z niewłaściwego zrozumienia zasad pisania kodu. W przypadku pierwszej odpowiedzi, brakujący cudzysłów przed atrybutem 'src' oraz nieprawidłowe zakończenie atrybutu 'alt' skutkują błędną składnią. Brak cudzysłowów jest jednym z najczęstszych błędów, który może prowadzić do problemów z interpretacją kodu przez przeglądarki. Ponadto, omijanie atrybutu 'alt' w niektórych przypadkach, tak jak w czwartej odpowiedzi, może wpływać na dostępność strony, co jest zgodne z wytycznymi WCAG (Web Content Accessibility Guidelines). Prawidłowe użycie atrybutu 'alt' jest nie tylko zalecane, ale wręcz wymagane, aby zapewnić pełne zrozumienie treści wizualnych przez osoby z niepełnosprawnościami. Kolejnym błędem jest niepoprawne formatowanie atrybutów, jak w drugiej odpowiedzi, gdzie wartości atrybutów nie są otoczone cudzysłowami, co jest wymagane przez HTML5. Dbanie o poprawność syntaktyczną kodu jest kluczowe dla jego funkcjonalności oraz dla stosowania najlepszych praktyk w programowaniu. Zachowanie odpowiednich zasad walidacji nie tylko chroni przed błędami w wyświetlaniu, ale także zwiększa wydajność strony oraz jej przyjazność dla użytkowników.

Pytanie 5

W języku JavaScript stworzono funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Jak powinno wyglądać prawidłowe wywołanie tej funkcji oraz uzyskanie jej wyniku?

A. liczba_max(a,b,c,wynik);
B. liczba_max(a,b,c)=wynik;
C. var wynik=liczba_max(a,b,c);
D. liczba_max(a,b,c);
Odpowiedzi takie jak "liczba_max(a,b,c);" nie są poprawne, ponieważ brak w nich przypisania wyniku funkcji do zmiennej. W języku JavaScript funkcje są wywoływane, ale ich rezultat musi być z miejsca przechowywany, jeśli mamy zamiar go wykorzystać. Prawidłowe wywołanie funkcji powinno zawsze uwzględniać kontekst, w którym wynik ma być użyty. W przypadku "liczba_max(a,b,c,wynik);" występuje nieprawidłowa liczba argumentów, ponieważ funkcja nie wymaga czwartego parametru, co prowadzi do błędów wykonania. Odpowiedź "liczba_max(a,b,c)=wynik;" również nie jest poprawna, ponieważ w JavaScript nie możemy przypisać wartości bezpośrednio do wywołania funkcji. To podejście narusza zasady składniowe języka. W przypadku kiedy spróbujemy zastosować takie zapisy, interpreter języka zgłosi błąd. Warto zauważyć, że błędne myślenie o strukturze funkcji i jej wywołaniu wynika często z nieznajomości podstaw składni oraz koncepcji programowania. Dobre praktyki w programowaniu rekomendują, aby zawsze przy wywołaniu funkcji, której wynik chcemy przechować, użyć operatora przypisania. W przeciwnym wypadku, nie będziemy mogli uzyskać dostępu do wartości, które funkcja generuje.

Pytanie 6

Które z poniższych stwierdzeń odnosi się prawidłowo do grafiki rastrowej?

A. Obraz zapisywany jest w postaci figur geometrycznych zorganizowanych w układzie współrzędnych
B. Grafika rastrowa nie jest zapisana w formacie WMF (ang. Windows Metafile Format - format metaplików w Windows)
C. Jest to forma przedstawienia obrazu za pomocą siatki pikseli, które są odpowiednio kolorowane w układzie pionowo-poziomym na monitorze, drukarce lub innym urządzeniu wyjściowym
D. W trakcie procesu skalowania, jakość obrazu nie ulega zmianie
Grafika rastrowa to technika reprezentacji obrazów, w której obraz składa się z siatki pikseli. Każdy piksel ma przypisany kolor, co pozwala na precyzyjne odwzorowanie detali i kolorystyki. Taki sposób przedstawienia obrazu znajduje zastosowanie w grafice komputerowej, fotografii cyfrowej oraz w druku. W praktyce, obrazy rastrowe są powszechnie wykorzystywane w programach graficznych, takich jak Adobe Photoshop czy GIMP, gdzie edytuje się poszczególne piksele. Publikacje internetowe, jak także różnorodne formy marketingu wizualnego, opierają się na grafice rastrowej, ponieważ umożliwia ona tworzenie złożonych i bogatych w szczegóły obrazów. Ważnym aspektem grafiki rastrowej jest rozdzielczość, która określa ilość pikseli w obrazie; im wyższa rozdzielczość, tym większa jakość. Wydruki, które zyskują na jakości dzięki zastosowaniu technologii rastrowej, są zgodne z najlepszymi praktykami odnośnie do standardów drukarskich, co umożliwia osiągnięcie wysokiej jakości wydruków. Zrozumienie grafiki rastrowej jest kluczowe dla każdego, kto interesuje się tworzeniem i edytowaniem obrazów w kontekście cyfrowym.

Pytanie 7

Jaki znacznik HTML umożliwia dynamiczne generowanie grafiki na stronie bez konieczności dodawania dodatkowych plików?

A. <img>
B. <canvas>
C. <embed>
D. <object>
Znaczniki <object>, <embed> oraz <img> są używane do osadzania różnych typów mediów na stronach internetowych, jednak nie służą do dynamicznego generowania grafiki w taki sposób, jak <canvas>. Znak <object> jest przeznaczony do osadzania obiektów multimedialnych, takich jak pliki PDF czy aplikacje Java, ale wymaga, aby te obiekty były dostępne jako zewnętrzne pliki. Podobnie, <embed> umożliwia osadzanie mediów, ale jest bardziej ograniczone w zakresie kontroli nad wyświetlaną grafiką i interaktywnością. Z kolei <img> ma wyłącznie charakter statyczny; służy do wyświetlania obrazów, które są z góry zdefiniowane i nie mogą być modyfikowane w czasie rzeczywistym. Wybór tych znaczników może prowadzić do błędnych założeń, że można osiągnąć podobną funkcjonalność jak w przypadku <canvas>. Użytkownicy często myślą, że wystarczy osadzić plik graficzny, aby uzyskać dynamiczne efekty, jednak tego typu podejście nie pozwala na interakcję, animację czy tworzenie złożonych wizualizacji. Ważne jest, aby zrozumieć, że <canvas> jest przeznaczony do tworzenia grafik w locie, co wymaga umiejętności programowania w JavaScript, a inne znaczniki nie oferują takich możliwości. Dlatego tak istotne jest dobieranie odpowiednich narzędzi do zadań, które chcemy zrealizować na stronie internetowej.

Pytanie 8

W PHP, aby poprawnie zakończyć połączenie z bazą danych MySQL, ostatnim krokiem powinno być użycie polecenia

A. exit
B. die
C. mysql_exit
D. mysqli_close
Wybór poleceń mysql_exit, exit oraz die jako sposobu na zamknięcie połączenia z bazą danych jest niewłaściwy z kilku powodów. mysql_exit to nieistniejąca funkcja w PHP. Nie ma takiego polecenia w dokumentacji PHP, co sugeruje, że użytkownik może być nieświadomy alternatywnych metod zarządzania połączeniami z bazą danych. exit i die, mimo że są często używane do zatrzymywania skryptu, mają zupełnie inne zastosowanie. Obie te komendy kończą wykonanie skryptu PHP, co może prowadzić do niezamierzonego przerywania całej aplikacji, zamiast zamknięcia jedynie połączenia z bazą danych. Używanie ich w kontekście zamykania połączenia z bazą danych jest nieefektywne i może prowadzić do błędów w logice aplikacji. Funkcje te nie zwalniają zasobów związanych z połączeniem, co może prowadzić do wycieków pamięci oraz nieoptymalnego działania bazy danych. Z tego względu, stosowanie tych poleceń w kontekście obsługi połączeń MySQL jest niewłaściwe i powinno być unikane w profesjonalnym kodzie PHP.

Pytanie 9

Określ wynik działania załączonego kodu PHP, przy założeniu, że zmienna tab jest tablicą.

$tab = explode(", ", "jelenie,sarny,dziki,lisy,borsuki");
echo $tab[1]." ".$tab[2];
A. sarny dziki
B. dziki lisy
C. lisy borsuki
D. jelenie sarny
Niestety, Twoja odpowiedź okazała się niepoprawna. W analizowanym kodzie PHP jest użyta funkcja 'explode()', która dzieli ciąg znaków na tablicę, używając przecinków jako separatorów. Później wybierane są drugi i trzeci element z tej tablicy do wyświetlenia. Więc, jeśli poszedłeś w stronę 'dziki lisy' lub 'lisy borsuki', to może wynikać z niewłaściwego rozumienia działania funkcji 'explode()'. Pamiętaj, że w PHP tablice zaczynają się od 0, co oznacza, że drugi element ma indeks 1, a trzeci to 2. Ważne, żeby zwracać uwagę na dane wejściowe, które podajemy do 'explode()', bo to może mieć duży wpływ na wynik. To istotna rzecz, którą warto mieć na uwadze, gdy programujesz.

Pytanie 10

Jaką integralność określa przytoczona definicja?

Ilustracja do pytania
A. Encji
B. Statyczną
C. Semantyczną
D. Referencyjną
Integralność referencyjna jest fundamentalną zasadą w bazach danych, która zapewnia, że relacje między tabelami są prawidłowo zachowane. Oznacza to, że klucz obcy w jednej tabeli powinien zawsze odnosić się do istniejącego klucza głównego w innej tabeli. To podejście jest kluczowe w relacyjnych bazach danych, ponieważ zapobiega powstawaniu odniesień do nieistniejących danych co mogłoby prowadzić do niespójności w bazie danych. W praktyce integralność referencyjna jest implementowana poprzez restrykcje i ograniczenia narzucane na operacje takie jak wstawianie aktualizacja i usuwanie danych. Na przykład próba usunięcia rekordu z tabeli, do której odwołują się inne rekordy wprowadziłaby niespójność jeśli integralność referencyjna nie jest przestrzegana. Aby temu zapobiec systemy baz danych mogą blokować takie operacje lub automatycznie aktualizować albo usuwać powiązane dane. Przestrzeganie zasad integralności referencyjnej jest zgodne z dobrymi praktykami projektowania baz danych i zgodne ze standardem SQL co zapewnia spójność i integralność danych w systemach informatycznych.

Pytanie 11

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

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

Pytanie 12

W języku PHP użyto funkcji is_int). Które z wymienionych wywołań tej funkcji zwróci wartość TRUE?

A. is_int(13.5)
B. is_int(NULL)
C. is_int("135")
D. is_int(135)
Wybór is_int(135) jako poprawnej odpowiedzi jest uzasadniony, ponieważ funkcja is_int w języku PHP służy do sprawdzania, czy zmienna jest typu całkowitego (integer). W tym przypadku 135 jest liczbą całkowitą, co oznacza, że funkcja zwróci wartość TRUE. Użycie is_int w praktyce jest przydatne, gdy chcemy upewnić się, że nasze dane wejściowe są odpowiedniego typu, co jest szczególnie ważne w aplikacjach, gdzie typ danych ma kluczowe znaczenie, na przykład w operacjach matematycznych czy przy interakcji z bazą danych. Dobrą praktyką jest zawsze walidowanie danych, aby uniknąć potencjalnych błędów i zapewnić stabilność aplikacji. Ponadto, w PHP typy są dynamiczne, co sprawia, że błędne typy danych mogą prowadzić do trudnych do zdiagnozowania błędów, dlatego stosowanie is_int może znacząco poprawić jakość kodu i jego bezpieczeństwo. Przykładowo, przed wykonaniem operacji arytmetycznych na wartościach przekazanych z formularza, warto sprawdzić, czy są one typu integer, aby zapobiec niepożądanym zachowaniom programu.

Pytanie 13

Który z poniższych języków jest zazwyczaj używany do programowania front-endowego (wykonywanego po stronie klienta)?

A. Perl
B. PHP
C. Node.js
D. CSS
Node.js, Perl i PHP to języki programowania, które najczęściej służą do tworzenia logiki aplikacji po stronie serwera, a nie po stronie klienta. Node.js jest platformą opartą na JavaScript, która umożliwia uruchamianie kodu JavaScript na serwerze, co sprawia, że jest to środowisko do tworzenia aplikacji webowych, ale nie jest językiem front-endowym per se. Perl to język skryptowy, tradycyjnie używany do przetwarzania danych i automatyzacji, który również działa na serwerze, a nie w przeglądarkach. PHP, podobnie jak Perl, jest językiem skryptowym zaprojektowanym do generowania dynamicznych treści na stronach internetowych po stronie serwera. Typowy błąd myślowy polega na myleniu środowisk uruchomieniowych z rolą języka w architekturze aplikacji webowych. W rzeczywistości, języki front-endowe, takie jak CSS i JavaScript, są odzwierciedleniem interakcji użytkownika w przeglądarkach, podczas gdy Node.js, Perl i PHP pełnią inne funkcje, skupiając się na logice aplikacji, zarządzaniu danymi oraz komunikacji z bazami danych. Zrozumienie różnic między tymi podejściami jest kluczowe dla efektywnego projektowania aplikacji webowych i wykorzystania odpowiednich narzędzi w odpowiednich kontekstach.

Pytanie 14

Plik cookie utworzony przedstawionym poleceniem PHP:

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. wygaśnie po jednej godzinie od jego utworzenia.
B. będzie przechowywany na serwerze przez jedną godzinę.
C. będzie przechowywany na serwerze przez jedną dobę.
D. wygaśnie po jednej dobie od jego utworzenia.
Kod z funkcją setcookie() w PHP bardzo często myli się z mechanizmami przechowywania danych po stronie serwera, dlatego łatwo tu o błędne skojarzenia. W tym przykładzie kluczowe są dwie rzeczy: po pierwsze, gdzie fizycznie przechowywane jest cookie, a po drugie, w jakiej jednostce podajemy czas. Ciasteczka HTTP są zawsze przechowywane po stronie klienta, czyli w przeglądarce użytkownika, w jej lokalnym magazynie. Serwer jedynie informuje przeglądarkę, jaki ma być czas życia takiego wpisu, wysyłając odpowiedni nagłówek Set-Cookie z datą wygaśnięcia. Stąd pomysł, że cookie „będzie przechowywane na serwerze” jest po prostu nietrafiony – serwer nie ma osobnego magazynu na ciasteczka użytkowników, on tylko je odczytuje z nagłówków przychodzących żądań i ewentualnie ustawia nowe. Druga częsta pomyłka dotyczy samego czasu. Funkcja time() zwraca aktualny timestamp w sekundach od 1.01.1970, a w wyrażeniu 3600 * 24 wyliczana jest liczba sekund w jednej dobie. Jeśli ktoś pobieżnie spojrzy na zapis, może skojarzyć 3600 z godziną i założyć, że cookie jest ważne tylko godzinę, ignorując mnożenie przez 24. To typowy błąd „czytania po łebkach” kodu. Tymczasem przeglądarka dostaje konkretny moment w przyszłości, przesunięty o 86400 sekund, i do tej chwili będzie wysyłać cookie przy każdym żądaniu do odpowiedniej domeny i ścieżki. Warto też pamiętać, że samo istnienie cookie nie oznacza trwałego przechowywania danych po stronie serwera. Dane z ciasteczka trafiają na serwer dopiero, gdy przeglądarka wyśle je w nagłówku HTTP. Dlatego planując logikę aplikacji, trzeba jasno rozróżniać dane sesyjne na serwerze (np. w $_SESSION) od danych w cookie, które użytkownik może modyfikować po swojej stronie i które wygasają dokładnie według tego timestampu, jaki podamy w setcookie().

Pytanie 15

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

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

Pytanie 16

W systemie baz danych sklepu znajdują się dwie tabele połączone relacją: produkty oraz oceny. Tabela oceny zawiera dowolną liczbę ocen wystawionych przez klientów dla konkretnego produktu, opisaną poprzez pola: id, ocena (pole numeryczne), produktID (klucz obcy). Aby uzyskać maksymalną ocenę dla produktu o ID wynoszącym 10, należy wykorzystać zapytanie

A. COUNT MAX SELECT ocena FROM oceny WHERE produktID = 10;
B. SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;
C. SELECT MAX(ocena) FROM oceny WHERE produktID = 10;
D. MAX SELECT ocena FROM oceny WHERE produktID = 10;
Analizując pozostałe odpowiedzi, można zauważyć, że każda z nich zawiera błędy w składni i logice SQL, które prowadzą do niewłaściwych wniosków. W przypadku pierwszej niepoprawnej odpowiedzi, sformułowanie 'COUNT MAX SELECT' jest niepoprawne, ponieważ łączy niezgodne ze sobą komendy. Nie ma takiej funkcji jak 'COUNT MAX'; COUNT służy do zliczania wierszy, a nie do obliczania maksymalnej wartości. W kolejnej odpowiedzi 'MAX SELECT' z kolei jest niepoprawnym użyciem słów kluczowych SQL. MAX powinien występować jako część złożonego zapytania SELECT, a nie jako osobna funkcja. Takie podejście może być wynikiem braku zrozumienia struktury komend SQL. Ostatnia odpowiedź, 'SELECT MAX COUNT(ocena)', również jest błędna, ponieważ nie możemy jednocześnie używać MAX i COUNT w taki sposób. MAX zwraca jedną wartość, podczas gdy COUNT zlicza, co wprowadza zamieszanie. Zastosowanie niepoprawnych konstrukcji SQL może prowadzić do błędów w wykonaniu zapytań oraz do zwracania nieoczekiwanych wyników, co jest szczególnie niebezpieczne w kontekście aplikacji produkcyjnych oraz baz danych, w których precyzyjne dane są kluczowe dla podejmowania właściwych decyzji. Dlatego ważne jest, aby dokładnie zrozumieć sposób działania funkcji agregujących oraz ich prawidłowe zastosowanie w zapytaniach.

Pytanie 17

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

A. zmiana rozmiaru.
B. łączanie warstw.
C. odwracanie obrazu.
D. kadrowanie.
Skalowanie to po prostu zmiana rozmiaru obrazka, ale nie zmienia on jego zawartości. Jak robimy grafikę na stronę, to może to się nie najlepiej skończyć, bo obraz może się zniekształcić, a tego chyba nikt nie chce w profesjonalnych projektach. Odbicie obrazu to lustrzane odwzorowanie grafiki, które tak naprawdę nie ma nic wspólnego z kadrowaniem. Może w sztuce się przyda, ale do wycinania nie pasuje. Łączenie warstw to technika, gdzie nakładamy różne elementy na siebie i to też nie ma nic wspólnego z wycinaniem, a bardziej z integracją. Ogólnie rzecz biorąc, to wszystko wynika z mylenia podstawowych pojęć związanych z edycją grafiki. Ludzie mogą myśleć, że te techniki są podobne, co prowadzi do nieporozumień. Ważne jest, żeby wiedzieć, że każda z tych technik ma swoje cele, a kadrowanie to coś, co skupia się na wycinaniu i kompozycji.

Pytanie 18

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

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

Pytanie 19

Kiedy dane z formularza są przesyłane w sposób jawny jako parametry w adresie URL, w skrypcie PHP można je odczytać za pomocą tablicy

A. $_POST
B. $_SESSION
C. $_GET
D. $_COOKIE
Odpowiedzi 2, 3 i 4 są niepoprawne w kontekście przesyłania danych przez adres URL. Odpowiedź 2, odnosząca się do tablicy $_POST, jest używana do odbierania danych przesyłanych z formularzy za pomocą metody POST. W przeciwieństwie do GET, POST nie ujawnia danych w adresie URL, co czyni go bardziej odpowiednim dla przesyłania wrażliwych informacji, takich jak hasła. Użytkownicy często mylą te dwie metody, co może prowadzić do nieprawidłowego stosowania metod w sytuacjach, które powinny być odpowiednio zabezpieczone. Odpowiedzi 3 i 4 odnoszą się do tablic $_COOKIE i $_SESSION, które służą do zarządzania danymi sesji i przechowywania danych na urządzeniu klienta. $_COOKIE jest używane do przechowywania małych ilości danych na komputerze użytkownika, które mogą być wykorzystane w kolejnych wizytach, natomiast $_SESSION przechowuje dane sesyjne po stronie serwera, umożliwiając śledzenie stanu użytkownika podczas przeglądania aplikacji. Pomimo, że wszystkie te tablice są ważnymi narzędziami w PHP, żadna z nich nie jest odpowiednia w kontekście przesyłania danych przez URL, co jest kluczowe dla zrozumienia różnic między metodami przesyłania danych i ich bezpieczeństwem.

Pytanie 20

Obraz o rozdzielczości 72 PPI oznacza, że ma 72 piksele na

A. megabajt.
B. milimetr.
C. cal.
D. centymetr.
Rozbieżność w tym pytaniu wynika głównie z nieporozumień związanych z jednostkami miary i z tym, jak opisujemy rozdzielczość w grafice komputerowej. Skrót PPI oznacza „pixels per inch”, czyli dosłownie „piksele na cal”. Kluczowy jest tutaj właśnie cal, a nie milimetr, centymetr czy – tym bardziej – megabajt. W grafice i przy specyfikacjach monitorów, tabletów graficznych czy ekranów smartfonów od lat stosuje się jednostki anglosaskie, więc standardem stał się cal. Dlatego rozdzielczość 72 PPI oznacza 72 piksele upakowane w jednym calu długości. Częsty błąd polega na próbie „uładnienia” tego do systemu metrycznego i intuicyjnym założeniu, że skoro w Polsce używamy milimetrów i centymetrów, to PPI też mogłoby się do nich odnosić. Technicznie można przeliczyć, ile to będzie pikseli na centymetr, ale wtedy zmienia się jednostka i powinniśmy używać innego zapisu, np. „ppcm” (pixels per centimeter), a nie PPI. Myślenie typu „72 PPI to 72 piksele na centymetr” jest więc błędne, bo ignoruje definicję samego skrótu. Jeszcze dalej od prawdy jest skojarzenie z megabajtami. Megabajt to jednostka pojemności danych, a nie gęstości pikseli w przestrzeni fizycznej. Rozmiar pliku w MB zależy od liczby pikseli, głębi koloru, kompresji i formatu, ale nie jest bezpośrednią jednostką rozdzielczości w sensie przestrzennym. PPI opisuje, jak gęsto piksele są rozmieszczone na fizycznej długości (calu), natomiast megabajty opisują, ile danych potrzeba do zapisania obrazu w pamięci. Typowy błąd myślowy to wrzucanie do jednego worka pojęć: rozdzielczość w pikselach (np. 1920×1080), gęstość PPI oraz wielkość pliku w MB. To są trzy różne parametry. Dobra praktyka w branży graficznej to trzymanie się poprawnych definicji: PPI zawsze odnosi się do cala, a jeśli chcemy pracować w centymetrach lub milimetrach, używamy przeliczeń, ale nie zmieniamy znaczenia skrótu.

Pytanie 21

W języku JavaScript następujący zapis: var napis1 = new napisy); ma na celu

A. stworzenie nowej klasy napis1
B. stworzenie instancji obiektu napis1 klasy napisy
C. wywołanie metody dla obiektu napisy
D. zadeklarowanie zmiennej napis1 oraz wywołanie funkcji, w której argumentem jest napis1
Pierwsza z niepoprawnych odpowiedzi sugeruje, że kod tworzy nową klasę 'napis1', co jest błędem. W rzeczywistości, w JavaScript klasy są definiowane za pomocą słowa kluczowego 'class', a 'new napisy()' uruchamia konstruktor, a nie definiuje klasę. Klasy w JavaScript można zdefiniować w następujący sposób: 'class napisy { constructor() { this.text = ''; }}', co wyraźnie różni się od podanego przykładu. Kolejna odpowiedź mówi o wywołaniu metody obiektu 'napisy', co również jest mylące, ponieważ aby wywołać metodę, obiekt musi być już stworzony, a 'new napisy()' nie wywołuje metody, lecz tworzy instancję obiektu. Ostatnia z odpowiedzi wskazuje na zadeklarowanie zmiennej 'napis1' i wywołanie funkcji z argumentem 'napis1', co jest całkowicie niezgodne z intencją podanego kodu. Nie ma tu żadnego wywołania funkcji z argumentem, a 'new' jest używane do instancjonowania klasy, co nie ma nic wspólnego z przekazywaniem argumentów do funkcji. Tak więc, wszystkie te odpowiedzi nie oddają prawidłowego zrozumienia działania konstrukcji obiektowych w JavaScript.

Pytanie 22

Wskaż, które z poniższych zdań jest prawdziwe w odniesieniu do definicji stylu: ``````

A. Akapit będzie przekształcany na małe litery
B. Odnośnik będzie napisany czcionką o rozmiarze 14 punktów
C. Zdefiniowano dwie klasy
D. Jest to styl zasięg lokalny
Pierwsza odpowiedź sugeruje, że styl jest lokalny, ale tak naprawdę to nie jest do końca prawda. Definicje stylów w tym kodzie są globalne, więc nie możesz mówić o stylach lokalnych, które odnosiłyby się tylko do konkretnego elementu. Klasy w arkuszu stylów są dostępne w całym dokumencie, więc to są style globalne. Następna odpowiedź mówi, że akapit będzie transponowany na małe litery, co też nie jest prawdą, bo w CSS nie ma zdefiniowanej transformacji tekstu dla elementu P. Element A ma natomiast zastosowaną transformację, która zmienia tekst na małe litery, więc nie można tego przypisać do akapitu. Ostatnia błędna odpowiedź sugeruje, że odnośnik będzie miał czcionkę 14 punktów i to również jest mylne. W rzeczywistości odnośnik A ma czcionkę 16 punktów, co sprawia, że jest lepiej widoczny niż akapit. Wydaje mi się, że te błędne odpowiedzi wynikają z niepełnego zrozumienia, jak działają klasy CSS i jakie style można przypisać różnym elementom HTML.

Pytanie 23

Projektant stworzył logo dla witryny internetowej. Jest to czarny symbol na przezroczystym tle. Aby zachować wszystkie cechy obrazu i umieścić go na stronie, projektant powinien zapisać obraz w formacie

A. BMP
B. JPEG
C. PNG
D. CDR
Format PNG (Portable Network Graphics) jest idealnym rozwiązaniem dla grafiki internetowej, zwłaszcza gdy zależy nam na zachowaniu przezroczystości tła, co jest kluczowe w przypadku logotypów. PNG obsługuje kompresję bezstratną, co oznacza, że nie utracimy jakości obrazu przy zapisywaniu go. To szczególnie ważne w kontekście logo, które często musi być skalowane do różnych rozmiarów, a wszelkie zniekształcenia mogą wpłynąć na jego rozpoznawalność. Dodatkowo, format PNG pozwala na uzyskanie pełnej gamy kolorów, w tym przezroczystości w formacie RGBA. W praktyce oznacza to, że możesz umieścić czarny znak na dowolnym tle, a jego kształt zawsze zachowa wyrazistość oraz ostrość. Warto również zauważyć, że PNG jest wspierany przez wszystkie nowoczesne przeglądarki internetowe i systemy operacyjne, co czyni go wszechstronnym wyborem dla twórców stron internetowych. Standard PNG, opublikowany przez W3C, jest uznawany za jedno z najbardziej efektywnych rozwiązań dla grafiki w sieci.

Pytanie 24

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; } section { float: right; }
C. nav { float: left; } aside { float: left; }
D. nav { 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 25

W SQL, aby utworzyć tabelę, konieczne jest użycie polecenia

A. INSERT TABLE
B. ADD TABLE
C. CREATE TABLE
D. ALTER TABLE
Żeby stworzyć tabelę w SQL, musisz użyć polecenia CREATE TABLE. To jest coś jak fundament, bo dzięki temu mówisz systemowi, jak ma wyglądać Twoja tabela. Możesz określić nazwę tabeli i jakie kolumny będą przechowywać dane. Wchodzą tu nie tylko nazwy kolumn, ale też ich typy, co jest ważne, żeby dane były dobrze zapisane. Na przykład, chcesz zrobić tabelę 'Użytkownicy', która ma ID, imię i nazwisko? Wtedy używasz takiego zapisu: CREATE TABLE Użytkownicy (ID INT PRIMARY KEY, Imię VARCHAR(50), Nazwisko VARCHAR(50)). Poza tym, to polecenie działa w różnych systemach, jak MySQL czy PostgreSQL, co czyni je naprawdę uniwersalnym. Z mojego doświadczenia, znajomość tego polecenia jest mega ważna, jeśli chcesz dobrze pracować z bazami danych, bo to w końcu ich podstawy!

Pytanie 26

W analizowanym fragmencie algorytmu wykorzystano

Ilustracja do pytania
A. jedną pętlę.
B. trzy bloki operacyjne (procesy).
C. jeden blok decyzyjny.
D. dwie pętle.
Na tym schemacie blokowym mamy jedną pętlę, co oznacza, że jeden z kroków powtarza się aż do momentu, kiedy spełni się określony warunek. Pętle to podstawa programowania, bo dzięki nim możemy wielokrotnie coś robić, co jest super przydatne. Używamy ich na przykład do sortowania danych w tablicy albo przetwarzania informacji w aplikacjach. Warto pamiętać, żeby nie robić zbyt skomplikowanych pętli, bo mogą potem sprawiać problemy, co do łatwości w utrzymaniu kodu. Dobrze jest też dodawać komentarze do warunków kończących pętle, bo to znacznie poprawia czytelność. Na prezentowanym schemacie pętla jest przedstawiona jako połączenie bloku decyzyjnego z wcześniejszym krokiem, co pokazuje, że proces się powtarza – to całkiem typowe w takich schematach.

Pytanie 27

Określ właściwą hierarchię stylów CSS biorąc pod uwagę ich priorytet w stylizacji elementów strony WWW?

A. Wewnętrzny, Zewnętrzny, Rozciąganie stylu
B. Lokalny, Wewnętrzny, Zewnętrzny
C. Rozciąganie stylu, Zewnętrzny, Lokalny
D. Zewnętrzny, Wydzielone bloki, Lokalny
Wszystkie błędne odpowiedzi zawierają istotne nieporozumienia dotyczące priorytetów stylów CSS oraz sposobu, w jaki są one stosowane na stronach internetowych. Porządek stylów jest kluczowy dla efektywnego projektowania stron, a zrozumienie, które style mają pierwszeństwo, jest fundamentalne. Wewnętrzny styl nie powinien być uznawany za wyższy niż zewnętrzny, co sugeruje jedna z niepoprawnych odpowiedzi. Zewnętrzne arkusze stylów, będące najlepszym rozwiązaniem do zarządzania stylami w aplikacjach webowych, są ładowane na początku, co oznacza, że mają niższy priorytet niż style zdefiniowane lokalnie. Natomiast odpowiedzi, które sugerują, że styl zewnętrzny może mieć wyższy priorytet niż lokalny, są szczególnie mylące, gdyż mogą prowadzić do sytuacji, w której zmiany w stylach lokalnych są ignorowane. Dodatkowe błędne koncepcje dotyczą możliwości stosowania tzw. rozciągania stylu, co nie jest terminem uznawanym w kontekście CSS, co jeszcze bardziej potęguje nieporozumienia. W praktyce, nieprzestrzeganie zasad priorytetów stylów CSS może skutkować nieczytelnym kodem i chaotycznym stylem strony, co jest sprzeczne z dobrymi praktykami tworzenia stron internetowych, takimi jak stosowanie zunifikowanych arkuszy stylów i unikanie nadmiarowych deklaracji stylów.

Pytanie 28

Zestaw atrybutów relacji, który w minimalny sposób identyfikuje każdy rekord tej relacji, posiadając wartości unikalne oraz niepuste, określamy mianem klucza

A. kandydującego
B. złożonego
C. obcego
D. głównego
Wybór odpowiedzi związanej z kluczem obcym, kandydującym lub złożonym może prowadzić do nieporozumień w zakresie zarządzania danymi w relacyjnych bazach danych. Klucz obcy to atrybut, który tworzy powiązanie między dwiema tabelami, wskazując na klucz główny innej tabeli. Oznacza to, że klucz obcy nie identyfikuje rekordów w swojej tabeli, lecz odnosi się do rekordów w innej tabeli, co jest fundamentalnie różne od roli klucza głównego. Klucz kandydujący to natomiast atrybut, który mógłby pełnić rolę klucza głównego, ale nie jest nim, ponieważ w tabeli może być wiele takich atrybutów, z których jeden ostatecznie zostaje wybrany jako klucz główny. Klucz złożony składa się z dwóch lub więcej atrybutów, które łącznie identyfikują unikalny rekord, co również różni się od prostego klucza głównego. Myląc te pojęcia, można wprowadzić chaos w strukturze bazy danych oraz naruszyć jej integralność, co może prowadzić do błędów w raportowaniu i analizie danych. W praktyce, stosowanie kluczy obcych lub złożonych w sposób niezgodny z ich definicjami prowadzi do trudności w utrzymaniu relacji pomiędzy danymi oraz może generować problemy z wydajnością w operacjach bazodanowych. Zrozumienie różnicy między tymi rodzajami kluczy jest kluczowe dla prawidłowego projektowania bazy danych oraz zapewnienia jej efektywności i przejrzystości.

Pytanie 29

Proces układania danych w bazie, który obejmuje tworzenie tabel, definiowanie relacji pomiędzy nimi oraz eliminację zbędnych danych i niespójnych powiązań, nazywany jest

A. normalizacją
B. sprawdzaniem spójności danych
C. nadmiarowością
D. sprawdzaniem integralności referencyjnej
Weryfikacja integralności referencyjnej to kwestia tego, żeby sprawdzić, czy relacje między tabelami w bazie są ok, czyli czy klucze obce prowadzą do istniejących rekordów. To ważne, ale nie dotyczy organizacji danych, która polega na tworzeniu tabel i relacji. Z kolei weryfikacja spójności danych to już inna sprawa, bo chodzi tu o zgodność danych w jednej tabeli, a nie o eliminowanie powtórzeń czy ustalanie relacji między różnymi tabelami. Redundancja to problem, bo to oznacza, że dane są powielane, co może powodować problemy, ale nie jest procesem, tylko skutkiem złej organizacji danych. Ważne jest, żeby znać te różnice, bo mylenie ich może prowadzić do nieefektywnego tworzenia baz danych. Dlatego dobrze jest korzystać z zasad normalizacji, żeby uniknąć kłopotów z nadmiarowością i niespójnością, bo to jest kluczowe dla zachowania integralności bazy. Zastosowanie tych zasad może naprawdę poprawić działanie bazy.

Pytanie 30

Który kod HTML zapewni identyczny efekt formatowania jak na przedstawionym obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML
A. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>
B. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania</i> tekstu w HTML</p>
C. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
D. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
Wybór niepoprawnych odpowiedzi wynika z błędnego użycia znaczników HTML, co wpływa na końcowe formatowanie tekstu. Pierwsza odpowiedź zawiera błąd polegający na niewłaściwym zamknięciu znacznika <b> przez dodanie spacji przed ukośnikiem, co powoduje, że przeglądarki mogą błędnie interpretować strukturę HTML. W konsekwencji, tekst może nie być prawidłowo pogrubiony, ponieważ przeglądarka nie rozpoznaje zamknięcia znacznika. Trzecia odpowiedź całkowicie pomija znacznik <b>, co oznacza, że tekst 'zobaczysz' nie zostanie pogrubiony, co jest niezgodne z wymaganym efektem wizualnym. Brak zastosowania odpowiednich znaczników wpływa na semantyczne znaczenie zawartości, co jest kluczowe w kontekście dostępności i dobrych praktyk w web designie. Czwarta odpowiedź błędnie rozdziela znaczniki <i> wokół słowa 'zobaczysz', co nie tworzy efektu jednoczesnej kursywy i pogrubienia. Wiedza dotycząca zagnieżdżania znaczników jest istotna, aby uzyskać pożądany efekt wizualny, a także utrzymać semantykę i dostępność zgodnie z nowoczesnymi standardami tworzenia stron internetowych. Rozumienie hierarchii i poprawne zamykanie znaczników ma kluczowe znaczenie dla renderowania strony zgodnie z oczekiwaniami, jak również dla zachowania zgodności z HTML5.

Pytanie 31

Definicja stylu przedstawiona w języku CSS dotyczy odnośnika, który

Ilustracja do pytania
A. jeszcze nie był odwiedzany
B. był już odwiedzany
C. posiada niepoprawny adres URL
D. ma wskaźnik myszy ustawiony nad nim
Podczas analizy CSS ważne jest rozumienie, jak działają pseudo-klasy, które umożliwiają stylizację elementów w określonych stanach. Pseudo-klasa :hover odpowiada za stan, gdy kursor myszy znajduje się nad elementem, co pozwala na dynamiczne zmiany wyglądu, takie jak podświetlenie elementu. Jest to często używane do interaktywnych efektów w interfejsach użytkownika. Tymczasem :link dotyczy linków, które jeszcze nie zostały odwiedzone przez użytkownika. Wprawdzie pozwala to na odróżnienie ich od odwiedzonych linków, ale stylizacja :link nie może zmienić się po kliknięciu, co jest kluczowe dla zachowania dostępności. Błędny adres URL nie jest związany z żadną z tych pseudo-klas i nie można go zidentyfikować ani zmodyfikować za pomocą CSS, ponieważ zarządzanie adresami URL odbywa się na poziomie HTML i JavaScript. W kontekście tworzenia stron internetowych zrozumienie tych różnic jest kluczowe, ponieważ wpływa na sposób, w jaki użytkownicy wchodzą w interakcję z treścią. Błędy w rozumieniu tych mechanizmów prowadzą do niepoprawnej nawigacji i mogą negatywnie wpływać na doświadczenie użytkownika, co jest sprzeczne z dobrymi praktykami w projektowaniu interfejsów i UX. Ważne jest, aby projektować strony zgodnie ze standardami, które umożliwiają intuicyjne korzystanie i zapewniają, że użytkownicy łatwo mogą rozpoznać odwiedzone i nieodwiedzone linki, co jest kluczowe dla ich doświadczenia i nawigacji.

Pytanie 32

Plik graficzny powinien być zapisany w formacie GIF, gdy

A. jest to obraz stereoskopowy
B. jest potrzeba zapisu obrazu lub animacji
C. jest konieczność zapisu obrazu bez kompresji
D. jest to grafika wektorowa
Grafika wektorowa jest zupełnie innym typem pliku graficznego, który opiera się na matematycznych opisach kształtów i linii, a nie na pikselach. Wektorowe formaty, takie jak SVG czy EPS, umożliwiają skalowanie obrazu bez utraty jakości, co jest ich kluczową zaletą. GIF nie jest w stanie zrealizować tych funkcji, dlatego nie jest odpowiednim formatem dla grafiki wektorowej. Obraz stereoskopowy to technika, która tworzy iluzję głębi poprzez ujęcia z dwóch różnych kątów, co pozwala na postrzeganie trójwymiarowości. GIF nie obsługuje tej techniki, ponieważ nie jest zaprojektowany z myślą o przechowywaniu danych przestrzennych, a raczej skupia się na prostych, płaskich animacjach czy obrazach. W przypadku potrzeby zapisu obrazu bez kompresji, format GIF również nie jest odpowiedni, gdyż wprowadza pewien poziom kompresji, co może prowadzić do utraty jakości. Dla takich zastosowań lepszym wyborem będą formaty takie jak BMP czy TIFF, które pozwalają na zapis bezstratny, a więc idealnie zachowują oryginalną jakość obrazu.

Pytanie 33

Jakiego elementu w języku HTML brakuje, aby walidator HTML zgłosił ostrzeżenie lub błąd?

A. <link>
B. <meta name="author" content=". . . .">
C. przynajmniej jednego <h1>
D. <title>
Element <title> jest kluczowym składnikiem dokumentu HTML, ponieważ określa tytuł strony, który jest wyświetlany na karcie przeglądarki oraz w wynikach wyszukiwania. W każdym poprawnie skonstruowanym dokumencie HTML powinien znajdować się co najmniej jeden element <title>, a jego brak skutkuje ostrzeżeniem lub błędem walidatora HTML. Zgodnie z specyfikacją HTML5, element <title> powinien być umieszczony wewnątrz sekcji <head>. Dobrą praktyką jest, aby tytuł był krótki, ale jednocześnie informacyjny i zawierał istotne słowa kluczowe, co może poprawić widoczność w wyszukiwarkach. Na przykład, tytuł 'Strona Główna - Moja Firma' jasno określa zawartość i cel strony, co jest korzystne dla użytkowników i robotów wyszukiwarek. Pamiętaj, że niepoprawna struktura dokumentu HTML może prowadzić do problemów z indeksowaniem przez wyszukiwarki oraz może wpłynąć na doświadczenie użytkownika.

Pytanie 34

Tworzenie struktury logicznej strony internetowej polega na

A. stworzonym zestawie grafik dla strony
B. umiejscowieniu elementów w wyznaczonych lokalizacjach witryny
C. określeniu adresów URL dla podstron serwisu
D. określeniu zawartości witryny
Projektowanie układu strony internetowej to naprawdę ważny krok, który warto dobrze przemyśleć. Chodzi o to, żeby elementy były umieszczone w sensownych miejscach, co z kolei pomaga użytkownikom lepiej się po niej poruszać. Trzeba pamiętać o zasadach UX i UI, bo dzięki nim można stworzyć coś, co będzie intuicyjne i przyjazne. Dobrze jest odpowiednio poukładać tekst, zdjęcia, linki i formularze, żeby wszystko działało sprawnie. Fajnie jest korzystać z siatki do rozmieszczania elementów, bo to pomaga utrzymać ład i równowagę wizualną. Na przykład zasada F-layout świetnie sprawdza się, bo układ przypomina literę „F” i to odpowiada temu, jak ludzie przeglądają treści. Z mojego doświadczenia, ważne jest też, żeby zrozumieć hierarchię wizualną – dzięki temu można lepiej wyróżnić istotne informacje i zaangażować użytkowników.

Pytanie 35

Jakie typy danych w C++ są używane do reprezentacji liczb rzeczywistych?

A. double oraz short
B. float oraz long
C. float oraz double
D. double oraz bool
Wybierając odpowiedzi takie jak 'double i short', 'double i bool', czy 'float i long', można napotkać na nieporozumienia dotyczące typów danych w C++. Typ 'short' jest typem całkowitym, przeznaczonym do przechowywania liczb całkowitych o mniejszych wartościach, a zatem nie ma zastosowania w kontekście liczb rzeczywistych. Typ 'bool' również nie ma nic wspólnego z liczbami rzeczywistymi, gdyż reprezentuje jedynie wartości logiczne: prawda (true) lub fałsz (false). Z kolei 'long', podobnie jak 'short', jest typem całkowitym, który jest używany do reprezentowania dużych wartości liczbowych, ale także nie mieści się w kategorii liczb rzeczywistych. Zrozumienie, że liczby rzeczywiste w C++ są reprezentowane wyłącznie przez typy 'float' i 'double', jest kluczowe dla efektywnego programowania. Używanie niewłaściwych typów danych może prowadzić do błędów w obliczeniach, takich jak zaokrąglenia, a także do problemów z pamięcią oraz wydajnością aplikacji. Dlatego ważne jest, aby przy wyborze typów danych kierować się ich specyfiką oraz zastosowaniami, co jest zgodne z najlepszymi praktykami programistycznymi.

Pytanie 36

var obj1 = {     czescUlamkowa: 10,     czescCalkowita: 20,     oblicz: function) {...} } Kod przedstawiony powyżej jest zapisany w języku JavaScript. W podanej definicji obiektu, metodą jest element o nazwie

A. oblicz
B. obj1
C. czescUlamkowa
D. czescCalkowita
Zrozumienie, dlaczego obj1 i jego właściwości czescUlamkowa oraz czescCalkowita nie są metodami, to kluczowy element nauki programowania w JavaScript. Obiekt obj1 to jakby instancja, która przechowuje dane, ale nie jest funkcją ani metodą. Generalnie, obiekt to struktura z różnymi właściwościami i metodami, ale sama z siebie nie robi nic. CzescUlamkowa i czescCalkowita to tylko właściwości z wartościami liczbowymi, ale nie mają w sobie żadnej logiki wykonawczej. Więc mylenie ich z metodami jest po prostu błędne, bo nie mają przypisanych funkcji ani nie są zdefiniowane jako funkcje w kontekście tego obiektu. Żeby właściwości stały się metodami, musiałyby być zdefiniowane jako funkcje, jak ta nasza oblicz. Metoda oblicz to przykład funkcji związanej z obiektem, a nie tylko przechowującej dane. Dlatego całość obj1 i jego właściwości czescUlamkowa oraz czescCalkowita nie mogą być uznawane za metody. Ważne jest, żeby to zrozumieć, bo to wpływa na to, jak zarządza się danymi w aplikacjach JavaScript.

Pytanie 37

Zarządzanie procesem przekształcania kodu źródłowego stworzonego przez programistę na kod maszynowy, który jest zrozumiały dla komputera, nosi nazwę

A. rozpoczynanie
B. analizowanie
C. wdrażanie
D. kompilowanie
Kompilowanie to proces, w którym kod źródłowy, napisany w języku programowania wysokiego poziomu, jest przekształcany na kod maszynowy, który może być zrozumiany i wykonany przez komputer. Działa to na zasadzie analizy składniowej i semantycznej kodu źródłowego, a następnie generowania odpowiednich instrukcji dla procesora. Przykładem narzędzi, które realizują ten proces, są kompilatory, takie jak GCC dla języka C czy javac dla języka Java. Kompilowanie ma kluczowe znaczenie w programowaniu, ponieważ pozwala na optymalizację kodu, co zwiększa wydajność aplikacji. Dobre praktyki wskazują, że kompilowanie powinno być częścią cyklu programowania, a regularne kompilowanie kodu pomaga w szybszym wykrywaniu błędów oraz zapewnia, że kod jest zawsze zgodny z wymaganiami projektowymi. Warto również zaznaczyć, że proces kompilacji może obejmować różne etapy, takie jak prekompilacja, generacja kodu pośredniego oraz linkowanie, co czyni go złożonym i wieloetapowym działaniem.

Pytanie 38

Które stwierdzenie najlepiej opisuje klasę Owoc zdefiniowaną w języku PHP i przedstawioną na listingu?

class Owoc {
    public $nazwa;
    private $kolor;
    function set_nazwa($nazwa) {
        $this->nazwa = $nazwa;
    }
}
A. Zawiera dwa pola i jedną metodę, a pole kolor ma zasięg widzialności ograniczony wyłącznie do metod klasy.
B. Zawiera dwa pola i jedną metodę, a pole nazwa ma zasięg widzialności ograniczony wyłącznie do metod klasy.
C. Zawiera dwa pola oraz jeden konstruktor, oba pola mają zasięg widzialności ograniczony wyłącznie do metod klasy.
D. Zawiera jedno pole i dwie metody, z których jedna ma ograniczony zasięg prywatny.
Wiele z błędnych odpowiedzi opiera się na niewłaściwej interpretacji widoczności pól oraz liczby metod w klasie. Klasa Owoc ma jedno publiczne pole o nazwie nazwa oraz jedno prywatne pole kolor, co oznacza, że tylko metody wewnątrz klasy mogą uzyskiwać dostęp do pola kolor. Pierwsza odpowiedź sugeruje, że klasa ma jedno pole i dwie metody, co jest niezgodne z rzeczywistością, ponieważ nie zdefiniowano drugiej metody. Z kolei odpowiedzi wskazujące na istnienie konstruktora są również błędne, ponieważ klasa Owoc nie definiuje żadnego konstruktora, co oznacza, że PHP automatycznie generuje domyślny konstruktor, ale nie jest on jawnie widoczny w kodzie. Istotnym błędem jest również założenie, że pole nazwa ma ograniczoną widoczność, co nie jest prawdziwe, gdyż jest ono publiczne i dostępne z zewnątrz klasy. Takie nieprawidłowe wnioski mogą wynikać z braku zrozumienia podstawowych zasad programowania obiektowego oraz widoczności w PHP, co jest kluczowe dla poprawnego projektowania aplikacji. W szczególności, umiejętność rozróżnienia między różnymi poziomami widoczności (publiczne, prywatne, chronione) jest niezbędna dla efektywnego korzystania z obiektów i klas w tym języku.

Pytanie 39

Aby tworzyć strony internetowe w sposób graficzny, należy skorzystać z

A. przeglądarki internetowej
B. edytora CSS
C. programu typu WYSIWYG
D. programu MS Office Picture Manager
Korzystanie z przeglądarek internetowych do tworzenia stron internetowych jest fundamentalnie niepoprawne, ponieważ przeglądarki są narzędziami do wyświetlania stron, a nie ich tworzenia. Użytkownicy mogą jedynie przeglądać treści, które zostały już opracowane w innych aplikacjach i zamieszczone w Internecie. Również edytory CSS, choć ważne w procesie stylizowania stron, nie są wystarczające do graficznego tworzenia stron internetowych. Edytory te skupiają się jedynie na aspekcie wizualnym poprzez stylowanie elementów HTML, ale nie oferują możliwości łatwego i intuicyjnego projektowania układu strony, co jest kluczowe dla grafików i projektantów stron. Co więcej, program MS Office Picture Manager jest aplikacją do zarządzania i edytowania zdjęć, a nie do tworzenia stron internetowych. Użytkownicy mogą popełniać błąd, myśląc, że podobne programy mogą być używane do projektowania stron, jednak nie są one zaprojektowane do integracji z HTML, CSS czy JavaScript. Zrozumienie tych różnic jest kluczowe dla efektywnego tworzenia stron internetowych, które są nie tylko estetyczne, ale również funkcjonalne i zgodne z nowoczesnymi standardami.

Pytanie 40

Którą relację w projekcie bazy danych należy ustalić między tabelami widocznymi na ilustracji zakładając, że każdy klient sklepu internetowego dokona przynajmniej dwóch zamówień?

Ilustracja do pytania
A. 1:1
B. n:n
C. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
D. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
W tym zadaniu pułapka polega głównie na poprawnym zrozumieniu biznesowego sensu relacji. Opis mówi jasno, że mamy tabelę Klient i tabelę Zamówienie w sklepie internetowym oraz że każdy klient złoży co najmniej dwa zamówienia. To automatycznie sugeruje relację, w której pojedynczy klient jest powiązany z wieloma zamówieniami, ale każde konkretne zamówienie należy tylko do jednego klienta. Relacja 1:1 między Klientem a Zamówieniem byłaby sensowna wtedy, gdyby na jednego klienta przypadało dokładnie jedno zamówienie. W praktyce systemów sprzedażowych to bardzo rzadki przypadek i raczej zły model. Prowadziłby do sytuacji, że dla kolejnego zamówienia tego samego klienta trzeba by tworzyć nowy rekord klienta, czyli duplikować dane osobowe, adres, NIP itd. To łamie podstawowe zasady normalizacji (szczególnie pierwszą i trzecią postać normalną) i bardzo utrudnia późniejsze raportowanie. Relacja n:n sugeruje, że jedno zamówienie mogłoby należeć do wielu klientów, a jeden klient do wielu zamówień jednocześnie, przy czym do poprawnego odwzorowania takiej relacji trzeba by wprowadzić tabelę pośredniczącą, np. Klient_Zamówienie. W kontekście sklepu internetowego takie założenie jest nielogiczne: jedno zamówienie ma jednego właściciela, nie ma sensu aby ten sam koszyk zakupowy był przypisany do kilku różnych klientów. Relacja n:n jest typowa raczej dla powiązań typu Produkt–Zamówienie (wiele produktów w wielu zamówieniach), a nie Klient–Zamówienie. Z kolei relacja 1:n odwrócona, gdzie „1” jest po stronie Zamówienia, a „n” po stronie Klienta, oznaczałaby, że jedno zamówienie może być przypisane do wielu klientów. To dokładnie odwrócenie poprawnego modelu i w praktyce niewykonalne biznesowo – kto byłby płatnikiem, kto odbiorcą, jak liczyć historię zakupów? Taki projekt łamie też zasadę jednoznacznej odpowiedzialności rekordu: zamówienie powinno mieć jednego, jasno określonego właściciela. Typowym błędem myślowym przy takich pytaniach jest mylenie relacji Klient–Zamówienie z relacją Zamówienie–Produkt. Tam rzeczywiście często stosuje się n:n z tabelą pośrednią (pozycje zamówienia). Warto zawsze zatrzymać się i odpowiedzieć sobie na proste pytanie: czy ten obiekt może realnie „należeć” do więcej niż jednego innego obiektu? W przypadku zamówienia odpowiedź brzmi: nie, dlatego poprawnym podejściem jest właśnie relacja 1:n z jednym klientem i wieloma jego zamówieniami.