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: 27 kwietnia 2026 01:30
  • Data zakończenia: 27 kwietnia 2026 01:31

Egzamin niezdany

Wynik: 8/40 punktów (20,0%)

Wymagane minimum: 20 punktów (50%)

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

Który z poniższych fragmentów kodu HTML sformatuje tekst zgodnie z wymaganiami? (zauważ, że słowo "stacji" jest wyświetlane w większej czcionce niż pozostałe słowa w tej linii)

Ilustracja do pytania
A. Odpowiedź 4: D
B. Odpowiedź 2: B
C. Odpowiedź 3: C
D. Odpowiedź 1: A
Pozostałe odpowiedzi zawierają błędy w składni HTML lub zastosowane znaczniki nie spełniają wymagań zadania. W odpowiedzi A użyto znacznika big tylko dla pierwszego słowa stacji co powoduje że lokomotywa pozostaje w domyślnym rozmiarze czcionki. Odpowiedź C zawiera błąd składniowy ponieważ zamyka znacznik h1 używając p co jest niepoprawne w standardowej specyfikacji HTML. Taki błąd może prowadzić do nieprzewidywalnych rezultatów w wyświetlaniu treści przez różne przeglądarki. W odpowiedzi D zastosowano kombinację znaczników small i h1 co jest niezgodne z semantyką HTML ponieważ znacznik small jest używany do zmniejszania rozmiaru tekstu a nie zwiększania. Ponadto użycie h1 zagnieżdżonego wewnątrz small jest niezgodne z zasadami semantycznego HTML co może negatywnie wpływać na dostępność i SEO strony. Przy projektowaniu stron internetowych ważne jest by stosować właściwe znaczniki zgodnie z ich przeznaczeniem co zwiększa kompatybilność i poprawność kodu oraz ułatwia jego dalsze utrzymanie i rozwój. Użycie CSS do zarządzania stylami jest zalecane jako nowoczesne i elastyczne rozwiązanie w porównaniu do starszych metod formatowania tekstu w HTML.

Pytanie 2

Obejrzyj tabelę mieszkań, która zawiera kolumny: adres, metraż, ile_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie:

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. metraż oraz cena tych mieszkań, które posiadają co najmniej 3 pokoje
B. wszystkie dane mieszkań, które mają co najmniej 3 pokoje
C. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
D. wszystkie informacje, z wyjątkiem adresu, dotyczące mieszkań z więcej niż 3 pokojami
Odpowiedzi, które sugerują, że kwerenda wyświetla wszystkie dane mieszkań z co najmniej 3 pokojami lub wszystkie dane oprócz adresu, są nieprawidłowe z kilku powodów. Przede wszystkim, operator '>' w kwerendzie oznacza, że zapytanie dotyczy jedynie mieszkań z większą liczbą pokoi niż 3, a więc tylko te, które mają 4 lub więcej pokoi będą brane pod uwagę. Odpowiedzi sugerujące, że zwracane są wszystkie dane mieszkań, nie uwzględniają, że kwerenda skupia się wyłącznie na kolumnach metraż i cena, co jest kluczowe w kontekście efektywności i przejrzystości zapytań. W kontekście SQL, wybór określonych kolumn jest bardzo istotny, ponieważ nie tylko zmniejsza objętość przesyłanych danych, ale również ułatwia ich analizę. Niezrozumienie tego aspektu może prowadzić do nieefektywnego korzystania z zasobów bazy danych. Ponadto, stwierdzenie, że kwerenda zwraca wszystkie dane oprócz adresu, jest mylne, ponieważ zapytanie w ogóle nie uwzględnia adresu ani innych informacji, a jedynie metraż i cenę. Tego typu nieprecyzyjne interpretacje mogą zniekształcić obraz tego, jak działa SQL i w jaki sposób można efektywnie zarządzać danymi.

Pytanie 3

W algorytmie jeden z bloków zawiera akcję „Wypisz liczbę”. Jaki kształt może mieć ta akcja?

Ilustracja do pytania
A. Kształt 4
B. Kształt 1
C. Kształt 2
D. Kształt 3
Kształt 1 jest równoległobokiem, który w kontekście algorytmów często reprezentuje operacje wprowadzania lub wyprowadzania danych. W algorytmach i schematach blokowych, różne kształty mają przypisane konkretne funkcje, co jest standardem w projektowaniu programów. Równoległobok jest standardowym symbolem dla operacji wejścia i wyjścia, w tym wypisywania danych na ekranie. Przykładem zastosowania tego może być wypisywanie wyników obliczeń matematycznych na konsoli w językach takich jak Python czy Java. Używanie odpowiednich kształtów pozwala na łatwiejsze zrozumienie działania algorytmu przez innych programistów, co jest kluczowe w pracy zespołowej i podczas dokumentacji projektowej. Dobre praktyki w programowaniu zalecają jasność i przejrzystość schematów blokowych, co ułatwia ich późniejsze utrzymanie i rozwój. Szukając standardów, warto odnieść się do norm ISO/IEC 19515:2017 dotyczących diagramów przepływu pracy, które podkreślają znaczenie konwencji w projektowaniu algorytmów.

Pytanie 4

W dokumencie HTML umieszczono tekst sformatowany określonym stylem. Aby dodać do tego tekstu kilka słów sformatowanych innym stylem, należy użyć znacznika

A. <hr>
B. <section>
C. <span>
D. <table>
Znaczniki <hr>, <table> oraz <section> nie są odpowiednie do wtrącania fragmentów tekstu w innym stylu. <hr> to znacznik, który wprowadza poziomą linię, służący do wizualnego oddzielania elementów na stronie, a nie do formatowania tekstu. Stosowanie go w miejscu, gdzie chcemy zmienić styl fragmentu tekstu, byłoby nieefektywne i zmniejszałoby czytelność. Z kolei <table> jest używane do tworzenia tabel, co oznacza, że jego zastosowanie ogranicza się do strukturyzowania danych w formie wierszy i kolumn. Tego znacznika nie można użyć do lokalnego formatowania tekstu, ponieważ wprowadza on zupełnie inny kontekst i zmienia sposób, w jaki przeglądarka interpretuje i wyświetla zawartość. Ostatecznie <section> jest stosowane do grupowania powiązanych treści w sekcję dokumentu, co jest przydatne w kontekście organizacji treści, ale nie ma zastosowania w przypadku, gdy chcemy zmienić styl pojedynczych wyrazów lub fraz. Każdy z tych znaczników ma swoje specyficzne zastosowanie w HTML, które nie odpowiada potrzebie lokalnego formatowania tekstu, co czyni je niewłaściwymi wyborami w tym kontekście.

Pytanie 5

Kwerenda umożliwiająca wprowadzenie zmian w wielu rekordach lub przeniesienie ich za pomocą jednej operacji nosi nazwę kwerendy

A. funkcjonalnej
B. wybierającej
C. parametrycznej
D. krzyżowej
Kwerenda parametryczna to rodzaj kwerendy, która umożliwia użytkownikowi wprowadzenie parametrów w celu wykonania zapytania. Choć parametry mogą być wykorzystywane do modyfikacji danych, nie są one odpowiednie do wprowadzania masowych zmian, ponieważ wymagają interakcji użytkownika w celu ustalenia wartości parametrów. Z kolei kwerenda wybierająca, której celem jest pobieranie danych z bazy, nie wprowadza ani nie modyfikuje informacji, a jedynie prezentuje dane zgodnie z określonymi kryteriami. To sprawia, że nie można jej używać do wprowadzania zmian w rekordach. Kwerenda krzyżowa natomiast, która jest wykorzystywana do analizy danych w formie tabel przestawnych, również nie działa w kontekście masowych aktualizacji lub przeniesień rekordów. Zamiast tego, kwerendy krzyżowe agregują dane w celu analizy, co sprawia, że są one skuteczne do raportowania, ale nie do operacji modyfikujących bazę danych. Wszystkie te trzy typy kwerend mają swoje specyficzne zastosowania, lecz w kontekście pytania, to kwerenda funkcjonalna jest jedynym odpowiednim narzędziem do wprowadzania zmian w wielu rekordach jednocześnie.

Pytanie 6

Podany fragment dokumentu HTML zawierający kod JavaScript sprawi, że po naciśnięciu przycisku

Ilustracja do pytania
A. obraz1.png zostanie zniknięty
B. obraz2.png zostanie zniknięty
C. obraz2.png zostanie wymieniony na obraz1.png
D. obraz1.png zostanie wymieniony na obraz2.png
W analizie odpowiedzi należy zwrócić uwagę na działanie technologii webowych w kontekście manipulacji elementami HTML. W pytaniu przedstawiono kod JavaScript używany w zdarzeniu onclick przycisku HTML co prowadzi do zmiany stylu elementu. Jeśli chodzi o odpowiedź sugerującą że obraz1.png zostanie ukryty jest to błędne ponieważ w kodzie nie ma odwołania do tego elementu poprzez identyfikator. Manipulacja stylami CSS dotyczy jedynie elementów które zostały jednoznacznie zidentyfikowane w skrypcie. Kolejna błędna odpowiedź mówi że obraz2.png zostanie zastąpiony przez obraz1.png. W rzeczywistości w kodzie nie ma żadnego mechanizmu ani funkcji które by zamieniały jeden obrazek na drugi. Skrypt jedynie ukrywa element zmieniając jego styl display więc nie dochodzi do żadnej zamiany. Odpowiedź sugerująca że obraz1.png zostanie zastąpiony przez obraz2.png również jest błędna z podobnych powodów. Manipulacja DOM w tym przypadku polega wyłącznie na zmianie stylu widoczności a nie na modyfikacji treści czy zamianie elementów. Typowym błędem jest założenie że skrypty JavaScript dokonują zamian elementów co wymaga bardziej zaawansowanych operacji niż zmiana stylu display. Kluczowe w programowaniu webowym jest zrozumienie jak selektywne odwoływanie się do elementów za pomocą funkcji takich jak getElementById pozwala na precyzyjne kontrolowanie ich właściwości i reakcji na interakcje użytkownika co jest fundamentem tworzenia dynamicznych i interaktywnych stron internetowych

Pytanie 7

Definicja stylu zaprezentowana w CSS odnosi się do odsyłacza, który

a:visited {color: orange;}
A. posiada błędny adres URL
B. jeszcze nie był odwiedzony
C. wskaźnik myszy znajduje się nad nim
D. został wcześniej odwiedzony
Odpowiedź "został wcześniej odwiedzony" jest prawidłowa, ponieważ definicja stylu CSS `a:visited {color: orange;}` dotyczy odsyłaczy, które zostały już odwiedzone przez użytkownika. W CSS pseudo-klasa `:visited` jest stosowana do stylizacji odsyłaczy, które prowadzą do stron, które użytkownik już otworzył. Dzięki tej możliwości, twórcy stron internetowych mogą wprowadzać różne kolory dla odwiedzonych i nieodwiedzonych linków, co pozwala na szybszą orientację użytkowników w treści strony. Na przykład, jeżeli na stronie znajduje się wiele linków, użytkownik może łatwiej zrozumieć, które z nich już kliknął, a które są nowe. Dobrą praktyką jest stosowanie kontrastowych kolorów dla odsyłaczy, aby zwiększyć ich dostępność i użyteczność. Warto również zauważyć, że przeglądarki mogą mieć różne ograniczenia dotyczące stylizacji odwiedzonych linków, co jest podyktowane względami prywatności użytkowników. Z tego powodu zaleca się, aby nie opierać funkcjonalności strony jedynie na wyglądzie odwiedzonych linków.

Pytanie 8

Jakim formatem plików dźwiękowych charakteryzuje się kompresja bezstratna?

A. FLAC
B. MP3
C. MPEG
D. WAW
MP3 to format dźwiękowy, który wykorzystuje kompresję, ale niestety jest to kompresja stratna, więc część danych audio się traci. Dlatego jakość dźwięku nie jest najlepsza, co może być problemem dla audiofilów, którzy szukają czegoś lepszego. Z kolei WAV to format nieskompresowany, co oznacza, że zachowuje wszystkie dane, ale pliki są duże… mało praktyczne, zwłaszcza jak masz ogromną bibliotekę muzyczną. MPEG, znany bardziej jako standard kompresji wideo, też może być używany do dźwięku, ale tak jak MP3, traci na jakości. Generalnie ani MP3, ani WAV, ani MPEG nie nadają się do kompresji bezstratnej, więc to nie są dobre odpowiedzi w tym przypadku.

Pytanie 9

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
Zakładając, że użytkownik wcześniej nie posiadał żadnych uprawnień, to polecenie SQL przyzna użytkownikowi anna prawa jedynie do:
A. wybierania, wstawiania oraz aktualizacji danych wszystkich tabel w bazie o nazwie klienci
B. wybierania, dodawania rekordów oraz modyfikacji struktury tabeli o nazwie klienci
C. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
D. wybierania, dodawania rekordów oraz zmiany struktury wszystkich tabel w bazie o nazwie klienci
Wybrane odpowiedzi mylnie sugerują, że przyznawane uprawnienia obejmują szerszy zakres niż rzeczywiście mają miejsce. Na przykład, odpowiedzi wskazujące na możliwość 'zmiany struktury tabeli' są błędne, ponieważ polecenie GRANT w tym kontekście nie daje takich uprawnień. Zmiana struktury tabeli, jak dodawanie czy usuwanie kolumn, wymagałaby uprawnień DDL (Data Definition Language), takich jak ALTER, które nie zostały przyznane w tym przypadku. Ponadto, odpowiedzi związane z 'wszystkimi tabelami w bazie' są również niepoprawne. Komenda GRANT została zastosowana wyłącznie do konkretnej tabeli 'klienci', co oznacza, że użytkownik 'anna' nie zyskuje uprawnień do innych tabel ani do bazy danych jako całości. To pokazuje istotne znaczenie precyzyjnego zarządzania uprawnieniami w środowisku baz danych, aby uniknąć nieautoryzowanego dostępu i niezamierzonych zmian w danych. Błędne interpretacje mogą wynikać z nieznajomości kontekstu użycia polecenia GRANT oraz jego ograniczeń, co często prowadzi do nadmiernego przyznawania uprawnień lub błędnych założeń dotyczących kontroli dostępu. Dążenie do dokładności w przydzielaniu uprawnień jest fundamentalne dla zapewnienia bezpieczeństwa i wydajności systemów baz danych.

Pytanie 10

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

A. mysqli_exit()
B. mysqli_rollback()
C. mysqli_close()
D. mysqli_commit()
Inne odpowiedzi na to pytanie wprowadzają w błąd, ponieważ każda z nich ma inne znaczenie i zastosowanie w kontekście operacji na bazie danych MySQL. Na przykład, mysqli_exit() nie jest standardową funkcją w bibliotece MySQLi i nie istnieje w dokumentacji PHP, co czyni ją nieprawidłową. Funkcje mysqli_commit() i mysqli_rollback() służą do zarządzania transakcjami w bazach danych. mysqli_commit() zapisuje wszystkie zmiany dokonane w bieżącej transakcji, podczas gdy mysqli_rollback() przywraca stan bazy danych do momentu rozpoczęcia transakcji w przypadku, gdy wystąpił błąd lub gdy zdecydujemy się nie akceptować dokonanych zmian. Użycie tych funkcji jest kluczowe w kontekście zapewnienia integralności danych, zwłaszcza w aplikacjach, gdzie wiele operacji zmienia stan bazy danych. Typowy błąd myślowy, który prowadzi do wyboru tych odpowiedzi, to mylenie zamknięcia połączenia z bazą z zarządzaniem transakcjami. Ważne jest, aby zrozumieć, że mimo iż zarówno zamknięcie połączenia, jak i zarządzanie transakcjami są ważnymi aspektami pracy z bazą danych, pełnią one zupełnie różne funkcje. Właściwe zamknięcie połączenia jest kluczowe, aby uniknąć problemów z wydajnością i dostępnością zasobów, które mogą wystąpić, jeśli połączenia nie zostaną prawidłowo zakończone.

Pytanie 11

Element <meta charset="utf-8"> definiuje metadane odnoszące się do strony internetowej dotyczące

A. słów kluczowych
B. języka używanego na stronie
C. opisu witryny
D. kodowania znaków
W kontekście elementu <meta charset="utf-8">, inne odpowiedzi dotyczące opisu strony, języka strony oraz słów kluczowych są mylące i nieprecyzyjne. Opis strony, zazwyczaj reprezentowany przez element <meta name="description">, jest używany do dostarczenia zwięzłego streszczenia zawartości danej strony, co ma wpływ na SEO i sposób wyświetlania w wynikach wyszukiwania. Nie jest to jednak związane z kodowaniem, a raczej z informacjami o treści i celu witryny. Kolejnym aspektem jest język strony, który można określić za pomocą elementu <html lang="pl">, co informuje przeglądarki oraz wyszukiwarki o głównym języku treści. To również nie jest związane z kodowaniem znaków, a raczej z semantyką strony i dostępnością. Ostatni element, słowa kluczowe, tradycyjnie ujęte w <meta name="keywords">, miały na celu wskazanie istotnych fraz związanych z treścią, jednak obecnie ich znaczenie spadło w kontekście SEO. W żadnym z tych przypadków nie ma mowy o kodowaniu, które jest fundamentalnym procesem konwertującym znaki na reprezentacje binarne. Dlatego mylenie tych pojęć prowadzi do niepoprawnego zrozumienia ich roli w strukturze dokumentu HTML.

Pytanie 12

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

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

Pytanie 13

Na ilustracji przedstawiono kompozycję bloków strony www. Który z elementów formatowania strony odpowiada temu układowi? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. Odpowiedź 3: C
B. Odpowiedź 2: B
C. Odpowiedź 4: D
D. Odpowiedź 1: A
Odpowiedź B jest naprawdę na czasie! Widzisz, użyto tutaj techniki pływającego układu z CSS, czyli float i clear. Pierwszy blok pływa w lewo, ma 30% szerokości, dzięki czemu obok niego mogą stać drugi i trzeci blok, które też pływają w lewo i zajmują 70%. To pozwala na ułożenie elementów w jednej linii, o ile kontener ma wystarczająco miejsca. W sumie, float to klasyka przy układach wielokolumnowych, chociaż obecnie sporo osób korzysta z Flexboxa lub Grid Layout. Zauważ, że blok czwarty ma clear:both, więc zacznie się poniżej wcześniejszych elementów pływających. To ważne, bo dzięki temu unikamy problemów z nałożeniem się treści. Zachowanie porządku w układzie jest kluczowe, szczególnie w responsywnym web designie. Tego typu układy są całkiem popularne na stronach z wieloma kolumnami, gdzie elastyczność szerokości ma duże znaczenie.

Pytanie 14

W którym z poniższych przykładów walidacja fragmentu kodu CSS zakończy się sukcesem?

A. <p style="font-style:bold;">
B. p { text-size:bold; }
C. <p style="font-size:bold;">
D. p { font-weight:bold; }
Odpowiedzi, które próbują zastosować atrybuty stylów w niepoprawny sposób, zdradzają zrozumienie składni CSS oraz zasad stylizacji dokumentów HTML. W przypadku <p style="font-style:bold;"> pojawia się błąd, ponieważ atrybut style powinien zawierać właściwość font-weight, a nie font-style. Właściwość font-style jest przeznaczona do określenia stylu czcionki, takiego jak italic czy normal, a nie do ustawiania jej grubości. Zatem użycie 'bold' w kontekście font-style jest nieprawidłowe i prowadzi do tego, że przeglądarka nie zastosuje żadnej stylizacji. W kolejnej opcji, p { text-size:bold; }, znowu widzimy błąd w nazwie właściwości. Nie istnieje właściwość CSS o nazwie text-size; powinna być użyta font-size, a wartością mogą być jednostki takie jak px, em, rem itp. Ponadto, wartość 'bold' nie jest odpowiednia dla font-size, ponieważ ta właściwość przyjmuje liczby i jednostki, a nie stylizację. Ostatnia odpowiedź, <p style="font-size:bold;">, również jest błędna z tego samego powodu co wcześniej - font-size wymaga konkretnej wartości w jednostkach, a 'bold' nie jest akceptowalną wartością. Te błędne odpowiedzi pokazują, jak ważne jest zrozumienie składni CSS i stosowanie właściwych nazw właściwości w celu efektywnego stylizowania dokumentów HTML.

Pytanie 15

Jakiego typu mechanizm zabezpieczeń aplikacji jest zawarty w środowisku uruchomieniowym platformy .NET Framework?

A. Mechanizm uruchamiania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
B. Mechanizm uruchamiania aplikacji dla bibliotek klas
C. Mechanizm uruchamiania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
D. Mechanizm uruchamiania aplikacji zrealizowany przez frameworki aplikacji webowych (ASP.NET)
Mechanizm wykonywania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) oraz na rolach (RBS - Role-Based Security) jest kluczowym elementem platformy .NET Framework, który zapewnia odpowiedni poziom bezpieczeństwa dla aplikacji. CAS umożliwia definiowanie poziomów uprawnień dla różnych komponentów kodu, co pozwala na kontrolę, jakie operacje mogą być wykonywane przez dany kod w zależności od jego pochodzenia oraz kontekstu. Na przykład, aplikacja uruchomiona z lokalnego dysku może mieć inne uprawnienia niż ta sama aplikacja uruchomiona z internetu. RBS z kolei umożliwia przypisywanie ról użytkownikom, co pozwala na dalsze graniczenie dostępu do funkcji aplikacji w oparciu o przypisane role. Takie podejście nie tylko zabezpiecza aplikacje przed nieautoryzowanym dostępem, ale także wspiera środowiska wieloużytkownikowe, gdzie różne osoby mogą potrzebować różnych poziomów dostępu. Przykładowo, w aplikacji webowej mogą istnieć role administratora, edytora i widza, gdzie każdy z użytkowników ma różne możliwości interakcji z systemem. Zastosowanie CAS i RBS jest zgodne z najlepszymi praktykami w zakresie zabezpieczeń kodu, co jest istotne w kontekście rosnących zagrożeń w dzisiejszym świecie cyfrowym.

Pytanie 16

Znaczniki HTML <strong> oraz <em> używane do wyróżniania istotności tekstu, pod względem formatowania odpowiadają znacznikom

A. ```<b>``` oraz ```<i>```
B. ```<b>``` oraz ```<u>```
C. ```<i>``` oraz ```<mark>```
D. ```<u>``` oraz ```<sup>```
Wybór znacznika <i> oraz <mark> jako odpowiedzi na pytanie o semantyczne odpowiedniki <strong> oraz <em> można uznać za niepoprawny, ponieważ znaczniki te pełnią inne funkcje. Znacznik <mark> służy do wyróżniania tekstu, co ma na celu zwrócenie uwagi na istotne informacje, ale nie odnosi się bezpośrednio do semantycznego akcentowania. Z kolei <i>, mimo że jest używany do kursywnego pisma, nie niesie ze sobą znaczenia semantycznego, które jest kluczowe dla HTML5. Oznaczenie tekstu jako kursywy nie wskazuje, że tekst jest ważniejszy, a użycie <u> do podkreślenia tekstu, które sugeruje tylko wizualne podkreślenie, również nie ma semantycznego znaczenia. Znacznik <b> jest bardziej zbliżony do <strong> pod względem wizualnym, ale nie posiada jego semantycznej wartości. Używanie <u> czy <sup> do oznaczania ważności tekstu jest również błędne, ponieważ <sup> wskazuje na tekst w indeksie górnym, co nie ma związku z akcentowaniem. Typowe błędy myślowe w tym kontekście mogą wynikać z mylenia aspektów wizualnych z semantycznymi w HTML. Dlatego kluczowe jest, aby przy projektowaniu stron używać znaczników zgodnych z ich przeznaczeniem, co nie tylko poprawi strukturalność dokumentu, ale także przyczyni się do lepszego doświadczenia użytkownika oraz dostępności treści.

Pytanie 17

Wskaż poprawne zdanie dotyczące poniższego polecenia. ```CREATE TABLE IF NOT EXISTS ADRES (ulica VARCHAR(70)) CHARACTER SET utf8); ```

A. Nie można dodawać do tabeli ulic, które zawierają polskie znaki w nazwie
B. Klauzula CHARACTER SET utf8 jest wymagana
C. Rekord tabeli nie może mieć wartości 3 MAJA
D. IF NOT EXISTS używa się opcjonalnie, żeby potwierdzić, że taka tabela nie istnieje w bazie danych
Pierwsze stwierdzenie, że rekordem tabeli nie może być 3 MAJA, jest niepoprawne, ponieważ w SQL nie ma ograniczeń co do znaków w wartościach tekstowych poza ogólnymi zasadami dotyczącymi typów danych. Jeżeli kolumna była zdefiniowana jako VARCHAR, można wprowadzać dowolne ciągi znaków, w tym daty w formacie tekstowym, o ile są one zgodne z ograniczeniami zdefiniowanymi na poziomie bazy danych. Drugie stwierdzenie, że klauzula CHARACTER SET utf8 jest obowiązkowa, również jest błędne. Ustalanie zestawu znaków jest opcjonalne; jeśli nie zostanie określony, system domyślnie użyje zestawu znaków przypisanego do bazy danych. Zestaw znaków jest istotny dla poprawnego przechowywania i wyświetlania danych tekstowych, ale jego brak nie uniemożliwia stworzenia tabeli. Wreszcie, trzecie stwierdzenie, że do tabeli nie można wprowadzać ulic zawierających polskie znaki, jest nieprawdziwe. W przypadku użycia zestawu znaków utf8, baza danych jest w stanie poprawnie przechowywać i przetwarzać polskie znaki diakrytyczne, takie jak ą, ę, ó, czy ł. W związku z tym nie ma żadnych ograniczeń co do wprowadzania takich danych, co czyni wprowadzenie ulic z polskimi znakami jak najbardziej możliwym i prawidłowym.

Pytanie 18

Funkcjonalność obejmującą edycję kodu źródłowego, jego kompilację, tworzenie zasobów programu, baz danych i komponentów udostępnia

A. debugger
B. środowisko IDE
C. Notpead++
D. PhpMyAdmin
W tym pytaniu kluczowe jest zrozumienie, że chodzi o narzędzie, które w jednym miejscu łączy edycję kodu, kompilację, tworzenie zasobów programu, pracę z bazami danych i komponentami. Taki zestaw funkcji jest dość rozbudowany i nie zapewni go pojedynczy, prosty program. Częsty błąd polega na myleniu pojedynczej funkcji z pełnym środowiskiem programistycznym. Debugger na przykład jest bardzo ważnym narzędziem, ale jego zadanie to analiza działania programu krok po kroku, ustawianie breakpointów, podgląd wartości zmiennych, stosu wywołań. Debugger zwykle jest tylko jednym z modułów wchodzących w skład większego środowiska IDE. Sam z siebie nie służy ani do pisania kodu w wygodny sposób, ani do zarządzania zasobami aplikacji czy bazą danych. Podobnie Notepad++ to rozbudowany edytor tekstu z podświetlaniem składni, wtyczkami, możliwością pracy na wielu plikach. Jednak to nadal tylko edytor, a nie pełne IDE. Nie posiada natywnego systemu kompilacji projektów, zaawansowanego zarządzania projektem, integracji z kompilatorami i budowaniem całych rozwiązań w sposób typowy dla środowisk programistycznych. Oczywiście da się w nim pisać kod, ale cała reszta procesu programowania spada na użytkownika i zewnętrzne narzędzia. PhpMyAdmin z kolei jest narzędziem stricte bazodanowym, webowym interfejsem do zarządzania serwerem MySQL/MariaDB. Umożliwia tworzenie i modyfikowanie tabel, wykonywanie zapytań SQL, eksport i import danych. Nie służy do edycji kodu źródłowego aplikacji ani do kompilacji programów. Czasem pojawia się tu typowe złudzenie: skoro narzędzie ma coś wspólnego z bazami danych albo kodem, to może „załatwia wszystko”. W praktyce każda z tych aplikacji realizuje tylko wycinek funkcjonalności opisanej w pytaniu. Pełny zestaw: edycja, kompilacja, zasoby, bazy i komponenty – to domena środowisk IDE, które integrują wiele narzędzi w jednym spójnym interfejsie, zgodnie z dobrymi praktykami pracy programisty.

Pytanie 19

Funkcja, która wywołuje samą siebie to

A. rekurencja
B. dziedziczenie
C. iteracja
D. hermetyzacja
Iteracja, hermetyzacja i dziedziczenie to pojęcia związane z programowaniem, ale nie odnoszą się do konceptu rekurencji. Iteracja to proces powtarzania zestawu instrukcji, aż do spełnienia określonego warunku. W przeciwieństwie do rekurencji, w iteracji nie zachodzi wywoływanie samej siebie, a raczej wykorzystuje się pętle, takie jak for czy while, aby przejść przez dane lub wykonywać operacje wielokrotnie. Hermetyzacja odnosi się do techniki programowania obiektowego, która polega na ukrywaniu wewnętrznych szczegółów implementacji obiektu i udostępnianiu jedynie niezbędnych interfejsów, co pozwala na zachowanie kontroli nad danymi i ich modyfikacjami. To z kolei wpływa na zwiększenie bezpieczeństwa oraz modularności kodu, ale nie ma związku z wywoływaniem funkcji samej siebie. Dziedziczenie to mechanizm, który umożliwia tworzenie nowych klas na podstawie już istniejących, dzieląc z nimi atrybuty oraz metody. Chociaż dziedziczenie jest fundamentalnym aspektem programowania obiektowego, nie dotyczy ono rekurencji ani sposobu, w jaki funkcje mogą się wywoływać. Każda z tych koncepcji ma swoje unikalne zastosowanie i znaczenie w programowaniu, ale są one odrębne od idei rekurencji.

Pytanie 20

Aby przesłać informacje za pomocą funkcji mysqli_query) w skrypcie PHP, który dodaje do bazy danych dane uzyskane z formularza na stronie internetowej, jako jeden z argumentów trzeba użyć kwerendy

A. UPDATE
B. ALTER
C. INSERT INTO
D. SELECT
Odpowiedzi takie jak 'UPDATE', 'SELECT' oraz 'ALTER' nie są odpowiednie w kontekście wstawiania nowych danych do bazy. Kwerenda 'UPDATE' służy do modyfikacji istniejących rekordów, co oznacza, że używając jej, zmieniamy już zapisane dane, a nie dodajemy nowe. Na przykład, użycie 'UPDATE uzytkownicy SET email = '[email protected]' WHERE imie = 'Jan'' zmienia adres e-mail Jana, ale nie wstawia nowych informacji. 'SELECT' z kolei jest używana do pobierania danych z bazy, co oznacza, że nie ma zastosowania w procesie dodawania nowych rekordów. W przypadku 'SELECT' moglibyśmy chcieć wyświetlić wszystkie dane użytkowników, co również nie wpisuje się w kontekst wstawiania. Natomiast 'ALTER' służy do zmiany struktury tabeli, co oznacza, że przy jej użyciu możemy dodawać lub usuwać kolumny, ale nie jest to bezpośrednio związane z wprowadzaniem nowych danych. Często niepoprawne zrozumienie działania kwerend SQL prowadzi do zamieszania, zwłaszcza w kontekście operacji CRUD (Create, Read, Update, Delete), gdzie każdy z tych terminów ma swoje ściśle określone znaczenie. Warto zatem przyswoić sobie podstawowe różnice między tymi kwerendami, aby móc skutecznie zarządzać danymi w bazie danych.

Pytanie 21

Jakie właściwości stylu CSS poprawnie definiują dla akapitu czcionkę: Arial; jej wielkość: 16 pt; oraz styl czcionki: kursywa?

A. p {font-style: Arial; font-size: 16pt; font-variant: normal;}
B. p {font-style: Arial; size: 16px; font-weight: normal;}
C. p {font-family: Arial; font-size: 16px; font-variant: normal;}
D. p {font-family: Arial; font-size: 16pt; font-style: italic;}
Odpowiedź p {font-family: Arial; font-size: 16pt; font-style: italic;} jest poprawna, ponieważ zawiera wszystkie istotne właściwości, które definiują krój, rozmiar oraz styl czcionki dla akapitu. Właściwość font-family definiuje krój czcionki, w tym przypadku Arial, co jest zgodne z wymaganiami. Właściwość font-size ustawia rozmiar czcionki na 16 punktów (pt), co jest standardowym sposobem definiowania wielkości czcionki w kontekście typografii. Ponadto właściwość font-style została poprawnie użyta do określenia stylu pochylenia czcionki, co w CSS jest reprezentowane przez wartość italic. Te właściwości są zgodne z dobrymi praktykami w CSS, które zalecają precyzyjne definiowanie czcionek, aby zapewnić spójność w prezentacji tekstu. Przykładowo, stosując ten styl w dokumencie HTML, uzyskasz wyraźnie wyodrębniony akapit, który będzie atrakcyjny wizualnie i czytelny. Zastosowanie odpowiednich jednostek, takich jak pt dla rozmiaru czcionki, jest również istotne dla zapewnienia odpowiedniej skalowalności na różnych urządzeniach.

Pytanie 22

Który z wymienionych systemów nie należy do systemów CMS?

A. Drupal
B. Joomla!
C. Adobe Flash
D. WordPress
Drupal, Joomla! oraz WordPress to systemy zarządzania treścią, które różnią się pod względem funkcji, architektury oraz grupy docelowej. Drupal jest zaawansowanym CMS-em, który dedykowany jest zarówno dla profesjonalnych twórców stron, jak i dużych organizacji, oferując niezwykle elastyczne możliwości konfiguracji oraz bogaty ekosystem modułów. Dzięki temu, użytkownicy mogą tworzyć skomplikowane strony internetowe i aplikacje webowe, zarządzając jednocześnie złożonymi strukturami treści. Joomla! to kolejny CMS o szerokim zastosowaniu, który łączy w sobie łatwość użycia z potężnymi funkcjami, co czyni go idealnym rozwiązaniem dla małych i średnich przedsiębiorstw. Oferuje szereg komponentów, które umożliwiają dodawanie różnych funkcji, takich jak galerie zdjęć, forum czy e-commerce. WordPress, z kolei, to najpopularniejszy CMS na świecie, znany z prostoty obsługi oraz bogatej biblioteki wtyczek i motywów. Jest idealny dla blogerów oraz osób chcących szybko stworzyć stronę internetową. Każdy z tych systemów ułatwia użytkownikom zarządzanie treścią, archiwizację, a także publikację bez potrzeby znajomości programowania, co czyni je niezastąpionymi narzędziami w tworzeniu nowoczesnych stron internetowych.

Pytanie 23

Odszumienie zapisu dźwiękowego można wykonać w programie

A. Blender
B. FileZilla
C. Inkscape
D. Audacity
W tym pytaniu łatwo się złapać na skojarzeniach z nazwami programów, ale kluczowe jest zrozumienie, do czego konkretnie służy każde z narzędzi. Odszumianie nagrań audio to operacja typowo z zakresu edycji dźwięku, czyli pracy na sygnale audio, filtrach, efektach i analizie widma częstotliwości. Do takich zadań potrzebny jest edytor audio lub środowisko DAW, a nie ogólny program graficzny, klient FTP czy narzędzie 3D. Blender to bardzo rozbudowany pakiet, ale jego główny obszar to grafika 3D: modelowanie, animacja, rendering, efekty specjalne. Ma co prawda prosty edytor wideo i ścieżek dźwiękowych, jednak nie jest to narzędzie wyspecjalizowane do zaawansowanej obróbki audio, szczególnie w kontekście precyzyjnego odszumiania. Używanie go do takich zadań byłoby niewygodne i niezgodne z typowymi workflow w branży. FileZilla z kolei to klient FTP/SFTP, służący do przesyłania plików między komputerem lokalnym a serwerem. To narzędzie sieciowe, nie ma żadnych funkcji edycji zawartości plików audio. Typowy błąd myślowy tutaj to mieszanie pojęcia „praca z plikami” z „edycją plików”. FileZilla umożliwia tylko kopiowanie, usuwanie i zmianę nazwy plików na serwerze, ale nie potrafi zmienić ich zawartości w sensie dźwięku, obrazu czy kodu. Inkscape natomiast to program do grafiki wektorowej. Służy do tworzenia ilustracji, ikon, logotypów, schematów, czyli pracy na krzywych i kształtach, a nie na falach dźwiękowych. Odszumianie w świecie grafiki oznaczałoby raczej redukcję szumu na zdjęciach czy obrazach rastrowych, ale Inkscape nawet tym się nie zajmuje, bo nie jest edytorem bitmap, tylko wektorów. W kontekście dźwięku jest całkowicie nieprzydatny. W praktyce, jeżeli mówimy o odszumianiu nagrań audio, zawsze szukamy narzędzi z kategorii edytorów dźwięku (Audacity, Adobe Audition, Reaper itd.), bo one mają wbudowane algorytmy redukcji szumu, filtry i wizualizacje widma. Mylące jest czasem to, że różne programy obsługują „media”, ale specjalizacja jest tu kluczowa: grafika 3D, grafika wektorowa, transfer plików i edycja audio to zupełnie różne światy, inne formaty danych i inne zestawy narzędzi. Dlatego wybór Audacity jako programu do odszumiania jest technicznie uzasadniony, a pozostałe opcje wynikają raczej z przypadkowych skojarzeń niż z faktycznych funkcji tych aplikacji.

Pytanie 24

W języku SQL, aby dodać atrybut klucza podstawowego do pola id w istniejącej tabeli produkt należy użyć składni

A. ALTER TABLE produkt ADD PRIMARY KEY (id)
B. ALTER TABLE produkt DROP PRIMARY KEY
C. ALTER TABLE produkt DROP CONSTRAINT id
D. ALTER TABLE produkt ALTER COLUMN id INT
W SQL do modyfikowania struktury tabeli służy instrukcja ALTER TABLE, ale poszczególne warianty tej komendy robią bardzo różne rzeczy. W tym zadaniu chodzi konkretnie o dodanie atrybutu klucza podstawowego do istniejącej kolumny id, więc potrzebne jest utworzenie ograniczenia typu PRIMARY KEY dla tej kolumny. Właśnie to robi składnia z klauzulą ADD PRIMARY KEY (id). Częsty błąd polega na myleniu zmiany typu kolumny albo usuwania ograniczeń z ich dodawaniem. Polecenie ALTER TABLE produkt ALTER COLUMN id INT jedynie zmienia definicję kolumny, na przykład jej typ danych, domyślną wartość, ewentualnie atrybuty typu NOT NULL, w zależności od dialektu SQL. Nie tworzy ono żadnego klucza podstawowego. Ktoś może myśleć, że „ALTER COLUMN” doda jakieś specjalne właściwości, ale samo ustawienie typu INT nie ma nic wspólnego z unikalnością czy identyfikacją wierszy. Z kolei ALTER TABLE produkt DROP CONSTRAINT id sugeruje usunięcie istniejącego ograniczenia o nazwie id. Takiego polecenia używa się wtedy, gdy constraint już istnieje i chcemy go skasować, na przykład przed zmianą klucza głównego. To jest operacja odwrotna do dodawania ograniczenia, więc nie rozwiązuje problemu z treści pytania. Podobnie ALTER TABLE produkt DROP PRIMARY KEY usuwa bieżący klucz podstawowy z tabeli. W niektórych silnikach SQL to polecenie jest wręcz wymagane, zanim zdefiniuje się nowy klucz. W każdym razie DROP PRIMARY KEY nie dodaje żadnego klucza, tylko go likwiduje. Typowym źródłem pomyłek jest myślenie „skoro chcę coś zmienić w kolumnie, to ALTER COLUMN wystarczy” albo „DROP/ADD, jakoś to będzie”. W praktyce trzeba rozróżniać trzy poziomy: definicję samej kolumny (typ, rozmiar, NULL/NOT NULL), definicje ograniczeń (PRIMARY KEY, UNIQUE, FOREIGN KEY) oraz indeksy. Klucz podstawowy jest właśnie constraintem, więc operujemy na nim poprzez ADD PRIMARY KEY, a nie przez samą zmianę typu kolumny czy usuwanie ograniczeń. Dobrą praktyką jest też zawsze sprawdzić, jakie ograniczenia aktualnie istnieją w tabeli, zanim zacznie się je modyfikować.

Pytanie 25

Według zasad walidacji HTML5, właściwym zapisem dla znacznika hr jest

A. </hr?>
B. <hr>
C. </ hr />
D. </ hr>
Znaczniki HTML mają ściśle określoną składnię, której nieprzestrzeganie prowadzi do błędów interpretacji przez przeglądarki oraz problemów z dostępnością. W przypadku odpowiedzi, które zawierają '/ hr', '/hr?>' oraz '/ hr />', pojawia się nieporozumienie dotyczące struktury znaczników samodzielnych. W HTML5 znaczniki takie jak <hr> są elementami samodzielnymi, co oznacza, że nie potrzebują ani otwierającego, ani zamykającego znacznika. Użycie '/ hr' sugeruje, że element wymaga zamknięcia, co jest błędne. Ponadto, '/hr?>' zawiera nieprawidłowy znak '>', który w kontekście HTML nie ma sensu, co skutkuje błędem w kodzie. ' />' w odpowiedzi '/ hr />' może powodować mylenie z XHTML, gdzie rzeczywiście wymagane jest zamknięcie dla elementów samodzielnych. XHTML i HTML5 to różne standardy, a HTML5 został zaprojektowany w taki sposób, aby uprościć pisanie kodu i zwiększyć jego czytelność. Typowe błędy myślowe obejmują mylenie zasad dotyczących XHTML z HTML5 oraz niewłaściwe rozumienie, że wszystkie elementy muszą być zamykane. Ważne jest, aby zrozumieć różnice między tymi dwiema technologiami oraz stosować aktualne standardy, aby zapewnić kompatybilność i poprawność kodu.

Pytanie 26

W tabeli artykuly wykonano określone instrukcje dotyczące uprawnień użytkownika jan. Po ich realizacji użytkownik jan uzyska możliwość

GRANT ALL PRIVILEGES ON artykuly TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan
A. edycji danych i przeglądania zawartości tabeli
B. tworzenia tabeli oraz edytowania jej zawartości
C. tworzenia tabeli i wypełniania jej informacjami
D. sprawdzania zawartości tabeli
Analizując pytanie i dostępną sekwencję poleceń SQL jasno wynika że użytkownik jan po wykonaniu tych poleceń nie zachowa uprawnień do przeglądania ani aktualizowania danych w tabeli artykuly. Pierwsze polecenie GRANT ALL PRIVILEGES przyznaje pełne uprawnienia co obejmuje tworzenie modyfikowanie usuwanie danych oraz ich przeglądanie. Jednakże drugie polecenie REVOKE SELECT UPDATE wycofuje konkretne prawa do przeglądania (SELECT) oraz aktualizowania (UPDATE) danych co oznacza że jan nie będzie mógł ani przeglądać ani modyfikować istniejących danych. To wyklucza odpowiedzi dotyczące aktualizowania danych i przeglądania tabeli jako poprawne. Często błędem jest założenie że cofnięcie tylko dwóch uprawnień nie wpłynie na możliwość podstawowych operacji takich jak przeglądanie. W rzeczywistości koordynacja uprawnień w bazach danych wymaga dokładnej analizy wszystkich przyznanych i cofniętych praw. Takie zarządzanie dostępem jest kluczowe dla zapewnienia bezpieczeństwa i integralności danych szczególnie w środowiskach produkcyjnych gdzie błędna konfiguracja może prowadzić do niepożądanych modyfikacji lub utraty danych.

Pytanie 27

Jaki format CSS dla akapitu definiuje styl szarej ramki z następującymi cechami?

p {
  padding: 15px;
  border: 2px dotted gray; }
A. linia ciągła; grubość 2 px; marginesy poza ramką 15 px
B. linia kropkowa; grubość 2 px; marginesy między tekstem a ramką 15 px
C. linia kreskowa; grubość 2 px; marginesy poza ramką 15 px
D. linia ciągła; grubość 2 px; marginesy między tekstem a ramką 15 px
Odpowiedzi, które sugerują inne rodzaje obramowań, nie są zgodne z przedstawionym kodem CSS. Linia ciągła, określana jako 'solid', różni się od linii kropkowanej 'dotted', ponieważ jest to ciągła linia bez przerw. Wybór typu linii jest istotny w kontekście wizualnej prezentacji treści i ma wpływ na percepcję estetyczną strony internetowej. Ponadto, odpowiedzi sugerujące marginesy poza ramką zamiast marginesów wewnętrznych wprowadzają błąd w interpretacji właściwości 'padding'. 'Padding' odnosi się do przestrzeni wewnątrz elementu, pomiędzy jego zawartością a granicą, a nie do zewnętrznej przestrzeni między elementem a otaczającymi go obiektami, która jest kontrolowana za pomocą właściwości 'margin'. Tego typu błędne rozumienie może prowadzić do nieprawidłowego stylizowania elementów na stronie, co skutkuje nieestetycznym układem treści i pogorszoną czytelnością. Warto zawsze dokładnie zapoznać się z definicjami i działaniem poszczególnych właściwości CSS, aby unikać takich pomyłek. Zrozumienie różnicy między 'padding' a 'margin' jest kluczowe dla poprawnego projektowania układów stron zgodnie z najlepszymi praktykami w branży web designu

Pytanie 28

Zapytanie: SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje zwrócenie:

A. imion, numerów PESEL oraz wieku osób, które mają więcej niż 30 lat
B. imion, numerów PESEL oraz wieku osób, których wiek wynosi 18 lub 30 lat
C. imion, nazwisk oraz numerów PESEL osób mających mniej niż 18 lat
D. imion, numerów PESEL oraz wieku osób w przedziale od 18 do 30 lat
Zapytanie SQL, które zostało podane, wykorzystuje klauzulę WHERE z operatorem IN, co oznacza, że wybiera tylko te rekordy, które spełniają określone warunki. W tym przypadku, filtrujemy osoby na podstawie ich wieku, wybierając tylko te, które mają 18 lub 30 lat. W związku z tym, wynik zapytania będzie zawierał imiona, numery PESEL oraz wiek osób, które mają dokładnie 18 lub 30 lat. W praktyce, takie zapytania są niezwykle użyteczne w bazach danych, gdzie często potrzebujemy uzyskać dane dla konkretnej grupy wiekowej. Dobrą praktyką jest również stosowanie takich filtrów, aby unikać błędów w analizach danych i zapewnić, że wyniki są zgodne z oczekiwaniami. Na przykład, jeśli prowadzisz badania demograficzne, możesz chcieć skupić się na określonych grupach wiekowych, co pozwala na bardziej szczegółowe wnioski i lepsze zrozumienie danej populacji."}

Pytanie 29

Przedstawione polecenie SQL nadaje użytkownikowi adam@localhost prawa:

GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO adam@localhost
A. manipulowania danymi bazy danych klienci.
B. zarządzania strukturą tabeli klienci.
C. zarządzania strukturą bazy danych klienci.
D. manipulowania danymi w tabeli klienci.
Niepoprawne odpowiedzi sugerują, że polecenie SQL nadaje użytkownikowi 'adam' z hosta 'localhost' prawa zarządzania strukturą bazy danych lub tabeli 'klienci', co jest niezgodne z prawdą. Zgodnie z konstrukcją polecenia GRANT, użytkownik otrzymuje prawa do manipulowania danymi, a nie do zarządzania strukturą. Zarządzanie strukturą bazy danych lub tabeli obejmuje operacje takie jak CREATE, ALTER, DROP, które pozwalają na tworzenie, modyfikowanie lub usuwanie bazy danych lub tabeli. Te uprawnienia są zazwyczaj zarezerwowane dla administratorów bazy danych i nie są nadawane zwykłym użytkownikom, co jest zgodne z zasadą minimalnych uprawnień dla bezpieczeństwa systemu. Dodatkowo, polecenie nie odnosi się do całej bazy danych 'klienci', tylko do konkretnej tabeli 'klienci'. Tę pomyłkę można zrozumieć, jako nieprawidłowe zrozumienie hierarchii i struktury bazy danych.

Pytanie 30

Jakie informacje z ośmiu wpisanych rekordów w tabeli zwierzęta zostaną przedstawione w wyniku wykonania wskazanej instrukcji SQL?

Ilustracja do pytania
A. Figaro, Dika, Fuks
B. Fafik, Brutus, Dika, Fuks
C. Dika, Fuks
D. Anna Kowalska, Jan Nowak
Pozostałe odpowiedzi nie uwzględniają poprawnej interpretacji zapytania SQL. Kluczem jest zrozumienie, że zapytanie SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016; poszukuje rekordów, gdzie rodzaj jest 2, a szczepienie równe 2016. Figaro, mimo że ma rodzaj 2, nie spełnia kryterium szczepienia, ponieważ jego wartość to NULL, co oznacza brak danych w tej kolumnie. Dlatego jest wykluczony z wyników. W przypadku Fafika i Brutusa, chociaż mają rok szczepienia 2016, ich rodzaj wynosi 1, co również ich dyskwalifikuje. Zwroty takie jak NULL są istotne przy analizie danych, szczególnie w kontekście brakujących wartości. Zrozumienie, jak działa operator AND oraz filtracja wielokryterialna, jest kluczowe dla efektywnego korzystania z SQL. Praktyczne znaczenie ma również znajomość operatorów logicznych i umiejętność ich zastosowania w prawdziwych projektach, gdzie efektywność i poprawność zapytań mają bezpośredni wpływ na działanie systemów.

Pytanie 31

Po wykonaniu poniższego kodu JavaScript, co będzie przechowywać zmienna str2?

var str1 = "JavaScript";
var str2 = str1.substring(2,6);
A. vaSc
B. avaS
C. vaScri
D. nvaScr
W przypadku analizy kodu JavaScript kluczowym aspektem jest zrozumienie działania metody substring która służy do wyodrębniania fragmentów łańcuchów znaków. Metoda przyjmuje dwa parametry: indeks początkowy oraz opcjonalny indeks końcowy. W kontekście pytania błędnym podejściem jest niedokładna interpretacja tych indeksów. Pierwsza niepoprawna odpowiedź avaS zakłada że wyodrębniane są znaki od 0 do 3 co jest niezgodne z podanymi indeksami 2 i 6. Druga odpowiedź vaScri zakłada że metoda substring obejmuje znaki aż do indeksu 6 włącznie co jest błędnym zrozumieniem zakresu działania tej metody. Metoda substring kończy wybieranie na znaku poprzedzającym indeks końcowy dlatego indeks 6 nie jest uwzględniany przy wyborze znaków. Kolejna niepoprawna odpowiedź nvaScr próbuje wybrać znaki rozpoczynając od indeksu 1 co jest błędnym startowym punktem dla zakresu 2 do 6. W kontekście dobrych praktyk programistycznych istotnym jest zrozumienie że indeksowanie od zera ma wpływ na rezultaty metod operujących na łańcuchach znaków. Częstym błędem początkujących programistów jest nieuwzględnienie tego faktu co prowadzi do niepoprawnych wyników i błędów logicznych w aplikacjach. Znajomość tych zasad pozwala efektywnie wykorzystywać możliwości języka JavaScript w codziennej pracy programistycznej.

Pytanie 32

Do ilu pól edycyjnych zostanie przypisane tło Teal dla przedstawionego fragmentu dokumentu HTML i stylu CSS?

<input type="text">
<input type="number">
<input type="email">
<input type="number">
<input>

input[type="number"] {
    background-color: Teal;
}
A. Do trzech.
B. Do wszystkich.
C. Do żadnego.
D. Do dwóch.
Wybór niepoprawnej odpowiedzi sugeruje pewne nieporozumienia dotyczące zasad działania CSS i tego, jak style są aplikowane do elementów HTML. Wszystkie niepoprawne odpowiedzi sugerują, że tło Teal zostanie przypisane do innej liczby pól edycyjnych niż faktycznie. W tym przypadku, tło Teal jest zdefiniowane w stylu CSS i ma być zastosowane tylko do pól typu 'number'. W HTML, możemy określić różne typy pól edycyjnych, takie jak 'text', 'number', 'email' i inne. Typy te są używane przez przeglądarki, aby dostarczyć odpowiednie interfejsy użytkownika dla różnych typów danych. Niezrozumienie tego może prowadzić do błędnych wniosków, jak na przykład ten, że wszystkie pola edycyjne otrzymają styl, czy że żadne pole nie otrzyma stylu. Ważne jest, aby zrozumieć, jak selektory atrybutów w CSS pozwalają na precyzyjne określenie, do jakich elementów powinien być zastosowany dany styl.

Pytanie 33

Zaprezentowano tabelę stworzoną za pomocą kodu HTML, bez zastosowania stylów CSS. Który z poniższych fragmentów kodu HTML odnosi się do pierwszego wiersza tabeli?

Ilustracja do pytania
A. D
B. B
C. C
D. A
W przypadku odpowiedzi A zastosowano znaczniki <td> co jest błędną praktyką dla nagłówków tabeli. Znaczniki <td> służą do definiowania zwykłych komórek danych a nie komórek nagłówkowych. Użycie <td> w nagłówkach pozbawia tabelę odpowiednich walorów semantycznych co utrudnia jej późniejsze stylizowanie oraz dostępność. W odpowiedzi B użyto znacznika <i> jako części nagłówków co jest nieoptymalne ponieważ znacznik ten semantycznie oznacza zmianę tonu lub stylu i nie jest przeznaczony do formatowania komórek tabeli. Oznacza to że formatowanie takie może być odebrane jako nieodpowiednie przez czytniki ekranowe co dodatkowo wpływa na dostępność. Natomiast w odpowiedzi C zastosowano znacznik <center> wewnątrz <td> co jest przestarzałą techniką HTML oraz nie jest zalecane we współczesnym tworzeniu stron internetowych. Znacznik <center> został zdeprecjonowany w HTML 4.01 i nie powinien być używany ponieważ jego funkcjonalność można osiągnąć za pomocą CSS. Wszystkie te podejścia pomijają aspekty semantycznego tworzenia stron internetowych co jest kluczowe dla utrzymania prawidłowej struktury dokumentu oraz dostępności dla użytkowników z różnymi potrzebami.

Pytanie 34

Na stronie internetowej dodano grafikę w kodzie HTML. Co się stanie, jeśli plik rysunek.png nie zostanie odnaleziony przez przeglądarkę?

<img src="rysunek.png" alt="pejzaż">
A. wyświetli tekst "pejzaż" w miejscu grafiki
B. nie pokaże strony internetowej
C. zademonstruje błąd wyświetlania strony w miejscu grafiki
D. wstawi tekst "rysunek.png" zamiast grafiki
Kiedy używasz elementu <img> w HTML, warto ogarnąć, jak przeglądarka radzi sobie z jego atrybutami. Gdy obrazek pod danym adresem nie jest dostępny, przeglądarka nie wyświetli błędu dla całej strony. Strona dalej będzie działać normalnie, a przeglądarka po prostu nie wyświetli obrazka. W takim przypadku dostaniesz tekst z atrybutu alt jako zamiennik. Jeśli zapomniałbyś o tym atrybucie, to użytkownik nie dowie się, co tam miało być na tym obrazku. Może się wydawać, że przeglądarka wyświetli nazwę brakującego pliku graficznego, ale tak nie jest. Często wynika to z tego, że nie wszyscy znają zasady poprawnego projektowania stron, gdzie stosowanie tekstu alternatywnego to standardowa praktyka, która wspiera dostępność i użyteczność aplikacji webowych.

Pytanie 35

W programowaniu tylko jedna zmienna z wbudowanego typu może przyjmować zaledwie dwie wartości. Jakie to jest?

A. tablicowy
B. znakowy
C. logiczy
D. łańcuchowy
Typ znakowy, zwany także character, reprezentuje pojedyncze znaki, takie jak litery czy cyfry, i nie jest ograniczony do dwóch wartości. Przykładowo, zmienna znakowa może przyjąć wartość 'A', 'b', '3' czy nawet znak specjalny, co sprawia, że jej zakres jest znacznie szerszy niż tylko dwa stany logiczne. Natomiast typ tablicowy jest strukturą danych, która pozwala na przechowywanie wielu wartości w jednym obiekcie. Tablice mogą zawierać elementy różnych typów, w tym zmiennych logicznych, a ich rozmiar oraz typy elementów mogą się różnić w zależności od języka programowania. W językach takich jak C czy Java, tablice mogą mieć różne wymiary, co umożliwia organizowanie danych w bardziej złożony sposób. Z kolei typ łańcuchowy, znany jako string, składa się z sekwencji znaków i jest używany do przechowywania tekstu. Łańcuchy mogą mieć różną długość i nie są ograniczone do dwóch wartości, co również czyni je nieodpowiednimi w kontekście pytania. Ostatecznie, zmienne znakowe, tablicowe i łańcuchowe różnią się znacznie od typu logicznego, który jest jedynym typem danych wbudowanym, przyjmującym wyłącznie dwie wartości.

Pytanie 36

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

A. JPG
B. PNG
C. BMP
D. CDR
Wybór BMP dla logo to nie najlepszy pomysł, bo nie ma tam przezroczystości, a pliki są sporo większe niż te z PNG. BMP to format surowych danych graficznych, więc do internetu się nie nadaje – tam liczy się szybkość ładowania i rozmiar. Trochę inaczej jest z CDR, bo to format głównie w programach graficznych, np. CorelDRAW, ale w przeglądarkach nie jest to coś standardowego. A co z JPG? To lossy format, więc niestety traci się na jakości przy kompresji, a przezroczystość też nie jest jego mocną stroną. Kiedy robimy logo, które musi być ostre i wyraźne, to takie zniekształcenia mogą wyjść na niekorzyść. Wiele osób myli te formaty, bo są znane, ale fajnie by było zrozumieć, że nie wszystko pasuje do wszystkiego. Zły wybór formatu może zepsuć wizualną jakość i funkcjonalność grafik w sieci.

Pytanie 37

Edytor, który realizuje zasady WYSIWYG, powinien umożliwiać

A. osiągnięcie podobnego rezultatu tworzonej strony do jej wizualizacji w przeglądarce internetowej
B. tworzenie elementów podstawowej grafiki wektorowej
C. przetwarzanie plików dźwiękowych przed ich umieszczeniem na stronie internetowej
D. publikację serwisów na serwerze przy użyciu wbudowanego klienta FTP
Wybór niepoprawnych odpowiedzi ukazuje szerszy kontekst funkcjonalności edytorów WYSIWYG i ich ograniczeń. Tworzenie podstawowej grafiki wektorowej nie jest typowym zadaniem dla edytora WYSIWYG, ponieważ te narzędzia koncentrują się głównie na edytowaniu treści tekstowych, układzie stron oraz zarządzaniu mediami, a nie na tworzeniu grafiki. Edytory graficzne, takie jak Adobe Illustrator czy Inkscape, są przeznaczone do pracy z grafiką wektorową, co różni się od funkcji edytora WYSIWYG. Publikacja strony na serwerze poprzez wbudowanego klienta FTP natomiast odnosi się do procesu transferu plików i nie jest kluczowym aspektem edytorów WYSIWYG, które skupiają się na tworzeniu i edytowaniu treści. Zazwyczaj użytkownicy korzystają z dedykowanych programów FTP do zarządzania tym procesem, a edytory WYSIWYG powinny jedynie eksportować gotową stronę do formatu, który można łatwo przesłać. Obróbka plików dźwiękowych przed umieszczeniem ich na stronie internetowej również nie jest funkcją edytora WYSIWYG. Edytory te zazwyczaj oferują jedynie opcje wstawiania multimediów, takich jak dźwięk czy wideo, ale nie zajmują się ich edytowaniem. Programy do edycji dźwięku, takie jak Audacity, służą do tego celu i oferują pełne możliwości obróbcze. W kontekście edytorów WYSIWYG kluczowe jest ich skupienie na prezentacji i łatwości użycia, a nie na złożonych procesach edycyjnych innych typów plików.

Pytanie 38

Narzędzie phpMyAdmin służy do administrowania serwerem

A. WWW
B. baz danych
C. FTP
D. plików
phpMyAdmin wielu osobom kojarzy się po prostu z „tym panelem w przeglądarce”, więc łatwo tu o pomyłkę co on właściwie administruje. Warto to sobie dobrze uporządkować, bo miesza się tu kilka warstw: serwer WWW, protokoły, pliki na serwerze i serwer baz danych. phpMyAdmin jest aplikacją webową napisaną w PHP, która służy jako graficzny interfejs do zarządzania serwerem baz danych MySQL lub MariaDB. To oznacza, że jego głównym zadaniem jest operowanie na strukturach bazodanowych i danych, a nie bezpośrednie zarządzanie serwerem WWW. Odpowiedź „WWW” bywa kusząca, bo faktycznie uruchamiasz phpMyAdmina w przeglądarce pod adresem HTTP/HTTPS, często zintegrowanym z panelem hostingu. Ale serwer WWW (np. Apache, Nginx) to osobna usługa, która tylko „serwuje” interfejs phpMyAdmina. Konfigurację wirtualnych hostów, certyfikatów SSL, modułów itp. ogarnia się zupełnie innymi narzędziami i plikami konfiguracyjnymi, a nie przez phpMyAdmina. Mylenie tych ról to typowy błąd: skoro coś jest w przeglądarce, to ludzie myślą, że to narzędzie do WWW, a tu chodzi o warstwę danych. Podobnie jest z odpowiedzią „FTP”. FTP to protokół do przesyłania plików między klientem a serwerem, używa się go np. do wrzucania plików strony na hosting. phpMyAdmin nie zarządza serwerem FTP, nie ustawia kont FTP, nie przerzuca plików po tym protokole. Owszem, czasem możesz wyeksportować bazę do pliku i potem go pobrać, ale to jest zwykłe pobieranie HTTP, nie administracja FTP. Odpowiedź „plików” też jest myląca, bo w phpMyAdminie widzisz dane w formie tabel i rekordów, a nie jako system plików. Pliki na serwerze (PHP, HTML, CSS, grafiki) leżą w katalogach systemu operacyjnego, zarządza się nimi przez FTP, SFTP, SSH albo menedżer plików w panelu hostingu. phpMyAdmin nie służy do przenoszenia katalogów, zmiany uprawnień plików systemowych czy instalowania aplikacji przez kopiowanie plików. On operuje na poziomie SQL: SELECT, INSERT, UPDATE, DELETE, ALTER TABLE itd. Typowy błąd myślowy polega na wrzuceniu „wszystkiego, co jest w panelu hostingu” do jednego worka. Tymczasem dobra praktyka w administracji i programowaniu webowym to rozumieć podział ról: serwer WWW serwuje strony, serwer FTP/SSH obsługuje pliki, a serwer baz danych trzyma dane aplikacji. phpMyAdmin jest właśnie wygodnym interfejsem do tego trzeciego elementu – serwera baz danych, a nie do całej reszty infrastruktury.

Pytanie 39

Wskaź złożony typ danych.

A. float
B. bool
C. char
D. class
Złożone typy w programowaniu to takie struktury, które mogą mieć wiele wartości albo różne rodzaje danych. W językach takich jak C++ czy Java, typ 'class' jest super ważny, bo dzięki niemu możemy tworzyć obiekty. Klasa działa jak szablon do tworzenia obiektów, gdzie możesz mieć różne dane (pola) i funkcje (metody), które z tymi danymi coś robią. Na przykład klasa 'Samochód' mogłaby mieć pola, takie jak 'marka' i 'model', a także metody jak 'przyspiesz()' lub 'hamuj()'. W programowaniu obiektowym mamy różne zasady, jak enkapsulacja czy dziedziczenie. Definiowanie klas pozwala na lepszą organizację kodu, co ułatwia pracę, zwłaszcza przy większych projektach. Klasy są teraz podstawowym elementem wielu nowoczesnych języków, więc warto się ich dobrze nauczyć, bo naprawdę pomagają w tworzeniu aplikacji.

Pytanie 40

Została stworzona baza danych z tabelą podzespoły, która zawiera pola: model, producent, typ, cena. W celu wyświetlenia wszystkich modeli pamięci RAM od firmy Kingston w porządku rosnącym według ceny, należy skorzystać z następującej kwerendy:

A. SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC
B. SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC
C. SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC
D. SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC
Aby skutecznie wyświetlić wszystkie modele pamięci RAM firmy Kingston w kolejności od najtańszej do najdroższej, konieczne jest zrozumienie składni zapytań SQL oraz zasad filtrowania danych w bazie danych. Kwerenda SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC; jest poprawna, ponieważ precyzyjnie określa, że chcemy wybrać pole 'model' z tabeli 'podzespoly', gdzie warunki są spełnione dla typu 'RAM' oraz producenta 'Kingston'. Kluczowym aspektem jest użycie operatora AND, który zapewnia, że oba warunki muszą być spełnione, co pozwala na uzyskanie dokładnych wyników. Następnie, zastosowanie klauzuli ORDER BY cena ASC pozwala na posortowanie wyników w kolejności rosnącej według ceny, co jest istotne dla użytkowników poszukujących najtańszych opcji. Przykładem zastosowania tej kwerendy w praktyce może być analiza konkurencyjności cenowej produktów na rynku pamięci RAM, co jest istotne dla sprzedawców i konsumentów. W kontekście standardów SQL, konstrukcja ta przestrzega zasad definiowanych przez ANSI SQL, co czyni ją zgodną z większością systemów zarządzania bazami danych.