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: 8 czerwca 2026 22:47
  • Data zakończenia: 8 czerwca 2026 23:09

Egzamin niezdany

Wynik: 18/40 punktów (45,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

Do czego służy funkcja CONCAT() w SQL?

A. do łączenia tekstów (konkatenacji)
B. do wyciągania podłańcucha
C. do usuwania wskazanego tekstu
D. do przycinania tekstu
Funkcja CONCAT() łączy (konkatenuje) kilka tekstów w jeden ciąg, np. CONCAT(imie, ' ', nazwisko) da pełne imię i nazwisko. Dlatego CONCAT() służy do łączenia tekstów.

Pytanie 2

W języku PHP nie można zrealizować

A. tworzenia dynamicznej treści strony
B. przetwarzania danych z formularzy
C. obróbki danych przechowywanych w bazach danych
D. zmiany dynamicznej zawartości strony HTML w przeglądarce
Przetwarzanie danych formularzy to jedna z kluczowych funkcji, które PHP realizuje na co dzień. PHP jest zaprojektowane do obsługi danych przesyłanych przez formularze HTML, co umożliwia dynamiczne przetwarzanie informacji wprowadzonych przez użytkowników. W momencie, gdy użytkownik wysyła formularz, PHP odbiera te dane i może je przetwarzać, walidować oraz zapisywać do bazy danych lub wykorzystywać w inny sposób, co czyni tę odpowiedź niepoprawną. Generowanie dynamicznej zawartości strony to kolejna funkcjonalność, którą PHP realizuje z powodzeniem. Dzięki PHP można tworzyć strony internetowe, które zmieniają się w zależności od różnych czynników, takich jak dane z bazy danych, aktualna godzina czy sesja użytkownika. PHP dynamicznie generuje HTML, który następnie jest wysyłany do przeglądarki. Wreszcie, PHP doskonale radzi sobie z przetwarzaniem danych zgromadzonych w bazach danych. Język ten może łączyć się z różnymi systemami zarządzania bazami danych, takimi jak MySQL, PostgreSQL czy SQLite, umożliwiając wykonywanie zapytań SQL oraz operacji na danych. Dlatego odpowiedzi dotyczące przetwarzania danych formularzy, generowania dynamicznej zawartości oraz interakcji z bazami danych są błędne, ponieważ PHP jest w stanie zrealizować te zadania z dużą skutecznością.

Pytanie 3

Który z przedstawionych obrazów ma zastosowany poniższy styl CSS?

img {
    padding: 5px;
    border: 1px solid grey;
    border-radius: 10px;
}
Ilustracja do pytania
A. B.
B. D.
C. A.
D. C.
Stylizacja obrazów za pomocą CSS jest kluczowym aspektem w projektowaniu stron internetowych, ponieważ wpływa na estetykę i funkcjonalność interfejsu użytkownika. Wybierając nieodpowiednią odpowiedź, można nie uwzględnić, jak różne właściwości styli wpływają na wygląd elementu. Na przykład, pomijając właściwość padding, można nie zapewnić odpowiedniej przestrzeni wokół obrazu, co skutkuje mniej czytelnym wyglądem. Użycie border bez zrozumienia jego zastosowania może prowadzić do niekompatybilności wizualnej z resztą interfejsu, ponieważ zbyt gruba lub kontrastowa ramka może odciągać uwagę użytkownika. Border-radius to kolejna kluczowa właściwość często pomijana w projektach. Brak zaokrąglenia rogów może sprawić, że elementy będą wydawały się surowe i nieprzystępne. Pominięcie tych szczegółów może również wpłynąć na responsywność i dostępność strony, ponieważ nowe standardy UX/UI kładą duży nacisk na miękkie krawędzie i przestrzeń wokół wizualnych komponentów. Dlatego zrozumienie tych koncepcji jest niezbędne do skutecznego projektowania estetycznych i funkcjonalnych stron internetowych. Właściwe zastosowanie CSS pozwala na tworzenie spójnych wizualnie i przyjaznych dla użytkownika projektów.

Pytanie 4

Jakie sformułowanie najlepiej opisuje metodę POST do przesyłania formularzy?

A. Jest zalecana, gdy przesyłane są dane poufne, na przykład hasło, numer telefonu lub numer karty kredytowej
B. Może być zarejestrowana jako zakładka w przeglądarce internetowej
C. Ma dodatkowe ograniczenia związane z długością adresu - maksimum 255 znaków
D. Dane są przesyłane przez adres URL, co czyni je widocznymi dla użytkownika
Wybór niepoprawnej odpowiedzi wskazuje na pewne nieporozumienia dotyczące metod przesyłania formularzy w protokole HTTP. Pierwsza z nieprawidłowych koncepcji sugeruje, że dane z formularza przesyłane metodą POST mogą być zapisane jako zakładka w przeglądarce. To podejście jest błędne, ponieważ metoda POST nie dodaje informacji do adresu URL, co uniemożliwia zapisanie tych danych jako zakładki. Zakładki w przeglądarkach internetowych są oparte na adresach URL, które nie zawierają danych przesyłanych metodą POST. Ponadto, druga z błędnych odpowiedzi wskazuje, że dane przesyłane metodą POST są widoczne w adresie URL. W rzeczywistości, dane te są przesyłane w ciele zapytania HTTP, co oznacza, że nie są one publicznie widoczne, co czyni metodę POST bardziej odpowiednią do przesyłania danych poufnych. Również stwierdzenie o ograniczeniach długości adresu, które wynosi maksymalnie 255 znaków, jest nieprecyzyjne, ponieważ nie dotyczy metody POST; to ograniczenie odnosi się do metody GET, gdzie długość URL może wpływać na przesyłane dane. Ostatecznie, niewłaściwe zrozumienie tych podstawowych różnic między metodami POST i GET może prowadzić do poważnych błędów w projektowaniu aplikacji internetowych oraz w implementacji zabezpieczeń danych, które są kluczowe w dzisiejszym świecie cyfrowym.

Pytanie 5

W trakcie obróbki dźwięku, by wyeliminować niepożądane hałasy wynikające z niskiej jakości mikrofonu, należy użyć narzędzia

A. obwiedni
B. wyciszenia
C. odgłosów echa
D. usuwania szumów
Usuwanie szumów to technika, która jest kluczowa w procesie przetwarzania dźwięku, szczególnie w kontekście nagrań audio i transmisji. Działa na zasadzie identyfikacji i eliminacji niepożądanych dźwięków, takich jak szumy tła, które mogą pochodzić z niskiej jakości mikrofonów lub hałaśliwych środowisk. W praktyce, narzędzia do usuwania szumów analizują dźwięk w czasie rzeczywistym lub podczas edycji i wykorzystują algorytmy, które rozpoznają różnice między pożądanym sygnałem (np. głosem) a szumem. Standardy branżowe, takie jak AES67, podkreślają znaczenie czystości dźwięku w transmisji mediów, co sprawia, że eliminacja szumów staje się kluczowym elementem produkcji audio. Przykładowo, w studio nagraniowym, inżynierowie dźwięku często korzystają z wtyczek do usuwania szumów, aby poprawić jakość nagrań wokalnych. Dzięki tym technikom można osiągnąć klarowność i profesjonalny standard nagrań, co jest niezbędne w przemyśle muzycznym, radiowym czy filmowym.

Pytanie 6

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
B. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
C. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
D. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
Odpowiedź WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000 jest poprawna, ponieważ precyzyjnie definiuje warunki, które muszą być spełnione, aby zwrócić odpowiednich pracowników. Klauzula WHERE jest fundamentalnym elementem zapytań SQL, który pozwala na filtrację wyników na podstawie określonych kryteriów. W tym przypadku, warunek 'kierownik = true' zapewnia, że tylko pracownicy pełniący rolę kierowników zostaną uwzględnieni w wynikach. Dodatkowo, użycie operatorów porównania '>' oraz '<=' dla pensji umożliwia dokładne zdefiniowanie przedziału, w którym pensja musi się mieścić. W praktyce, w kontekście baz danych, taka filtracja pozwala na efektywne zarządzanie danymi oraz generowanie raportów zgodnych z wymaganiami analizy. Stosowanie tego typu warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami, gdyż umożliwia precyzyjne i wydajne wyszukiwanie danych, co jest kluczowe w zarządzaniu informacjami w złożonych systemach bazodanowych.

Pytanie 7

Do usuwania czego stosuje się w MySQL polecenie TRUNCATE TABLE?

A. kolumn
B. wierszy tabeli
C. baz danych
D. tabel
Polecenie TRUNCATE TABLE usuwa z tabeli WSZYSTKIE wiersze naraz, zostawiając jej strukturę (kolumny, definicję) nienaruszoną. Działa szybciej niż DELETE bez warunku, bo nie kasuje wiersz po wierszu. Dlatego TRUNCATE TABLE usuwa wiersze tabeli.

Pytanie 8

Aby zastosować styl responsywny dla ekranów o szerokości od 600 px do 800 px, należy użyć reguły CSS:

A.
@media (min-width: 800px) { }
B.
@media screen (min-width: 800px) and (max-width: 600px) { }
C.
@media (max-width: 800px) (min-width: 600px) { }
D.
@media screen and (max-width: 800px) and (min-width: 600px) { }
Aby ograniczyć styl do zakresu szerokości, łączy się dwa warunki operatorem and: @media screen and (min-width: 600px) and (max-width: 800px) { }. Pierwszy ustala dolną granicę (≥ 600 px), drugi górną (≤ 800 px); spełnione muszą być oba naraz. Dlatego poprawna jest reguła z max-width: 800px i min-width: 600px połączonymi and.

Pytanie 9

Instrukcja w języku JavaScript

var napis1 = new napisy();
ma na celu
A. wykonanie metody obiektu napisy
B. zadeklarowanie zmiennej napis1 oraz uruchomienie funkcji, która przyjmuje jako argument napis1
C. stworzenie obiektu napis1 z klasy napisy
D. stworzenie nowej klasy napis1
Niepoprawne odpowiedzi bazują na powszechnych nieporozumieniach dotyczących podstaw programowania w JavaScript. Wywołanie metody obiektu napisów nie może być zrealizowane w sposób przedstawiony w pytaniu, ponieważ fragment "var napis1 = new napisy();" nie wskazuje na jakiekolwiek metody, a jedynie na tworzenie nowego obiektu. Istnieje różnica między deklarowaniem obiektu a wywoływaniem jego metod. Również nie ma możliwości, aby zadeklarować zmienną napis1 i jednocześnie wywołać funkcję z jej argumentem w tym kontekście, gdyż zapis ten nie zawiera żadnych funkcji. Kolejna koncepcja dotycząca utworzenia nowej klasy jest błędna, ponieważ "var napis1 = new napisy();" nie tworzy klasy, a instancję obiektu. W praktyce, typowe błędy myślowe związane z tymi odpowiedziami wynikają z mylenia instancji obiektu z definicją klasy. Użytkownicy mogą myśleć, że przypisanie "new napisy()" tworzy klasę, podczas gdy tak naprawdę ta operacja tworzy nowy obiekt z dostępem do metod i właściwości zdefiniowanych w klasie napisy. Ważne jest zrozumienie, że klasy w JavaScript muszą być zdefiniowane wcześniej, aby można było tworzyć ich instancje, co stanowi kluczowy element programowania obiektowego.

Pytanie 10

Aby zwiększyć wydajność operacji w bazie danych, należy skupić się na polach, które są często wyszukiwane lub sortowane

A. dodać więzy integralności
B. utworzyć indeks
C. stworzyć oddzielną tabelę przechowującą wyłącznie te pola
D. dodać klucz obcy
Dodawanie kluczy obcych nie jest bezpośrednią metodą na przyspieszenie operacji na bazie danych. Klucze obce są używane do zapewnienia integralności referencyjnej, co oznacza, że ich celem jest zapewnienie spójności danych w relacjach pomiędzy tabelami. Choć klucze obce mogą wpłynąć na wydajność w kontekście zapytań, nie przyspieszają one ani nie optymalizują wyszukiwania w obrębie pojedynczych tabel. Tworzenie osobnych tabel przechowujących tylko te pola również nie jest metodą optymalizacji efektywności wyszukiwania. Tego rodzaju podejście może prowadzić do komplikacji w zarządzaniu danymi oraz zmniejszenia wydajności przy łączeniu tabel w zapytaniach. Dodanie więzów integralności, które zapewniają, że dane w tabelach są poprawne i zgodne z określonymi zasadami, jest również istotne, ale nie wpływa bezpośrednio na szybkość operacji na bazie danych. Takie podejścia mogą prowadzić do błędnych przekonań, że poprawa wydajności bazy danych można osiągnąć poprzez wprowadzenie dodatkowych ograniczeń lub zmian w strukturze danych, co w rzeczywistości może generować dodatkowe koszty obliczeniowe przy wykonywaniu podstawowych operacji. Kluczowe jest stosowanie odpowiednich technik indeksacji, które są powszechnie uznawane za najlepszą praktykę w kontekście optymalizacji zasobów bazy danych.

Pytanie 11

Którego polecenia SQL użyć, aby usunąć CAŁĄ tabelę (wraz ze strukturą)?

A.
TRUNCATE TABLE
B.
UNIQUE
C.
DELETE
D.
DROP TABLE
Aby usunąć CAŁĄ tabelę wraz ze strukturą, używa się DROP TABLE - kasuje definicję tabeli i wszystkie dane. Dlatego poprawne jest DROP TABLE.

Pytanie 12

Jaki jest cel wykorzystania znacznika <i> w języku HTML?

A. określenia nagłówka w treści
B. zmiany kroju pisma na pochylony
C. wstawienia obrazka
D. określenia formularza
Znacznik <i> w języku HTML jest używany do oznaczania tekstu, który powinien być wyświetlany w kroju pisma pochyłym. Takie użycie jest zgodne ze standardami HTML, gdzie <i> zwykle wskazuje na tekst, który ma być wyróżniony w kontekście stylistycznym, na przykład w przypadku tytułów książek, nazw gatunków czy terminów technicznych. Z perspektywy semantycznej, HTML5 wprowadza większą elastyczność w definiowaniu znaczenia tekstu, co czyni <i> bardziej konwencjonalnym narzędziem niż w poprzednich wersjach. Warto zaznaczyć, że dla lepszej dostępności i SEO, często zaleca się użycie znacznika <em>, który nie tylko zmienia styl, ale także podkreśla znaczenie tekstu. Przykład zastosowania <i>: <i>„Wojna i pokój”</i> to książka autorstwa Lwa Tołstoja. Z perspektywy użytkowników i wyszukiwarek, ważne jest, aby znać różnice między tymi znacznikami, co pozwala na efektywniejsze tworzenie treści internetowych.

Pytanie 13

Jakie wartości powinny mieć zmienne w funkcji z biblioteki mysqli, by ustanowić połączenie z serwerem i bazą danych?

mysqli_connect($a, $b, $c, $d) or die('Brak połączenia z serwerem MySQL.');
A. adres serwera - $c, nazwa bazy danych - $d, login - $b, hasło - $a
B. adres serwera - $a, nazwa bazy danych - $b, login - $c, hasło - $d
C. adres serwera - $a, nazwa bazy danych - $d, login - $b, hasło - $c
D. adres serwera - $c, nazwa bazy danych - $d, login - $a, hasło - $b
Funkcja mysqli_connect w PHP to coś, co trzeba znać, gdy pracuje się z bazami danych MySQL. Wiesz, że musisz podać parametry w odpowiedniej kolejności: najpierw adres serwera, potem nazwę użytkownika, hasło i na końcu nazwę bazy danych. W twoim zadaniu odpowiednie zmienne to: adres serwera jako $a, nazwa bazy jako $d, login jako $b, a hasło jako $c, co pasuje do czwartej opcji. Dobrze to rozumiesz, bo tę funkcję trzeba wywołać w dokładnie takiej kolejności, żeby połączenie z bazą działało. Przykład: gdy korzystasz z lokalnego serwera, to używasz localhost jako $a, użytkownik to root, a hasło powiedzmy, że password, a baza to test_db. W takim razie wyglądałoby to tak: mysqli_connect('localhost', 'root', 'password', 'test_db'). Dobrze przyporządkowane zmienne są kluczowe, bo jak coś pomylisz, połączenie się nie uda i mogą się pojawić błędy. Warto zrozumieć, jak to działa, żeby dobrze programować w PHP z MySQL.

Pytanie 14

Jak należy prawidłowo udokumentować wzorcowanie pola nazwa we fragmencie kodu JavaScript?

function validateForm(Form)
{
reg=/^\[1-9\]*[A-ZŻŹĘĄĆŚÓŁŃ]{1}[a-zżźćńółęąś]{2,}$/;
wyn = Form.nazwa.value.match(reg);
if (wyn == null) {
    alert("Proszę podać poprawną nazwę");
    return false;
}
return true;
}
A. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
B. /* Pole nazwa musi składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i dwóch małych liter. */
C. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
D. /* Pole nazwa powinno składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
Weryfikacja pola nazwa przy użyciu wyrażeń regularnych w aplikacji JavaScript jest kluczowym elementem zapewnienia integralności danych wejściowych. Niektóre przedstawione opcje zawierają błędne założenia na temat porządku i wymogów składniowych wzorca. Przykładowo, nieprawidłowe jest założenie, że jedynie dowolny ciąg cyfr (bez zer) wystarczy, ponieważ kod wyraźnie wymaga, aby po cyfrach nastąpiła jedna duża litera, a następnie minimum dwie małe litery. Niezrozumienie tego może prowadzić do błędnych założeń dotyczących logiki walidacji. Niedokładne opisy wzorca mogą prowadzić do błędów w implementacji, co może skutkować działaniem niezgodnym z oczekiwaniami. Ponadto, dobre praktyki programistyczne zawsze sugerują, aby dokumentacja była dokładna i odzwierciedlała rzeczywiste wymagania kodu, co w tym przypadku oznacza precyzyjne określenie kolejności i wymogów dotyczących znaków. Niewłaściwe rozumienie wyrażeń regularnych może również prowadzić do błędów bezpieczeństwa, takich jak podatność na wstrzykiwanie danych, dlatego kluczowe jest poprawne udokumentowanie wzorca, aby zapewnić bezpieczne przetwarzanie danych użytkowników.

Pytanie 15

Aby zdefiniować styl akapitu <p>, który występuje bezpośrednio po znaczniku <img>, należy w arkuszu CSS zastosować selektor:

A.
img > p
B.
img + p
C.
img p
D.
img [p]
Te selektory różnią się rodzajem powiązania między elementami. img p ze spacją to selektor potomka - odnosi się do akapitów znajdujących się wewnątrz obrazu, co jest niemożliwe, bo <img> nie zawiera treści. img > p z operatorem > wybiera bezpośrednie dzieci elementu, więc również szuka <p> w środku <img>. Zapis img [p] jest po prostu błędny - nawiasy kwadratowe w CSS służą do dopasowania po atrybutach, a nie po nazwie znacznika. Akapit stojący tuż za obrazem, jako jego sąsiad, wskazuje selektor img + p z operatorem sąsiedztwa.

Pytanie 16

Aby umożliwić wybór kilku opcji jednocześnie w rozwijanej liście formularza HTML, należy dodać atrybut do znacznika select

Ilustracja do pytania
A. size
B. disabled
C. multiple
D. value
Atrybut size określa, ile opcji w pole listy rozwijalnej będzie widocznych, ale to nie umożliwia zaznaczenia wielu opcji naraz. Użytkownik wciąż może wybrać tylko jedną wartość, a zmiana rozmiaru może wprowadzać w błąd co do tego, jak działa lista. Atrybut value jest z kolei używany w znaczniku option, żeby określić wartość, która trafi na serwer po zaznaczeniu danej opcji, ale zmiana value nie wpływa na wybór wielu opcji. Często ludzie sądzą, że manipulacja tymi wartościami w znaczniku option coś zmienia, ale to błędne. Atrybut disabled sprawia, że lista staje się nieaktywna i użytkownik nie może zaznaczyć żadnych opcji. To ma sens, gdy niektóre opcje są wyłączone. Jak wrzucisz disabled do select, to blokuje całą interakcję i nie da się wybrać wielu opcji. Wybór odpowiednich atrybutów w HTML wymaga zrozumienia, jak to działa, żeby formularze były intuicyjne i faktycznie działały jak trzeba.

Pytanie 17

Co chce osiągnąć poniższe zapytanie MySQL?

ALTER TABLE ksiazki
MODIFY tytul VARCHAR(100) NOT NULL;
A. Zmienić typ kolumny w tabeli ksiazki
B. Dodać do tabeli ksiazki kolumnę tytul
C. Usunąć kolumnę tytul z tabeli ksiazki
D. Zmienić nazwę kolumny w tabeli ksiazki
Rozważając inne odpowiedzi, warto zrozumieć, dlaczego nie są poprawne. Dodanie kolumny do tabeli w SQL realizowane jest za pomocą polecenia ADD, co różni się od użytego tutaj MODIFY. Polecenie ADD jest używane, gdy chcemy wprowadzić nową kolumnę, której wcześniej w tabeli nie było. Z kolei usunięcie kolumny wymaga użycia DROP COLUMN, co także odbiega od przedstawionego polecenia. Polecenie DROP COLUMN jest bardziej destrukcyjne, ponieważ usuwa całą kolumnę i jej dane. Zmiana nazwy kolumny w SQL zazwyczaj wymaga użycia polecenia RENAME, które służy do zmiany nazewnictwa kolumn lub tabel. W zależności od systemu zarządzania bazą danych (DBMS), składnia może się różnić, ale w MySQL często używa się RENAME COLUMN. Błędne rozumienie tych poleceń często wynika z niewystarczającego zapoznania się z dokumentacją danego DBMS, co może prowadzić do zastosowania nieodpowiednich poleceń. Praktyka i znajomość standardów SQL pomagają uniknąć takich pomyłek, zapewniając poprawną i efektywną pracę z bazą danych.

Pytanie 18

Jaką wartość zwróci w PHP funkcja empty($a), gdy zmienna $a ma wartość liczbową 0?

A.
NULL
B.
0
C.
FALSE
D.
TRUE
Pozostałe odpowiedzi błędnie określają wynik. empty() zawsze zwraca wartość logiczną (prawda/fałsz), więc nie odda samej liczby 0 ani NULL. FALSE byłoby poprawne tylko, gdyby zmienna NIE była pusta - tymczasem zero PHP zalicza do wartości pustych, więc funkcja zwraca TRUE. Dla wartości liczbowej 0 wynikiem empty($a) jest TRUE, dlatego ta odpowiedź jest poprawna.

Pytanie 19

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

A. Barwienie.
B. Progowanie.
C. Krzywe.
D. Inwersja.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 20

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 5
B. 3
C. 7
D. 15
Analizując pozostałe odpowiedzi, można zauważyć, że wszystkie one są wynikiem błędnego rozumienia działania algorytmu. Odpowiedź 3 wynika z mylnego założenia, że N po pierwszej iteracji to ostateczna wartość. Przy pierwszej iteracji N wynosi 3, ale w kolejnych iteracjach ulega dalszym modyfikacjom. Odpowiedź 5 może pochodzić z błędnego dodania 1 do wartości N po pierwszej iteracji, co prowadzi do niepełnego zrozumienia pętli. Wartość 7 jest wynikiem niepoprawnego obliczenia po drugiej iteracji, gdy Z wynosi 2, jednak nie uwzględnia trzeciej iteracji. Wszystkie te odpowiedzi ilustrują typowe błędy w logice algorytmicznej, gdzie użytkownicy nie śledzą zmian wartości zmiennych w kolejnych krokach pętli. Kluczowe jest zrozumienie, że każda iteracja pętli wpływa na wynik końcowy poprzez modyfikację zmiennych, co jest niezbędne w programowaniu. Często popełnianym błędem jest zatrzymywanie się na etapie, na którym zmienna wydaje się mieć odpowiednią wartość, co prowadzi do nieuwzględnienia kolejnych obliczeń. Efektywne programowanie wymaga pełnego zrozumienia logiki pętli, a także umiejętności przewidywania dalszych zmian w zmiennych.

Pytanie 21

W bazie danych wykonano następujące polecenia dotyczące uprawnień użytkownika adam. Po ich realizacji użytkownik adam uzyska uprawnienia do

GRANT ALL PRIVILEGES ON klienci TO adam
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam
A. usuwania tabeli lub jej rekordów
B. modyfikowania danych i przeglądania tabeli klienci
C. tworzenia tabeli klienci oraz modyfikowania w niej danych
D. przeglądania tabeli klienci oraz dodawania do niej sektorów
Analizując dostarczone polecenia SQL kluczowe jest zrozumienie jakie uprawnienia zostały przyznane użytkownikowi adam. Polecenie GRANT ALL PRIVILEGES przyznaje pełen zakres uprawnień do tabeli klienci co obejmuje operacje takie jak SELECT INSERT UPDATE DELETE oraz DROP. Jednakże w następnym kroku za pomocą polecenia REVOKE ograniczono specyficzne uprawnienia takie jak SELECT INSERT i UPDATE pozostawiając jedynie te które nie zostały wymienione co w tym przypadku oznacza usunięcie rekordów DELETE oraz całej tabeli DROP. Niezrozumienie znaczenia poszczególnych poleceń SQL oraz ich interakcji prowadzi do błędnych wniosków dotyczących zakresu możliwości użytkownika. Warto zwrócić uwagę że uprawnienia takie jak SELECT umożliwiają jedynie przeglądanie danych co nie jest zgodne z usunięciem danych ani tabeli. Podobnie INSERT pozwala na dodawanie nowych rekordów a nie ich usuwanie. UPDATE z kolei umożliwia modyfikację istniejących danych bez ich usunięcia. W kontekście zarządzania bazą danych ważne jest precyzyjne rozumienie jakie prawa są przyznawane i jakie konsekwencje to niesie dla bezpieczeństwa i operacyjności systemu bazodanowego. Niewłaściwe przypisanie uprawnień może prowadzić do nieautoryzowanego dostępu lub modyfikacji danych co stanowi poważne zagrożenie dla integralności danych oraz stabilności systemu. Zrozumienie różnic między poszczególnymi uprawnieniami jest fundamentalne dla zarządzania bazą danych zgodnie z najlepszymi praktykami branżowymi i standardami bezpieczeństwa informatycznego. Poprawna interpretacja poleceń SQL jest kluczowa dla zapewnienia odpowiedniego poziomu kontroli dostępu i ochrony danych w systemach bazodanowych.

Pytanie 22

Działaniem podanego kodu PHP będzie wypełnienie tablicy

$tab = array();
for ($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}
foreach ($tab as $x) {
    if ($x < 0) {
        echo "$x ";
    }
}
A. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
B. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
C. kolejnymi liczbami od 0 do 9 i ich wypisanie
D. kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
Zakładając, że odpowiedzi są błędne, warto zwrócić uwagę na kilka aspektów. Pierwsza z błędnych odpowiedzi sugeruje, że tablica jest wypełniana kolejnymi liczbami od 0 do 9, co jest niezgodne z zamysłem kodu, gdzie wykorzystywana jest funkcja losująca 'rand', a nie sekwencyjne przypisywanie wartości. W efekcie zamiast wartości od 0 do 9, mamy do czynienia z liczbami losowymi z szerokiego zakresu. Ponadto, druga odpowiedź błędnie interpretuje, że tablica zawiera liczby od -100 do 100. Mimo że możliwe jest, aby tablica zawierała takie liczby, kod nie wypełnia jej w sposób sekwencyjny i nie gwarantuje, że wszystkie wartości będą ujemne. Ostatnia błędna odpowiedź odnosi się do 100 losowych wartości, co również jest niepoprawne, ponieważ w kodzie jedynie 10 losowych wartości jest generowanych i zapisywanych w tablicy. Wreszcie, kod koncentruje się na wypisywaniu wartości ujemnych, dlatego odpowiedzi dotyczące wartości dodatnich są również mylące. Nie można zatem mówić o sytuacji, w której wartości dodatnie są wypisywane, co podkreśla, że analiza i interpretacja kodu są kluczowe dla zrozumienia jego działania.

Pytanie 23

Cechy przedstawione w tabeli dotyczą?

  • Strony ustalają dążenie do konkretnego wyniku
  • Ważny jest efekt pracy, a nie sposób jej realizacji
  • Zleceniodawca przekazuje za wykonawcę zaliczkę na podatek dochodowy
A. umowy o pracę
B. umowy zlecenia
C. umowy o dzieło
D. umowy agencyjnej
Umowa o pracę różni się od umowy o dzieło w kilku kluczowych aspektach. Przede wszystkim, umowa o pracę koncentruje się na procesie wykonywania pracy, a nie tylko na jej rezultacie. Pracownik w ramach umowy o pracę podlega określonym przepisom dotyczącym czasu pracy, urlopów i innych świadczeń pracowniczych, co nie ma miejsca w umowie o dzieło. Z kolei umowa zlecenia także skupia się bardziej na wykonywaniu usług niż na osiąganiu konkretnego rezultatu, co oznacza, że zleceniobiorca powinien wykonać powierzone zadanie z należytą starannością, ale niekoniecznie osiągnąć określony efekt końcowy. Umowa agencyjna jest jeszcze innym typem kontraktu, w którym agent działa na rzecz zleceniodawcy, ale niekoniecznie musi dostarczać konkretny produkt lub usługę końcową. Typowym błędem jest mylenie tych umów z uwagi na podobieństwa w formalnościach czy obowiązkach podatkowych, jednak kluczowe jest zrozumienie różnic w zakresie oczekiwań co do efektu pracy i sposobu jej rozliczania.

Pytanie 24

W bazie danych dotyczącej pojazdów pole kolor w tabeli samochody może mieć wartości jedynie z definicji lakier. Aby nawiązać relację między tabelami samochody a lakier, należy użyć kwerendy

A. ALTER TABLE samochody ADD FOREIGN KEY kolor REFERENCES lakier;
B. ALTER TABLE samochody ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
C. ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
D. ALTER TABLE lakier ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
Odpowiedzi, które nie pasują do zapytania, często wynikają z nieporozumienia dotyczącego koncepcji kluczy obcych oraz ich zastosowania w relacyjnych bazach danych. Na przykład, zmiana struktury tabeli lakier przez dodanie klucza obcego do tabeli samochody nie jest zasadne, ponieważ relacja powinna zostać zdefiniowana w tabeli, która zawiera odwołanie do innej tabeli. Klucz obcy powinien znajdować się w tabeli, której dane są uzależnione od innej tabeli, co nie jest spełnione w tej sytuacji. Innym typowym błędem jest niepoprawne odwołanie się do kolumny w kontekście klucza obcego. Użycie "barwa" lub "kolor", jako klucza obcego w niewłaściwy sposób, prowadzi do sytuacji, gdzie nie można skutecznie zapewnić integralności danych. Należy pamiętać, że klucz obcy odnosi się do kolumny, która pełni rolę klucza głównego w innej tabeli, a w przypadku lakier, kluczem głównym jest lakierId. Stosowanie kluczy obcych nie tylko wspomaga zarządzanie danymi, ale również poprawia ich spójność oraz wiarygodność. Praktyki te są fundamentalnym aspektem projektowania baz danych, które powinny być przestrzegane, aby uniknąć nieporozumień w przyszłości.

Pytanie 25

Tablica tab[] jest wypełniona dowolnymi liczbami całkowitymi. Jaka wartość znajdzie się w zmiennej zm2 po wykonaniu prezentowanego fragmentu kodu?

int tab[10];
int zm1 = 0;
double zm2 = 0;

for (int i=0; i < 10; i++)
{
  zm1 = zm1 + tab[i];
}
zm2 = zm1 / 10;
A. Średnia arytmetyczna elementów tablicy.
B. Średnia geometryczna liczb od 0 do 9.
C. Suma elementów tablicy.
D. Suma liczb od 1 do 10.
Rozważanie sumy liczb z tablicy jako wyniku zmiennej zm2 jest błędne, ponieważ zmienna ta nie przechowuje sumy, lecz średnią arytmetyczną. Suma liczb z tablicy jest przechowywana w zmiennej zm1, co jest zupełnie inną wartością. Średnia arytmetyczna jest definicją statystyczną, która odnosi się do podziału całkowitej wartości (sumy) przez liczbę elementów, co w tym przypadku jest realizowane przez zmienną zm2. Wybierając odpowiedź, która twierdzi, że zm2 to suma liczb od 1 do 10, wprowadza w błąd, ponieważ nie ma to związku z danymi w tablicy tab, która zawiera dowolne liczby całkowite. Inna błędna koncepcja to średnia geometryczna, która jest zupełnie innym typem średniej, obliczaną na podstawie iloczynu wartości, a nie ich sumy. Zrozumienie różnicy między tymi pojęciami jest kluczowe w analizie danych i programowaniu, a także w zastosowaniach matematycznych. Błędy w myśleniu, takie jak pomylenie średniej arytmetycznej z geometryczną, mogą prowadzić do poważnych konsekwencji w analizach danych i wnioskach wyciąganych z nich. Niezrozumienie kontekstu tablicy oraz algorytmu prowadzi do nieprawidłowego interpretowania wyników.

Pytanie 26

Co wchodzi w skład standardowego frameworka?

A. przetwarzanie formularzy oraz wbudowany serwer
B. domena oraz obsługa błędów
C. zarządzanie komunikacją z bazą danych, system uruchamiania i przetwarzania akcji
D. system uruchamiania i przetwarzania akcji oraz certyfikat http
Frameworki aplikacji webowych dostarczają zestawu narzędzi i standardów, które ułatwiają tworzenie oprogramowania. W kontekście tego pytania, zarządzanie komunikacją z bazą danych oraz mechanizm uruchamiania i przetwarzania akcji stanowią kluczowe komponenty każdego frameworka. Zarządzanie komunikacją z bazą danych odnosi się do sposobów, w jakie aplikacja łączy się z bazą danych, wykonuje zapytania i przetwarza wyniki. Przykładowo, w frameworkach takich jak Django czy Ruby on Rails, stosuje się ORM (Object-Relational Mapping), co ułatwia interakcję z bazą danych poprzez obiektowe podejście zamiast pisania surowych zapytań SQL. Mechanizm uruchamiania i przetwarzania akcji opisuje, jak framework interpretuje i obsługuje żądania użytkowników, co obejmuje routing, middleware i obsługę logiki biznesowej. Takie podejście jest zgodne z zasadą DRY (Don't Repeat Yourself), co zwiększa efektywność i jakość kodu w projektach programistycznych.

Pytanie 27

Jakie zapytanie SQL będzie odpowiednie do odnalezienia w podanej tabeli tylko imion oraz nazwisk pacjentów, którzy przyszli na świat przed rokiem 2002?

Ilustracja do pytania
A. SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002
B. SELECT * FROM Pacjenci WHERE rok_urodzenia <= 2002
C. SELECT imie, nazwisko FROM Pacjenci WHERE data_ostatniej_wizyty < 2002
D. SELECT * FROM Pacjenci WHERE rok_urodzenia LIKE 2002
W tym zapytaniu zastosowałeś składnię SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002, co jest super, bo pozwala wyciągnąć tylko te imiona i nazwiska pacjentów, którzy urodzili się przed rokiem 2002. Użycie konkretnych kolumn jak imie i nazwisko zamiast znaku * to niezła sprawa, bo ogranicza wyniki do tego, co naprawdę potrzebujesz. To z kolei może znacząco zwiększyć wydajność przesyłania danych. No i to WHERE rok_urodzenia < 2002 – świetny ruch! Fajnie, że potrafisz filtrować dane według konkretnego warunku. Bez tego miałbyś wszystkie osoby, nie tylko te sprzed 2002 roku. To jest właśnie selekcja warunkowa w SQL, a jej znajomość to podstawa przy analizie danych. Zgadzam się również, że uniknięcie znaków wieloznacznych jak LIKE w tej sytuacji to dobre podejście, bo używasz bezpośrednich porównań liczbowych, co generalnie działa lepiej i daje jaśniejsze wyniki.

Pytanie 28

Która funkcja PHP zamieni słowo „kota” na „mysz” w napisie „ala ma kota”?

A.
replace("kota", "mysz", "ala ma kota");
B.
replace("ala ma kota", "kota", "mysz");
C.
str_replace("ala ma kota", "kota", "mysz");
D.
str_replace("kota", "mysz", "ala ma kota");
Pozostałe zapisy są błędne. Dwa z nich wywołują replace(), a takiej funkcji w PHP nie ma - do podmiany tekstu służy str_replace(). Wariant str_replace("ala ma kota", "kota", "mysz") używa właściwej funkcji, ale w złej kolejności: jako „szukane” podaje cały napis, „zamiennik” to „kota”, a tekstem źródłowym staje się „mysz” - efekt nie będzie taki, jak oczekiwano. Poprawna kolejność to szukane, zamiennik, tekst, czyli str_replace("kota", "mysz", "ala ma kota"), dlatego ostatnia odpowiedź jest poprawna.

Pytanie 29

Aby uzyskać płynne przejście pomiędzy dwoma kolorami w grafice, należy zastosować:

A. gradient
B. filtr szumu
C. antyaliasing
D. pikselizację
Gradient to płynne, stopniowe przejście pomiędzy co najmniej dwoma kolorami. Definiuje się w nim kolory skrajne (i ewentualnie pośrednie) oraz kierunek przejścia - liniowy lub promienisty. Używa się go do teł, przycisków i efektów graficznych, a w CSS dostępny jest m.in. jako linear-gradient. Dlatego do uzyskania płynnego przejścia barw służy gradient.

Pytanie 30

Który komentarz poprawnie opisuje działanie tej funkcji PHP?

function f($a, $b) {
  if ($a == $b) return -1;
  return ($a > $b) ? $a : $b;
}
A.
/* Funkcja zwraca mniejszą z dwóch wartości, a gdy  równe - zwraca $a */
B.
/* Funkcja zwraca większą z dwóch wartości, a gdy  równe - zwraca -1 */
C.
/* Funkcja zwraca większą z dwóch wartości, a gdy  równe - zwraca $a */
D.
/* Funkcja zwraca mniejszą z dwóch wartości, a gdy  równe - zwraca -1 */
Trzeba prześledzić dwie gałęzie funkcji. Wyrażenie ($a > $b) ? $a : $b zwraca WIĘKSZĄ wartość, a nie mniejszą - więc opisy z „mniejszą” są błędne. Dla równych wartości wykonuje się return -1, a nie return $a. Poprawny opis: zwraca większą, a przy równości -1.

Pytanie 31

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia, jak działa relacja klucz główny-klucz obcy w bazach danych. W relacyjnych bazach danych tabele są często powiązane relacjami, gdzie jedna tabela posiada klucz obcy odnoszący się do klucza głównego innej tabeli. W kontekście zapytania SQL, aby poprawnie połączyć tabele i uzyskać odpowiednie dane, musimy użyć klauzuli JOIN z właściwym warunkiem ON. Błędne odpowiedzi pokazują typowe nieporozumienia: jedna z alternatywnych odpowiedzi próbuje połączyć tabele bez użycia klauzuli ON, co prowadzi do błędnych wyników, ponieważ nie określa w jaki sposób rekordy z tabeli Klienci są powiązane z rekordami z tabeli Zgłoszenia. Inna odpowiedź błędnie zakłada, że filtrujemy dane na podstawie id klienta zamiast id zgłoszenia, co prowadzi do nieprawidłowego zestawu wyników niezgodnego z założeniami zadania. Takie błędy mogą wynikać z niedostatecznego zrozumienia struktury bazy danych oraz mechanizmów filtracji i łączenia danych w SQL. Kluczem do poprawnego zapytania jest jasne zrozumienie, jak relacje w bazach danych pozwalają na efektywne łączenie danych i selekcję pożądanych rekordów, co jest podstawą analizy danych i ich raportowania w systemach informacyjnych. Unikanie takich błędów wymaga znajomości syntaktyki SQL i logicznego sposobu myślenia o danych i ich powiązaniach.

Pytanie 32

Informacje o ciasteczkach (cookies) są w PHP przechowywane w tablicy:

A.
$_POST
B.
$_GET
C.
$_SERVER
D.
$_COOKIE
Ciasteczka odesłane przez przeglądarkę PHP udostępnia w tablicy superglobalnej $_COOKIE. Odczytuje się z niej wartość po nazwie, np. $_COOKIE["jezyk"]. Samo ciasteczko ustawia się funkcją setcookie("jezyk", "pl", time()+3600), a serwer wysyła je w nagłówku odpowiedzi; przy kolejnych żądaniach przeglądarka odsyła je z powrotem i trafiają właśnie do $_COOKIE. W praktyce wykorzystuje się je do zapamiętania preferencji użytkownika czy identyfikatora sesji. Dlatego informacje o ciasteczkach przechowuje tablica $_COOKIE.

Pytanie 33

Na czym polega zasada działania algorytmów zachłannych?

A. na przeszukiwaniu danych aż do znalezienia rozwiązania
B. na odwoływaniu się funkcji do samej siebie
C. na dzieleniu problemu na mniejsze podproblemy
D. na wybieraniu rozwiązania najkorzystniejszego na danym etapie
Pozostałe odpowiedzi opisują inne podejścia. Przeszukiwanie danych aż do znalezienia rozwiązania to strategia przeglądania (np. siłowego), a nie zachłanna. Dzielenie problemu na mniejsze podproblemy to technika „dziel i zwyciężaj”, w której wyniki podproblemów się scala. Odwoływanie się funkcji do samej siebie to rekurencja - sposób implementacji, a nie strategia wyboru. Algorytm zachłanny w każdym kroku wybiera lokalnie najlepszą opcję, dlatego ta odpowiedź jest poprawna.

Pytanie 34

Poniżej zaprezentowano fragment kodu w języku HTML:
<ol>
<li>punkt 1</li>
<li>punkt 2</li>
<ul>
<li>podpunkt1</li>
<li>podpunkt2</li>
<li>podpunkt3</li>
</ul>
<li>punkt3</li>
</ol>

A. 1. punkt 1 2. punkt 2 3. punkt3 podpunkt1 podpunkt2 podpunkt1
B. 1. punkt 1 2. punkt 2 podpunkt1 podpunkt2 podpunkt3 punkt3
C. 1. punkt 1 2. punkt 2 podpunkt1 podpunkt2 podpunkt1 3. punkt3
D. punkt 1 punkt 2 podpunkt1 podpunkt2 podpunkt3 punkt3
Fajnie, że wybrałeś poprawną odpowiedź! To pokazuje, że rozumiesz, jak działa struktura list w HTML. W Twoim kodzie mamy uporządkowaną listę z trzema głównymi punktami, co jest świetne. Te pierwsze dwa są dobrze zdefiniowane jako elementy <li>, tak jak powinny być. A w punkcie 2 masz zagnieżdżoną listę nieuporządkowaną, co dodaje trochę ekstra informacji – super sprawa! Pamiętaj, że to zagnieżdżenie ma znaczenie, bo pomaga to w organizacji treści. Każdy podpunkt też jest elementem <li>, więc wszystko się zgadza. Tego typu struktury są mega przydatne, zwłaszcza w spisach treści czy menu nawigacyjnych. Pamiętaj, że dobrze zbudowany HTML jest ważny dla czytelności, a także dla osób, które korzystają z różnych technologii do przeglądania stron. Trzymaj tak dalej!

Pytanie 35

W jaki sposób można w języku CSS ustawić takie stylizowanie tabeli, aby wiersz, na którym obecnie znajduje się kursor myszki, zmieniał kolor tła na szary?

A. tr:hover { color: gray; }
B. tr:active { background-color: gray; }
C. tr:active { color: gray; }
D. tr:hover { background-color: gray; }
Odpowiedź tr:hover { background-color: gray; } jest całkiem trafna. Używasz pseudoklasy :hover, co jest super standardowym podejściem do stylizacji elementów, gdy kursor najedzie na nie. W tabeli to tak działa, że cały wiersz zmienia kolor tła na szary, co znacznie poprawia czytelność i jakby cały interfejs staje się bardziej interaktywny. To jest przydatne w aplikacjach webowych, bo użytkownicy szybko rozumieją, na którym wierszu akurat są. Można jeszcze dodać inne efekty, na przykład zmienić kolor tekstu czy dodać jakies cień. Przykład to jakieś interaktywne tabele w systemach do zarządzania danymi, gdzie jak najeżdżasz na wiersze, to wyświetlają się dodatkowe info lub pozwalają je edytować. Pamiętaj też o dostępności – dobrze jest zadbać o kontrasty kolorystyczne, żeby osoby z dysfunkcjami wzroku mogły z tego korzystać.

Pytanie 36

W SQL wykonano poniższe instrukcje GRANT. Kto będzie miał prawa do przeglądania oraz modyfikacji danych?

GRANT ALL ON firmy TO 'admin'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Tomasz i Anna
B. Tylko Tomasz
C. Adam i Anna
D. Tomasz i Adam
Prawidłowa odpowiedź to Tylko Tomasz ponieważ polecenie GRANT SELECT INSERT UPDATE ON firmy TO 'tomasz'@'localhost' przyznaje Tomaszowi uprawnienia do przeglądania danych i ich zmiany w bazie danych firmy. Uprawnienia SELECT INSERT i UPDATE są wystarczające do przeglądania i modyfikowania danych. SELECT pozwala na odczyt danych z tabeli INSERT umożliwia dodawanie nowych rekordów a UPDATE pozwala na modyfikację istniejących danych. To przyznaje Tomaszowi pełną kontrolę nad przeglądaniem i aktualizacją danych. Inni użytkownicy jak Anna czy Adam nie posiadają wszystkich tych uprawnień. Anna ma jedynie uprawnienia ALTER CREATE i DROP co pozwala na zmianę struktury bazy danych ale nie na przeglądanie i edytowanie danych. Zrozumienie tych różnic jest kluczowe w administracji bazami danych gdyż precyzyjne zarządzanie uprawnieniami użytkowników zapewnia bezpieczeństwo danych i efektywność działania systemu. Tomasz dzięki przyznanym uprawnieniom może efektywnie zarządzać danymi co jest ważnym aspektem w kontekście zarządzania bazami danych w organizacji.

Pytanie 37

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

input[type=submit] {
    background-color: #000000;
    border: none;
    padding: 5px;
} A
input[type=submit] {
    background-color: #ffffff;
    border: none;
    padding: 5px;
} B
input=submit {
    background-color: #000000;
    border: none;
    margin: 5px;
} C
input=submit {
    background-color: #000000;
    border: 0px;
    margin: 5px;
} D
A. B
B. C
C. D
D. A
Odpowiedź A jest na pewno właściwa, bo definiuje styl CSS dla przycisku input o typie submit. Ustawienie background-color na #000000 to kluczowa sprawa, bo w pytaniu wymagano czarnego tła. Dodatkowo użycie selektora input[type=submit] jest naprawdę dobrym pomysłem, bo precyzyjnie wskazuje ten konkretny element formularza. Warto też zauważyć, że border: none; usuwa obramowanie, co zgadza się z wymaganiami. Padding: 5px; dodaje trochę miejsca wewnątrz przycisku, więc tekst nie przylega do krawędzi. Stylowanie przycisków typu submit jest istotne w projektowaniu, bo wpływa na estetykę i funkcjonalność. Nie zapominaj, że CSS daje możliwość naprawdę fajnego dostosowywania wyglądu, co pozwala na stworzenie atrakcyjnych i łatwych w obsłudze elementów. Dobrze jest stosować selektory z wysoką specyficznością i unikać przesadnego używania !important, bo to może skomplikować sprawy związane z kaskadą stylów. Na przykład zmienne CSS mogą pomóc uporządkować kolory w większych projektach, co jest przydatne.

Pytanie 38

Pomiędzy jakimi znakami można umieścić komentarz wieloliniowy w kodzie PHP?

A.
<!-- ... -->
B.
/* ... */
C.
<? ... ?>
D.
/? ... ?/
W PHP komentarz wieloliniowy (blokowy) umieszcza się między /* ... */ - wszystko w środku interpreter pomija, nawet jeśli zajmuje kilka wierszy. Dla komentarzy jednoliniowych PHP udostępnia też // oraz #. Komentarze opisują kod i pomagają go zrozumieć, a także pozwalają tymczasowo wyłączyć fragment bez usuwania. Dlatego komentarz wieloliniowy w PHP zapisuje się jako /* ... */.

Pytanie 39

Dokument HTML określa akapit oraz obrazek. Aby obrazek był wyświetlany przez przeglądarkę w tej samej linii co akapit po jego lewej stronie, należy w stylu CSS obrazka uwzględnić właściwość

A. align: left;
B. float: left;
C. alt: left;
D. style: left;
Odpowiedź "float: left;" jest naprawdę trafna. Ta właściwość w CSS sprawia, że elementy układają się obok siebie, co w tym przypadku oznacza, że rysunek wyląduje po lewej stronie akapitu. Jak użyjemy float, to rysunek 'przesuwa się' na lewo, a tekst z akapitu otacza go z prawej strony. To taki popularny sposób w webdesignie, który pozwala na ładniejsze połączenie obrazków z tekstem. Warto pamiętać, że czasem trzeba zastosować clearfix, zwłaszcza gdy mamy pływające elementy w większym układzie, żeby uniknąć problemów z rozmieszczeniem. Stosowanie float w CSS to dobra praktyka, bo pomaga zachować czytelność i estetykę tekstu. Na przykład, jeśli mamy sekcję artykułu z obrazem, który ilustruje omawiany temat, to zastosowanie float: left; sprawi, że treść będzie ładnie się układać i poprawi wrażenia użytkownika.

Pytanie 40

Aby przyspieszyć ładowanie strony z dużą grafiką (2000×760 px), należy zmniejszyć jej rozmiar:

A. za pomocą atrybutów HTML
B. właściwością CSS w procentach
C. właściwością CSS w pikselach
D. w programie graficznym
Pozostałe sposoby nie zmniejszają tego, co przeglądarka musi pobrać. Atrybuty HTML (width/height) oraz właściwości CSS - czy to w pikselach, czy w procentach - sterują tylko rozmiarem wyświetlania obrazu na ekranie. Plik źródłowy nadal waży tyle samo i w całości jest ściągany, więc czas ładowania się nie poprawia, a obraz bywa dodatkowo skalowany „w locie”. Realne przyspieszenie daje zmniejszenie wymiarów i kompresja pliku w programie graficznym, dlatego to ta odpowiedź jest poprawna.