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: 11 kwietnia 2026 16:21
  • Data zakończenia: 11 kwietnia 2026 16:40

Egzamin zdany!

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

Skrypt strony internetowej stworzony w PHP

A. jest przetwarzany na tych samych zasadach co JavaScript
B. jest realizowany po stronie klienta
C. może być uruchomiony bez wsparcia serwera WWW
D. jest realizowany po stronie serwera
Kod strony WWW napisanej w języku PHP jest wykonywany po stronie serwera, co oznacza, że cały proces przetwarzania kodu zachodzi na serwerze, zanim strona zostanie wysłana do przeglądarki użytkownika. PHP jest językiem skryptowym, który generuje dynamiczne treści oraz może wchodzić w interakcje z bazami danych, co czyni go niezwykle efektywnym narzędziem do tworzenia aplikacji webowych. Przykładowo, gdy użytkownik wysyła formularz, skrypt PHP na serwerze może przetworzyć dane, a następnie wygenerować odpowiednią stronę HTML, która jest następnie przesyłana do klienta. Dodatkowo, PHP wspiera różne standardy, takie jak RESTful API, co pozwala na łatwe integrowanie z innymi systemami oraz aplikacjami. Warto także zauważyć, że PHP ma szeroką gamę frameworków, takich jak Laravel czy Symfony, które jeszcze bardziej ułatwiają rozwój aplikacji webowych poprzez dostarczanie gotowych rozwiązań oraz najlepszych praktyk. Z tego względu, znajomość PHP oraz jego działania po stronie serwera jest kluczowa dla każdego dewelopera webowego, który pragnie tworzyć nowoczesne i efektywne aplikacje.

Pytanie 2

Element zadeklarowany w języku C++ double x*; oznacza

A. typ zmiennoprzecinkowy
B. parametr formalny o typie zmiennoprzecinkowym
C. typ całkowity
D. wskaźnik
Deklaracja <b>double x*;</b> w języku C++ oznacza, że <b>x</b> jest wskaźnikiem do zmiennej typu <b>double</b>. Wskaźniki są zmiennymi, które przechowują adresy innych zmiennych w pamięci. W praktyce wykorzystuje się je do dynamicznego zarządzania pamięcią, co jest kluczowe w wielu zastosowaniach programistycznych, takich jak alokacja tablic o zmiennej długości, przekazywanie dużych struktur do funkcji bez kopiowania ich zawartości, czy implementacja różnych struktur danych, jak listy czy drzewa. Użycie wskaźników zgodnie z dobrymi praktykami, takimi jak odpowiednie zarządzanie pamięcią (np. użycie 'new' i 'delete') oraz unikanie wycieków pamięci, jest fundamentalne w programowaniu w C++. Przykładowo, aby przypisać wskaźnik do zmiennej typu double, można użyć kodu: <b>double a = 5.0; double* x = &a;</b>, co pozwala na dostęp do zmiennej <b>a</b> poprzez wskaźnik <b>x</b>. Warto zrozumieć różnicę pomiędzy wskaźnikiem a zmienną, ponieważ posługiwanie się nimi wymaga innego podejścia do operacji na danych w programie.

Pytanie 3

Zapis CSS

margin: auto;
wskazuje, że marginesy są
A. obliczane przez przeglądarkę w taki sposób, aby element został wyśrodkowany poziomo
B. równe domyślnym wartościom marginesów elementu, do którego są przypisane
C. dziedziczone z elementu nadrzędnego dla danego obiektu
D. stałe dla konkretnej przeglądarki, niezależnie od rozmiaru jej okna
Zapis CSS 'margin: auto;' jest kluczowy w kontekście wyśrodkowywania elementów blokowych w poziomie w ich rodzicach. Gdy zastosujemy ten styl, przeglądarka dynamicznie oblicza wartość marginesów po lewej i prawej stronie elementu, aby równomiernie rozłożyć pozostałą przestrzeń w kontenerze. W praktyce oznacza to, że jeśli mamy element o stałej szerokości umieszczony w szerszym kontenerze, zastosowanie 'margin: auto;' spowoduje, że ten element zostanie wyśrodkowany, co jest szczególnie przydatne w responsywnym projektowaniu stron internetowych. Dobrym przykładem może być użycie 'margin: auto;' w przypadku kontenera obrazka, gdzie chcemy, aby obrazek był zawsze wyśrodkowany na stronie niezależnie od rozmiaru okna przeglądarki. To podejście jest zgodne z najlepszymi praktykami CSS i jest szeroko stosowane w nowoczesnym web designie, co czyni strony bardziej estetycznymi i przyjaznymi dla użytkowników.

Pytanie 4

Jaką właściwość CSS należy zastosować, aby uzyskać linie przerywaną w obramowaniu?

Ilustracja do pytania
A. double
B. dotted
C. solid
D. dashed
Wybór właściwości takich jak solid double czy dotted dla stylu obramowania często wynika z niepełnego zrozumienia ich zastosowań Solid jest używane do tworzenia ciągłej linii co może być mylące gdy celem jest uzyskanie efektu linii przerywanej W kontekście projektowania stron internetowych solid jest bardziej dominujące i może przesuwać punkt ciężkości z treści na formatowanie co nie zawsze jest pożądane Double tworzy podwójną linię i choć może być stosowane w celu uzyskania bardziej wyrazistego efektu jego użycie w sytuacji gdy potrzebna jest subtelność jest nieodpowiednie Dotyczy to sytuacji gdzie wizualna przejrzystość i prostota są kluczowe Dotted tworzy linię z kropkami która różni się od dashed strukturą i wyglądem podczas gdy dashed używa kresek dotted sprawia wrażenie bardziej delikatnej i lekko chaotycznej linii co nie zawsze jest zgodne z zamierzonym stylem estetycznym Struktura dotted może być stosowana tam gdzie wymagana jest bardziej dekoracyjna linia Wybór właściwej właściwości jest kluczowy dla osiągnięcia zamierzonego efektu wizualnego i powinien być oparty na standardach projektowania stron internetowych które uwzględniają zarówno estetykę jak i funkcjonalność Zapewnienie spójności w użyciu stylów w całej witrynie jest również istotne dla zachowania profesjonalnego wyglądu i łatwości użytkowania takich jak rozpoznawalność interakcji i intuicyjność nawigacji poprzez odpowiednie oznaczenia CSS pozwala na szeroką personalizację co wymaga zrozumienia subtelnych różnic między różnymi wartościami stylów i ich odpowiednimi zastosowaniami w kontekście projektu

Pytanie 5

Dany jest fragment kodu PHP z zadeklarowaną zmienną typu tablicowego W wyniku wykonania kodu zostanie wypisane imię

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Krzysztof
B. Anna
C. Aleksandra
D. Tomasz
Brawo! Twoja odpowiedź jest poprawna. Zrozumienie jak funkcje w języku PHP przetwarzają i manipulują danymi, szczególnie w kontekście tablic, jest absolutnie kluczowe. W podanym fragmencie kodu PHP, funkcja 'echo' jest użyta do wypisania elementu tablicy '$imiona' o indeksie [2]. Elementem tym jest 'Krzysztof', co jest poprawnym rozwiązaniem. PHP, jako język programowania obsługujący tablice indeksowane i asocjacyjne, pozwala na wybieranie konkretnych elementów tablicy poprzez podanie indeksu w kwadratowych nawiasach po nazwie tablicy. Jest to standardowa i często wykorzystywana praktyka w programowaniu, która umożliwia efektywne zarządzanie danymi. Dzięki temu, możemy manipulować danymi z różnych segmentów kodu, co daje nam większą elastyczność i kontrolę nad programem.

Pytanie 6

Znak pisarski @ jest czytany w języku angielskim jako

A. at.
B. monkey.
C. on.
D. ape.
Znak @ ma w różnych językach potoczne, często żartobliwe nazwy, ale w kontekście profesjonalnym i technicznym liczy się to, jak jest nazywany po angielsku. W języku polskim funkcjonują określenia typu „małpa” czy „małpka”, stąd wiele osób mechanicznie próbuje znaleźć dosłowne tłumaczenie po angielsku i wybiera takie słowa jak „monkey” albo „ape”. To jednak tylko pozornie logiczny trop. W dokumentacji, w podręcznikach do programowania, w specyfikacjach standardów internetowych ten znak jest nazywany „at sign” i wymawiany po prostu „at”. Słowa „monkey” i „ape” są zwykłymi rzeczownikami oznaczającymi zwierzęta i nie występują jako oficjalna nazwa symbolu w języku technicznym. Można je spotkać czasem w żartach, ale nie w poważnych materiałach branżowych. Kolejny typowy błąd to próba kojarzenia tego znaku z polskim słowem „na” albo „przy” i szukanie odpowiedników typu „on”. W angielszczyźnie jednak w adresach e‑mail i w wielu opisach składniowych używa się przyimka „at”. Adres [email protected] czyta się „user at example dot com”, nigdy „user on example dot com”. To jest ustalona konwencja, którą przejmują wszystkie kursy, dokumentacje i systemy e‑learningowe. Z mojego doświadczenia wynika, że problem bierze się z mieszania potocznych nazw lokalnych z terminologią angielską. W pracy z technologiami webowymi trzeba się przyzwyczaić, że poprawna nazwa jest jedna i to ona pojawia się w standardach: „at sign”. Warto też pamiętać, że w CSS istnieje pojęcie „at‑rules” (@media, @import), w specyfikacjach e‑mail mowa jest o „commercial at”, a w wielu językach programowania dokumentacja wprost używa nazwy „at character”. Jeżeli więc myślimy o profesjonalnym opisie kodu, logów, adresów e‑mail czy konfiguracji serwerów, trzymamy się formy „at”, a nie tłumaczeń związanych z małpami czy innymi skojarzeniami z języka potocznego.

Pytanie 7

Gdzie należy umieścić znacznik meta w języku HTML?

A. między znacznikami paragrafu
B. w sekcji nagłówkowej strony internetowej
C. między znacznikami body
D. w stopce strony internetowej
Znacznik meta w języku HTML jest kluczowym elementem, który powinien być umieszczony w części nagłówkowej (head) dokumentu. Znaczniki meta służą do definiowania różnych informacji o stronie, takich jak zestaw znaków, opis, słowa kluczowe, autor oraz inne istotne dane, które nie są bezpośrednio wyświetlane na stronie. Przykładowo, znacznik meta z atrybutem 'charset' informuje przeglądarki, w jaki sposób interpretować znaki na stronie, co jest szczególnie ważne dla prawidłowego wyświetlania treści w różnych językach. Standardy HTML5 zalecają umieszczanie znaczników meta w nagłówku, aby umożliwić optymalizację SEO, co zwiększa widoczność strony w wynikach wyszukiwania. Dobrą praktyką jest również dodanie opisu strony przy pomocy znacznika meta 'description', co pozwala wyszukiwarkom na lepsze zrozumienie tematyki strony oraz zwiększa klikalność w wynikach wyszukiwania.

Pytanie 8

W języku CSS wprowadzono poniższe formatowanie:

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

Pytanie 9

W której superglobalnej tablicy w PHP należy przechowywać informacje dotyczące logowania użytkownika w sposób gwarantujący ich bezpieczeństwo?

A. $_SERVER
B. $_SESSION
C. $_FILES
D. $_COOKIE
Wybór $_COOKIE do przechowywania danych logowania to kiepski pomysł z kilku powodów. Ciasteczka są trzymane po stronie klienta, co znaczy, że mogą być łatwo dostępne dla innych, a to stwarza poważne zagrożenie dla bezpieczeństwa. Na przykład, hakerzy mogą wykraść ciasteczka przez różne techniki, takie jak XSS, co mogłoby prowadzić do nieautoryzowanego dostępu do kont. Poza tym, ciasteczka mają ograniczoną pojemność i użytkownik może je modyfikować, co czyni je nieodpowiednim miejscem na wrażliwe dane. Używanie $_FILES także jest nietrafione, bo ta tablica służy do obsługi plików przesyłanych przez użytkowników, a nie zarządzania sesjami. $_SERVER to z kolei tablica, która ma informacje o serwerze oraz zapytaniach, ale nie nadaje się do trzymania danych użytkowników. Typowym błędem przy wyborze $_COOKIE czy $_SERVER jest to, że nie rozumie się ich funkcji, co może prowadzić do niebezpiecznych sytuacji. Żeby dobrze zabezpieczyć dane logowania, najlepiej korzystać z sesji, bo są zaprojektowane właśnie do tego i oferują znacznie lepszą ochronę.

Pytanie 10

Ile razy zostanie wykonana pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w trakcie działania pętli?
for ($i = 0; $i <= 10; $i+=2) { .... }

A. 10
B. 5
C. 6
D. 0
Wybór błędnych odpowiedzi wynika z nieprawidłowego zrozumienia działania pętli for oraz sposobu, w jaki zostają liczone iteracje. Odpowiedzi takie jak 0, 5 czy 10 są oparte na mylących założeniach. Na przykład, odpowiedzi 0 i 10 mogą sugerować, że pętla nie wykonuje żadnych iteracji lub, że wykonuje ich zbyt wiele, co jest sprzeczne z rzeczywistością. Pętla for, jak w tym przypadku, zaczyna od 0 i kończy na 10, a krok wynosi 2. Zmiana wartości $i przy każdym przejściu pętli jest kluczowym elementem do zrozumienia. Jeśli więc zmienna nie jest zmieniana, nie osiągnie ona wartości końcowej prawidłowo. Typowym błędem jest także myślenie o warunkach w sposób nieprecyzyjny; w tym wypadku warunek $i <= 10 jest spełniony dla wartości 10, co może mylić. W praktyce, programiści powinni zawsze dokładnie analizować zakres iteracji, aby uniknąć błędnych założeń. To zrozumienie jest fundamentalne, aby pisać wydajny i bezpieczny kod, stosując się do najlepszych praktyk programistycznych.

Pytanie 11

Została zaprezentowana tabela o nazwie konta. Aby obliczyć liczbę rejestracji w poszczególnych latach oraz wyświetlić te wartości razem z rokiem rejestracji, należy wykonać zapytanie

A. ```SELECT rejestracja, COUNT(rejestracja) FROM konta GROUP BY rejestracja;```
B. ```SELECT rejestracja, COUNT(rejestracja) FROM konta;```
C. ```SELECT COUNT(rejestracja) FROM konta GROUP BY rejestracja;```
D. ```SELECT COUNT(rejestracja) FROM konta JOIN rejestracja ON id;```
Rozważając inne odpowiedzi, można zauważyć kilka typowych błędów w rozumieniu operacji SQL. Odpowiedź 'SELECT rejestracja, COUNT(rejestracja) FROM konta;' pomija klauzulę GROUP BY, która jest niezbędna do prawidłowego grupowania wyników po kolumnie 'rejestracja'. Bez niej, zapytanie spowoduje błąd, ponieważ próbuje zliczyć wartości bez określenia, jak je grupować. Takie podejście jest niezgodne z zasadami SQL, które wymagają, aby wszystkie kolumny niewykorzystywane w funkcjach agregujących były zawarte w klauzuli GROUP BY. W przypadku 'SELECT COUNT(rejestracja) FROM konta GROUP BY rejestracja;', mamy poprawnie użyte GROUP BY, ale brak jest kolumny 'rejestracja' w selekcji, co oznacza, że wyniki wyświetlą tylko liczby bez odpowiadających im lat, co nie spełnia założeń pytania. Odpowiedź 'SELECT COUNT(rejestracja) FROM konta JOIN rejestracja ON id;' wprowadza dodatkowy błąd związany z niepoprawnym użyciem JOIN. Kolumna 'rejestracja' nie jest tabelą, a próbując połączyć ją z tabelą 'konta' za pomocą JOIN, wprowadza się błędną koncepcję struktury danych. JOIN jest używany do łączenia różnych tabel na podstawie powiązanych kolumn, co w tym przypadku nie ma zastosowania. Takie niezrozumienie składni SQL może prowadzić do błędnych wyników i niepotrzebnego skomplikowania zapytań. Powszechnym błędem w korzystaniu z JOIN jest niepoprawne używanie go do prostych operacji grupowania, które nie wymagają połączenia wielu tabel.

Pytanie 12

Jak określa się element, który został oznaczony znakiem zapytania w strukturze platformy .NET, a który pozwala na tworzenie indywidualnych aplikacji z wykorzystaniem frameworków oraz na przekształcanie kompilowanego kodu pośredniego na kod maszynowy procesora znajdującego się w komputerze?

Ilustracja do pytania
A. Biblioteka klas bazowych (BCL)
B. Wspólne środowisko programistyczne (CLP)
C. Infrastruktura językowa (CLI)
D. Wspólne środowisko uruchomieniowe (CLR)
Infrastruktura językowa (CLI) to specyfikacja definiująca standardy dla różnych komponentów platformy .NET, w tym wspólne środowisko uruchomieniowe, ale sama w sobie nie zajmuje się wykonaniem kodu. CLI określa zestaw wytycznych, które umożliwiają tworzenie kodu zgodnego z różnymi językami, lecz nie zajmuje się bezpośrednim przekształcaniem kodu pośredniego na kod maszynowy. Biblioteka klas bazowych (BCL) dostarcza zestaw klas, które ułatwiają programowanie, oferując gotowe funkcje do obsługi operacji we/wy, manipulacji danych czy pracy z siecią. BCL nie zajmuje się jednak uruchamianiem aplikacji ani kompilacją kodu. Wspólne środowisko programistyczne (CLP) jako termin nie jest częścią standardowej terminologii .NET i może być mylące. CLR jest jedynym z tych elementów, który pełni rolę środowiska wykonawczego, umożliwiając uruchamianie kodu na różnych platformach sprzętowych. Pomyłki w wyborze mogą wynikać z niedostatecznego zrozumienia ról poszczególnych komponentów w ekosystemie .NET. Zrozumienie tej struktury jest kluczowe dla efektywnego wykorzystania możliwości platformy .NET i tworzenia wydajnego, bezpiecznego oprogramowania. Analizowanie ról i funkcji poszczególnych komponentów jest istotne dla pełnego zrozumienia, jak platforma umożliwia tworzenie interoperacyjnych aplikacji w różnych językach programowania.

Pytanie 13

Dokument HTML określa akapit oraz obrazek. Aby obrazek był wyświetlany przez przeglądarkę w tej samej linii co akapit po jego lewej stronie, należy w stylu CSS obrazka uwzględnić właściwość

A. float: left;
B. alt: left;
C. align: left;
D. style: left;
Odpowiedź "float: left;" jest naprawdę trafna. Ta właściwość w CSS sprawia, że elementy układają się obok siebie, co w tym przypadku oznacza, że rysunek wyląduje po lewej stronie akapitu. Jak użyjemy float, to rysunek 'przesuwa się' na lewo, a tekst z akapitu otacza go z prawej strony. To taki popularny sposób w webdesignie, który pozwala na ładniejsze połączenie obrazków z tekstem. Warto pamiętać, że czasem trzeba zastosować clearfix, zwłaszcza gdy mamy pływające elementy w większym układzie, żeby uniknąć problemów z rozmieszczeniem. Stosowanie float w CSS to dobra praktyka, bo pomaga zachować czytelność i estetykę tekstu. Na przykład, jeśli mamy sekcję artykułu z obrazem, który ilustruje omawiany temat, to zastosowanie float: left; sprawi, że treść będzie ładnie się układać i poprawi wrażenia użytkownika.

Pytanie 14

W każdej iteracji pętli wartość aktualnego elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do ostatniego elementu tablicy. Czy to zdanie odnosi się do instrukcji?

A. next
B. for
C. while
D. foreach
Odpowiedzi takie jak 'for', 'next' oraz 'while' mają swoje specyficzne zastosowania w kontekście iteracji, ale nie są w pełni dostosowane do opisanego zachowania w pytaniu. Instrukcja 'for' wymaga zdefiniowania zmiennych kontrolnych, co wiąże się z ręcznym zarządzaniem indeksami. Kiedy wykorzystujemy pętlę 'for', musimy samodzielnie określić warunki początkowe, warunki kontynuacji oraz sposób inkrementacji, co może prowadzić do błędów, zwłaszcza w kontekście tablic. Z kolei 'next' nie jest samodzielną konstrukcją w wielu językach programowania, a jego użycie jest często związane z iteracją po kolekcjach, ale nie definiuje pętli jako takiej. Instrukcja ta działa w kontekście iteratora, co czyni ją mniej elastyczną i bardziej złożoną w użyciu dla prostych iteracji po tablicach. Co więcej, 'while' również wymaga manualnego zarządzania warunkami zakończenia pętli, co oznacza, że programista musi samodzielnie kontrolować zmienną, która decyduje o zakończeniu iteracji. To znowu zwiększa ryzyko błędów związanych z granicami tablicy oraz niewłaściwym przypisaniem wartości. Każda z tych metod ma swoje miejsce w programowaniu, jednak nie są one tak optymalne i wygodne jak 'foreach', który automatycznie zarządza iteracją po elementach kolekcji, co czyni ten proces znacznie bardziej przejrzystym i mniej podatnym na błędy.

Pytanie 15

W tabeli mieszkancy znajdują się dane o osobach z całego kraju. Aby ustalić, ile unikalnych miast występuje w tej tabeli, trzeba zapisać kwerendę

A. SELECT COUNT(DISTINCT miasto) FROM mieszkancy;
B. SELECT COUNT(miasto) FROM mieszkancy;
C. SELECT COUNT(miasto) FROM mieszkancy DISTINCT;
D. SELECT DISTINCT miasto FROM mieszkancy;
Wybór odpowiedzi, która polega na użyciu tylko funkcji COUNT, jak w "SELECT COUNT(miasto) FROM mieszkancy;" nie jest najlepszy. To zapytanie zlicza wszystkie wystąpienia miast, w tym duplikaty, więc dostajesz łączną liczbę wierszy w kolumnie 'miasto', a to nie pokazuje, ile tak naprawdę jest unikalnych miejscowości. Moim zdaniem, ta pomyłka może prowadzić do złych wniosków, bo nie uwzględniasz różnorodności danych. Użycie DISTINCT, na przykład w "SELECT DISTINCT miasto FROM mieszkancy;", też nie daje ci liczby unikalnych miast, tylko listę ich. Niektórzy mogą myśleć, że wystarczy wylistować unikalne wartości, żeby wiedzieć, ile ich jest, ale to błędne podejście do zliczania. A ta odpowiedź "SELECT COUNT(miasto) FROM mieszkancy DISTINCT;" jest też niepoprawna, bo nie możesz używać DISTINCT w takim kontekście. Z doświadczenia wiem, że zrozumienie zasad dotyczących funkcji agregujących i filtrujących w SQL jest naprawdę kluczowe, jeśli chcesz dobrze zarządzać danymi i prowadzić sensowne analizy. Dlatego warto zastanowić się nad tym, jak używasz tych funkcji, żeby uniknąć typowych błędów przy interpretacji wyników zapytań w bazach danych.

Pytanie 16

Czy automatyczna weryfikacja właściciela witryny dostępnej przez protokół HTTPS jest możliwa dzięki

A. certyfikatowi SSL
B. informacjom kontaktowym na stronie
C. danym whois
D. kluczom prywatnym
Automatyczna weryfikacja właściciela strony udostępnianej przez protokół HTTPS jest możliwa dzięki certyfikatowi SSL, który jest kluczowym elementem infrastruktury bezpieczeństwa w sieci. Certyfikat SSL (Secure Socket Layer) to dokument cyfrowy, który potwierdza tożsamość właściciela witryny oraz umożliwia szyfrowanie danych przesyłanych pomiędzy przeglądarką użytkownika a serwerem. W procesie weryfikacji certyfikatu, przeglądarka internetowa kontaktuje się z odpowiednim urzędem certyfikacji (CA), który wystawił dany certyfikat, w celu potwierdzenia, że certyfikat jest ważny oraz że podany w nim adres URL rzeczywiście należy do określonego właściciela. Przykładowe zastosowanie certyfikatów SSL obejmuje e-commerce, gdzie ochrona danych osobowych i transakcji jest kluczowa. Standardy takie jak X.509 określają format certyfikatów SSL, a ich zastosowanie zapewnia użytkownikom bezpieczniejsze przeglądanie stron internetowych. W kontekście SEO, posiadanie certyfikatu SSL jest również korzystne, gdyż wyszukiwarki, takie jak Google, preferują strony zabezpieczone HTTPS, co wpływa na ich pozycjonowanie.

Pytanie 17

Wskaż komendę, która dokonuje aktualizacji danych w tabeli?

A. UPDATE
B. ALTER
C. CREATE
D. SELECT
Odpowiedź "UPDATE" jest jak najbardziej trafna. To takie podstawowe polecenie SQL, które pozwala na aktualizowanie już istniejących danych w tabeli. Możesz dzięki niemu zmienić jeden albo kilka wierszy w tabeli, w zależności od tego, jakie masz kryteria. Na przykład, jeśli mamy tabelę "pracownicy" i chcemy zwiększyć pensję programistów do 6000 zł, wystarczy użyć polecenia: `UPDATE pracownicy SET pensja = 6000 WHERE stanowisko = 'programista';`. To polecenie działa w taki sposób, że modyfikuje dane, ale przy tym dba o integralność, co jest bardzo ważne w pracy z bazami danych. Warto zawsze dodawać klauzulę WHERE, żeby zmiany dotyczyły tylko wybranych wierszy – to pomoże uniknąć sytuacji, w której przypadkiem zmienisz wszystko. Umiejętność korzystania z UPDATE jest naprawdę istotna, jeżeli chcesz efektywnie zarządzać swoimi danymi.

Pytanie 18

Jakie są przykłady standardowych poleceń w języku zapytań SQL, odnoszących się do operacji na danych SQL DML, takich jak wstawianie, usuwanie oraz modyfikacja danych?

A. DENY, GRANT, REVOKE
B. ALTER, CREATE, DROP
C. SELECT, SELECT INTO
D. DELETE, INSERT, UPDATE
Poprawna odpowiedź to DELETE, INSERT, UPDATE, które są podstawowymi poleceniami w języku SQL dla operacji manipulacji danymi (DML, Data Manipulation Language). Polecenie INSERT służy do dodawania nowych rekordów do tabeli, na przykład: 'INSERT INTO pracownicy (imie, nazwisko) VALUES ('Jan', 'Kowalski');'. DELETE umożliwia usunięcie istniejących danych, co można zrealizować poprzez 'DELETE FROM pracownicy WHERE nazwisko = 'Kowalski';', co kasuje rekordy spełniające określony warunek. Natomiast UPDATE pozwala na modyfikację danych w tabeli, na przykład: 'UPDATE pracownicy SET imie = 'Anna' WHERE nazwisko = 'Kowalski';'. Te instrukcje są zgodne z międzynarodowymi standardami SQL i są kluczowe w codziennym zarządzaniu bazami danych, umożliwiając efektywne manipulowanie danymi w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Microsoft SQL Server.

Pytanie 19

Który składnik języka HTML jest niezbędny, aby uniknąć błędu w walidacji HTML5?

A. prologu <!DOCTYPE html>
B. <body>
C. przynajmniej jednego <h1>
D. <meta name="author" content="....">
Brak prologu <!DOCTYPE html> w dokumencie HTML5 prowadzi do nieprawidłowego działania strony, ale inne elementy również odgrywają istotne role. <meta name="author" content="...."> jest używany do wskazania autora dokumentu, jednak jego brak nie spowoduje błędu walidatora HTML5. Ta informacja jest pomocna w kontekście SEO i nie wpływa na sposób, w jaki strona jest renderowana przez przeglądarki. Podobnie, przynajmniej jedno wystąpienie nagłówka <h1> jest zalecane dla SEO i struktury dokumentu, ale nie jest to element wymagany do uznania dokumentu za poprawny. Brak <h1> może prowadzić do problemów z dostępnością i indeksowaniem, lecz nie spowoduje błędu walidacji. Element <body> jest z kolei kluczowy dla struktury dokumentu, ponieważ zawiera widoczną zawartość strony. Jego brak spowoduje problemy z renderowaniem, ale nie wpłynie na walidację do poziomu HTML5. Warto zauważyć, że typowe błędy myślowe mogą prowadzić do przekonania, że każdy element jest równie ważny dla walidacji dokumentu, tymczasem to <!DOCTYPE html> pełni unikalną rolę w definiowaniu, że przeglądarka powinna interpretować stronę jako HTML5. Znajomość tych różnic jest kluczowa dla skutecznego tworzenia stron internetowych zgodnych ze standardami.

Pytanie 20

Jakie znaki będą przechowywane w zmiennej $napis po uruchomieniu poniższego kodu PHP?

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. og
B. gr
C. ogram
D. gramo
Wybrana odpowiedź jest niepoprawna, ponieważ nie uwzględnia prawidłowego działania funkcji substr w PHP. Ta funkcja wyodrębnia określoną liczbę znaków z ciągu, zaczynając od określonego indeksu. Tutaj funkcja substr wyodrębniła 5 znaków, zaczynając od czwartego znaku (indeks 3). Stąd poprawna odpowiedź to 'gramo', nie 'og', 'ogram' czy 'gr'. W przypadku odpowiedzi 'og', wydaje się, że nastąpiło błędne zrozumienie jak działa indeksowanie w PHP. Indeksy zaczynają się od zera, nie od jednego. Dlatego też czwarty znak ma indeks 3, a nie 4. W przypadku odpowiedzi 'ogram', prawdopodobnie zrozumiano, że substr wyodrębni całe słowo od indeksu 3, a nie tylko 5 znaków. Natomiast odpowiedź 'gr' sugeruje, że nie zrozumiano liczby znaków do wyodrębnienia. To jest typowy błąd, gdzie zakłada się, że funkcja substr wyodrębni tylko dwa następne znaki, a nie określoną liczbę znaków.

Pytanie 21

Jakim zapisem w języku PHP można określić komentarz, który rozciąga się na wiele linii?

A. <!-- -->
B. /*  */
C. #
D. //
W języku PHP komentarz wieloliniowy definiuje się za pomocą zapisu /* */. Taki komentarz może obejmować wiele linii tekstu, co czyni go niezwykle przydatnym do opisywania fragmentów kodu, które są zbyt obszerne, by umieścić je w pojedynczej linii. Używanie komentarzy wieloliniowych pozwala programistom na dodawanie szczegółowych wyjaśnień dotyczących funkcji, algorytmów czy też sposobu działania poszczególnych sekcji kodu. Dobrą praktyką jest stosowanie takich komentarzy, aby ułatwić innym programistom zrozumienie kodu lub przypomnienie sobie samego siebie, co dany fragment robi. Przykładowo: /* Funkcja oblicza sumę dwóch liczb Parametr 1: pierwsza liczba Parametr 2: druga liczba Zwraca: suma obu liczb */ Ponadto, stosowanie komentarzy jest zgodne z zasadami programowania zorientowanego na zrozumiałość, które są kluczowe w projektach zespołowych oraz w długofalowym utrzymaniu kodu. Poprawne stosowanie komentarzy pomaga w dokumentowaniu kodu oraz w jego przyszłym rozwoju.

Pytanie 22

Jakie zadanie wykonuje funkcja agregująca AVG w poniższym zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. wyznaczyć największą cenę za usługi
B. zsumować ceny wszystkich usług
C. obliczyć średnią arytmetyczną cen wszystkich usług
D. sprawdzić, ile usług znajduje się w tabeli
Dobra robota z odpowiedzią! Funkcja AVG w SQL służy do obliczania średniej z wartości w danej kolumnie, tutaj mamy kolumnę 'cena' w tabeli 'uslugi'. Korzystając z AVG, możesz łatwo dowiedzieć się, jaki jest średni koszt usług, co jest mega pomocne w analizowaniu wydatków. Moim zdaniem, średnia arytmetyczna ma spore znaczenie w raportach finansowych, przy podejmowaniu decyzji w biznesie i śledzeniu trendów rynkowych. Fajnie jest też wiedzieć, że ta funkcja ignoruje wartości NULL, co sprawia, że wyniki są bardziej wiarygodne, kiedy nie wszystkie usługi mają podane ceny. Warto pamiętać, że najlepiej używać funkcji agregujących z klauzulami GROUP BY, żeby móc dokładniej analizować, na przykład średnie ceny w różnych kategoriach usług.

Pytanie 23

Wskaż, jak wygląda komentarz wieloliniowy w języku PHP?

A. //
B. <!-- -->
C. /* */
D. #
Komentarz wieloliniowy w języku PHP jest oznaczany przez symbole '/*' na początku oraz '*/' na końcu. Tego typu komentarze pozwalają na umieszczanie dłuższych opisów lub wyjaśnień w kodzie, co jest szczególnie przydatne w przypadku bardziej złożonych fragmentów. Przykładowo, jeśli mamy funkcję, która wykonuje skomplikowane obliczenia, można użyć komentarza wieloliniowego, aby szczegółowo opisać, co ta funkcja robi oraz jakie są jej wejścia i wyjścia. W dobie pracy zespołowej i dbałości o dokumentację kodu, stosowanie komentarzy do wyjaśnienia celów, metod i ograniczeń kodu jest dobrą praktyką. Dzięki temu, programiści, którzy będą pracować z danym fragmentem kodu w przyszłości, będą mieli pełniejsze zrozumienie jego działania. Używanie komentarzy wieloliniowych w PHP jest zgodne z najlepszymi praktykami programistycznymi, sprzyja utrzymaniu porządku w kodzie oraz ułatwia jego późniejsze modyfikacje.

Pytanie 24

W kodzie HTML atrybut alt w tagu img służy do określenia

A. atrybutów obrazu, takich jak rozmiar, ramka, wyrównanie
B. ścieżki oraz nazwy pliku źródłowego
C. opisu, który pojawi się pod obrazem
D. tekstu, który będzie prezentowany, gdy obraz nie może być załadowany
Atrybut alt w znaczniku img w HTML to naprawdę ważny element, jeśli chodzi o dostępność stron www. Jego głównym zadaniem jest pomóc osobom z problemami ze wzrokiem zrozumieć, co widnieje na obrazku. Jeśli nie da się wyświetlić grafiki – na przykład przez zły internet czy błąd w ścieżce do pliku – tekst w atrybucie alt pokazuje się jako alternatywa. Na przykład <img src='example.jpg' alt='Zachód słońca nad morzem'>, co by ułatwiło osobom korzystającym z czytników ekranu zrozumienie treści. Warto też pamiętać, że ten atrybut ma znaczenie dla SEO, bo wyszukiwarki mogą go wykorzystać do lepszego zrozumienia zawartości strony, co wpływa na jej indeksowanie. Ogólnie rzecz biorąc, używanie odpowiednich atrybutów alt to dobra praktyka w budowaniu stron www.

Pytanie 25

Tabele Osoby oraz Adresy są ze sobą połączone relacją typu jeden do wielu. Jakie zapytanie SQL powinno być użyte, aby poprawnie wyświetlić nazwiska oraz odpowiadające im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id=Adresy.id
B. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id=Adresy.id
C. SELECT nazwisko, Miasto FROM Osoby, Adresy
D. SELECT nazwisko, Miasto FROM Osoby.Adresy_id=Adresy.id FROM Osoby, Adresy
Użycie składni JOIN w zapytaniu SQL to naprawdę dobra decyzja, jeśli chodzi o pokazywanie powiązanych danych z różnych tabel w bazie danych. W odpowiedzi zastosowałeś INNER JOIN, co jest jednym z tych najpopularniejszych sposobów łączenia tabel, zwłaszcza gdy mamy wspólny klucz. W tym przypadku klucz obcy Adresy_id w tabeli Osoby łączy się z kluczem głównym id w tabeli Adresy, co pozwala na wyciągnięcie nazwisk z Osób oraz odpowiadających im miast z Adresów. W praktyce takie użycie JOIN jest zgodne z najlepszymi praktykami, bo ułatwia zarządzanie danymi i sprawia, że wszystko jest czytelniejsze. Gdy pracujesz nad bardziej skomplikowanymi systemami, umiejętność poprawnego łączenia tabel jest kluczowa. Umożliwia to utrzymanie porządku w danych i zmniejszenie ich powtarzalności przez normalizację. I naprawdę, takie zapytania są mega przydatne w analizie danych, generowaniu raportów czy w aplikacjach, które operują na dużych zbiorach, gdzie wydajność i przejrzystość kodu SQL są niezwykle ważne.

Pytanie 26

W SQL, który jest używany przez bazę danych MySQL w tabeli samochody, aby przypisać wartość 0 do kolumny przebieg, trzeba skorzystać z zapytania

A. UPDATE samochody SET przebieg=0;
B. UPDATE samochody SET przebieg VALUE 0;
C. UPDATE przebieg SET 0 FROM samochody;
D. UPDATE przebieg SET 0 TABLE samochody;
W języku SQL, aby zaktualizować wartość kolumny w tabeli, stosuje się polecenie UPDATE. Poprawna kwerenda 'UPDATE samochody SET przebieg=0;' jest zgodna z syntaksą SQL i oznacza, że dla wszystkich rekordów w tabeli 'samochody' wartość kolumny 'przebieg' zostanie ustawiona na 0. Taka operacja jest szczególnie przydatna w przypadku, gdy chcemy zresetować dane dotyczące przebiegu pojazdów, na przykład po wprowadzeniu nowego pojazdu do bazy danych. Ważne jest, aby pamiętać, że ta kwerenda zmodyfikuje wszystkie rekordy w tabeli, co może być niezamierzonym działaniem, dlatego w praktyce często stosuje się dodatkowe warunki w klauzuli WHERE, aby zaktualizować tylko wybrane wiersze. Przykład kwerendy z warunkiem: 'UPDATE samochody SET przebieg=0 WHERE id=1;' zaktualizuje tylko rekord o identyfikatorze 1. Znajomość składni SQL oraz zrozumienie działania instrukcji UPDATE są kluczowe dla efektywnego zarządzania danymi w bazach danych.

Pytanie 27

Tekst można pogrubić za pomocą znacznika <b>, a także stosując odpowiednie właściwości CSS.

A. font-weight
B. text-size
C. text-weight
D. font-size
Odpowiedź 'font-weight' jest poprawna, ponieważ jest to właściwość CSS, która kontroluje grubość tekstu w elementach HTML. Używając 'font-weight', możesz określić grubość czcionki w sposób zarówno liczbowy (np. 400 dla normalnej grubości, 700 dla pogrubionej) jak i słowny (np. 'normal', 'bold'). Przykładem zastosowania może być stylizacja nagłówków na stronie internetowej, gdzie chcesz wyróżnić ważne informacje. W praktyce, stylizując nagłówki h1, h2, h3, można użyć 'font-weight: bold;' aby przyciągnąć uwagę czytelników. Zgodnie z najlepszymi praktykami, ważne jest, aby nie przesadzać z używaniem pogrubienia, ponieważ może to prowadzić do problemów z czytelnością tekstu. Warto również pamiętać, że dostępność stron internetowych jest kluczowa, dlatego należy testować różne style na różnych urządzeniach i w różnych przeglądarkach, aby upewnić się, że tekst jest czytelny dla wszystkich użytkowników.

Pytanie 28

W SQL klauzula DISTINCT w poleceniu SELECT spowoduje, że otrzymane dane

A. będą spełniały dany warunek
B. zostaną uporządkowane
C. nie będą zawierały powtórzeń
D. będą zgrupowane według wskazanego pola
Użycie klauzuli DISTINCT w instrukcji SELECT w języku SQL ma na celu eliminację powtórzeń w zwracanych wynikach. Dzięki temu, gdy wykonujemy zapytanie, w którym chcemy uzyskać unikalne wartości z określonej kolumny, możemy uniknąć sytuacji, w której te same dane pojawiają się wielokrotnie. Na przykład, jeśli mamy tabelę z informacjami o klientach, a chcemy otrzymać listę unikalnych miast, w których mieszkają, możemy użyć zapytania SELECT DISTINCT city FROM customers. Ta funkcjonalność jest szczególnie przydatna w raportowaniu i analizie danych, gdzie unikalność wartości ma kluczowe znaczenie. Warto również zauważyć, że klauzula DISTINCT wpływa na wydajność zapytań, dlatego ważne jest, aby używać jej tylko wtedy, gdy jest to rzeczywiście konieczne. Przy stosowaniu DISTINCT warto również znać inne techniki, takie jak grupowanie danych przy użyciu GROUP BY, które może być bardziej odpowiednie w niektórych scenariuszach, szczególnie gdy chcemy wykonywać agregacje.

Pytanie 29

Który atrybut pozwala na wskazanie lokalizacji pliku graficznego w znaczniku <img>?

A. href
B. link
C. alt
D. src
Atrybut 'src' w znaczniku <img> jest kluczowy, ponieważ określa lokalizację pliku graficznego, który ma być wyświetlany na stronie. Oznacza to, że wartość tego atrybutu to URL (Uniform Resource Locator), który wskazuje na lokalizację obrazu w internecie lub na lokalnym serwerze. Przykładowo, jeśli chcemy wyświetlić obrazek o nazwie 'zdjecie.jpg' znajdujący się w folderze 'obrazy', użyjemy: <img src='obrazy/zdjecie.jpg' alt='Opis obrazka'>. Zastosowanie odpowiedniego atrybutu 'src' jest zgodne z najlepszymi praktykami HTML, co zapewnia, że przeglądarki internetowe prawidłowo interpretują nasze zamierzenia co do wyświetlania treści wizualnych. Nieprawidłowe określenie lokalizacji obrazu może prowadzić do błędów '404 Not Found', co negatywnie wpływa na doświadczenie użytkownika. Dobrze zaprojektowane strony internetowe powinny również uwzględniać atrybut 'alt', który zapewnia dostępność oraz opisuje zawartość obrazu osobom korzystającym z czytników ekranu, ale to 'src' jest odpowiedzialny za wyświetlanie samego obrazu.

Pytanie 30

Technika projektowania algorytmów, która polega na dzieleniu problemu na dwa lub więcej mniejszych podproblemów, aż do momentu gdy fragmenty staną się na tyle proste, że można je rozwiązać bezpośrednio, to

A. sito Eratostenesa
B. dziel i zwyciężaj
C. słowa Fibonacciego
D. sortowanie przez wybór
Metoda "dziel i zwyciężaj" jest jedną z podstawowych technik projektowania algorytmów, która polega na rozwiązywaniu problemów poprzez dzielenie ich na mniejsze, bardziej zarządzalne podproblemy. Proces ten można opisać w trzech krokach: dzielenie, rozwiązywanie i łączenie wyniku. W praktyce oznacza to, że algorytm najpierw dzieli dany problem na dwa lub więcej podproblemów, następnie rozwiązuje każdy z nich osobno, a na końcu łączy zebrane rozwiązania, aby uzyskać odpowiedź na pierwotny problem. Przykładem może być algorytm sortowania szybkim (Quicksort), który wykorzystuje tę metodę poprzez wybór pivota, podział zbioru na mniejsze części i rekurencyjne sortowanie. Kolejnym przykładem jest algorytm mnożenia dużych liczb, taki jak algorytm Karatsuby. Dziel i zwyciężaj jest również stosowane w zaawansowanych technikach optymalizacji i w algorytmach wyszukiwania, co czyni tę metodę niezwykle uniwersalną i efektywną w wielu dziedzinach informatyki.

Pytanie 31

W SQL wykorzystywanym przez system baz danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
B. Wymusza unikalne nazwy kolumn w tabeli
C. Jest stosowany wyłącznie w przypadku kolumn liczbowych
D. Zabrania wprowadzenia wartości NULL
Istnieje kilka powszechnych nieporozumień dotyczących atrybutu UNIQUE w kontekście relacyjnych baz danych, które mogą prowadzić do błędnych wniosków. Przede wszystkim, twierdzenie, że atrybut UNIQUE wymusza unikatowe nazwy pól tabeli, jest nieprecyzyjne. UNIKATOWOŚĆ odnosi się do wartości przechowywanych w kolumnie, a nie do nazw kolumn. W rzeczywistości, nowa kolumna nie może mieć takiej samej nazwy jak istniejąca kolumna w tej samej tabeli, co jest regułą odzwierciedlającą strukturalne ograniczenia bazy danych, ale nie ma to związku z atrybutem UNIQUE. Ponadto, atrybut ten nie blokuje możliwości wpisania wartości NULL w kolumnach. W MySQL, kolumna z atrybutem UNIQUE może zawierać wiele wartości NULL, ponieważ NULL jest traktowane jako wartość nieokreślona i nie jest uważane za duplikat. Dlatego stwierdzenie, że UNIQUE blokuje możliwość wpisania wartości NULL, jest mylące. Co więcej, atrybut UNIQUE nie jest ograniczony tylko do pól liczbowych; może być zastosowany do dowolnego typu danych, w tym tekstowych czy datowych. Stosowanie UNIQUE w zbiorach danych, które nie wymagają unikalności, może prowadzić do zbędnych błędów i komplikacji podczas wprowadzania danych. Dlatego ważne jest, aby zrozumieć, że atrybut ten odnosi się do wartości w kolumnach, a nie do ich typów czy nazw, co jest kluczowe dla efektywnego projektowania baz danych.

Pytanie 32

Podano fragment kodu HTML, który nie przechodzi walidacji. Problemy z walidacją tego kodu będą dotyczyć:

<!DOCTYPE HTML>
<html>
<head>
    <title>Test</title>
</head>
<body>

<img src="obraz.gif">
<br>
<img src="obraz.gif">

</body>
</html>
A. braku atrybutu alt w znaczniku <img>
B. braku zamknięcia znacznika <img>
C. duplikacji nazwy pliku graficznego
D. braku zamknięcia znacznika <br>
Patrząc na fragment kodu, można zauważyć kilka miejsc, które czasem wprowadzają w błąd osoby uczące się HTML-a, szczególnie jeśli ktoś nie śledzi na bieżąco aktualnych specyfikacji. Zacznijmy od zamknięcia znaczników <br> i <img>. W HTML5 oba te tagi mogą być zapisywane jako samodzielne, bez ukośnika (tzn. nie trzeba pisać <br /> czy <img />). To, że w starszych materiałach lub w XHTML-u stosowało się ukośnik przed zamknięciem, wynikało z wymagań tamtych standardów, ale obecnie walidatory nie traktują to już jako błąd. Często spotyka się przekonanie, że każda para tagów musi być zamknięta, co nie zawsze jest prawdą w przypadku tzw. self-closing tags w HTML. Jeśli chodzi o duplikację nazwy pliku graficznego – powielanie atrybutu src z tą samą wartością w dwóch obrazkach nie stanowi żadnego problemu z punktu widzenia składni czy walidacji HTML. To jest po prostu dwukrotne użycie tego samego obrazka i nie wpływa na poprawność kodu. Czasami osoby początkujące myślą, że takie powtórzenia mogą być błędem, bo wydaje się to nieoptymalne, ale walidator HTML patrzy wyłącznie na poprawność struktury i wymaganych atrybutów. Najpoważniejszym problemem, który rzeczywiście zostanie wychwycony przez walidator, jest brak atrybutu alt w znaczniku <img>. To właśnie jego brak narusza wymagania dostępności i standardów HTML. W praktyce, jeśli dążymy do zgodności z HTML5 i zasadami web accessibility, zawsze trzeba dodawać alt, bo to jest istotne dla użytkowników i systemów wspierających. Moim zdaniem, wiele osób nadmiernie skupia się na detalach typu ukośniki czy powtórzenia obrazków, a nie zawsze zwraca uwagę na aspekt dostępności, który jest obecnie jednym z ważniejszych wymogów jakościowych w branży webowej.

Pytanie 33

W językach programowania strukturalnego do przechowywania danych o 50 uczniach (ich imionach, nazwiskach, średniej ocen) należy zastosować

A. tablicę 50 elementów o składowych strukturalnych.
B. strukturę 50 elementów o składowych tablicowych.
C. klasę 50 elementów typu tablicowego.
D. tablicę 50 elementów o składowych typu łańcuchowego.
Wybór nieodpowiedniej struktury danych w programowaniu może prowadzić do nieefektywnego zarządzania danymi i trudności w ich przetwarzaniu. Propozycja użycia struktury 50 elementów o składowych typu tablicowego z reguły nie jest optymalnym podejściem. Tablice w programowaniu są jednorodne, co oznacza, że przechowują tylko jeden typ danych. W przypadku przechowywania informacji o uczniach, takich jak imiona, nazwiska i średnie ocen, każdy z tych atrybutów powinien być reprezentowany przez różne typy danych (np. łańcuchy dla imion i nazwisk oraz liczby zmiennoprzecinkowe dla ocen). Oparcie się na tablicy elementów o składowych tablicowych prowadziłoby do sytuacji, w której trudno byłoby obsługiwać różne typy danych, co jest niepraktyczne i może prowadzić do wielu błędów. Wybór tablicy 50 elementów o składowych łańcuchowych jest także niewłaściwy, ponieważ ponownie nie umożliwia zarządzania różnorodnymi danymi, a jedynie danymi tekstowymi. Przy tego rodzaju podejściu nie można efektywnie przechowywać i operować na różnych typach danych. Kolejny błąd to korzystanie z klasy 50 elementów typu tablicowego, co nie jest zgodne z założeniami programowania obiektowego, które zaleca modelowanie obiektów jako jednostek zawierających różne atrybuty. Wybierając odpowiednią strukturę danych, programiści powinni zwracać uwagę na złożoność danych oraz na to, jak będą one używane w kodzie, co z kolei wpływa na wydajność oraz czytelność aplikacji.

Pytanie 34

Które stwierdzenie na temat funkcji fun1 zapisanej w języku JavaScript jest prawdziwe?

var x = fun1(3, 24, "Mnożymy");

function fun1(a, b, c) {
    return a * b;
}
A. Zwraca dwie wartości przechowywane w zmiennych a i b.
B. Ma dwa parametry liczbowe i zwraca wartość typu napisowego.
C. Przyjmuje trzy parametry, lecz nie zwraca wartości.
D. Ma trzy parametry wejściowe, w tym jeden typu napisowego, i zwraca wartość numeryczną.
Gratulacje, Twoja odpowiedź jest poprawna. Istotą funkcji w JavaScript jest to, że mogą one przyjmować dowolną liczbę argumentów i mogą zwracać wartość. W przypadku funkcji fun1, przyjmuje ona trzy parametry: a, b, c. Parametr c jest typu napisowego, co jest istotne, ponieważ JavaScript jest językiem słabo typowanym, co oznacza, że możemy przekazywać różne typy zmiennych jako argumenty dla funkcji. Funkcja fun1 zwraca wynik mnożenia dwóch pierwszych parametrów, co jest wartością numeryczną. To jest zgodne z zasadami JavaScript, gdzie funkcje mogą zwracać dowolne wartości - w tym przypadku wartość numeryczną. W praktyce, funkcje takie jak ta mogą być używane w różnych kontekstach, na przykład do manipulacji danymi wejściowymi i zwracania przetworzonych wyników.

Pytanie 35

Który zapis jest selektorem pseudoklasy CSS?

A. p#wyroznienie
B. td.wyroznienie
C. a:link
D. body
W tym zadaniu wszystkie odpowiedzi wyglądają jak poprawne selektory CSS, ale tylko jedna z nich jest selektorem pseudoklasy. To dość typowa pułapka: ktoś widzi poprawny składniowo selektor i automatycznie zakłada, że skoro jest „jakiś znak specjalny”, to pewnie chodzi o pseudoklasę. W CSS warto jednak rozróżniać kilka zupełnie różnych mechanizmów: selektor typu, selektor klasy, selektor identyfikatora oraz właśnie pseudoklasy. Zapis „p#wyroznienie” łączy selektor typu z selektorem identyfikatora. Oznacza akapit <p> o konkretnym id="wyroznienie". Znak # w CSS nie ma nic wspólnego z pseudoklasami, tylko jednoznacznie wskazuje na identyfikator elementu. To jest bardzo częste nieporozumienie: część osób myli dwukropek z kratką, bo oba wyglądają jak „specjalne dopiski”. Tymczasem pseudoklasy zawsze używają dwukropka, a identyfikatory – znaku #. „td.wyroznienie” to z kolei połączenie selektora typu z selektorem klasy. Ten zapis wybierze komórki tabeli <td> posiadające class="wyroznienie". Kropka w CSS zawsze oznacza klasę, czyli coś, co definiujemy w atrybucie class w HTML. To zupełnie inny mechanizm niż pseudoklasy, bo klasę nadajemy ręcznie w kodzie HTML, a pseudoklasa opisuje stan lub cechę obliczaną przez przeglądarkę, np. czy element jest pierwszy w swoim rodzicu, czy link jest odwiedzony, czy pole formularza ma fokus. Zapis „body” to najprostszy możliwy selektor typu – wskazuje wszystkie elementy <body> w dokumencie (zwykle jest tylko jeden). Tu w ogóle nie ma żadnego symbolu wskazującego na pseudoklasę, więc traktowanie tego jako pseudoklasy to już zupełne pomieszanie pojęć: to po prostu nazwa elementu HTML. Typowy błąd myślowy przy takich pytaniach polega na tym, że zamiast skupić się na definicji pseudoklasy („selektor z dwukropkiem, opisujący stan”), uczestnik testu szuka odpowiedzi, która „najbardziej wygląda na zaawansowaną”. Tymczasem wszystkie błędne odpowiedzi są zwykłymi, podstawowymi selektorami: typu, klasy i id. Pseudoklasa zawsze ma postać coś:coś_tam, np. a:hover, button:disabled, li:first-child. Jeżeli nie ma dwukropka – to na pewno nie jest pseudoklasa, niezależnie od tego, jak bardzo skomplikowany wygląda zapis.

Pytanie 36

W podanym kodzie PHP, w miejscu kropek należy umieścić odpowiednią instrukcję

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
while ($wiersz = ...................)
    echo "$wiersz[0] $wiersz[1]";
A. mysqli_query($zapytanie)
B. mysqli_fetch_array($zapytanie)
C. mysqli_num_fields($zapytanie)
D. mysqli_free_result($zapytanie)
Funkcja mysqli_fetch_array($zapytanie) jest używana do pobierania wyników zapytania SQL w formie tablicy asocjacyjnej lub indeksowanej. W kontekście podanego kodu, po wykonaniu zapytania SELECT do bazy danych, wyniki są zwracane jako zasób, który musi być przetworzony. Mysqli_fetch_array pozwala na iteracyjne przetwarzanie każdego wiersza z zestawu wyników, co umożliwia dostęp do poszczególnych wartości pól za pomocą indeksów lub kluczy. Jest to przydatne w sytuacjach, gdzie dane muszą być wyświetlane lub przetwarzane w pętli, jak w przykładowym kodzie. Tablica zwracana przez mysqli_fetch_array może zawierać pola zarówno z indeksami numerycznymi, jak i nazwami kolumn, co daje elastyczność w dostępie do danych. Zgodnie z dobrymi praktykami programistycznymi, zawsze należy sprawdzić, czy zapytanie zostało wykonane poprawnie, zanim zacznie się przetwarzać jego wyniki, oraz zwolnić pamięć po zakończeniu przetwarzania wyników. Stosowanie odpowiednich mechanizmów obsługi błędów i zabezpieczeń, takich jak przygotowane zapytania, jest również kluczowe dla bezpieczeństwa aplikacji.

Pytanie 37

Efekt AutoDuck w obróbce dźwięku jest stosowany do

A. ściszenia dźwięku w tle, gdy pojawia się dźwięk pierwszoplanowy.
B. eliminacji szumów pochodzących z dźwięków w tle.
C. wyrównania głośności całej ścieżki dźwiękowej.
D. ocieplenia głosu i dźwięków pochodzących z tła.
W obróbce dźwięku łatwo pomylić różne efekty, bo większość z nich w jakiś sposób wpływa na głośność lub charakter brzmienia. AutoDuck jednak ma bardzo konkretne zastosowanie: automatyczne ściszanie tła, gdy pojawia się dźwięk pierwszoplanowy, najczęściej głos. To nie jest efekt „upiększający” czy „naprawiający” brzmienie, tylko typowo użytkowy mechanizm sterowania poziomem głośności między dwoma ścieżkami. Częsty błąd myślowy polega na tym, że wszystko, co „robi coś z głośnością”, wrzuca się do jednego worka. Ocieplenie głosu kojarzy się raczej z korekcją barwy (equalizer – podbicie niskich i niższych średnich częstotliwości) albo z delikatną kompresją, ewentualnie z efektami typu saturacja czy emulacja lampowa. AutoDuck niczego nie „ociepla”, on tylko zmniejsza poziom innej ścieżki, reagując na sygnał pierwszoplanowy. Podobnie z wyrównywaniem głośności całej ścieżki – od tego są kompresory, limitery, normalizacja czy tzw. loudness matching zgodny z normami EBU R128 lub ITU-R BS.1770. Te narzędzia analizują lub przetwarzają pojedynczą ścieżkę, żeby jej poziom był bardziej równy w czasie. AutoDuck działa relacyjnie: jedna ścieżka kontroluje głośność drugiej. Jeśli chodzi o eliminację szumów, tym zajmują się zupełnie inne algorytmy: redukcja szumów, bramki szumów (noise gate), filtry dolno- lub górnoprzepustowe, narzędzia typu DeNoise. Szum się tam analizuje i usuwa lub tłumi, najczęściej w oparciu o profil szumu albo próg głośności. AutoDuck nie rozpoznaje szumu ani nie czyści nagrania, tylko mechanicznie ścisza tło, gdy pojawia się ważniejszy sygnał. W produkcji multimediów na strony WWW czy do e-learningu dobrą praktyką jest łączenie kilku technik: najpierw oczyszczenie głosu z szumów i ustawienie jego stałego poziomu kompresją, a dopiero potem zastosowanie duckingu na muzyce w tle. Dzięki temu materiał brzmi profesjonalnie, a słuchacz nie musi walczyć z niedosłyszalnym komentarzem przykrytym za głośną muzyką.

Pytanie 38

Gdzie należy umieścić znacznik metajęzyka HTML?

A. pomiędzy znacznikami <body> ... </body>
B. w sekcji nagłówkowej witryny internetowej
C. pomiędzy znacznikami paragrafu
D. w dolnej części witryny internetowej
Znacznik metajęzyka HTML, czyli tag <meta>, jest kluczowym elementem w sekcji nagłówkowej (head) dokumentu HTML. To tutaj umieszczamy informacje dotyczące dokumentu, takie jak jego tytuł, opis, słowa kluczowe oraz dane dotyczące kodowania i viewportu. Na przykład, aby ustawić kodowanie znaków na UTF-8, używamy znacznika <meta charset="UTF-8">. Jest to zgodne z wytycznymi W3C i najlepszymi praktykami SEO, ponieważ odpowiednie metadane pomagają wyszukiwarkom w zrozumieniu treści witryny. Inny przykład to <meta name="viewport" content="width=device-width, initial-scale=1.0">, który zapewnia, że strona jest responsywna na urządzeniach mobilnych. Umieszczając te znaczniki w nagłówku, można poprawić zarówno użyteczność, jak i widoczność witryny w internecie.

Pytanie 39

Określ, w jaki sposób należy odnosić się do pliku default.css, jeżeli index.html znajduje się bezpośrednio w folderze Strona?

Ilustracja do pytania
A. <link rel="stylesheet" type="text/css" href="c:/style/default.css" />
B. <link rel="stylesheet" type="text/css" href="...\style\default.css" />
C. <link rel="stylesheet" type="text/css" href="c:\style/default.css" />
D. <link rel="stylesheet" type="text/css" href="./style/default.css" />
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia struktury ścieżek w HTML. Stosowanie absolutnych ścieżek takich jak c:/style/default.css jest niezalecane, ponieważ lokalizuje plik na konkretnym dysku twardym, co jest niepraktyczne w przypadku aplikacji webowych, które mogą być przenoszone na serwery o różnych strukturach katalogów. Użycie backslashów \ w ścieżkach takich jak ...\style\default.css jest błędne w kontekście URL, ponieważ slash / jest standardem w adresach URL, zgodnie z normami RFC. Backslashy używa się w systemach Windows do ścieżek lokalnych, ale w kontekście HTML powoduje to problemy z prawidłowym zaadresowaniem zasobów. Stosowanie ścieżek absolutnych lub błędnej składni w odwołaniach może prowadzić do sytuacji, w których pliki CSS nie są ładowane, co skutkuje nieprawidłowym wyświetlaniem strony. Dlatego istotne jest zrozumienie, że relatywne ścieżki zapewniają większą kompatybilność i elastyczność projektu webowego, co jest esencją dobrych praktyk w programowaniu frontendowym. Utrzymywanie spójnej i poprawnej struktury ścieżek jest kluczem do efektywnego zarządzania zasobami w aplikacjach internetowych.

Pytanie 40

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