Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 29 kwietnia 2026 09:56
  • Data zakończenia: 29 kwietnia 2026 10:33

Egzamin zdany!

Wynik: 25/40 punktów (62,5%)

Wymagane minimum: 20 punktów (50%)

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

Które z pól edycyjnych zostało wystylizowane według poniższego wzoru, zakładając, że pozostałe atrybuty pola mają wartości domyślne, a użytkownik wpisał imię Krzysztof w przeglądarce?

input {
    padding: 10px;
    background-color: Teal;
    color: white;
    border: none;
    border-radius: 7px;
}
Ilustracja do pytania
A. Pole 1
B. Pole 4
C. Pole 2
D. Pole 3
Pole 1 mimo że prezentuje tekst w większym prostokątnym formacie nie ma charakterystycznego zaokrąglenia krawędzi które jest kluczowe dla podanego stylu CSS Zaokrąglenie krawędzi border-radius 7px to istotna część stylu która wpływa na wizualne odczucie przyjazności i nowoczesności interfejsu użytkownika dodatkowo kolor tekstu w Polu 1 wydaje się niezgodny z podanym stylem ponieważ biel tekstu jest priorytetyzowana dla kontrastu na ciemnym tle Pole 3 z kolei choć posiada pewien stopień zaokrąglenia nie spełnia wymagań pełnego zaokrąglenia 7px a także jego kolorystyka może różnić się od poprawnie zastosowanego tła Teal i białego tekstu co może prowadzić do problemów z czytelnością Pole 4 mimo że może wydawać się odpowiednie pod względem kształtu ma bardziej wyraziste obramowanie które jest sprzeczne z właściwością border none celem którego jest usunięcie widocznych linii obramowania Kluczowym elementem przy stylizacji jest spójna implementacja wszystkich właściwości CSS co oznacza że brak jednego z nich jak zaokrąglenie czy kolor tekstu może znacząco wpłynąć na końcowy odbiór i funkcjonalność elementu wizualnego Właściwe zrozumienie i stosowanie stylów CSS jest podstawą tworzenia atrakcyjnych i funkcjonalnych interfejsów które są jednocześnie estetyczne i ergonomiczne w użytkowaniu

Pytanie 2

DOM oferuje metody i właściwości, które w języku JavaScript umożliwiają

A. manipulowanie łańcuchami zadeklarowanymi w kodzie
B. przesyłanie danych formularza bezpośrednio do bazy danych
C. przeprowadzanie operacji na zmiennych przechowujących liczby
D. pobieranie oraz modyfikowanie elementów strony widocznej w przeglądarce
Zarówno wysyłanie danych formularza bezpośrednio do bazy danych, jak i manipulowanie zadeklarowanymi w kodzie łańcuchami są podejściami, które mogą być mylące w kontekście funkcji DOM. Przede wszystkim, DOM nie jest odpowiedzialny za interakcję z bazami danych. Wysyłanie danych formularza do bazy danych odbywa się zazwyczaj poprzez technologię backendową, taką jak PHP, Node.js czy Python, która przetwarza dane po stronie serwera. Użytkownik nie może bezpośrednio łączyć się z bazą danych z poziomu przeglądarki, co jest kluczowym aspektem bezpieczeństwa aplikacji internetowych. Ponadto, manipulacja łańcuchami w kontekście DOM również nie jest jego funkcją. DOM jest skoncentrowany na reprezentacji strukturalnej dokumentu, a nie na operacjach na danych. Takie operacje powinny być realizowane w kontekście zmiennych JavaScript, a nie za pośrednictwem DOM. Zrozumienie różnicy między tymi technologiami jest fundamentalne, aby uniknąć nieporozumień w programowaniu oraz zapewnić poprawne funkcjonowanie aplikacji. Typowe błędy myślowe obejmują mylenie pojęć związanych z front-endem i back-endem, co może prowadzić do błędnych wniosków na temat architektury aplikacji. Kluczowe jest, aby programiści zdawali sobie sprawę, że każdy komponent aplikacji ma swoje specyficzne zadania i odpowiedzialności.

Pytanie 3

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. zapytanie do bazy, wybór bazy, 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. wybór bazy, zapytanie do bazy, nawiązanie połączenia z serwerem baz danych, 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 4

Jakie jest właściwe określenie stylu CSS dla przycisku typu submit z czarnym tłem, bez ramki oraz z marginesami wewnętrznymi równymi 5 px?

input[type=submit] {
    background-color: #000000;
    border: none;
    padding: 5px;
} A
input[type=submit] {
    background-color: #ffffff;
    border: none;
    padding: 5px;
} B
input=submit {
    background-color: #000000;
    border: none;
    margin: 5px;
} C
input=submit {
    background-color: #000000;
    border: 0px;
    margin: 5px;
} D
A. C
B. D
C. B
D. A
Niepoprawne odpowiedzi wynikają głównie z błędnego użycia właściwości CSS lub z nieprawidłowej struktury selektora. W odpowiedzi B mamy kolor tła #ffffff, a to nie spełnia wymogu czarnego tła. To może być spowodowane nieuwagą albo brakiem zrozumienia wymagań. Odpowiedzi C i D z kolei używają margin zamiast padding, co zdecydowanie jest błędem w kontekście tego pytania. Margin dotyczy zewnętrznych odstępów między elementami i nie ma wpływu na wewnętrzne wymiary przycisku, co może efektem być brzydki wygląd przycisku w interfejsie. Ponadto w odpowiedziach C i D widzimy niepoprawny format selektora input=submit; co jest syntaktycznie złe. Poprawna składnia to input[type=submit], bo to wskazuje na element formularza o typie submit. Nie zrozumienie różnicy miedzy padding a margin oraz selektorami CSS może prowadzić do zamieszania i problemów w stylizacji. Ważne jest, żeby każda właściwość CSS była używana z pełnym zrozumieniem, jak wpływa na elementy interfejsu, by osiągnąć zamierzony efekt wizualny i funkcjonalny. Dobrą praktyką jest też sprawdzenie styli w różnych przeglądarkach, żeby upewnić się, że wszystko działa jak należy w różnych środowiskach. Rozumienie i stosowanie CSS jest kluczowe, by tworzyć profesjonalne i funkcjonalne strony.

Pytanie 5

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

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

Pytanie 6

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

A. prologu <!DOCTYPE html>
B. <body>
C. przynajmniej jednego <h1>
D. <meta name="author" content="....">
Prolog <!DOCTYPE html> jest kluczowym elementem każdego dokumentu HTML5, który definiuje typ dokumentu i jego wersję. Jego obecność umożliwia przeglądarkom internetowym prawidłowe interpretowanie i renderowanie treści strony. Bez tego prologu przeglądarka nie ma informacji o tym, że strona powinna być interpretowana jako dokument HTML5, co może prowadzić do nieprzewidywalnych wyników w renderowaniu i działaniu strony. W praktyce, dodanie <!DOCTYPE html> na początku dokumentu HTML jest fundamentalnym krokiem, który powinien być zawsze przestrzegany. Standardy W3C jasno określają, że prolog jest niezbędny, aby zapewnić zgodność z HTML5 i uniknąć błędów walidacji. Na przykład, jeśli zapomnimy o tym elemencie, nasza strona może nie wyświetlać się poprawnie w różnych przeglądarkach, co z kolei wpłynie na doświadczenia użytkowników oraz pozycjonowanie strony w wyszukiwarkach. Dlatego każdy programista powinien traktować <!DOCTYPE html> jako nieodłączny element kodu HTML, zapewniając tym samym stabilność i spójność prezentowanej treści.

Pytanie 7

Zdefiniowano poniższą funkcję w PHP:

function policz($Z) {
    while($Z < 5) {
        $Z += 2 * $Z + 1;
    }
    return $Z;
}
Funkcję policz wywołano z wartością argumentu $Z = 1. Jaki rezultat zostanie zwrócony?
A. 13
B. 7
C. 4
D. 1
Niestety, tutaj coś nie zagrało. W pytaniu była funkcja 'policz' w PHP, która iteracyjnie zwiększa wartość zmiennej $Z, aż ta nie przekroczy 5. W każdej iteracji $Z rośnie o 2 * $Z + 1. Jak widać, przy odpowiednim argumencie początkowym wartość $Z rośnie bardzo szybko. W naszym przypadku zaczynamy z $Z równym 1. Po dwóch krokach mamy już 13, co kończy działanie pętli. Zamiast 1, 7 czy 4, funkcja 'policz' zwraca 13. Kluczowe jest zrozumienie, jak działają te iteracje i pętle w PHP.

Pytanie 8

Tabele Klienci oraz Zgloszenia są związane relacją jeden do wielu. Jakie polecenie należy wydać, aby uzyskać tylko opis zgłoszenia oraz odpowiadające mu nazwisko klienta dla zgłoszenia numer 5?

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci WHERE Klienci.id = 5
B. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.id WHERE Zgloszenia.id = 5
C. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Zgloszenia.id = 5
Ta odpowiedź jest prawidłowa, ponieważ używa poprawnej składni SQL do wykonania zapytania z dwóch tabel powiązanych relacją jeden do wielu. Kluczowym elementem jest użycie klauzuli JOIN, która łączy tabelę Zgloszenia z tabelą Klienci poprzez pole Klienci_id, będące kluczem obcym w tabeli Zgloszenia. Dzięki temu możliwe jest powiązanie odpowiednich rekordów z dwóch tabel. Warunek w klauzuli WHERE Zgloszenia.id = 5 precyzuje, że zapytanie ma zwrócić dane tylko dla zgłoszenia o identyfikatorze 5. Taki sposób pisania zapytań SQL jest zgodny z normami ANSI SQL i jest powszechnie stosowany w systemach zarządzania bazami danych jak MySQL, PostgreSQL czy SQL Server. Korzystanie z JOIN, zwłaszcza z klauzulą ON, jest dobrą praktyką, ponieważ zapewnia czytelność i bezpieczeństwo zapytań. W realnych zastosowaniach, takie zapytania są używane do łączenia danych z różnych źródeł w celu ich analizy lub raportowania. Prawidłowa struktura zapytania ułatwia jego modyfikację i integrację z innymi operacjami bazy danych, co jest niezbędne w zarządzaniu danymi w dużych systemach informatycznych. Zrozumienie mechanizmu JOIN oraz użycie klauzuli WHERE w celu ograniczenia wyników jest kluczowe w efektywnym zarządzaniu i analizie danych w relacyjnych bazach danych.

Pytanie 9

Deklaracja

<!DOCTYPE html>
informuje przeglądarkę internetową o:
A. dostosowaniu strony internetowej do różnych rozmiarów urządzeń.
B. wersji języka HTML zastosowanej w dokumencie strony internetowej.
C. tytule strony internetowej.
D. indeksowaniu strony internetowej na potrzeby pozycjonowania witryny.
Deklaracja <!DOCTYPE html> to wbrew pozorom bardzo ważny element każdej poprawnej strony internetowej. Informuje przeglądarkę, jaka wersja języka HTML została użyta w dokumencie, a w praktyce – że ma renderować stronę w trybie zgodnym ze współczesnym standardem HTML5. Dzięki temu przeglądarka nie próbuje włączać tzw. „quirks mode”, czyli trybu zgodności ze starymi, historycznymi błędami Internet Explorera, tylko stosuje aktualne zasady specyfikacji. Moim zdaniem to jest jeden z tych drobiazgów, które po prostu trzeba pisać z automatu na górze każdego pliku .html. W starszych wersjach HTML deklaracja DOCTYPE była dużo dłuższa i określała konkretne DTD (Document Type Definition), np. dla HTML 4.01 Transitional czy XHTML 1.0 Strict. W HTML5 uproszczono to do jednej, krótkiej formy: <!DOCTYPE html>. To właśnie ta linijka mówi: „to jest dokument HTML5”. Na tej podstawie silnik przeglądarki dobiera reguły parsowania, walidacji struktury i sposób interpretacji wielu elementów, np. sekcji <header>, <footer>, <section>, a także nowych atrybutów formularzy. W praktyce, gdy tworzysz nową stronę, zawsze zaczynasz od: <!DOCTYPE html> <html lang="pl"> <head>… Jeśli pominiesz DOCTYPE albo wpiszesz go błędnie, możesz mieć kłopot z tym, że strona wygląda inaczej w różnych przeglądarkach, pojawią się problemy z modelu pudełkowym CSS (box model), z obsługą nowych znaczników lub z poprawnym działaniem responsywnego layoutu. Walidatory W3C też zakładają konkretną wersję HTML na podstawie DOCTYPE i pod nią sprawdzają poprawność kodu. Z mojego doświadczenia wynika, że poprawny DOCTYPE to absolutna podstawa profesjonalnego front-endu, nawet jeśli wygląda jak coś „magicznego” na samej górze pliku.

Pytanie 10

Emblemat systemu CMS o nazwie Joomla! to

Ilustracja do pytania
A. A.
B. B.
C. D.
D. C.
Logo systemu CMS Joomla! składa się z czterech kolorowych elementów ułożonych w ciekawy wzór, który od razu zwraca uwagę. Moim zdaniem, ten design dobrze oddaje ideę Joomla!, bo podkreśla współpracę i wspólnotę. To jeden z najpopularniejszych systemów do zarządzania treścią na świecie, a ludzie go używają do różnych rzeczy – od prostych blogów po naprawdę rozbudowane portale korporacyjne. Dzięki fajnym rozszerzeniom i szablonom można na prawdę spersonalizować swoją stronę. Co ważne, Joomla! wspiera dobre praktyki SEO, więc jest super opcją dla deweloperów, którzy chcą, żeby ich strony były dobrze widoczne w sieci. Widziałem, że to logo często pojawia się na stronach jako znak jakości, co pokazuje, jak bardzo jest rozpoznawalne i ważne w branży. Wybór tego logo jest więc trafiony i daje dobry punkt wyjścia do nauki o CMS-ach i ich zastosowaniach w realnym świecie.

Pytanie 11

W dokumencie XHTML znajduje się fragment kodu, który posiada błąd w walidacji. Na czym ten błąd polega? ```

tekst

pierwsza linia
Druga linia

```
A. Nie ma nagłówka szóstego stopnia
B. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
C. Znacznik <br> musi być zamknięty
D. Znaczniki powinny być zapisywane dużymi literami
W odpowiedzi wskazano, że znacznik <br> powinien być zamknięty, co jest zgodne z zasadami XHTML. W przeciwieństwie do HTML, w XHTML każdy znacznik musi być poprawnie zamknięty, aby kod był zgodny ze standardami. W przypadku znacznika <br>, który służy do wstawienia łamania linii, powinien być zapisany jako <br /> w XHTML. Taki sposób zapisu zapewnia, że dokument jest poprawnie zinterpretowany przez przeglądarki i inne narzędzia przetwarzające. Warto również zaznaczyć, że poprawne zamykanie znaczników jest kluczowe dla utrzymania struktury dokumentu i jego walidacji, co wpływa na dostępność i SEO. Praktyczne przykłady obejmują tworzenie dokumentów XHTML, w których konsekwentnie stosuje się poprawną składnię, co ułatwia ich przyszłą edycję i utrzymanie. Zastosowanie poprawnych standardów, takich jak XHTML, jest również dobre dla interoperacyjności między różnymi platformami i aplikacjami.

Pytanie 12

Jaką szerokość zaplanowano dla treści strony, bazując na podanej definicji CSS?

body {
  border: 2px;
  height: 600px;
  width: 560px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
A. 560 px
B. 2 px
C. 640 px
D. 600 px
Gratulacje, udzieliłeś poprawnej odpowiedzi. W definicji CSS dla elementu body, szerokość ustawiono na 560 px. Właściwość box-sizing: border-box, gwarantuje, że szerokość ta obejmuje również obramowanie. Dlatego, w praktyce, szerokość strony pozostawiona na treść wynosi 560 px. Wartości te są bardzo ważne przy projektowaniu stron internetowych, szczególnie przy tworzeniu responsywnych layoutów, gdzie musimy precyzyjnie kontrolować szerokość i rozmieszczenie elementów. Pamiętaj, że wykorzystanie odpowiednich jednostek i precyzyjne definiowanie wymiarów jest kluczowe dla zachowania poprawnej struktury strony. Dobrym nawykiem jest również stosowanie właściwości box-sizing: border-box, która ułatwia kontrolę nad rozmiarem elementów, zwłaszcza przy komplikowanych układach strony.

Pytanie 13

Który z poniższych typów plików NIE JEST używany do publikacji grafiki lub animacji na stronach www?

A. SWF
B. PNG
C. AIFF
D. SVG
AIFF (Audio Interchange File Format) to format plików dźwiękowych, który nie jest wykorzystywany do publikacji grafiki ani animacji na stronach internetowych. Jego głównym zastosowaniem jest przechowywanie wysokiej jakości dźwięku, dlatego znajdujemy go często w produkcjach audio i nagraniach muzycznych. W przeciwieństwie do formatów jak SVG (Scalable Vector Graphics), SWF (Shockwave Flash) czy PNG (Portable Network Graphics), które są przeznaczone do grafiki i animacji, AIFF nie jest odpowiedni do wizualizacji treści w sieci. Przykładowo, SVG jest często wykorzystywany do tworzenia skalowalnych grafik wektorowych, które są popularne w projektowaniu stron internetowych, a PNG jest formatem rastrowym, który świetnie sprawdza się w przypadku obrazów z przezroczystością. W kontekście publikacji internetowych, kluczowe jest stosowanie odpowiednich formatów, które zapewniają optymalizację i zgodność z różnymi przeglądarkami, a AIFF nie spełnia tych wymagań.

Pytanie 14

Użycie znacznika <b> do pogrubienia tekstu może być również osiągnięte poprzez zastosowanie reguły CSS

A. font-weight
B. text-size
C. font-size
D. text-weight
Właściwości 'text-weight' i 'text-size' w ogóle nie istnieją w CSS, więc mogą wprowadzać w błąd, jeśli chodzi o stylizację tekstu. Często takie odpowiedzi biorą się z błędnego rozumienia terminów CSS i składni, która jest używana do ustawiania stylów. 'Text-weight' po prostu nie ma w dokumentacji CSS, więc nie da się tym regulować grubości tekstu. Z kolei 'text-size' to pomyłka, bo chodzi o 'font-size', które służy do określania rozmiaru czcionki, a nie grubości. Używanie takich niewłaściwych terminów może prowadzić do frustracji oraz błędów w kodowaniu, zwłaszcza w projektach, gdzie precyzja jest kluczowa. Zrozumienie 'font-weight' jest naprawdę ważne, aby dobrze stylizować tekst w CSS. Używanie standardowych właściwości CSS, takich jak 'font-weight', pomoże osiągnąć zamierzone efekty zgodnie z dobrymi praktykami. Z mojej perspektywy, znajomość tych właściwości nie tylko poprawi estetykę strony, ale też jej funkcjonalność i dostępność.

Pytanie 15

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

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

Pytanie 16

Uprawnienia obiektowe, przyznawane użytkownikom serwera bazy danych, mogą umożliwiać lub uniemożliwiać

A. wykonywanie operacji na bazie, takich jak wstawianie lub modyfikowanie danych
B. dziedziczenie uprawnień
C. realizowanie czynności, takich jak tworzenie kopii zapasowej
D. zmienianie ról oraz kont użytkowników
Uprawnienia obiektowe w systemach zarządzania bazami danych (DBMS) są kluczowym elementem bezpieczeństwa oraz zarządzania dostępem do danych. Pozwalają one na kontrolowanie, kto i w jaki sposób może korzystać z zasobów bazy danych. Odpowiedź dotycząca wykonywania operacji na bazie, takich jak wstawianie lub modyfikowanie danych, jest poprawna, ponieważ uprawnienia te bezpośrednio odnoszą się do możliwości modyfikacji danych, co jest fundamentem działania aplikacji bazodanowych. Na przykład, użytkownik z odpowiednimi uprawnieniami może dodawać nowe rekordy do tabeli za pomocą instrukcji SQL INSERT lub modyfikować istniejące dane za pomocą UPDATE. W kontekście standardów, takie jak SQL-92 oraz nowsze wersje, definiują uprawnienia, które mogą być przyznawane użytkownikom na poziomie obiektów, co pozwala na granularne zarządzanie dostępem. W praktyce, administratorzy baz danych muszą starannie przydzielać te uprawnienia, aby zapewnić integralność i bezpieczeństwo danych w systemie, co jest niezbędne do efektywnego zarządzania informacjami.

Pytanie 17

W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu. <h6>CSS</h6>
<p>Kaskadowe arkusze stylów <b>ang.<i>Cascading Style Sheets</b></i>)<br>to język służący...</p>

A. Znak br nie może być użyty wewnątrz znacznika p.
B. Znak zamykający /b jest niezgodny z zasadą zagnieżdżania.
C. Znak br nie został prawidłowo zamknięty.
D. Znacznik h6 jest nieznany.
W analizowanym fragmencie kodu HTML występuje błąd związany z niewłaściwym zagnieżdżeniem znaczników. W szczególności, znacznik zamykający </b> został umieszczony przed zamknięciem znacznika <i>, co narusza zasady zagnieżdżania elementów w HTML. Zgodnie z wytycznymi W3C (World Wide Web Consortium), każdy znacznik otwierający musi mieć odpowiedni znacznik zamykający w odpowiedniej kolejności, a zagnieżdżanie elementów musi być przestrzegane, aby zapewnić poprawną strukturę dokumentu. W tym przypadku poprawna sekwencja powinna wyglądać następująco: <i>...</i><b>...</b>, co oznacza, że znacznik <i> powinien być zamknięty po znaczniku <b>. Przykładowo, prawidłowy zapis mógłby wyglądać tak: <p>Kaskadowe arkusze stylów <b>ang.<i>Cascading Style Sheets</i></b> to język służący...</p>. Taka struktura zapewnia, że znaczniki są poprawnie zagnieżdżone, co przekłada się na lepszą interpretację przez przeglądarki oraz narzędzia do walidacji HTML.

Pytanie 18

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. grupowania.
B. wykluczenia.
C. części wspólnej.
D. sumy.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 19

Po wykonaniu kodu PHP zostanie wyświetlona aktualna data zawierająca jedynie
echo date("Y");

A. dzień
B. rok
C. dzień i miesiąc
D. miesiąc i rok
Odpowiedź \"rok\" jest prawidłowa, ponieważ funkcja `date()` w PHP, w przypadku użycia formatu \"Y\", zwraca czterocyfrowy rok bieżącej daty. Funkcja ta jest kluczowa w kontekście programowania w PHP, szczególnie gdy chodzi o zarządzanie datami i czasem. W praktyce, używanie tej funkcji jest niezwykle istotne w aplikacjach internetowych, gdzie często jest potrzebne wyświetlenie daty w różnych formach. Na przykład, w systemach zarządzania treścią (CMS) można stosować funkcję `date()` do automatycznego generowania daty publikacji artykułów. Warto również zaznaczyć, że PHP oferuje różne formaty dla dat, a stosowanie standardów, takich jak format ISO 8601, może być przydatne w przypadku wymiany danych z innymi systemami. Używanie `date("Y")` to dobra praktyka, aby uniknąć problemów z lokalizacją i zapewnić spójność w wyświetlaniu daty na stronach internetowych."

Pytanie 20

Funkcja zaprezentowana w PHP

function dzialania(int $x, float $y) {
  $z = $x + $y;
  return $z;
}
A. jest zadeklarowana z dwoma parametrami rzeczywistymi.
B. przyjmuje dwa argumenty z wartością domyślną.
C. zwraca wynik.
D. nie zwraca wyniku.
Odpowiedzi, które sugerują, iż funkcja nie zwraca wartości, są błędne, ponieważ wyraźnie widać, że zawiera instrukcję return, co świadczy o jej zdolności do zwracania wyniku. Takie nieporozumienia mogą wynikać z braku zrozumienia struktury funkcji w PHP, gdzie return jest kluczowym elementem określającym, że funkcja coś zwraca. Inna błędna odpowiedź sugeruje, że funkcja pobiera parametry z domyślną wartością. Chociaż PHP pozwala na definiowanie takich parametrów, w tym przypadku nie ma przypisanych wartości domyślnych, co oznacza, że użytkownik musi dostarczyć odpowiednie argumenty przy wywołaniu funkcji. Ponadto odpowiedź o dwóch rzeczywistych parametrach również wprowadza w błąd, gdyż typy są dokładnie określone jako int i float, co oznacza, że jeden z parametrów jest całkowity, a drugi zmiennoprzecinkowy. Takie niezrozumienie może być wynikiem braku uwagi na szczegóły podczas analizy kodu. Poprawne zrozumienie sygnatury i działania funkcji jest kluczowe dla skutecznego programowania, a błędne interpretacje mogą prowadzić do defektów w kodzie, które są trudne do zidentyfikowania i naprawy bez odpowiedniej wiedzy i doświadczenia w analizie typu danych oraz struktury funkcji w PHP. W praktyce, uniknięcie takich pomyłek wymaga dokładnej lektury kodu oraz praktyki w implementacji funkcji o różnorodnych sygnaturach w różnych kontekstach programistycznych. Dlatego tak istotne jest zrozumienie, jak funkcje operują na parametrach i jakie są ich możliwe zastosowania w projektach programistycznych.

Pytanie 21

Jaką wartość uzyska zmienna x po wykonaniu poniższego kodu PHP?

mysqli_query($db, "DELETE FROM produkty WHERE status < 0");
$x = mysqli_affected_rows($db);
A. Liczbę wierszy przetworzonych przez zapytanie DELETE FROM.
B. Liczbę wierszy, które zostały dodane do tabeli produkty.
C. Liczbę wierszy, które znajdują się w bazie danych.
D. Liczbę wierszy w tabeli produkty, dla których pole status przekracza zero.
Poprawna odpowiedź dotyczy liczby wierszy przetworzonych przez zapytanie DELETE FROM w bazie danych. Funkcja mysqli_affected_rows($db) zwraca liczbę wierszy, które zostały zmodyfikowane przez ostatnie wykonane zapytanie na danym połączeniu z bazą danych. W przypadku zapytania DELETE, zwróci ona liczbę wierszy, które zostały usunięte w wyniku działania tego zapytania. W kontekście dobrych praktyk, zawsze warto sprawdzać, jakie operacje zostały wykonane na bazie danych, aby zrozumieć wpływ zapytań na dane. Na przykład, w aplikacjach e-commerce, przed usunięciem produktów, można wykorzystać tę informację do potwierdzenia, że usunięcie danych nie wpływa negatywnie na inne elementy systemu. Użycie tej funkcji pozwala na efektywne zarządzanie danymi oraz na utrzymanie spójności w bazie danych, co jest kluczowe w kontekście bezpieczeństwa i integralności danych.

Pytanie 22

Istnieje tabela o nazwie wycieczki z kolumnami: nazwa, cena oraz miejsca (reprezentujące liczbę dostępnych miejsc). Aby wyświetlić tylko nazwy wycieczek, których cena jest mniejsza od 2000 zł oraz mają co najmniej cztery wolne miejsca, należy użyć zapytania

A. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
B. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
C. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
D. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
Twoja odpowiedź jest jak najbardziej na miejscu, bo trafnie wskazuje, jakie warunki trzeba spełnić, żeby uzyskać odpowiednie nazwy wycieczek. W tym zapytaniu SQL 'SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3' użyto operatora AND, co oznacza, że oba warunki muszą być spełnione naraz. Pierwszy mówi, że cena wycieczki musi być mniejsza niż 2000 zł, co pomaga znaleźć tańsze oferty. Drugi warunek wymaga, żeby było przynajmniej cztery wolne miejsca, co jest ważne, gdy ktoś myśli o podróżach z rodziną lub przyjaciółmi. Takie podejście jest zgodne z tym, co powinniśmy stosować, pisząc zapytania SQL, bo powinny być one precyzyjne i skuteczne. Warto też pamiętać o dobrym używaniu operatorów logicznych, żeby uzyskać oczekiwane rezultaty. Dlatego zrozumienie, jak te operatory działają oraz jak je zastosować w kontekście danych, jest kluczowe w pracy z bazami danych.

Pytanie 23

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

A. Wymusza unikalne nazwy kolumn w tabeli
B. Zabrania wprowadzenia wartości NULL
C. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
D. Jest stosowany wyłącznie w przypadku kolumn liczbowych
Atrybut UNIQUE w MySQL jest kluczowym elementem definicji tabeli, który zapewnia, że wartości w danej kolumnie są unikalne w obrębie całej tabeli. Oznacza to, że nie może być dwóch wierszy, które mają tę samą wartość w kolumnie oznaczonej jako UNIQUE. Jest to szczególnie istotne w kontekście zarządzania danymi, gdyż pozwala na eliminację duplikatów, co jest zgodne z najlepszymi praktykami projektowania baz danych. Przykładem zastosowania atrybutu UNIQUE może być tabela przechowująca dane użytkowników, gdzie adres e-mail powinien być unikalny dla każdego użytkownika. Dzięki temu, system może zapewnić, że nie dojdzie do przypadkowego utworzenia dwóch kont z tym samym adresem e-mail. Warto dodać, że atrybut UNIQUE może współistnieć z wartościami NULL – w MySQL, wiele wartości NULL jest dozwolonych w kolumnie, która ma zastosowany atrybut UNIQUE. Zrozumienie i prawidłowe wykorzystanie tego atrybutu jest kluczowe dla zachowania integralności danych i efektywności operacji na bazie danych.

Pytanie 24

W programie Microsoft Access metodą zabezpieczającą dostęp do danych związanych z tabelą oraz kwerendą jest

A. ustalanie przestrzeni tabel
B. przydzielenie uprawnień
C. nałożenie limitów przestrzeni dyskowej
D. użycie makr
Przypisanie uprawnień w programie Microsoft Access jest kluczowym mechanizmem zabezpieczającym dostęp do danych w tabelach i kwerendach. Uprawnienia definiują, kto ma dostęp do jakich zasobów oraz jakie operacje mogą być na nich wykonywane, co jest istotne w kontekście ochrony danych przed nieautoryzowanym dostępem. W Microsoft Access uprawnienia można przydzielać na poziomie użytkownika lub grupy użytkowników, co umożliwia granularne zarządzanie dostępem. Przykładem może być sytuacja, w której administrator przydziela uprawnienia do odczytu, edycji lub usuwania danych tylko wybranym użytkownikom, co jest niezbędne w środowiskach, gdzie dane są wrażliwe i wymagają ochrony. Przypisanie uprawnień opiera się na standardzie modelu kontroli dostępu, który definiuje zasady dotyczące uprawnień oraz poziomów dostępu. W praktyce, proces ten obejmuje tworzenie ról użytkowników oraz przypisywanie im odpowiednich uprawnień, co wspiera zgodność z regulacjami prawnymi dotyczącymi ochrony danych osobowych, takimi jak RODO.

Pytanie 25

W kodzie JavaScript aby wywołać okno z polem do wprowadzania danych i przyciskami OK i ANULUJ, należy zastosować metodę

A. confirm();
B. prompt();
C. message();
D. alert();
W tym zadaniu wszystko kręci się wokół trzech podstawowych funkcji dialogowych JavaScriptu: alert(), confirm() i prompt(). Bardzo łatwo je ze sobą pomylić, bo wszystkie wywołują okienka przeglądarkowe i na pierwszy rzut oka wyglądają podobnie. Jednak ich przeznaczenie jest inne i warto to sobie raz porządnie poukładać w głowie. alert() służy wyłącznie do wyświetlenia komunikatu. Pokazuje okno z tekstem i jednym przyciskiem OK. Nie ma żadnego pola do wpisywania danych, nie zwraca też żadnej wartości od użytkownika – po prostu informuje. Typowe użycie to komunikaty ostrzegawcze albo bardzo proste debugowanie na początku nauki. Jeśli ktoś wybierze alert() przy pytaniu o wprowadzanie danych, to zwykle dlatego, że kojarzy „okienko w przeglądarce” właśnie z alertem, bo to najczęściej pokazywany przykład. confirm() to trochę inna bajka. To okno z komunikatem i dwoma przyciskami: OK i Anuluj. Ta funkcja zwraca wartość typu boolean: true dla OK, false dla Anuluj. Używa się jej, gdy chcesz zapytać użytkownika o potwierdzenie jakiejś akcji, np. „Czy na pewno chcesz usunąć ten rekord?”. I tu pojawia się częsty błąd: skoro są dwa przyciski, to wielu osobom wydaje się, że to jest dokładnie to, o co chodzi w pytaniu. Brakuje jednak kluczowego elementu – pola tekstowego do wpisania danych. confirm() niczego nie pobiera, jedynie pyta o decyzję tak/nie. Z kolei message() w ogóle nie jest standardową funkcją w JavaScripcie. Jeśli ktoś ją wybierze, to zwykle wynika to z domysłu na zasadzie „brzmi sensownie”. W specyfikacji ECMAScript nie ma takiej wbudowanej metody, więc w normalnym kodzie przeglądarkowym jej użycie zakończy się błędem ReferenceError. Tego typu odpowiedzi uczą, żeby nie zgadywać po nazwie, tylko kojarzyć konkretne funkcje z ich działaniem. Podsumowując, jedyna funkcja, która łączy w sobie pole tekstowe oraz przyciski OK i Anuluj, to prompt(). alert() tylko informuje, confirm() tylko pyta o potwierdzenie, a message() po prostu nie istnieje jako standardowa metoda. Typowy błąd myślowy polega na skupieniu się na samych przyciskach i pominięciu wymogu „pola do wprowadzania danych”, które jest tutaj kluczowe z punktu widzenia logiki języka JavaScript i sposobu komunikacji z użytkownikiem.

Pytanie 26

Wbudowanym w pakiet XAMPP narzędziem służącym do zarządzania bazą danych jest

A. pgAdmin
B. MySQL Workbench
C. phpMyAdmin
D. SQLite
Poprawną odpowiedzią jest phpMyAdmin, bo to właśnie to narzędzie jest domyślnie zintegrowane z pakietem XAMPP jako panel do zarządzania bazą danych MySQL/MariaDB przez przeglądarkę. Po instalacji XAMPP masz zazwyczaj skrót „phpMyAdmin” w panelu kontrolnym, a samo narzędzie jest dostępne pod adresem typu http://localhost/phpmyadmin. Nie trzeba nic dodatkowo instalować ani konfigurować, poza uruchomieniem modułu Apache i MySQL/MariaDB w XAMPP. Z mojego doświadczenia to jest pierwsze miejsce, gdzie większość osób zaczyna przygodę z bazami danych w środowisku lokalnym. phpMyAdmin to aplikacja webowa napisana w PHP, która pozwala wykonywać większość typowych operacji administracyjnych na bazie: tworzenie i usuwanie baz danych, tworzenie tabel, modyfikacja struktury (typy pól, klucze główne, indeksy), wstawianie i edycja rekordów, eksport i import danych (np. pliki .sql), nadawanie uprawnień użytkownikom. Dla początkujących to ogromne ułatwienie, bo nie trzeba od razu pisać ręcznie długich zapytań SQL – wiele rzeczy da się „wyklikać”, a phpMyAdmin dodatkowo pokazuje, jakie zapytania SQL wygenerował. To jest fajny sposób, żeby stopniowo oswajać się ze składnią SQL. W dobrych praktykach pracy z XAMPP przyjmuje się, że w środowisku developerskim phpMyAdmin jest jak najbardziej ok. Można szybko tworzyć bazy testowe dla projektów PHP, WordPressa czy innych CMS-ów, robić eksport bazy z localhosta i import na serwer produkcyjny. Przy większych, profesjonalnych wdrożeniach często używa się bardziej zaawansowanych narzędzi lub linii komend, ale nawet wtedy phpMyAdmin zostaje jako wygodne narzędzie pomocnicze. Ważne jest tylko, żeby w środowisku produkcyjnym odpowiednio zabezpieczyć dostęp do phpMyAdmin (hasła, ograniczenia IP, dodatkowe uwierzytelnianie), bo domyślnie nie jest to narzędzie projektowane z myślą o wystawianiu „na świat” bez żadnych zabezpieczeń. W kontekście nauki programowania webowego i baz danych warto świadomie korzystać z phpMyAdmin: podglądać generowane zapytania SQL, ćwiczyć tworzenie relacji, kluczy obcych, backupów. To narzędzie jest na tyle popularne, że praktycznie w każdym hostingu współdzielonym znajdziesz bardzo podobny panel, więc umiejętność pracy z phpMyAdmin przydaje się później w realnych projektach komercyjnych.

Pytanie 27

W języku SOL komenda INSERT INTO

A. wprowadza pola do tabeli
B. tworzy tabelę
C. wprowadza dane do tabeli
D. modyfikuje rekordy ustaloną wartością
W odpowiedziach, które nie są poprawne, można zaobserwować pewne powszechne nieporozumienia dotyczące funkcji polecenia INSERT INTO. Odpowiedź sugerująca, że to polecenie aktualizuje rekordy, myli funkcje INSERT i UPDATE, które mają zupełnie różne cele. INSERT INTO służy do dodawania nowych danych, podczas gdy UPDATE jest używane do modyfikacji istniejących rekordów. Z kolei stwierdzenie, że polecenie dodaje pola do tabeli, odnosi się do innej komendy, jaką jest ALTER TABLE. Ta komenda służy do zmiany struktury tabeli, a nie do wprowadzania danych. Wreszcie, odpowiedź mówiąca o dodawaniu tabeli dotyczy również ALTER TABLE, a nie INSERT INTO. Te nieporozumienia mogą wynikać z braku zrozumienia podstawowej architektury baz danych oraz różnorodności poleceń SQL, które są zaprojektowane do realizacji różnych zadań. Dlatego ważne jest, aby przed przystąpieniem do pracy z bazami danych zrozumieć, jak różne polecenia wpływają na strukturę i zawartość bazy danych oraz jakie są ich zastosowania w praktyce. Zrozumienie tych różnic jest kluczowe dla efektywnego zarządzania danymi i unikania błędów w codziennej pracy z bazami danych.

Pytanie 28

W danym środowisku programistycznym, aby uzyskać dostęp do listy błędów składniowych po nieudanej kompilacji, należy użyć kombinacji klawiszy

Ilustracja do pytania
A. Ctrl+W, O
B. Ctrl+W, T
C. Ctrl+W, N
D. Ctrl+W, E
W środowisku Visual Studio, które jest jednym z najpopularniejszych zintegrowanych środowisk programistycznych (IDE) dla języków takich jak C# czy C++, kombinacja klawiszy Ctrl+W, E pozwala na szybkie wyświetlenie listy błędów składniowych i innych problemów związanych z kodem. Lista błędów Error List jest kluczowym narzędziem w codziennej pracy programisty, ponieważ pozwala na szybkie zidentyfikowanie i naprawienie błędów bez konieczności przeszukiwania całego kodu. Dzięki temu programista może skupić się na poprawianiu najważniejszych błędów i optymalizacji kodu. Standardy i dobre praktyki w programowaniu zalecają regularne monitorowanie listy błędów w celu utrzymania wysokiej jakości kodu i minimalizacji ryzyka wystąpienia błędów w działającej aplikacji. To narzędzie jest nieocenione podczas procesu debugowania, gdyż pozwala na szybkie zlokalizowanie i zrozumienie problemów składniowych oraz logicznych wpływających na działanie aplikacji. Używanie skrótów klawiszowych do nawigacji w IDE jest również zalecane jako dobra praktyka, która zwiększa efektywność pracy.

Pytanie 29

Który semantyczny znacznik języka HTML 5 może wystąpić tylko raz na stronie?

A. <header>
B. <section>
C. <main>
D. <article>
Poprawna odpowiedź to <main>, bo zgodnie ze specyfikacją HTML5 ten znacznik powinien pojawić się w dokumencie najwyżej raz. Element <main> reprezentuje główną, unikalną treść strony, czyli to, co jest najważniejsze dla konkretnego adresu URL. Przeglądarki, czytniki ekranu i inne narzędzia asystujące zakładają, że istnieje jedno główne miejsce, do którego użytkownik może szybko „przeskoczyć”, omijając nagłówek, menu czy stopkę. Dlatego pojedynczy <main> ma duże znaczenie dla dostępności (a11y) i użyteczności serwisu. W praktyce dobrym wzorcem jest struktura: <header> na górę, poniżej <nav> (jeśli jest), potem jeden <main>, a w nim np. <article>, <section>, <aside>, a na końcu <footer>. Wewnątrz <main> możesz mieć kilka artykułów, sekcji, nawet różne widoki aplikacji SPA, ale sam <main> jest tylko jeden. Moim zdaniem warto od początku wyrabiać sobie nawyk: dokładnie jeden <main> na stronę i absolutnie nie zagnieżdżać go wewnątrz <header>, <footer> czy <article>. To jest też zgodne z dobrymi praktykami SEO – wyszukiwarki łatwiej rozumieją, co jest esencją danej podstrony. Dodatkowo, wiele frameworków front‑endowych i systemów CMS zakłada w layoutach pojedynczy kontener na treść główną, który semantycznie powinien być właśnie <main>, a nie np. zwykłym <div id="content">. Taka semantyka sprawia, że kod wygląda czyściej, jest bardziej przyszłościowy i po prostu profesjonalny.

Pytanie 30

Aby wyciszyć dźwięk w filmie odtwarzanym w przeglądarce, do podanej definicji znacznika <video> powinien zostać dodany atrybut <video> <source src="film.mp4" type="video/mp4"> </video>

A. loop
B. muted
C. autoplay
D. controls
Atrybut 'muted' w znaczniku <video> jest kluczowy dla zarządzania dźwiękiem w odtwarzanych filmach. Gdy dodamy atrybut 'muted', zapewniamy, że film będzie odtwarzany bez dźwięku, co jest szczególnie istotne w kontekście doświadczenia użytkownika na stronie internetowej. W praktyce, wiele stron korzysta z automatycznego odtwarzania filmów w tle, co jest popularne w serwisach informacyjnych oraz mediach społecznościowych. Bez dźwięku, użytkownicy nie są rozpraszani, a strona nie wpływa negatywnie na ich doświadczenie przeglądania. Zgodnie z najlepszymi praktykami, należy również pamiętać o dostępności – filmy bez dźwięku mogą być łatwiej przyswajalne dla osób z problemami ze słuchem, a także unikamy sytuacji, w której nagłe dźwięki mogłyby wywołać dyskomfort. Atrybut 'muted' jest więc nie tylko funkcjonalny, ale także zgodny z zasadami projektowania stron internetowych, które stawiają na komfort użytkownika.

Pytanie 31

Zdefiniowanie klucza obcego jest niezbędne do utworzenia

A. relacji 1..n.
B. transakcji.
C. klucza podstawowego.
D. relacji 1..1.
W tym pytaniu łatwo się pomylić, bo wszystkie odpowiedzi zahaczają o tematykę baz danych, ale tylko jedna dotyczy faktycznego zastosowania klucza obcego. Klucz obcy w relacyjnej bazie danych służy do wiązania tabel ze sobą i pilnowania integralności referencyjnej. To oznacza, że jego główna rola to powiązanie rekordów: jeden rekord w tabeli nadrzędnej może mieć wiele powiązanych rekordów w tabeli podrzędnej. To jest właśnie relacja 1..n – najczęściej spotykana w normalnych systemach (np. jeden klient, wiele zamówień; jeden autor, wiele książek). Częsty błąd polega na kojarzeniu klucza obcego z transakcjami. Transakcje w SQL (BEGIN, COMMIT, ROLLBACK) to zupełnie inny mechanizm – służą do zapewnienia atomowości, spójności, izolacji i trwałości operacji (tzw. ACID). Można mieć transakcje w bazie nawet wtedy, gdy w ogóle nie ma żadnych kluczy obcych. Klucz obcy nie jest wymagany do rozpoczęcia czy wykonania transakcji, to po prostu inna warstwa logiki. Zdarza się też, że ktoś myli klucz obcy z kluczem podstawowym i myśli, że klucz obcy jest potrzebny do jego utworzenia. Jest dokładnie odwrotnie: najpierw definiuje się klucz podstawowy w tabeli nadrzędnej, a dopiero potem w innej tabeli tworzy się klucz obcy, który się do tego klucza podstawowego odwołuje. Klucz podstawowy identyfikuje jednoznacznie rekord w swojej tabeli, klucz obcy tylko wskazuje na ten rekord z innej tabeli. Jeśli chodzi o relacje 1..1, to one również mogą być realizowane za pomocą kluczy obcych, ale pytanie używa słowa „niezbędne” i w kontekście typowych zastosowań oraz nauczania relacyjnych baz danych klucz obcy kojarzymy głównie z relacją 1..n. Relacja 1..1 jest rzadziej używana i zwykle wymaga dodatkowych ograniczeń (np. klucz obcy, który jest jednocześnie unikalny), więc to już bardziej specyficzny przypadek. Typowym, podręcznikowym i praktycznym zastosowaniem klucza obcego jest właśnie relacja jeden do wielu, i na to pytanie celuje. Z mojego doświadczenia największy problem polega na tym, że uczniowie mieszają pojęcia: transakcje, klucze, relacje, wszystko wrzucają do jednego worka. Warto je rozdzielić: klucz podstawowy – identyfikacja rekordu, klucz obcy – powiązanie między tabelami (relacje, głównie 1..n), transakcje – kontrola przebiegu operacji w bazie. Jak się to poukłada w głowie, projektowanie schematu bazy danych staje się dużo prostsze i bardziej logiczne.

Pytanie 32

Aby strona internetowa była dostosowana do różnych urządzeń, należy między innymi określać

A. układ strony wyłącznie przy pomocy tabel
B. wymiary obrazów w procentach
C. wymiary obrazów jedynie w pikselach
D. tylko znane fonty, takie jak Arial
Różne podejścia do definiowania rozmiarów obrazów na stronach WWW mogą prowadzić do poważnych problemów z responsywnością. Używanie wyłącznie tabel do rozkładu strony to przestarzała metoda projektowania, która nie sprzyja elastyczności ani skalowalności layoutu. Tabele są statyczne i nie adaptują się do zmieniających się rozmiarów ekranów, co może powodować, że strona będzie wyglądać nieestetycznie na urządzeniach mobilnych. Z kolei definiowanie rozmiarów obrazów wyłącznie w pikselach ogranicza ich zdolność do dostosowywania się do różnych rozdzielczości. Przy stałych wartościach w pikselach obrazy mogą być zbyt małe na dużych ekranach lub zniekształcone na mniejszych urządzeniach, co negatywnie wpływa na użytkowanie. Ponadto, ograniczenie się do znanych czcionek, takich jak Arial, nie sprzyja różnorodności projektowej i może prowadzić do wizualnej monotonii strony. Współczesne praktyki projektowania zachęcają do korzystania z szerszej gamy czcionek oraz do technik takich jak @font-face, co pozwala na większą elastyczność estetyczną. Kluczowym błędem w myśleniu o responsywności jest brak zrozumienia, że wszystkie elementy strony powinny być traktowane w sposób dynamiczny i elastyczny, co jest podstawą nowoczesnego podejścia do tworzenia stron internetowych.

Pytanie 33

W języku HTML zapisano formularz. Który z efektów działania kodu będzie wyświetlony przez przeglądarkę zakładając, że w pierwsze pole użytkownik przeglądarki wpisał wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 1.
B. Efekt 3.
C. Efekt 2.
D. Efekt 4.
Odpowiedź, którą wybrałeś, nie jest poprawna, i wynika to z małego nieporozumienia dotyczącego formularzy HTML. Główna sprawa to to, że wszystko, co wpisujesz w polach formularza, jest pokazywane dopiero po jego przesłaniu. W tym przypadku, jeśli wprowadzisz 'Przykładowy text' w pole tekstowe, to będzie to widoczne, ale checkboxy będą niezaznaczone. Błędne odpowiedzi często pochodzą z mylenia działania checkboxów. Pamiętaj, że te dwa checkboxy są zawsze niezaznaczone, niezależnie od tego, co wprowadziłeś w pole tekstowe. I to, że wartość z pola tekstowego nie wpływa na checkboxy, można uznać za istotne zrozumienie działania formularzy HTML. Także warto zwrócić na to uwagę w przyszłości.

Pytanie 34

Które z poniższych stwierdzeń o językach programowania jest fałszywe?

A. PHP służy do tworzenia stron w czasie rzeczywistym
B. C++ jest językiem obiektowym
C. JavaScript to język skryptowy
D. SQL jest językiem programowania strukturalnego
SQL, czyli Structured Query Language, to język zapytań, który jest używany do zarządzania danymi w relacyjnych bazach danych. Jest to język deklaratywny, a nie strukturalny, co oznacza, że użytkownik nie definiuje w nim kroków przetwarzania danych, lecz opisuje, jakie dane chce uzyskać. SQL pozwala na wykonywanie operacji takich jak wybieranie danych, wstawianie, aktualizowanie i usuwanie rekordów w bazie danych. Przykładowe zapytanie w SQL może wyglądać następująco: SELECT * FROM users WHERE age > 18; co zwróci wszystkie rekordy użytkowników powyżej osiemnastego roku życia. Warto również zauważyć, że SQL jest standardem ISO, co oznacza, że jego składnia i funkcjonalności są szeroko uznawane i stosowane w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Oracle. To czyni SQL niezwykle ważnym narzędziem dla każdego programisty, analityka danych czy specjalisty ds. baz danych.

Pytanie 35

Wskaż definicję metody, którą należy wstawić w miejscu kropek, aby na stronie WWW wyświetlił się tekst: Jan Kowalski

<p id="wynik"></p>
<script type="text/javascript">
    var osoba = { nazwisko: "Kowalski", imie: "Jan" };
    …
    document.getElementById("wynik").innerHTML = osoba.dane();
</script>

osoba.dane = function() {
    return this.imie+" "+this.nazwisko;
};                 A.

dane() = function() {
    return this.imie+" "+this.nazwisko;
};                 B.

osoba.dane = function() {
    return imie+" "+nazwisko;
};                 C.

dane() = function {
    this.imie+" "+this.nazwisko;
};                 D.
A. B.
B. A.
C. D.
D. C.
No niestety, wybrałeś złą odpowiedź. Główny problem tutaj polega na tym, że źle rozumiesz, jak działa słowo kluczowe 'this' w JavaScript. Warianty B i D są nietrafione, bo chociaż mają metodę 'dane', to nie jest ona przypisana do obiektu 'osoba'. Bez tego przypisania, metoda nie ma jak sięgnąć do właściwości 'imię' i 'nazwisko'. Podobnie, wariant C też nie jest ok, bo nie wykorzystuje 'this'. Bez 'this', nie możesz sięgnąć do tych właściwości z obiektu 'osoba'. To częsty błąd, który wynika z mylenia kontekstu. Pamiętaj, że 'this' to twój sposób na wskazanie obiektu, w którym wywołujesz metodę.

Pytanie 36

Kolumna, która pełni funkcję klucza głównego w tabeli, powinna

A. zawierać unikalne wartości
B. zawierać wartości liczbowe
C. być innego rodzaju niż inne kolumny
D. posiadać ciągłą numerację
To stwierdzenie, że klucz główny musi być ciągły albo tylko liczbowy, jest nie do końca trafne. Klucz główny nie musi być tylko liczbowy ani też nie musi mieć ciągłej numeracji. Na przykład można używać stringów jako kluczy głównych, takich jak numery ID czy kody produktów. No a jeżeli byśmy mieli ciągłą numerację, to mogą wystąpić problemy, szczególnie gdy usuwamy jakieś rekordy. To może prowadzić do braku unikalności. Poza tym, klucz główny niekoniecznie musi być innego typu niż reszta kolumn. Przykładowo, kolumna z tekstem też może być kluczem, o ile wartości są unikalne. W kontekście projektowania baz danych najważniejsze jest, żeby klucz główny był unikalny, a niekoniecznie jaki to typ czy format. Ludzie zajmujący się bazami danych powinni wiedzieć, że klucz główny powinno się wybierać w zależności od kontekstu aplikacji i wymagań danych, a nie na podstawie błędnych założeń.

Pytanie 37

Jakie będzie wynikowe wyjście po uruchomieniu tego skryptu PHP?

<?php
$kolory = array("czarny", "zielony", "niebieski", "biały");
rsort($kolory);
$ile = count($kolory);
for($x = 0; $x < $ile; $x++)
{
  echo $kolory[$x].", ";
}
?>
A. czarny, zielony, niebieski, biały
B. zielony, niebieski, czarny, biały
C. biały, niebieski, zielony, czarny
D. biały, czarny, niebieski, zielony
Skrypt PHP wykorzystuje funkcję rsort() do sortowania tablicy w porządku malejącym alfabetycznie. W tym przypadku tablica zawiera kolory: czarny zielony niebieski biały. Funkcja rsort() zmienia kolejność elementów według malejącej wartości ASCII pierwszej litery każdego ciągu znakowego. Gdy tablica jest sortowana w ten sposób pierwsza spółgłoska kończy się na największym zestawie znaków ASCII. Dlatego wynik to zielony niebieski czarny biały. Po sortowaniu pętla for iteruje przez wszystkie elementy tablicy używając funkcji count() do określenia długości tablicy i wypisuje każdy kolor oddzielony przecinkiem. Użycie rsort() jest zgodne z dobrymi praktykami programistycznymi w przypadku gdy chcemy uzyskać szereg wsteczny np. do wyświetlania list w interfejsach użytkownika od końca do początku. Zapewnienie że dane wejściowe są poprawnie uporządkowane pozwala na efektywne zarządzanie danymi a zrozumienie tego procesu jest kluczowe w budowaniu dynamicznych aplikacji PHP.

Pytanie 38

W tabeli artykuły wykonano następujące instrukcje dotyczące uprawnień użytkownika jan: ```GRANT ALL PRIVILEGES ON artykuly TO jan``` ```REVOKE SELECT, UPDATE ON artykuly FROM jan``` Po zrealizowaniu tych instrukcji pracownik jan będzie uprawniony do

A. tworzenia tabeli oraz edytowania danych w niej
B. tworzenia tabeli i wypełniania jej danymi
C. edycji danych oraz przeglądania tabeli
D. wyświetlania zawartości tabeli
Wybrane odpowiedzi, które nie są poprawne, nie uwzględniają szczególnych ograniczeń, które zostały nałożone na użytkownika Jana po wykonaniu polecenia REVOKE. W przypadku odpowiedzi sugerujących, że Jan mógłby aktualizować dane i przeglądać tabelę, brakuje zrozumienia znaczenia polecenia REVOKE, które jednoznacznie odmawia tych uprawnień. Aktualizowanie danych w tabeli wymaga posiadania uprawnienia UPDATE, które Jan utracił. Z kolei odpowiedzi sugerujące tworzenie tabeli i aktualizowanie w niej danych oraz przeglądanie tabeli są również mylące, ponieważ wykluczają kluczowy aspekt ograniczeń narzuconych przez polecenie REVOKE. Użytkownik Jan nie może przeglądać danych w tabeli, ponieważ nie ma aktualnie uprawnienia SELECT. Ponadto, w kontekście SQL, każdy użytkownik musi mieć przyznane konkretne uprawnienia do realizacji określonych operacji na danych, co w przypadku Jana oznacza, że jego uprawnienia do SELECT i UPDATE są nieodwracalnie usunięte, co czyni wszystkie te odpowiedzi nieaktualnymi.

Pytanie 39

Atrybut value w formularzu XHTML

A. ogranicza maksymalną długość pola
B. określa nazwę pola
C. ustawia pole jako tylko do odczytu
D. określa wartość domyślną
Odpowiedzi, które wskazują na ograniczanie długości pola, nazwę pola oraz ustawienie pola tylko do odczytu, są niepoprawne, ponieważ każda z tych funkcji ma inne atrybuty lub mechanizmy. Atrybut, który ogranicza długość wprowadzanego tekstu, to 'maxlength', który definiuje maksymalną liczbę znaków, jakie użytkownik może wprowadzić w polu. Użycie 'maxlength' jest istotne, gdy chcemy zapewnić, że dane wprowadzone przez użytkownika nie przekraczają określonej długości, co jest szczególnie ważne w przypadku danych, które muszą spełniać określone wymagania. Kolejnym błędnym stwierdzeniem jest to, że 'value' wskazuje na nazwę pola. Nazwa pola jest określona przez atrybut 'name', a nie 'value'. Atrybut 'name' jest kluczowy dla identyfikacji danych podczas przesyłania formularza. Ostatnim nieporozumieniem jest twierdzenie, że 'value' ustawia pole tylko do odczytu, co również jest nieprawdziwe. Do ustawienia pola jako tylko do odczytu stosuje się atrybut 'readonly'. Atrybut 'value' jedynie ustawia domyślną wartość, ale nie wpływa na możliwość edycji tego pola. Zrozumienie funkcji poszczególnych atrybutów HTML jest kluczowe dla efektywnego projektowania formularzy i interfejsów użytkownika.

Pytanie 40

Język JavaScript wspiera

A. klasy abstrakcyjne
B. funkcje wirtualne
C. wysyłanie ciasteczek z identycznymi informacjami do wielu klientów witryny
D. obiekty DOM
JavaScript to język skryptowy, który ma wbudowaną obsługę obiektowego modelu dokumentu (DOM), co umożliwia dynamiczne manipulowanie strukturą HTML oraz CSS stron internetowych. Dzięki DOM programiści mogą dodawać, usuwać lub modyfikować elementy na stronie w czasie rzeczywistym, co czyni aplikacje bardziej interaktywnymi. Przykładem może być zmiana tekstu przycisku po jego kliknięciu, co można osiągnąć dzięki metodom takim jak `getElementById` oraz `innerHTML`. JavaScript jest nieodłącznym elementem nowoczesnego podejścia do tworzenia aplikacji webowych, a jego kompatybilność z DOM sprawia, że jest to kluczowa umiejętność dla programistów. Wiedza na temat manipulacji DOM jest fundamentem dla technologii takich jak React czy Angular, które opierają się na zasadach wydajnego zarządzania interfejsem użytkownika przez wirtualny DOM. Współczesne standardy, takie jak ECMAScript, rozwijają możliwości JavaScript, a znajomość DOM jest niezwykle cenna na rynku pracy.