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: 4 maja 2026 22:42
  • Data zakończenia: 4 maja 2026 22:53

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

Wymagane minimum: 20 punktów (50%)

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

W programie Microsoft Access metodą zabezpieczającą dostęp do danych związanych z tabelą oraz kwerendą jest

A. nałożenie limitów przestrzeni dyskowej
B. przydzielenie uprawnień
C. ustalanie przestrzeni tabel
D. użycie makr
Przypisanie uprawnień w programie Microsoft Access jest kluczowym mechanizmem zabezpieczającym dostęp do danych w tabelach i kwerendach. Uprawnienia definiują, kto ma dostęp do jakich zasobów oraz jakie operacje mogą być na nich wykonywane, co jest istotne w kontekście ochrony danych przed nieautoryzowanym dostępem. W Microsoft Access uprawnienia można przydzielać na poziomie użytkownika lub grupy użytkowników, co umożliwia granularne zarządzanie dostępem. Przykładem może być sytuacja, w której administrator przydziela uprawnienia do odczytu, edycji lub usuwania danych tylko wybranym użytkownikom, co jest niezbędne w środowiskach, gdzie dane są wrażliwe i wymagają ochrony. Przypisanie uprawnień opiera się na standardzie modelu kontroli dostępu, który definiuje zasady dotyczące uprawnień oraz poziomów dostępu. W praktyce, proces ten obejmuje tworzenie ról użytkowników oraz przypisywanie im odpowiednich uprawnień, co wspiera zgodność z regulacjami prawnymi dotyczącymi ochrony danych osobowych, takimi jak RODO.

Pytanie 2

Funkcją przedstawionego 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. Kolejnymi liczbami od 0 do 9 i wypisanie ich
B. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
C. Kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
D. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
Kod w języku PHP użyty w pytaniu generuje tablicę o rozmiarze 10, wypełniając ją losowymi wartościami w zakresie od -100 do 100. Służy do tego funkcja rand(), która generuje liczby pseudolosowe. Następnie kod przechodzi przez każdą wartość tablicy przy użyciu pętli foreach i sprawdza czy wartość jest mniejsza od zera. Jeśli tak, wyświetla ją na ekranie za pomocą funkcji echo. To podejście pozwala na łatwe filtrowanie i wyświetlanie tylko tych wartości, które spełniają określone kryteria, co jest częstą praktyką w analizie danych. Przykładowe zastosowania tego rodzaju kodu można spotkać w systemach, które wymagają analizy danych statystycznych, takich jak badanie trendów w danych finansowych czy analizie wyników testów. Standardy programistyczne sugerują, aby kod był czytelny i dobrze udokumentowany, co zwiększa jego zrozumiałość i ułatwia późniejszą konserwację. Podczas pracy z funkcją rand() pamiętaj, że generowane liczby są pseudolosowe, co oznacza, że przy każdym uruchomieniu tego samego skryptu wyniki mogą się różnić. Prawidłowe użycie pętli i instrukcji warunkowych jest kluczowe w efektywnym przetwarzaniu danych w języku PHP.

Pytanie 3

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

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

Pytanie 4

Jakie będzie rezultatem działania poniższego kodu PHP?

$a = $c = true; 
$b = $d = false;
if(($a && $b) || ($c && $d)) echo 'warunek1';
elseif(($a && $b) || ($c || $d)) echo 'warunek2';
elseif(($c && $d) || (!$a)) echo 'warunek3';
else echo 'warunek4';
A. warunek1
B. warunek2
C. warunek4
D. warunek3
Analizowany kod PHP to przykład użycia operatorów logicznych w strukturze sterującej if-else, gdzie każda z odpowiedzi reprezentuje wynik działania konkretnego bloku kodu. Zmienna $a i $c są zainicjalizowane jako true, natomiast $b i $d jako false. Zrozumienie tego jest kluczowe dla poprawnej analizy logicznej. Pierwszy warunek if z ($a && $b) || ($c && $d) nie zostaje spełniony, ponieważ zarówno (true && false) jak i (true && false) zwracają false, co skutkuje false || false, czyli false. Kolejna sekcja elseif obejmuje ($a && $b) || ($c || $d). Tutaj (true && false) zwraca false, ale (true || false) daje true, co prowadzi do false || true, czyli true, co spełnia warunek i 'warunek2' zostaje wyświetlony. Trzeci warunek elseif, sprawdzający ($c && $d) || (!$a), nie jest rozpatrywany, ponieważ poprzedni warunek był już true. Warto podkreślić znaczenie logicznych operatorów w programowaniu: && i || odpowiadają za łączenie warunków, a ich poprawne zrozumienie pozwala na efektywne modelowanie logiki aplikacji. Typowym błędem jest mylenie znaczenia tych operatorów, co może prowadzić do błędnych decyzji warunkowych w kodzie. Programiści powinni zawsze upewniać się, że logika warunków jest zgodna z zamierzonym działaniem programu, a testowanie jest kluczowym elementem tego procesu. Zastosowanie testów jednostkowych może pomóc w zapewnieniu prawidłowego działania skomplikowanych struktur logicznych, pozwalając na wykrycie i korektę potencjalnych błędów logicznych.

Pytanie 5

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia klienta z serwerem oraz umożliwia wymianę danych bez konieczności przeładowania całej strony WWW?

A. PHP
B. AJAX
C. VBScript
D. XML
AJAX, czyli Asynchronous JavaScript and XML, to technika umożliwiająca asynchroniczną komunikację pomiędzy klientem a serwerem bez potrzeby przeładowania całej strony WWW. Umożliwia to tworzenie bardziej responsywnych i interaktywnych aplikacji internetowych. Przykładem zastosowania AJAX może być formularz kontaktowy, który po wypełnieniu wysyła dane do serwera i otrzymuje odpowiedź bez odświeżania całej strony, co poprawia doświadczenie użytkownika. Technologia ta wykorzystuje XMLHttpRequest lub Fetch API do przesyłania i odbierania danych w formacie JSON, co jest bardziej efektywne niż tradycyjne metody. AJAX jest szeroko stosowany w aplikacjach typu single-page, gdzie szybkość i wydajność są kluczowe. Warto również zwrócić uwagę na bezpieczeństwo przy korzystaniu z AJAX, takie jak walidacja danych wejściowych oraz ochrona przed atakami XSS i CSRF, które są standardami w branży.

Pytanie 6

Tabele Osoby i Adresy są połączone relacją jeden do wielu. Jakie zapytanie SQL należy zapisać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;
B. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
C. SELECT nazwisko, Miasto FROM Osoby, Adresy;
D. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
Prawidłowa odpowiedź opiera się na instrukcji SELECT z użyciem JOIN, co jest bardzo ważne przy pracy z relacyjnymi bazami danych. W tym przypadku, zapytanie SELECT jest używane do wyboru dwóch kolumn - 'nazwisko' i 'Miasto' - z połączonych tabel 'Osoby' i 'Adresy'. Wykorzystuje się tutaj złączenie (JOIN), które jest kluczowym konceptem w SQL umożliwiającym łączenie danych z różnych tabel w jednym zapytaniu. Odpowiednia składnia JOIN wymaga określenia dwóch tabel do połączenia oraz warunku łączenia, który w tym przypadku jest 'Osoby.Adresy_id = Adresy.id'. Ten warunek oznacza, że rekordy z obu tabel będą połączone, gdy wartość kolumny 'Adresy_id' w tabeli 'Osoby' będzie równa wartości kolumny 'id' w tabeli 'Adresy'. Jest to typowe użycie klucza obcego ('Adresy_id') do odwołania się do klucza głównego w innej tabeli ('id' w tabeli 'Adresy'). To jest dobry przykład pokazujący, jak praktycznie wykorzystuje się relacje pomiędzy tabelami w SQL.

Pytanie 7

Proces przetwarzania sygnału wejściowego w czasie, wykorzystujący zasadę superpozycji, jest związany z filtrem

A. przyczynowym
B. liniowym
C. o skończonej odpowiedzi impulsowej
D. niezmiennym w czasie
Filtr liniowy to taki, który w procesie przetwarzania sygnału spełnia zasadę superpozycji. Oznacza to, że wynik działania filtru na sumie sygnałów wejściowych jest równy sumie wyników działania filtru na poszczególne sygnały. W praktyce, filtry liniowe są powszechnie stosowane w różnych zastosowaniach, takich jak audio, telekomunikacja czy przetwarzanie obrazu, co wynika z ich zdolności do efektywnej analizy sygnałów. Przykładowo, w systemach audio, filtry liniowe mogą być używane do eliminacji szumów czy wzmacniania określonych częstotliwości, co pozwala na uzyskanie lepszej jakości dźwięku. Zgodnie z dobrą praktyką inżynieryjną, projektowanie filtrów liniowych opiera się na zrozumieniu ich charakterystyki częstotliwościowej oraz odpowiedzi impulsowej, co jest kluczowe dla osiągnięcia zamierzonych efektów w przetwarzaniu sygnałów.

Pytanie 8

Upload danych to termin, który oznacza

A. trasę transferu pliku.
B. opóźnienie w transmisji pliku.
C. pobieranie plików z serwera.
D. przesyłanie plików na serwer.
Pojęcie „upload danych” w praktyce oznacza wysyłanie, czyli przesyłanie plików lub innych danych z komputera klienta (Twojego urządzenia) na zdalny serwer albo do chmury. W typowym środowisku webowym klientem jest przeglądarka lub aplikacja, a serwerem – np. serwer HTTP, FTP, serwer aplikacyjny czy usługa w chmurze typu AWS S3 czy Google Drive. W standardowym modelu klient–serwer upload to ruch „w górę” – od użytkownika do usługi sieciowej. Download jest odwrotnością, czyli pobieraniem danych z serwera na komputer użytkownika. W protokołach takich jak HTTP upload odbywa się najczęściej poprzez żądania POST lub PUT, gdzie treść wysyłana jest w body requestu. W formularzach HTML odpowiada za to atrybut enctype="multipart/form-data" oraz odpowiednia konfiguracja input type="file". To właśnie wtedy następuje upload pliku – plik z Twojego dysku jest przesyłany na serwer, który może go zapisać w systemie plików, w bazie danych lub przetworzyć w inny sposób. W FTP termin upload jest wręcz podstawowy: komenda STOR służy do wysyłania pliku na serwer. Z mojego doświadczenia warto kojarzyć upload również z kwestiami bezpieczeństwa i wydajności. Dobrą praktyką jest ograniczanie maksymalnego rozmiaru przesyłanych plików, filtrowanie rozszerzeń, skanowanie antywirusowe oraz walidacja typu MIME, żeby nie dopuścić do wgrania złośliwych skryptów. W regulaminach usług i politykach RODO często pojawia się też zapis, że użytkownik jest odpowiedzialny za dane, które uploaduje na serwer. W pracy admina czy programisty webowego umiejętność poprawnej obsługi uploadu (limit czasu, przerwane połączenie, obsługa błędów) jest absolutnie standardem branżowym i jednym z podstawowych elementów każdej poważniejszej aplikacji internetowej.

Pytanie 9

W kontekście CSS atrybut font-size może przyjmować wartości zgodnie z nazwami kluczowymi

A. wyłącznie small, medium, large
B. z zestawu xx-small, x-small, small, medium, large, x-large, xx-large
C. tylko small, smaller, large, larger
D. jedynie big oraz small
Właściwość font-size w CSS to naprawdę ważny aspekt, gdy chodzi o stylizację tekstów na stronach. Trzeba mieć na uwadze, że odpowiadając na pytania, nie możesz ograniczać się tylko do 'big' i 'small' albo 'small', 'medium' i 'large'. To jest trochę za mało, bo CSS ma znacznie więcej wartości, które są potrzebne do prawidłowego działania. Słowa takie jak 'smaller' czy 'larger' też mogą wprowadzać w błąd, ponieważ są to terminy relatywne i nie da się ich używać bez ustalenia bazowego rozmiaru czcionki. Co to oznacza? To, że te jednostki nie są takie uniwersalne. Jeśli będziesz korzystać tylko z ograniczonego zestawu wartości, to możesz mieć kłopoty z responsywnością w projektowaniu, gdzie różnorodność jest kluczowa. Żeby projekt wyglądał dobrze, trzeba trzymać się pełnych specyfikacji CSS, czyli tych wszystkich wartości, jak xx-small, x-small, small, medium, large, x-large i xx-large. Ignorowanie tych standardów wpłynie nie tylko na estetykę, ale też na to, jak użytkownicy będą korzystać ze stron.

Pytanie 10

Jakie mechanizmy powinno się wykorzystać do stworzenia ankiety w języku działającym po stronie serwera, tak aby wyniki były zapisane w postaci małego pliku u użytkownika?

A. bazy danych SQL
B. tablicy globalnej $_FILES
C. ciasteczek
D. sesji
Przy wyborze nieodpowiednich mechanizmów do przechowywania wyników ankiety, warto zrozumieć, dlaczego inne opcje nie są właściwe. Używanie tablicy globalnej $_FILES jest całkowicie niewłaściwe, ponieważ ta tablica służy do obsługi przesyłanych plików, a nie do przechowywania danych w formie ankiety. Z kolei sesje, mimo że pozwalają na przechowywanie danych użytkownika w kontekście danej sesji, są bardziej odpowiednie do przechowywania tymczasowych informacji, które nie wymagają długoterminowego przechowywania. W przypadku ankiety, gdzie istotne jest zachowanie wyników pomiędzy różnymi sesjami, sesje mogą być nieefektywne i prowadzić do ich utraty po zakończeniu sesji przeglądarki. Bazy danych SQL, chociaż są potężnym narzędziem do przechowywania danych, wymagają większej złożoności w implementacji oraz zarządzaniu danymi, co może być zbędne w przypadku prostych ankiet, gdzie ciasteczka mogą spełnić wystarczające wymagania. Typowym błędem myślowym jest zakładanie, że każda forma przechowywania danych wymaga skomplikowanej infrastruktury, podczas gdy w wielu przypadkach prostsze rozwiązania, takie jak ciasteczka, oferują wystarczającą funkcjonalność w bardziej ergonomicznym podejściu do programowania aplikacji webowych.

Pytanie 11

Wskaź poprawną formę kodowania polskich znaków w pliku HTML?

A. <meta "content=UTF-8">
B. <meta content='UTF8'>
C. <meta char set= "UTF-8">
D. <meta charset="UTF-8">
Widzę, że wybrałeś niepoprawną odpowiedź. Może to być przez jakieś niejasności związane z deklaracją kodowania w HTML. Odpowiedzi takie jak <meta content='UTF8'> czy <meta "content=UTF-8"> są błędne, bo nie trzymają się właściwego formatu HTML. Pierwsza z tych opcji nie ma poprawnego atrybutu 'charset' i brakuje jej myślnika w kodowaniu. Druga też ma problem, bo nie stosuje zasad dotyczących cudzysłowów i źle używa atrybutów, co może prowadzić do złego parsowania przez przeglądarki. Jeszcze w odpowiedzi <meta char set="UTF-8"> jest błąd w nazwie atrybutu; 'char set' powinno być razem jako 'charset'. Takie detale mogą powodować problemy z wyświetlaniem treści, zwłaszcza gdy strona zawiera znaki spoza podstawowego zestawu ASCII. Często ludzie nie zdają sobie sprawy, że złe kodowanie może prowadzić do nieczytelnym znaków i problemów z wyświetlaniem. Dlatego ważne jest, żeby poprawnie ustawić charset w nagłówku HTML, żeby treści były dobrze interpretowane na różnych urządzeniach i przeglądarkach, co teraz jest kluczowe, biorąc pod uwagę globalizację i różnorodność językową.

Pytanie 12

Metoda w języku PHP, która pełni rolę konstruktora, nosi nazwę

A. _open
B. _construct
C. _new
D. _create
Wybór innych opcji jako nazw konstruktorów w PHP zdradza pewne nieporozumienia co do zasad programowania obiektowego oraz właściwego użycia specjalnych metod w tym języku. Opcja _open sugeruje, że konstruktor mógłby być nazwany w sposób, który sugerowałby otwieranie zasobów, co nie jest zgodne z konwencją. W PHP nie istnieje funkcja o takiej nazwie, co może prowadzić do błędów w kodzie. Z kolei _new kojarzy się z procesem tworzenia instancji obiektów, jednak w PHP nie jest to odpowiednia nazwa dla konstruktora, ponieważ _new nie jest zdefiniowane jako metoda. Może to wprowadzać w błąd, sugerując, że istnieje alternatywna metoda do tworzenia obiektów, podczas gdy w rzeczywistości odpowiedzialna za to jest konstrukcja `new`. Ostatnia opcja, _create, również wprowadza nieporozumienie, sugerując, że istnieje metoda, która specjalizuje się w tworzeniu obiektów, co nie jest zgodne z konwencjami PHP. W kontekście dobrych praktyk programistycznych kluczowe jest, aby być świadomym poprawnych konwencji nazw oraz ich znaczenia w programowaniu obiektowym. Prawidłowa implementacja konstruktora i znajomość jego nazwy są fundamentalne dla prawidłowego zarządzania obiektami oraz ich właściwościami w kodzie.

Pytanie 13

W instrukcji warunkowej języka JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w zakresie (0, 100), a wartość zmiennej b jest większa od zera. Taki warunek można zapisać w sposób następujący

A. if (a>0 || a<100 || b<0)
B. if ((a>0 && a<100) || b<0)
C. if ((a>0 || a<100) && b>0)
D. if (a>0 && a<100 && b>0)
Wybór odpowiedzi 'if (a>0 && a<100 && b>0)' jest prawidłowy, ponieważ precyzyjnie spełnia określone wymagania zawarte w pytaniu. Warunek ten sprawdza, czy zmienna 'a' mieści się w przedziale od 0 do 100 (wyłączając 0 i 100), a także potwierdza, że zmienna 'b' jest większa od zera. Operator '&&' (AND) jest kluczowy w tym przypadku, ponieważ wymaga spełnienia wszystkich zdefiniowanych warunków jednocześnie. Przykładowo, jeśli mamy zmienne 'a' równe 50 i 'b' równe 10, to warunek zostanie spełniony i kod wewnątrz instrukcji 'if' zostanie wykonany. Zastosowanie takich warunków jest powszechne w programowaniu, zwłaszcza w sytuacjach wymagających walidacji danych, gdzie musimy upewnić się, że wszystkie kryteria są spełnione przed kontynuowaniem dalszych operacji. Standardy kodowania zalecają wykorzystanie prostych i jednoznacznych instrukcji warunkowych, co przyczynia się do lepszej przejrzystości i utrzymywalności kodu. Stosując odpowiednią logikę w warunkach, minimalizujemy ryzyko wystąpienia błędów w logice aplikacji.

Pytanie 14

Jakie imiona spełniają warunek klauzuli LIKE w poniższym zapytaniu: SELECT imię FROM mieszkańcy WHERE imię LIKE '_r%';?

A. Arieta, Krzysztof, Krystyna, Tristan
B. Gerald, Jarosław, Marek, Tamara
C. Krzysztof, Krystyna, Romuald
D. Rafał, Rebeka, Renata, Roksana
W przypadku innych odpowiedzi pojawia się kilka istotnych błędów interpretacyjnych związanych z wykorzystaniem klauzuli LIKE. Po pierwsze, w imionach takich jak 'Rafał', 'Rebeka', 'Renata', 'Roksana', choć wszystkie zawierają 'r', to nie znajdują się one na drugiej pozycji, co jest kluczowym kryterium w zapytaniu. Warto zaznaczyć, że znak podkreślenia (_) w klauzuli LIKE reprezentuje pojedynczy znak, a więc jego lokalizacja jest istotna. W kontekście imion 'Gerald', 'Jarosław', 'Marek', 'Tamara', imiona te nie mają 'r' na drugiej pozycji, co również czyni je nieprawidłowymi odpowiedziami. Typowym błędem jest ignorowanie lokalizacji znaków w wzorcach, co prowadzi do błędnych wniosków. Niektórzy mogą również błędnie skupić się na obecności litery 'r' gdziekolwiek w imieniu, co nie jest zgodne z tym, co wskazuje zapytanie. Zrozumienie zasadności klauzuli LIKE oraz umiejętność czytania i interpretacji wzorców jest kluczowe dla skutecznej pracy z bazami danych. Dlatego, aby unikać takich pomyłek, warto regularnie ćwiczyć zapytania SQL, a także zapoznawać się z dokumentacją techniczną baz danych.

Pytanie 15

Na ilustracji zaprezentowano koncepcję układu bloków strony internetowej. Przyjmując, że bloki są realizowane za pomocą znaczników sekcji, a szerokość jest określona tylko dla bloków 2, 3 oraz 4, ich stylowanie powinno uwzględniać właściwość

Ilustracja do pytania
A. float: left jedynie dla bloków 3 i 4 oraz clear: both dla bloku 2
B. clear: both dla bloku 5 i float: left jedynie dla bloków 2, 3 oraz 4
C. float: left dla wszystkich bloków
D. clear: both dla wszystkich bloków
Stosowanie float: left dla wszystkich bloków jest nieprawidłowe, ponieważ prowadziłoby do nieprzewidywalnego zachowania bloków 1 i 5, które powinny być pełnej szerokości strony. Użycie float: left dla bloku 1 oznaczałoby, że jego miejsce w układzie zależałoby od szerokości i pozycji innych pływających elementów. Podobnie blok 5 potrzebuje wyraźnej separacji od pływających elementów powyżej, co osiągamy dzięki clear: both. Użycie clear: both dla wszystkich bloków odwołuje się do nieprawidłowej koncepcji, ponieważ blokowałoby to pływanie, co jest kluczowe dla tworzenia układów wielokolumnowych. Clear: both zmusza element do rozpoczęcia pod pływającymi elementami, co oznacza, że bloki 2, 3 i 4 nie mogłyby być ustawione obok siebie, co nie spełnia wymagań projektu. Rozważenie float: left jedynie dla bloków 3 i 4 i clear: both dla bloku 2 zaburzyłoby logiczny ciąg layoutu ze względu na fizyczne blokowanie się bloków, co wywołałoby niepożądane przesunięcia i brak przewidywalności w wyświetlaniu. Zastosowanie float w celu tworzenia układów kolumnowych wymaga precyzyjnego zarządzania pływającymi elementami, a niepoprawne użycie właściwości clear może prowadzić do problemów z dostępnością i użytecznością strony. Dlatego właściwe zrozumienie tych koncepcji jest kluczowe w tworzeniu efektywnych i responsywnych projektów internetowych, zgodnych z oczekiwaniami użytkowników oraz standardami branżowymi.

Pytanie 16

SELECT miasto, AVG(pensja) FROM pracownicy GROUP BY miasto;
Podane zapytanie wybierze:
A. nazwy miast z powtórzeniami oraz średnią pensję dla każdego z nich.
B. nazwy miast z powtórzeniami oraz sumę pensji dla każdego z nich.
C. nazwy miast bez powtórzeń oraz średnią pensję dla każdego z nich.
D. nazwy miast bez powtórzeń oraz sumę pensji dla każdego z nich.
Zapytanie z klauzulą GROUP BY i funkcją AVG bywa mylone z sumowaniem danych lub zwykłym wybieraniem rekordów jeden po drugim. W tym konkretnym przypadku bardzo łatwo pomylić średnią z sumą albo nie zauważyć, że grupowanie usuwa powtórzenia wartości w kolumnie grupującej. Warto to uporządkować. Funkcja AVG(pensja) jest klasyczną funkcją agregującą, której zadaniem jest obliczenie średniej arytmetycznej z wartości w danej grupie rekordów. Nie dodaje ona wszystkich pensji „na kupę” tak jak SUM, tylko dzieli ich sumę przez liczbę rekordów w grupie. Jeżeli ktoś spodziewa się sumy, to patrzy bardziej w stronę SUM(pensja), a nie AVG(pensja). To jest typowy błąd: widzimy funkcję agregującą i automatycznie myślimy „to pewnie suma”, bez dokładnego przeczytania nazwy funkcji. Druga kwestia to powtórzenia miast. Klauzula GROUP BY miasto mówi silnikowi bazy danych: pogrupuj wszystkie wiersze według wartości w kolumnie miasto. W efekcie wszystkie rekordy z tym samym miastem są łączone w jedną grupę. Dla każdej takiej grupy zwracany jest dokładnie jeden wiersz wyniku. To oznacza, że w rezultacie zapytania nie ma powtórzonych nazw miast, nawet jeśli w tabeli jest tysiąc pracowników z Warszawy czy Krakowa. Częsty błąd myślowy polega na przenoszeniu intuicji z prostego SELECT bez GROUP BY, gdzie miasto faktycznie się powtarza, na zapytanie z agregacją, gdzie logika jest już inna. W odpowiedziach, które sugerują „z powtórzeniami”, ignorowane jest działanie GROUP BY. Z kolei odpowiedzi mówiące o „sumie pensji” mylą AVG z SUM, co w praktyce może prowadzić do bardzo poważnych błędów analitycznych – wyobraź sobie raport płacowy, w którym zamiast średniej ktoś pokaże sumę wynagrodzeń i na tej podstawie będzie porównywał miasta. Moim zdaniem dobrą praktyką jest zawsze czytanie zapytania fragment po fragmencie: najpierw jakie kolumny są wybierane, potem jakie funkcje agregujące są użyte, a na końcu po czym następuje grupowanie. Taka metoda pozwala uniknąć właśnie takich nieporozumień i lepiej rozumieć, co dokładnie zwróci baza danych, co jest kluczowe przy pracy z realnymi systemami produkcyjnymi.

Pytanie 17

Do jakich celów wykorzystywany jest certyfikat SSL?

A. do eliminowania złośliwego oprogramowania na stronie
B. do przechowywania informacji o sesjach tworzonych na stronie
C. do deszyfrowania przesyłanych danych
D. w celu identyfikacji właściciela domeny
Certyfikat SSL (Secure Sockets Layer) jest kluczowym elementem zapewniającym bezpieczeństwo komunikacji w Internecie. Jego podstawową funkcją jest zidentyfikowanie właściciela domeny oraz potwierdzenie tożsamości serwera, co jest niezwykle istotne w kontekście ochrony danych przesyłanych pomiędzy użytkownikiem a witryną. Certyfikat SSL działa na zasadzie kryptografii asymetrycznej, co oznacza, że każdy certyfikat posiada unikalny klucz publiczny i prywatny. Użytkownicy mogą być pewni, że komunikują się z właściwym serwerem, co zapobiega atakom typu 'man-in-the-middle'. Przykładem zastosowania certyfikatu SSL jest jego wykorzystanie w sklepach internetowych, gdzie dane osobowe oraz informacje o płatnościach są przesyłane w sposób zabezpieczony. Zgodność z standardami bezpieczeństwa, takimi jak PCI DSS, również wymaga użycia certyfikatów SSL. Dlatego wdrożenie certyfikatu SSL jest nie tylko najlepszą praktyką, ale również wymogiem dla wielu typów działalności online.

Pytanie 18

Wskaż znacznik, który umożliwia zapis tekstu, który jest niepoprawny lub niewłaściwy, w formie przekreślonej?

A. <sub> </sub>
B. <b> </b>
C. <em> </em>
D. <s> </s>
<s> jest znacznikiem HTML, który służy do oznaczania tekstu jako przekreślonego, co wskazuje na to, że dany fragment tekstu jest nieprawidłowy lub nieaktualny. Zastosowanie tego znacznika ma na celu poprawę czytelności oraz zrozumiałości treści, informując użytkowników o tym, że pewne informacje są już nieaktualne. Użycie <s> w dokumentach HTML jest zgodne z wytycznymi W3C, co zapewnia jego wszechstronność w kontekście standardów sieciowych. Przykładem zastosowania tego znacznika może być sytuacja, gdy na stronie internetowej prezentowane są wyniki, a niektóre z nich uległy zmianie, na przykład: <s>Stara cena: 100 PLN</s> Nowa cena: 80 PLN. W ten sposób użytkownicy mają jasny obraz, co uległo zmianie. Warto również dodać, że zastosowanie <s> może mieć zastosowanie w kontekście SEO, gdyż poprawia dostępność treści dla osób korzystających z technologii wspomagających, co może pozytywnie wpłynąć na ranking strony w wynikach wyszukiwania.

Pytanie 19

Jakie polecenie należy zastosować, aby naprawić bazę danych w MySQL?

A. CHANGE
B. REPAIR
C. FIX
D. UPDATE
Aby naprawić bazę danych w MySQL, służy polecenie REPAIR TABLE, które jest kluczowe w przypadku uszkodzonych tabel. Działa to w taki sposób, że przeszukuje strukturę tabeli oraz jej indeksy, a następnie próbuje naprawić wszelkie problemy, które mogły wystąpić. REPAIR TABLE można stosować w różnych sytuacjach, takich jak usunięcie zduplikowanych danych, naprawa uszkodzonych indeksów czy odbudowa tabel po awarii. Przykładowo, jeśli napotykasz na błąd, mówiący o tym, że tabela jest uszkodzona, wystarczy wydać polecenie 'REPAIR TABLE nazwa_tabeli;', aby spróbować ją naprawić. Warto także zaznaczyć, że polecenie to działa tylko na typach tabel MyISAM. W przypadku innych silników baz danych, takich jak InnoDB, należy stosować inne metody przywracania danych, które często opierają się na zrzutach bazy danych oraz mechanizmie odzyskiwania. Standardy MySQL jasno określają, że REPAIR TABLE jest istotnym narzędziem w arsenale administracyjnym, dlatego każdemu, kto pracuje z tym systemem, zaleca się zapoznanie z jego działaniem.

Pytanie 20

Znacznik <s> w HTML skutkuje

A. pochylaniem tekstu
B. przekreślaniem tekstu
C. podkreślaniem tekstu
D. migotaniem tekstu
Znacznik <s> w HTML jest używany, żeby pokazać tekst, który jest przekreślony. To zazwyczaj oznacza, że coś jest już nieaktualne lub błędne. W HTML5 ten znacznik jest semantyczny, więc poprawia czytelność strony i ułatwia korzystanie z niej. Na przykład, jeśli autor tekstu chce zaznaczyć, że cena produktu się zmieniła, to mogą użyć <s>, żeby pokazać starą cenę, jak <s>100 zł</s> obok nowej <strong>80 zł</strong>. Dzięki temu przeglądarki dobrze to wyświetlają, a to jest fajne w kontekście zakupów online, blogów czy dokumentacji. Dodatkowo, użycie <s> może pomóc w SEO, bo lepiej oznaczony tekst jest łatwiejszy do zrozumienia dla wyszukiwarek, co może przyciągnąć więcej osób na stronę.

Pytanie 21

W skrypcie PHP konieczne jest stworzenie cookie o nazwie owoce, które przyjmie wartość jabłko. Cookie powinno być dostępne przez jedną godzinę od momentu jego utworzenia. W tym celu w skrypcie PHP należy wykorzystać funkcję:

A. cookie("owoce","jabłko",3600);
B. setcookie("jabłko","owoce",time()+3600);
C. setcookie("owoce","jabłko",time()+3600);
D. cookie("jabłko","owoce",3600);
Funkcja setcookie w PHP jest kluczowym narzędziem do zarządzania ciasteczkami, a w szczególności do ich tworzenia. W przypadku prawidłowej odpowiedzi, setcookie("owoce","jabłko",time()+3600) poprawnie ustawia nazwę ciasteczka na 'owoce', przypisując mu wartość 'jabłko'. Funkcja time() zwraca aktualny czas w sekundach od 1 stycznia 1970 roku, a dodanie 3600 do tej wartości ustawia czas wygaśnięcia ciasteczka na jedną godzinę od momentu jego utworzenia. Jest to standardowa praktyka, by zapewnić, że cookie będzie dostępne przez określony czas. W kontekście aplikacji webowych, cookies są często wykorzystywane do przechowywania informacji o preferencjach użytkowników, sesjach logowania czy koszykach zakupowych. Ważne jest, aby przy tworzeniu ciasteczek upewnić się, że nazwa i wartość są odpowiednio sformatowane, a czas wygaśnięcia jest zgodny z oczekiwaniami. Prawidłowe zarządzanie ciasteczkami przyczynia się do lepszej interakcji z użytkownikami oraz zwiększa wydajność aplikacji.

Pytanie 22

Rozmycie Gaussa, wygładzanie oraz szum RGB to funkcje wykorzystywane w programach do obróbki

A. dźwięku w formacie MIDI
B. grafiki rastrowej
C. grafiki wektorowej
D. ścieżki dźwiękowej
Wybór odpowiedzi dotyczącej grafiki wektorowej jest nietrafiony, ponieważ grafika wektorowa opiera się na matematycznych formułach do reprezentacji kształtów i nie korzysta bezpośrednio z pikseli, co czyni takie techniki jak rozmycie Gaussa i wygładzanie nieodpowiednimi. W grafice wektorowej, edytowanie obiektów polega na manipulacji ścieżkami, punktami kontrolnymi oraz krzywymi Béziera, co różni się diametralnie od obróbki obrazów rastrowych. Z kolei odpowiedzi odnoszące się do ścieżki dźwiękowej oraz dźwięku w formacie MIDI są całkowicie nieadekwatne, ponieważ dotyczą one innej dziedziny — dźwięku i audio. Rozmycie Gaussa i inne techniki związane z obróbką obrazów są związane z wizualizacją i przetwarzaniem obrazów, co nie ma zastosowania w kontekście dźwięku. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, często obejmują mylenie różnych typów mediów oraz nieznajomość podstawowych różnic między grafiką rastrową a wektorową oraz dźwiękiem. Ważne jest, aby uczniowie zdawali sobie sprawę z tych różnic oraz rozumieli, jak różne technologie są stosowane w praktyce, aby uniknąć pomyłek w przyszłości.

Pytanie 23

Na zaprezentowanym schemacie bazy danych biblioteka, elementy takie jak: czytelnik, wypożyczenie oraz książka stanowią

Ilustracja do pytania
A. pola
B. atrybuty
C. krotki
D. encje
Prawidłowo – na takim schemacie bazy danych „czytelnik”, „wypożyczenie” i „książka” to encje. W modelowaniu danych najpierw identyfikujemy obiekty świata rzeczywistego, które chcemy odwzorować w systemie. W przypadku biblioteki naturalnymi obiektami są właśnie czytelnik, książka i konkretne wypożyczenie. W notacji ERD (Entity‑Relationship Diagram) każdy z tych obiektów opisujemy jako encję, a potem dopiero dodajemy jej atrybuty oraz relacje z innymi encjami. Na schemacie widzisz trzy prostokąty – to są właśnie encje. Każda encja ma zestaw atrybutów: dla encji „czytelnik” są to np. imię, nazwisko, ulica, miejscowość; dla encji „książka” – tytuł, autor, rok wydania; dla encji „wypożyczenie” – daty wypożyczenia i zwrotu, klucze obce do czytelnika i książki. W relacyjnej bazie danych te encje są potem najczęściej odwzorowane jako tabele: tabela CZYTELNIK, WYPOZYCZENIE, KSIAZKA. To jest dokładnie zgodne z dobrymi praktykami projektowania: najpierw model koncepcyjny (encje i relacje), dopiero później model logiczny (tabele, klucze, typy danych). Z mojego doświadczenia przy każdym poważniejszym projekcie bazodanowym analitycy najpierw rysują diagram encji, bo to pomaga zrozumieć domenę biznesową. Dzięki poprawnemu rozróżnieniu encji od atrybutów można uniknąć błędów typu powtarzanie tych samych danych w wielu miejscach czy trudności z raportowaniem. W bibliotece na przykład wypożyczenie musi być osobną encją, bo opisuje zdarzenie w czasie, ma własne atrybuty (daty) i łączy dwie inne encje relacjami. Taki sposób modelowania jest zgodny z klasycznymi podręcznikami baz danych (model encja‑związek) oraz z zasadami normalizacji.

Pytanie 24

SELECT AVGcena) FROM usługi; Celem użycia funkcji agregującej AVG w tym zapytaniu jest

A. określić najwyższą cenę usług
B. zsumować wartości kosztów wszystkich usług
C. zliczyć ilość dostępnych usług w tabeli
D. wyliczyć średnią arytmetyczną cen wszystkich usług
Odpowiedź "obliczyć średnią arytmetyczną cen wszystkich usług" jest poprawna, ponieważ funkcja AVG (average) w SQL jest zaprojektowana do obliczania średniej wartości z zestawu danych w danej kolumnie. W podanym zapytaniu, AVG(cena) ma na celu zsumowanie wartości w kolumnie 'cena' dla wszystkich wierszy w tabeli 'usługi' oraz podzielenie tej sumy przez liczbę wierszy, które zawierają dane. W praktyce, średnia arytmetyczna jest niezwykle użyteczna w analizie danych, ponieważ pozwala na uzyskanie jednego, reprezentatywnego wyniku, który może być pomocny w podejmowaniu decyzji biznesowych. Na przykład, firma usługowa może użyć tej informacji do oceny swojej polityki cenowej, porównując średnią cenę swoich usług do średnich cen konkurencji. Zgodnie z najlepszymi praktykami w branży, stosowanie funkcji agregujących takich jak AVG powinno być integralną częścią procesów analizy danych, szczególnie w kontekście raportowania i oceny efektywności operacyjnej.

Pytanie 25

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

Ilustracja do pytania
A. zastosować funkcję sumy z kołem.
B. skorzystać z funkcji wstaw / dopasuj tekst do ścieżki.
C. zastosować funkcję wykluczenia z kołem.
D. skorzystać z funkcji gradientu.
Twoja odpowiedź jest prawidłowa. W programach graficznych takich jak Inkscape czy CorelDRAW, aby ułożyć tekst wzdłuż zakrzywionej ścieżki, stosuje się funkcję dopasowania tekstu do ścieżki. Taka funkcja pozwala na zastosowanie tekstu w dowolnym kierunku, co daje dużą swobodę w projektowaniu grafik. Można to robić na różne sposoby, na przykład poprzez ręczne rysowanie ścieżki, a następnie dopasowanie do niej tekstu lub poprzez użycie gotowych kształtów. W CorelDRAW funkcja ta nosi nazwę 'fit text to path', natomiast w Inkscape nazywa się 'text to path'. Jest to technika często stosowana w projektowaniu logo, plakatów, czy też w innych projektach, gdzie tekst musi być dostosowany do niestandardowych kształtów. Prawidłowe zrozumienie i umiejętność wykorzystania tej funkcji znacząco podnosi efektywność pracy w programach graficznych.

Pytanie 26

Przedstawiony fragment kodu PHP ma za zadanie umieścić dane znajdujące się w zmiennych $a, $b, $c w bazie danych, w tabeli dane. Tabela dane zawiera cztery pola, z czego pierwsze to autoinkrementowany klucz główny. Które z poleceń powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A. SELECT '$a', '$b', '$c' FROM dane;
B. SELECT NULL, '$a', '$b', '$c' FROM dane;
C. INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');
D. INSERT INTO dane VALUES ('$a', '$b', '$c');
Wybór opcji 'SELECT '$a', '$b', '$c' FROM dane;' jest nieprawidłowy, ponieważ polecenie SELECT służy do pobierania danych z bazy danych, a nie do ich wstawiania. W tym kontekście celem jest dodanie nowych rekordów, co wymaga użycia polecenia INSERT. Podobnie, 'SELECT NULL, '$a', '$b', '$c' FROM dane;' również nie ma sensu w kontekście dodawania danych, ponieważ znowu wykorzystuje polecenie SELECT, a dodatkowo NULL nie ma zastosowania jako wartość w kontekście gromadzenia danych do wstawienia. Użycie 'INSERT INTO dane VALUES ('$a', '$b', '$c');' jest błędne, ponieważ nie uwzględnia klucza głównego, który jest autoinkrementowany. Zatem, bez podania NULL jako miejsca klucza głównego, próba wstawienia danych doprowadziłaby do błędu, gdyż klucz główny powinien być unikalny i autoinkrementowany. Częstym błędem jest nieuwzględnienie struktury tabeli oraz mechanizmu kluczy głównych i obcych przy konstruowaniu zapytań do bazy danych. Dlatego kluczowe jest, aby zrozumieć, jak poprawnie formułować zapytania, uwzględniając specyfikację tabeli i właściwe polecenia SQL, co jest kluczowe dla efektywnego i bezbłędnego gromadzenia danych.

Pytanie 27

Kanał alfa jest wykorzystywany do określenia

A. wybranego fragmentu obiektu graficznego
B. przezroczystości obiektu graficznego
C. podstawowych właściwości obiektu graficznego
D. jasności oraz kontrastu kolorów
Kanał alfa to bardzo ważny element w grafice komputerowej, który odpowiada za to, jak przezroczyste są różne obiekty graficzne. W systemach kolorów, jak RGBA, kanał alfa jest dodatkowym składnikiem obok kolorów czerwonego, zielonego i niebieskiego. Dzięki niemu możemy określić, jak przezroczysty jest dany piksel. Wartości kanału alfa wahają się od 0, co oznacza całkowitą przezroczystość, do 255, co daje pełną nieprzezroczystość. Przykładem użycia kanału alfa są aplikacje graficzne, takie jak Photoshop czy GIMP, gdzie można na przykład zmieniać przezroczystość warstw. Te technologie, jak OpenGL czy DirectX, też korzystają z kanału alfa, żeby renderować obiekty w 3D. To wszystko sprawia, że obrazy i sceny stają się bardziej realistyczne, a efekty wizualne, takie jak cienie czy odbicia, wyglądają znacznie lepiej.

Pytanie 28

Przedstawione zapytanie SELECT wykonane na tabeli przechowującej dane o uczestnikach konkursu ma za zadanie wybrać

SELECT MAX(wiek) - MIN(wiek) FROM uczestnicy;
A. minimalny oraz maksymalny wiek uczestników.
B. liczbę najstarszych uczestników.
C. różnicę wieku pomiędzy najstarszym i najmłodszym uczestnikiem.
D. średnią arytmetyczną wieku uczestników.
Gratulacje, ta odpowiedź jest poprawna. Zapytanie SQL używa funkcji agregujących MAX i MIN do określenia maksymalnej i minimalnej wartości wieku w tabeli uczestników. Użycie tych funkcji umożliwia nam zidentyfikowanie najstarszego i najmłodszego uczestnika. Następnie, zapytanie oblicza różnicę między tymi wartościami, co odpowiada różnicy wieku między najstarszym i najmłodszym uczestnikiem. To jest standardowe podejście w SQL do wykonywania tego typu zapytań. W praktyce, takie zapytania są często używane w analizie danych do określania różnorodności danych, takiej jak zakres wieku uczestników w danym konkursie. Pamiętaj, że funkcje agregujące w SQL, takie jak MAX i MIN, są niezwykle przydatne w analizie danych, umożliwiając nam podsumowanie i analizę dużych zbiorów danych.

Pytanie 29

Zadanie przedstawione w ramce polecenia SQL ma na celu

Ilustracja do pytania
A. zwiększyć wartość kolumny id_klasy o jeden dla wszystkich wpisów tabeli Uczen
B. powiększyć wartość pola Uczen o jeden
C. ustawić wartość kolumny id_klasy na 1 dla wszystkich wpisów w tabeli Uczen
D. ustawić wartość pola Uczen na 1
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1 ma na celu zwiększenie wartości kolumny id_klasy o jeden dla każdego rekordu w tabeli Uczen Jest to typowa operacja w bazach danych gdy chcemy przeprowadzić masową aktualizację wartości w konkretnym polu W tym przypadku kolumna id_klasy jest modyfikowana tak aby każda jej wartość została zwiększona o jeden Jest to szczególnie przydatne w scenariuszach gdzie wartości identyfikatorów czy indeksów muszą być zwiększone ze względu na zmiany struktury danych lub w celu dostosowania do nowych wymagań Możliwość masowej aktualizacji danych jest jednym z głównych powodów dla których SQL jest tak potężnym narzędziem w zarządzaniu bazami danych Operacje tego typu wymagają jednak ostrożności aby uniknąć niepożądanych zmian które mogą wpływać na integralność danych Dlatego też dobre praktyki branżowe zalecają zawsze wykonywanie kopii zapasowych danych przed przeprowadzeniem tego typu operacji oraz dokładne sprawdzenie logiki biznesowej która za nimi stoi Zwrócenie uwagi na wydajność oraz potencjalne blokady przy jednoczesnym dostępie do bazy to również kluczowe aspekty o których należy pamiętać w środowiskach produkcyjnych

Pytanie 30

W stylu CSS ustalono obramowanie pojedyncze, które ma następujące kolory dla krawędzi:

border: solid 1px; border-color: red blue green yellow;
A. górna – czerwona, prawa – niebieska, dolna – zielona, lewa – żółta
B. prawa – czerwona, dolna – niebieska, lewa – zielona, górna – żółta
C. lewa – czerwona, dolna – niebieska, prawa – zielona, górna – żółta
D. górna – czerwona, lewa – niebieska, dolna – zielona, prawa – żółta
Definicja obramowania za pomocą stylu CSS z użyciem właściwości border-color pozwala na określenie kolorów każdej z krawędzi elementu w kolejności zgodnej ze wskazówkami zegara. Gdy podano cztery wartości jak w border-color: red blue green yellow; oznaczają one odpowiednio kolory krawędzi górnej prawej dolnej i lewej. Właściwość border: solid 1px; definiuje typ obramowania jako solidne i jego szerokość jako 1px. Warto zaznaczyć że podanie czterech wartości kolorów w border-color jest zgodne z zasadami CSS i umożliwia konfigurowanie wyglądu elementów w sposób szczegółowy i zindywidualizowany. Projektanci stron internetowych często używają tej techniki do tworzenia graficznych stylów które zwiększają czytelność i estetykę witryny. W praktyce wiedza o manipulacji stylem obramowania w CSS jest kluczowa dla tworzenia responsywnych i wizualnie atrakcyjnych interfejsów użytkownika. Takie podejście wspiera zachowanie spójności wizualnej co jest jedną z dobrych praktyk w projektowaniu front-endu.

Pytanie 31

Zestaw narzędzi oraz funkcji umożliwiający tworzenie aplikacji, który dodatkowo narzuca ramy wizualne aplikacji, jej strukturę oraz czasami wzór, według którego ma być stworzona aplikacja, to

A. komponent
B. biblioteka
C. middleware
D. framework
Framework to zestaw skomponowanych narzędzi oraz komponentów, które wspierają programistów w procesie tworzenia aplikacji poprzez dostarczenie struktury i organizacji kodu. Charakteryzuje się on tym, że określa pewne zasady, standardy oraz architekturę, co pozwala na łatwiejsze zarządzanie projektem i jego przyszłym rozwojem. Przykłady popularnych frameworków to Angular, React dla aplikacji webowych oraz Django, Ruby on Rails w przypadku aplikacji serwerowych. Frameworki często implementują wzorce projektowe, takie jak Model-View-Controller (MVC), które segregują logikę aplikacji na różne warstwy, co pozwala na lepszą organizację kodu. Dzięki zastosowaniu frameworków, programiści mogą skupić się na pisaniu logiki biznesowej, zamiast tracić czas na implementację podstawowych funkcji, ponieważ wiele z nich jest już dostarczanych przez framework. Umożliwia to również łatwiejsze wprowadzanie zmian oraz współpracę w zespołach programistycznych. Frameworki są zgodne z różnymi standardami, co zapewnia ich wszechstronność i szeroką akceptację w branży.

Pytanie 32

Polecenie colspan służy do łączenia komórek tabeli w poziomie, natomiast rowspan w pionie. Którą z tabel wyświetli poniższy fragment kodu napisany w języku HTML?

<table border="1" cellspacing="0" cellpadding="10">
    <tr>
        <td rowspan="2">&nbsp;</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
    </tr>
</table>
Ilustracja do pytania
A. C.
B. B.
C. D.
D. A.
Wybrana odpowiedź jest niepoprawna. W pytaniu chodziło o wykorzystanie atrybutów rowspan i colspan w tworzeniu tabel HTML. Atrybuty te służą do łączenia komórek tabeli w pionie i poziomie. W podanym fragmencie kodu HTML widzimy, że pierwsza komórka w pierwszym wierszu ma atrybut rowspan='2', co oznacza, że będzie się rozciągać na dwa wiersze w pionie. Druga komórka w pierwszym wierszu nie ma żadnych specjalnych atrybutów, zatem jest standardową komórką. W drugim wierszu jest tylko jedna komórka, gdyż druga komórka jest połączona z pierwszą komórką pierwszego wiersza przez atrybut rowspan. Opis odpowiada tabeli B, która ma jedną długą komórkę po lewej stronie rozciągającą się na dwa wiersze oraz dwie krótsze komórki po prawej stronie, po jednej w każdym wierszu. Pamiętaj, iż nieprawidłowe użycie atrybutów rowspan i colspan może prowadzić do niezamierzonych rezultatów, takich jak krzywe linie tabeli czy brakujące komórki.

Pytanie 33

Grafik chce przekształcić bez utraty jakości obraz formatu JPEG w format PNG w ten sposób, żeby wszędzie tam, gdzie w pierwotnym obrazie jest kolor biały, w obrazie docelowym była przezroczystość. Aby to zrobić, powinien

A. zaimportować obraz do edytora grafiki wektorowej.
B. przekształcić obraz w odcienie szarości.
C. dodać kanał alfa.
D. zmniejszyć rozdzielczość obrazu.
Prawidłowa odpowiedź wynika z samej idei przezroczystości w grafice rastrowej. Żeby w PNG jakikolwiek piksel mógł być przezroczysty, obraz musi mieć kanał alfa, czyli dodatkową składową opisującą stopień przeźroczystości (opacity) dla każdego piksela. Standardowe RGB ma trzy kanały: R (czerwony), G (zielony), B (niebieski). Format PNG bardzo często używa wariantu RGBA, gdzie A (alpha) definiuje, na ile piksel jest widoczny: 0 oznacza całkowitą przezroczystość, 255 (albo 1.0 przy wartościach zmiennoprzecinkowych) pełną nieprzezroczystość. Dopiero po dodaniu kanału alfa można w programie graficznym zaznaczyć wszystkie białe obszary i ustawić im wartość alfa na 0. To właśnie realizuje wymaganie: „tam gdzie biały – ma być przezroczystość”. Z mojego doświadczenia w pracy z grafiką na potrzeby WWW, typowy workflow wygląda tak: otwierasz JPEG w edytorze rastrowym (np. GIMP, Photoshop, Krita), konwertujesz obraz do trybu z kanałem alfa (w Photoshopie: „Layer > New > Layer from Background” i „Add Layer Mask” albo „Add Alpha Channel” w GIMP-ie), następnie za pomocą narzędzia zaznaczania koloru (Magic Wand / Select by Color) wybierasz białe fragmenty i je usuwasz lub zmniejszasz im krycie. Dopiero potem zapisujesz jako PNG, który natywnie wspiera przezroczystość zgodnie ze specyfikacją formatu. Ważne też, że przy takim przekształceniu nie zwiększasz strat kompresji, bo PNG jest formatem bezstratnym. Straty są już w JPEG-u i ich się nie cofnie, ale samo przejście do PNG z kanałem alfa nie pogorszy jakości bardziej. W praktyce to jest standardowa procedura przygotowania ikon, logotypów i elementów UI na strony WWW, gdzie tło strony „prześwituje” przez przezroczyste fragmenty grafiki.

Pytanie 34

W MS SQL Server predefiniowana rola o nazwie dbcreator umożliwia użytkownikowi

A. zarządzanie plikami na nośniku
B. tworzenie, aktualizowanie, usuwanie oraz przywracanie bazy danych
C. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
D. zarządzanie zabezpieczeniami systemu
Odpowiedź nr 3 jest poprawna, ponieważ rola dbcreator w MS SQL Server umożliwia użytkownikowi tworzenie, modyfikowanie, usuwanie oraz odzyskiwanie baz danych. Użytkownik z tą rolą ma prawo do pełnej kontroli nad bazami danych, co jest istotne w kontekście zarządzania i utrzymania infrastruktury danych. Przykład praktyczny to sytuacja, w której administrator bazy danych potrzebuje utworzyć nową bazę dla aplikacji. Dzięki roli dbcreator może to zrobić bez dodatkowych uprawnień. Rola ta jest zgodna z najlepszymi praktykami w zakresie zarządzania dostępem, gdzie ogranicza się uprawnienia do niezbędnego minimum, ale jednocześnie umożliwia wykonanie kluczowych zadań związanych z zarządzaniem bazą danych. Warto zaznaczyć, że nadmierne przyznawanie uprawnień może prowadzić do problemów związanych z bezpieczeństwem, dlatego istotne jest przydzielanie ról zgodnie z zasadą najmniejszych uprawnień (Least Privilege Principle). Użytkownicy z rolą dbcreator powinni być odpowiednio przeszkoleni i świadomi swoich działań, aby nie wprowadzać niezamierzonych zmian w środowisku produkcyjnym.

Pytanie 35

W JavaScript, funkcja matematyczna Math.pow() jest wykorzystywana do obliczania

A. potęgi liczby
B. wartości przybliżonej liczby
C. pierwiastka kwadratowego liczby
D. wartości bezwzględnej liczby
W języku JavaScript funkcja Math.pow() jest używana do obliczania potęgi liczby. Przyjmuje ona dwa argumenty: pierwszy to podstawa potęgowania, a drugi to wykładnik. W wyniku działania funkcji uzyskujemy wartość, która jest równoważna podstawie podniesionej do podanej potęgi. Na przykład, wywołanie Math.pow(2, 3) zwróci 8, ponieważ 2 do potęgi 3 to 2 * 2 * 2. Funkcja ta jest zgodna z ECMAScript, co oznacza, że jest standardem w JavaScript i można jej używać w różnych kontekstach, takich jak obliczenia matematyczne w aplikacjach webowych. Istotnym aspektem używania Math.pow() jest również fakt, że może przyjmować liczby ujemne oraz liczby zmiennoprzecinkowe, co czyni ją bardzo uniwersalnym narzędziem. Dodatkowo, dla potęgowania liczby do potęgi 0, wynik zawsze wynosi 1, co jest zgodne z zasadami matematycznymi. Dlatego Math.pow() jest kluczowym elementem biblioteki matematycznej JavaScript, ułatwiającym programistom wykonywanie bardziej skomplikowanych obliczeń.

Pytanie 36

W jakim formacie powinien być zapisany obraz, aby mógł być wyświetlany na stronie internetowej z zachowaniem przezroczystości?

A. JPG
B. PNG
C. CDR
D. BMP
Format PNG (Portable Network Graphics) jest szeroko stosowany w sieci internetowej, ponieważ obsługuje przezroczystość, co jest kluczowe przy tworzeniu grafik, które mają być używane na stronach internetowych. Przezroczystość pozwala na nałożenie grafik na różne tła bez widocznych prostokątów czy kolorowych krawędzi, co znacznie poprawia estetykę oraz elastyczność projektów graficznych. PNG wykorzystuje kompresję bezstratną, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas jego zapisywania, co jest istotne dla profesjonalnych projektów. Przykłady zastosowania formatu PNG obejmują ikony, logotypy oraz różnego rodzaju ilustracje, które muszą być wyświetlane na różnych tłach. W branży internetowej dobrym standardem jest używanie PNG do grafik wymagających przezroczystości, szczególnie w kontekście responsywnych projektów, gdzie różne elementy mogą mieć różne tła w zależności od urządzenia. Ponadto, PNG obsługuje kolor 24-bitowy oraz przezroczystość 8-bitową, co daje możliwość tworzenia bardziej złożonych efektów wizualnych. Zastosowanie tego formatu jest zgodne z dobrymi praktykami w projektowaniu stron, co czyni go preferowanym wyborem w wielu sytuacjach.

Pytanie 37

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

A. łączenie tekstu do wyświetlenia
B. usuniecie określonego tekstu
C. określenie podłańcucha znaków z tekstu wejściowego
D. przycinanie wyświetlanego tekstu
Funkcja CONCAT w języku SQL jest używana do łączenia dwóch lub więcej ciągów tekstowych w jeden. Jest to bardzo przydatne narzędzie w zarządzaniu danymi, gdyż pozwala na tworzenie bardziej złożonych i informacyjnych komunikatów tekstowych z pojedynczych elementów. Funkcja ta przyjmuje jako argumenty dowolną liczbę ciągów znakowych, a jej wynik to jeden skonsolidowany ciąg. Na przykład, jeżeli mamy dwie kolumny, 'imię' i 'nazwisko', używając CONCAT możemy stworzyć pełne imię i nazwisko: SELECT CONCAT(imię, ' ', nazwisko) AS pełne_imie FROM użytkownicy; W wyniku tego zapytania otrzymamy pełne imiona i nazwiska użytkowników. Funkcja ta jest zgodna z normami ANSI SQL i jest wspierana przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, czy Microsoft SQL Server, co sprawia, że jest bardzo uniwersalnym narzędziem w świecie baz danych.

Pytanie 38

Jakie są określenia typowych komend języka SQL, które dotyczą przeprowadzania operacji na danych SQL DML (np.: dodawanie danych do bazy, usuwanie, modyfikowanie danych)?

A. DENY, GRANT, REVOKE
B. ALTER, CREATE, DROP
C. DELETE, INSERT, UPDATE
D. SELECT, SELECT INTO
Odpowiedź DELETE, INSERT, UPDATE jest prawidłowa, ponieważ te polecenia stanowią podstawowe instrukcje języka SQL DML (Data Manipulation Language), które są wykorzystywane do manipulacji danymi w bazie danych. DELETE służy do usuwania rekordów z tabel, co jest niezbędne w sytuacjach, gdy dane są już nieaktualne lub niepotrzebne. INSERT umożliwia dodawanie nowych rekordów, co jest kluczowe w procesie wprowadzania danych, na przykład dodawania nowych klientów do bazy danych. Z kolei UPDATE pozwala na modyfikację już istniejących danych, co jest istotne w przypadku zmiany informacji, takich jak aktualizacja adresu klienta. W praktyce te operacje są niezwykle ważne dla utrzymania spójności i aktualności danych w systemach zarządzania bazami danych. Warto również zauważyć, że stosowanie tych poleceń zgodnie z dobrymi praktykami, takimi jak transakcje, pozwala na zabezpieczenie integralności danych oraz umożliwia łatwe wycofywanie zmian w przypadku błędów.

Pytanie 39

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:active { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 40

Istnieje tabela o nazwie wycieczki z kolumnami: nazwa, cena oraz miejsca (reprezentujące liczbę dostępnych miejsc). Aby wyświetlić tylko nazwy wycieczek, których cena jest mniejsza od 2000 zł oraz mają co najmniej cztery wolne miejsca, należy użyć zapytania

A. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
B. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
C. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
D. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
Wszystkie inne odpowiedzi są po prostu błędne i prowadzą do złych wyników w kontekście pytania. Na przykład zapytanie z operatorem OR, czyli 'SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4', pozwala na zwrócenie wycieczek, które spełniają tylko jeden z warunków. To oznacza, że mogą być pokazywane wycieczki droższe, które mają wystarczająco dużo miejsc, co jest niezgodne z wymaganiami. Jeszcze innym błędnym przypadkiem jest użycie operatora AND w 'SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3', gdzie ten drugi warunek jest zbyt ogólny. Powinien precyzować, że miejsc musi być co najmniej cztery, a nie tylko więcej niż trzy. Co więcej, zapytanie 'SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4' zwróci wszystkie kolumny, a nie tylko nazwy wycieczek, co też nie jest tym, czego potrzebujemy. Typowe błędy w myśleniu, które prowadzą do tych błędnych wniosków, to złe łączenie warunków i niewłaściwe zrozumienie, co jest ważne w kontekście wymagań. Aby dobrze pisać zapytania SQL, kluczowe jest zrozumienie struktury danych i logiki, która pozwala na wybranie odpowiednich rekordów.