Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 23 kwietnia 2026 12:49
  • Data zakończenia: 23 kwietnia 2026 13:18

Egzamin zdany!

Wynik: 28/40 punktów (70,0%)

Wymagane minimum: 20 punktów (50%)

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

W PHP użyto funkcji is_float(). Które z wymienionych wywołań tej funkcji zwróci wartość true?

A. is_float(NULL)
B. is_float('3,34')
C. is_float(3.34)
D. is_float(334)
Funkcja is_float() w języku PHP jest używana do sprawdzania, czy dany argument jest typu float. W przypadku wywołania is_float(3.34), wartość 3.34 jest literalnym zapisem liczby zmiennoprzecinkowej, co oznacza, że jest to poprawny typ danych. W praktycznych zastosowaniach, weryfikacja typu zmiennej jest istotna, szczególnie przy pracy z danymi, gdzie precyzyjne typowanie jest kluczowe, na przykład w obliczeniach finansowych. Gdy pracujemy z danymi z formularzy, często musimy upewnić się, że wartości są odpowiednich typów, aby uniknąć błędów w obliczeniach. Warto również zauważyć, że PHP automatycznie konwertuje typy danych, ale zawsze lepiej jest explicite kontrolować typy, zwłaszcza w bardziej złożonych aplikacjach. Standardem dobrych praktyk jest stosowanie is_float() w sytuacjach, gdzie ważne jest potwierdzenie, że zmienna jest typu float przed jej użyciem w kontekście wymagającym tego typu, co zwiększa czytelność i stabilność kodu.

Pytanie 2

Który z poniższych formatów NIE umożliwia zapis plików animowanych?

A. ACE
B. GIF
C. SVG
D. SWF
Wybór formatu SWF sugeruje, że użytkownik myli zastosowania różnych formatów plików. SWF, czyli Shockwave Flash, to format, który był powszechnie używany do tworzenia animacji i interaktywnych aplikacji internetowych. Jest on oparty na wektorowej grafice i obsługuje dźwięk oraz skrypty, co czyni go idealnym do tworzenia złożonych animacji. Z kolei SVG, czyli Scalable Vector Graphics, to format oparty na XML, który pozwala na tworzenie grafiki wektorowej i również obsługuje animacje przy użyciu CSS oraz JavaScript. Poprzez błędne przypisanie funkcji animacyjnych do ACE, użytkownik może nie dostrzegać, jak różne formaty są projektowane z myślą o określonych zastosowaniach. GIF to format, który od lat jest popularny w sieci do prezentacji prostych animacji, zwłaszcza w mediach społecznościowych. Użytkownicy często mylą różne zastosowania formatów i mogą nie być świadomi, że istnieją formaty, które są specjalnie zaprojektowane do obsługi animacji, podczas gdy inne służą zupełnie innym celom, jak kompresja danych. Właściwe zrozumienie tych różnic jest kluczowe dla efektywnego projektowania treści multimedialnych oraz optymalizacji ich działania w różnych środowiskach.

Pytanie 3

Co robi funkcja napisana w języku JavaScript?

function fun1(f)
{
  if(f < 0)
    f = f * (-1);
  return f;
}
A. zwrócenie wartości odwrotnej do f
B. zwrócenie wartości bezwzględnej z f
C. wypisanie wartości odwrotnej do f
D. wypisanie wartości bezwzględnej z f
Patrząc na błędne odpowiedzi, trzeba zauważyć, że funkcja w ogóle nie zajmuje się wypisywaniem wartości ani obliczaniem odwrotności liczby. W JavaScript do wypisywania danych używamy polecenia console.log(), a tutaj go nie ma. Ta funkcja tylko zwraca wynik, co w programowaniu jest super ważne, bo później można wykorzystać tę wartość w dalszym kodzie. Kolejna pomyłka to myślenie, że funkcja zwraca odwrotność liczby. Odwrotność to zupełnie co innego i związane z tym, że musimy znaleźć liczbę, która pomnożona przez pierwotną daje 1. W tym wypadku funkcja tylko zmienia znak liczby, gdy jest ona ujemna, co jest typowe dla obliczania wartości bezwzględnej. Zrozumienie tych różnic jest naprawdę kluczowe, jeśli chcesz uniknąć typowych błędów w programowaniu i lepiej pisać kod.

Pytanie 4

W języku HTML, aby połączyć w pionie dwie sąsiadujące komórki w kolumnie tabeli, należy użyć atrybutu

A. cellpadding
B. cellspacing
C. rowspan
D. colspan
W kontekście scalania komórek w pionie w HTML, inne proponowane atrybuty są nieodpowiednie. Atrybut colspan służy do scalania komórek w poziomie, co oznacza, że pozwala na połączenie kilku komórek w jednym wierszu, co jest zupełnie inną operacją niż scalanie w pionie. Używanie colspan byłoby nieodpowiednie w sytuacji, gdy celem jest połączenie komórek w kolumnie. Atrybut cellpadding dotyczy natomiast przestrzeni wewnętrznej, określającej odstęp pomiędzy zawartością komórki a jej krawędziami. Jego zastosowanie nie wpływa na scalanie komórek, a jedynie na ich wygląd, co sprawia, że jest to zupełnie inny aspekt formatowania tabeli. Podobnie atrybut cellspacing, który jest używany do definiowania odstępów między komórkami tabeli, również nie ma zastosowania w procesie scalania komórek. Obydwa te atrybuty mogą być użyte do poprawy estetyki tabeli, ale nie wpływają na strukturę danych w sposób, który byłby wymagany do osiągnięcia pionowego scalania komórek. Użycie ich zamiast rowspan jest błędne i prowadzi do niepoprawnego zrozumienia struktury HTML oraz sposobu, w jaki tabele powinny być zbudowane.

Pytanie 5

W jaki sposób będzie uporządkowana lista stworzona z wszystkich kolumn tabeli uczniowie, obejmująca uczniów o średniej wyższej niż 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?

SELECT *
FROM uczniowie
WHERE srednia > 5
ORDER BY klasa DESC;
A. Rosnaco według parametru srednia
B. Malejąco według parametru klasa
C. Rosnąca według parametru klasa
D. Malejąco według parametru srednia
Zapytanie SQL używa klauzuli ORDER BY klasa DESC co oznacza że wyniki będą posortowane malejąco według kolumny klasa Klauzula ORDER BY jest używana w języku SQL do sortowania wyników zapytania Użycie DESC oznacza że sortowanie będzie w porządku malejącym co w praktyce oznacza że najwyższe wartości będą na początku listy a najniższe na końcu To jest przydatne gdy chcemy uzyskać strukturę danych w której najważniejsze lub najbardziej istotne rekordy są prezentowane na samym początku na przykład gdy analizujemy dane w kontekście hierarchicznym lub priorytetowym W tym przypadku sortujemy malejąco według klasy co może być użyteczne na przykład gdy chcemy szybko zidentyfikować uczniów z wyższych klas którzy osiągają wysokie wyniki średnia powyżej 5 Dobre praktyki w SQL zalecają jasne i precyzyjne definiowanie kryteriów sortowania co ułatwia zrozumienie logiki zapytania oraz zapewnia jego przewidywalne działanie Jeśli dane wymagają częstego sortowania warto rozważyć optymalizację poprzez odpowiednie indeksy co może znacząco poprawić wydajność zapytań zwłaszcza w dużych zestawach danych

Pytanie 6

W systemie zarządzania bazami danych MySQL komenda CREATE USER pozwala na

A. utworzenie użytkownika
B. zmianę hasła dla już istniejącego użytkownika
C. pokazanie danych o istniejącym użytkowniku
D. stworznie nowego użytkownika oraz przydzielenie mu uprawnień do bazy
Polecenie CREATE USER w MySQL jest używane do tworzenia nowych użytkowników w systemie baz danych. W kontekście zarządzania bazami danych, kluczowym aspektem jest kontrola dostępu, a odpowiednie zdefiniowanie użytkowników jest niezbędne dla zapewnienia bezpieczeństwa danych. Używając CREATE USER, administrator bazy danych może zdefiniować nazwę użytkownika oraz powiązane z nią hasło, co stanowi pierwszy krok w procesie zarządzania uprawnieniami. Dobrą praktyką jest stosowanie silnych haseł oraz nadawanie użytkownikom tylko tych uprawnień, które są im rzeczywiście potrzebne do wykonania ich zadań. Na przykład, w przypadku aplikacji webowych często tworzy się specjalnych użytkowników z ograniczonymi prawami dostępu, co minimalizuje ryzyko nieautoryzowanego dostępu do wrażliwych danych. Warto pamiętać, że po utworzeniu użytkownika, można wykorzystać polecenia GRANT, aby przyznać mu odpowiednie uprawnienia do konkretnych baz danych lub tabel, co pozwala na precyzyjne zarządzanie dostępem. Ponadto, MySQL pozwala na tworzenie użytkowników z różnymi poziomami dostępu, co jest kluczowe dla organizacji z wieloma działami oraz różnorodnymi potrzebami w zakresie bezpieczeństwa danych.

Pytanie 7

Aby wykonać usunięcie wszystkich wpisów z tabeli, należy użyć kwerendy

A. INSERT INTO
B. ALTER COLUMN
C. CREATE COLUMN
D. TRUNCATE TABLE
Odpowiedź 'TRUNCATE TABLE' jest prawidłowa, ponieważ jest to polecenie w języku SQL służące do usuwania wszystkich rekordów z tabeli w sposób efektywny i bezpieczny. W przeciwieństwie do polecenia 'DELETE', które również usuwa rekordy, 'TRUNCATE TABLE' działa znacznie szybciej, ponieważ nie rejestruje każdego usunięcia w dzienniku transakcji, co zmniejsza obciążenie systemu. Przykład zastosowania: jeśli mamy tabelę 'Pracownicy' i chcemy usunąć wszystkie dane przed jej ponownym załadowaniem, możemy użyć kwerendy 'TRUNCATE TABLE Pracownicy;'. Warto zauważyć, że 'TRUNCATE TABLE' nie tylko usuwa dane, ale również resetuje wszelkie automatyczne inkrementacje kluczy podstawowych w tabeli. Stosując to polecenie, zachowujemy integralność danych oraz optymalizujemy czas operacji, co jest zgodne z najlepszymi praktykami w zarządzaniu bazami danych.

Pytanie 8

Portal internetowy dysponuje bardzo złożonym systemem stylów, który obejmuje style zewnętrzne, wewnętrzne oraz lokalne. Jak można zagwarantować, że określona cecha zdefiniowana w zewnętrznym stylu jest zawsze stosowana do elementu HTML, niezależnie od bardziej priorytetowych stylów?

A. jako pseudoklasę :active
B. jako selektor potomka
C. przy pomocy pseudoelementu ::after
D. przy pomocy reguły !important
Zdefiniowanie cechy za pomocą selektora potomka, pseudoklasy :active lub pseudoelementu ::after to podejścia, które nie spełniają wymaganego celu w kontekście priorytetyzacji stylów CSS. Selektor potomka odnosi się do elementów, które są zagnieżdżone wewnątrz innych elementów i nie zapewnia on wyższego priorytetu. Na przykład, jeśli mamy regułę `div p { color: blue; }`, a później w innym miejscu `p { color: red; }`, kolor tekstu w elemencie <p> będzie czerwony, niezależnie od tego, że jest on dzieckiem <div>. Pseudoklasa :active dotyczy stanu interakcji z elementem, jak naciśnięcie przycisku. Nie można jej używać do stawiania stylów jako domyślnych, ponieważ działa tylko w momencie aktywacji, co nie spełnia wymogu stałego przypisania stylu. Pseudoelement ::after służy do dodawania treści po elemencie, ale również nie wpływa na priorytet wyświetlania stylów. Użycie tych metod w kontekście prób ustalenia stałych cech stylów może prowadzić do nieporozumień i błędów w kodzie, ponieważ nie zapewniają one odpowiedniej kontroli nad priorytetami, co jest kluczowe w projektowaniu stylów CSS. W praktyce, aby uniknąć konfliktów i nieprzewidywalnych rezultatów, zaleca się odpowiednie planowanie struktury styli oraz przejrzystość w używaniu reguły !important tylko tam, gdzie to absolutnie konieczne.

Pytanie 9

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

A. logiczy
B. tablicowy
C. znakowy
D. łańcuchowy
Typ logiczny, znany także jako boolean, jest jednym z podstawowych typów danych w większości języków programowania, które przyjmuje tylko dwie wartości: prawda (true) i fałsz (false). Ten typ danych jest kluczowy w logice programowania, ponieważ umożliwia podejmowanie decyzji i sterowanie przepływem programu na podstawie warunków. Na przykład, w języku Python można zdefiniować zmienną logiczną jako: 'is_active = True', co oznacza, że zmienna 'is_active' ma wartość prawda. Użycie typów logicznych jest fundamentalne dla struktur warunkowych, takich jak instrukcje if, które wykonują kod tylko wtedy, gdy warunek jest spełniony. Wartości logiczne są także wykorzystywane w operacjach logicznych, takich jak AND, OR oraz NOT, co pozwala na tworzenie bardziej złożonych warunków. W kontekście standardów, typ logiczny jest częścią specyfikacji języków programowania, takich jak C, Java czy JavaScript, co czyni go uniwersalnym narzędziem w programowaniu.

Pytanie 10

W języku JavaScript, element został uzyskany przy pomocy metody getElementById. Jaką właściwość należy zastosować, aby zmienić zawartość tego elementu?

A. Body
B. HTML
C. innerBody
D. innerHTML
Właściwość innerHTML jest kluczowym elementem w manipulacji DOM (Document Object Model) w JavaScript. Umożliwia ona programistom modyfikację zawartości HTML danego elementu. Po pobraniu elementu za pomocą metody getElementById, można zmienić jego wewnętrzną zawartość, przypisując nowy tekst lub kod HTML do innerHTML. Na przykład, jeśli mamy element o id 'example', jego zawartość można zmienić w ten sposób: document.getElementById('example').innerHTML = '<p>Nowa zawartość</p>'; To podejście jest powszechnie stosowane w dynamicznej aktualizacji treści stron internetowych, co jest szczególnie przydatne w aplikacjach jednostronicowych (SPA) oraz przy tworzeniu interaktywnych komponentów użytkownika. Warto również zauważyć, że używanie innerHTML wiąże się z pewnymi zagrożeniami, takimi jak wstrzykiwanie kodu (XSS), dlatego zawsze powinno się dbać o walidację i sanitację wprowadzanych danych. W praktyce, aby zwiększyć bezpieczeństwo aplikacji, można korzystać z innych metod manipulacji DOM, takich jak textContent lub createElement, które nie interpretują kodu HTML.

Pytanie 11

Wymień dwa sposoby na zabezpieczenie bazy danych Microsoft Access

A. Funkcje anonimowe oraz ustawienie hasła do otwarcia bazy danych
B. Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
C. Ustalenie zabezpieczeń na poziomie użytkownika oraz w sesji
D. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika to kluczowe elementy ochrony danych w Microsoft Access. Ustalenie hasła otwarcia bazy danych zapewnia podstawowy poziom bezpieczeństwa, uniemożliwiając nieautoryzowanym użytkownikom dostęp do pliku. W praktyce, aby ustawić hasło, wystarczy przejść do opcji 'Informacje' w menu, a następnie wybrać 'Szyfrowanie z hasłem'. Zabezpieczenia na poziomie użytkownika natomiast pozwalają na definiowanie ról i uprawnień dla różnych użytkowników, co jest istotne w sytuacjach, gdzie dostęp do danych powinien być ograniczony do wybranych osób. Implementacja tych rozwiązań jest zgodna z dobrymi praktykami bezpieczeństwa danych, które zalecają stosowanie wielowarstwowych mechanizmów ochrony. Przykładem może być firma, która przechowuje wrażliwe dane klientów, gdzie konieczne jest, aby tylko wyznaczeni pracownicy mieli dostęp do konkretnych informacji, co można zrealizować właśnie poprzez zabezpieczenia na poziomie użytkownika.

Pytanie 12

W języku HTML, aby nadać dokumentowi tytuł "Moja strona", który będzie wyświetlany na zakładce przeglądarki internetowej, należy posłużyć się zapisem

A. <meta title="Moja strona">
B. <head>Moja strona</head>
C. <title>Moja strona</title>
D. <meta name="title" content="Moja strona" />
Element <title> jest absolutnie podstawą, jeśli chodzi o definiowanie tytułu strony w HTML. Umieszcza się go zawsze wewnątrz sekcji <head>, a jego zawartość jest tym, co wyświetla się na karcie przeglądarki. Moim zdaniem to jedna z tych rzeczy, które – choć wydają się drobiazgiem – mają duży wpływ na użyteczność i pozycjonowanie strony. Jeśli budujesz własną stronę lub pracujesz przy większym projekcie, warto pamiętać, żeby tytuł był unikalny i możliwie krótki, bo to właśnie on pojawia się również w wynikach wyszukiwania Google. Organizacje takie jak W3C wyraźnie podkreślają, że <title> jest wymagany w każdym dokumencie HTML5. Często też spotykałem się z przypadkami, gdzie ktoś zapominał o tym tagu i potem dziwił się, że przeglądarka pokazuje „Untitled” albo po prostu adres URL na pasku zakładki. Z praktyki – zawsze warto od razu na początku pracy nad stroną ustawić sensowny tytuł, bo potem łatwo o tym zapomnieć. A jak już masz kilka kart z otwartymi projektami, czy klient patrzy na podgląd w wyszukiwarce – profesjonalnie przygotowany tytuł robi robotę. Pamiętaj też, że <title> nie jest miejscem na wrzucanie dodatkowego kodu HTML, tylko sam tekst. Prosta sprawa, a oszczędza potem sporo nerwów.

Pytanie 13

Jakiego typu tablicy dotyczy instrukcja dodawania elementu w JavaScript?

Tablica['technik'] = 'informatyk';
A. asocjacyjnej
B. stałej
C. liczbowej
D. wielowymiarowej
Tablica asocjacyjna w JavaScript to struktura danych, która przechowuje wartości w formie par klucz-wartość, co pozwala na efektywne i dynamiczne przypisywanie i pobieranie danych. Klucze w tablicy asocjacyjnej mogą być dowolnymi łańcuchami znaków, co daje dużą elastyczność w organizacji danych. Przykładem jest przypisanie Tablica['technik'] = 'informatyk'; gdzie 'technik' jest kluczem, a 'informatyk' wartością. To podejście jest zgodne ze standardami JavaScript, w którym tablice asocjacyjne są implementowane jako obiekty. W praktyce używa się ich często do przechowywania konfiguracji, danych użytkowników lub innych danych, które wymagają szybkiego dostępu i modyfikacji. Tablice asocjacyjne umożliwiają dynamiczne dodawanie nowych par klucz-wartość, co jest cenioną cechą w aplikacjach wymagających skalowalności. Warto zauważyć, że podczas gdy tradycyjne tablice używają indeksów liczbowych, tablice asocjacyjne oferują większą elastyczność poprzez użycie kluczy tekstowych, co jest zgodne z dobrymi praktykami kodowania i ułatwia czytelność oraz utrzymanie kodu.

Pytanie 14

Wskaż najefektywniejszą metodę wyczyszczenia wszystkich danych z tabeli adresy, nie wpływając na jej strukturę

A. DELETE TABLE adresy;
B. TRUNCATE TABLE adresy;
C. DROP TABLE adresy;
D. DELETE * FROM adresy;
Usunięcie wszystkich rekordów z tabeli adresy bez usuwania jej struktury można zrealizować na wiele sposobów, jednak nie wszystkie z nich są właściwe. DROP TABLE adresy; jest komendą, która usuwa całą tabelę wraz z jej strukturą oraz danymi, co jest całkowicie sprzeczne z założeniem pytania. Takie podejście może prowadzić do poważnych problemów w aplikacjach, które polegają na istnieniu tabeli, ponieważ po wykonaniu tej komendy tabela przestaje istnieć, co uniemożliwia dalsze operacje na niej. DELETE * FROM adresy; wydaje się być poprawną próbą usunięcia danych, ale składnia ta jest błędna, ponieważ w SQL nie używa się znaku „*” w kontekście polecenia DELETE. Poprawna składnia powinna być DELETE FROM adresy;, co z kolei prowadzi do przetwarzania każdego rekordu w tabeli i może być znacznie wolniejsze w przypadku dużych zbiorów danych. DELETE również nie resetuje identyfikatorów autoinkrementacyjnych, co może być niepożądanym efektem. Z kolei DELETE TABLE adresy; to niewłaściwe wyrażenie, ponieważ SQL nie rozpoznaje komendy DELETE TABLE. W rzeczywistości, by usunąć tabelę, musielibyśmy użyć DROP TABLE. Zasadniczo, błędne odpowiedzi wskazują na niepełne zrozumienie zasadności i syntaktyki SQL oraz różnic pomiędzy operacjami na danych. Warto zatem przywiązywać wagę do detali, aby unikać nieefektywnych i błędnych rozwiązań, szczególnie w pracy z bazami danych, gdzie każdy błąd może prowadzić do utraty cennych danych.

Pytanie 15

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. części wspólnej.
C. grupowania.
D. wykluczenia.
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 16

Które z poniższych stwierdzeń jest poprawne w kontekście grafiki rastrowej?

A. Podczas skalowania obraz nie traci na jakości.
B. Grafika rastrowa nie jest zapisywana w formacie WMF (ang. Windows Metafile Format - format metaplików Windows).
C. Jest to przedstawienie obrazu poprzez siatkę pikseli, które są odpowiednio kolorowane w układzie pionowo-poziomym na ekranie komputera, drukarce lub innym urządzeniu wyjściowym.
D. Obraz zapisywany jest za pomocą figur geometrycznych rozmieszczonych w układzie współrzędnych.
Grafika rastrowa, znana również jako bitmapa, to sposób przedstawiania obrazu poprzez siatkę pikseli. Piksel, będący najmniejszym elementem obrazu, jest odpowiednio kolorowany, co pozwala na uzyskanie pełnozakresowego obrazu. Takie podejście jest powszechnie stosowane w różnych dziedzinach, od fotografii cyfrowej po projektowanie graficzne. W przypadku grafiki rastrowej, każdy piksel jest przypisany do konkretnego miejsca na siatce, co skutkuje tym, że zmieniając rozmiar obrazu poprzez skalowanie, jakość obrazu ulega pogorszeniu, gdyż piksele mogą być rozciągane lub stłumione. Warto też zauważyć, że formaty plików, takie jak JPEG, PNG czy BMP, są typowymi formatami dla grafiki rastrowej, gdzie każdy z nich ma swoje zastosowanie i charakterystyki. Przykładowo, JPEG jest idealny do zdjęć ze względu na kompresję stratną, podczas gdy PNG obsługuje przezroczystość. Zrozumienie tego, jak grafika rastrowa działa i jakie są jej ograniczenia, jest kluczowe dla każdego, kto pracuje z obrazem w środowisku cyfrowym.

Pytanie 17

Język PHP zapewnia wsparcie dla

A. obiektów przeglądarki
B. sesji i ciastek
C. zdarzeń związanych z myszą
D. klawiszy klawiatury
PHP, jako język skryptowy po stronie serwera, oferuje wsparcie dla zarządzania sesjami oraz ciasteczkami, co jest kluczowe w kontekście tworzenia aplikacji internetowych. Sesje w PHP umożliwiają przechowywanie danych użytkownika pomiędzy różnymi żądaniami HTTP, co jest istotne w przypadku potrzeb utrzymania stanu aplikacji, np. podczas logowania. Dzięki funkcjom takim jak session_start() można łatwo rozpocząć nową sesję lub wznowić istniejącą. Ciasteczka, z kolei, pozwalają na przechowywanie danych po stronie klienta, co umożliwia personalizację doświadczeń użytkowników na stronie. Przykładem może być zapisywanie preferencji użytkownika, takich jak język interfejsu. Dobre praktyki w zakresie obsługi sesji i ciasteczek obejmują stosowanie bezpiecznych identyfikatorów sesji, ograniczanie czasu życia ciasteczek, a także ich szyfrowanie, co chroni przed atakami typu session hijacking. W ten sposób PHP gwarantuje, że aplikacje są nie tylko funkcjonalne, ale także bezpieczne.

Pytanie 18

Poprzez zdefiniowanie var x="true"; w języku JavaScript powstaje zmienna należąca do typu

A. liczbowym
B. logicznym
C. string (ciąg znaków)
D. nieokreślonego (undefined)
Deklaracja <b>var x="true";</b> w języku JavaScript tworzy zmienną typu string (ciąg znaków). Wartość "true" jest tekstem, a nie wartością logiczną. W JavaScript, zmienne są dynamicznie typowane, co oznacza, że ich typ może się zmieniać w zależności od wartości, którą przechowują. Przykładem zastosowania tego typu zmiennej może być przechowywanie danych użytkownika w aplikacjach webowych, gdzie często korzysta się z ciągów znaków do reprezentacji różnych informacji, takich jak nazwy użytkowników, hasła, czy inne dane tekstowe. Dobrymi praktykami w programowaniu w JavaScript jest unikanie pomylenia wartości logicznych z ciągami znaków, ponieważ mogą one prowadzić do trudnych do zdiagnozowania błędów. Warto również pamiętać, że w JavaScript stringi są otoczone pojedynczymi lub podwójnymi cudzysłowami, co pozwala na jednoznaczną identyfikację ich jako typów danych. Dobre zrozumienie typów danych w JavaScript jest kluczowe dla skutecznego programowania i zarządzania danymi.

Pytanie 19

Jakiego elementu musisz użyć, aby rozpocząć nową linię tekstu bez tworzenia akapitu na stronie internetowej?

A. </br>
B. <br>
C. <p>
D. </b>
Znak <br> jest standardowym elementem HTML używanym do wprowadzenia przerwy w tekście, która nie tworzy nowego akapitu. W przeciwieństwie do znacznika <p>, który definiuje akapit i dodaje dodatkową przestrzeń przed i po nim, <br> po prostu przenosi tekst do nowej linii, co jest szczególnie przydatne w takich sytuacjach jak adresy, wiersze piosenek czy fragmenty tekstu, gdzie formatowanie linii jest kluczowe. Przykład użycia: <p>Adam Mickiewicz,<br>Pan Tadeusz.</p> W powyższym przykładzie tekst "Pan Tadeusz" zostanie wyświetlony w nowej linii, ale nie jako nowy akapit. Warto pamiętać, że stosowanie zbyt wielu <br> w kodzie HTML może prowadzić do chaotycznego formatowania, dlatego zaleca się ich użycie z umiarem, zgodnie z zasadami dobrego projektowania stron i przystosowywania ich do różnych urządzeń, co jest zgodne z zasadami responsywnego designu. Zastosowanie <br> jest zgodne z HTML5 i uznawane za najlepszą praktykę przy tworzeniu prostych układów tekstowych.

Pytanie 20

System informatyczny umożliwiający tworzenie, edycję i publikację treści na stronach internetowych bez konieczności posiadania zaawansowanej wiedzy technicznej, to

A. RDBMS
B. ERP
C. DBMS
D. CMS
Poprawna odpowiedź to CMS, czyli Content Management System – system zarządzania treścią. Jest to specjalne oprogramowanie, które pozwala tworzyć, edytować i publikować treści na stronie WWW bez konieczności pisania kodu w HTML, CSS czy PHP. Z mojego doświadczenia w szkołach i firmach to właśnie CMS-y są najczęściej używane do budowy stron firmowych, blogów, portali informacyjnych czy nawet prostych sklepów internetowych. Typowe przykłady CMS-ów to WordPress, Joomla, Drupal czy TYPO3. W praktyce wygląda to tak, że logujesz się do panelu administracyjnego przez przeglądarkę, masz formularze do dodawania artykułów, edytor WYSIWYG („to co widzisz, to dostajesz”), możliwość wstawiania obrazków, filmów z YouTube, galerii, a nawet zarządzania menu i użytkownikami. Nie trzeba przy tym znać składni HTML ani obsługi bazy danych – system sam zapisuje dane w bazie, generuje strony zgodne z wybranym szablonem i dba o podstawową strukturę. Dobre praktyki w pracy z CMS-em to używanie aktualnych motywów i wtyczek, regularne aktualizacje systemu (ze względów bezpieczeństwa), wykonywanie kopii zapasowych oraz dbanie o przejrzystą strukturę treści (nagłówki H1, H2, H3, sensowne adresy URL, metaopisy). W branży przyjmuje się, że CMS powinien wspierać SEO (np. możliwość ustawiania tytułów stron i opisów), wielojęzyczność, system ról i uprawnień użytkowników (redaktor, autor, administrator) oraz wersjonowanie treści. Moim zdaniem znajomość podstaw obsługi CMS-a to dziś absolutny standard w zawodach związanych z tworzeniem i utrzymaniem stron WWW.

Pytanie 21

Jak nazywa się element systemu zarządzania treścią, który jest bezpośrednio odpowiedzialny za wygląd strony internetowej?

A. Wtyczka w systemie WordPress lub dodatek w systemie Joomla!
B. Motyw w systemie WordPress lub szablon w systemie Joomla!
C. Widżet w systemie WordPress lub moduł w systemie Joomla!
D. Kokpit w systemie WordPress lub panel administracyjny w systemie Joomla!
Motyw w systemie WordPress oraz szablon w systemie Joomla! odgrywają kluczową rolę w kreowaniu wizualnej tożsamości witryny internetowej. To właśnie one determinują, jak treści są prezentowane użytkownikom - od układu graficznego, przez kolory, czcionki, aż po elementy interaktywne. Dzięki motywom użytkownicy mogą wykorzystywać gotowe rozwiązania, co znacząco przyspiesza proces tworzenia strony. W przypadku WordPressa, motyw można łatwo zmieniać, co pozwala na dynamiczne dostosowywanie wyglądu witryny do zmieniających się trendów i potrzeb. Z kolei w Joomla!, szablony zapewniają elastyczność i możliwość personalizacji, co jest kluczowe dla dostosowania się do różnych grup docelowych. Dobrze zaprojektowane motywy i szablony powinny być zgodne z zasadami responsywnego web designu, co oznacza, że strona powinna wyglądać dobrze na różnych urządzeniach i rozdzielczościach ekranu. Warto również zwrócić uwagę na optymalizację SEO, która może być wpływana przez wybór motywu. Właściwy wybór oraz umiejętne wykorzystanie motywów i szablonów jest fundamentem skutecznego zarządzania treścią w sieci.

Pytanie 22

Wskaż stwierdzenie, które jest prawdziwe dla następującej definicji stylu:

<style type="text/css">
<!--
  p {color: blue; font-size: 14pt; font-style: italic}
  a { font-size: 16pt; text-transform: lowercase; }
  td.niebieski { color: blue }
  td.czerwony { color: red }
-->
</style>
A. Zdefiniowano dwie klasy.
B. Odnośnik będzie pisany czcionką 14 punktów.
C. Akapit będzie transponowany na małe litery.
D. Jest to styl lokalny.
Niestety, twoja odpowiedź nie była prawidłowa. Pierwsze stwierdzenie, że jest to styl lokalny, jest nieprawidłowe, ponieważ kod CSS jest zdefiniowany w osobnym pliku, a nie bezpośrednio w tagu style wewnątrz pliku HTML, co oznacza, że jest to styl zewnętrzny, a nie lokalny. Trzecie stwierdzenie, że akapit będzie transponowany na małe litery, jest błędne, ponieważ w kodzie nie ma takiej instrukcji. Ostatnie stwierdzenie, że odnośnik będzie pisany czcionką 14 punktów, jest nieprawidłowe, ponieważ w kodzie nie ma instrukcji dotyczących rozmiaru czcionki dla odnośników. Wszystkie te odpowiedzi wynikają z niezrozumienia kodu CSS. CSS jest potężnym narzędziem do kontrolowania wyglądu strony internetowej i wymaga zrozumienia różnych selektorów, właściwości i wartości. Ważne jest, aby pamiętać, że nie wszystkie elementy HTML są stylizowane w ten sam sposób, a różne selektory CSS mają różne priorytety. To pomoże uniknąć błędów w przyszłości.

Pytanie 23

W jaki sposób można określić w CSS styl dla hiperłącza, aby link, który nie był odwiedzony, miał kolor żółty, natomiast odwiedzony link był w kolorze zielonym?

A. a:link { color: yellow; } a:visited { color: green; }
B. a:hover { color: yellow; } a:visited { color: green; }
C. a:visited { color: yellow; } a:link { color: green; }
D. a:hover { color: green; } a.link { color: yellow; }
Właściwa odpowiedź definiuje style CSS dla hiperłączy w sposób zgodny z ich rolą i statusami. Selektor `a:link` odpowiada za stylizację nieodwiedzonych linków, a w tym przypadku ustawia kolor tekstu na żółty. Z kolei selektor `a:visited` odnosi się do linków, które użytkownik już odwiedził, i ustawia ich kolor na zielony. Taka separacja stylizacji pozwala na intuicyjne rozróżnienie między linkami, co jest korzystne z punktu widzenia użyteczności i dostępności. Praktyczne zastosowanie tych selektorów pozwala na łatwe dostosowanie wyglądu strony internetowej w zależności od stanu hiperłączy, co może być przydatne w nawigacji. Zgodnie z dobrymi praktykami, zawsze warto testować wygląd strony w różnych przeglądarkach, ponieważ niektóre z nich mogą interpretować style CSS nieco inaczej. Dodatkowo, warto pamiętać o dostępności - kontrastujące kolory mogą znacznie poprawić czytelność i ułatwić nawigację osobom z wadami wzroku.

Pytanie 24

Można wydać instrukcję transakcyjną ROLLBACK, aby

A. cofnąć transakcję po zastosowaniu instrukcji COMMIT
B. zatwierdzić transakcję
C. cofnąć działanie transakcji
D. zatwierdzić jedynie wybrane modyfikacje transakcji
Każda odpowiedź, która nie odnosi się do właściwego działania instrukcji ROLLBACK, wykazuje istotne nieporozumienia dotyczące transakcji w bazach danych. Na przykład, stwierdzenie, że ROLLBACK jest używane do zatwierdzania transakcji, jest fundamentalnie błędne. Zatwierdzanie transakcji, zazwyczaj realizowane za pomocą instrukcji COMMIT, polega na zapisaniu wszystkich zmian dokonanych w ramach transakcji w bazie danych. W przeciwieństwie do tego, ROLLBACK jest środkiem ochrony, pozwalającym na cofnięcie wszelkich zmian, które mogły zostać wykonane przed jego wywołaniem. Do tego dochodzi błędne uznanie, że ROLLBACK może cofnąć tylko wybrane modyfikacje transakcji, co jest niezgodne z jego zasadniczą funkcją. ROLLBACK działa na całej transakcji, a nie na jej poszczególnych elementach, co jest kluczowe dla zapewnienia spójności stanu bazy danych. Warto również zauważyć, że instrukcja ROLLBACK nie może być używana po zastosowaniu instrukcji COMMIT, ponieważ COMMIT ostatecznie kończy transakcję i zapisuje wszystkie zmiany, co czyni je nieodwracalnymi. Te błędne koncepcje mogą prowadzić do poważnych problemów w aplikacjach bazodanowych, takich jak utrata danych, niespójności czy awarie systemów, dlatego kluczowe jest zrozumienie właściwego działania mechanizmów transakcyjnych i ich zastosowania w praktyce.

Pytanie 25

Jakie wartości zostaną wyświetlone kolejno w wyniku wykonania podanego skryptu?

<script language = "JavaScript">
var x = 1;
var y;
++y;
document.write(++x);
document.write(" ");
document.write(x--);
document.write(" ");
document.write(x);
</script>
A. 2 2 1
B. 1 2 2
C. 1 2 1
D. 2 1 1
Skrypt operuje na zmiennej x używając zarówno preinkrementacji jak i postdekrementacji co może być mylące jeśli nie jest się zaznajomionym z ich działaniem. W przypadku preinkrementacji ++x wartość zmiennej x jest najpierw zwiększana zanim zostanie wykorzystana w dalszym wyrażeniu. To jest kluczowe ponieważ oznacza że już przy pierwszym wypisaniu wartość x to 2 co jest często błędnie interpretowane jako 1 jeśli nie uwzględni się preinkrementacji. Z kolei postdekrementacja x-- oznacza że obecna wartość zmiennej jest używana zanim zostanie ona zmniejszona. To często jest źródłem błędów logicznych gdyż programista może oczekiwać że wartość zmiennej została już zaktualizowana. W efekcie druga wartość jest również 2 ponieważ dekrementacja następuje po użyciu wartości w wyrażeniu a dopiero trzecia instrukcja wypisuje wynik dekrementacji czyli 1. Zrozumienie tych mechanizmów jest kluczowe w kontekście pisania wydajnego i poprawnego kodu zwłaszcza w językach takich jak JavaScript gdzie operacje na zmiennych są powszechne. Warto zatem zwrócić uwagę na różnicę między pre- a post- operacjami aby uniknąć potencjalnych błędów w logice aplikacji i lepiej zarządzać przepływem danych w programach. Dobre praktyki programistyczne zalecają również konsystencję w korzystaniu z tych operatorów co pomaga w utrzymaniu czytelności i zrozumiałości kodu przez współpracowników i samego autora post factum. Tego rodzaju błędy należą do typowych wśród początkujących programistów i podkreślają znaczenie dokładnego testowania i dokumentowania kodu dla zapewnienia jego niezawodności i poprawności działania w różnorodnych kontekstach środowiskowych i użytkowych. Weryfikacja takich operacji w trakcie testów jednostkowych pozwala na wcześniejsze wykrycie i korektę błędów logicznych co jest zgodne z najlepszymi praktykami w inżynierii oprogramowania. Przy tym podejściu zmniejsza się również ryzyko nieoczekiwanych zachowań aplikacji w środowiskach produkcyjnych co może mieć kluczowe znaczenie w przypadku aplikacji o krytycznym znaczeniu dla biznesu.

Pytanie 26

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

A. DROP TABLE usuwa tabelę, natomiast TRUNCATE TABLE modyfikuje dane w niej spełniające określony warunek
B. Obydwa polecenia usuwają tabelę wraz z jej zawartością, jednak tylko TRUNCATE TABLE można cofnąć
C. Obydwa polecenia usuwają tylko zawartość tabeli, ale tylko DROP TABLE może być przywrócone
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 27

W celu sprawdzenia poprawności składni kodu CSS można skorzystać z

A. optymalizatora.
B. walidatora.
C. konsolidatora.
D. narzędzia debbuger.
Jeśli chcesz sprawdzić, czy Twój kod CSS jest poprawny, to najlepiej skorzystać z walidatora. To taki program lub strona, która podpowiada, czy wszystko jest zrobione zgodnie z zasadami ustalonymi przez W3C. Dzięki walidatorowi możesz szybko znaleźć błędy w swoim kodzie, na przykład brakuje średnika, są nieprawidłowe wartości lub coś jest nie tak z właściwościami. Używanie walidatorów jest ważne, bo nie tylko poprawia jakość kodu, ale też wpływa na to, jak szybko ładuje się strona i jak dobrze działa na różnych urządzeniach. Można znaleźć online narzędzia, jak W3C CSS Validation Service, gdzie wystarczy wkleić kod, a potem dostajesz raport z błędami. Generalnie, walidacja kodu CSS to dobry sposób na poprawienie jego jakości, a to z kolei może pomóc w lepszym SEO.

Pytanie 28

Atrybut wskazujący na lokalizację pliku graficznego w znaczniku <img> to

A. href
B. link
C. alt
D. src
Atrybut 'src' (source) jest kluczowym elementem znacznika <img>, ponieważ wskazuje lokalizację pliku graficznego, który ma być wyświetlony na stronie internetowej. Użycie tego atrybutu jest niezbędne, aby przeglądarka mogła zlokalizować i załadować odpowiedni obraz. Na przykład, jeśli chcesz wyświetlić grafikę logo na stronie, możesz użyć znacznika <img src='logo.png'>, gdzie 'logo.png' jest ścieżką do pliku graficznego. Ważne jest, aby pamiętać o dokładnym podaniu ścieżki, która może być względna lub absolutna. Zgodnie z najlepszymi praktykami, ważne jest również użycie atrybutu 'alt', który opisuje obraz dla osób z problemami wzrokowymi oraz w przypadku, gdy obraz nie może być załadowany. Przestrzeganie standardów W3C w zakresie HTML zapewnia lepszą dostępność i użyteczność stron internetowych.

Pytanie 29

Czego nie należy brać pod uwagę przy zabezpieczaniu serwera bazy danych przed atakami hakerskimi?

A. Aktywacja zapory
B. Zamykanie portów związanych z bazą danych
C. Defragmentacja dysków
D. Używanie skomplikowanych haseł do bazy
Defragmentacja dysków, mimo że może poprawić wydajność dysków twardych, nie jest bezpośrednio związana z zabezpieczeniem serwera bazy danych przed atakami hakerów. Zabezpieczenia bazy danych powinny koncentrować się na praktykach, które bezpośrednio wpływają na ochronę danych i dostęp do nich. Przykładem skutecznych środków ochrony są złożone hasła, które utrudniają nieautoryzowany dostęp do systemu. Stosowanie silnych haseł, które łączą litery, cyfry oraz znaki specjalne, jest podstawowym krokiem w kierunku zabezpieczenia bazy danych. Kolejnym aspektem jest blokowanie portów, które nie są niezbędne do działania bazy danych, co może znacznie ograniczyć możliwości ataku z sieci. Włączenie zapory (firewall) także przyczynia się do ochrony, monitorując i kontrolując ruch sieciowy. Warto podkreślić, że zgodnie z zasadami bezpieczeństwa, minimalizacja punktów dostępu do bazy danych jest kluczowa dla jej ochrony.

Pytanie 30

Systemem zarządzania wersjami w projekcie oprogramowania, który jest rozproszony, jest

A. GIT
B. FileZilla
C. TotalCommander
D. Eclipse
GIT jest rozproszonym systemem kontroli wersji, który umożliwia programistom śledzenie zmian w kodzie źródłowym oraz współpracę nad projektami w zespole. Rozproszona architektura GIT pozwala każdemu deweloperowi na posiadanie pełnej kopii repozytorium, co zwiększa bezpieczeństwo i elastyczność pracy. W przeciwieństwie do centralnych systemów kontroli wersji, gdzie jedna centralna kopia repozytorium jest głównym źródłem, GIT umożliwia każdemu użytkownikowi wprowadzanie zmian lokalnie, a następnie synchronizację z innymi. Przykładem zastosowania GIT-a jest platforma GitHub, która umożliwia hosting projektów oraz wspiera pracę zespołową poprzez funkcje takie jak pull requesty czy zarządzanie problemami. GIT jest zgodny z wieloma standardami, w tym z Open Source, co czyni go narzędziem dostępnym dla szerokiej społeczności deweloperów. Jego wszechstronność i bogate możliwości, takie jak branżowanie i łączenie gałęzi, sprawiają, że jest on niezbędnym narzędziem w pracy nad nowoczesnymi projektami programistycznymi.

Pytanie 31

Jaką klauzulę należy wykorzystać w instrukcji CREATE TABLE w SQL, by dane pole rekordu pozostawało wypełnione?

A. NOT NULL
B. NULL
C. CHECK
D. DEFAULT
Odpowiedź 'NOT NULL' jest poprawna, ponieważ klauzula ta jest używana w SQL do definiowania, że dane pole w tabeli nie może przyjmować wartości NULL, co oznacza, że musi zawierać jakąś wartość. Użycie klauzuli NOT NULL jest kluczowe w zapewnieniu integralności danych, szczególnie w sytuacjach, gdy brak wartości w danym polu może prowadzić do błędów w logice aplikacji lub nieprawidłowych wyników zapytań. Na przykład, w przypadku tworzenia tabeli dla użytkowników w systemie, pole 'email' powinno być oznaczone jako NOT NULL, aby zapobiec sytuacji, w której użytkownik mógłby zostać dodany bez podania adresu e-mail, co uniemożliwiłoby kontaktowanie się z nim. Dobrą praktyką jest również stosowanie klauzuli NOT NULL tam, gdzie dane są wymagane do poprawnego działania aplikacji. Użycie tej klauzuli jest zgodne z zasadami normalizacji baz danych, które z kolei mają na celu redukcję redundancji i poprawę integralności danych.

Pytanie 32

W przypadku uszkodzenia serwera bazy danych, aby jak najszybciej przywrócić pełną funkcjonalność bazy danych, należy skorzystać z

A. opisów struktur danych w tabelach.
B. kompletnej listy użytkowników serwera.
C. najnowszej wersji instalacyjnej serwera.
D. aktualnej wersji kopii zapasowej.
Wybór aktualnej wersji kopii zapasowej jako najefektywniejszej metody przywrócenia działania bazy danych po awarii serwera jest zgodny z najlepszymi praktykami w zarządzaniu danymi. Kopie zapasowe stanowią kluczowy element strategii ochrony danych i powinny być regularnie tworzone, aby minimalizować ryzyko utraty informacji. W przypadku uszkodzenia serwera bazy danych, przywrócenie z najnowszej kopii zapasowej, która zawiera wszystkie aktualne dane, jest najskuteczniejszym sposobem odzyskania sprawności systemu. Kopie zapasowe można tworzyć na różne sposoby, w tym pełne, przyrostowe i różnicowe, co pozwala na elastyczność w zarządzaniu danymi. Zgodnie z rekomendacjami takich standardów jak ISO 27001, organizacje powinny wdrażać procedury tworzenia i zarządzania kopiami zapasowymi. Przykładowo, w przypadku awarii, administratorzy mogą szybko przywrócić bazę danych do stanu sprzed awarii, co znacząco ogranicza przestoje i straty finansowe związane z utratą danych.

Pytanie 33

Aby prawidłowo zorganizować hierarchiczną strukturę tekstu na stronie internetowej, powinno się wykorzystać

A. znaczniki <frame> i <table>
B. znacznik <p> z formatowaniem
C. znacznik <div>
D. znaczniki <h1>, <h2> oraz <p>
Aby poprawnie zdefiniować hierarchiczną strukturę tekstu witryny internetowej, kluczowe jest zastosowanie znaczników <h1>, <h2>, oraz <p>. Znacznik <h1> jest najważniejszym nagłówkiem na stronie i powinien być używany tylko raz, aby wskazać główny temat treści. Z kolei znaczniki <h2> służą do wyodrębnienia podtematów, co pozwala na tworzenie czytelnej i logicznej struktury dokumentu. Dzięki tym znacznikom, zarówno użytkownicy, jak i wyszukiwarki internetowe mogą łatwiej zrozumieć hierarchię treści. Znacznik <p> jest używany do definiowania akapitów, co dodatkowo poprawia czytelność tekstu. Zastosowanie tej struktury jest zgodne z wytycznymi W3C oraz zasadami SEO, co przyczynia się do lepszego indeksowania przez wyszukiwarki. Przykładowo, strona internetowa poświęcona zdrowemu stylowi życia może mieć <h1> jako 'Zdrowy Styl Życia', a <h2> jako 'Dieta' i 'Ćwiczenia', co ułatwia użytkownikom nawigację oraz przyswajanie treści.

Pytanie 34

W języku C++ stworzono zmienną char zm1[10]; Czym jest ta zmienna?

A. liczbą
B. tablicą znaków
C. znakiem
D. tablicą łańcuchów
Odpowiedzi sugerujące, że zmienna char zm1[10] jest liczbą, tablicą łańcuchów, czy też pojedynczym znakiem, są nieprawidłowe z punktu widzenia definicji i zastosowania zmiennych w języku C++. Zmienna char zm1[10] jest tablicą znaków, co oznacza, że jej przeznaczeniem jest przechowywanie wielu znaków, a nie tylko jednego lub zestawu łańcuchów. Liczby w C++ są definiowane jako zmienne typu int, float, double itp., które mają odmienną reprezentację w pamięci i służą do wykonywania operacji matematycznych. Tablica łańcuchów, która jest bardziej złożoną strukturą, wymagałaby bardziej rozbudowanej definicji, najczęściej jako tablica wskaźników do zmiennych typu char, a nie jako tablicy znaków. Pojedynczy znak również nie oddaje pełnej funkcjonalności zm1, ponieważ zmienna ta została stworzona do przechowywania sekwencji znaków. Typowe błędy myślowe, które mogą prowadzić do błędnych odpowiedzi, obejmują mylenie pojęć i niepełne zrozumienie struktury danych. Ważne jest, aby podczas nauki programowania zrozumieć różnice między typami zmiennych oraz ich zastosowaniem w kodzie. Praktyczna znajomość tablic znaków i ich zarządzania jest kluczowa w każdej aplikacji, która operuje na danych tekstowych.

Pytanie 35

W systemie kolorów RGB kolor żółty uzyskuje się przez zmieszanie dwóch barw: zielonej i czerwonej. Jaki kod szesnastkowy reprezentuje kolor żółty?

A. #F0F0F0
B. #00FFFF
C. #FFFF00
D. #FF00FF
Kolor żółty w palecie RGB jest uzyskiwany przez połączenie maksymalnej wartości czerwonego (FF) oraz maksymalnej wartości zielonego (FF), przy zerowej wartości niebieskiego (00). Kod szesnastkowy #FFFF00 oznacza, że czerwony ma wartość 255 (FF), zielony również ma wartość 255 (FF), a niebieski ma wartość 0 (00). Przykładowe zastosowanie koloru żółtego znajduje się w projektowaniu graficznym, gdzie jest on często wykorzystywany do wyróżniania istotnych elementów, takich jak przyciski lub informacje, które mają przyciągnąć uwagę użytkownika. W kontekście aplikacji internetowych, stosowanie barw RGB zgodnie z ich reprezentacją szesnastkową jest zgodne z dobrymi praktykami w zakresie UX/UI, zapewniając spójność i czytelność interfejsów. Standardy dotyczące kolorów, takie jak WCAG, również zalecają odpowiednie kontrasty, które można osiągnąć przy użyciu kolorów takich jak żółty. Poznanie różnych kodów kolorów oraz ich zastosowań jest kluczowe dla skutecznego projektowania wizualnego, co przyczynia się do lepszej interakcji użytkownika z aplikacjami i stronami internetowymi.

Pytanie 36

Zapytanie SQL o treści: UPDATE artykuly SET cena = cena * 0.7 WHERE kod = 2; wskazuje na

A. w tabeli artykuly obniża wartość każdego pola cena o 30% dla wszystkich rekordów artykułów
B. dodanie w tabeli artykuly nowych pól cena oraz kod
C. w tabeli artykuly zmniejsza wartość każdego pola cena, dla którego pole kod ma wartość 2
D. dodanie w tabeli artykuly pola o nazwie cena z atrybutem kod
Ten kod SQL, czyli 'UPDATE artykuly SET cena = cena * 0.7 WHERE kod = 2;', służy do zaktualizowania ceny w tabeli 'artykuly' dla rekordów, gdzie 'kod' ma wartość 2. Fajnie, że rozumiesz, że z użyciem komendy 'UPDATE' nie dodajemy nowych pól, tylko zmieniamy te już istniejące. Mnożenie ceny przez 0.7 oznacza, że obniżamy ją o 30%, co jest dość powszechnie stosowane w przypadku promocji. Dzięki temu możemy lepiej zarządzać cenami w bazie danych. Warto też pamiętać, że klauzula 'WHERE' jest super ważna, bo pozwala nam ograniczyć działanie tego polecenia tylko do wybranych rekordów. W przeciwnym razie mogłoby się zdarzyć, że obniżylibyśmy ceny wszystkich produktów, co mogłoby być niebezpieczne. Dobrze wiedzieć, w jaki sposób korzystać z tych komend, bo to zdecydowanie ułatwia pracę z danymi.

Pytanie 37

Wskaż kod CSS odpowiadający układowi bloków 2 - 5, zakładając, że są one zbudowane w oparciu o przedstawiony kod HTML.

BLOK 1
BLOK 2BLOK 3BLOK 4
BLOK 5
<div id="pierwszy">BLOK 1</div>
<div id="drugi">BLOK 2</div>
<div id="trzeci">BLOK 3</div>
<div id="czwarty">BLOK 4</div>
<div id="piaty">BLOK 5</div>

Kod 1.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  clear: both;
  width: 30%;
}
Kod 2.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  float: left;
  width: 30%;
}
Kod 3.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
Kod 4.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
A. Kod 2.
B. Kod 1.
C. Kod 3.
D. Kod 4.
Niestety, twoja odpowiedź jest niepoprawna. Wybrałeś odpowiedź niezgodną z przedstawionym układem bloków. Analizując kod CSS, musisz zwrócić uwagę na różne aspekty, takie jak pozycja, szerokość i kolejność bloków. W tym przypadku, blok 'drugi' powinien być umieszczony po lewej stronie i zajmować 40% szerokości, bloki 'trzeci' i 'czwarty' powinny być odpowiednio po lewej i prawej stronie z szerokością 30%, a blok 'piąty' powinien być umieszczony na dole i zajmować 30% szerokości. To wszystko odpowiada układowi bloków na diagramie. Jeżeli wybrałeś inny kod, to prawdopodobnie źle zinterpretowałeś pozycję lub szerokość bloków, co jest kluczowe w tworzeniu układów stron. Ważne jest, aby zrozumieć i umieć manipulować kodem CSS, aby uzyskać pożądany układ strony. Pamiętaj, że praktyka i doświadczenie są kluczowe do zrozumienia jak kod CSS wpływa na układ i stylizację elementów strony.

Pytanie 38

W JavaScript utworzono obiekt. Jak zmienić wartość właściwości x tego obiektu w dalszej części kodu?

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. wsp.x = …
B. obiekt1::x = …
C. obiekt1.x = …
D. x = …
JavaScript to fajny język, który pozwala na pracę z obiektami, a właściwie to obiekty są jego podstawą. Chodzi o to, że można w nich przechowywać różne dane w formie par klucz-wartość. Gdy chcesz zmienić jakąś właściwość obiektu, używasz notacji kropkowej. To z pozoru proste, ale bardzo praktyczne. Po prostu wpisujesz nazwę obiektu, kropkę i nazwę właściwości, którą chcesz edytować. Na przykład mamy obiekt o nazwie obiekt1 i właściwość x. Żeby zmienić wartość x, piszesz obiekt1.x, a potem przypisujesz nową wartość. To wszystko jest zgodne z zasadami ECMAScript, które mówią, jak powinno się pracować z obiektami w JavaScript. Takie podejście jest nie tylko jasne, ale również umożliwia szybkie wskazanie, co dokładnie zmieniasz. W praktyce fajnie jest pokazać to na przykładzie, jak np. chcesz zaktualizować imię użytkownika w obiekcie, to robisz coś takiego: user.name = 'Jan'.

Pytanie 39

tr:nth-child(even) {background-color: #F2F2F2;}
Zastosowane formatowanie selektora tr:nth-child(even) spowoduje:
A. wypełnienie szarym tłem parzystych wierszy tabeli.
B. wypełnienie wszystkich wierszy tabeli szarym tłem.
C. wypełnienie szarym tłem nieparzystych wierszy tabeli.
D. oddzielenie wierszy nieparzystych od parzystych wierszem z szarym tłem.
Selektor CSS tr:nth-child(even) oznacza dokładnie: wybierz wszystkie elementy <tr>, które są parzystymi dziećmi swojego rodzica, licząc od 1 w górę. W CSS funkcja nth-child() przyjmuje słowo kluczowe even dla elementów parzystych (2, 4, 6, …) i odd dla elementów nieparzystych (1, 3, 5, …). To jest zdefiniowane w specyfikacji CSS Selectors Level 3. W Twoim przykładzie even powoduje, że przeglądarka nadaje styl background-color: #F2F2F2; wszystkim parzystym wierszom tabeli, czyli 2., 4., 6. itd. wierszowi <tr>. Dzięki temu powstaje tzw. zebra-striping, czyli naprzemienne kolorowanie wierszy tabeli, bardzo często stosowane w interfejsach webowych, bo poprawia czytelność danych i ułatwia śledzenie wiersza wzrokiem. W praktyce używa się tego zwykle razem z drugim stylem, np. tr:nth-child(odd) { background-color: white; }, żeby wyraźnie rozróżnić wiersze. Warto też pamiętać, że nth-child() liczy wszystkie dzieci danego rodzica, a nie tylko te z określoną klasą, więc jeżeli w tabeli pojawią się np. wiersze nagłówkowe <tr> w <thead>, to selektor tr:nth-child(even) zastosowany globalnie może dać trochę inne efekty niż się spodziewasz. Dobrą praktyką jest zawężanie selektora, np. tbody tr:nth-child(even), żeby kolorowanie dotyczyło tylko części z danymi, bez nagłówków. Z mojego doświadczenia warto też używać kolorów o niewielkim kontraście, tak jak #F2F2F2, żeby nie męczyć wzroku użytkownika przy długich tabelach.

Pytanie 40

Tabela o nazwie naprawy posiada kolumny klient oraz czyNaprawione. W celu usunięcia rekordów, w których wartość pola czyNaprawione wynosi prawda, należy użyć komendy

A. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
B. DELETE naprawy WHERE czyNaprawione = TRUE;
C. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
D. DELETE FROM naprawy;
Wszystkie błędne odpowiedzi zawierają niepoprawne podejście do użycia polecenia DELETE w SQL. Odpowiedź sugerująca "DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;" powiela powszechny błąd związany z błędnym formatowaniem zapytania. W SQL nie używa się słowa kluczowego 'klient' w kontekście polecenia DELETE, ponieważ nie ma takiej struktury w poleceniach usuwania. Natomiast "DELETE naprawy WHERE czyNaprawione = TRUE;" również jest niepoprawne, ponieważ nie jest to prawidłowa składnia SQL; brak jest klauzuli FROM, co skutkuje błędem w zapytaniu. Odpowiedź "DELETE FROM naprawy;" z kolei jest skrajnie nieodpowiednia, ponieważ usuwa wszystkie rekordy z tabeli naprawy, co może prowadzić do nieodwracalnej utraty danych. Takie podejście łamie zasadę ostrożności w zarządzaniu bazami danych, gdzie ważne jest, aby nie wykonywać operacji na wszystkich rekordach bez wyraźnego określenia warunków. Typowym błędem jest również zrozumienie, że każdy nieprecyzyjny zapis w SQL skutkuje utratą danych lub błędami wykonania. Dlatego kluczowe jest, aby mieć świadomość struktury składni SQL oraz konsekwencji każdej operacji na bazach danych, w tym ryzyka związane z usuwaniem danych.