Wyniki egzaminu

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

Egzamin zdany!

Wynik: 21/40 punktów (52,5%)

Wymagane minimum: 20 punktów (50%)

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

Jakie dane zostaną wyświetlone po wykonaniu poniższych poleceń? bool gotowe=true; cout<<gotowe;

A. tak
B. nie
C. 0
D. 1
W wyniku wykonania przedstawionych instrukcji, zostanie wypisane "1". Wynika to z faktu, że zmienna typu bool w języku C++ jest reprezentowana jako liczba całkowita, gdzie wartość "true" jest interpretowana jako "1", a "false" jako "0". Kiedy wykonujemy instrukcję z użyciem cout, która jest standardowym strumieniem wyjściowym w C++, zmienna gotowe, która przechowuje wartość true, zostanie przekonwertowana na jej reprezentację liczbową, co skutkuje wypisaniem "1" na ekran. W praktyce, zrozumienie konwersji typów danych w C++ jest kluczowe dla programowania, zwłaszcza w kontekście obliczeń logicznych i kontroli przepływu programu. Standardy C++ określają zasady konwersji typów, co wpływa na optymalizację kodu oraz unikanie błędów w logice programowania, dlatego wiedza na ten temat jest niezbędna dla każdego programisty.

Pytanie 2

Jak przeglądarka zaprezentuje kod HTML formularza?

<form>
stanowisko: <input type="text"><br>
obowiązki:<br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>
sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>
pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">
testy oprogramowania<br>
</form>
Ilustracja do pytania
A. B
B. C
C. A
D. D
Zrozumienie jak działają atrybuty HTML takie jak disabled i checked jest kluczowe dla prawidłowego wyświetlania i funkcjonalności formularzy w przeglądarce. Niektóre z odpowiedzi zawierają błędne interpretacje tych atrybutów co prowadzi do niepoprawnego rozumienia jak formularz będzie prezentowany. Na przykład jeśli pole checkbox nie ma ustawionego atrybutu checked to domyślnie będzie niezaznaczone a użytkownik będzie mógł to zmienić. Dodanie atrybutu checked oznacza że pole będzie zaznaczone od razu po załadowaniu strony. Atrybut disabled uniemożliwia interakcję użytkownika z danym elementem co oznacza że użytkownik nie będzie mógł zmienić jego stanu. Częstym błędem jest założenie że wszystkie pola wyboru mogą być domyślnie edytowalne co nie jest prawdą w przypadku zastosowania atrybutu disabled. Również brak zrozumienia jak kolejność elementów i ich atrybutów wpływa na wizualne i funkcjonalne aspekty formularza może prowadzić do błędnych wniosków dotyczących ich zachowania. Warto pamiętać że prawidłowe zrozumienie tych zasad pozwala na tworzenie bardziej intuicyjnych i użytecznych aplikacji internetowych które spełniają oczekiwania użytkowników i standardy branżowe. Poprawna interpretacja kodu HTML jest więc niezbędna dla każdego profesjonalisty zajmującego się tworzeniem stron i aplikacji internetowych aby zapewnić bezbłędne działanie i łatwość obsługi formularzy przez końcowego użytkownika. Powinno się też zwracać uwagę na dostępność i użyteczność formularzy co jest kluczowym aspektem w procesie projektowania stron internetowych.

Pytanie 3

Który typ danych obsługiwany przez PHP jest przeznaczony do obsługi zmiennych typu logicznego?

A. Integer
B. String
C. Boolean
D. Float
Typy Float, Integer oraz String nie są odpowiednie do przechowywania informacji logicznych. Float reprezentuje liczby zmiennoprzecinkowe, co oznacza, że przechowuje dane numeryczne z częścią dziesiętną. Używanie typu float do logiki programistycznej może prowadzić do nieścisłości, ponieważ nie potrafi on właściwie reprezentować wartości logicznych, takich jak prawda czy fałsz. Z kolei Integer to typ całkowity, który również nie ma zastosowania w kontekście zmiennych logicznych. Przechowuje tylko liczby całkowite, a jego użycie w decyzjach logicznych może prowadzić do błędnych interpretacji, gdyż wartości całkowite nie są bezpośrednio związane z pojęciem prawdy i fałszu. String, będący typem reprezentującym dane tekstowe, również nie jest odpowiedni do tego celu. Choć można konwertować ciągi tekstowe na zmienne logiczne, takie jak poprzez interpretację 'true' jako prawdy i 'false' jako fałszu, nie jest to efektywne ani zalecane w praktyce ze względu na możliwość wystąpienia błędów. W programowaniu ważne jest, aby stosować odpowiednie typy danych, co zwiększa czytelność oraz jakość kodu, a także ułatwia jego utrzymanie. Prawidłowe stosowanie typów danych, w tym boolean, jest kluczowe dla tworzenia efektywnych i błędoodpornych aplikacji.

Pytanie 4

W przypadku podanego fragmentu kodu walidator HTML zgłosi błąd, ponieważ <img src="kwiat.jpg alt="kwiat">

A. brak obrazu kwiat.jpg
B. nie zamknięto cudzysłowu
C. użyto niewłaściwego znacznika do wyświetlenia obrazu
D. zastosowano nieznany atrybut alt
W przedstawionym kodzie HTML występuje błąd związany z niedomknięciem cudzysłowu dla atrybutu 'src'. Prawidłowa składnia powinna wyglądać następująco: <img src="kwiat.jpg" alt="kwiat">. Brak cudzysłowu po 'kwiat.jpg' uniemożliwia poprawne zinterpretowanie kodu przez przeglądarki, co skutkuje błędem walidacji. Zasady walidacji kodu HTML są zgodne z wytycznymi W3C, które zalecają, aby każdy atrybut był zamknięty cudzysłowem. Poprawność kodu nie tylko wpływa na jego działanie, ale również na dostępność strony oraz SEO. Użytkownicy, którzy poruszają się po stronach bez pełnej obsługi HTML, mogą napotkać problemy z wyświetlaniem obrazów. W praktyce, zawsze warto stosować dobregi praktyki kodowania, takie jak użycie linterów do sprawdzania poprawności kodu przed jego publikacją, aby uniknąć takich błędów.

Pytanie 5

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

A. PHP oraz MySQL
B. Apache, PHP i MySQL
C. Apache oraz PHP
D. IIS, PERL i MySQL
Wybór niewłaściwego środowiska dla Joomla! może prowadzić do nieprawidłowego działania całego systemu. W przypadku odpowiedzi zawierających IIS oraz PERL, istotne jest zrozumienie, że Joomla! nie jest zoptymalizowana do pracy z tymi technologiami. IIS to serwer WWW od Microsoftu, który jest mniej popularny w środowisku, w którym dominuje Joomla!. Wiele funkcji dostępnych w Joomla! może być utrudnionych lub wręcz niemożliwych do zrealizowania przy użyciu tego serwera, co skutkuje ograniczeniami w dostępnych wtyczkach i modułach. Z kolei PERL, jako język programowania, nie jest standardowo używany w kontekście Joomla!, co stanowi kolejną przeszkodę. Wybierając Apache i PHP, użytkownik korzysta z najczęściej używanych rozwiązań w ekosystemie PHP, co zapewnia szeroką bazę wsparcia oraz dokumentacji. Niezrozumienie, które technologie są wymagane do działania Joomla!, może prowadzić do błędnych decyzji, takich jak wybór nieodpowiedniego serwera, co z kolei wpływa na wydajność i bezpieczeństwo końcowego projektu. Kluczowe jest, aby przed rozpoczęciem pracy z systemem CMS, dokładnie zapoznać się z jego wymaganiami i dobrymi praktykami, co pomoże uniknąć podstawowych problemów oraz zapewni optymalny rozwój i zarządzanie witryną.

Pytanie 6

Które z zapytań SQL wybiera nazwiska z tabeli klient, które mają co najmniej jedną literę i zaczynają się od litery Z?

A. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%';
B. SELECT nazwisko FROM klient WHERE nazwisko='Z?';
C. SELECT nazwisko FROM klient WHERE nazwisko='Z_?';
D. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%';
Pierwsza odpowiedź, 'SELECT nazwisko FROM klient WHERE nazwisko='Z?';', nie działa, bo użycie znaku zapytania '?' w SQL to nie to samo co szukanie jednoliterowych wzorców. Znak '?' zazwyczaj używa się w kontekście parametrów w zapytaniach, a nie jako zamiennik dla jednego znaku. Więc to zapytanie nie zwróci żadnych nazwisk zaczynających się na 'Z'. W przypadku drugiej odpowiedzi, 'SELECT nazwisko FROM klient WHERE nazwisko='Z_?';', jest podobnie. Kombinacja 'Z_' sugeruje, że po 'Z' musi być jeden znak, ale dodanie znaku zapytania po znaku podkreślenia nie ma sensu w tym kontekście. Dlatego to zapytanie też nie przyniesie oczekiwanych rezultatów. Ostatnia odpowiedź, 'SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%';', mówi, że powinien być jeden dowolny znak po 'Z', co nie pasuje do wymagań pytania. To oznacza, że zwrócone będą tylko te nazwiska, które mają dokładnie jedną dodatkową literę, co też nie spełnia kryteriów pytania. Więc, podsumowując, żadna z tych odpowiedzi nie pasuje do tego, czego szukaliśmy.

Pytanie 7

Jaki zapis jest używany do definiowania klucza obcego w MySQL?

A. PRIMARY KEY(ID)
B. AUTO_INCREMENT(ID)
C. FOREIGN KEY(ID)
D. UNIQUE KEY(ID)
Odpowiedź FOREIGN KEY(ID) jest poprawna, ponieważ klucz obcy (foreign key) jest używany w bazach danych do ustanowienia i wymuszenia relacji pomiędzy dwiema tabelami. Klucz obcy w tabeli A wskazuje na klucz podstawowy (primary key) w tabeli B, co pozwala na utrzymanie integralności referencyjnej danych. Na przykład, jeżeli mamy tabelę 'Zamówienia', w której zapisujemy informacje o zamówieniach, i tabelę 'Klienci', w której mamy dane o klientach, możemy zastosować klucz obcy w tabeli 'Zamówienia', aby wskazywał na ID klienta w tabeli 'Klienci'. Dzięki temu, nie będzie możliwości dodania zamówienia dla nieistniejącego klienta, co zapewnia spójność i integralność bazy danych. Używanie kluczy obcych jest zgodne z najlepszymi praktykami projektowania baz danych, ponieważ pozwala na łatwiejsze zarządzanie danymi i ogranicza możliwość wystąpienia błędów. Warto również zauważyć, że klucze obce mogą być używane w kontekście kaskadowej aktualizacji lub usuwania, co dodatkowo ułatwia zarządzanie relacjami między tabelami.

Pytanie 8

Czynność, w której identyfikuje się i eliminuje błędy w kodzie źródłowym programów, to

A. kompilowanie
B. debugowanie
C. standaryzacja
D. normalizacja
Kompilowanie to proces przekształcania kodu źródłowego napisanego w języku programowania na kod maszynowy, który może być wykonany przez komputer. Nie zajmuje się bezpośrednio identyfikacją błędów logicznych czy runtime, lecz jedynie syntaktycznymi. Standaryzacja odnosi się do procesu tworzenia norm i wytycznych, które służą do ujednolicenia metodologii w inżynierii oprogramowania, co jest istotne dla zapewnienia interoperacyjności oraz ułatwienia współpracy zespołów, ale nie dotyczy usuwania błędów w kodzie. Normalizacja to termin, który często odnosi się do procesów mających na celu ujednolicenie dokumentacji, formatów danych lub procedur w organizacji, co ma na celu poprawę efektywności, ale ponownie nie odnosi się bezpośrednio do czynności związanej z usuwaniem błędów w kodzie źródłowym. Choć wszystkie te procesy są ważne w cyklu życia oprogramowania, to żaden z nich nie pełni funkcji, jaką ma debugowanie, dlatego odpowiedzi te są niepoprawne.

Pytanie 9

Jakie wartości zwróci funkcja wypisz2) napisana w języku JavaScript?

Ilustracja do pytania
A. 6
B. 3 4 6 8
C. 2 3 4 6
D. 3 4 6
W przypadku przedstawionego pytania istotne jest zrozumienie jak działa struktura iteracyjna oraz warunkowa w języku JavaScript. Funkcja wypisz operuje na zmiennej a która jest modyfikowana wewnątrz pętli. Pętla for wykonuje sześć iteracji przy czym każda z nich zwiększa wartość a o 1. Warto zauważyć że warunek if sprawdza podzielność zmiennej a przez 2 lub 3. Elementy takie jak 2 które mogą się wydawać poprawne nie spełniają warunku ponieważ są wynikiem pierwszego zwiększenia a nie pierwszej wartości która spełnia warunek if. Zrozumienie operacji modulo i jego zastosowania w tym kontekście jest kluczowe dla prawidłowej interpretacji działania funkcji. Często spotykanym błędem jest zakładanie że każda liczba naturalna w sekwencji iteracji zostanie wypisana co prowadzi do niepoprawnych wniosków. Analizowanie kodu linia po linii i rozumienie działania operacji logicznych oraz arytmetycznych jest podstawą dobrego programowania oraz przygotowania do rozwiązywania tego typu zadań egzaminacyjnych. Kluczowe jest także zrozumienie że w programowaniu operujemy na zmiennych i ich wartościach wynikających z określonych operacji a nie tylko na ich początkowych wartościach.

Pytanie 10

W języku PHP, dla zmiennych a = 5 oraz b = 3, jakie wyrażenie zwróci wartość zmiennoprzecinkową?

A. a + b
B. a * b
C. a / b
D. a && b
W języku PHP operacje na zmiennych numerycznych mogą prowadzić do różnych typów wyników w zależności od zastosowanego operatora. W przypadku zmiennych a = 5 i b = 3, jeśli wykonamy operację a / b, uzyskamy wynik 1.6666666666667, co jest wartością zmiennoprzecinkową. Operacja dzielenia w PHP zawsze zwraca wynik typu float, gdy jest wykonywana na liczbach całkowitych, o ile nie jest to dzielenie całkowite przez zero. Wartość ta można wykorzystać w różnych kontekstach, np. w obliczeniach finansowych, gdzie precyzyjne wartości dziesiętne są kluczowe. Warto również zauważyć, że PHP automatycznie konwertuje typy, co oznacza, że operacje na mieszanych typach (np. integer i float) również będą skutkować wynikiem o typie float. Przykładem może być sytuacja, w której wynik dzielenia jest dalej używany w operacjach matematycznych, co może znacząco wpłynąć na końcowy rezultat. Z punktu widzenia standardów PHP, operacje arytmetyczne są ściśle określone w dokumentacji i warto zaznajomić się z funkcjami związanymi z operacjami na liczbach, aby w pełni wykorzystać możliwości języka.

Pytanie 11

W języku HTML, aby nadać dokumentowi tytuł "Moja strona", który będzie wyświetlany na zakładce przeglądarki internetowej, należy posłużyć się zapisem

A. <meta title="Moja strona">
B. <meta name="title" content="Moja strona" />
C. <title>Moja strona</title>
D. <head>Moja strona</head>
Element <title> jest absolutnie podstawą, jeśli chodzi o definiowanie tytułu strony w HTML. Umieszcza się go zawsze wewnątrz sekcji <head>, a jego zawartość jest tym, co wyświetla się na karcie przeglądarki. Moim zdaniem to jedna z tych rzeczy, które – choć wydają się drobiazgiem – mają duży wpływ na użyteczność i pozycjonowanie strony. Jeśli budujesz własną stronę lub pracujesz przy większym projekcie, warto pamiętać, żeby tytuł był unikalny i możliwie krótki, bo to właśnie on pojawia się również w wynikach wyszukiwania Google. Organizacje takie jak W3C wyraźnie podkreślają, że <title> jest wymagany w każdym dokumencie HTML5. Często też spotykałem się z przypadkami, gdzie ktoś zapominał o tym tagu i potem dziwił się, że przeglądarka pokazuje „Untitled” albo po prostu adres URL na pasku zakładki. Z praktyki – zawsze warto od razu na początku pracy nad stroną ustawić sensowny tytuł, bo potem łatwo o tym zapomnieć. A jak już masz kilka kart z otwartymi projektami, czy klient patrzy na podgląd w wyszukiwarce – profesjonalnie przygotowany tytuł robi robotę. Pamiętaj też, że <title> nie jest miejscem na wrzucanie dodatkowego kodu HTML, tylko sam tekst. Prosta sprawa, a oszczędza potem sporo nerwów.

Pytanie 12

W PHP typ float oznacza

A. całkowity
B. zmiennoprzecinkowy
C. łańcuchowy
D. logiczny
Typ float w PHP to coś w rodzaju magicznego narzędzia do pracy z liczbami, które mają część dziesiętną. Tego typu liczby są niezbędne, kiedy musimy mieć na uwadze detale, na przykład w finansach czy matematyce. Weźmy taki przykład: przy obliczaniu cen w sklepie internetowym często spotykamy się z kwotami jak 19.99 zł. Dzięki PHP możemy wykonywać różne operacje matematyczne na tych liczbach, co daje nam dużą elastyczność w pracy z danymi liczbowymi. Jednak trzeba wiedzieć, że ze względu na to, jak komputery przechowują liczby zmiennoprzecinkowe, zdarzają się problemy z ich dokładnością. W sytuacjach, gdzie to precyzja jest kluczowa, jak w przypadku obliczeń finansowych, dobrze jest skorzystać z takich funkcji jak round(), żeby zaokrąglić wynik do odpowiedniej liczby miejsc po przecinku. Wiedza na temat typu float i jego zastosowania to absolutna podstawa w pracy z programowaniem, zwłaszcza przy tworzeniu aplikacji webowych.

Pytanie 13

Aby wyszukać w tabeli Pracownicy tylko te nazwiska, które kończą się na literę "i", można zastosować kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%"
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i"
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%"
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i"
Fajnie, że wybrałeś tę kwerendę SQL: 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. To jest naprawdę dobra robota, bo zastosowałeś operator LIKE w odpowiedni sposób. Wzorzec '%i' pozwala na wyszukiwanie nazwisk kończących się na literę 'i'. Ten symbol '%' to taki wildcard, który mówi SQL, żeby szukał czegokolwiek przed 'i', nawet niczego. To jest mega przydatne w codziennej pracy z bazami danych, bo często musimy wyciągać konkretne dane, żeby coś załatwić. Na przykład, jeśli chcemy stworzyć listę pracowników, którzy mają nazwiska kończące się na 'i', to ta kwerenda będzie strzałem w dziesiątkę. Pamiętaj, że dobrze jest testować swoje kwerendy na próbnych danych, żeby mieć pewność, że wyniki są takie, jakie chcemy.

Pytanie 14

Która z metod komentowania kodu nie jest używana w PHP?

A. # komentarz
B. // komentarz
C. <!-- komentarz -->
D. /* komentarz */
Odpowiedź <!-- komentarz --> jest prawidłowa, ponieważ w PHP nie używa się tego rodzaju komentarzy w kodzie źródłowym. W PHP komentarze są oznaczane przy pomocy dwóch głównych metod: // dla komentarzy jednoliniowych oraz /* ... */ dla komentarzy wieloliniowych. Komentarze są niezwykle istotnym elementem programowania, ponieważ pozwalają na dokumentację kodu, co ułatwia jego zrozumienie i konserwację. Chociaż <!-- ... --> jest składnią używaną w HTML do komentowania, w kontekście PHP nie jest ona rozpoznawana i nie będzie miała wpływu na kod. Używanie odpowiednich typów komentarzy w PHP jest zgodne z najlepszymi praktykami, ponieważ zapewnia czytelność kodu i ułatwia współpracę w zespole deweloperskim. Ważne jest również, aby unikać niepoprawnych praktyk, które mogą prowadzić do błędów w interpretacji kodu, szczególnie w projektach, gdzie HTML i PHP są łączone.

Pytanie 15

CAPTCHA to metoda zabezpieczeń stosowana na stronach WWW, która umożliwia

A. automatyczne wypełnienie formularza logowania danymi użytkownika
B. ominięcie procesu autoryzacji w aplikacji internetowej
C. przyspieszenie logowania do aplikacji internetowej
D. potwierdzenie, że informacje z formularza są przesyłane przez człowieka
Wybór odpowiedzi dotyczącej przyspieszenia procesu logowania do aplikacji internetowej jest błędny, ponieważ CAPTCHA nie ma na celu optymalizacji prędkości logowania, lecz zapewnienie bezpieczeństwa przez weryfikację tożsamości użytkownika. Wprowadzenie CAPTCHA może nawet wydłużyć czas logowania, ponieważ użytkownicy muszą rozwiązać dodatkowe zadanie przed uzyskaniem dostępu. Kolejną niepoprawną odpowiedzią jest stwierdzenie dotyczące pominięcia procesu uwierzytelniania do aplikacji internetowej. CAPTCHA nie eliminuje procesu uwierzytelniania, lecz jest jego uzupełnieniem, które ma na celu zwiększenie bezpieczeństwa aplikacji poprzez weryfikację, czy użytkownik jest człowiekiem. Uwierzytelnianie jest kluczowym krokiem w zapewnieniu, że dostęp do konta ma tylko uprawniony użytkownik. Ostatnia niepoprawna odpowiedź sugeruje automatyczne wypełnianie formularza logowania danymi użytkownika, co jest sprzeczne z założeniem CAPTCHA. Technika ta ma na celu zablokowanie automatycznych programów, a nie ich wspieranie. Automatyczne wypełnianie formularzy jest praktyką, która może być stosowana w innych kontekstach, ale w przypadku CAPTCHA chodzi o to, aby uniemożliwić botom przejęcie kontroli nad interakcjami użytkownika z aplikacją.

Pytanie 16

Kod

$liczba2 = &$liczba1;
wskazuje, że zmienna $liczba2 jest
A. iloczynem logicznym ze zmienną $liczba1
B. wskaźnikiem do $liczba1
C. negacją logiczną zmiennej $liczba1
D. referencją do $liczba1
Wskaźnik to pojęcie obecne w językach takich jak C/C++, ale w PHP wskaźniki nie są bezpośrednio używane. W PHP mówimy o referencjach, które działają na wyższym poziomie abstrakcji, pozwalając na współdzielenie wartości między zmiennymi bez użycia wskaźników. Twierdzenie, że zmienna \$liczba2 jest wskaźnikiem do \$liczba1, jest błędne, ponieważ PHP nie obsługuje wskaźników w klasycznym rozumieniu. Negacja logiczna oznaczałaby wykorzystanie operatora negacji (!) i zmienienie wartości logicznej zmiennej. W kontekście kodu PHP negacją byłoby użycie wyrażenia typu \"\$liczba2 = !\$liczba1\", co oznacza konwersję wartości na jej przeciwność logiczną. Wreszcie, iloczyn logiczny wymaga użycia operatora koniunkcji (&&) dla dwóch wartości logicznych i nie odnosi się do referencji. Iloczyn logiczny zwraca prawdę tylko wtedy, gdy oba operand są prawdziwe, co w opisie kodu nie ma zastosowania. Każda z tych błędnych interpretacji wynika z mylnego zrozumienia podstawowych mechanizmów języka PHP, które koncentrują się na referencjach jako sposobie efektywnego zarządzania pamięcią i współdzielenia danych.

Pytanie 17

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetli dane dla konkretnego zestawu informacji z tej tabeli, zawierający tylko te komputery, które mają co najmniej 8 GB pamięci RAM oraz procesor Intel, można wykorzystać zapytanie:

A. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec<8
B. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec>=8
C. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec<8
D. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8
Aby stworzyć kwerendę, która wyświetli wszystkie komputery w tabeli 'komputery', spełniające określone warunki, musimy użyć odpowiednich operatorów logicznych oraz porównań. W tym przypadku chcemy uzyskać sprzęt, którego procesor to 'Intel' oraz pamięć RAM wynosi co najmniej 8 GB. Kluczowym elementem jest tutaj użycie operatora 'AND', który zapewnia, że muszą być spełnione oba warunki jednocześnie. Kwerenda 'SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8;' w pełni odpowiada tym wymaganiom. Operator 'AND' jest istotny, ponieważ bez niego moglibyśmy otrzymać komputery z procesorem Intel, ale z pamięcią RAM mniejszą niż 8 GB, co jest sprzeczne z naszym celem. Tego rodzaju zapytania są powszechne w analizie danych i często wykorzystywane w raportowaniu i wizualizacji danych. Odpowiednia struktura kwerendy zapewnia, że wyniki będą precyzyjne i zgodne z oczekiwaniami użytkowników, co jest kluczowe w zarządzaniu bazami danych oraz w tworzeniu systemów informacyjnych dla sklepów komputerowych.

Pytanie 18

Aby w PHP uzyskać dostęp do danych formularza przesyłanych w sposób bezpieczny, należy użyć tablicy

A. $_POST
B. $_FILES
C. $_SERVER
D. $_SESSION
W języku PHP tablica $_POST jest kluczowym narzędziem do obsługi danych przesyłanych za pomocą metody POST, która jest jedną z najczęściej stosowanych metod przesyłania formularzy w aplikacjach webowych. Odpowiedź ta jest prawidłowa, ponieważ $_POST umożliwia dostęp do danych wprowadzonych przez użytkownika w formularzu, które są wysyłane na serwer. Metoda POST jest bezpieczniejsza od metody GET, ponieważ nie ujawnia danych w URL, co jest istotne w kontekście prywatności i bezpieczeństwa. Przykłady zastosowania obejmują formularze logowania, gdzie dane użytkownika, takie jak hasło, są przesyłane do serwera. Stosując $_POST, programista może w łatwy sposób przetwarzać te dane, walidować je, a następnie zapisać w bazie danych lub wykonać inne operacje. W dobrych praktykach programistycznych zaleca się również stosowanie odpowiednich zabezpieczeń, takich jak filtrowanie i walidacja danych, aby uniknąć ataków typu SQL Injection czy XSS. Użycie $_POST jest kluczowe w tworzeniu nowoczesnych i bezpiecznych aplikacji internetowych.

Pytanie 19

Spośród wymienionych formatów, który charakteryzuje się najszerszą rozpiętością tonalną?

A. PNG
B. BMP
C. JPEG
D. RAW
Odpowiedzi, które nie są poprawne, można analizować w kontekście ich technicznych ograniczeń. Format PNG, mimo że obsługuje przezroczystość i jest bezstratnym formatem, ma ograniczoną rozpiętość tonalną, co oznacza, że nie przechowuje tak dużej ilości informacji tonalnych jak RAW. Ponadto, jego główną funkcją jest przechowywanie obrazów z dużą ilością detali w mniej skomplikowanych kolorach, co czyni go mniej odpowiednim do profesjonalnej obróbki zdjęć w trudnych warunkach oświetleniowych. Format BMP, choć prosty i łatwy w użyciu, również nie wspiera zaawansowanej obróbki kolorów, a jego duża objętość plików powoduje, że nie jest praktyczny dla profesjonalnych zastosowań. BMP nie korzysta z kompresji, co sprawia, że pliki są znacznie większe niż w przypadku innych formatów, ale nie oferuje dodatkowych korzyści w zakresie tonalności. JPEG, pomimo szerokiego zastosowania w fotografii i sieci, jest formatem stratnym, co oznacza, że podczas kompresji traci część danych, a tym samym rozpiętość tonalna jest ograniczona. JPEG jest bardziej odpowiedni do codziennego użytku ze względu na mniejszy rozmiar plików, ale nie daje takiej elastyczności w edycji jak RAW, co czyni go niewłaściwym wyborem dla profesjonalnych fotografów poszukujących najwyższej jakości obrazu.

Pytanie 20

Który z poniższych formatów plików graficznych wspiera przejrzystość?

A. BMP
B. JPG
C. PNG
D. NEF
Format PNG (Portable Network Graphics) jest jednym z najpopularniejszych formatów plików graficznych obsługujących przezroczystość. Jego główną zaletą jest możliwość zachowania kanału alfa, który umożliwia tworzenie obrazów z przezroczystymi elementami. PNG wykorzystuje bezstratną kompresję, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas zapisywania i otwierania pliku. Format ten jest szczególnie ceniony w aplikacjach internetowych, ponieważ pozwala na uzyskanie estetycznych efektów, takich jak cienie, przezroczystość i delikatne przejścia kolorów. Warto również zauważyć, że PNG obsługuje głębię kolorów do 48 bitów, co umożliwia uzyskanie bogatych i szczegółowych obrazów. Standard PNG został opracowany w 1996 roku jako alternatywa dla formatu GIF, który był ograniczony do 256 kolorów oraz nie obsługiwał przezroczystości w sposób, który byłby zadowalający dla projektantów. Dzięki swoim właściwościom, PNG jest szeroko stosowany w grafice komputerowej, w tym w tworzeniu logo, ikon oraz w elementach interfejsów użytkownika, a także w fotografii cyfrowej, gdzie zachowanie jakości jest kluczowe.

Pytanie 21

Czy automatyczna weryfikacja właściciela witryny korzystającej z protokołu HTTPS jest możliwa dzięki

A. prywatnym kluczom
B. danym kontaktowym zamieszczonym na stronie
C. informacjom whois
D. certyfikatowi SSL
Certyfikat SSL (Secure Sockets Layer) jest kluczowym elementem w automatycznej weryfikacji właściciela strony internetowej, który jest udostępniany przez protokół HTTPS. Głównym zadaniem certyfikatu SSL jest zapewnienie, że komunikacja między przeglądarką a serwerem jest zaszyfrowana oraz że tożsamość serwera została potwierdzona przez zaufaną stronę trzecią, czyli urząd certyfikacji (CA - Certificate Authority). Certyfikaty SSL są wydawane po przeprowadzeniu odpowiednich weryfikacji tożsamości wnioskodawcy, co może obejmować sprawdzenie danych WHOIS, ale również inne procesy weryfikacyjne, takie jak potwierdzenie adresu e-mail lub dokumentów właściciela firmy. Przykładowo, witryny e-commerce korzystają z certyfikatów SSL, aby zapewnić bezpieczeństwo transakcji finansowych, co zwiększa zaufanie użytkowników do sklepu. Na poziomie technicznym, certyfikat SSL implementuje protokoły kryptograficzne, takie jak TLS (Transport Layer Security), co nie tylko zabezpiecza transmisję danych, ale także umożliwia autoryzację strony. W praktyce, posiadanie certyfikatu SSL wpływa również na pozycjonowanie w wyszukiwarkach, ponieważ Google promuje strony z bezpiecznym połączeniem HTTPS.

Pytanie 22

Podczas realizacji grafiki na stronę internetową konieczne jest wycięcie jedynie jej części. Jak nazywa się ta czynność?

A. łącznie warstw
B. kadrowanie
C. odwrócenie obrazu
D. zmiana rozmiaru
Łączenie warstw, skalowanie oraz odbicie obrazu to procesy, które nie odnoszą się do przycinania fragmentów grafiki. Łączenie warstw to technika stosowana w programach graficznych, która pozwala na łączenie różnych elementów wizualnych w jeden spójny obraz. Choć jest to niezbędne w wielu projektach graficznych, nie ma związku z wycinaniem fragmentów obrazu, a raczej z organizowaniem i zarządzaniem różnymi warstwami pracy. Skalowanie natomiast polega na zmienianiu rozmiaru obrazu, co może prowadzić do utraty jakości, jeśli nie jest przeprowadzone zgodnie z zasadami zachowania proporcji. To również nie jest tożsame z kadrowaniem, które koncentruje się na wybieraniu konkretnego fragmentu z większego obrazu. Odbicie obrazu to technika, która polega na tworzeniu lustrzanego odbicia danego elementu, co nie ma zastosowania w kontekście wycinania czy dostosowywania fragmentów do wytycznych projektu. Takie błędne interpretacje wynikają często z mylnego utożsamiania różnych technik obróbki graficznej. Kluczowe jest zrozumienie, że każda z tych technik ma swoje unikalne zastosowania i cele, a ich błędne zestawianie może prowadzić do nieefektywnej pracy z grafiką, co jest sprzeczne z najlepszymi praktykami w branży designu internetowego.

Pytanie 23

Jaką wartość w formacie heksadecymalnym będzie miała barwa określona kodem rgb(255, 10, 22)?

A. #FF1016
B. #2551022
C. #FF0A16
D. #251022
Wybór błędnych odpowiedzi wynika najczęściej z niezrozumienia zasad konwersji kolorów z formatu RGB do formatu heksadecymalnego. Odpowiedzi takie jak #2551022 czy #251022 sugerują, że użytkownik nie zrozumiał, jak działa system szesnastkowy, w którym każda para cyfr reprezentuje jeden z trzech kanałów koloru. Na przykład, w odpowiedzi #2551022 widzimy zbyt wiele cyfr, co jest niezgodne z formatem heksadecymalnym, który wymaga dokładnie sześciu znaków. Dodatkowo, odpowiedzi te mogą prowadzić do błędnych wyników w projektach graficznych i programistycznych, gdzie precyzyjne określenie kolorów jest kluczowe. W przypadku #FF1016, choć niektóre cyfry są poprawne, znowu pojawia się problem z wartościami kanału zielonego, gdzie odpowiednia wartość powinna być 0A, a nie 10. Przykłady te pokazują, jak ważne jest zrozumienie, że kanały kolorów w RGB są reprezentowane w skali szesnastkowej jako dwucyfrowe liczby szesnastkowe, a ich nadmiar lub zmiana kolejności może prowadzić do nieprawidłowych kolorów. Dobra praktyka w projektowaniu to upewnienie się, że konwersje są wykonywane poprawnie, aby uniknąć niepożądanych wyników.

Pytanie 24

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. SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;
B. COUNT MAX SELECT 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 25

Jakie kodowanie w języku HTML pozwala na sformatowanie paragrafu dla tekstu

 Tekst może być zaznaczony albo istotny dla autora

należy użyć polecenia?
A. <p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
B. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
C. <p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
D. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
Wybrana odpowiedź jest poprawna, ponieważ stosuje prawidłowe znaczniki HTML do formatowania tekstu. Użycie <mark> dla słowa 'zaznaczony' wskazuje, że jest to istotna informacja, podczas gdy <em> dla słowa 'istotny' podkreśla jego znaczenie w kontekście treści. Zgodnie z W3C i HTML5, <mark> jest używany do oznaczania części tekstu, która jest wyróżniona w kontekście przeszukiwanym lub istotnym. Oznaczenie tekstu jako <em> nie tylko wskazuje na akcent, ale również ma znaczenie semantyczne, ponieważ może wpłynąć na sposób, w jaki czytniki ekranu interpretują treść, co jest kluczowe dla dostępności. Przykładem zastosowania może być strona internetowa, na której chcemy wyróżnić ważne informacje lub kluczowe definicje, co zwiększa czytelność i funkcjonalność przekazu. Poprawne użycie znaczników HTML jest zgodne z dobrymi praktykami tworzenia stron internetowych, co sprzyja lepszej nawigacji i zrozumieniu tekstu przez użytkowników.

Pytanie 26

Jak określa się część strukturalnego języka zapytań, która dotyczy tworzenia zapytań do bazy danych za pomocą polecenia SELECT?

A. SQL DQL (ang. Data Query Language)
B. SQL DML (ang. Data Manipulation Language)
C. SQL DDL (ang. Data Definition Language)
D. SQL DCL (ang. Data Control Language)
SQL DQL, czyli Data Query Language, to podzbiór SQL, który koncentruje się na formułowaniu zapytań do baz danych, w szczególności za pomocą polecenia SELECT. DQL umożliwia użytkownikom wydobywanie danych z bazy w sposób, który jest zarówno elastyczny, jak i wydajny. Przykładem zastosowania DQL jest zapytanie, które pozwala na wyciągnięcie informacji o klientach z tabeli 'Klienci', gdzie warunki mogą być określone przez klauzule WHERE, ORDER BY lub GROUP BY. Dzięki DQL, można również stosować różne funkcje agregujące, takie jak COUNT, SUM, AVG, co pozwala na analizę danych na bardziej zaawansowanym poziomie. W praktyce, umiejętność posługiwania się DQL jest kluczowa dla analityków danych oraz programistów, którzy pracują z bazami danych, ponieważ umożliwia efektywne zarządzanie i raportowanie wyników. Poznanie DQL jest niezbędne dla każdego, kto zamierza skutecznie korzystać z systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Oracle.

Pytanie 27

W języku C++ funkcja, która zwraca rezultat potęgowania i operuje na dwóch argumentach: liczbie x oraz wykładniku w, powinna mieć taką deklarację

A. int potega(int x);
B. int potega(int x, int w);
C. void potega(int x, int w, int wynik);
D. void potega(int x, int w);
Zgadzasz się, że 'int potega(int x, int w);' to trafna odpowiedź. Funkcja do potęgowania faktycznie potrzebuje dwóch rzeczy: podstawy x i wykładnika w, a na końcu powinna zwrócić liczbę całkowitą, która jest wynikiem potęgowania. Jakby to wyglądało w praktyce? Można by to napisać jako 'int potega(int x, int w) { return pow(x, w); }'. Przy czym 'pow' pochodzi z biblioteki cmath i robi te wszystkie magiczne obliczenia. Ważne jest, by przy projektowaniu funkcji myśleć o ich użyteczności, czyli żeby miały jasno określone wejście i wyjście. A jak już mówimy o potęgowaniu, to musimy też pamiętać o specjalnych przypadkach, jak potęgowanie zera do zera, które w matematyce jest równe 1. Dlatego dobrze zrobiona funkcja powinna to uwzględniać. W programowaniu kluczowe jest, by obliczenia były efektywne i poprawne, zwłaszcza w naukowych i inżynieryjnych projektach, gdzie precyzja jest bardzo istotna.

Pytanie 28

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

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

Który format graficzny rastrowy jest obsługiwany przez przeglądarki internetowe?

A. PNG
B. FLIF
C. PCX
D. TGA
Format PNG (Portable Network Graphics) to jeden z tych formatów, które są naprawdę popularne w sieci. Przeglądarki go dobrze obsługują, co jest dużym plusem. Został stworzony jako lepsza wersja formatu GIF i do tego ma większą paletę kolorów oraz wspiera przezroczystość. To oznacza, że jakość obrazka pozostaje wysoka, kiedy go zapisujesz, bo PNG korzysta z bezstratnej kompresji. Dodatkowo, ten format pozwala na różne stopnie przezroczystości, co czyni go idealnym do różnych grafik w Internecie, na przykład logo czy ikony. Fajnie, że jest zgodny z HTML5 i CSS, bo to ułatwia pracę przy projektowaniu stron. Można go używać z kolorami w trybie RGBA, dzięki czemu można dodawać fajne efekty z przezroczystością, co zdecydowanie poprawia wygląd stron. W praktyce wiele witryn korzysta z PNG, bo nie tylko zachowuje jakość, ale też nie zajmuje dużo miejsca na serwerze, co sprawia, że strony ładują się szybciej i użytkownicy mają lepsze doświadczenia.

Pytanie 30

Jak brzmi nazwa edytora, który wspiera proces tworzenia stron internetowych i którego działanie można określić w polskim tłumaczeniu słowami: widzisz to, co otrzymujesz?

A. WYSIWYG
B. VISUAL EDITOR
C. WEB STUDIO
D. IDE
IDE, czyli Integrated Development Environment, to zintegrowane środowisko programistyczne, które oferuje narzędzia dla programistów do pisania, testowania i debugowania kodu. IDE zazwyczaj skupia się na językach programowania i wymaga od użytkownika znajomości takich języków jak C++, Java czy Python, co znacznie różni się od podejścia WYSIWYG, które ma na celu umożliwienie edycji treści bez potrzeby pisania kodu. Wybór IDE zamiast edytora WYSIWYG może prowadzić do błędnych wniosków dotyczących procesu tworzenia stron internetowych, ponieważ programiści i twórcy treści mają różne potrzeby i umiejętności. WEB STUDIO to termin, który zazwyczaj odnosi się do kompleksowych narzędzi do tworzenia stron internetowych, ale niekoniecznie oznacza edytor WYSIWYG. Niektóre z tych narzędzi mogą wymagać znajomości kodu, co również nie pasuje do koncepcji WYSIWYG. VISUAL EDITOR to termin ogólny, który może odnosić się do różnych typów edytorów, ale nie jest ściśle związany z ideą WYSIWYG. Pominięcie tego aspektu może prowadzić do mylnych wyobrażeń o możliwościach i funkcjonalności tych narzędzi. Dlatego ważne jest, aby zrozumieć różnice między tymi pojęciami i znać ich zastosowanie w praktyce. W przeciwnym razie można łatwo wpaść w pułapkę myślenia, że wszystkie narzędzia do tworzenia treści są sobie równe, co jest dalekie od prawdy.

Pytanie 31

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

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

Pytanie 32

Z przedstawionych tabel Artykuly i Autorzy należy wybrać jedynie nazwiska autorów i tytuły ich artykułów, które zostały ocenione na 5. Kwerenda wybierająca te dane ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
B. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
D. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
Gratulacje! Wybrałeś poprawne zapytanie SQL, które dokładnie odpowiada na postawione pytanie. Zapytanie 'SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;' jest prawidłowe, bo łączy dwie tabele 'autorzy' i 'artykuly' za pomocą klucza obcego 'autorzy_id' w tabeli 'artykuly'. Dzięki temu uzyskujemy dostęp do nazwisk autorów i tytułów artykułów. Dodatkowo, część 'WHERE ocena = 5' filtruje wyniki tak, aby wyświetlane były tylko te rekordy, gdzie ocena wynosi 5. To jest kluczowy element, który pozwala nam skupić się tylko na tych danych, które są istotne dla pytania. W praktyce, tego typu zapytania pomagają nam w analizie wydajności autorów i jakości artykułów, co jest niezwykle ważne w branży wydawniczej.

Pytanie 33

Aby utworzyć relację wiele do wielu między tabelami A i B, wystarczy, że

A. zostanie zdefiniowana trzecia tabela z kluczami obcymi do tabel A i B
B. połączenie tabeli A z tabelą B nastąpi poprzez określenie kluczy obcych
C. tabela A będzie miała identyczne pola jak tabela B
D. wiele wpisów z tabeli A powtórzy się w tabeli B
Odpowiedź, że należy zdefiniować trzecią tabelę z kluczami obcymi do tabel A i B, jest poprawna, ponieważ relacja wiele do wielu wymaga pośrednictwa trzeciej tabeli, często nazywanej tabelą asocjacyjną lub łączącą. W praktyce oznacza to, że każdy rekord w tabeli A może być powiązany z wieloma rekordami w tabeli B i vice versa. Tabela asocjacyjna zawiera co najmniej dwa pola kluczy obcych: jedno wskazujące na odpowiedni rekord w tabeli A i drugie na odpowiadający mu rekord w tabeli B. Na przykład, w systemie zarządzania kursami, tabela 'Studenci' i tabela 'Kursy' mogą być połączone poprzez tabelę 'Rejestracje', która przechowuje identyfikatory studentów i kursów, umożliwiając przypisanie wielu studentów do wielu kursów. To podejście jest zgodne z zasadami normalizacji baz danych, które mają na celu minimalizację redundancji i zapewnienie spójności danych. Dobrą praktyką jest również zapewnienie, że klucze obce w tabeli asocjacyjnej są odpowiednio indeksowane, co poprawia wydajność zapytań oraz umożliwia łatwe zarządzanie relacjami.

Pytanie 34

$n = '[email protected]'; $dl = strlen($n); $i = 0; while ($i < $dl && $n[$i] != '@') {     echo $n[$i];     $i++; } Fragment kodu w języku PHP wyświetli

A. tylko nazwę domeny, czyli 'host.pl'
B. nazwę konta z znakiem @, czyli 'adres@'
C. wyłącznie nazwę konta, czyli 'adres'
D. cały adres e-mail, czyli '[email protected]'
Analizując niepoprawne odpowiedzi, warto zwrócić uwagę na kilka kluczowych aspektów. W przypadku odpowiedzi, która wskazuje na wypisanie nazwy konta ze znakiem '@', należy zauważyć, że kod w rzeczywistości nie wlicza znaku '@' do wypisywanej wartości. Działanie pętli opiera się na warunku przerywającym, który kończy iterację przed napotkaniem '@', co oznacza, że nie może on znaleźć się w rezultacie. Z kolei wskazanie, że kod wypisze cały adres e-mail jest błędne, ponieważ pętla jest zaprojektowana tak, aby zakończyć działanie przed osiągnięciem znaku '@', więc taki wynik nie jest możliwy. Ostatnia niepoprawna odpowiedź, sugerująca, że kod wypisze samą nazwę domeny, jest również myląca. W kodzie nie ma logiki, która pozwalałaby na wyodrębnienie części po znaku '@'; zamiast tego pętla przerywa działanie, gdy osiągnie ten znak. Jest to kluczowe, aby zrozumieć, że kod nie ma mechanizmu do analizy lub rozdzielania adresu e-mail po znaku '@'. Wszystkie te odpowiedzi pokazują niezrozumienie, jak działają operacje na ciągach w PHP oraz logikę pętli, która w kontekście tego fragmentu kodu jest fundamentalna dla uzyskania prawidłowego wyniku.

Pytanie 35

Który z atrybutów obrazu jest niezbędny w znaczniku

<img src="nowa_lektura.jpg" ...>
aby ułatwić korzystanie ze strony użytkownikom z niepełnosprawnością narządu wzroku?
A. align="middle"
B. "height="42" width="42"
C. alt="technik informatyk"
D. usemap="#lekturamap"
W tym zadaniu chodziło o dostępność stron WWW dla osób z niepełnosprawnością narządu wzroku, czyli o to, jak strona współpracuje z czytnikami ekranu i innymi technologiami asystującymi. Wiele osób intuicyjnie skupia się na wizualnych właściwościach obrazka, takich jak wyrównanie, rozmiar czy mapy odsyłaczy, bo to widać od razu w przeglądarce. Problem w tym, że dla użytkownika niewidomego te wizualne parametry nie mają większego znaczenia – dla niego liczy się opis i funkcja elementu, którą czytnik ekranu potrafi odczytać. Atrybut align="middle" dotyczy tylko sposobu wyrównania obrazu na stronie. Kiedyś był częściej używany w starym HTML, dziś jest w zasadzie przestarzały i zgodnie z dobrymi praktykami powinno się go zastępować stylami CSS. Nie wnosi on żadnej informacji semantycznej, niczego nie opisuje, jedynie zmienia położenie elementu na ekranie. Czytnik ekranu nie zyska z niego żadnej treści, którą mógłby przekazać użytkownikowi. Atrybut usemap="..." służy do powiązania obrazu z tzw. mapą odsyłaczy, czyli zdefiniowanymi obszarami klikanymi na grafice. To jest technicznie ciekawa funkcja, ale znowu – ona nie opisuje, co jest na obrazku ani jaką ten obraz pełni rolę. Bez poprawnego tekstu alternatywnego taka mapa może być wręcz trudniejsza do obsługi dla osoby korzystającej z klawiatury i czytnika, bo ma wiele aktywnych pól, ale brak kontekstu. Rozmiar obrazu, ustawiany przez height="..." i width="...", wpływa tylko na sposób wyświetlania w przeglądarce: ile pikseli ma mieć szerokość i wysokość. Z mojego doświadczenia wielu uczniów myśli, że skoro obraz będzie większy lub mniejszy, to może będzie „czytelniejszy”, a więc jakby bardziej dostępny. Dla osoby, która nie widzi, nie ma to żadnego znaczenia – czytnik ekranu nie odczytuje rozmiarów obrazu jako opisu. Takie myślenie jest typowym błędem: mylimy komfort wizualny użytkownika widzącego z dostępnością dla użytkownika niewidomego. Kluczowe w dostępności jest dostarczenie równoważnej informacji w formie tekstu, a nie tylko ładne ustawienie grafiki. W standardach WCAG i zaleceniach W3C jednoznacznie podkreśla się, że każdy istotny obraz powinien mieć odpowiedni atrybut alt. Pozostałe atrybuty, choć czasem przydatne w projektowaniu layoutu lub nawigacji graficznej, nie zastąpią tekstu alternatywnego. Dlatego, kiedy myślisz o użytkownikach z niepełnosprawnością wzroku, najpierw zadbaj o sensowny alt, a dopiero potem o wyrównanie, rozmiar czy bardziej zaawansowane funkcje grafiki.

Pytanie 36

W języku CSS zdefiniowano następujące formatowanie:

 h1 i {color: red;}
Kolorem czerwonym zostanie zapisany
A. tylko tekst pochylony nagłówka pierwszego stopnia.
B. cały tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu.
C. tylko tekst pochylony we wszystkich poziomach nagłówków.
D. cały tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, niezależnie od tego, w którym miejscu strony się znajduje.
Pozostałe odpowiedzi zawierają nieprawidłowe założenia co do tego, jak działają selektory w CSS. Odpowiedź sugerująca, że czerwonym kolorem zostanie zapisany tylko tekst pochylony we wszystkich poziomach nagłówków, nie jest prawidłowa, ponieważ kod CSS h1 i {color: red;} wyraźnie określa, że reguła dotyczy tylko tekstu pochylonego (<i>) wewnątrz nagłówka pierwszego stopnia (<h1>). Podobnie, odpowiedź mówiąca, że cały tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, niezależnie od tego w którym miejscu strony się znajduje, będzie czerwony, jest niepoprawna. Ta reguła CSS nie wpływa na cały tekst nagłówka pierwszego stopnia, ani na pochylony tekst w innych miejscach dokumentu. Wreszcie, odpowiedź sugerująca, że cały tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu będą czerwone, jest również nieprawidłowa, ponieważ jak wcześniej wspomniano, reguła dotyczy tylko tekstu pochylonego umieszczonego bezpośrednio w nagłówku pierwszego stopnia. Rozróżnienie między różnymi rodzajami selektorów i zrozumienie, jak są interpretowane przez przeglądarkę, to kluczowe umiejętności w codziennym kodowaniu CSS.

Pytanie 37

Której kwerendy SQL należy użyć, aby utworzyć tabelę samochod z atrybutami marka, model, cena, gdzie marka i model są typu tekstowego, natomiast cena jest liczbą rzeczywistą typu stałoprzecinkowego?

A. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena FLOAT);
B. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena DOUBLE);
C. CREATE TABLE samochod (marka INT(30), model INT(30), cena DECIMAL(2,15));
D. CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));
W niepoprawnych propozycjach odpowiedzi widać kilka typowych nieporozumień związanych z SQL-em i typami danych. Po pierwsze, składnia CREATE TABLE nie używa słowa VALUES do definiowania struktury tabeli. VALUES pojawia się przy wstawianiu danych (INSERT INTO ... VALUES ...), a nie przy tworzeniu tabeli. Jeśli po nazwie tabeli pojawia się VALUES, to jest to od razu czerwone światełko, że ktoś pomieszał tworzenie struktury z wstawianiem rekordów. Z mojego doświadczenia to bardzo częsty błąd u osób, które dopiero zaczynają i próbują intuicyjnie łączyć znane słowa kluczowe. Druga sprawa to dobór typów danych. W zadaniu wyraźnie jest mowa o atrybutach tekstowych dla marka i model. Zastosowanie INT(30) oznacza typ liczbowy całkowity, a nie tekstowy. Nawet jeśli ktoś myśli, że w nawiasie wpisuje się „ilość znaków”, to w przypadku INT(30) tak to nie działa – ten nawias w MySQL ma inne znaczenie (szerokość wyświetlania), a w nowoczesnych wersjach i tak jest ignorowany. Marka samochodu typu „Audi” czy „Toyota” po prostu nie zmieści się w typie liczbowym, bo to nie jest reprezentacja tekstowa. Trzeci istotny błąd dotyczy kolumny cena. Zadanie wymaga liczby rzeczywistej typu stałoprzecinkowego. Typy FLOAT czy DOUBLE są typami zmiennoprzecinkowymi binarnymi, które przechowują przybliżone wartości i mogą wprowadzać drobne błędy zaokrągleń. To jest nieakceptowalne przy pieniądzach, bo kwoty muszą się dokładnie zgadzać co do grosza. Dlatego stosuje się DECIMAL lub NUMERIC, gdzie jawnie podajemy precyzję i skalę, np. DECIMAL(15,2). Odwrócenie tych wartości, jak w DECIMAL(2,15), jest bez sensu w kontekście cen – oznaczałoby maksymalnie dwie cyfry łącznie i piętnaście po przecinku, co w praktyce nie ma zastosowania. Takie konstrukcje biorą się zwykle z mechanicznego wpisywania liczb bez zrozumienia, co oznacza precyzja i skala. Dobra praktyka w branży jest taka, że dla kwot pieniężnych używa się DECIMAL z 2 miejscami po przecinku, ewentualnie 3–4 w specyficznych zastosowaniach, a tekst przechowuje się w typach znakowych, nie liczbowych. Rozumienie tych zasad bardzo ułatwia późniejsze projektowanie sensownych schematów baz danych.

Pytanie 38

Funkcją w PHP, która służy do tworzenia ciasteczek, jest

A. setcookie()
B. echocokie()
C. createcookie()
D. addcokie()
Funkcja setcookie() w języku PHP jest kluczowym narzędziem do zarządzania ciasteczkami (cookies) na poziomie serwera. Umożliwia ona tworzenie i konfigurowanie ciasteczek, które następnie są przesyłane do przeglądarki użytkownika. Ciasteczka są używane do przechowywania informacji o sesji, preferencjach użytkownika oraz danych śledzących. Funkcja setcookie() przyjmuje kilka argumentów, w tym nazwę ciasteczka, jego wartość, czas wygaśnięcia (w postaci znacznika czasowego), ścieżkę, domenę oraz flagi bezpieczeństwa. Przykładowe użycie funkcji może wyglądać następująco: setcookie('user', 'John Doe', time() + 86400, '/'); co tworzy ciasteczko o nazwie 'user', z wartością 'John Doe', które wygasa po jednym dniu. Ważne jest, aby zwrócić uwagę, że funkcja ta musi być wywoływana przed jakimkolwiek wysyłaniem nagłówków HTTP, co oznacza, że należy ją umieścić na początku skryptu PHP. Również, aby znacząco poprawić bezpieczeństwo, warto korzystać z flagi HttpOnly, aby zminimalizować ryzyko ataków XSS. Zastosowanie setcookie() w odpowiedni sposób przyczynia się do poprawy doświadczeń użytkowników oraz zwiększa funkcjonalność aplikacji internetowych.

Pytanie 39

Wskaż NIEPRAWIDŁOWE stwierdzenie dotyczące normalizacji dźwięku

A. Normalizacja polega na obniżeniu poziomu najgłośniejszej próbki w sygnale do ustalonej wartości, a następnie proporcjonalnym zwiększeniu głośności pozostałych części sygnału
B. Opcja normalizacja znajduje się w menu programu do edycji dźwięku
C. Jeśli najgłośniejszy element dźwięku osiąga połowę skali, wszystko zostanie zwiększone razy dwa - tak, aby najgłośniejszy element dotarł do maksimum na skali
D. W wyniku normalizacji następuje wyrównanie poziomu głośności całego nagrania
Pojęcia związane z normalizacją sygnału dźwiękowego mogą być mylnie interpretowane, co często prowadzi do nieprawidłowych wniosków. Na przykład, stwierdzenie, że normalizacja polega na zmniejszeniu poziomu najgłośniejszej próbki, jest mylące. Normalizacja w rzeczywistości nie zmienia relacji pomiędzy poszczególnymi próbami sygnału, lecz dostosowuje głośność całego nagrania względem najgłośniejszego fragmentu. Kolejnym błędnym podejściem jest myślenie, że proces normalizacji wyrównuje poziom głośności całego nagrania, co może sugerować, że dźwięki cichsze stają się głośniejsze, co nie jest w pełni poprawne. Normalizacja dostosowuje głośność do określonego poziomu, ale nie zmienia dynamiki nagrania. W praktyce, jeżeli najgłośniejszy fragment osiąga wartość połowy skali, sugerowanie, że wszystko zostanie pogłośnione razy dwa, jest uproszczeniem i nie oddaje rzeczywistego charakteru normalizacji, która operuje na zasadzie maksymalizacji głównego sygnału bez zmiany jego struktury. Warto pamiętać, że celem normalizacji jest osiągnięcie konsystencji w poziomie głośności, a nie manipulowanie poszczególnymi elementami nagrania w sposób, który zaburzyłby jego naturalny charakter. W rzeczywistych aplikacjach, takich jak produkcja muzyczna czy edycja audio, zrozumienie tych różnic jest kluczowe dla uzyskania profesjonalnych rezultatów.

Pytanie 40

Aby przyspieszyć operacje na bazie danych należy dla pól często wyszukiwanych lub sortowanych

A. utworzyć indeks.
B. utworzyć osobną tabelę przechowującą tylko te pola.
C. dodać więzy integralności.
D. dodać klucz obcy.
Prawidłowo – kluczem do przyspieszenia wyszukiwania i sortowania w relacyjnej bazie danych jest utworzenie indeksu na kolumnach, po których najczęściej filtrujesz (WHERE), łączysz tabele (JOIN) albo sortujesz (ORDER BY). Indeks działa podobnie jak spis treści czy indeks na końcu książki – zamiast przeglądać każdą stronę po kolei, silnik bazy danych korzysta z dodatkowej struktury danych (najczęściej drzewa B-drzewiastego, tzw. B-tree), żeby bardzo szybko znaleźć interesujące wiersze. W praktyce oznacza to, że zapytania, które wcześniej skanowały całą tabelę (full table scan), zaczynają wykorzystywać indeks, co drastycznie zmniejsza liczbę odczytanych stron danych z dysku. W SQL jest to standardowa dobra praktyka: dla kolumn używanych w warunkach wyszukiwania i sortowania tworzy się indeksy, ale z umiarem, żeby nie przesadzić. Z mojego doświadczenia w projektach webowych typowe indeksy to np. indeks na kolumnie email w tabeli użytkowników, indeks na data_dodania w tabeli z artykułami albo indeks złożony (wielokolumnowy) na (user_id, created_at) w tabeli logów czy zamówień. Dzięki temu zapytania typu SELECT * FROM zamowienia WHERE user_id = ? ORDER BY created_at DESC działają bardzo szybko. Warto też wiedzieć, że dobry administrator lub programista zawsze sprawdza plany wykonania zapytań (EXPLAIN w MySQL/PostgreSQL) i na tej podstawie decyduje, które indeksy są naprawdę potrzebne. Tworzenie indeksów na oślep nie jest najlepszym pomysłem, ale sensowne indeksowanie jest absolutnym standardem w profesjonalnych systemach bazodanowych i jedną z podstawowych technik optymalizacji wydajności.