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: 9 czerwca 2026 06:19
  • Data zakończenia: 9 czerwca 2026 06:41

Egzamin zdany!

Wynik: 24/40 punktów (60,0%)

Wymagane minimum: 20 punktów (50%)

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

Który z protokołów umożliwia publikację strony internetowej na serwerze?

A. FTP
B. NNTP
C. ICMP
D. SMTP
To, że wybrałeś FTP, to strzał w dziesiątkę! Ten protokół jest super przydatny do przesyłania plików między komputerami, zwłaszcza kiedy chcemy wrzucić naszą stronę na serwer. Działa tak, że logujesz się zdalnie na serwer, przeglądasz, co tam jest, i możesz łatwo przesyłać, pobierać albo nawet usuwać pliki. Jak twórcy stron chcą się podzielić swoimi plikami, jak HTML czy CSS, to sięgają po programy FTP, takie jak FileZilla. W momencie, kiedy połączysz się z serwerem, praca z plikami staje się naprawdę prosta. Warto pamiętać, że są też bezpieczniejsze wersje tego protokołu, czyli SFTP lub FTPS, które szyfrują dane, co jest ważne, bo zwiększa bezpieczeństwo przesyłanych plików.

Pytanie 2

Który format najlepiej nadaje się do zapisu RASTROWEGO obrazu z przezroczystością na stronę WWW?

A. BMP
B. JPG
C. PNG
D. SVG
Do rastrowego obrazu z przezroczystością przeznaczonego na stronę WWW najlepszy jest PNG - łączy kanał alfa, kompresję bezstratną i pełne wsparcie przeglądarek. Sprawdza się przy logo, ikonach i grafikach nakładanych na różne tła. Zapamiętaj: raster + przezroczystość + web = PNG.

Pytanie 3

W HTML formularzu użyto elementu <input>. Pole, które się pojawi, ma pozwalać na wprowadzenie maksymalnie

<input type="password" size="30" maxlength="20">
A. 30 znaków, które nie będą widoczne w polu tekstowym
B. 20 znaków, które będą widoczne w trakcie wprowadzania
C. 20 znaków, które nie będą widoczne w polu tekstowym
D. 30 znaków, które będą widoczne podczas wpisywania
Jeśli mówimy o znaczniku <input> w HTML, to dobrze jest wiedzieć, jak działają atrybuty typu maxlength i type. Atrybut maxlength pozwala ustawić maksymalną liczbę znaków w polu tekstowym. W polu typu password użytkownik może wpisać max 20 znaków, ale to, co widzisz, może być inne. Często myli się atrybut size z ograniczeniem liczby wprowadzanych znaków, ale tak naprawdę chodzi tylko o to, jak szerokie jest pole, więc nie zmienia jego funkcjonalności. Pole typu password ma na celu ukrycie wpisywanych znaków, co zazwyczaj oznacza, że to, co wpisujesz, zastąpione jest gwiazdkami lub kropkami, by nie było widać tego, co piszesz. Te rzeczy są ważne dla bezpieczeństwa aplikacji webowych. Ostatnio zauważyłem, że niektórzy mają problemy z rozumieniem tych atrybutów, co może prowadzić do błędów w obsłudze danych użytkowników i problemów z bezpieczeństwem.

Pytanie 4

Jakie są prawidłowe kroki w kolejności, które należy podjąć, aby nawiązać współpracę między aplikacją internetową działającą na serwerze a bazą SQL?

A. wybór bazy, zapytanie do bazy, nawiązanie połączenia z serwerem baz danych, wyświetlenie na stronie WWW, zamknięcie połączenia
B. nawiązanie połączenia z serwerem baz danych, wybór bazy, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
C. zapytanie do bazy, wybór bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
D. wybór bazy danych, nawiązanie połączenia z serwerem baz danych, zapytanie do bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
Wybór odpowiedzi numer 2 jest prawidłowy, ponieważ idealnie odzwierciedla właściwą kolejność działań niezbędnych do nawiązania współpracy między aplikacją webową a bazą danych SQL. Proces zaczyna się od nawiązania połączenia z serwerem baz danych. To kluczowy krok, ponieważ bez aktywnego połączenia z serwerem nie można wykonać żadnych operacji na bazie danych. Następnie następuje wybór bazy, co umożliwia aplikacji określenie, na której bazie danych będzie pracować. Po wybraniu odpowiedniej bazy, można formułować zapytania SQL w celu pobrania lub modyfikacji danych. Ostatnim krokiem jest wyświetlenie wyników na stronie WWW, co pozwala użytkownikowi na interakcję z danymi. Po zakończeniu wszystkich operacji, należy zamknąć połączenie z serwerem bazy danych, co jest standardową praktyką, zapewniającą zwolnienie zasobów i zwiększenie bezpieczeństwa aplikacji. Stosowanie się do tej sekwencji działań jest zgodne z najlepszymi praktykami w programowaniu aplikacji webowych oraz zarządzaniu bazami danych.

Pytanie 5

Jaki mechanizm kontroli bezpieczeństwa uruchamiania aplikacji zawiera środowisko .NET Framework?

A. realizowany przez funkcje Windows API
B. realizowany przez frameworki aplikacji webowych (ASP.NET)
C. oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
D. przeznaczony wyłącznie dla bibliotek klas
Pozostałe opisy zawężają lub mylą ten mechanizm. ASP.NET to framework do aplikacji webowych - korzysta z modelu bezpieczeństwa, ale nim nie jest. Model nie ogranicza się też do bibliotek klas - dotyczy uruchamianego kodu w ogóle. Windows API to funkcje systemu, a nie wbudowany mechanizm .NET. Bezpieczeństwo .NET opiera się na CAS i RBS.

Pytanie 6

Jakie obiekty w bazie danych służą do podsumowywania, prezentacji oraz drukowania danych?

A. zestawienie
B. raport
C. formularz
D. zapytanie
Raport jest narzędziem w bazach danych, które umożliwia podsumowywanie, wyświetlanie i wydruk danych w zorganizowanej formie. Jego głównym celem jest przedstawienie informacji w sposób zrozumiały i estetyczny, co jest szczególnie ważne w kontekście analizy danych oraz podejmowania decyzji biznesowych. Raporty mogą być wykorzystane do generowania zestawień wyników finansowych, analiz sprzedaży czy statystyk użytkowników. Umożliwiają one również prezentację danych w formie tabel, wykresów i diagramów, co zwiększa ich czytelność. W branży IT i zarządzania danymi, dobrą praktyką jest korzystanie z narzędzi raportowych, które integrują się z bazami danych, co pozwala na automatyczne aktualizowanie danych oraz lepszą wizualizację. Warto również wspomnieć o różnych formatach, w jakich raporty mogą być generowane, takich jak PDF, XLSX czy HTML, co umożliwia ich łatwe udostępnianie i archiwizowanie.

Pytanie 7

W języku SQL, aby wybrać wszystkie rekordy z tabeli B, w tym część wspólną z tabelą A, należy zastosować typ związku

Ilustracja do pytania
A. A LEFT JOIN B
B. A RIGHT JOIN B
C. A FULL OUTER JOIN B
D. A INNER JOIN B
W tym pytaniu pułapka polega na tym, że łatwo pomylić pojęcie części wspólnej z całością jednego ze zbiorów. Diagram pokazuje całą tabelę B (włącznie z przecięciem z A), a nie tylko przecięcie. W SQL typ złączenia określa, z której tabeli bierzemy wszystkie rekordy, a z której tylko te pasujące. To, że widzimy też obszar wspólny, jest naturalnym efektem działania złączeń zewnętrznych, ale nie oznacza jeszcze, że chodzi o `INNER JOIN`.
Jeśli ktoś wybiera `A LEFT JOIN B`, to zwykle wynika z myślenia „chcę część wspólną i coś jeszcze”, ale myli kierunek. `LEFT JOIN` gwarantuje wszystkie rekordy z **lewej** tabeli (A), a z prawej (B) tylko dopasowane. Diagram z pytania pokazuje dokładnie odwrotną sytuację: komplet danych z B, a z A tylko tam, gdzie istnieje relacja. `A LEFT JOIN B` odpowiadałoby sytuacji, gdzie podświetlony jest cały zbiór A i przecięcie, a nie B.
Z kolei `A INNER JOIN B` zwróciłby wyłącznie część wspólną A∩B, czyli tylko te rekordy, które mają dopasowanie po obu stronach. Na diagramie byłby wtedy zaznaczony wyłącznie środek, a nie cały zielony obszar B. To typowy błąd: utożsamianie każdego JOIN z „częścią wspólną”. INNER JOIN jest dobry, gdy interesują nas tylko powiązane dane (np. zamówienia, które mają istniejącego klienta), ale w zadaniu wyraźnie mowa o „wszystkich rekordach z B”.
`A FULL OUTER JOIN B` idzie w drugą stronę – zwraca wszystko z A **i** wszystko z B, niezależnie od tego, czy jest dopasowanie, czy nie. To byłby diagram z zaznaczonymi obiema kółkami, czyli suma zbiorów A∪B. W standardzie SQL taki typ złączenia jest opisany jako pełne złączenie zewnętrzne i stosuje się go rzadziej, np. do porównywania różnic między dwiema tabelami. Tutaj jest to za szeroki zakres danych w stosunku do pytania.
Poprawne podejście wymaga więc skojarzenia, że skoro chcemy wszystkie rekordy z tabeli B, to w zapisie `A ... JOIN B` tabela B musi być po tej stronie, która jest „obowiązkowa”. Właśnie to zapewnia `RIGHT JOIN`: pełny zestaw wierszy z prawej tabeli, plus dopasowania z lewej tam, gdzie istnieją. Świadome operowanie tymi pojęciami bardzo ułatwia projektowanie zapytań raportowych i unikanie nieoczekiwanych braków lub duplikacji danych.

Pytanie 8

Na podstawie fragmentu dokumentu HTML, określ co należy wpisać w miejsce kropek w odnośniku w menu, aby przenosił on do rozdziału 2.

Fragment menu
<a ...>Rozdział 2</a>

Fragment dalej w dokumencie
<h1 id="r2" name="sekcja2" class="rozdzial2">Rozdział 2<h1>
A. href = "#sekcja2"
B. href = "#r2"
C. href = "r2"
D. href = "sekcja2"
Gratulacje, Twoja odpowiedź jest prawidłowa. Wybrałeś 'href="#r2"', co jest poprawne, ponieważ w HTML, atrybut 'href' w tagu 'a' służy do określenia miejsca docelowego odnośnika. W tym przypadku, miejsce docelowe to identyfikator (id) elementu na tej samej stronie. Przed identyfikatorem umieszcza się znak '#', który informuje przeglądarkę, że ma poszukać elementu z danym 'id' na tej samej stronie. W tym konkretnym przypadku, 'r2' jest identyfikatorem rozdziału 2 na stronie, dlatego 'href="#r2"' skieruje odnośnik do tego rozdziału. W praktyce, używanie identyfikatorów pozwala na tworzenie skomplikowanych stron z wieloma sekcjami, gdzie odsyłacze umożliwiają łatwe i szybkie nawigowanie. To jest zgodne ze standardami i dobrymi praktykami dla tworzenia stron internetowych.

Pytanie 9

W JavaScript metoda getElementById odnosi się do

A. zmiennej numerycznej
B. znacznika HTML o wskazanym id
C. znacznika HTML o podanej nazwie klasy
D. klasy zdefiniowanej w CSS
Metoda getElementById w JavaScript jest kluczowym narzędziem do interakcji z modelowaniem DOM (Document Object Model). Służy do uzyskiwania dostępu do pojedynczego elementu HTML na podstawie jego atrybutu id, co jest zgodne z zasadą unikalności identyfikatorów w dokumencie HTML. Dzięki temu programiści mogą stosunkowo łatwo manipulować pojedynczymi elementami, co jest istotne w dynamicznych aplikacjach internetowych. Przykładem zastosowania tej metody może być zmiana tekstu w elemencie <h1>, gdzie używamy getElementById('myHeader').innerHTML = 'Nowy nagłówek';. Zgodnie z dobrymi praktykami, powinno się unikać używania zduplikowanych id w dokumencie, aby zapewnić, że metoda ta zawsze zwraca jeden, a nie wiele elementów. Warto również pamiętać, że w przypadku braku elementu o podanym id, metoda zwróci null, co powinno być uwzględnione w logice aplikacji, aby uniknąć błędów. Użycie tej metody jest standardem w programowaniu JavaScript i stanowi fundament dla wielu bardziej zaawansowanych technik manipulacji DOM.

Pytanie 10

Która z funkcji SQL nie wymaga żadnych argumentów?

A. now
B. len
C. upper
D. year
Wybór funkcji, które pobierają argumenty, jak 'len', 'upper' i 'year', wskazuje na brak zrozumienia różnic pomiędzy funkcjami w SQL. Funkcje takie jak 'len', która zwraca długość ciągu znaków, wymagają przynajmniej jednego argumentu - ciągu, którego długość ma być obliczona. Na przykład, użycie 'len(nazwa) zwróci ilość znaków w nazwie', co jest kluczowe w scenariuszach wymagających walidacji danych. Podobnie, 'upper' przekształca wszelkie litery w podanym ciągu na wielkie litery, co również wymaga argumentu, czyli tekstu do przetworzenia. W przypadku 'year', funkcja ta wydobywa rok z daty, co również implikuje konieczność podania argumentu w postaci daty. Wybierając funkcje, które wymagają argumentów, można nieświadomie skomplikować proces, co jest sprzeczne z zasadami efektywnego pisania kodu. Błędem jest także mylenie funkcji bezargumentowych z tymi, które działają na przekazanych wartościach, co może prowadzić do nieefektywnego zarządzania danymi w bazach. Zrozumienie, jak i kiedy używać różnych typów funkcji, jest kluczowe w procesie projektowania i zarządzania bazami danych, co podkreśla znaczenie znajomości standardów SQL oraz najlepszych praktyk w programowaniu.

Pytanie 11

Który z formatów plików graficznych używa kompresji stratnej?

A. PNG
B. JPEG
C. BMP
D. GIF
JPEG stosuje kompresję STRATNĄ - usuwa część informacji o obrazie, by mocno zmniejszyć plik, co sprawdza się przy zdjęciach. Dlatego stratnej kompresji używa JPEG.

Pytanie 12

Na czym polega analiza ścieżek w testach jednostkowych?

A. na testowaniu wartości brzegowych danych
B. na wyznaczeniu punktu początkowego i końcowego oraz zbadaniu dróg między nimi
C. na badaniu inicjacji i zwalniania pamięci obiektów
D. na utworzeniu kilku zbiorów danych o podobnym przetwarzaniu i przetestowaniu nimi
Pozostałe opisy dotyczą innych technik testowania. Testowanie wartości brzegowych sprawdza skrajne dane wejściowe. Badanie inicjacji i zwalniania pamięci to kontrola zarządzania zasobami. Tworzenie zbiorów danych o podobnym przetwarzaniu to klasy równoważności. Analiza ścieżek bada drogi między początkiem a końcem kodu.

Pytanie 13

W którym pliku konfiguracyjnym serwera Apache ustawia się przekierowanie 301 (z jednego URL na inny)?

A.
conf.php
B.
configuration.php
C.
.htaccess
D.
apacheConf
Pozostałe nazwy nie są plikami konfiguracji Apache. conf.php i configuration.php to pliki PHP (np. konfiguracja aplikacji), a „apacheConf” nie istnieje. Przekierowania definiuje .htaccess.

Pytanie 14

W HTML-u atrybut shape w znaczniku area, który definiuje kształt obszaru, może przyjąć wartość

A. poly, square, circle
B. rect, poly, circle
C. rect, triangle, circle
D. rect, square, circle
Wybór niewłaściwej odpowiedzi może wynikać z nieporozumień dotyczących atrybutu shape w znaczniku area. Odpowiedzi wskazujące na 'square' lub 'triangle' są błędne, ponieważ te kształty nie są obsługiwane przez standard HTML. W przypadku 'square', mogłoby się wydawać, że jest to po prostu inna forma prostokąta, jednak HTML nie definiuje takiej wartości dla atrybutu shape. Również 'triangle' nie jest uznawany w kontekście standardowych atrybutów; HTML nie pozwala na bezpośrednie definiowanie kształtów trójkątnych w obszarach mapy obrazów. Tego rodzaju zamieszanie może wynikać z niepełnego zrozumienia funkcji atrybutu, który jest jednoznacznie związany z prostokątem, okręgiem oraz wielokątem. Kluczowe jest, aby przyjrzeć się dokumentacji HTML oraz standardom W3C, które jasno określają poprawne wartości dla atrybutu shape. W praktyce, zrozumienie tych różnic jest istotne dla tworzenia efektywnych i dostępnych interfejsów użytkownika, gdzie każdy element jest precyzyjnie zdefiniowany i zrozumiały dla przeglądarek oraz użytkowników. Ponadto, stosowanie niepoprawnych wartości może prowadzić do błędów w renderowaniu strony, co negatywnie wpływa na doświadczenia użytkowników i dostępność serwisu.

Pytanie 15

W pliku konfiguracyjnym serwera Apache httpd.conf linia kodu Listen 120 oznacza

A. jeden z numerów kodu błędu odpowiedzi HTTP.
B. numer portu, na którym nasłuchuje serwer.
C. maksymalną liczbę jednoczesnych połączeń z sieci do serwera.
D. czwarty oktet adresu IP serwera.
Dyrektywa „Listen 120” w konfiguracji Apache’a bywa mylona z różnymi innymi parametrami sieciowymi, ale w rzeczywistości ma jedno, dość konkretne znaczenie: określa numer portu, na którym serwer HTTP ma nasłuchiwać połączeń. Nie ma ona żadnego związku z poszczególnymi oktetami adresu IP. Adres IP składa się z czterech oktetów, ale są one zapisywane w formacie kropkowym, np. 192.168.0.120, i konfiguruje się je w systemie operacyjnym lub wirtualnym interfejsie sieciowym, a nie dyrektywą Listen. Czasem uczniowie patrzą na „120” i kojarzą to z ostatnim oktetem adresu, ale to skrót myślowy, który tutaj kompletnie nie pasuje. Innym typowym skojarzeniem jest powiązanie liczby z kodami odpowiedzi HTTP. Jednak kody statusu w protokole HTTP mają zdefiniowane zakresy: 1xx to odpowiedzi informacyjne, 2xx – sukces, 3xx – przekierowania, 4xx – błędy po stronie klienta, 5xx – błędy po stronie serwera. Kod 120 nie jest standardowym kodem odpowiedzi HTTP opisanym w specyfikacji RFC 7231 czy nowszych. Co ważne, kody odpowiedzi są wysyłane w treści protokołu HTTP, a nie konfigurowane w ten sposób w httpd.conf. Pojawia się też czasem przekonanie, że taka liczba mogłaby oznaczać limit jednoczesnych połączeń. Limity połączeń, procesów czy wątków w Apache’u definiuje się jednak innymi dyrektywami, zależnie od użytego MPM (np. MaxRequestWorkers, ServerLimit, ThreadsPerChild). Listen nie ustawia żadnych ograniczeń wydajnościowych, tylko określa punkt wejścia do usługi – numer portu i ewentualnie adres IP. Mylenie tych pojęć wynika moim zdaniem z mieszania warstwy transportowej (port, TCP) z logiką aplikacji (kody błędów) i parametrami wydajności. Dobra praktyka w administracji serwerem to wyraźne rozróżnianie: port = gdzie nasłuchuje serwer, kody HTTP = jak odpowiada na żądania, limity = ile ruchu jest w stanie obsłużyć równocześnie.

Pytanie 16

Który z czterech podstawowych kolorów modelu CMYK to:

A. czarny
B. pomarańczowy
C. brązowy
D. zielony
CMYK to model barw stosowany w druku, oparty na czterech kolorach: Cyan (niebieskozielony), Magenta (purpurowy), Yellow (żółty) oraz Key/blacK, czyli CZARNY. Dlatego jednym z czterech kolorów CMYK jest czarny.

Pytanie 17

Jaką wartość zobaczymy po wykonaniu poniższego kodu JavaScript?

<script>
document.write(Math.round(4.51)+Math.pow(2,3));
</script>
A. 12
B. 14
C. 13
D. 11
W przedstawionym kodzie JavaScript użyto dwóch metod wbudowanych obiektu Math Math.round i Math.pow. Math.round zaokrągla wartość do najbliższej liczby całkowitej. W przypadku liczby 4.51 zostanie to zaokrąglone do 5 ponieważ 0.51 jest bliżej 1 niż 0. Math.pow wykonuje potęgowanie czyli podnosi liczbę do określonej potęgi. W przypadku Math.pow(2 3) mamy do czynienia z potęgowaniem 2 do potęgi 3 co jest równe 8 ponieważ 2 * 2 * 2 = 8. Następnie te dwie wartości są dodawane do siebie co daje 5 + 8 = 13. Wartość 13 jest wyświetlana na stronie za pomocą document.write co jest prostym sposobem na wypisywanie wyników w kontekście przeglądarki. W praktyce jednak korzystanie z document.write jest odradzane na rzecz bardziej nowoczesnych rozwiązań jak manipulacja DOM czy używanie innerHTML. Dzięki tym metodom możemy skutecznie zarządzać i wyświetlać dane na stronach internetowych co jest kluczowe w nowoczesnym tworzeniu stron WWW. Zrozumienie działania takich funkcji wbudowanych pozwala na efektywne rozwiązywanie problemów związanych z obliczeniami w języku JavaScript co jest bardzo przydatne w pracy programisty.

Pytanie 18

Jakie skutki przynosi wielokrotne uruchomienie poniższego kodu PHP?

if (!isset($_COOKIE["ciastko"]) 
 $zm = 1; 
 else 
 $zm = intval($_COOKIE["ciastko"]) + 1; 
setcookie("ciastko", $zm);
A. Pokazanie ciasteczka z wartością zmiennej.
B. Przechowywanie informacji w ciasteczku tylko przy pierwszym otwarciu strony.
C. Liczenie liczby wejść na stronę.
D. Zapisywanie wartości 1 w ciasteczku przy każdym odświeżeniu strony.
Błędne odpowiedzi wskazują na zrozumienie podstawowych operacji związanych z ciasteczkami, ale nie uchwycają ich rzeczywistego zastosowania w kontekście analizy odwiedzin. Pierwsza z niepoprawnych opcji, dotycząca wyświetlenia ciasteczka z zapisaną zmienną, myli pojęcie z jego funkcją. Kod nie posiada żadnych instrukcji wyświetlania, a jedynie operuje na danych, które są zapisywane w ciasteczkach. Takie nieporozumienie jest powszechne wśród początkujących programistów, którzy mogą sądzić, że operacje na ciasteczkach automatycznie wiążą się z ich prezentacją użytkownikowi. Druga z opcji sugeruje, że ciasteczko jest ustawiane na wartość 1 przy każdym odświeżeniu strony, co jest nieprawidłowe. W rzeczywistości, wartość ciasteczka jest zwiększana z każdym odwiedzeniem, co oznacza, że wartość 1 jest przypisywana tylko przy pierwszym wejściu. To błędne zrozumienie działania ciasteczek prowadzi do mylnych konkluzji na temat ich zastosowania. Ostatnia propozycja sugeruje, że dane są zapisywane jedynie przy pierwszym uruchomieniu strony, co jest fałszywe, ponieważ aktualizacja ciasteczka zachodzi przy każdym nowym odczycie, a nie tylko przy pierwszym dostępie. Zrozumienie, jak działa mechanizm ciasteczek, jest kluczowe dla prawidłowego ich wykorzystania i analizy interakcji użytkownika z witryną.

Pytanie 19

Która z definicji funkcji w języku C++ przyjmuje parametr typu zmiennoprzecinkowego i zwraca wartość typu całkowitego?

A. int fun1(float a)
B. void fun1(int a)
C. float fun1(void a)
D. float fun1(int a)
Każda z błędnych odpowiedzi ilustruje typowe nieporozumienia związane z deklaracją funkcji w języku C++. Odpowiedź 'void fun1(int a);' nie spełnia wymogów, ponieważ zwraca typ 'void', co oznacza, że funkcja nie zwraca żadnej wartości. To podejście jest właściwe, gdy chcemy wykonać operacje, które nie wymagają zwracania wyniku, ale nie odpowiada na pytanie dotyczące zwracania wartości całkowitej. W przypadku 'float fun1(int a);', chociaż funkcja poprawnie przyjmuje argument całkowity, zwraca typ 'float', co jest sprzeczne z wymaganiem zwrotu wartości całkowitej. Kolejna odpowiedź 'float fun1(void a);' zawiera syntaktyczny błąd, ponieważ typ 'void' nie może być użyty jako typ parametru, co prowadzi do błędów kompilacji. W języku C++ każdy parametr musi mieć określony typ, a użycie 'void' jako typu parametru jest niepoprawne. Te nieprawidłowe odpowiedzi wskazują na brak zrozumienia podstawowych zasad typowania w C++, co jest kluczowe w kontekście projektowania funkcji. Istotne jest, aby przy tworzeniu funkcji dobrze zrozumieć, jakie typy danych są akceptowane i jakie wartości są oczekiwane jako wynik, aby uniknąć błędów w logice programu oraz poprawić jego wydajność i czytelność.

Pytanie 20

Podczas tworzenia witryny internetowej zastosowano kod definiujący jej wygląd. Jaką szerokość przeznaczono na zawartość strony?

Ilustracja do pytania
A. 640 px
B. 2 px
C. 560 px
D. 600 px
Definiowanie szerokości elementu w CSS jest kluczowym aspektem projektowania responsywnych stron internetowych. W przedstawionym kodzie CSS zauważamy definicję width 560px która określa szerokość elementu body. Ta wartość bezpośrednio przekłada się na dostępną przestrzeń dla treści wewnętrznej tego elementu. W praktyce definiowanie szerokości w pikselach pozwala na precyzyjne kontrolowanie układu strony co jest szczególnie istotne w kontekście projektowania interfejsów użytkownika. Takie podejście jest jednak najczęściej stosowane w środowiskach gdzie mamy pełną kontrolę nad urządzeniami wyświetlającymi stronę. W kontekście nowoczesnych praktyk często stosuje się jednostki względne lub techniki takie jak media queries aby zapewnić lepszą responsywność i elastyczność. Ważne jest także rozważanie dodatkowych aspektów takich jak marginesy i wypełnienia które mogą wpływać na rzeczywistą ilość dostępnej przestrzeni na treść. Właściwe zrozumienie i zastosowanie szerokości jest kluczowe dla tworzenia estetycznych i funkcjonalnych układów strony internetowej.

Pytanie 21

Jaki jest najłatwiejszy i najmniej czasochłonny sposób przetestowania strony w różnych przeglądarkach i ich wersjach?

A. użycie emulatora przeglądarek (np. usługi typu Browser Sandbox)
B. użycie walidatora kodu HTML
C. instalacja różnych przeglądarek na kilku komputerach i testowanie
D. test tylko w jednej przeglądarce, zakładając zgodność pozostałych
Pozostałe metody są wolniejsze lub niepełne. Instalowanie wielu przeglądarek na kilku komputerach jest pracochłonne. Walidator HTML sprawdza poprawność kodu, ale nie pokazuje wyglądu w różnych przeglądarkach. Test w jednej przeglądarce „na wiarę” nie wykrywa różnic. Najwygodniejszy jest emulator przeglądarek.

Pytanie 22

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. tr { background-color: Pink; }
D. tr:active { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 23

Którego atrybutu HTML5 użyć, aby w polu edycyjnym wyświetlić podpowiedź (tekst zastępczy)?

A.
required
B.
pattern
C.
autofocus
D.
placeholder
Atrybut placeholder wyświetla w pustym polu szary tekst podpowiedzi (zastępczy), który znika po rozpoczęciu pisania, np. <input placeholder="Wpisz e-mail">. To wskazówka, czego się oczekuje - nie myl jej z etykietą <label>. Zapamiętaj: „placeholder” = tekst-widmo w polu, sugerujący zawartość.

Pytanie 24

W edytorze grafiki wektorowej stworzono przedstawiony kształt, który powstał z dwóch figur: trójkąta i koła. W celu stworzenia tego kształtu, po narysowaniu figur i odpowiednim ich ustawieniu, należy skorzystać z funkcji

Ilustracja do pytania
A. różnicy.
B. sumy.
C. wykluczenia.
D. rozdzielenia.
Wybór odpowiedzi 'Wykluczenia', 'Różnicy' lub 'Rozdzielenia' jest błędny w tym kontekście. Funkcje te są używane w innych celach w edytorach grafiki wektorowej. 'Różnica' jest używana do odejmowania jednej figury od innej, co nie jest potrzebne do tworzenia kształtu pokazanego na zdjęciu. 'Rozdzielenie' służy do rozdzielania złożonych kształtów na prostsze elementy, co także nie jest potrzebne w tym przypadku. 'Wykluczenia' używa się do tworzenia kształtów z wykluczeniem wspólnych obszarów. Często błędem jest mylenie tych funkcji i niewłaściwe ich stosowanie, co prowadzi do niespodziewanych wyników. Zasada jest taka, że każda z tych funkcji ma swoje specyficzne zastosowanie, i ważne jest zrozumienie tego, zanim zaczniemy pracować z edytorem grafiki wektorowej. W tym przypadku, aby uzyskać pokazany kształt, powinniśmy skorzystać z funkcji 'Sumy'.

Pytanie 25

Testy sprawdzające, czy aplikacja działa poprawnie w różnych architekturach serwera, konfiguracjach i środowiskach, to testy:

A. funkcjonalności
B. kompatybilności
C. bezpieczeństwa
D. użyteczności
Testy sprawdzające, czy aplikacja działa poprawnie w różnych architekturach serwera, konfiguracjach i środowiskach, to testy KOMPATYBILNOŚCI (zgodności). Upewniają się, że oprogramowanie współpracuje z różnym sprzętem, systemami i przeglądarkami. Dlatego są to testy kompatybilności.

Pytanie 26

Który zapis CSS ustawi NIEBIESKIE tło bloku <div>?

A.
div { background-color: blue; }
B.
div { border-color: blue; }
C.
div { shadow: blue; }
D.
div { color: blue; }
Kolor tła elementu ustawia właściwość background-color, więc div { background-color: blue; } daje niebieskie tło bloku <div>. Dlatego poprawny jest ten zapis.

Pytanie 27

Z tabeli mieszkancy trzeba wydobyć unikalne nazwy miast, w tym celu należy użyć wyrażenia SQL zawierającego klauzulę

A. HAVING
B. UNIQUE
C. CHECK
D. DISTINCT
Odpowiedzi takie jak 'UNIQUE', 'CHECK' i 'HAVING' są błędne, ponieważ nie pełnią one funkcji eliminacji duplikatów w kontekście wyboru unikalnych wartości. 'UNIQUE' jest klauzulą, która służy do definiowania ograniczeń w tabelach, gwarantując, że wartości w danej kolumnie są unikalne w kontekście wierszy w tabeli. Jest to przydatne przy projektowaniu schematów baz danych, ale nie jest stosowane w zapytaniach do selekcji danych. 'CHECK' służy do walidacji danych wprowadzanych do tabeli, zapewniając, że spełniają one określone warunki, co jest istotne przy definiowaniu reguł dotyczących wartości, jakie mogą być wprowadzane. Z kolei 'HAVING' jest używane w kontekście grupowania danych, w połączeniu z klauzulą 'GROUP BY', aby filtrować grupy w oparciu o warunki, co jest zupełnie inną operacją niż eliminacja duplikatów. Typowym błędem jest mylenie koncepcji związanych z grupowaniem i selekcją unikalnych wartości. W praktyce, korzystając z 'HAVING', nie uzyskamy unikalnych wartości z kolumny bez wcześniejszego użycia 'GROUP BY', co sprawia, że jest to narzędzie bardziej skomplikowane i mniej efektywne w kontekście prostego wyciągania unikalnych danych. Aby właściwie zrozumieć zasady dotyczące zapytań SQL, ważne jest, aby rozróżniać te różne klauzule oraz ich zastosowania, co pozwoli na bardziej świadome i efektywne korzystanie z języka SQL.

Pytanie 28

W CSS zapis selektora

p > i { color: red;} 
wskazuje, że kolorem czerwonym będzie wyróżniony
A. jedynie tekst w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
B. tylko ten tekst znacznika <p>, który ma przypisaną klasę o nazwie i
C. wszystkie teksty w znaczniku <p> lub każdy tekst w znaczniku <i>
D. każdy tekst w znaczniku <p> z wyjątkiem tych w znaczniku <i>
Odpowiedź ta jest poprawna, ponieważ selektor CSS <pre>p &gt; i { color: red; }</pre> definiuje regułę, która odnosi się jedynie do elementów <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Operator > jest selektorem potomka bezpośredniego, co oznacza, że tylko te <i>, które są bezpośrednio dzieckiem <p>, będą miały przypisany kolor czerwony. Na przykład, jeśli w kodzie HTML mamy <p><i>Tekst</i></p>, to ten tekst będzie czerwony. Z drugiej strony, jeżeli <i> znajduje się zagnieżdżone w innym elemencie wewnątrz <p>, jak <p><span><i>Tekst</i></span></p>, to ten tekst nie będzie formatowany na czerwono. Tego typu selektory są niezwykle przydatne w praktycznym zastosowaniu, gdyż pozwalają na precyzyjne określenie stylów dla konkretnych elementów, co jest zgodne z najlepszymi praktykami projektowania stron internetowych, takimi jak utrzymanie czytelności kodu i unikanie niezamierzonych efektów formatowania.

Pytanie 29

Który semantyczny znacznik HTML5 powinien wystąpić na stronie tylko raz?

A.
<header>
B.
<section>
C.
<article>
D.
<main>
Znacznik <main> obejmuje główną, unikalną treść strony - tę specyficzną dla danej podstrony, bez powtarzalnych elementów jak nagłówek czy menu. Zgodnie ze standardem na stronie powinien wystąpić tylko jeden widoczny <main>, co ułatwia nawigację technologiom wspomagającym (czytniki ekranu mogą od razu przejść do treści głównej). Pozostałe znaczniki semantyczne mogą się powtarzać. Dlatego tylko raz na stronie występuje <main>.

Pytanie 30

Aby strona internetowa była bardziej dostępna dla osób niewidomych, obrazom wstawianym znacznikiem img należy nadać atrybut:

A.
style
B.
alt
C.
text
D.
src
Atrybut alt znacznika <img> zawiera tekst alternatywny - krótki opis tego, co przedstawia obraz. Czytnik ekranu, z którego korzystają osoby niewidome, odczytuje tę treść na głos, dzięki czemu użytkownik wie, co jest na obrazku. Tekst alternatywny pokazuje się też, gdy obraz się nie wczyta. Dlatego dla dostępności obrazom nadaje się atrybut alt.

Pytanie 31

Która funkcja PHP wczyta zawartość pliku do zmiennej (jako ciąg znaków)?

A.
eof()
B.
get_file()
C.
fwrite()
D.
file_get_contents()
fwrite() ZAPISUJE dane do pliku, a nie odczytuje. eof() i get_file() to funkcje nieistniejące w PHP w tej postaci. Zawartość pliku wczyta file_get_contents().

Pytanie 32

W wyniku działania pętli zapisanej w języku PHP zostanie wypisany ciąg liczb:

 $liczba = 10;
while ($liczba < 50) {
    echo "$liczba ";
    $liczba = $liczba + 5;
}
A. 0 5 10 15 20 25 30 35 40 45
B. 0 5 10 15 20 25 30 35 40 45 50
C. 10 15 20 25 30 35 40 45 50
D. 10 15 20 25 30 35 40 45
Wybrana odpowiedź nie jest poprawna. Może wynikać to z niepełnego zrozumienia, jak działa pętla while w języku PHP. Pętla while wykonuje kod, dopóki warunek jest prawdziwy. W tym przypadku, rozpoczyna się od wartości zmiennej 10, która jest zwiększana o 5 za każdą iteracją, ale tylko do momentu, kiedy osiągnie wartość mniejszą niż 50. Oznacza to, że ostatnią wydrukowaną liczbą jest 45, ponieważ przy następnej iteracji wartość zmiennej wynosiłaby 50 - wartość nie spełniającą warunku pętli. Błędne odpowiedzi sugerują błędną interpretację, jak to działa - zaburzony początek ciągu (powinien zaczynać się od 10, a nie 0) lub błędną końcówkę (50 nie jest wydrukowane, ponieważ jest to wartość już poza zakresem pętli). Ważne jest, aby dokładnie analizować i rozumieć warunki pętli i jej działanie.

Pytanie 33

Jakie imiona spełniają warunki klauzuli LIKE w podanym zapytaniu?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Rafał, Rebeka, Renata, Roksana
B. Arleta, Krzysztof, Krystyna, Tristan
C. Gerald, Jarosław, Marek, Tamara
D. Krzysztof, Krystyna, Romuald
No, więc ta odpowiedź jest totalnie na miejscu, bo klauzula LIKE w SQL służy do szukania ciągów, które pasują do jakiegoś wzoru. W tym przypadku wzór '_r%' mówi nam, że przed literą 'r' musi być dokładnie jeden dowolny znak, a po 'r' może być cokolwiek. Jak spojrzymy na imiona, które wybrałeś, 'Arleta' i 'Krzysztof' mają 'r' na drugiej pozycji, a 'Krystyna' i 'Tristan' na trzeciej. Czyli wszystko się zgadza. W ogóle, klauzula LIKE jest super przydatna w wyszukiwaniu danych, na przykład w aplikacjach, gdy chcemy znaleźć kogoś po imieniu czy nazwisku. A ten symbol '%' to genialny sposób na dopasowywanie, bo pozwala na różne kombinacje. Fajna sprawa, nie?

Pytanie 34

Jak system CMS realizuje oddzielenie treści serwisu od jego wyglądu?

A. treść ze statycznych plików HTML, a wygląd ze szablonu
B. treść z bazy danych, a wygląd za pomocą atrybutów HTML
C. treść ze statycznych plików HTML, a wygląd we Flashu
D. treść generuje z bazy danych, a wygląd ze zdefiniowanego szablonu
Istotą CMS jest rozdział treści (baza) i wyglądu (szablon). Warianty z treścią w statycznych plikach HTML przeczą dynamicznemu zarządzaniu treścią. Wygląd nie powstaje z atrybutów HTML ani we Flashu (technologia przestarzała), lecz z szablonu. CMS generuje treść z bazy danych, a wygląd ze zdefiniowanego szablonu.

Pytanie 35

W języku PHP, przy pracy z bazą MySQL, aby zakończyć sesję z bazą, należy wywołać

A. mysqli_rollback()
B. mysqli_exit()
C. mysqli_commit()
D. mysqli_close()
Odpowiedź mysqli_close() jest prawidłowa, ponieważ ta funkcja jest używana do zamknięcia połączenia z bazą danych MySQL w języku PHP. Po zakończeniu wszystkich operacji na bazie danych, zaleca się wywołanie tej funkcji, aby zwolnić zasoby systemowe oraz zamknąć połączenie, co jest zgodne z dobrymi praktykami programistycznymi. Użycie mysqli_close() jest istotne, ponieważ niezamknięte połączenia mogą prowadzić do wycieków pamięci i wyczerpania dostępnych zasobów, co z kolei może wpłynąć na wydajność aplikacji. W praktyce, jeśli mamy otwarte połączenie z bazą danych, po zakończeniu operacji, takich jak pobieranie lub wstawianie danych, używamy mysqli_close($connection), gdzie $connection to nasza zmienna reprezentująca połączenie. Oprócz tego, pamiętajmy, że dbanie o odpowiednie zarządzanie połączeniami ma kluczowe znaczenie dla bezpieczeństwa i stabilności naszych aplikacji.

Pytanie 36

Jaką rolę pełni funkcja PHP o nazwie mysql_select_db()?

A. określić bazę, z której będą pobierane dane
B. pobrać dane z bazy danych na podstawie zapytania
C. nawiązać połączenie bazy danych z serwerem SQL
D. określić tabelę, z której będą pobierane informacje
Funkcja mysql_select_db() służy do określenia, która baza danych będzie używana w kontekście bieżącego połączenia z serwerem MySQL. W momencie, gdy nawiązuje się połączenie z serwerem za pomocą funkcji mysql_connect(), należy jasno zdefiniować, w której bazie danych będą wykonywane zapytania. Właściwe ustawienie aktualnej bazy danych jest kluczowe, ponieważ wszelkie operacje związane z pobieraniem lub modyfikowaniem danych będą odnosiły się tylko do tej wskazanej bazy. Przykładowo, jeżeli mamy bazę danych 'sklep' i chcemy pobrać dane o produktach, najpierw musimy wywołać mysql_select_db('sklep'). Dobrą praktyką jest również sprawdzenie, czy operacja wyboru bazy danych zakończyła się sukcesem, co można zrobić, sprawdzając zwracany wynik. Należy pamiętać, że funkcja mysql_select_db() jest częścią starzejącego się interfejsu MySQL, a w nowoczesnych aplikacjach rekomendowane są bardziej aktualne rozszerzenia, takie jak MySQLi lub PDO, które oferują lepsze możliwości obsługi błędów oraz bezpieczeństwo.

Pytanie 37

Którą czynność gwarantującą poprawne wykonanie przedstawionego kodu JavaScript należy wykonać przed pętlą?

var text;
for(var i=0; i<tab.length; i++ ){
    text+=tab[i] + "<br>";
}
A. Upewnić się, że text jest typu string
B. Zainicjować zmienną text
C. Zadeklarować zmienną i
D. Sprawdzić długość tablicy tab
W przedstawionym kodzie JavaScript kluczowe jest zainicjowanie zmiennej 'text' przed rozpoczęciem pętli for. Zmienna ta ma za zadanie zbierać wartości z tablicy 'tab' i konkatenuje je w formie tekstu z dodanym znacznikiem HTML <br>, który służy do łamania linii w przeglądarkach. Gdyby zmienna 'text' nie została zainicjowana, kod próbowałby wykonać operację konkatenacji na niezainicjowanej zmiennej, co skutkowałoby błędem. W JavaScript, zmienne, które nie zostały zainicjowane, mają wartość 'undefined', co może prowadzić do nieprzewidywalnych rezultatów. Dlatego przed pętlą, konieczne jest przypisanie zmiennej 'text' wartości początkowej, na przykład pustego łańcucha: text = ''. Dzięki temu, każda kolejna iteracja pętli doda nowy element tablicy do 'text' w sposób zgodny z zamierzeniem. Praktycznie, inicjalizowanie zmiennej jest fundamentalną praktyką w programowaniu, która zapobiega błędom oraz zapewnia klarowność kodu, co jest zgodne z najlepszymi standardami programowania.

Pytanie 38

Element

<meta charset="utf-8">
definiuje metadane dotyczące strony internetowej, odnosząc się do
A. języka witryny
B. słów kluczowych
C. kodowania znaków
D. opisu witryny
Ten element <meta charset="utf-8"> jest naprawdę ważny w nagłówku stron HTML, bo to on mówi przeglądarkom, jak odczytywać znaki w Twoim dokumencie. Dzięki temu tekst wyświetla się poprawnie na różnych urządzeniach. UTF-8 jest najbardziej popularnym kodowaniem, bo obsługuje niemal wszystkie znaki z różnych języków, co sprawia, że Twoja strona może być bardziej uniwersalna. Na przykład, jeśli masz tekst po polsku, to użycie UTF-8 upewnia się, że takie znaki jak ą czy ć będą prawidłowo pokazane. Właśnie dlatego warto stosować UTF-8, bo to, co zaleca W3C, jest bardzo sensowne - chodzi przecież o to, żeby strona była dostępna dla każdego, niezależnie od tego, z jakiego języka korzysta.

Pytanie 39

Który znacznik HTML służy do budowy STRUKTURY (układu) strony?

A.
<input>
B.
<em>
C.
<mark>
D.
<aside>
Element <aside> to semantyczny znacznik HTML5 budujący STRUKTURĘ strony - wydziela treść poboczną powiązaną z głównym tematem, np. notki na marginesie czy panel boczny. Razem z <header>, <nav>, <section> i <footer> porządkuje układ dokumentu. Dlatego znacznikiem strukturalnym jest <aside>.

Pytanie 40

Jak nazywa się tłumaczenie kodu źródłowego napisanego przez programistę na zrozumiały dla komputera kod maszynowy?

A. wdrażanie
B. kompilowanie
C. analizowanie błędów
D. wykonywanie
Tłumaczenie kodu źródłowego na zrozumiały dla komputera kod maszynowy nazywa się kompilowaniem - wykonuje je kompilator, tworząc plik wynikowy. Dlatego ta czynność to kompilowanie.