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: 20 maja 2026 06:21
  • Data zakończenia: 20 maja 2026 06:30

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Przypisanie w JavaScript, zapisane jako var x=true;, prowadzi do tego, że zmienna x przyjmuje typ

A. wyliczeniowym
B. ciągu znaków
C. liczbowym
D. logicznym
Deklaracja zmiennej w języku JavaScript, przy użyciu słowa kluczowego 'var', tworzy zmienną x, której typ jest logiczny. Typ logiczny (boolean) w JavaScript ma dwa możliwe wartości: true oraz false. Jest to podstawowy typ danych, który jest szeroko używany w programowaniu do reprezentacji wartości prawda/fałsz, co jest niezbędne przy podejmowaniu decyzji, takich jak warunki w instrukcjach if, pętlach czy operacjach logicznych. Dlatego też, przypisanie wartości true do zmiennej x oznacza, że x jest typu boolean, co można zweryfikować za pomocą operatora typeof. W praktycznych zastosowaniach, typ logiczny jest niezwykle ważny, na przykład w formularzach internetowych, gdzie wartości typu boolean mogą określać, czy dany warunek został spełniony. W odniesieniu do standardów, typ boolean jest zdefiniowany w ECMAScript, co czyni go fundamentalnym elementem w programowaniu w tym języku. Zrozumienie typów danych, a szczególnie typu logicznego, jest kluczowe dla efektywnego programowania i optymalizacji kodu.

Pytanie 2

Aby uzyskać dane z tabeli pracownicy dotyczące jedynie osób, które ukończyły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy AND wiek > 25
B. SELECT * FROM pracownicy WHERE wiek > 25
C. SELECT * FROM pracownicy OR wiek > 25
D. SELECT * FROM wiek WHERE pracownicy > 25
Aby wyświetlić rekordy z tabeli pracownicy, które dotyczą pracowników powyżej 26 roku życia, należy zastosować odpowiednie zapytanie SQL. Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > 25;'. W tym przypadku, klauzula WHERE filtruje wyniki, zapewniając, że tylko ci pracownicy, którzy mają więcej niż 25 lat, zostaną zwróceni. Warto zauważyć, że w SQL operator '>' oznacza, że zwracane będą tylko rekordy, dla których warunek jest spełniony. Ponadto, wybranie wszystkich kolumn poprzez SELECT * jest powszechną praktyką, gdyż pozwala na uzyskanie pełnych informacji o pracownikach, bez konieczności wskazywania poszczególnych kolumn. Jest to zgodne z zasadami użycia SQL, gdzie operacje na danych są wykonywane poprzez polecenia definiujące wybrane tabele i warunki. Przykład zastosowania tego zapytania może być użyty w aplikacjach biznesowych, gdzie analiza wieku pracowników jest niezbędna do podejmowania decyzji kadrowych, a także w raportach dotyczących zatrudnienia. Takie zapytanie jest fundamentalne dla zarządzania danymi w relacyjnych bazach danych.

Pytanie 3

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL pozwala na

A. usunięcie użytkownika z bazy danych
B. odebranie uprawnień danemu użytkownikowi
C. przyznawanie uprawnień z użyciem ustalonego schematu
D. przyznawanie praw do tabeli
Polecenie REVOKE SELECT ON w języku SQL jest używane do odbierania uprawnień do wykonywania operacji SELECT na określonej tabeli lub widoku dla konkretnego użytkownika lub grupy użytkowników. W przypadku użycia tej komendy, administrator bazy danych lub właściciel obiektu wskazuje, że dany użytkownik nie ma już prawa do odczytu danych z określonej tabeli, co skutkuje zablokowaniem dostępu do informacji w tej tabeli. Przykładowo, jeśli mamy tabelę 'Pracownicy' i użytkownika 'JanKowalski', polecenie REVOKE SELECT ON Pracownicy FROM JanKowalski skutkuje tym, że Jan Kowalski nie będzie mógł wykonywać zapytań typu SELECT na tej tabeli. Ważne jest, aby zrozumieć, że polecenie to nie usuwa użytkownika z bazy danych ani nie zmienia struktury bazy, a jedynie modyfikuje uprawnienia dostępu. W kontekście SQL, standardy takie jak ANSI SQL definiują sposób, w jaki uprawnienia mogą być przyznawane i odbierane, co sprawia, że umiejętność zarządzania uprawnieniami jest niezbędna dla każdego administrującego bazą danych.

Pytanie 4

Jaką funkcję pełni CONCAT w języku SQL?

A. określenie podłańcucha znaków z tekstu wejściowego
B. łączenie tekstu do wyświetlenia
C. usuniecie określonego tekstu
D. przycinanie wyświetlanego tekstu
Chociaż usunięcie wskazanego tekstu, przycięcie wyświetlanego tekstu oraz wyznaczenie podłańcucha znaków są funkcjami, które mogą być użyteczne w operacjach na danych, nie są one związane z funkcjonalnością CONCAT. Usunięcie wskazanego tekstu jest realizowane przez funkcje takie jak REPLACE, które zastępują określone fragmenty tekstu innymi wartościami, a nie przez łączenie ich w jeden ciąg. Przycięcie wyświetlanego tekstu, na przykład przy użyciu funkcji TRIM, dotyczy usuwania białych znaków z początku i końca łańcucha, co również nie ma związku z łączeniem tekstów. Wyznaczenie z wejściowego tekstu podłańcucha znaków można zrealizować przez funkcję SUBSTRING, która pozwala na wydobycie określonego fragmentu z długiego tekstu. Każda z tych operacji ma swoje zastosowanie i jest bardzo przydatna w kontekście przetwarzania danych, jednak nie przynależą do funkcji CONCAT, której głównym celem jest łączenie tekstów, a nie ich modyfikacja w inny sposób.

Pytanie 5

Polecenie w języku SQL w formie ALTER TABLE 'miasta' ADD 'kod' text?

A. dodaje do tabeli dwie kolumny o nazwach: kod i text
B. w tabeli miasta modyfikuje nazwę kolumny kod na text
C. wprowadza do tabeli nową kolumnę o nazwie kod typu text
D. zmienia nazwę tabeli miasta na kod
Polecenie ALTER TABLE w języku SQL jest używane do modyfikacji istniejących tabel w bazie danych. W tym przypadku, zapytanie ALTER TABLE 'miasta' ADD 'kod' text; dodaje nową kolumnę o nazwie 'kod' typu tekstowego do tabeli 'miasta'. Typ 'text' w SQL jest używany do przechowywania dużych łańcuchów tekstowych, co czyni go idealnym wyborem, gdy dane w tej kolumnie mogą być różnej długości. Poprawne użycie znaków apostrofu w tym kontekście (zamiast cudzysłowów) jest istotne, ponieważ w niektórych systemach baz danych, takich jak MySQL, apostrofy są używane do definiowania nazw tabel i kolumn. Przy dodawaniu kolumn warto również pamiętać o możliwościach modyfikacji, takich jak określenie wartości domyślnych lub ograniczeń dla nowej kolumny. W praktyce, po wykonaniu tego polecenia, każda istniejąca linia w tabeli 'miasta' będzie miała nową kolumnę 'kod', w której wartości będą domyślnie NULL, dopóki nie zostaną one uzupełnione. Ważne jest, aby przed wykonaniem takich operacji zawsze robić kopie zapasowe danych, aby uniknąć ich utraty.

Pytanie 6

Reguła CSS, która ustawia tekst paragrafu w pionie na środku, to:

A. vertical-align: middle
B. align: middle
C. text-align: center
D. vertical-align: center
Odpowiedzi, które zostały podane jako alternatywne, są niepoprawne z różnych powodów. 'Vertical-align: center' nie jest uznawane za poprawną regułę CSS, ponieważ nie istnieje właściwość 'center' w kontekście 'vertical-align'. Tylko wartości takie jak 'top', 'middle', 'bottom' oraz 'baseline' są dozwolone. Z kolei 'text-align: center' jest właściwością, która odpowiada za poziome centrowanie tekstu wewnątrz elementu blokowego lub kontenera, a nie za wyśrodkowanie w pionie. Użycie tej reguły sprawi, że tekst będzie wyśrodkowany w poziomie, co jest zupełnie inną operacją niż pionowe centrowanie. Ostatnia propozycja, 'align: middle', jest również niepoprawna, ponieważ nie jest to właściwość CSS. W kontekście wyśrodkowywania elementów w CSS, 'align' nie jest używane, a zamiast tego powinno się stosować 'vertical-align' lub techniki takie jak flexbox, które pozwalają na bardziej elastyczne i nowoczesne podejście do układania elementów. Zrozumienie różnicy między tymi właściwościami jest kluczowe dla efektywnego projektowania stron internetowych, ponieważ stosowanie niewłaściwych reguł może prowadzić do nieoczekiwanych rezultatów w układzie strony.

Pytanie 7

Aby baza danych działała poprawnie i konsekwentnie, konieczne jest wprowadzenie w każdej tabeli

A. kluczy PRIMARY KEY i FOREIGN KEY
B. klucza FOREIGN KEY z wartością NOT NULL
C. klucza PRIMARY KEY z wartością NOT NULL i UNIQUE
D. klucza obcego z wartością NOT NULL i UNIQUE
W kontekście baz danych, klucz PRIMARY KEY jest fundamentalnym elementem struktury każdej tabeli, ponieważ zapewnia unikalną identyfikację rekordów. Klucz ten musi spełniać dwie podstawowe zasady: być unikalny oraz nie pozwalać na wartości NULL. Dzięki temu każda linia w tabeli może być jednoznacznie zidentyfikowana, co jest niezbędne do zapewnienia integralności danych oraz efektywności operacji CRUD (tworzenie, odczyt, aktualizacja, usuwanie). Przykładem zastosowania klucza PRIMARY KEY może być tabela 'Użytkownicy', w której kolumna 'ID_Użytkownika' pełni rolę klucza głównego, zapewniając, że każdy użytkownik ma unikalny identyfikator. Wartości NULL w kluczu głównym byłyby problematyczne, ponieważ uniemożliwiałyby identyfikację danego rekordu. Dodatkowo, klucz ten może być użyty w relacjach między tabelami, gdzie klucz FOREIGN KEY w innej tabeli nawiązuje do PRIMARY KEY, tworząc spójną strukturę danych. Ustanawiając klucz PRIMARY KEY, projektanci baz danych mogą również efektywnie korzystać z indeksów, co przyspiesza operacje wyszukiwania oraz zwiększa wydajność bazy danych.

Pytanie 8

Aby poprawnie skomentować linię kodu w języku JavaScript, należy po znakach // wprowadzić komentarz x = Math.max(a,b,c); //

A. w zmiennej x minimalna wartość ze zmiennych a, b, c
B. w zmiennej x maksymalna wartość ze zmiennych a, b, c
C. wybór wartości maksymalnej spośród zmiennych a, b oraz c
D. nieprawidłowe dane
W analizowanej linii kodu JavaScript, wykorzystujemy funkcję Math.max, która służy do określenia maksymalnej wartości spośród podanych argumentów. W tym przypadku, wartości te są reprezentowane przez zmienne a, b oraz c. Zastosowanie funkcji Math.max jest standardem w programowaniu w JavaScript, co pozwala na efektywne przeprowadzenie operacji porównawczych. Użycie operatora przypisania '=' pozwala na zapisanie wyniku operacji do zmiennej x, co z kolei umożliwia dalsze przetwarzanie tej wartości w programie. Przykład użycia tej funkcji wygląda następująco: var x = Math.max(a, b, c);. Warto również zwrócić uwagę na to, że funkcja Math.max zwraca wartości numeryczne, co czyni ją niezastąpioną w przypadkach, gdy potrzebne jest porównanie różnych liczb w celu wyłonienia największej. W kontekście standardów, Math.max jest częścią obiektu Math, który jest wbudowany w JavaScript i podlega ogólnym zasadom ECMAScript. Dlatego znajomość i umiejętność stosowania tej funkcji jest kluczowa dla każdego programisty JavaScript.

Pytanie 9

Które z poniższych stwierdzeń dotyczy grafiki wektorowej?

A. Może być zapisywana w formacie JPG lub PNG
B. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych
C. Służy do zapisu cyfrowych zdjęć
D. Zawiera przedstawienie obrazu przy użyciu siatki składającej się z kolorowych pikseli ustawionych w pionie i poziomie na monitorze komputera, drukarce lub innym urządzeniu wyjściowym
Grafika wektorowa to technika tworzenia i zapisywania obrazów przy użyciu figur geometrycznych, takich jak punkty, linie, krzywe i wielokąty, które są definiowane za pomocą równań matematycznych. W przeciwieństwie do grafiki rastrowej, która jest oparta na siatce pikseli, grafika wektorowa jest skalowalna bez utraty jakości, co oznacza, że obrazy mogą być powiększane lub pomniejszane bez widocznych zniekształceń. Przykłady formatów plików dla grafiki wektorowej to SVG (Scalable Vector Graphics) i AI (Adobe Illustrator). Umożliwia to zastosowanie w różnych dziedzinach, takich jak projektowanie logo, ilustracje, animacje i drukowanie, gdzie wymagana jest wysoka jakość i precyzja. Grafika wektorowa jest często preferowana w projektach wymagających dużej elastyczności, ponieważ zmiana wymiarów obiektu nie wiąże się z koniecznością ponownego rysowania lub retuszowania obrazu. Standardy takie jak W3C dla SVG definiują, jak powinny być tworzone i wyświetlane grafiki wektorowe w sieci, co zapewnia ich uniwersalność i zgodność z różnymi urządzeniami.

Pytanie 10

W języku JavaScript zapis w ramce oznacza, że

x = przedmiot.nazwa();
A. zmienna x będzie zawierać wynik działania metody nazwa
B. nazwa jest atrybutem klasy przedmiot
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot
D. nazwa jest cechą obiektu przedmiot
Wyrażenie x = przedmiot.nazwa(); w JavaScripcie dość często bywa mylnie interpretowane, bo miesza się pojęcia atrybutów, cech obiektu i metod. W składni obiektowej JavaScript zapis przedmiot.nazwa oznacza odwołanie się do własności o nazwie nazwa, należącej do obiektu przedmiot. Jeśli do tej własności przypisana jest funkcja, to mówimy o metodzie obiektu. Dopiero nawiasy okrągłe () po nazwie powodują wywołanie tej funkcji. To jest istotna różnica: sama kropka nie uruchamia żadnego kodu, tylko daje dostęp do pola lub metody. Stwierdzenie, że nazwa jest atrybutem klasy przedmiot, wprowadza w błąd z dwóch powodów. Po pierwsze, w klasycznym JavaScripcie pracujemy głównie na obiektach, a nie na „klasach” w sensie znanym z Javy czy C#. Słowo „class” pojawiło się w nowszej składni, ale nadal pod spodem działają prototypy. Po drugie, w kodzie z pytania mamy konkretny obiekt przedmiot, a nie definicję klasy, więc mówienie o „atrybucie klasy” jest tutaj nietrafione. Bardziej poprawnie jest mówić o własności obiektu albo metodzie obiektu. Druga mylna interpretacja to traktowanie nazwa jako „cechy” obiektu przedmiot. Gdyby to była zwykła cecha (np. tekst), zapis wyglądałby raczej tak: x = przedmiot.nazwa; bez nawiasów. Wtedy x dostałby wartość właściwości, np. string. Dodanie () jasno sugeruje, że nazwa jest funkcją, czyli metodą, a nie prostym polem danych. To jest częsty błąd: nieuwaga na nawiasy prowadzi do złego zrozumienia, co dokładnie robi kod. Równie mylące jest zdanie, że zmienna x będzie przechowywać wynik działania funkcji przedmiot. W tym zapisie przedmiot nie jest funkcją, tylko obiektem, na którym wywołujemy metodę nazwa(). Gdyby przedmiot był funkcją, wywołanie wyglądałoby przedmiot(), a nie przedmiot.nazwa(). Z mojego doświadczenia wynika, że uczniowie mieszają obiekty z funkcjami, bo w JS funkcja też jest typem danych i można ją przypisać do zmiennej. Dlatego warto mocno utrwalić: obiekt.metoda() – wywołujesz metodę obiektu, funkcja() – wywołujesz funkcję przypisaną bezpośrednio do zmiennej. Podsumowując, poprawne rozumienie tego zapisu opiera się na zauważeniu dwóch rzeczy: przedmiot jest obiektem, nazwa jest metodą tego obiektu, a nawiasy oznaczają wywołanie metody, której wynik dopiero jest przypisywany do x. Pomyłki wynikają zwykle z ignorowania nawiasów lub z nieodróżniania własności (pól) od metod, co jest podstawą programowania obiektowego w JavaScripcie.

Pytanie 11

Aby przywrócić uszkodzoną tabelę w MySQL, jakie polecenie należy wykonać?

A. FIX TABLE
B. RESOLVE TABLE
C. REPAIR TABLE
D. CHECK TABLE
Aby naprawić uszkodzoną tabelę w MySQL, należy użyć polecenia REPAIR TABLE, które jest dedykowane do przywracania integralności i usuwania problemów z danymi w tabelach MyISAM. Kiedy tabela jest uszkodzona, na przykład wskutek awarii systemu lub błędów dysku, REPAIR TABLE analizuje strukturę tabeli i podejmuje się jej naprawy. Proces ten może przywrócić usunięte wiersze oraz naprawić inne ograniczenia. Przykładowe użycie polecenia to: REPAIR TABLE nazwa_tabeli; Warto zaznaczyć, że REPAIR TABLE nie działa na tabelach InnoDB, które wymagają innych procedur naprawczych. W przypadku MyISAM, to polecenie jest często pierwszą metodą diagnostyczną, gdy pojawiają się problemy z danymi. Zgodnie z dokumentacją MySQL, REPAIR TABLE jest jednym z podstawowych narzędzi do zarządzania integralnością danych, a jego prawidłowe użycie może uratować istotne dane przed ich całkowitą utratą. Z tego powodu znajomość tego polecenia jest kluczowa dla administratorów baz danych.

Pytanie 12

Wynikiem realizacji zamieszczonego kodu PHP jest pokazanie komunikatu

Ilustracja do pytania
A. warunek3
B. warunek1
C. warunek4
D. warunek2
Kod w języku PHP przedstawia warunki logiczne, które oceniają wartości zmiennych $a, $b, $c i $d. Zmienna $a i $c są ustawione na true, natomiast $b i $d na false. Pierwszy warunek sprawdza, czy zarówno $a && $b (czyli true && false, co daje false) lub $c && $d (czyli true && false, co również daje false) jest prawdziwe. Oba wyrażenia są fałszywe, więc warunek if nie zostanie spełniony. Drugi warunek elseif sprawdza, czy $a && $b (false) lub $c || $d (true || false, co daje true) jest prawdziwe. Ponieważ $c || $d jest prawdziwe, cały warunek jest spełniony i zostanie wyświetlony komunikat warunek2. Dobrym przykładem praktycznego zastosowania takich konstrukcji jest walidacja danych w aplikacjach webowych, gdzie można łączyć różne warunki logiczne w celu osiągnięcia wymaganej logiki decyzyjnej. Ważne jest, by rozumieć priorytety operatorów logicznych i zasady działania operatora „OR” (||) i „AND” (&&) w języku PHP, zgodnie z dokumentacją PHP.

Pytanie 13

W programie INKSCAPE / COREL, aby uzyskać efekt przedstawiony w napisie, należy

Ilustracja do pytania
A. posłużyć się funkcją gradientu
B. wykorzystać funkcję sumy z kołem
C. zastosować funkcję wykluczenia z kołem
D. skorzystać z funkcji wstaw / dopasuj tekst do ścieżki
Funkcja wstaw dopasuj tekst do ścieżki w programach takich jak Inkscape czy CorelDraw pozwala na precyzyjne zarządzanie tekstem wzdłuż dowolnie wybranej krzywej lub obiektu ścieżki To narzędzie umożliwia tworzenie estetycznie atrakcyjnych projektów, które wykorzystują nieregularne kształty do formowania tekstu Jest to szczególnie przydatne w projektowaniu graficznym przy tworzeniu logo banerów czy innych materiałów reklamowych gdzie tekst musi podążać za określonym kształtem lub konturem Korzystanie z tej funkcji wymaga zrozumienia podstawowych pojęć takich jak ścieżki krzywe i ich edycja Projektant może stworzyć ścieżkę ręcznie za pomocą narzędzi rysunkowych lub wykorzystać istniejący kształt Następnie funkcja dopasowania automatycznie układa wybrany tekst wzdłuż tej ścieżki jednocześnie pozwalając na dostosowanie jego położenia i orientacji Kluczowe jest zrozumienie że edytowane ścieżki mogą być dowolnie modyfikowane a tekst będzie się dynamicznie dostosowywał co pozwala na kreatywne eksperymentowanie z formą i stylem Tekst zachowuje swoją czytelność i proporcje co jest istotne w kontekście czytelności i estetyki gotowego projektu

Pytanie 14

Aby sprawdzić, czy kod JavaScript działa poprawnie, należy skorzystać z

A. interpretera PHP
B. kompilatora C++
C. interpretera PERL
D. konsoli w przeglądarce internetowej
Konsola w przeglądarce to świetne narzędzie do sprawdzania i naprawiania kodu JavaScript. Dzięki niej możesz od razu zobaczyć, co działa, a co nie. Na przykład, kiedy wpiszesz `console.log('Hello, World!');`, to od razu zobaczysz wynik w konsoli. To bardzo fajny sposób na szybkie testowanie, bo nie musisz czekać ani niczego dodatkowo uruchamiać. Konsola ma też sporo innych przydatnych funkcji, jak inspekcja obiektów czy monitorowanie zdarzeń, więc naprawdę warto się z nią zaprzyjaźnić. Właściwie, każda popularna przeglądarka, jak Chrome czy Firefox, dodaje różne ciekawe opcje, które pomagają w debugowaniu. Z mojego doświadczenia, korzystanie z konsoli to kluczowy element nauki i pracy z JavaScript.

Pytanie 15

Rodzaj programowania, w którym zestaw poleceń (sekwencja instrukcji) przekazywanych komputerowi postrzega się jako program, określa się mianem programowania

A. funkcyjnego
B. stanowego
C. logicznego
D. imperatywnego
Wybór stanowego programowania wskazuje na podejście, które koncentruje się na stanach obiektów i ich interakcjach, co jest nieco mylące w kontekście pytania. Programowanie stanowe opisuje systemy, w których różne stany obiektu są monitorowane, a zmiany stanów następują w odpowiedzi na określone zdarzenia. Typowe błędy myślowe mogą wynikać z mylenia interakcji stanów z sekwencją poleceń, co prowadzi do nieporozumienia na temat tego, jak działają programy imperatywne. Z kolei programowanie logiczne opiera się na zasadach logiki i regułach wnioskowania, co jest zupełnie innym podejściem niż imperatywne, w którym to programista musi układać instrukcje w określonej kolejności. Programowanie funkcyjne, z drugiej strony, skupia się na funkcjach jako podstawowych jednostkach budulcowych programów. Różni się ono od programowania imperatywnego, które ma na celu zmianę stanu programu poprzez sekwencję instrukcji. Zrozumienie różnic między tymi paradygmatami jest kluczowe, ponieważ każdy z nich ma swoje unikalne zastosowania i najlepsze praktyki. Programiści powinni być świadomi wyboru odpowiedniego paradygmatu do konkretnego problemu, aby maksymalizować efektywność i jakość kodu.

Pytanie 16

Czego nie należy robić, aby zabezpieczyć serwer bazy danych przed atakami hakerów?

A. aktywacja zapory.
B. blokowanie portów związanych z bazą danych.
C. defragmentacja dysków.
D. używanie skomplikowanych haseł do bazy.
Defragmentacja dysków nie jest bezpośrednio związana z zabezpieczaniem serwera bazy danych przed atakami hakerskimi. Choć defragmentacja może poprawić wydajność systemu plików poprzez uporządkowanie fragmentów plików na dysku, nie ma wpływu na kwestie bezpieczeństwa. Przykłady skutecznych działań w zakresie zabezpieczeń obejmują włączenie zapory, co stanowi pierwszą linię obrony, blokowanie portów, które mogą być wykorzystywane przez potencjalnych intruzów, oraz stosowanie złożonych haseł, co minimalizuje ryzyko nieautoryzowanego dostępu. W kontekście zarządzania bezpieczeństwem baz danych, kluczowe jest przestrzeganie najlepszych praktyk, takich jak regularne aktualizacje oprogramowania, monitorowanie logów dostępu oraz stosowanie zasad minimalnych uprawnień. Właściwe zabezpieczenia powinny być wdrażane zgodnie z wytycznymi standardów takich jak ISO/IEC 27001.

Pytanie 17

Jakie są różnice między poleceniami DROP TABLE a TRUNCATE TABLE?

A. DROP TABLE kasuje tabelę, a TRUNCATE TABLE usuwa wszystkie dane, pozostawiając tabelę pustą
B. Oba polecenia usuwają tylko zawartość tabeli, lecz tylko DROP TABLE może być cofnięte
C. DROP TABLE kasuje tabelę, natomiast TRUNCATE TABLE zmienia dane w niej, które spełniają określony warunek
D. Obydwa polecenia usuwają tabelę wraz z jej zawartością, jednak tylko TRUNCATE TABLE może być cofnięte
Odpowiedź jest prawidłowa, ponieważ polecenie DROP TABLE w SQL służy do całkowitego usunięcia tabeli z bazy danych, co oznacza, że zarówno struktura tabeli, jak i jej dane zostaną trwale usunięte. Natomiast TRUNCATE TABLE jest używane do usuwania wszystkich wierszy z tabeli, ale sama tabela pozostaje w bazie danych. Po użyciu TRUNCATE TABLE struktura tabeli jest nienaruszona, co umożliwia jej dalsze wykorzystanie. Przykładowo, jeżeli mamy tabelę 'klienci' z danymi klientów, użycie DROP TABLE spowoduje utratę zarówno samej tabeli, jak i wszystkich danych. W przypadku TRUNCATE TABLE, tabela 'klienci' będzie nadal istniała, ale nie będzie zawierała żadnych rekordów. W praktycznych zastosowaniach, TRUNCATE TABLE jest bardziej efektywne pod względem wydajności, szczególnie przy dużych zbiorach danych, ponieważ działa szybciej niż DELETE bez warunku, i nie zapisuje informacji o usuniętych wierszach w dzienniku transakcji. Zgodnie z dobrymi praktykami, używaj DROP TABLE, gdy jesteś pewny, że tabela nie jest już potrzebna, a TRUNCATE TABLE, gdy chcesz szybko opróżnić tabelę, pozostawiając jej strukturę.

Pytanie 18

W SQL, aby uniemożliwić stworzenie konta przy wykonywaniu kwerendy CREATE USER, gdy konto już istnieje, można zastosować następującą składnię

A. CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
B. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
C. CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
D. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
Odpowiedzi, które nie zawierają klauzuli 'IF NOT EXISTS', nie są optymalne, ponieważ mogą prowadzić do błędów, gdy próbuje się utworzyć konto, które już istnieje. W przypadku polecenia 'CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';', jeśli konto 'anna' jest już w systemie, użytkownik otrzyma błąd, co skutkuje niepowodzeniem całego skryptu. W kontekście administracji baz danych, jest to szczególnie problematyczne, gdy skrypty są uruchamiane automatycznie, ponieważ mogą one przerywać dalsze operacje. Natomiast składnia 'CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' jest nieprawidłowa, ponieważ nie istnieje w standardzie SQL. Użytkownicy mogą mylić 'DROP' z opcją usunięcia konta, co w praktyce nie powinno być podejmowane bez wyraźnej intencji. Ostatecznie, 'CREATE OR REPLACE USER...' działa odmiennie, ponieważ nie jest standardową operacją w SQL dla użytkowników; bardziej odpowiednie byłoby jej zastosowanie w kontekście obiektów, takich jak procedury czy widoki. Kluczowe jest zrozumienie, że błędne podejście do tworzenia użytkowników może prowadzić do chaosu w zarządzaniu bazą danych i stwarzać potencjalne zagrożenia dla bezpieczeństwa. Dlatego tak istotne jest stosowanie klauzuli 'IF NOT EXISTS', co jest zgodne z najlepszymi praktykami w branży zarządzania systemami baz danych.

Pytanie 19

W CSS, aby ustalić wewnętrzny górny margines, czyli odstęp pomiędzy elementem a jego obramowaniem, należy zastosować komendę

A. border-top
B. outline-top
C. padding-top
D. local-top
Odpowiedź 'padding-top' jest prawidłowa, ponieważ w CSS termin 'padding' odnosi się do wewnętrznego odstępu, który tworzy przestrzeń pomiędzy zawartością elementu a jego granicą (border). 'padding-top' specyfikuje górny odstęp wewnętrzny, co jest istotne w kontekście estetyki i układu strony. Definiując 'padding-top', możemy dostosować wygląd elementów, aby lepiej pasowały do reszty projektu i poprawiły czytelność. Na przykład, jeśli mamy przycisk z tekstem, użycie 'padding-top: 10px;' zapewni, że tekst nie będzie przyklejony do górnego brzegu przycisku, co zwiększy jego estetykę oraz użyteczność. W praktyce dobrą praktyką jest również stosowanie 'padding' w połączeniu z 'margin', aby osiągnąć odpowiednią separację między różnymi elementami w układzie. Przestrzeganie standardów CSS pomaga w tworzeniu responsywnych i dostosowanych układów, które dobrze działają na różnych urządzeniach.

Pytanie 20

Poprawny zapis znacznika , za pomocą którego można umieścić na stronie internetowej obraz rys.jpg przeskalowany do szerokości 120 px i wysokości 80 px z tekstem alternatywnym "krajobraz" to

A. <img image="rys.jpg" width="120px" height="80px" alt="krajobraz">
B. <img src="rys.jpg" height="120px" width="80px" info="krajobraz">
C. <img href="rys.jpg" height="120px" width="80px" info="krajobraz">
D. <img src="rys.jpg" width="120px" height="80px" alt="krajobraz">
Odpowiedź <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"> jest na pewno dobra! Używasz fajnego atrybutu 'src' do wskazania, skąd bierzesz obrazek, co jest super ważne. Atrybuty 'width' i 'height' też są dobrze ustawione, bo określają, jak duży ma być obrazek na stronie. To naprawdę przydaje się, zwłaszcza jak robimy responsywne strony. A ten 'alt', to świetny pomysł – daje tekst alternatywny, co bardzo pomaga osobom, które korzystają z czytników ekranu. Bez tego mogą nie wiedzieć, co jest na obrazku, a to jest spoko, bo dba o dostępność. Co do pikseli, używasz ich standardowo, ale pomyśl, że w CSS można też iść w procenty czy jednostki względne, żeby było jeszcze elastyczniej. W sumie, gdybyś chciał, mógłbyś bawić się CSS-em do stylizacji obrazów tła, co też sprawia, że wszystko lepiej się dopasowuje do różnych ekranów.

Pytanie 21

Znacznik <ins> w HTML jest używany do wskazywania

A. tekstu, który został dodany
B. tekstu, który został przeformatowany
C. cytowanego fragmentu tekstu
D. tekstu, który został usunięty
Wybierając błędne odpowiedzi, pokazujesz, że coś może być niejasne, jeśli chodzi o znaczniki HTML. Na przykład, myślenie, że <ins> to znacznik do oznaczania cytatów, to pomyłka. Do tego zadania służy <blockquote> albo <q>, które mają swoje własne, zupełnie inne znaczenie. Jeśli wybrałeś opcję mówiącą o oznaczaniu usuniętego tekstu, to też jest błąd, bo do tego mamy znacznik <del>. A użycie <ins> w kontekście zmiany formatu tekstu to jeszcze jedna pomyłka, bo ten znacznik nie mówi nic o formatowaniu. Tak naprawdę, <ins> tylko wskazuje nowe fragmenty tekstu, a nie zmienia ich stylu. Jeżeli nie rozumiesz tych funkcji różnych znaczników HTML, to łatwo można wpaść w pułapkę błędów w kodzie, co później będzie miało wpływ na semantykę stron oraz ich dostępność. Dlatego tak ważne jest, żeby znać różnice między tymi znacznikami i korzystać z nich, jak należy.

Pytanie 22

Poniżej przedstawiono fragment kodu w języku PHP. Jakie liczby wypisze ta pętla jako wynik swojego działania?

for ($i = 0; $i <= 20; $i += 4)
echo $i . ' ';
A. 0,4,8,12,16,20
B. 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
C. 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
D. 0,4,8,12,16
Pętla for w PHP działa tak, że zaczyna od 0 i leci aż do 20, dodając 4 przy każdej iteracji. Dzięki temu, dostajemy liczby 0, 4, 8, 12, 16 i 20. To jest naprawdę przydatne, zwłaszcza gdy chcemy przetwarzać co czwarty element w zbiorze. Pętle for są bardzo popularne w programowaniu, bo pozwalają robić rzeczy wielokrotnie bez zbędnego powtarzania kodu. Jeśli zrozumiesz, jak to działa, to potem dużo łatwiej będzie Ci pisać różne programy. Z moich doświadczeń wynika, że lepiej jest unikać tzw. magicznych liczb w kodzie, czyli takich, które nie mają sensownego wyjaśnienia. Lepiej używać stałych czy zmiennych, bo to sprawia, że kod jest bardziej czytelny i łatwiejszy do ogarnięcia w przyszłości.

Pytanie 23

Jednym z kluczowych identyfikatorów wpisu w bazie danych jest pole

A. numeryczne
B. klucza podstawowego
C. relacji
D. klucza obcego
Klucz podstawowy jest fundamentalnym elementem każdej relacyjnej bazy danych, ponieważ jednoznacznie identyfikuje każdy rekord w tabeli. Jego główną cechą jest unikalność, co oznacza, że żaden z rekordów w tabeli nie może mieć tego samego klucza podstawowego. Klucz podstawowy może składać się z jednego lub więcej atrybutów (kolumn), ale zawsze musi zapewniać jednoznaczność identyfikacji. Przykładem może być tabela 'Użytkownicy', gdzie 'ID_Użytkownika' działa jako klucz podstawowy, pozwalając na łatwe i szybkie wyszukiwanie konkretnych użytkowników. Zgodnie z najlepszymi praktykami projektowania baz danych, klucze podstawowe powinny być stabilne i niezmienne w czasie, aby uniknąć komplikacji związanych z aktualizacją wartości. Klucz podstawowy jest również kluczowy dla relacji między tabelami, ponieważ inne tabele mogą odwoływać się do niego poprzez klucze obce. Dzięki temu, struktura bazy danych staje się bardziej zorganizowana i lepiej znormalizowana, co z kolei prowadzi do zwiększonej wydajności i integralności danych.

Pytanie 24

Aby dostosować dźwięk do określonego poziomu głośności, trzeba zastosować efekt

A. normalizacji
B. podbicia basów
C. usuwania szumów
D. wyciszenia
Wyciszenie, podbicie basów oraz usuwanie szumów to różne techniki przetwarzania dźwięku, które mają odmienne cele i funkcje. Wyciszenie jest procesem, w którym poziom głośności dźwięku jest redukowany, co nie prowadzi do normalizacji, a wręcz przeciwnie, zmniejsza ogólną głośność materiału audio. Użytkownicy mogą mylić wyciszenie z normalizacją, myśląc, że obie techniki mają na celu zwiększenie głośności, podczas gdy w rzeczywistości wyciszenie jest stosowane w celu eliminacji dźwięków niepożądanych lub cichszych fragmentów nagrania. Podbicie basów to proces, który koncentruje się na wzmocnieniu niskich częstotliwości w dźwięku, co może prowadzić do nieproporcjonalnej głośności, ale nie dostosowuje ogólnego poziomu głośności materiału. To podejście często skutkuje zniekształceniem dźwięku, co jest sprzeczne z zasadą normalizacji. Z kolei usuwanie szumów polega na eliminacji niechcianych dźwięków tła, co z kolei wpływa na jakość nagrania, ale nie ma bezpośredniego związku z poziomem głośności dźwięku. Użytkownicy mogą błędnie sądzić, że redukcja szumów zwiększa głośność, co jest mylnym przekonaniem. Właściwa normalizacja dźwięku jest kluczowym krokiem w produkcji audio, który zapewnia spójność i jakość dźwięku, a techniki takie jak wyciszenie, podbicie basów i usuwanie szumów pełnią inne role w tym procesie.

Pytanie 25

Powszechnie stosowanym narzędziem SZBD do tworzenia zestawień danych, które można wydrukować, jest

A. raport
B. kwerenda UPDATE
C. makro
D. formularz
Raport jest kluczowym narzędziem w systemach zarządzania bazami danych (SZBD), które umożliwia przetwarzanie i prezentację danych w formie czytelnych zestawień. W przeciwieństwie do kwerend, które służą głównie do wyszukiwania i aktualizacji danych w bazie, raporty są projektowane z myślą o generowaniu wydruków lub prezentacji danych w zorganizowanej formie. Przykładowo, w systemie Microsoft Access, użytkownik może stworzyć raport, który zbiera dane z różnych tabel i prezentuje je w uporządkowany sposób, np. w formie tabeli z podsumowaniami lub wykresów. Dobre praktyki w tworzeniu raportów obejmują zrozumienie potrzeb odbiorcy oraz dostosowanie formatu raportu do celu, dla którego jest on tworzony. Ważne jest również, aby raporty były zgodne z estetyką i standardami wizualizacji danych, co zwiększa ich czytelność oraz efektywność w przekazywaniu informacji. W kontekście analizy danych, raporty pomagają w podejmowaniu świadomych decyzji biznesowych, dostarczając istotnych informacji w przystępnej formie.

Pytanie 26

Jakim poleceniem można uzyskać konfigurację serwera PHP, w tym dane takie jak: wersja PHP, system operacyjny serwera oraz wartości przedefiniowanych zmiennych?

A. phpcredits();
B. print_r(ini_get_all());
C. echo phpversion();
D. phpinfo();
Funkcja phpinfo() jest standardowym narzędziem w PHP, które dostarcza szczegółowych informacji o konfiguracji serwera oraz wersji PHP, która jest aktualnie używana. Wywołanie tej funkcji generuje stronę HTML z informacjami o ustawieniach PHP, w tym o zainstalowanych rozszerzeniach, włączonych opcjach oraz wartości przedefiniowanych zmiennych. Dodatkowo, phpinfo() prezentuje szczegóły dotyczące środowiska serwera, takie jak system operacyjny, serwer WWW oraz zmienne środowiskowe. Praktycznie, jest to niezwykle przydatne narzędzie dla programistów oraz administratorów serwerów, które umożliwia szybkie zdiagnozowanie problemów z konfiguracją czy identyfikację, które rozszerzenia PHP są dostępne. W kontekście bezpieczeństwa najlepiej jest używać tej funkcji tylko w środowisku developerskim lub lokalnym, aby uniknąć wycieku szczegółowych informacji o serwerze na produkcji. Zgodnie z najlepszymi praktykami, po zakończeniu diagnostyki, powinno się dezaktywować dostęp do tego typu informacji.

Pytanie 27

W przedstawionej regule CSS ```h1 {color : blue}``` h1 reprezentuje

A. klasę
B. wartość
C. selektor
D. deklarację
Selekcja elementów w CSS jest naprawdę ważna, jeśli chodzi o tworzenie stron www. W regule CSS `h1 {color: blue}` mamy do czynienia z selektorem `h1`, który mówi nam, jak stylizować nagłówki pierwszego poziomu. Dzięki selekcji można fajnie dopasować wygląd strony do swoich potrzeb. No i w tym przypadku każdy nagłówek `h1` na stronie będzie miał niebieski kolor, co jest dość prostą i czytelną metodą. warto pamiętać, że CSS oferuje różne typy selektorów, jak klasy czy identyfikatory, a nie tylko tagi. W dużych projektach lepiej używać klasowych czy identyfikatorowych selektorów, bo daje to większą kontrolę nad stylizacją i łatwiejsze zarządzanie kodem.

Pytanie 28

Instrukcja w języku SQL ```GRANT ALL PRIVILEGES ON klienci TO pracownik```

A. Przenosi uprawnienia z grupy klienci na użytkownika pracownik
B. Przyznaje uprawnienia grupie klienci do tabeli pracownik
C. Przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
D. Odbiera wszystkie uprawnienia pracownikowi do tabeli klienci
Odpowiedź jest poprawna, ponieważ polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik w języku SQL rzeczywiście nadaje wszystkie dostępne uprawnienia do tabeli klienci użytkownikowi pracownik. To oznacza, że pracownik zyskuje możliwość wykonywania wszelkich operacji na tej tabeli, w tym SELECT, INSERT, UPDATE oraz DELETE. Przykład zastosowania tego polecenia jest istotny w kontekście zarządzania bazami danych, gdzie administratorzy muszą przyznawać różnorodne uprawnienia użytkownikom w zależności od ich roli. Przykładowo, jeśli pracownik jest odpowiedzialny za wprowadzanie i aktualizację danych klientów, to nadanie mu wszystkich uprawnień jest uzasadnione. Ważne jest, aby przyznawać uprawnienia zgodnie z zasadą najmniejszych uprawnień, co oznacza, że użytkownik powinien mieć tylko te uprawnienia, które są niezbędne do realizacji jego zadań. W praktyce, administrator baz danych powinien monitorować przyznane uprawnienia i regularnie je przeglądać, aby zapewnić bezpieczeństwo systemu. Koszty błędów w przyznawaniu uprawnień mogą być znaczne, w tym ryzyko nieautoryzowanego dostępu do danych, dlatego kluczowe jest stosowanie dobrych praktyk w zarządzaniu uprawnieniami.

Pytanie 29

Etap, w którym identyfikuje się oraz eliminuje błędy w kodzie źródłowym programów, to

A. debugowanie
B. standaryzacja
C. kompilowanie
D. normalizacja
Debugowanie to proces identyfikacji, analizy i eliminacji błędów w kodzie źródłowym programów komputerowych. Jest to kluczowy etap w cyklu życia oprogramowania, który zapewnia, że aplikacje działają zgodnie z założeniami projektowymi. W praktyce debugowanie może obejmować różne techniki, takie jak stosowanie punktów przerwania, śledzenie wartości zmiennych czy analiza stosu wywołań. Przykładowo, programista może użyć narzędzi debugujących, takich jak GDB dla programów w C/C++ lub wbudowane debugery w IDE, takie jak Visual Studio czy Eclipse. Debugowanie jest również związane z dobrymi praktykami, jak testowanie jednostkowe i integracyjne, które pozwalają na wczesne wykrycie błędów. Zrozumienie i umiejętność efektywnego debugowania jest niezbędna dla każdego programisty, aby tworzyć wysokiej jakości, niezawodne i wydajne oprogramowanie. Warto również podkreślić znaczenie dokumentacji oraz korzystania z systemów kontroli wersji, takich jak Git, które pozwalają śledzić zmiany w kodzie i ułatwiają proces debugowania.

Pytanie 30

Aby utworzyć tabelę w systemie baz danych, trzeba użyć komendy SQL

A. ADD TABLE
B. CREATE TABLE
C. PLUS TABLE
D. NEW TABLE
Żeby stworzyć tabelę w bazie danych, musisz użyć polecenia CREATE TABLE. To jest taki standard w SQL, który jest mega popularny w zarządzaniu bazami danych. Jak używasz tego polecenia, to definiujesz, jak ma wyglądać twoja tabela – nazwę, kolumny i jakie dane będą w tych kolumnach. Na przykład, jeśli chcesz mieć tabelę z informacjami o użytkownikach, będziesz mógł napisać coś takiego: `CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100));`. Fajnie jest również ustawić klucz główny (PRIMARY KEY), bo to zabezpiecza unikalność danych w tabeli. To wszystko jest zgodne z zasadami normalizacji danych, co pomaga uniknąć dublowania informacji i poprawia integralność bazy. Tak więc, znajomość CREATE TABLE to podstawa, gdy pracujesz z bazami danych, bo to klucz do dalszego działania z danymi, ich modyfikowania i zarządzania nimi.

Pytanie 31

Jakie kodowanie w języku HTML pozwala na sformatowanie paragrafu dla tekstu

 Tekst może być zaznaczony albo istotny dla autora

należy użyć polecenia?
A. <p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
B. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
C. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
D. <p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
Wybrana odpowiedź jest poprawna, ponieważ stosuje prawidłowe znaczniki HTML do formatowania tekstu. Użycie <mark> dla słowa 'zaznaczony' wskazuje, że jest to istotna informacja, podczas gdy <em> dla słowa 'istotny' podkreśla jego znaczenie w kontekście treści. Zgodnie z W3C i HTML5, <mark> jest używany do oznaczania części tekstu, która jest wyróżniona w kontekście przeszukiwanym lub istotnym. Oznaczenie tekstu jako <em> nie tylko wskazuje na akcent, ale również ma znaczenie semantyczne, ponieważ może wpłynąć na sposób, w jaki czytniki ekranu interpretują treść, co jest kluczowe dla dostępności. Przykładem zastosowania może być strona internetowa, na której chcemy wyróżnić ważne informacje lub kluczowe definicje, co zwiększa czytelność i funkcjonalność przekazu. Poprawne użycie znaczników HTML jest zgodne z dobrymi praktykami tworzenia stron internetowych, co sprzyja lepszej nawigacji i zrozumieniu tekstu przez użytkowników.

Pytanie 32

W języku PHP instrukcja foreach jest rodzajem

A. pętli, przeznaczonej wyłącznie dla elementów tablicy
B. pętli, niezależnie od rodzaju zmiennej
C. instrukcji wyboru, dla elementów tablicy
D. instrukcji warunkowej, niezależnie od typu zmiennej
Trochę mylne jest stwierdzenie, że <i>foreach</i> to pętla, która może działać na każdej zmiennej. W rzeczywistości <i>foreach</i> jest ściśle związana z tablicami. Jak spróbujesz użyć jej na zmiennej, która nie jest tablicą, to dostaniesz błąd. I nie ma co mówić, że <i>foreach</i> to instrukcja warunkowa, bo to też nieprawda. Instrukcje warunkowe, jak <i>if</i>, podejmują decyzje, a <i>foreach</i> jest do tego, żeby iterować. I to, co ktoś napisał o pętli wyboru, też wprowadza w błąd. Pętle jak <i>for</i> czy <i>while</i> powtarzają kod na podstawie warunków, a <i>foreach</i> to po prostu iteracja po elementach tablicy. Tak że tu ważne jest, żeby nie mylić pętli iteracyjnych z warunkowymi oraz rozumieć, gdzie można używać <i>foreach</i>, bo jak się tego nie zrozumie, to mogą być problemy w programowaniu w PHP i można nie wykorzystać dostępnych narzędzi jak trzeba.

Pytanie 33

W języku JavaScript zapisano fragment kodu. Po wykonaniu skryptu zmienna x

<script>
var x = 10;
x++;
console.log(x);
</script>
A. będzie równa 11 i zostanie wypisana w oknie popup.
B. będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
C. będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej.
D. będzie równa 10 i zostanie wypisana w dokumencie HTML.
Gratulacje, twoja odpowiedź jest poprawna! Odpowiedź 'będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej' jest prawidłowa, ponieważ po zainicjalizowaniu zmiennej x wartością 10 następuje inkrementacja, która zwiększa wartość zmiennej o 1, dając w wyniku 11. Następnie wartość zmiennej x jest wypisywana w konsoli przeglądarki internetowej za pomocą metody console.log(). Jest to standardowa metoda w języku JavaScript do debugowania i śledzenia wartości zmiennych podczas wykonywania kodu. W praktyce, zrozumienie pracy z konsolą przeglądarki jest kluczowe dla efektywnego programowania JavaScript. To umiejętność, która pozwala na szybkie zlokalizowanie i rozwiązanie problemów z kodem. Dobrą praktyką jest również umiejętne korzystanie z operacji inkrementacji, które są podstawą sterowania przepływem i manipulowania danymi w JavaScript.

Pytanie 34

Wynikiem realizacji kwerendy

SELECT sezon, SUM(liczba_dn) FROM rezerwacje GROUP BY sezon;
na podstawie poniższej tabeli rezerwacje jest:
A. lato 10, zima 4, lato 5, zima 6, lato 5, zima 9, zima 8
B. lato 10, 5, 5; zima 4, 6, 9, 8
C. lato 3, zima 4
D. lato 20, zima 27
Wykonana kwerenda SQL agreguje dane z tabeli rezerwacje, grupując je według sezonu i sumując liczbę dni (liczba_dn) dla każdego sezonu. W tabeli znajdują się rekordy związane z sezonami letnim i zimowym. Analizując dane, dla sezonu letniego mamy trzy wpisy: 10 dni, 5 dni oraz 5 dni, co łącznie daje 20 dni. Dla sezonu zimowego mamy cztery wpisy: 4 dni, 6 dni, 9 dni oraz 8 dni, co po zsumowaniu daje 27 dni. Odpowiedź numer 2 jest zatem poprawna, ponieważ przedstawia poprawne sumy dla sezonów. Praktyczne zastosowanie takiej kwerendy może obejmować analizowanie sezonowości rezerwacji w hotelach, co wspiera procesy decyzyjne w zakresie zarządzania zasobami i planowania promocji. Zgodność z dobrymi praktykami w SQL wymaga znajomości funkcji agregujących, takich jak SUM, oraz umiejętności grupowania danych, co jest kluczowe w analizie danych w różnych dziedzinach biznesowych.

Pytanie 35

Jaką wartość zwróci funkcja napisana w języku C++, gdy jej argumentami są a = 4 i b = 3?

long int fun1(int a, int b) {
    long int wynik = 1;
    for (int i = 0; i < b; i++)
        wynik *= a;
    return wynik;
}
A. 64
B. 16
C. 12
D. 1
Wartości, które nie są prawidłowymi odpowiedziami, mogą wynikać z błędnych interpretacji działania funkcji. Na przykład, odpowiedź wskazująca na 1 sugeruje, że wynik funkcji zacząłby się od wartości zerowej, co jest nieprawidłowe, ponieważ każda potęga liczby wynosi co najmniej 1, o ile podstawą jest liczba różna od zera. Pomocne w zrozumieniu tego jest zapoznanie się z regułą mnożenia, która mówi, że każda liczba podniesiona do zera wynosi 1, ale w tym przypadku mamy do czynienia z dodatnimi argumentami. Z kolei odpowiedzi 12 i 16 mogą wynikać z błędnego zrozumienia liczby mnożenia, gdzie użytkownik mógłby przekonwertować działanie funkcji na inne operacje, takie jak dodawanie lub mnożenie bez zrozumienia, że przykład ilustruje potęgowanie. Tego typu błędy myślowe często prowadzą do mylnego rozumienia algorytmów, w których istotne jest, aby śledzić, co dzieje się z każdą iteracją pętli. Zrozumienie zasady działania pętli i ich zastosowania w kontekście potęgowania jest kluczem do poprawnego rozwiązywania zadań programistycznych. Dlatego ważne jest, aby dokładnie analizować działanie kodu i stosować dobrych praktyk, takich jak testowanie poszczególnych części kodu, aby upewnić się, że rozumiemy, co się dzieje w każdej iteracji.

Pytanie 36

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

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

Pytanie 37

W poniższym kodzie CSS zdefiniowano cztery klasy formatowania, które następnie zostały użyte do formatowania paragrafów. Efekt widoczny na rysunku powstał po zastosowaniu klasy o nazwie:

.format1 {    text-decoration: overline;     }
.format2 {    text-decoration: line-through; }
.format3 {    text-decoration: underline;    }
.format4 {    text-decoration: none;         }
formatowanie
A. format4
B. format1
C. format3
D. format2
Wybór klasy formatowania mógł być nietrafiony, bo nie do końca zrozumiałeś, jak działa właściwość text-decoration w CSS. Klasa format1 używa stylu overline, który dodaje linię nad tekstem, co może być przydatne w niektórych sytuacjach, jak zaznaczanie ważnych fragmentów. Ale w naszym przypadku efekt nadkreślenia jest całkiem inny niż przekreślenie. Klasa format3 stosuje underline, co dodaje linię pod tekstem, głównie do podkreślania linków. To jest bardzo popularny sposób, ale w tym wypadku nie ma sensu, bo nie osiągniesz efektu przekreślenia. Klasa format4 oznacza, że nie ma żadnej dekoracji, czyli żadna linia nie jest dodawana. Często wykorzystuje się to, żeby usunąć domyślne podkreślenie w linkach i dostosować je do własnych potrzeb. Każda z tych właściwości ma swój cel i ich stosowanie zależy od kontekstu oraz efektów, które chcesz uzyskać. Kluczowe jest zrozumienie, jak różne style wpływają na wygląd treści. Wiedza o różnicy między linią nad, pod a przez tekst jest naprawdę ważna w projektowaniu stron i dokumentów.

Pytanie 38

Kolor Chartreuse przedstawiony w formie heksadecymalnej jako #7FFF00 odpowiada wartości RGB wynoszącej

A. rgb(127, 255, 0)
B. rgb(192, 255, 0)
C. rgb(128, 255, 0)
D. rgb(64, 255, 0)
Odpowiedź rgb(127, 255, 0) jest poprawna, ponieważ odpowiada wartościom RGB z koloru Chartreuse zapisanego w postaci heksadecymalnej #7FFF00. W systemie heksadecymalnym, pierwsze dwa znaki (7F) odpowiadają wartości czerwonej (R), drugie dwa znaki (FF) wartości zielonej (G), a ostatnie dwa znaki (00) wartości niebieskiej (B). Przekształcając te wartości na system dziesiętny, 7F w heksadecymalnym to 127 w dziesiętnym, FF to 255, a 00 to 0. Użycie tego koloru w projektach graficznych, web designie czy w aplikacjach mobilnych jest szerokie, zwłaszcza w kontekście tworzenia interfejsów użytkownika, gdzie Chartreuse może być wykorzystany jako kolor akcentujący, przyciągający uwagę. Dobrą praktyką jest stosowanie kolorów o wysokim kontraście dla elementów interaktywnych, co sprawia, że korzystanie z tak żywego koloru jak Chartreuse może poprawić użyteczność oraz estetykę projektu. Warto również zaznaczyć, że znajomość konwersji kolorów między różnymi modelami (HEXA, RGB, CMYK) jest kluczowa dla każdego projektanta wizualnego, z uwagi na różne zastosowania w druku i w mediach cyfrowych.

Pytanie 39

Która właściwość języka CSS może przyjmować wartości: underline, overline, line-through?

A. font-weight
B. text-style
C. font-style
D. text-decoration
Poprawna odpowiedź to właściwość CSS `text-decoration`. To właśnie ona odpowiada za dodawanie różnych „linii” do tekstu: podkreślenia (`underline`), nadkreślenia (`overline`) oraz przekreślenia (`line-through`). W praktyce zapis wygląda np. tak: `a { text-decoration: underline; }` – klasyczny przykład dla linków, albo `del { text-decoration: line-through; }` dla tekstu usuniętego. W nowszych specyfikacjach CSS (CSS Text Decoration Module Level 3) ta właściwość została trochę rozbita na bardziej szczegółowe, jak `text-decoration-line`, `text-decoration-style`, `text-decoration-color`, ale w codziennym kodowaniu dalej bardzo często używa się skrótu `text-decoration`. Moim zdaniem warto od razu kojarzyć, że `text-decoration` nie służy do zmiany kroju pisma, pogrubienia czy kursywy, tylko właśnie do „ozdabiania” tekstu dodatkowymi liniami. Dobra praktyka jest taka, żeby świadomie używać tej właściwości przy stylowaniu linków: np. usuwamy podkreślenie `a { text-decoration: none; }`, a potem przy najechaniu myszką dajemy `a:hover { text-decoration: underline; }`. Dzięki temu interfejs jest czytelniejszy, a użytkownik widzi, że element jest klikalny. Warto też wiedzieć, że `text-decoration` może przyjmować kilka wartości naraz, np. `text-decoration: underline overline;`, co rzadko się używa, ale czasem w jakichś specyficznych projektach UI może się przydać. Z mojego doświadczenia w projektach komercyjnych najczęściej korzysta się z `underline`, `none` i czasem `line-through` np. przy cenach promocyjnych: stara cena przekreślona, nowa obok. To jest taki mały szczegół CSS, ale bardzo często używany w praktyce.

Pytanie 40

W bazach danych typ DECIMAL jest przeznaczony do przechowywania

A. liczb zapisanych w systemie binarnym.
B. liczb rzeczywistych zmiennoprzecinkowych.
C. liczb rzeczywistych stałoprzecinkowych.
D. danych napisowych o określonej długości.
W tym pytaniu łatwo się złapać na skojarzeniach z innymi typami danych, dlatego warto sobie to porządnie poukładać. Typ DECIMAL nie ma nic wspólnego z „liczbami zapisanymi w systemie binarnym” w takim sensie, w jakim często myśli się o typach zmiennoprzecinkowych. Oczywiście fizycznie wszystko i tak jest binarne, ale chodzi o model reprezentacji logicznej. Klasyczne typy zmiennoprzecinkowe (FLOAT, DOUBLE) trzymają wartość w formacie binarnym IEEE 754, co powoduje znane problemy z dokładnością, np. 0.1 + 0.2 ≠ 0.3 idealnie. DECIMAL jest zaprojektowany właśnie po to, żeby unikać tych błędów i zapewnić precyzyjną reprezentację dziesiętną z określoną liczbą miejsc po przecinku. Dlatego utożsamianie DECIMAL z „typem binarnym” albo ogólnie z „liczbami w systemie binarnym” to takie lekkie pomieszanie poziomów abstrakcji. Kolejna pułapka to traktowanie DECIMAL jako typu do przechowywania danych napisowych. Dane tekstowe o określonej długości trzymamy w typach CHAR(n) lub VARCHAR(n). One przechowują ciągi znaków, a nie wartości numeryczne, więc nie wykonamy na nich sensownie operacji arytmetycznych, agregacji typu SUM, AVG itp. Oczywiście czasem ktoś z lenistwa zapisuje np. kwoty jako VARCHAR, ale to jest sprzeczne z dobrymi praktykami projektowania schematu bazy i potem mści się przy raportach i walidacji. Częsty błąd myślowy polega też na wrzuceniu wszystkich „liczb z przecinkiem” do jednego worka i uznaniu, że to zawsze są liczby zmiennoprzecinkowe. W rzeczywistości w SQL rozróżniamy typy przybliżone (FLOAT, DOUBLE, REAL) i typy dokładne (DECIMAL, NUMERIC). Te pierwsze są dobre do obliczeń naukowych, pomiarów, gdzie dopuszczalne jest małe odchylenie, za to są szybsze i mniej pamięciożerne. Te drugie, stałoprzecinkowe, są stosowane tam, gdzie ważna jest bezwzględna poprawność wartości dziesiętnej, np. finanse, księgowość, rozliczenia magazynowe. Traktowanie DECIMAL jako „liczby rzeczywistej zmiennoprzecinkowej” zaciera tę bardzo ważną granicę. Z mojego doświadczenia w projektach komercyjnych wybór między DECIMAL a FLOAT/DOUBLE to jedno z kluczowych miejsc, gdzie początkujący projektanci baz popełniają błędy. Jeśli typ dobierzemy źle, to później pojawiają się trudne do wytłumaczenia różnice groszowe, błędne sumy w raportach, problemy z porównaniami w WHERE. Dlatego warto zapamiętać: DECIMAL to liczby rzeczywiste stałoprzecinkowe, z dokładnie określoną precyzją i skalą, a nie typ tekstowy ani przybliżony typ binarny.