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: 8 czerwca 2026 15:53
  • Data zakończenia: 8 czerwca 2026 15:55

Egzamin niezdany

Wynik: 14/40 punktów (35,0%)

Wymagane minimum: 20 punktów (50%)

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

Aby wygodnie wprowadzać i edytować dane w bazie danych, można posłużyć się:

A. formularzem
B. kwerendą SELECT
C. filtrowaniem
D. raportem
Trzy pozostałe pojęcia dotyczą oglądania lub wyszukiwania danych, a nie ich zmiany. Raport przygotowuje dane do prezentacji i wydruku w czytelnej formie, ale jest tylko do odczytu. Filtrowanie pozwala zawęzić widok do wierszy spełniających warunek - ułatwia odnalezienie informacji, lecz niczego nie modyfikuje. Kwerenda SELECT pobiera dane z tabel i również ich nie edytuje (do zmian służą INSERT, UPDATE, DELETE). Wygodne wprowadzanie i edycję danych zapewnia formularz, który daje gotowe pola powiązane z kolumnami tabeli.

Pytanie 2

Jaki kolor oznacza zapis szesnastkowy #0000FF?

A. czerwony
B. czarny
C. niebieski
D. zielony
W zapisie szesnastkowym #RRGGBB kolejne pary to czerwony, zielony i niebieski. W #0000FF czerwony i zielony są zerowe, a niebieski maksymalny (FF = 255), więc kolor jest NIEBIESKI. Dlatego #0000FF to niebieski.

Pytanie 3

Jakie imiona spełniają warunek klauzuli LIKE w zapytaniu

SELECT imie FROM mieszkancy WHERE imie LIKE 'o_%_a';
?
A. Oksana, Oktawia, Olga
B. Oktawia, Oktawian, Olga
C. Oda, Oksana, Oktawia
D. Oksana, Ola, Olga
Wybór imion Oda, Oksana, Oktawia jest błędny, ponieważ chociaż Oksana i Oktawia są poprawne, Oda nie spełnia wymagań klauzuli LIKE 'o_%_a'. Imię Oda zaczyna się na 'O', ale nie ma znaku, który by wypełniał miejsce reprezentowane przez '_' przed literą 'a', co oznacza, że nie ma żadnego znaku między 'O' a 'a'. Kluczowym błędem w analizie tego zapytania jest niedostrzeganie, że warunek LIKE wymaga, aby były przynajmniej dwa znaki w imieniu: jeden po 'o' oraz końcowy 'a'. Imiona Oktawian i Olga pojawiają się w różnych niepoprawnych odpowiedziach, ale nie są zgodne z wymaganiami, ponieważ nie wszystkie odpowiadają wzorowi. W przypadku imienia Oktawian, kończy się ono na 'n', a nie na 'a', co narusza klauzulę końcową. Zrozumienie zasadności stosowania klauzuli LIKE oraz jej składni jest kluczowe dla prawidłowego przetwarzania danych w zapytaniach SQL. Typowym błędem jest także pominięcie, że symbole wildcard muszą być stosowane z pełnym zrozumieniem ich funkcji w kontekście danych, co może prowadzić do niepoprawnych wyników w analizach i raportach.

Pytanie 4

Brak którego elementu spowoduje błąd walidatora dokumentu HTML5?

A. przynajmniej jednego <h1>
B. prologu <!DOCTYPE html>
C. <body>
D. <meta name="author" content="...">
Pozostałe elementy nie są wymagane do przejścia walidacji. <meta name="author"> to opcjonalna metadana - podaje autora strony, ale jej pominięcie niczego nie psuje. Nagłówek <h1> bywa zalecany dla struktury i SEO, lecz dokument bez niego nadal jest poprawny składniowo. Znacznika <body> walidator może domyślnie założyć, więc jego brak nie generuje błędu. Obowiązkowa jest deklaracja <!DOCTYPE html> na początku dokumentu, dlatego to ona jest poprawną odpowiedzią.

Pytanie 5

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = sql_connect('localhost', 'root','','zwierzaki');
B. $polacz = mysqli_connect('localhost', 'root','','zwierzaki');
C. $polacz = db_connect('localhost', 'root','','zwierzaki');
D. $polacz = server_connect('localhost', 'root','','zwierzaki');
Odpowiedzi, które nie korzystają z funkcji mysqli_connect, bazują na nieaktualnych lub niepoprawnych założeniach dotyczących połączeń z bazą danych w PHP. Na przykład, funkcja db_connect nie jest standardową funkcją dostępną w PHP, co sprawia, że jej użycie prowadzi do błędu. Użytkownicy mogą sądzić, że ta funkcja działa w podobny sposób jak mysqli_connect, lecz w rzeczywistości jest to wytwór nieformalny lub nieprawidłowy, który nie odpowiada standardom języka PHP. Z kolei sql_connect jest często mylona z mysqli_connect, jednak również nie istnieje w dokumentacji PHP jako wbudowana funkcja, co czyni jej stosowanie błędnym. Co więcej, server_connect to kolejna niepoprawna koncepcja, ponieważ nie ma takiej funkcji w PHP. Użytkownicy mogą myśleć, że nazewnictwo funkcji jest dowolne, ale w rzeczywistości język PHP ma ustalone standardy, które muszą być przestrzegane. Dlatego właściwe zrozumienie narzędzi i funkcji dostępnych w PHP jest kluczowe dla efektywnego programowania i unikania typowych błędów, które mogą wynikać z nieznajomości dokumentacji oraz z zastosowania niepoprawnych funkcji.

Pytanie 6

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

A. wykonywać polecenia, takie jak tworzenie kopii zapasowej
B. realizować operacje na bazie, takie jak wstawianie lub modyfikowanie danych
C. przechodzić uprawnienia
D. zmieniać role i konta użytkowników
Uprawnienia obiektowe w kontekście baz danych pozwalają na kontrolowanie dostępu do różnych zasobów, takich jak tabele, widoki czy procedury składowane. Odpowiedź dotycząca wykonywania operacji na bazie, takich jak wstawianie czy modyfikowanie danych, jest prawidłowa, ponieważ uprawnienia te bezpośrednio wpływają na możliwości użytkownika w zakresie manipulacji danymi. Przykładowo, jeśli użytkownik posiada uprawnienie do INSERT, może dodawać nowe rekordy do tabeli, natomiast uprawnienie UPDATE pozwala na zmianę istniejących danych. Takie zarządzanie uprawnieniami jest kluczowe w kontekście bezpieczeństwa danych oraz zapewnienia integralności systemu, ponieważ pozwala na ograniczenie dostępu tylko do tych operacji, które są niezbędne dla danego użytkownika. W praktyce administratorzy baz danych stosują zasady minimalnych uprawnień, przyznając użytkownikom tylko te uprawnienia, które są niezbędne do wykonywania ich pracy, co jest zgodne z najlepszymi praktykami w zakresie zarządzania bezpieczeństwem baz danych.

Pytanie 7

W CSS zapis w postaci

 h1::first-letter {color: red;} 

spowoduje, że kolor czerwony zostanie zastosowany do

A. pierwszej linii akapitu
B. pierwszej litery nagłówka w drugim stopniu
C. pierwszej litery nagłówka w pierwszym stopniu
D. tekstu nagłówka w pierwszym stopniu
Zapis <span>h1::first-letter {color: red;} </span> jest w porządku, bo korzysta z pseudoelementu :first-letter, który działa na pierwszą literkę w nagłówku h1. To całkiem fajne, bo możemy w ten sposób stylizować tę pierwszą literę i nadać nagłówkom ciekawszy wygląd. Na przykład, jeśli mamy nagłówek h1 z napisem 'Witaj świecie', to dzięki temu kodowi, litera 'W' zrobi się czerwona. W CSS warto ogarnąć, że :first-letter działa tylko na bloki, takie jak nagłówki czy akapity, więc warto to mieć na uwadze, gdy coś stylizujemy. Używanie pseudoelementów to dobre podejście do tworzenia ładnych i funkcjonalnych interfejsów, a przy okazji daje nam większą kontrolę nad tym, jak wyglądają nasze elementy.

Pytanie 8

W trakcie weryfikacji stron internetowych nie analizuje się

A. funkcjonowania linków
B. zgodności z różnymi przeglądarkami
C. błędów składniowych w kodzie
D. źródeł pochodzenia narzędzi edytorskich
Walidacja stron internetowych jest procesem, który ma na celu zapewnienie, że strona internetowa jest poprawnie skonstruowana i zgodna z ustalonymi standardami, co z kolei wpływa na jej funkcjonalność oraz dostępność. W tym kontekście analiza błędów składni kodu jest kluczowa, ponieważ nieprawidłowa składnia może prowadzić do błędów renderingowych w przeglądarkach, co z kolei negatywnie wpływa na doświadczenia użytkowników. Podobnie, sprawdzanie działania linków jest istotne, ponieważ nieaktywe lub uszkodzone linki mogą prowadzić do frustracji użytkowników oraz wyniszczającego wpływu na SEO. Dodatkowo, zgodność z przeglądarkami jest fundamentalnym aspektem walidacji, gdyż różne przeglądarki mogą interpretować kod HTML i CSS w odmienny sposób. Zaniedbanie tych aspektów może skutkować problemami z wyświetlaniem strony czy jej funkcjonalnością. Typowym błędem myślowym, który prowadzi do niewłaściwych wniosków, jest przekonanie, że źródło narzędzi edytorskich - czy to komercyjne, czy open-source - ma bezpośredni wpływ na jakość kodu. Prawda jest taka, że to programista jest odpowiedzialny za jakość tworzonych rozwiązań, a nie samo narzędzie. Również, często myli się korzyści płynące z używania profesjonalnego edytora kodu z jego wpływem na proces walidacji, co prowadzi do niewłaściwego podejścia do oceny jakości strony internetowej.

Pytanie 9

W CSS wprowadzono formatowanie

p > i {color: blue} 

Co oznacza, że tekst zapisany będzie w kolorze niebieskim

A. cały tekst nagłówków bez względu na ich formatowanie
B. pogrubiony tekst akapitu
C. cały tekst akapitu bez względu na jego formatowanie
D. pochylony tekst akapitu
Przy analizowaniu dostępnych odpowiedzi, warto zauważyć, że niektóre z nich opierają się na błędnych założeniach dotyczących działania selektorów CSS. Odpowiedź, która sugeruje, że <code>p > i</code> dotyczy całego tekstu paragrafu, jest nieprawidłowa, ponieważ selektor w tym przypadku odnosi się wyłącznie do elementów <code><i></code>, które są bezpośrednimi dziećmi elementu <code><p></code>. W CSS, operator > wskazuje na relację rodzica do dziecka, co oznacza, że tylko bezpośrednie potomki będą podlegały zastosowanemu stylowi. W związku z tym, odpowiedzi, które mówią o całym tekście paragrafu, nie uwzględniają tej kluczowej zasady działania CSS. Podobnie, odpowiedź mówiąca o pogrubionym tekście również jest mylna - stylizacja <code>color: blue</code> nie wpływa na grubość tekstu, a jedynie na kolor, co ilustruje nieporozumienie związane z właściwościami CSS. Ostatecznie, koncepcje dotyczące nagłówków w odpowiedzi również są niedokładne, ponieważ w analizowanym selektorze nie ma odniesienia do jakiegokolwiek nagłówka. Warto zatem pamiętać, że CSS wymaga precyzyjnego rozumienia struktury dokumentu oraz zastosowania odpowiednich selektorów, aby móc skutecznie modyfikować style elementów HTML.

Pytanie 10

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

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

Pytanie 11

Klient wpisał adres nieistniejącego zasobu na serwerze. Próba nawiązania połączenia spowoduje wystąpienie błędu

A. 404
B. 500
C. 400
D. 503
Odpowiedzi 400, 500 i 503 są błędnymi interpretacjami sytuacji związanej z nieistniejącym zasobem na serwerze. Kod 400, znany jako 'Bad Request', jest odpowiedzią, gdy serwer nie może zrozumieć żądania z powodu błędu składniowego. Użytkownik wprowadzający niepoprawny adres URL nie powoduje błędu 400, chyba że ten adres URL byłby w jakiś sposób źle sformułowany, co jest inną sytuacją. Z kolei kod 500 oznacza 'Internal Server Error', co wskazuje na problem po stronie serwera, a nie na nieistniejący zasób. Takie błędy mogą być wynikiem problemów z konfiguracją serwera lub błędów w aplikacji backendowej. Odpowiedź 503, oznaczająca 'Service Unavailable', jest używana, gdy serwer jest tymczasowo niedostępny, zazwyczaj z powodu przeciążenia lub konserwacji. Nie jest to odpowiedni kod w przypadku, gdy zasób nie jest dostępny, ponieważ nie wskazuje na jego nieistnienie, ale raczej na chwilową niedostępność serwisu. W praktyce, użycie niewłaściwego kodu odpowiedzi może prowadzić do mylnego komunikowania się z użytkownikami oraz utrudniać diagnozowanie problemów. Każdy z tych kodów błędów ma swoje specyficzne zastosowania, które powinny być stosowane zgodnie z zaleceniami protokołu HTTP, aby zapewnić efektywne i jasne interakcje między klientami a serwerami.

Pytanie 12

W języku HTML stworzono definicję tabeli. Który z rysunków ilustruje jej działanie?

Ilustracja do pytania
A. Rysunek 2
B. Rysunek 3
C. Rysunek 4
D. Rysunek 1
Odpowiedzi które nie są zgodne z kodem HTML wynikają z błędnej interpretacji atrybutu colspan lub struktury tabeli. Na przykład jeden z rysunków przedstawia sytuację w której drugi wiersz tabeli zawiera dwie odrębne komórki podczas gdy kod HTML wyraźnie wskazuje na użycie atrybutu colspan=2 co powinno skutkować rozciągnięciem komórki z tekstem 'trzeci' na szerokość dwóch kolumn. Taki błąd często wynika z niepełnego zrozumienia jak działa atrybut colspan co jest kluczowe dla poprawnego tworzenia układów tabeli w HTML. Inny rysunek z kolei może przedstawiać brak rozciągnięcia komórki w dolnym wierszu co sugeruje brak zastosowania atrybutu colspan i wskazuje na brak synchronizacji między strukturą kodu a jego wizualizacją. Często spotykanym błędem jest także niezrozumienie różnicy między atrybutami colspan i rowspan które choć podobne mają zupełnie odmienne zastosowanie w kontekście organizacji układu tabeli. Zrozumienie tych różnic i umiejętne zastosowanie odpowiednich atrybutów pozwala na tworzenie bardziej złożonych i responsywnych układów stron internetowych w zgodzie z najlepszymi praktykami projektowymi. Analiza błędów w rozumieniu struktury tabeli i ich wizualizacji pomaga unikać takich pomyłek w przyszłości i sprzyja lepszemu projektowaniu interfejsów użytkownika które są nie tylko funkcjonalne ale i estetyczne co jest jednym z kluczowych wymogów nowoczesnego webdesignu. Poprawna interpretacja atrybutów i ich zastosowanie są fundamentalne w tworzeniu przejrzystych i łatwych w nawigacji stron co przekłada się bezpośrednio na lepsze doświadczenie użytkownika.

Pytanie 13

W zaprezentowanej klasie zdefiniowane zostały

class a {
    public $b;
    public $c;
    public function d() {}
}
A. dwie właściwości
B. dwa obiekty
C. dwie metody
D. jedna właściwość
Odpowiedzi wskazujące na dwa obiekty lub dwie metody są błędne z powodu niepoprawnej interpretacji struktury klasy. Obiekty są instancjami klas, a nie ich składnikami. W kodzie zadań nie ma definicji żadnych obiektów tylko konstrukcja klasy. Z kolei w kontekście programowania obiektowego metody to funkcje zdefiniowane wewnątrz klasy które mogą operować na danych obiektu i realizować jego funkcje. W przedstawionym kodzie znajduje się tylko jedna metoda o nazwie d. Właściwość jest składnikiem klasy i może być polem lub zmienną instancji która przechowuje dane specyficzne dla instancji klasy. Poprawna odpowiedź zawiera dwie właściwości $b i $c zdefiniowane w klasie jako public. Częstym błędem jest mylenie pojęć metod i właściwości co wynika z braku zrozumienia różnicy między nimi. Metody wykonują operacje na danych obiektu natomiast właściwości przechowują te dane. Zrozumienie tej różnicy jest fundamentem poprawnego stosowania paradygmatu obiektowego w programowaniu i pozwala na bardziej efektywne projektowanie kodu oraz zarządzanie stanem obiektów.

Pytanie 14

W tabeli mieszkancy, która zawiera pola id, imie, nazwisko, ulica, numer oraz czynsz (kwota całkowita), należy uzyskać informacje o osobach zamieszkujących ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz nie przekracza 1000 zł. Klauzula WHERE w zapytaniu powinna wyglądać następująco

A. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
C. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
Kiedy piszemy zapytanie SQL, klauzula WHERE powinna wyglądać tak: 'WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000'. Dlaczego to działa? Bo ta klauzula jasno określa, że interesują nas tylko mieszkańcy z ulicy Mickiewicza, mający numery 71, 72 lub 80, i którzy płacą czynsz mniejszy niż 1000 zł. Użycie AND sprawia, że wszystkie te warunki muszą być spełnione naraz, co jest naprawdę ważne. Możemy to sobie wyobrazić w kontekście zarządzania nieruchomościami, gdzie chcemy pokazać tylko wybraną grupę mieszkańców, na przykład do analizy ich sytuacji finansowej. I tak na marginesie – w SQL lepiej unikać OR, gdy chcemy dostąpić do jasno określonych danych, ponieważ może to dać nam za dużo wyników lub takie, których nie chcemy.

Pytanie 15

Którego języka należy użyć, aby napisać skrypt wykonywany po stronie klienta (w przeglądarce)?

A. Perl
B. PHP
C. Python
D. JavaScript
Skrypt wykonywany po stronie klienta (w przeglądarce) pisze się w JavaScripcie - przeglądarka interpretuje go lokalnie i steruje zachowaniem strony. Dlatego należy użyć JavaScriptu.

Pytanie 16

Fragment kodu w języku PHP przedstawia się następująco (patrz ramka): W wyniku wykonania pętli zostaną wyświetlone liczby

Ilustracja do pytania
A. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
B. 0, 4, 8, 12, 16
C. 0, 4, 8, 12, 16, 20
D. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
W przypadku Twojej odpowiedzi widać, że pętla for może być czasem myląca. Jeśli dobrze nie rozumiemy jej działania, możemy dojść do błędnych wniosków co do tego, które liczby się pojawią. W PHP składnia pętli pozwala ustalić początek, warunki kontynuacji i zmiany wartości. Warto pamiętać, że warunek $i <= 20 oznacza, że pętla kończy działanie, kiedy $i przekroczy 20, ale dopóki $i jest równe 20 lub mniej, to pętla działa. Więc odpowiedzi, które ignorują 20, są błędne. Dodatkowo, jeśli przyrastamy $i o 4, to pomijamy liczby, które nie są wielokrotnościami 4. Często myślimy, że pętla wypisze wszystkie liczby od 0 do 19, a to nieprawda, bo nie zawsze inkrementujemy o 1, jak w wielu prostszych przypadkach. Żeby uniknąć takich błędów, warto dokładnie przyjrzeć się składni pętli for i zrozumieć, jak działa każdy jej element. To naprawdę pomaga w pisaniu poprawnego kodu.

Pytanie 17

Której właściwości CSS użyć, aby ustawić odstępy między WYRAZAMI?

A.
letter-space
B.
line-spacing
C.
word-spacing
D.
white-space
Pozostałe nazwy są błędne lub dotyczą czego innego. letter-space i line-spacing w CSS nie istnieją (odstęp między literami to letter-spacing, a wysokość wiersza to line-height). white-space steruje zawijaniem i białymi znakami, nie odstępem słów. Odstęp między wyrazami daje word-spacing.

Pytanie 18

Debugger to narzędzie programowe, którego zadaniem jest:

A. łączenie bibliotek i kodu w plik wykonywalny
B. analiza działającego programu w celu znalezienia przyczyn błędnego działania
C. instalowanie środowiska programistycznego
D. wykrywanie błędów składniowych w kodzie źródłowym
Debugger służy do dynamicznej analizy działającego programu - pomaga znaleźć przyczyny błędów logicznych, które ujawniają się dopiero podczas wykonania. Pozwala zatrzymać program w wybranym miejscu (punkt wstrzymania - breakpoint), wykonywać kod krok po kroku, podglądać wartości zmiennych i prześledzić, którędy „idzie” sterowanie. W praktyce korzysta się z debuggera wbudowanego w IDE (np. w przeglądarce dla JavaScriptu) albo narzędzia takiego jak gdb. To odróżnia go od kompilatora, który wyłapuje błędy składni przed startem. Dlatego zadaniem debuggera jest analiza uruchomionego programu w celu wykrycia przyczyn jego nieprawidłowego działania.

Pytanie 19

Analizując poniższy kod HTML, jak w przeglądarce zachowa się blok B względem bloku A?

<div>A</div>
<div style="margin-top: 20px">B</div>
A. blok A zostanie przesunięty w lewo o 20 px
B. zostanie ustawiony dolny margines bloku B
C. blok B będzie oddalony od bloku A o 20 px
D. bloki A i B będą nachodzić na siebie
Pozostałe odpowiedzi błędnie odczytują działanie margin-top. To margines GÓRNY, więc odstęp powstaje nad elementem, a nie pod nim. Jest to margines pionowy, więc nie przesuwa bloku w lewo (do tego służyłby margin-left). Margines tworzy wolną przestrzeń, a nie nakładanie - nic na siebie nie nachodzi. Ustawiony nad blokiem B margin-top: 20px odsuwa go od bloku A o 20 px.

Pytanie 20

Do następnego poziomu można przejść, gdy: punkty = 20, paczki co najmniej 3, dystans = 200 m. Który warunek (JS) to sprawdza?

A.
punkty == 20 && paczki >= 3 && dystans == 200
B.
punkty == 20 || paczki >= 3 || dystans == 200
C.
punkty == 20 || paczki == 3 || dystans == 200
D.
punkty == 20 && paczki == 3 && dystans == 200
Pozostałe zapisy zawodzą. || wystarczyłoby spełnić jeden warunek, więc awans następowałby przedwcześnie. paczki == 3 wyklucza przypadek 4 i więcej paczek, choć „co najmniej 3” je obejmuje. Wszystkie warunki, z paczki >= 3, łączy &&.

Pytanie 21

Na ilustracji przedstawiającej tabelę muzyka, zrealizowano poniższe zapytanie SQL. Jaki rezultat zwróci ta kwerenda?

SELECT wykonawca FROM`muzyka`
WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. Czesław, Czechowski
B. Czesław, Niemen
C. Czesław
D. pusty wynik
W przypadku zapytania SQL które wykorzystuje operator LIKE z wzorcem C%W często dochodzi do nieporozumienia dotyczącego działania tego operatora. LIKE jest używany do porównywania wzorców tekstowych a procent % służy do zastępowania dowolnej liczby znaków. Można by błędnie założyć że skoro zapytanie ma zwrócić wykonawców których imiona zaczynają się na C i kończą na W to którąś z dostępnych opcji w tabeli spełnia ten warunek. Jednakże w tej konkretnej tabeli nie ma wykonawcy który by spełniał te kryteria. Czesław Niemen kończy się na M a nie na W natomiast Mikołaj Czechowski rozpoczyna się od litery M zamiast C. Przykładem typowego błędu jest nieprawidłowa interpretacja tego jak działają wzorce w operatorze LIKE lub przeoczenie że wzorzec musi być dokładnie zgodny z wymaganiami. Ważnym aspektem jest też zrozumienie że w praktyce biznesowej dokładność danych jest kluczowa a niepoprawne zrozumienie wzorców prowadzi do niepoprawnych wyników zapytań. Dlatego zawsze warto przetestować zapytanie na mniejszym zbiorze danych aby upewnić się że zwraca oczekiwane wyniki co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 22

Rozważ tabelę pracownicy. Jakie jest polecenie MySQL, które usuwa wszystkie wpisy z tabeli, gdzie pole rodzaj_umowy jest puste?

A. DELETE pracownicy WHERE rodzaj_umowy ='brak'
B. DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL
C. DROP pracownicy FROM rodzaj_umowy = 0
D. DROP pracownicy WHERE rodzaj_umowy IS NULL
Wszystkie zaproponowane odpowiedzi, z wyjątkiem poprawnej, zawierają istotne błędy syntaktyczne lub semantyczne, które skutkują nieprawidłowym usunięciem rekordów z tabeli. Przykładowo, użycie DROP zamiast DELETE jest całkowicie niewłaściwe, gdyż DROP służy do usunięcia całej tabeli, a nie tylko jej rekordów. W sytuacji, kiedy chcemy zachować strukturę tabeli, ale usunąć konkretne dane, wybór polecenia DELETE jest absolutnie kluczowy. Dodatkowo, w niektórych odpowiedziach odniesienie do wartości 'brak' jest problematyczne. W SQL, aby skutecznie usunąć rekordy, należy używać wartości NULL, ponieważ 'brak' może być interpretowane jako string, co nie odnosi się do braku jakiejkolwiek wartości. Wartości NULL i stringi to różne typy danych, co może prowadzić do niepożądanych rezultatów. Tak więc, próba usunięcia rekordów, które nie mają pola rodzaj_umowy wypełnionego, polegająca na sprawdzeniu ich równości z 'brak', nie tylko nie przyniesie oczekiwanych efektów, ale może także wprowadzać w błąd, sugerując, że takie wartości istnieją w bazie. Zrozumienie różnicy między tymi wartościami jest kluczowe dla prawidłowego zarządzania danymi w systemach bazodanowych.

Pytanie 23

Instrukcja JavaScript: document.write5==='5'); co zostanie wyświetlone?

A. 0
B. 1
C. true
D. false
Analizując inne opcje odpowiedzi, można zauważyć, że pierwsza z nich sugeruje wynik 1. W kontekście JavaScript, wynik 1 zazwyczaj odnosi się do wartości prawdy, co jest mylne w przypadku porównania 5 === '5', które nie może zwrócić takiej wartości. Kolejna opcja wskazuje na 0, co w JavaScript również jest interpretowane jako fałsz, ale nie jest zgodne z logiką porównania typów, gdzie wynik jest jednoznacznie 'false', a nie liczbowy. Trzecia opcja, 'true', jest szczególnie myląca, ponieważ może sugerować, że porównanie zakończyło się sukcesem, co jest sprzeczne z zasadą porównania typów: 5 jako liczba i '5' jako string nie mogą być uznawane za identyczne przy użyciu operatora '===' w JavaScript. Warto pamiętać, że JavaScript jest językiem z dynamicznym typowaniem, co oznacza, że typy danych mogą być zmieniane, ale operator '===' wymaga, aby obie strony porównania były tego samego typu. Dlatego każda z tych niepoprawnych odpowiedzi błędnie interpretuje zasady operatorów w JavaScript, prowadząc do nieprawidłowych wniosków.

Pytanie 24

Która cecha wyróżnia format PNG?

A. reprezentacja grafiki wektorowej
B. obsługa animacji
C. kompresja bezstratna
D. brak obsługi kanału alfa
PNG wyróżnia kompresja BEZSTRATNA - zmniejsza rozmiar pliku bez utraty jakości, dzięki czemu format nadaje się do grafik z ostrymi krawędziami, logo i przezroczystością (obsługuje kanał alfa). Dlatego cechą PNG jest kompresja bezstratna.

Pytanie 25

Zgodnie z zasadami ACID, które odnoszą się do realizacji transakcji, wymóg trwałości (ang. durability) oznacza, że

A. w przypadku naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi
B. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od wydarzeń, które nastąpią po jej zakończeniu
C. w trakcie wykonywania transakcji dane mogą być zmieniane przez inne transakcje
D. transakcja może w pewnych okolicznościach być podzielona na dwa niezależne etapy
Trwałość (czyli durability) w bazach danych to taka cecha, która mówi, że jak już zatwierdzisz transakcję, to wszystkie zmiany zostaną na zawsze w systemie. To znaczy, że niezależnie od tego, co się później wydarzy, jak na przykład awaria, Twoje dane są bezpieczne. To naprawdę ważne, bo pozwala na utrzymanie spójności i pewności, że system działa tak, jak powinien. Weźmy na przykład systemy bankowe. Gdy robisz przelew, musisz być pewien, że pieniądze poszły tam, gdzie miały, nawet jak serwer padnie tuż po zakończeniu transakcji. Dobrze jest mieć też takie mechanizmy, jak zapisywanie dzienników, które pomagają odtworzyć dane, jeśli coś pójdzie nie tak. Trwałość to kluczowa sprawa w projektowaniu baz danych, bo buduje zaufanie użytkowników oraz pozwala spełnić różne normy i regulacje.

Pytanie 26

Atrybut NOT NULL kolumny jest konieczny w przypadku:

A. użycia atrybutu DEFAULT
B. definicji wszystkich pól tabeli
C. klucza podstawowego
D. wszystkich pól typu numerycznego
Pozostałe sytuacje nie wymagają NOT NULL. Atrybut DEFAULT jedynie ustawia wartość domyślną wstawianą, gdy nie podano innej - pole może nadal dopuszczać NULL. Nie jest też prawdą, że wszystkie pola tabeli muszą być NOT NULL: projektant często celowo pozwala na brak wartości (np. opcjonalny adres). Tak samo pola liczbowe mogą przyjmować NULL. Pustej wartości nie może mieć tylko klucz podstawowy, dlatego to dla niego NOT NULL jest konieczny.

Pytanie 27

Które z pól są umieszczone w formularzu?





Studia podyplomowe Kurs

A. Input(Text), Select, Input(Radio), Input(Radio), Input (Submit), Input(Reset)
B. Input(Text), Input(Checkbox), Select, Select, Input(Submit), Input(Reset)
C. Textarea, Select, Input(Radio), Input(Radio), Input(Reset), Input(Submit)
D. Textarea, Option, Input(Checkbox), Input(Checkbox), Input (Submit), Input(Reset)
Twoja odpowiedź sugeruje pewne nieporozumienia co do typów pól używanych w formularzach html. Przykładowo, Textarea to pole wieloliniowego tekstu, które nie zostało użyte w tym formularzu. Podobnie, Element Option jest zazwyczaj używany wewnątrz elementu Select i nie jest samodzielnym polem formularza. Co więcej, Input(Checkbox) to pole wyboru, które pozwala na zaznaczenie wielu opcji. W tym formularzu, używane są przyciski wyboru (Input(Radio)), które są podobne, ale pozwalają tylko na wybór jednej opcji. Wreszcie, należy pamiętać, że nie wszystkie formularze muszą zawierać wszystkie typy pól. Różne typy pól są używane w zależności od tego, jakiego rodzaju informacje chcemy zebrać. Ważne jest, aby zrozumieć różnice między nimi i kiedy ich używać, aby stworzyć skuteczny formularz, który będzie łatwy do wypełnienia dla użytkowników i będzie zbierał potrzebne informacje.

Pytanie 28

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

x = przedmiot.nazwa();
A. zmienna x będzie przechowywać wynik działania funkcji przedmiot
B. nazwa jest atrybutem klasy przedmiot
C. zmienna x będzie zawierać wynik działania metody nazwa
D. nazwa jest cechą obiektu przedmiot
Instrukcja x = przedmiot.nazwa(); w JavaScripcie oznacza wywołanie metody nazwa na obiekcie przedmiot, a do zmiennej x zostaje podstawiony zwrócony wynik. Kluczowe są tu dwa elementy: kropka oraz nawiasy okrągłe. Zapis przedmiot.nazwa bez nawiasów odnosiłby się tylko do samej funkcji (referencji do metody), natomiast dodanie () powoduje jej wykonanie i dopiero rezultat tego wywołania trafia do zmiennej.
W praktyce wygląda to tak: jeśli obiekt przedmiot ma zdefiniowaną metodę nazwa, np. const przedmiot = { nazwa() { return "Monitor"; } }; to po instrukcji x = przedmiot.nazwa(); zmienna x będzie równa tekstowi "Monitor". To jest bardzo typowy wzorzec: obiekt.metoda() zwraca jakąś wartość (string, liczbę, obiekt, tablicę, czasem też undefined), a my ją przechwytujemy do zmiennej, żeby dalej z nią pracować. W dobrych praktykach programistycznych rozdziela się metody, które coś zwracają (tzw. query) od metod, które tylko wykonują akcję (np. zmieniają stan obiektu, ale nic nie zwracają). W tym pytaniu zakładamy, że nazwa zwraca wartość, więc przypisanie do x ma sens. Moim zdaniem warto od początku wyrabiać nawyk czytania takiego kodu: po lewej zmienna, po prawej wyrażenie, które jest obliczane. Najpierw wykonywana jest metoda nazwa(), a dopiero potem wynik trafia do x. Taki schemat pojawia się non stop w realnych projektach frontendowych i backendowych w JS, np. const wynik = koszyk.policzSume(); albo const tytul = dokument.getElementById("id").textContent; – w obu przypadkach zmienna przechowuje rezultat działania metody.

Pytanie 29

Na podstawie fragmentu dokumentu HTML, określ co należy wpisać w miejsce kropek w odnośniku w menu, aby przenosił on do rozdziału 2.

Fragment menu
<a ...>Rozdział 2</a>

Fragment dalej w dokumencie
<h1 id="r2" name="sekcja2" class="rozdzial2">Rozdział 2<h1>
A. href = "#sekcja2"
B. href = "sekcja2"
C. href = "#r2"
D. href = "r2"
Niestety, Twoja odpowiedź nie jest prawidłowa. Prawidłowa odpowiedź 'href="#r2"' odwołuje się do identyfikatora (id) 'r2' na tej samej stronie. W HTML, atrybut 'href' w tagu 'a' służy do określenia miejsca docelowego odnośnika. Przed identyfikatorem umieszcza się znak '#', który informuje przeglądarkę, że ma poszukać elementu z danym 'id' na tej samej stronie. Błędy w niepoprawnych odpowiedziach wynikają z pominięcia znaku '#' lub zastosowania nieprawidłowego identyfikatora. Pamiętaj, że identyfikator powinien być unikalny dla każdego elementu na stronie i powinien być używany w odnośniku dokładnie w takiej samej formie. W przypadku 'href="r2"' i 'href="sekcja2"', pominięto znak '#', co sprawia, że przeglądarka będzie szukać zasobu o podanej ścieżce, a nie identyfikatora na tej samej stronie. 'href="#sekcja2"' zawiera niepoprawny identyfikator, który nie istnieje na stronie. Kluczowe jest zrozumienie, jak działają identyfikatory i jaki mają wpływ na nawigację na stronie.

Pytanie 30

Czynnością zalecaną przed wykonaniem kopii zapasowej bazy danych MySQL jest:

A. sprawdzenie integralności bazy i ewentualna jej naprawa
B. zdefiniowanie systemu kodowania znaków w bazie
C. nadanie administratorowi uprawnień do przeglądania bazy
D. sprawdzenie, czy baza jest dostatecznie wydajna
Pozostałe czynności nie wpływają na poprawność kopii. To, czy baza jest „dostatecznie wydajna”, dotyczy szybkości działania, a nie spójności danych, które zamierzamy zarchiwizować. Kodowanie znaków ustala się na etapie projektowania bazy i przy kopii nie ma znaczenia. Nadawanie administratorowi uprawnień do przeglądania nie jest warunkiem wykonania backupu - konto wykonujące kopię musi mieć dostęp, ale zwykle już go ma. Aby nie utrwalić uszkodzeń, przed kopią sprawdza się integralność bazy i w razie potrzeby ją naprawia, dlatego ta odpowiedź jest poprawna.

Pytanie 31

Który z języków służy do STYLIZACJI stron WWW?

A. SQL
B. CSS
C. Python
D. HTML
Każdy z pozostałych pełni inną rolę. HTML buduje STRUKTURĘ i treść strony, SQL to język zapytań do baz danych, a Python to język programowania ogólnego przeznaczenia. Wyglądem strony zajmuje się CSS.

Pytanie 32

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Barwienie.
B. Progowanie.
C. Inwersja.
D. Krzywe.
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 33

W poniższym kodzie PHP wykonano operację na bazie danych. Której funkcji należy użyć, aby pobrać liczbę zmienionych w tabeli wierszy?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10";
mysqli_query($db, $zapytanie);
A. mysqli_use_result()
B. mysqli_num_rows()
C. mysqli_affected_rows()
D. mysqli_field_count()
Gratulacje! Wybrałeś poprawną odpowiedź, która jest funkcją mysqli_affected_rows(). Ta funkcja jest specyficzna dla języka PHP i jest używana do zwracania liczby wierszy, które zostały zmienione, dodane lub usunięte przez ostatnie wywołanie funkcji mysqli_query() na serwerze MySQL. W kontekście operacji takich jak INSERT, UPDATE, REPLACE lub DELETE, mysqli_affected_rows() jest nieocenionym narzędziem do śledzenia ilości wykonanych zmian w bazie danych. Dlatego właśnie w przypadku przedstawionego pytania, gdzie w kodzie PHP wykonano operację UPDATE na bazie danych, idealnym rozwiązaniem jest użycie funkcji mysqli_affected_rows() do pobrania liczby zmienionych wierszy. Jest to kluczowe zrozumienie, aby efektywnie manipulować danymi w bazach danych MySQL za pomocą języka PHP.

Pytanie 34

Aby strona WWW była przesyłana do przeglądarki w postaci zaszyfrowanej, należy zastosować protokół:

A. SFTP
B. SSH
C. HTTPS
D. HTTP
HTTPS to protokół HTTP działający przez szyfrowane połączenie TLS. Dane wymieniane między serwerem a przeglądarką - treść strony, dane logowania, formularze - są szyfrowane, więc osoba podsłuchująca ruch nie odczyta ich ani nie podmieni. Certyfikat serwera pozwala też przeglądarce potwierdzić tożsamość witryny (kłódka w pasku adresu). Dlatego do bezpiecznego, zaszyfrowanego przesyłania strony WWW stosuje się właśnie HTTPS.

Pytanie 35

W języku JavaScript funkcja matematyczna Math.pow() jest wykorzystywana do obliczania

A. przybliżonej wartości liczby
B. pierwiastka kwadratowego z liczby
C. bezwzględnej wartości liczby
D. potęgi liczby
Wybór wartości przybliżonej liczby jako odpowiedzi wskazuje na nieporozumienie dotyczące funkcji Math.pow(). Należy zaznaczyć, że funkcja ta nie wykonuje operacji związanej z zaokrąglaniem ani przybliżaniem liczb. W praktyce zaokrąglanie wartości liczbowych w JavaScript można osiągnąć za pomocą funkcji takich jak Math.round(), Math.ceil() czy Math.floor(). Wartości przybliżone są często mylone z potęgami, ale to zupełnie różne koncepcje. Podobnie, odpowiedź odnosząca się do wartości bezwzględnej jest myląca, ponieważ funkcja Math.pow() nie ma nic wspólnego z obliczaniem wartości bezwzględnej, co można zrobić za pomocą Math.abs(). Z kolei pierwiastek kwadratowy liczby, który można obliczyć, korzystając z Math.sqrt(), również nie jest funkcją powiązaną z potęgowaniem. Mylenie tych koncepcji często wynika z nieprecyzyjnego rozumienia funkcji matematycznych oraz ich zastosowania w programowaniu. Kluczowe jest zrozumienie, że Math.pow() jest specjalistycznym narzędziem do obliczania potęg, co różni się fundamentalnie od operacji takich jak zaokrąglanie, wartość bezwzględna czy pierwiastkowanie. Właściwe zrozumienie funkcji matematycznych ułatwia pisanie efektywnego i poprawnego kodu, zgodnie z najlepszymi praktykami inżynierii oprogramowania.

Pytanie 36

Określ na podstawie diagramu, jaką liczebność należy zdefiniować przy związku pomiędzy encjami Podręcznik i Wydawnictwo zakładając, że dane dotyczące różnych podręczników odpowiadają jednemu wydawnictwu.

Ilustracja do pytania
A. 1-1 (1 przy encji Podręcznik, 1 przy encji Wydawnictwo)
B. M-N (M przy encji Podręcznik, N przy encji Wydawnictwo)
C. 1-N (1 przy encji Podręcznik, N przy encji Wydawnictwo)
D. N-1 (N przy encji Podręcznik, 1 przy encji Wydawnictwo)
Opisany w pytaniu związek jasno sugeruje sytuację, w której wiele różnych podręczników jest powiązanych z jednym wydawnictwem. To typowy przypadek relacji N–1, czyli wiele‑do‑jednego z punktu widzenia encji Podręcznik. Błędne odpowiedzi wynikają zwykle z pomylenia kierunku patrzenia na relację albo z prób „uogólnienia” modelu ponad to, co naprawdę wynika z założeń. Relacja 1–1 między Podręcznik a Wydawnictwo oznaczałaby, że każdemu wydawnictwu odpowiada dokładnie jeden podręcznik i odwrotnie. To kompletnie nie pasuje do realnego świata, gdzie wydawnictwa mają całe katalogi książek. W modelowaniu danych 1–1 stosuje się rzadko, raczej do technicznego dzielenia tabeli, a nie do takich typowo biznesowych bytów jak książka i wydawnictwo. Odpowiedź 1–N jest myląca, bo odwraca kierunek: oznaczałaby, że pojedynczy podręcznik jest powiązany z wieloma wydawnictwami. To byłby przypadek, gdzie ten sam egzemplarz podręcznika ma kilku wydawców jednocześnie, co jest sprzeczne z treścią zadania. Czasem ktoś myli tu pojęcie „wiele wydań w różnych wydawnictwach”, ale wtedy relacja i tak jest między wydaniem a wydawnictwem, a nie między jednym podręcznikiem a wieloma wydawnictwami w tym samym modelu. Z kolei M–N (lub M–N/M–N w różnych notacjach) opisuje sytuację, w której wiele podręczników może być powiązanych z wieloma wydawnictwami i wymagałaby dodatkowej tabeli asocjacyjnej. To podejście jest stosowane np. przy relacji Student–Przedmiot, ale tutaj zadanie wyraźnie mówi, że różne podręczniki „odpowiadają jednemu wydawnictwu”, więc nie ma podstaw do wprowadzania związku wiele‑do‑wielu. Typowy błąd myślowy polega na tym, że ktoś próbuje projektować „na zapas” i zakłada wszystkie możliwe warianty, zamiast trzymać się dokładnie specyfikacji i odróżniać kierunek relacji: z perspektywy podręcznika jest jeden wydawca, z perspektywy wydawnictwa jest wiele podręczników, stąd poprawne N–1.

Pytanie 37

Instrukcja

REVOKE SELECT ON nazwa1 FROM nazwa2
w SQL pozwala na
A. przyznawanie uprawnień zgodnie z określonym schematem
B. odbieranie przyznanych uprawnień użytkownikowi
C. usunięcie użytkownika z bazy danych
D. przyznawanie dostępu do tabeli
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL jest używane do odbierania uprawnień użytkownikowi, co jest kluczowym aspektem zarządzania bezpieczeństwem w bazach danych. Umożliwia to administratorom kontrolowanie dostępu do danych, co jest istotne w kontekście ochrony informacji oraz zgodności z regulacjami prawnymi. Przykładowo, jeśli użytkownik 'nazwa2' miał wcześniej przyznane uprawnienia do wykonywania zapytań SELECT na tabeli 'nazwa1', użycie polecenia REVOKE pozwoli na ich cofnięcie. W praktyce, administratorzy baz danych często stosują to polecenie, aby ograniczyć dostęp do wrażliwych informacji, na przykład po zakończeniu projektu, w którym dany użytkownik nie powinien już mieć dostępu do danych. Takie działania są zgodne z najlepszymi praktykami w zakresie zabezpieczeń, które zalecają minimalizowanie uprawnień użytkowników do tylko tych niezbędnych do wykonywania ich obowiązków. Dodatkowo, warto również stosować audyty dostępu, aby na bieżąco monitorować, które uprawnienia są przyznawane i odbierane, co pozwala na lepsze zarządzanie bezpieczeństwem systemu.

Pytanie 38

W formularzu dane z pola input o typie number zostały przypisane do zmiennej a, a następnie przetwarzane w skrypcie JavaScript w następujący sposób:

var x = parseFloat(a);
Jaki typ będzie miała zmienna x?
A. zmiennoprzecinkowego
B. napisowego
C. liczbowego, całkowitego
D. NaN
Zmienna x będzie typu zmiennoprzecinkowego, ponieważ funkcja parseFloat() konwertuje wartość przekazaną jej jako argument na liczbę zmiennoprzecinkową. W przypadku, gdy zmienna a zawiera poprawną reprezentację liczby, np. '10.5' lub '3.14', parseFloat() zwróci odpowiednią wartość zmiennoprzecinkową. Dobrą praktyką jest zapewnienie, że wartość w a jest odpowiednio walidowana przed konwersją, aby uniknąć błędów i niepożądanych wyników. Zmiennoprzecinkowe dane mogą być szczególnie użyteczne w aplikacjach finansowych, graficznych czy inżynieryjnych, gdzie precyzyjne obliczenia są kluczowe. Ponadto, JavaScript automatycznie przekształca liczby całkowite do postaci zmiennoprzecinkowej, więc nawet jeśli a zawiera liczbę całkowitą, wynik w zmiennej x również będzie typem zmiennoprzecinkowym. Znajomość tego zachowania jest istotna dla programistów, aby skutecznie obsługiwać różnorodne operacje numeryczne.

Pytanie 39

Jak za pomocą CSS ustawić opływanie obrazu tekstem, wprowadzając odpowiedni kod w stylu obrazu?

Ilustracja do pytania
A. float: left;
B. float: right;
C. table: left;
D. clear: both;
Stosowanie table: left; w tym kontekście to strzał w kolano, bo taka właściwość nie istnieje. W CSS do tabel używamy innych właściwości jak display: table; lub display: table-cell;, ale nie do opływania elementów. A clear: both; jest używane, żeby zlikwidować opływ po float, więc to ważna sprawa, bo inaczej wszystko się sypie. Float: left; może opływać, ale w tej sytuacji nie postawi obrazka po prawej, bo ustawia go po lewej stronie. Wiele osób myśli, że float działa na osi Y, ale tak naprawdę dotyczy tylko osi X. Pamiętaj, że float, chociaż przydatny, to nie jedyny sposób na układanie elementów w CSS. Flexbox i grid to nowoczesne metody, które często są znacznie lepsze. By zbudować ładne interfejsy, musimy rozumieć jak różne właściwości CSS ze sobą współpracują.

Pytanie 40

CMYK to zestaw czterech podstawowych kolorów stosowanych w druku:

A. turkusowego, błękitnego, białego, różowego
B. turkusowego, purpurowego, żółtego, czarnego
C. czerwonego, purpurowego, żółtego, szarego
D. turkusowego, purpurowego, białego, czarnego
Pozostałe zestawy zawierają kolory spoza CMYK. W modelu tym nie ma bieli (rolę bieli pełni niezadrukowany papier) ani różowego, czerwonego czy szarego. Pomylenie wynika zwykle z zastąpienia żółtego bielą albo z mylenia CMYK z modelem RGB (czerwony, zielony, niebieski) używanym na ekranach. Cztery farby druku to cyan (turkusowy), magenta (purpurowy), yellow (żółty) i key/black (czarny), dlatego poprawny jest ten zestaw.