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: 27 czerwca 2026 14:19
  • Data zakończenia: 27 czerwca 2026 14:49

Egzamin niezdany

Wynik: 14/40 punktów (35,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órego znacznika NIE NALEŻY umieszczać w nagłówku dokumentu HTML?

A. <title>
B. <meta>
C. <h2>
D. <link>
Wybierając <link>, <meta> i <title>, można łatwo się pogubić, bo to zupełnie inna bajka niż nagłówki. Znacznik <meta> służy do definiowania rzeczy takich jak opis strony czy słowa kluczowe i jest umieszczany w <head>. To ważne, bo przeglądarki i roboty indeksujące potrzebują tych informacji, co ma duże znaczenie dla SEO. <link> używamy do łączenia zewnętrznych zasobów, jak arkusze stylów CSS, co pozwala stronie ładnie wyglądać. A <title> to tytuł strony, który widać na karcie przeglądarki. Chociaż wszystkie te znaczniki są istotne, to mają inne zadania niż <h2>, które się zajmuje nagłówkami treści. Ogólnie ważne jest, żeby wiedzieć, co do czego służy, żeby dobrze formatować i organizować dokument HTML.

Pytanie 2

Który z elementów w sekcji head dokumentu HTML 5 jest obowiązkowy według walidatora HTML, a jego niedobór skutkuje błędem (error)?

A. meta
B. style
C. title
D. link
Odpowiedzi wskazujące na znaczniki takie jak „style”, „link” czy „meta” mogą wprowadzać w błąd, jeśli chodzi o ich rolę w dokumentach HTML. Znacznik „style” jest używany do osadzania arkuszy stylów CSS i jest istotny dla prezentacji wizualnej, jednak nie jest wymagany do prawidłowego działania strony w kontekście walidacji. Podobnie znacznik „link” jest kluczowy dla łączenia zasobów zewnętrznych, takich jak pliki CSS, ale jego brak nie prowadzi do błędów w walidacji HTML. Z kolei znacznik „meta” pozwala na definiowanie metadanych, takich jak opis strony czy słowa kluczowe, które również są istotne z perspektywy SEO, ale nie są obligatoryjne w każdej sytuacji. Typowym błędem myślowym jest sądzenie, że wszystkie te znaczniki są równie niezbędne jak „title”. Warto pamiętać, że tylko znacznik „title” ma bezpośrednie znaczenie dla walidacji HTML i jest wymagany, aby dokument był zgodny z normami. Brak „title” może prowadzić do negatywnych konsekwencji zarówno w zakresie walidacji, jak i SEO, co podkreśla znaczenie każdej struktury w dokumencie HTML. Dlatego ważne jest, aby zrozumieć, jaka jest rola poszczególnych znaczników w budowie dokumentów HTML oraz jakie są ich konsekwencje w kontekście standardów sieciowych.

Pytanie 3

Jakie kolory wchodzą w skład modelu barw CMYK?

A. czerwony, zielony i niebieski
B. czerwony, zielony, niebieski i kanał alfa
C. cyjan, magenta, żółty i czarny
D. cyjan, magenta, żółty i karmazyn
Czerwony, zielony i niebieski to model RGB (ekrany), a nie CMYK. „Karmazyn” zamiast czarnego jest błędny - czwartą składową CMYK jest CZARNY (K). Kanał alfa to przezroczystość, nie barwa modelu. CMYK to cyjan, magenta, żółty i czarny.

Pytanie 4

Wskaż zapis stylu CSS formatujący punktor list numerowanych na wielkie cyfry rzymskie, a list punktowanych na kwadraty.

A. ol { list-style-type: upper-alpha; }
   ul { list-style-type: disc; }

B. ol { list-style-type: square; }
   ul { list-style-type: upper-roman; }

C. ol { list-style-type: disc; }
   ul { list-style-type: upper-alpha; }

D. ol { list-style-type: upper-roman; }
   ul { list-style-type: square; }
A. B.
B. A.
C. D.
D. C.
Niestety, twoja odpowiedź nie jest prawidłowa. Wydaje się, że mogło wystąpić pewne nieporozumienie w zakresie formatowania list w CSS. Właściwość, której prawdopodobnie nie zrozumiałeś to list-style-type. Jest to kluczowa właściwość do definiowania wyglądu punktora list. W tym konkretnym pytaniu, dla listy numerowanej (ol) powinniśmy użyć wartości 'upper-roman', która odpowiada wielkim cyfrom rzymskim. Dla listy punktowanej (ul) powinniśmy użyć wartości 'square', co daje efekt punktów w formie kwadratów. Pamiętaj, że zrozumienie i umiejętność manipulowania różnymi właściwościami CSS jest kluczem do tworzenia atrakcyjnych i funkcjonalnych stron internetowych. Spróbuj ponownie, kiedy tylko będziesz gotowy!

Pytanie 5

W deklaracji w języku JavaScript:

var x=true;
zmienna x przyjmuje typ
A. ciąg znaków
B. logicznym
C. liczbowym
D. wyliczeniowym
Odpowiedź logicznego jest poprawna, ponieważ w języku JavaScript wyrażenie `var x = true;` przypisuje do zmiennej `x` wartość typu boolean, która jest jednym z dwóch stanów: `true` lub `false`. Typ boolean jest kluczowym elementem programowania, służącym do wykonywania logiki warunkowej, co jest niezbędne w większości aplikacji. Na przykład, używając warunków if-else, możemy podejmować decyzje na podstawie wartości boolean. W praktyce, po przypisaniu `x`, możemy używać go w instrukcjach warunkowych, jak w poniższym przykładzie: `if (x) { console.log('X jest prawdą'); } else { console.log('X jest fałszem'); }`. Ponadto, dobrym standardem jest oznaczanie zmiennych typem boolean poprzez użycie prefiksów, jak `is` lub `has`, co poprawia czytelność kodu. Wspieranie logiki programowania przy użyciu typów prostych jest kluczowe w inżynierii oprogramowania, co czyni tę wiedzę istotną.

Pytanie 6

Aby wykorzystać skrypt znajdujący się w pliku przyklad.js, konieczne jest połączenie go ze stroną przy użyciu kodu

A. <script src="przyklad.js"></script>
B. <script>przyklad.js</script>
C. <link rel="script" href="przyklad.js">
D. <script link="przyklad.js"></script>
No, odpowiedzi bez atrybutu 'src' są nie na miejscu, bo nie spełniają standardów HTML dołączania skryptów. W pierwszej odpowiedzi, w <script>przyklad.js</script>, użycie tego zapisu jest błędne, bo tag <script> musi mieć 'src', żeby pokazać, gdzie skrypt się znajduje. Po prostu dodanie samej nazwy pliku w środku znacznika nic nie zdziała, bo przeglądarka go nie załaduje. W drugiej odpowiedzi, <script link="przyklad.js"></script>, to też nie jest zgodne z HTML, bo 'link' nie istnieje w kontekście skryptów; powinno być tylko 'src'. Odpowiedź <link rel="script" href="przyklad.js"> jest całkiem myląca, bo <link> zazwyczaj służy do CSS, a nie do JavaScriptu. Nawet jeśli 'rel' można użyć, to nie ma sensu w kontekście skryptów JS. To może prowadzić do tego, że deweloperzy nie zrozumieją, jak poprawnie dodawać zasoby do HTML-a, a to może w przyszłości rodzić problemy z wydajnością i działaniem strony. Zrozumienie i stosowanie standardów HTML jest mega ważne przy projektach webowych, bo wpływa na jakość kodu i jego przyszłą obsługę.

Pytanie 7

Na stronie www znajduje się formularz, do którego należy zaimplementować następujące funkcje: walidacja: podczas wypełniania formularza w czasie rzeczywistym sprawdzana jest poprawność danych, oraz przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze. Aby wprowadzić tę funkcjonalność w najprostszy sposób, trzeba zapisać

A. walidację i przesyłanie danych w języku JavaScript
B. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
C. walidację i przesyłanie danych w języku PHP
D. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
Zdecydowanie dobrze to ogarnąłeś! Walidacja danych w JavaScript oraz przesyłanie ich w PHP to naprawdę dobry pomysł, jeśli chodzi o tworzenie formularzy online. Dzięki walidacji po stronie klienta, możesz natychmiast zareagować na błędy. To znaczy, że jak ktoś wpisze coś nie tak, to od razu dostaje informację, że np. e-mail jest w złym formacie albo jakieś pole jest puste. Używanie 'addEventListener' do śledzenia zdarzeń 'input' w polach formularza to świetny sposób, żeby poprawić doświadczenie użytkowników. Co więcej, dzięki temu nie obciążasz serwera, bo niepoprawne dane nie są w ogóle przesyłane. A jeśli chodzi o PHP, to super, że wspomniałeś o przesyłaniu danych po stronie serwera. PHP ma dostęp do bazy danych, więc dane mogą być tam bezpieczne i dobrze przetwarzane. Użycie PHP przy obsłudze formularzy to standard, dzięki któremu twoja aplikacja będzie stabilna i bezpieczna.

Pytanie 8

Co robi w JavaScript zapis var napis1 = new napisy();?

A. wywołuje metodę obiektu napisy
B. tworzy nową KLASĘ napis1
C. deklaruje zmienną i wywołuje funkcję z argumentem napis1
D. tworzy obiekt napis1 klasy napisy
Operator new tworzy nową INSTANCJĘ (obiekt) na podstawie konstruktora. W zapisie var napis1 = new napisy();napisy to konstruktor (rodzaj klasy), a napis1 to nazwa świeżo utworzonego obiektu, który dostaje pola i metody zdefiniowane w konstruktorze. To podstawa programowania obiektowego w JS. Zapamiętaj wzorzec: zmienna = new Konstruktor() - „zrób mi nowy obiekt tego typu”.

Pytanie 9

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

A. WYSIWYG
B. VISUAL EDITOR
C. WEB STUDIO
D. IDE
Termin WYSIWYG to skrót od "What You See Is What You Get", co w dosłownym tłumaczeniu oznacza "to, co widzisz, to, co otrzymasz". Odnosi się to do edytorów graficznych, które pozwalają użytkownikowi na wizualne projektowanie stron internetowych w sposób, który odzwierciedla finalny wygląd strony. Dzięki edytorom WYSIWYG, użytkownicy mogą tworzyć i edytować treści bez konieczności znajomości języków programowania, takich jak HTML czy CSS. Przykładem takiego edytora może być Adobe Dreamweaver, które oferuje zarówno tryb wizualny, jak i możliwość edycji kodu. W praktyce, korzystanie z edytora WYSIWYG przyspiesza proces tworzenia stron, ponieważ pozwala na szybkie wprowadzanie zmian, przetestowanie ich w czasie rzeczywistym oraz łatwe zarządzanie elementami graficznymi. Standardy branżowe promują takie podejście, ponieważ zwiększa ono dostępność tworzenia stron internetowych dla osób bez technicznego wykształcenia, co jest szczególnie istotne w kontekście rozwijającej się digitalizacji i rosnącego zapotrzebowania na treści online.

Pytanie 10

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

A. sumy.
B. grupowania.
C. części wspólnej.
D. wykluczenia.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów.
Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna.
Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 11

W przedstawionej definicji stylu CSS, powtarzanie dotyczy

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. rysunku umieszczonego w tle strony w poziomie.
B. rysunku umieszczonego w tle strony w pionie.
C. tła każdego ze znaczników akapitu.
D. rysunku umieszczonego znacznikiem img.
Twoja odpowiedź jest na miejscu. To, co mówi 'background-repeat: repeat-y;' w CSS, oznacza, że tło będzie się powtarzać w pionie. Super sprawa, jeśli chcesz, by obraz w tle pokrywał całą wysokość elementu, niezależnie od tego, jak duży on jest. Używa się tego często w projektowaniu stron, żeby stworzyć fajne efekty wizualne, jak na przykład tło, które działa w pasku nawigacyjnym. Warto pamiętać, że powtarzanie tła to zaledwie jedna z wielu opcji, jakie mamy w CSS. Możesz również ustawiać pozycję tła czy jego rozmiar, żeby wszystko wyglądało tak, jak chcesz.

Pytanie 12

W kaskadowych arkuszach stylów do oznaczenia selektora klasy wykorzystuje się symbol

A. . (kropka)
B. #
C. *
D. : (dwukropek)
Odpowiedzi #, *, oraz : nie są poprawne w kontekście definicji selektorów klas w CSS. Symbol # jest używany do definiowania selektorów identyfikatorów, co oznacza, że w przypadku elementu z identyfikatorem 'element1', selektor w CSS będzie wyglądał tak: #element1. Identyfikatory są unikalne dla danego elementu w dokumencie i mogą być używane tylko raz, co sprawia, że są mniej elastyczne w porównaniu do klas. Użycie identyfikatorów jest często niezalecane, gdyż prowadzi do mniejszej reużywalności stylów. Z kolei symbol * jest selektorem uniwersalnym, który odnosi się do wszystkich elementów na stronie. Chociaż może być użyteczny w pewnych sytuacjach, jego nadużywanie może prowadzić do spadku wydajności, zwłaszcza w większych projektach, ponieważ styluje każdy element w dokumencie. Ostatni symbol : jest używany w pseudo-klasach i pseudo-elementach, takich jak :hover czy ::before, które pozwalają na stylizację elementów w specyficznych stanach lub na dodawanie stylów do części elementu. Pojęcia te są często mylone z klasami, co prowadzi do błędnych wniosków i nieefektywnego zarządzania stylem. Używanie właściwych selektorów jest kluczowe dla utrzymania dobrze zorganizowanego i wydajnego kodu CSS.

Pytanie 13

W którym z bloków powinien znaleźć się warunek pętli?

Ilustracja do pytania
A. D.
B. B.
C. C.
D. A.
Wybór innego bloku niż C jako miejsca na umieszczenie warunku pętli wprowadza błędne zrozumienie struktury diagramów przepływu. Blok A, reprezentujący proces lub działanie, jest używany do przedstawienia operacji lub kroków bez podejmowania decyzji. Umieszczenie w nim warunku pętli byłoby mylące, ponieważ nie oddaje istoty kontrolowania przepływu w programie. Blok B, w kształcie elipsy, jest powszechnie używany jako punkt startowy lub końcowy procesu, a nie do określania logiki decyzji. Użycie go do pętli nie jest zgodne z konwencjami diagramów przepływu i może prowadzić do błędnej interpretacji algorytmu. Blok D, reprezentujący magazyn danych, skupia się na przechowywaniu i zarządzaniu informacjami, a nie na logice sterowania przepływem. Typowe błędy, które mogą prowadzić do wyboru niewłaściwego bloku, to mylenie funkcji symboli w diagramach przepływu oraz niezrozumienie zasad ich użycia zgodnie z praktykami przemysłowymi. Zrozumienie, dlaczego każdy blok ma swoją specyficzną rolę, jest kluczowe dla tworzenia efektywnych i dokładnych modeli programistycznych, co z kolei ułatwia komunikację między programistami oraz innymi interesariuszami w projekcie.

Pytanie 14

Którego selektora użyć, aby sformatować WSZYSTKIE obrazy znajdujące się w akapicie?

A.
p # img
B.
p.img
C.
p + img
D.
p img
Pozostałe zapisy znaczą co innego. p + img to selektor SĄSIADA - obraz stojący zaraz PO akapicie, nie w nim. p.img celuje w akapit z klasą „img”, a nie w obrazy. p # img jest składniowo błędny. Obrazy wewnątrz akapitu obejmuje p img.

Pytanie 15

Jakiego polecenia SQL należy użyć, aby usunąć z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?

A. DELETE FROM artykuly WHERE tresc LIKE "%sto%";
B. DELETE * FROM artykuly WHERE tresc LIKE "%sto%";
C. DELETE * FROM artykuly WHERE tresc = "%sto%";
D. DELETE FROM artykuly WHERE tresc = "%sto%";
Wszystkie błędne odpowiedzi opierają się na niezrozumieniu podstawowej funkcji operatora DELETE w języku SQL oraz zasad dotyczących dopasowywania wzorców. Przykłady takie jak 'DELETE * FROM artykuly WHERE tresc = "%sto%";' oraz 'DELETE * FROM artykuly WHERE tresc LIKE "%sto%";' zawierają nieprawidłowe użycie składni, które nie jest zgodne z standardem SQL. W SQL nie używa się znaku '*' w poleceniach DELETE, gdyż zapis 'DELETE * FROM' jest poprawny tylko dla zapytań SELECT. W kontekście usuwania danych, należy używać jedynie 'DELETE FROM', co jest wystarczające dla określenia, z jakiej tabeli mają zostać usunięte rekordy. Ponadto, pierwsza błędna odpowiedź zdobija wszystkie potencjalne błędy związane z niepoprawnym użyciem operatora '='. Operator '=' wymaga dokładnego dopasowania, co oznacza, że nie może być stosowany do wyszukiwania wzorców, w przeciwieństwie do operatora LIKE, który umożliwia elastyczne dopasowanie z użyciem znaków wieloznacznych. Typowym błędem jest więc przekonanie, że '=' oraz LIKE mogą być stosowane zamiennie bez uwzględnienia, że '=' nie przyjmuje znaków procentowych. Dlatego kluczowe jest, aby przed użyciem poleceń SQL upewnić się, że rozumie się ich składnię oraz zasady działania, co pozwoli uniknąć wielu pułapek w codziennej pracy z bazami danych.

Pytanie 16

W SQL, aby zmodyfikować strukturę tabeli, na przykład dodając lub usuwając kolumnę, należy użyć polecenia

A. ALTER TABLE
B. TRUNCATE
C. DROP TABLE
D. UPDATE
Odpowiedź "ALTER TABLE" jest poprawna, ponieważ jest to standardowe polecenie w języku SQL używane do modyfikacji istniejącej struktury tabeli. Dzięki temu poleceniu można dodawać nowe kolumny, usuwać istniejące, a także zmieniać typy danych kolumn. Przykładowo, aby dodać kolumnę "wiek" do tabeli "pracownicy", można użyć polecenia: "ALTER TABLE pracownicy ADD COLUMN wiek INT;". Innym zastosowaniem może być usunięcie kolumny, co osiągamy poprzez zapis: "ALTER TABLE pracownicy DROP COLUMN wiek;". W praktyce, stosowanie ALTER TABLE jest kluczowe w zarządzaniu bazami danych, szczególnie w przypadku rozwijania aplikacji, gdzie schematy danych mogą ewoluować z czasem. Warto pamiętać, że modyfikacje struktury tabeli mogą wpływać na integralność danych, dlatego przed ich wykonaniem zaleca się tworzenie kopii zapasowych oraz dokładne przemyślenie wpływu zmian na aplikacje korzystające z danej bazy danych.

Pytanie 17

W języku JavaScript funkcja document.getElementById() ma na celu

A. zwrócić odnośnik do pierwszego elementu HTML o określonym id
B. sprawdzić poprawność formularza z identyfikatorem id
C. pobrać dane z pola formularza i zapisać je do zmiennej id
D. umieścić tekst o treści 'id' na stronie internetowej
Odpowiedzi, które nie zostały uznane za poprawne, zawierają nieprawidłowe interpretacje funkcji document.getElementById(). Pierwsza z nich sugeruje, że metoda ta wstawia tekst na stronie o treści 'id'. W rzeczywistości, metoda ta nie ma na celu wyświetlania lub wstawiania tekstu na stronę, lecz zwraca referencję do elementu z określonym id, co oznacza, że operacje na zawartości elementu muszą być wykonane oddzielnie poprzez inną metodę, np. innerHTML. Kolejna odpowiedź sugeruje, że metoda sprawdza poprawność formularza. Zgadza się, że walidacja formularzy jest kluczowym aspektem zarządzania danymi użytkowników, ale document.getElementById() nie przeprowadza walidacji, a jedynie umożliwia dostęp do elementów formularza, co można wykorzystać do walidacji, ale nie jest to jej pierwotna funkcja. Ostatnia z podanych odpowiedzi stwierdza, że metoda pobiera dane z pola formularza i wstawia je do zmiennej. Również jest to mylna interpretacja, ponieważ document.getElementById() nie przetwarza ani nie przechowuje danych, a jedynie pozwala na dostęp do elementu, z którego dane mogą być później pobrane przy użyciu odpowiednich właściwości, takich jak value w przypadku pól formularzy. Wszystkie te odpowiedzi wskazują na zrozumienie metody jako narzędzia do wstawiania lub walidacji danych, co jest niezgodne z faktycznym działaniem tej metody.

Pytanie 18

W JavaScript zdefiniowano obiekt. W jaki sposób można uzyskać dostęp do właściwości nazwisko?

var osoba = {imie: "Anna", nazwisko: "Kowalska", rok_urodzenia: 1985};
A. osoba.nazwisko
B. osoba[2]
C. osoba::nazwisko
D. osoba[1]
W przypadku niepoprawnych odpowiedzi osoba[2], osoba::nazwisko i osoba[1] odniesienie do właściwości obiektu w JavaScript zostało błędnie przedstawione. Metoda osoba[2] oraz osoba[1] sugeruje użycie notacji tablicowej, która jest stosowana do odwoływania się do elementów tablicy przez ich indeks. Jednak obiekt w JavaScript nie jest tablicą, a zestawem par klucz-wartość, dlatego stosowanie indeksów w tym kontekście nie ma zastosowania. Indeksowanie za pomocą nawiasów kwadratowych jest właściwe w przypadku tablic, natomiast obiekty wymagają dostępu przez klucze opisane jako stringi. Próba użycia osoba::nazwisko jest niepoprawna, ponieważ podwójny dwukropek nie jest częścią syntaksu JavaScript pozwalającego na dostęp do właściwości obiektu. Tego typu notacja może pojawiać się w innych językach programowania jak C++ jako operator zakresu, jednak w JavaScript jest pozbawiona sensu. Błędny wybór w tym przypadku wynika z niezrozumienia różnicy między różnymi strukturami danych oraz ich specyficznej składni w obrębie różnych języków programowania. Bardzo istotne jest zapamiętanie, że w JavaScript do właściwości obiektu najczęściej odwołuje się za pomocą notacji kropkowej, co jest nie tylko standardem, ale również poprawia czytelność i zrozumiałość kodu. Świadomość różnicy między tablicami a obiektami oraz umiejętność wyboru odpowiedniej składni są kluczowe w pisaniu efektywnego i poprawnego kodu w JavaScript. Poprawne zrozumienie tych różnic i składni pozwala unikać błędów i pisania kodu, który może być trudny do debugowania i zrównoważenia w przyszłości.

Pytanie 19

Przedstawiona transformacja obrazu, w edytorze grafiki rastrowej, została wykonana przy pomocy filtru

Ilustracja do pytania
A. szum HSV.
B. błysk gradientowy.
C. redukcja szumu.
D. rozmycia Gaussa.
Gratulacje, twoja odpowiedź jest prawidłowa. Wybrałeś 'rozmycie Gaussa', które jest odpowiednią odpowiedzią. Na przedstawionym obrazie widzimy, że obraz po prawej stronie jest rozmyty w sposób ciągły i jednolity - to jest charakterystyczne dla rozmycia Gaussa. Filtr rozmycia Gaussa jest powszechnie stosowany w edytorach grafiki rastrowej do uzyskania efektu miękkiego rozmycia, który symuluje efekt obserwacji obiektu przez nieostre medium lub z dużą głębią ostrości. Jest to praktyczne narzędzie, które ma szerokie zastosowanie zarówno w fotografii, jak i w grafice komputerowej. Filtr ten jest często używany do poprawy estetyki obrazów, redukcji szumu i artefaktów, a także w szeroko pojętym przetwarzaniu obrazów, takim jak detekcja krawędzi. Jego nazwa pochodzi od matematyka Karla Gaussa, który opracował koncepcję rozkładu normalnego, na którym opiera się ten filtr.

Pytanie 20

W języku PHP, instrukcja foreach pełni rolę

A. Pętli, przeznaczonej wyłącznie dla elementów tablicy
B. Pętli, niezależnej od typu zmiennej
C. Wyboru, dotyczącej elementów tablicy
D. Warunkową, niezależną od typu zmiennej
Wybierając inne odpowiedzi, można się czasem pogubić w tym, jak naprawdę działa foreach i do czego służy. Te odpowiedzi, które mówią, że foreach jest jakąś instrukcją warunkową albo działa na różnych typach zmiennych, nie pokazują prawdziwego oblicza tej konstrukcji. To jest pętla, która chodzi tylko po elementach tablicy, więc nie da się jej używać do liczb czy stringów. W praktyce mnóstwo osób może myśleć, że to działa jak wybór, co prowadzi do różnych błędów w kodzie. Ważne, żeby zrozumieć, że foreach nie wybiera elementów na podstawie warunków, tylko po prostu przegląda wszystkie elementy tablicy. I mimo że kod w foreach jest zazwyczaj bardziej czytelny, to jeśli użyjesz go w złym kontekście, może być mniej efektywny. Często programiści mylą się, stosując foreach do struktur, które nie są tablicami, co kończy się błędami. Dobrze jest pamiętać, że każda konstrukcja w PHP ma swoje miejsce i trzeba dobrze dobrać pętlę czy instrukcję do potrzeb projektu.

Pytanie 21

Jakie uprawnienia posiada użytkownik jan po wykonaniu poniższych poleceń na bazie danych?

GRANT ALL PRIVILEGES ON klienci TO jan;
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
A. Będzie miał możliwość wstawiania rekordów do tabeli klienci
B. Będzie miał możliwość usuwania rekordów z tabeli klienci
C. Będzie miał możliwość wyszukiwania danych w tabeli klienci
D. Będzie miał możliwość zmiany struktury tabeli klienci
Odpowiedź jest poprawna, ponieważ po wykonaniu poleceń SQL użytkownik jan ma przyznane wszystkie uprawnienia do tabeli klienci, a następnie odebrano mu konkretne uprawnienia do wykonywania operacji SELECT, INSERT, UPDATE oraz DELETE. Oznacza to, że jedynym uprawnieniem, które pozostaje jemu po tych operacjach, jest możliwość zmiany struktury tabeli, co oznacza operacje takie jak ADD COLUMN czy DROP COLUMN. W praktyce, gdy przyznajemy użytkownikowi rolę, często stosujemy uprawnienia do wykonywania operacji DDL (Data Definition Language), które są niezbędne do modyfikacji schematu bazy danych. Odpowiedzi na pytania dotyczące uprawnień powinny uwzględniać kontekst celów administracyjnych, ponieważ różne role użytkowników mogą mieć różne poziomy dostępu. W związku z tym, zrozumienie systemu uprawnień w kontekście zarządzania bazą danych jest kluczowe, a dobrym standardem jest nadawanie użytkownikom tylko tych uprawnień, które są niezbędne do wykonywania ich zadań.

Pytanie 22

Jakie polecenie pozwala na kontrolowanie oraz optymalizację bazy danych?

A. mysqlcheck
B. mysqlimport
C. mysqlshow
D. mysqldump
Odpowiedź 'mysqlcheck' jest poprawna, ponieważ jest to narzędzie służące do sprawdzania i optymalizacji baz danych MySQL. Umożliwia ono użytkownikom weryfikację integralności tabel, a także optymalizację struktury bazy danych, co jest kluczowe dla zapewnienia jej wydajności. Funkcja ta jest niezwykle przydatna w przypadku dużych baz danych, gdzie regularne sprawdzanie i optymalizacja mogą znacząco wpłynąć na szybkość wykonywania zapytań. W praktyce, mysqlcheck można uruchomić z różnymi opcjami, na przykład '-a' do automatycznej optymalizacji, co pozwala na zautomatyzowanie procesu konserwacji bazy. Ponadto, zgodnie z zaleceniami dobrych praktyk w zarządzaniu bazami danych, regularne korzystanie z mysqlcheck może pomóc w identyfikacji potencjalnych problemów przed ich eskalacją, co z kolei minimalizuje ryzyko awarii systemu i utraty danych.

Pytanie 23

Jakie polecenie HTML poprawnie odwzorowuje przedstawioną hierarchiczną strukturę tekstu, która została wyświetlona przez przeglądarkę w następujący sposób: Rozdział 1 tekst Podrozdział 1.1 tekst Podrozdział 1.2?

A. <h1>Rozdział 1</h1><p>tekst</p><h2>Podrozdział 1.1</h2><p>tekst</p><h2>Podrozdział 1.2</h2>
B. <h1>Rozdział 1<p>tekst<h2>Podrozdział 1.1<p>tekst<h2>Podrozdział 1.2
C. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
D. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
Pierwszy z zaproponowanych kodów posiada poważne błędy, ponieważ nie zamyka tagów <p> oraz <h2>. Poprawne HTML wymaga, aby wszystkie otwarte tagi były odpowiednio zamknięte, co czyni kod nieczytelnym dla przeglądarek i może prowadzić do nieprzewidywalnych wyników wyświetlania. Druga propozycja definiuje strukturę jako listę nieuporządkowaną, co jest nieadekwatne w kontekście przedstawionej hierarchii nagłówków. Lista nieuporządkowana (<ul>) ma na celu grupowanie elementów, a nie definiowanie nagłówków i podrozdziałów, co narusza zasady semantyki HTML. Ostatnia odpowiedź używa tagu <big>, który nie jest zalecany w nowoczesnym HTML, gdyż nie ma on semantycznego znaczenia i nie wpływa na SEO w sposób pożądany. Ponadto, tag <big> nie zapewnia struktury dokumentu, a jedynie zmienia rozmiar tekstu, co jest niewłaściwe w kontekście hierarchii treści. Wszelkie te błędy nie tylko wpływają negatywnie na czytelność strony, ale również mogą obniżać jej pozycjonowanie w wynikach wyszukiwania.

Pytanie 24

Jakie jest odstępstwo pomiędzy poleceniem DROP TABLE a TRUNCATE TABLE?

A. Obydwa polecenia usuwają tylko zawartość tabeli, ale tylko DROP TABLE może być przywrócone
B. DROP TABLE usuwa tabelę, natomiast TRUNCATE TABLE modyfikuje dane w niej spełniające określony warunek
C. Obydwa polecenia usuwają tabelę wraz z jej zawartością, jednak tylko TRUNCATE TABLE można cofnąć
D. DROP TABLE usuwa tabelę, a TRUNCATE TABLE eliminuje wszystkie dane, zostawiając pustą tabelę
Pierwsza koncepcja błędna w tej odpowiedzi wynika z nieprecyzyjnego zrozumienia funkcji polecenia DROP TABLE i TRUNCATE TABLE. DROP TABLE nie tylko usuwa dane, ale również całkowicie likwiduje strukturę tabeli, co oznacza, że wszystkie powiązane zależności, takie jak klucze obce, również znikają. W przeciwieństwie do tego TRUNCATE TABLE nie wpływa na strukturę tabeli. Drugim błędem jest mylne zrozumienie, że TRUNCATE TABLE można cofnąć. W rzeczywistości TRUNCATE, w przeciwieństwie do DELETE, nie generuje logów na poziomie pojedynczych wierszy, co oznacza, że nie można z łatwością przywrócić danych po jego wykonaniu. To prowadzi do niewłaściwego osądu na temat bezpieczeństwa tych poleceń. W praktyce, gdy potrzebujemy usunąć dane w tabeli, ale chcemy zachować jej strukturę, używamy TRUNCATE TABLE. Jeśli tabela nie jest już potrzebna, korzystamy z DROP TABLE. Zrozumienie tych różnic jest kluczowe dla efektywnego zarządzania danymi w bazach danych i unikania nieodwracalnych błędów w administracji bazą danych.

Pytanie 25

Kolor określony kodem RGB, mający wartość rgb(255, 128, 16) w przedstawieniu szesnastkowym, przyjmie jaką wartość?

A. #ff0fl0
B. #ff8011
C. #ff8010
D. #008010
Alternatywne odpowiedzi mają kilka błędów, jeśli chodzi o kolory w formacie szesnastkowym. Pierwsza opcja, #008010, nie pasuje w ogóle do wartości RGB, które dostaliśmy w pytaniu. Nic tu nie łączy wartości rgb(255, 128, 16) z #008010. Druga opcja, #ff0fl0, ma błąd, bo zawiera nieprawidłowy znak 'l', który w ogóle nie powinien się tam znaleźć. To czyni ją zupełnie niepoprawną. Ostatnia odpowiedź, #ff8011, zmienia wartość niebieską z '10' na '11', co też psuje kolor. Takie pomyłki często zdarzają się, bo ludzie nie pamiętają lub nie znają podstaw konwersji kolorów. Dlatego dobrze jest znać te zasady i umieć sprawdzić, czy wartości są poprawne. W praktyce projektanci i programiści mogą korzystać z różnych narzędzi, jak palety kolorów, które ułatwiają ten proces i zmniejszają ryzyko błędów.

Pytanie 26

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123

CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"; 
A. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"
B. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`
C. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123'
D. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`
Poprawne zapytanie SQL do tworzenia nowego użytkownika w systemie baz danych MySQL brzmi: CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123';. Kluczowe elementy tego zapytania to: 'CREATE USER' – polecenie używane do tworzenia nowych użytkowników, '`sekretarka`' – nazwa użytkownika, '@`localhost`' – wskazuje, że użytkownik będzie łączył się z serwerem lokalnym, oraz 'IDENTIFIED BY' – polecenie do zdefiniowania hasła dla nowego użytkownika. Warto zwrócić uwagę, że hasło musi być umieszczone w pojedynczych cudzysłowach, co jest standardową praktyką w SQL. Umożliwia to skuteczne zarządzanie uprawnieniami użytkownika oraz bezpieczeństwem bazy danych. Dzięki odpowiedniemu skonfigurowaniu użytkowników, można wprowadzać różne poziomy dostępu, co jest kluczowe w kontekście ochrony danych. Warto również pamiętać, że praktyka ta jest zgodna z wytycznymi bezpieczeństwa, które zalecają stosowanie silnych haseł oraz ograniczanie dostępu do danych wrażliwych na poziomie użytkowników.

Pytanie 27

Zakładając, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL przyzna użytkownikowi anna jedynie uprawnienia do

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
A. wybierania, dodawania pól oraz modyfikacji struktury wszystkich tabel w bazie o nazwie klienci
B. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
C. wybierania, wstawiania oraz modyfikacji danych w wszystkich tabelach w bazie o nazwie klienci
D. wybierania, dodawania pól oraz modyfikacji struktury tabeli o nazwie klienci
To polecenie SQL, które widzisz, czyli GRANT SELECT INSERT UPDATE ON klienci TO anna, po prostu przyznaje użytkownikowi anna konkretne uprawnienia do tabeli klienci. Dzięki temu, ona może odczytywać dane z tej tabeli, co jest naprawdę ważne, zwłaszcza przy robieniu różnych zapytań czy raportów. A jakbyś chciał dodać nowe rekordy, to właśnie INSERT na to pozwala. To mega istotne, bo w bazach danych często coś się zmienia! Natomiast UPDATE daje możliwość zmieniania już istniejących danych, co jest bardzo przydatne, żeby utrzymać wszystko w porządku i aktualności. To jakby standard w zarządzaniu bazami danych. Przyznawanie uprawnień do konkretnej tabeli, a nie całej bazy, zmniejsza ryzyko, że ktoś dostanie dostęp do danych, które nie są dla niego przeznaczone. To wszystko działa zgodnie z zasadą minimalnych uprawnień, co jest super ważne! Można też lepiej kontrolować, kto i jakie operacje może robić na danych, co zapewnia bezpieczeństwo i integralność danych w firmie.

Pytanie 28

Jaką rozdzielczość ustawić, aby przygotować film w jakości HD Ready (720p)?

A. 1920 × 1080
B. 720 × 480
C. 1280 × 720
D. 480 × 360
Pozostałe rozdzielczości to inne standardy. 480 × 360 jest poniżej HD, 720 × 480 to jakość SD (np. DVD), a 1920 × 1080 to Full HD (1080p). HD Ready to 1280 × 720.

Pytanie 29

Co oznacza ustawienie background-attachment: scroll?

A. że tło będzie powtarzane jak kafelki
B. że tło pojawi się w prawym górnym rogu
C. że tło będzie przewijać się razem z treścią strony
D. że tło pozostanie nieruchome przy przewijaniu
Pozostałe opisy dotyczą innych właściwości. Powtarzanie tła „jak kafelki” reguluje background-repeat, a położenie (np. w rogu) - background-position. Tło nieruchome przy przewijaniu daje wartość fixed, a nie scroll.

Pytanie 30

Który kod oznacza kolor CZERWONY?

A.
#0000EE
B.
#00EE00
C.
#EE0000
D.
#00EEEE
O barwie decyduje rozkład składowych. #00EE00 ma wysoką zieloną (kolor zielony), #0000EE niebieską (niebieski), a #00EEEE zieloną i niebieską (cyjan). Czerwony to #EE0000.

Pytanie 31

Którego znacznika NIE należy umieszczać w sekcji <head> dokumentu HTML?

A. <link>
B. <h2>
C. <meta>
D. <title>
Pozostałe znaczniki należą do <head>. <link> służy m.in. do dołączenia zewnętrznego arkusza stylów lub favikony i jest typowym elementem nagłówka. <title> definiuje tytuł strony widoczny na karcie przeglądarki - musi znaleźć się w <head>. <meta> przekazuje metadane, np. kodowanie znaków czy opis dla wyszukiwarek. Nagłówek treści <h2> jest natomiast elementem widocznej zawartości i należy do <body>, dlatego to on nie powinien trafić do <head>.

Pytanie 32

Zawarte polecenie SQL wykonuje

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
B. ustalić wartość pola Uczen na 1
C. powiększyć wartość pola Uczen o jeden
D. ustalić wartość kolumny id_klasy na 1 dla wszystkich rekordów w tabeli Uczen
Polecenie SQL, które analizujemy, to: `UPDATE Uczen SET id_klasy = id_klasy + 1;`. Jego celem jest zwiększenie wartości w kolumnie `id_klasy` o jeden dla wszystkich rekordów w tabeli `Uczen`. Wykorzystanie operacji `SET` w poleceniu `UPDATE` umożliwia modyfikację istniejących danych w bazie. W tym przypadku każda wartość w kolumnie `id_klasy` zostaje powiększona o jeden. To technika często stosowana przy aktualizacjach, gdzie potrzebujemy inkrementować wartości, np. w przypadku liczników, numeracji czy przesuwania pozycji. Stosowanie `UPDATE` zgodnie z dobrymi praktykami wymaga ostrożności, zwłaszcza przy operacjach masowych, aby unikać niezamierzonych zmian w danych. Ważne jest, aby przed wykonaniem takich operacji upewnić się, że kopia zapasowa danych jest dostępna, a operacja została przetestowana w środowisku testowym, aby uniknąć potencjalnych problemów w środowisku produkcyjnym.

Pytanie 33

Znacznik <ins> w języku HTML jest używany do wskazania

A. tekstu, który został usunięty
B. tekstu, który został dodany
C. cytowanego fragmentu tekstu
D. tekstu o zmienionym formacie
Odpowiedzi dotyczące oznaczania cytowanego bloku tekstu, tekstu przeformatowanego oraz tekstu, który został usunięty, nie są poprawne w kontekście znacznika <ins>. Znacznik używany do cytowania tekstu to <blockquote>, który służy do wyodrębnienia dłuższych cytatów, zazwyczaj z innymi źródłami. Z kolei do oznaczania tekstu, który został usunięty, stosuje się znacznik <del>, który wskazuje na treść, która została usunięta z dokumentu, co jest sprzeczne z funkcją <ins>. Oznaczenie tekstu przeformatowanego nie ma związku z tagiem, ponieważ nie ma on bezpośredniego związku z formatowaniem; formatowanie tekstu odbywa się przy użyciu znaczników takich jak <strong> lub <em>, które nadają różne style wizualne, ale nie zmieniają semantyki tekstu. W związku z tym, wszystkie te niepoprawne odpowiedzi dotyczą różnych aspektów zarządzania treścią w HTML, ale nie są związane z oznaczaniem tekstu dodanego, co jest kluczowym zastosowaniem znacznika <ins>. Zrozumienie różnic między tymi znacznikami jest istotne, aby poprawnie stosować HTML w praktyce oraz zapewniać jasność i dostępność treści w sieci.

Pytanie 34

W języku CSS, sformatowanie dowolnego elementu języka HTML w ten sposób, że po najechaniu na niego kursorem zmienia on kolor czcionki, wymaga zastosowania pseudoklasy

A. :active
B. :coursor
C. :hover
D. :visited
W tym zadaniu kluczowe jest zrozumienie, co dokładnie oznaczają poszczególne pseudoklasy CSS i w jakim momencie są aktywowane przez przeglądarkę. Pytanie dotyczy sytuacji, gdy element ma zmienić kolor czcionki po najechaniu na niego kursorem, czyli chodzi o reakcję na samo „zawieszenie” wskaźnika myszy nad elementem, bez klikania. Właśnie do tego została zaprojektowana pseudoklasa :hover i to ona jest poprawnym wyborem.

Częsty błąd polega na myleniu :hover z :active. Pseudoklasa :active nie oznacza „aktywnego” w sensie podświetlonego czy zaznaczonego, tylko stan elementu w momencie aktywacji, najczęściej podczas klikania – dokładnie wtedy, gdy przycisk myszy jest wciśnięty. Typowy przykład to przyciski, które na czas kliknięcia lekko się „wciskają” wizualnie. Jeśli ktoś użyje :active do efektu po najechaniu, będzie zawiedziony, bo styl pojawi się tylko na ułamek sekundy w trakcie kliku, a nie podczas samego trzymania kursora nad elementem.

Z kolei :visited jest ściśle powiązana z linkami i historią przeglądania. Ta pseudoklasa działa tylko dla odnośników z a[href] i tylko wtedy, gdy przeglądarka uzna, że dany adres został już wcześniej odwiedzony. Służy do odróżniania linków odwiedzonych od nieodwiedzonych, np. zmiana ich koloru. Nie ma ona żadnego związku z pozycją kursora. Dodatkowo, ze względów bezpieczeństwa i prywatności, możliwości stylowania :visited są w przeglądarkach celowo ograniczone.

Odpowiedź :coursor jest po prostu nieprawidłowa składniowo – taka pseudoklasa w CSS nie istnieje. Prawdopodobnie jest to efekt skojarzenia z angielskim słowem „cursor”. W CSS za zmianę kształtu kursora odpowiada właściwość cursor (np. cursor: pointer;), ale to zupełnie inny mechanizm niż pseudoklasy. Można ją oczywiście łączyć z :hover, np. button:hover { cursor: pointer; }, ale sama nazwa :coursor jest błędna i nie zostanie zinterpretowana przez przeglądarkę.

Typowy tok myślenia, który prowadzi do złej odpowiedzi, to właśnie intuicyjne zgadywanie po nazwie zamiast odwołania się do faktycznego działania według specyfikacji CSS. W praktyce warto zapamiętać proste skojarzenie: „hover” = „zawisnąć nad czymś”, czyli najechanie kursorem, „active” = moment kliknięcia, „visited” = stan linku po odwiedzeniu strony. Takie uporządkowanie znacznie ułatwia późniejsze projektowanie interfejsu zgodnie z dobrymi praktykami front-endowymi.

Pytanie 35

Znacznik <strong> tekst</strong> w HTML będzie ukazywany przez przeglądarkę w identyczny sposób, jak znacznik

A. <sub>tekst</sub>
B. <big>tekst</big>
C. <b>tekst</b>
D. <h1>tekst</h1>
Znacznik <h1> jest używany do definiowania nagłówków na stronie internetowej. Oznacza on najwyższy poziom nagłówka i jest kluczowy dla struktury dokumentów HTML. Użycie <h1> dla wyróżnienia tekstu nie jest odpowiednie, ponieważ ten znacznik powinien być zarezerwowany dla tytułów oraz głównych nagłówków strony, co wpłynie na SEO, ponieważ wyszukiwarki traktują go jako istotny element hierarchii treści. Z kolei znacznik <big> jest używany do zwiększenia rozmiaru czcionki tekstu, co również nie odpowiada funkcji wyróżnienia semantycznego, które realizuje <strong>. W przypadku <big> nie zmienia się znaczenie tekstu, a jedynie jego rozmiar, co czyni go mniej przydatnym w kontekście semantyki. Ostatecznie, znacznik <sub> jest przeznaczony do dodawania tekstu dolnego, czyli subscript, co w żaden sposób nie wpływa na wyróżnienie tekstu jako takiego. Znaczniki te nie mają na celu podkreślenia znaczenia treści, co jest główną funkcją zarówno <strong>, jak i <b>. Dlatego, każde z wymienionych znaczników nie spełnia oczekiwań związanych z semantyką i wyróżnianiem tekstu w HTML.

Pytanie 36

Jednym z typów testów jednostkowych jest analiza tras, która polega na

A. testowaniu obiektów pod kątem inicjalizacji oraz zwolnienia zarezerwowanej pamięci
B. określeniu punktu startowego i końcowego oraz badaniu dostępnych ścieżek pomiędzy tymi punktami
C. testowaniu wartości granicznych zestawu danych
D. utworzeniu kilku zbiorów danych o zbliżonym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testu
Rozumienie błędów w odpowiedziach może pomóc lepiej ogarnąć, o co chodzi z analizą ścieżek w testach jednostkowych. Testowanie wartości brzegowych, chociaż bardzo ważne dla jakości oprogramowania, skupia się tylko na granicach danych wejściowych i nie pokazuje pełnego obrazu możliwych ścieżek w kodzie. Z kolei sprawdzanie obiektów pod kątem pamięci to temat na inną rozmowę i niekoniecznie ma coś wspólnego z analizą ścieżek; chodzi o to, że to podejście nie dotyka, jak kontrola przepływu działa w kodzie. Robienie kilku zbiorów danych, które się powtarzają w przetwarzaniu, też nie jest tym samym, co badanie ścieżek, a raczej dotyczy testowania z użyciem takich danych. Dużym błędem jest to, że myślimy, iż analiza ścieżek to tylko spojrzenie na dane czy pamięć. W rzeczywistości trzeba patrzeć na całość programu, zarówno na dane, jak i logikę działania, co pokazuje, jak ważna jest analiza ścieżek w znajdowaniu problemów w kodzie.

Pytanie 37

Który atrybut nadać polu, aby przyjmowało automatycznie kolejne liczby całkowite?

A.
PRIMARY KEY
B.
NULL
C.
NOT NULL
D.
AUTO_INCREMENT
Atrybut AUTO_INCREMENT sprawia, że przy każdym nowym rekordzie pole samo przyjmuje kolejną liczbę całkowitą (1, 2, 3, ...), bez podawania jej ręcznie. Stosuje się go zwykle dla klucza głównego z unikalnymi identyfikatorami. Dlatego automatyczną numerację daje AUTO_INCREMENT.

Pytanie 38

Tabela Pacjenci ma pola: imie, nazwisko, wiek, lekarz_id. Aby zestawić raport zawierający wyłącznie imiona i nazwiska pacjentów poniżej 18 roku życia, którzy zapisani są do lekarza o id równym 6, można posłużyć się kwerendą SQL

A. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6;
B. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6;
C. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6;
D. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6;
Poprawna kwerenda to: SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6; i ona dokładnie realizuje założenia zadania. Po pierwsze, część SELECT imie, nazwisko określa, jakie kolumny mają znaleźć się w wyniku – tylko imię i nazwisko, bez wieku czy identyfikatora lekarza. To jest dobra praktyka: wybieramy tylko te dane, które są faktycznie potrzebne w raporcie, zamiast używać SELECT *.
Po drugie, FROM Pacjenci wskazuje tabelę źródłową. W standardowym SQL klauzula FROM jest obowiązkowa przy pobieraniu danych z tabel, bez niej serwer bazodanowy po prostu nie wie, skąd ma brać rekordy. Moim zdaniem to jest taki fundament, który warto mieć odruchowo w palcach.
Najważniejsza jest jednak klauzula WHERE wiek < 18 AND lekarz_id = 6. Warunek wiek < 18 filtruje wyłącznie pacjentów niepełnoletnich, a lekarz_id = 6 ogranicza wynik do tych osób, które przypisane są do konkretnego lekarza o identyfikatorze 6. Zastosowanie operatora logicznego AND oznacza, że oba warunki muszą być spełnione jednocześnie. To dokładnie odpowiada treści zadania: pacjent musi być jednocześnie poniżej 18 lat i zapisany do lekarza nr 6.
W praktyce takie kwerendy są podstawą raportowania w systemach medycznych, CRM-ach, systemach sprzedażowych itd. Na przykład podobną konstrukcję można użyć: SELECT * FROM Zamowienia WHERE status = 'nowe' AND kwota > 1000; – logika jest identyczna. Dobrą praktyką jest też czytelne zapisywanie warunków logicznych i unikanie niejednoznacznych kombinacji AND/OR bez nawiasów. W większych projektach standardem jest również używanie aliasów tabel, ale tu jedna tabela w zupełności wystarcza. Warto zapamiętać ten szablon: SELECT [kolumny] FROM [tabela] WHERE [warunek1] AND [warunek2]; bo pojawia się praktycznie wszędzie w pracy z SQL.

Pytanie 39

Do czego służy w PHP funkcja trim()?

A. do usuwania białych (lub podanych) znaków z obu końców tekstu
B. do podawania długości tekstu
C. do wyświetlania części wspólnej dwóch tekstów
D. do skracania tekstu o podaną liczbę znaków
Pozostałe opisy dotyczą innych funkcji. Długość tekstu zwraca strlen(), a wycinanie fragmentu - substr(). trim() nie „skraca o liczbę znaków” ani nie szuka części wspólnej - usuwa białe (lub podane) znaki z obu końców tekstu.

Pytanie 40

Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z zagadnieniami dotyczącymi zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z regułami
B. Z atrybutami
C. Z przywilejami systemowymi
D. Z przywilejami obiektowymi
Uprawnienia związane z atrybutami i regułami mogą mylnie wydawać się odpowiednie w kontekście zarządzania dostępem, ale ich zrozumienie jest kluczowe, aby uniknąć błędnych wniosków. Atrybuty w kontekście systemów zarządzania bazami danych są często używane do definiowania cech obiektów, takich jak kolumny w tabelach, ale nie są bezpośrednio związane z mechanizmami nadawania uprawnień. Reguły, choć mogą być wykorzystywane do definiowania polityk bezpieczeństwa, nie są tym samym co przywileje systemowe. Przywileje obiektowe, z kolei, dotyczą dostępu do konkretnych obiektów w bazie danych, takich jak tabele czy widoki, a nie ogólnych uprawnień administracyjnych. Często występuje nieporozumienie, że wszystkie te mechanizmy są równoważne, co prowadzi do niewłaściwego stosowania uprawnień w systemach. Kluczowe jest zrozumienie, że przywileje systemowe są tymi, które kontrolują dostęp do całej struktury bazy danych, a nie tylko do jej poszczególnych elementów, co stanowi podstawę dla skutecznego zarządzania bezpieczeństwem w środowiskach IT. W praktyce niepoprawne przypisywanie uprawnień może prowadzić do nieautoryzowanego dostępu do danych, co jest sprzeczne z najlepszymi praktykami ochrony informacji.