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: 11 maja 2026 18:54
  • Data zakończenia: 11 maja 2026 19:08

Egzamin zdany!

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

Jaką wartość w systemie RGB uzyskamy dla koloru zapisanego w kodzie heksadecymalnym: #1510FE?

A. rgb(15,10,FE)
B. rgb(21,16,254)
C. rgb(21,16,FE)
D. rgb(21,16,255)
Odpowiedzi rgb(15,10,FE), rgb(21,16,FE) oraz rgb(21,16,255) są błędne z różnych powodów, które wynikają z niepoprawnych konwersji wartości heksadecymalnych do systemu RGB. W pierwszym przypadku, rgb(15,10,FE), wartości czerwonej i zielonej zostały błędnie zinterpretowane. Wartości heksadecymalne 15 (0F) i 10 (0A) nie odpowiadają poprawnym konwersjom z systemu szesnastkowego. Wartość niebieska 'FE' w formacie RGB powinna być również przelicza na wartość dziesiętną, a nie pozostawiana w formie heksadecymalnej, co jest kolejnym źródłem błędu w tej odpowiedzi. Z kolei rgb(21,16,FE) zawiera poprawne wartości czerwonej i zielonej, ale niebieska komponenta jest znów nieprzekształcona i pozostaje w formacie szesnastkowym. Ostatnia odpowiedź, rgb(21,16,255), choć zawiera prawidłowe wartości czerwonej i zielonej, wskazuje na niepoprawną wartość niebieską, ponieważ 255 w systemie dziesiętnym nie odpowiada heksadecymalnemu 'FE', które wynosi 254. Typowe błędy myślowe związane z tymi odpowiedziami obejmują niewłaściwe przeliczanie wartości heksadecymalnych oraz brak zrozumienia, jak funkcjonuje konwersja systemów liczbowych. W praktyce, poprawna przekształcenie wartości kolorów jest kluczowe dla spójności wizualnej w projektach graficznych i cyfrowych, co pokazuje znaczenie znajomości sposobu konwersji kolorów we współczesnym designie.

Pytanie 2

Funkcja, która wywołuje samą siebie to

A. iteracja
B. rekurencja
C. dziedziczenie
D. hermetyzacja
Iteracja, hermetyzacja i dziedziczenie to pojęcia związane z programowaniem, ale nie odnoszą się do konceptu rekurencji. Iteracja to proces powtarzania zestawu instrukcji, aż do spełnienia określonego warunku. W przeciwieństwie do rekurencji, w iteracji nie zachodzi wywoływanie samej siebie, a raczej wykorzystuje się pętle, takie jak for czy while, aby przejść przez dane lub wykonywać operacje wielokrotnie. Hermetyzacja odnosi się do techniki programowania obiektowego, która polega na ukrywaniu wewnętrznych szczegółów implementacji obiektu i udostępnianiu jedynie niezbędnych interfejsów, co pozwala na zachowanie kontroli nad danymi i ich modyfikacjami. To z kolei wpływa na zwiększenie bezpieczeństwa oraz modularności kodu, ale nie ma związku z wywoływaniem funkcji samej siebie. Dziedziczenie to mechanizm, który umożliwia tworzenie nowych klas na podstawie już istniejących, dzieląc z nimi atrybuty oraz metody. Chociaż dziedziczenie jest fundamentalnym aspektem programowania obiektowego, nie dotyczy ono rekurencji ani sposobu, w jaki funkcje mogą się wywoływać. Każda z tych koncepcji ma swoje unikalne zastosowanie i znaczenie w programowaniu, ale są one odrębne od idei rekurencji.

Pytanie 3

W stylu CSS zdefiniowano klasę uzytkownik:

p.uzytkownik {
    color: blue;
}
Na stronie będą wyświetlane czcionką w kolorze niebieskim:
A. paragrafy, do których została przypisana klasa uzytkownik.
B. tylko elementy tekstowe typu <p>, <h1>.
C. wszystkim elementom w sekcji <body> z przypisaną klasą uzytkownik.
D. wszystkie akapity.
Deklaracja selektora p.uzytkownik oznacza w CSS połączenie selektora typu z selektorem klasy. Innymi słowy: przeglądarka wybierze tylko te elementy <p>, które mają w atrybucie class wpisaną klasę uzytkownik, np. <p class="uzytkownik">Treść</p>. Sama kropka przed nazwą klasy definiuje selektor klasy, a litera p przed kropką zawęża go wyłącznie do paragrafów. Gdyby w stylu było samo .uzytkownik { color: blue; }, wtedy reguła objęłaby wszystkie elementy z tą klasą, niezależnie czy to <p>, <div>, <h1> czy cokolwiek innego. Moim zdaniem to jedno z podstawowych, ale bardzo ważnych rozróżnień w CSS: kombinacja selektorów pozwala dokładnie kontrolować, które elementy są stylowane. Dzięki temu nie trzeba nadawać unikalnych klas dla każdego typu elementu, tylko łączyć selektor typu (np. p, h1, li) z klasą, gdy jest to potrzebne. W praktyce w projektach spotyka się dużo takich zapisów: np. li.active, a.button-primary, input.error. To pomaga utrzymać porządek w arkuszu stylów i unikać niepotrzebnie szerokiego działania reguł. Warto też zwrócić uwagę na specyficzność: p.uzytkownik ma większą specyficzność niż samo p, ale mniejszą niż np. #idElementu. Przy konfliktach stylów przeglądarka bierze to pod uwagę. Dobra praktyka jest taka, żeby nie pisać zbyt ogólnych selektorów, które kolorują „pół strony” przypadkiem. Taki selektor jak w pytaniu jest bezpieczny i precyzyjny – wiadomo dokładnie, że kolor niebieski trafi tylko do tych paragrafów, którym świadomie przypiszemy klasę uzytkownik w HTML.

Pytanie 4

Wskaż, który paragraf jest sformatowany przy użyciu podanego stylu CSS:

p {
    font-family: serif;
    background-color: Teal;
    color: white;
    font-style: italic;
}
Ilustracja do pytania
A. Paragraf 4
B. Paragraf 1
C. Paragraf 2
D. Paragraf 3
Paragraf 4 jest prawidłowo sformatowany zgodnie z przedstawionym stylem CSS. W stylu tym zastosowano cztery właściwości: font-family o wartości serif co sugeruje użycie czcionki o kroju szeryfowym background-color ustawiony na Teal co ustawia tło na ciemnozielony kolor color ustawiony na White co oznacza że tekst powinien być biały oraz font-style ustawiony na italic co powoduje że tekst jest pochylony. Paragraf 4 spełnia te kryteria jest napisany czcionką szeryfową ma ciemnozielone tło biały tekst i jest kursywą. Zastosowanie takich stylów jest częste w projektowaniu stron internetowych gdzie ważne jest czytelne i estetyczne przedstawienie informacji. Używanie odpowiednich stylów CSS pozwala na lepszą organizację wizualną treści co jest kluczowe w tworzeniu interfejsów przyjaznych dla użytkownika. Stylowanie w CSS wspiera standardy takie jak CSS3 które wprowadzają nowe właściwości i ulepszenia umożliwiające bardziej zaawansowane i wydajne metody formatowania.

Pytanie 5

Deklaracja z właściwością background-attachment: scroll sprawia, że

A. grafika tła będzie widoczna w prawym górnym rogu strony
B. grafika tła będzie się powtarzać (kafelki)
C. tło strony będzie przesuwane razem z zawartością tekstową
D. tło strony zostanie zamocowane, a tekst będzie się poruszał
Pierwsza niepoprawna odpowiedź sugeruje, że grafika tła będzie powtarzana, co właściwie jest realizowane przez inne ustawienie CSS, takie jak 'background-repeat'. Użycie 'background-attachment: scroll' nie wpływa bezpośrednio na powtarzanie tła, a jedynie na jego zachowanie podczas przewijania strony. Druga niepoprawna odpowiedź odnosi się do stałości tła, co jest sprzeczne z definicją 'scroll'. Właściwość 'fixed' zablokowałaby tło w jednym miejscu, co oznacza, że nie przesuwałoby się ono z zawartością, co jest przeciwieństwem tego, co oferuje 'scroll'. Ostatnia niepoprawna odpowiedź sugeruje, że grafika tła będzie wyświetlona w prawym górnym rogu strony. Tło w CSS nie ma przypisanego miejsca w ten sposób; jego pozycjonowanie reguluje się za pomocą 'background-position'. 'background-attachment: scroll' nie definiuje ani nie wpływa na położenie tła, a jedynie na to, jak się zachowuje podczas przewijania. W związku z tym wszystkie te odpowiedzi są niepoprawne, ponieważ mylą różne aspekty właściwości CSS i ich funkcjonalność.

Pytanie 6

W bazie danych samochodów pole kolor z tabeli samochody przyjmuje wartości kolorów jedynie ze słownika lakier. Aby połączyć tabele samochody i lakier relacją należy, zastosować kwerendę

A. ALTER TABLE samochody
   ADD FOREIGN KEY kolor REFERENCES lakier;

B. ALTER TABLE samochody
   ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);

C. ALTER TABLE samochody
   ADD FOREIGN KEY barwa REFERENCES samochody.lakier;

D. ALTER TABLE lakier
   ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
A. D.
B. B.
C. A.
D. C.
Błędne odpowiedzi wynikają z niezrozumienia jak działa łączenie tabel w SQL lub z błędów w składni. W przypadku relacji między tabelami, klucz obcy w jednej tabeli odpowiada kluczowi głównemu w drugiej tabeli. Tymczasem, niektóre z błędnych odpowiedzi zawierają niewłaściwe odniesienia do kluczy głównych i obcych. Próby utworzenia klucza obcego bez odwołania do odpowiadającego mu klucza głównego, lub odwołanie się do nieistniejących pól w tabeli, skutkują błędami i niepoprawnym działaniem bazy danych. Błędy w składni SQL, takie jak niepoprawne użycie słów kluczowych czy polecenia utworzenia klucza obcego, mogą także prowadzić do nieprawidłowych wyników. Zrozumienie relacji między tabelami i prawidłowe stosowanie składni SQL są kluczowe dla efektywnej pracy z bazami danych.

Pytanie 7

Jakie są etapy w odpowiedniej kolejności przy tworzeniu aplikacji?

A. Analiza oczekiwań klienta, określenie wymagań, programowanie, wdrożenie, testowanie
B. Programowanie, analiza oczekiwań klienta, określenie wymagań, wdrożenie, testowanie
C. Analiza oczekiwań klienta, określenie wymagań, programowanie, testowanie, wdrożenie
D. Określenie wymagań, analiza oczekiwań klienta, programowanie, wdrożenie, testowanie
Odpowiedź wskazująca na kolejność: analiza wymagań klienta, specyfikacja wymagań, tworzenie, testy, wdrażanie jest poprawna i odzwierciedla standardowy model cyklu życia oprogramowania (SDLC). Zaczynamy od analizy wymagań, co oznacza zrozumienie potrzeb klienta i zebranie informacji, które będą fundamentem dalszych prac. Następnie przechodzimy do specyfikacji wymagań, gdzie dokumentujemy te potrzeby w formie, która będzie zrozumiała dla zespołu developerskiego. Tworzenie aplikacji następuje po szczegółowym omówieniu i zaakceptowaniu wymagań, co minimalizuje ryzyko błędów. Testy są kluczowym etapem, który pozwala na weryfikację, czy stworzone rozwiązanie spełnia wymagania oraz działa zgodnie z założeniami. Ostateczne wdrożenie aplikacji do użytkowania powinno nastąpić po przeprowadzeniu wszystkich testów i uzyskaniu pozytywnych wyników. Przykład zastosowania tej metodologii można zaobserwować w projektach realizowanych w metodologii Agile, gdzie iteracje pozwalają na ciągłe dostosowywanie aplikacji do zmieniających się potrzeb klienta. Takie podejście zwiększa satysfakcję użytkowników i minimalizuje koszty związane z poprawkami.

Pytanie 8

Skrypt w JavaScript, który obsługuje wynagrodzenia pracowników, powinien stworzyć raport dla tych, którzy są zatrudnieni na umowę o pracę oraz otrzymują wynagrodzenie w przedziale domkniętym od 4000 do
4500 zł. Jaki warunek należy zastosować do wygenerowania raportu?

A. umowa == 'praca' && (pensja >= 4000 && pensja <= 4500)
B. umowa == 'praca' || (pensja >= 4000 || pensja <= 4500)
C. umowa == 'praca' && (pensja >= 4000 || pensja <= 4500)
D. umowa == 'praca' || (pensja >= 4000 && pensja <= 4500)
Odpowiedź umowa == 'praca' && (pensja >= 4000 && pensja <= 4500) jest poprawna, ponieważ precyzyjnie określa warunki, jakie muszą być spełnione, aby wygenerować raport. Warunek umowa == 'praca' zapewnia, że analizujemy tylko pracowników zatrudnionych na umowę o pracę, co jest kluczowe w kontekście raportowania. Dodatkowo zastosowanie operatora logicznego '&&' w połączeniu z zakresowym sprawdzeniem pensji (pensja >= 4000 && pensja <= 4500) skutkuje tym, że raport zostanie wygenerowany wyłącznie dla pracowników, których pensja mieści się w ścisłym przedziale od 4000 do 4500 zł. To podejście jest zgodne z dobrymi praktykami programistycznymi, gdzie ważne jest, aby warunki były ściśle zdefiniowane, co pozwala uniknąć nieporozumień i błędów w danych. Przykładowo, jeżeli stworzymy funkcję generującą raport, możemy ją łatwo zaimplementować w systemie hr, co pozwoli na automatyzację procesów związanych z płacami oraz raportowaniem, a także zwiększy przejrzystość i precyzję w zarządzaniu danymi finansowymi.

Pytanie 9

Podane w ramce polecenie SQL ma za zadanie

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustawić wartość w kolumnie id_klasy na 1 dla wszystkich rekordów tabeli Uczen
B. ustawić wartość pola id_klasy na 1 dla wszystkich rekordów tabeli Uczen
C. zwiększyć o jeden wartość pola id_klasy w jednym rekordzie tabeli Uczen
D. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1; modyfikuje wszystkie rekordy w tabeli Uczen, bo nie ma w nim klauzuli WHERE. To jest kluczowa rzecz: brak WHERE oznacza, że polecenie dotyczy całej tabeli, a nie pojedynczego wiersza. Wyrażenie id_klasy = id_klasy + 1 oznacza aktualizację kolumny na podstawie jej dotychczasowej wartości – po prostu dodajemy 1 do obecnej wartości w każdej krotce. Nie ustawiamy stałej wartości, tylko wykonujemy operację arytmetyczną na kolumnie. W praktyce taki zapis stosuje się np. gdy chcemy przesunąć identyfikatory klas, zmienić numerację poziomów, podnieść wszystkim uczniom numer semestru albo zaktualizować jakiś licznik. W SQL to bardzo typowy wzorzec: UPDATE tabela SET kolumna = kolumna + wartość WHERE warunek; i w dobrych praktykach zawsze pilnuje się, żeby świadomie używać lub pomijać WHERE. Administratorzy baz danych zwykle wręcz powtarzają zasadę: przed uruchomieniem UPDATE bez WHERE zastanów się dwa razy, czy na pewno chcesz zmienić wszystkie wiersze. Moim zdaniem warto zapamiętać dwie rzeczy: po pierwsze, UPDATE bez WHERE = aktualizacja wszystkich rekordów; po drugie, po lewej stronie znaku równości zawsze jest nazwa kolumny, którą zmieniamy, a po prawej – wyrażenie, z którego zostanie policzona nowa wartość. To wyrażenie może używać starej wartości tej samej kolumny, tak jak tutaj. W wielu systemach bazodanowych (np. MySQL, PostgreSQL, SQL Server) ta konstrukcja działa identycznie, więc to taki uniwersalny, standardowy zapis, zgodny z ogólnymi zasadami języka SQL.

Pytanie 10

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

A. outline-top
B. border-top
C. padding-top
D. local-top
Wybór odpowiedzi 'local-top' jest błędny, ponieważ nie istnieje takie polecenie w standardzie CSS. Termin 'local' w kontekście CSS nie ma zastosowania w odniesieniu do marginesów czy paddingu. Dlatego też, wybierając tę odpowiedź, można wpaść w pułapkę myślenia, że CSS oferuje lokalne style, co jest nieprawidłowe. Kolejna niepoprawna odpowiedź, 'border-top', odnosi się do stylu granicy, a nie do odstępu wewnętrznego. 'border-top' definiuje styl, szerokość i kolor górnej granicy elementu, jednak nie wpływa na odstęp pomiędzy zawartością a granicą. Wiele osób myli 'border' z 'padding', co prowadzi do nieprawidłowego zrozumienia struktury box model w CSS. Ostatnia odpowiedź, 'outline-top', dotyczy obramowania zewnętrznego elementu, które jest używane głównie do zaznaczania elementów, ale również nie ma wpływu na wewnętrzny odstęp. 'outline' jest niezależny od box model i nie wpływa na układ elementu. Warto pamiętać, że korzystanie z niepoprawnych właściwości może prowadzić do problemów w renderowaniu stron oraz złego doświadczenia użytkowników. Zrozumienie różnicy między paddingiem, marginem, borderem i outline jest kluczowe dla skutecznego stosowania CSS w praktyce.

Pytanie 11

Kiedy należy użyć kwerendy SELECT DISTINCT, aby wybrać rekordy?

A. pogrupowane.
B. obecne w bazie tylko raz.
C. uporządkowane w kolejności malejącej lub rosnącej.
D. tak, aby w wskazanej kolumnie nie powtarzały się wartości.
Kwerenda SELECT DISTINCT jest używana w SQL do zwracania unikalnych rekordów z określonej kolumny lub kolumn. Głównym celem tej kwerendy jest eliminacja duplikatów z wyników zapytania, co jest szczególnie przydatne w sytuacjach, gdy interesuje nas uzyskanie listy unikalnych wartości, na przykład nazwisk pracowników w firmie, których można znaleźć w tabeli „Pracownicy”. Dzięki zastosowaniu DISTINCT, wynik zapytania dostarczy tylko różne nazwiska, eliminując powtarzające się wystąpienia. W kontekście dobrych praktyk w projektowaniu baz danych, korzystanie z DISTINCT pozwala na efektywniejsze analizowanie danych oraz lepsze zrozumienie struktury informacji w tabelach. Użycie SELECT DISTINCT może również pomóc w optymalizacji zapytań, szczególnie w rozbudowanych bazach danych, gdzie występowanie duplikatów może prowadzić do zafałszowania wyników analiz. Przykład praktyczny to zapytanie: SELECT DISTINCT kraj FROM Klienci, które zwróci wszystkie różne kraje, w których znajdują się klienci, co jest kluczowe w analizach geolokalizacyjnych.

Pytanie 12

W przedstawionym kodzie PHP w miejscu kropek powinno znajdować się polecenie

Ilustracja do pytania
A. mysqli_free_result($zapytanie);
B. mysqli_fetch_row($zapytanie);
C. mysqli_num_fields($zapytanie);
D. mysqli_query($zapytanie);
Funkcja mysqli_fetch_row jest prawidłowa w tym kontekście ponieważ służy do pobierania jednego wiersza wyników z zestawu wyników zapytań do bazy danych. Każde wywołanie tej funkcji zwraca tablicę indeksowaną numerycznie reprezentującą wiersz danych co doskonale pasuje do zaprezentowanego kodu PHP. W przedstawionym kodzie mamy do czynienia z pętlą for która iteruje po każdym wierszu zestawu wyników. W każdym kroku pętli echo wyprowadza wartości z wiersza. Użycie mysqli_fetch_row jest zgodne z najlepszymi praktykami ponieważ pozwala na kontrolowane przetwarzanie danych z bazy danych i jest bardziej efektywne przy pracy z dużymi zbiorami danych niż pobieranie wszystkich danych na raz. Dodatkowo taka metoda pozwala na lepsze zarządzanie pamięcią ponieważ przetwarzamy dane wiersz po wierszu co jest ważne przy dużych zbiorach danych. Warto pamiętać że mysqli_fetch_row zwraca null gdy nie ma więcej wierszy do pobrania co jest przydatne do wykrywania końca zestawu wyników. Jest to częsty wybór w wielu aplikacjach webowych do przetwarzania danych pobranych z bazy danych

Pytanie 13

W podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie przypisany

a:hover { font-weight: bold; }
A. wszystkim odnośnikom, które nie były odwiedzane
B. każdemu odnośnikowi bez względu na jego bieżący stan
C. odnośnikowi, gdy kursor myszy na niego najedzie
D. wszystkim odnośnikom, które były wcześniej odwiedzane
Pseudoklasa hover jest specyficzną cechą CSS, która pozwala na zmianę stylu elementu w momencie, gdy użytkownik najeżdża na niego kursorem myszy. Odpowiedzi sugerujące, że styl pogrubiony zostanie przypisany wszystkim odnośnikom nieodwiedzonym lub odwiedzonym zawierają błędne założenie dotyczące działania pseudoklas. Pseudoklasy nieodwiedzony lub odwiedzony (a:link i a:visited) odnoszą się do stanu odnośnika w kontekście jego kliknięcia przez użytkownika, a nie interakcji za pomocą kursora. Twierdzenie, że styl pogrubiony będzie zastosowany do wszystkich odnośników niezależnie od stanu ignoruje fakt, że pseudoklasa hover jest specyficzna dla dynamicznej interakcji z elementem, nie zaś dla jego statycznego stanu. Typowym błędem w rozumieniu pseudoklas jest mylenie ich z selektorami klasy czy identyfikatorów, które odnoszą się do statycznych atrybutów elementów. Właściwe użycie pseudoklas wymaga zrozumienia ich dynamiki i tego, jak wpływają na wrażenie użytkownika podczas interakcji z elementami strony internetowej. Aby uniknąć takich błędów, warto korzystać z narzędzi do podglądu i testowania stylów CSS, które pozwalają na bieżąco obserwować zmiany stylizacji na stronie w odpowiedzi na interakcję użytkownika. Opanowanie pseudoklas jak hover jest kluczowe dla tworzenia nowoczesnych i interaktywnych stron internetowych, które reagują na działania użytkowników w sposób przewidywalny i efektywny.

Pytanie 14

Jak można dodać zewnętrzny arkusz stylów do dokumentu HTML?

A. <meta>
B. <style>
C. <css>
D. <link>
Dołączenie zewnętrznego arkusza stylów do kodu HTML realizowane jest przy użyciu znacznika <link>, który znajduje się w sekcji <head> dokumentu HTML. Ten znacznik umożliwia przeglądarkom internetowym odnalezienie i załadowanie zewnętrznego pliku CSS, co pozwala na zastosowanie stylów do elementów HTML. Przy użyciu atrybutu 'href' wskazujemy lokalizację arkusza stylów, natomiast atrybut 'rel' definiuje relację między dokumentem HTML a plikiem stylów, zazwyczaj ustawiając go na 'stylesheet'. Przykładowa struktura to: <link rel='stylesheet' href='styles.css'>. Taki sposób organizacji stylów pozwala na lepsze zarządzanie kodem, umożliwia wielokrotne wykorzystanie tych samych stylów w różnych dokumentach oraz przyspiesza ładowanie strony poprzez caching. Użycie zewnętrznych arkuszy stylów jest zgodne z najlepszymi praktykami programowania front-endowego, co wpływa pozytywnie na wydajność oraz SEO, umożliwiając lepszą indeksację przez wyszukiwarki. Dodatkowo, umożliwia to łatwiejsze wprowadzanie zmian w stylach bez potrzeby edytowania każdego pliku HTML z osobna.

Pytanie 15

Jak prawidłowo skomentować linię kodu w języku Java Script? Komentarz powinien być umieszczony po znakach //

x = Math.max(a,b,c); //
A. w zmiennej x maksymalna wartość ze zmiennych a, b, c
B. nieprawidłowe dane
C. wybór losowej wartości ze zmiennych a, b i c
D. w zmiennej x minimalna wartość ze zmiennych a, b, c
Odpowiedź numer 1 jest całkiem trafna, bo funkcja Math.max w JavaScript tak naprawdę najpierw sprawdza, która z podanych wartości jest największa. W tym wypadku, x = Math.max(a, b, c) zwraca największą liczbę z a, b i c i przypisuje ją do x. To jest super przydatne, gdy musisz szybko porównać jakieś liczby, na przykład podczas analizowania danych albo ustalania maksymalnych limitów w aplikacjach internetowych. Math.max to część wbudowanej biblioteki Math, która ma sporo przydatnych funkcji. Wykorzystanie tej funkcji jest zgodne z dobrymi praktykami programowania, bo jest szybka i bezpieczna. Co ważne, Math.max przyjmuje różną liczbę argumentów, więc można ją łatwo dopasować do swoich potrzeb. Używanie tej funkcji naprawdę poprawia czytelność kodu, a to jest kluczowe w projektach, gdzie inne osoby mogą musieć zrozumieć nasz kod.

Pytanie 16

W zakresie ochrony serwera bazy danych przed atakami hakerównie wlicza się

A. defragmentacja dysków
B. używanie skomplikowanych haseł do bazy
C. blokada portów powiązanych z bazą danych
D. aktywacja zapory
Defragmentacja dysków to proces, który ma na celu optymalizację wydajności dysków twardych poprzez reorganizację danych na nośniku. Choć jest to operacja ważna dla poprawy wydajności systemu, nie ma ona bezpośredniego wpływu na bezpieczeństwo serwera bazy danych. W kontekście zabezpieczeń, kluczowymi działaniami są m.in. blokowanie portów związanych z bazą danych, co zapobiega nieautoryzowanemu dostępowi z zewnątrz; włączenie zapory, która filtruje ruch do i z serwera; oraz stosowanie złożonych haseł do bazy, które utrudniają ataki typu brute force. Przykładowo, wiele firm przyjmuje politykę wymuszania zmian haseł co kilka miesięcy oraz minimalnych wymagań dotyczących ich złożoności. Właściwa strategia zabezpieczeń obejmuje także regularne aktualizacje oprogramowania oraz monitorowanie logów serwera w poszukiwaniu nietypowych aktywności. Zastosowanie tych praktyk znacząco podnosi poziom bezpieczeństwa danych przechowywanych w bazie.

Pytanie 17

Hermetyzacja to zasada programowania obiektowego mówiąca o tym, że

A. typy pól w klasach/obiektach mogą być dynamicznie zmieniane w zależności od danych im przypisywanych.
B. klasy mogą współdzielić ze sobą funkcjonalność.
C. pola i metody wykorzystywane tylko przez daną klasę są ograniczane zasięgiem private lub protected.
D. klasy mogą mieć zdefiniowane metody wirtualne, które są implementowane w pochodnych klasach.
Poprawnie – hermetyzacja (encapsulation) w programowaniu obiektowym polega właśnie na ukrywaniu szczegółów implementacji klasy i ograniczaniu dostępu do pól oraz metod, które nie powinny być widoczne na zewnątrz. W praktyce oznacza to stosowanie modyfikatorów dostępu takich jak private i protected do elementów, które są wykorzystywane tylko wewnątrz danej klasy lub hierarchii dziedziczenia. Kod zewnętrzny widzi wtedy tylko to, co jest wystawione jako public, czyli oficjalny interfejs klasy. Z mojego doświadczenia to jest jedna z kluczowych rzeczy, która odróżnia „klepanie kodu” od pisania rozsądnie zaprojektowanego oprogramowania. Dzięki hermetyzacji można bezpiecznie zmieniać wnętrze klasy (np. sposób przechowywania danych, algorytmy) bez psucia kodu, który z tej klasy korzysta. Przykład: w klasie KontoBankowe pola takie jak saldo, numer konta czy historia operacji powinny być private, a dostęp do nich powinien odbywać się przez metody typu wplac(), wyplac(), pobierzSaldo(). Użytkownik klasy nie ma prawa bezpośrednio ustawiać salda, bo mógłby ominąć logikę biznesową, np. sprawdzanie limitu czy blokady konta. W językach takich jak Java, C++, C#, ale też w nowoczesnym TypeScript czy w podejściu obiektowym w PHP i JavaScript, dobre praktyki mówią jasno: pola klasy domyślnie robimy prywatne, a udostępniamy tylko to, co naprawdę musi być publiczne. Moim zdaniem to jedna z najważniejszych zasad SOLID (dokładniej – silnie się z nimi łączy), bo wymusza tworzenie małych, spójnych i bezpiecznych interfejsów. W większych projektach webowych, np. w aplikacjach backendowych w PHP lub JS/TS, brak hermetyzacji szybko kończy się „makaronem zależności”, gdzie jedna zmiana w polu klasy rozwala pół systemu. Dlatego branżowo uznaje się hermetyzację za absolutny standard projektowania obiektowego, a łamanie jej za klasyczny „code smell”.

Pytanie 18

Aby zapewnić integralność danych w bazie programu Microsoft Access, należy zastosować

A. kwerendę aktualizującą
B. archiwizację bazy
C. więzy integralności
D. defragmentację bazy
Wybór więzów integralności jako metody zapewnienia spójności danych w programie Microsoft Access jest właściwy, ponieważ więzy te definiują zasady, które muszą być spełnione w bazie danych, aby utrzymać spójność i poprawność danych. Przykładowo, można ustawić więzy integralności, które zapobiegają wprowadzeniu duplikatów w kluczowych polach, takich jak identyfikator klienta, co jest kluczowe dla unikania konflikty i błędów w analityce danych. Więzy integralności mogą obejmować takie elementy jak klucze główne, klucze obce oraz unikalne ograniczenia, które pomagają w zachowaniu logiki relacyjnej w bazie danych. Dobrą praktyką jest regularne przeglądanie i aktualizowanie więzów integralności, aby zapewnić ich adekwatność do zmieniających się potrzeb danych. Ponadto, w sytuacjach, gdy dane są wprowadzane przez wiele źródeł, więzy integralności stają się kluczowym narzędziem w zarządzaniu jakością i spójnością danych, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi.

Pytanie 19

Aby usunąć tabelę, trzeba użyć kwerendy

A. DROP TABLE
B. DELETE
C. UNIQUE
D. TRUNCATE TABLE
Odpowiedź 'DROP TABLE' jest poprawna, ponieważ jest to standardowe polecenie SQL służące do usunięcia całej tabeli z bazy danych. Użycie tego polecenia oznacza, że wszystkie dane przechowywane w tabeli zostaną trwale usunięte, a sama struktura tabeli również zostanie skasowana. Przykład zastosowania: jeśli mamy tabelę 'klienci' i chcemy usunąć ją z bazy danych, stosujemy polecenie 'DROP TABLE klienci;'. Ważne jest, aby przed wykonaniem tego polecenia upewnić się, że nie ma już odniesień do tej tabeli w innych obiektach bazy danych, takich jak klucze obce. Usunięcie tabeli jest procesem nieodwracalnym, dlatego zaleca się wykonanie kopii zapasowej danych przed podjęciem takiej decyzji. W praktyce, ten operator jest często używany w sytuacjach, gdy dane są zbędne, a struktura bazy danych wymaga reorganizacji lub uproszczenia, co jest zgodne z najlepszymi praktykami w zarządzaniu bazami danych.

Pytanie 20

$liczba = 10;
while($liczba<50){
   echo "$liczba";
   $liczba=$liczba+5;
}
Jakie liczby zostaną wyświetlone w wyniku działania tej pętli w języku PHP?

A. 0 5 10 15 20 25 30 35 40 45
B. 10 15 20 25 30 35 40 45
C. 10 15 20 25 30 35 40 45 50
D. 0 5 10 15 20 25 30 35 40 45 50
Odpowiedzi, które zawierają wartości 50 oraz liczby mniejsze od 10, są błędne z kilku powodów. Po pierwsze, w przypadku pętli 'while', warunek przeszkadza dalszemu wykonywaniu kodu, gdy liczba osiągnie lub przekroczy 50. W związku z tym, żadne liczby równe lub większe od 50 nie powinny być uwzględniane w rezultacie. Zatem każda odpowiedź, która sugeruje, że 50 się pojawi, jest niewłaściwa. Ponadto, propozycje, które zaczynają od 0, są również błędne, ponieważ kod nie inicjalizuje zmiennej 'liczba' w tej wartości. Typowe błędy myślowe, które prowadzą do takich wniosków, mogą obejmować niewłaściwe zrozumienie warunków pętli oraz nieprawidłowe przetwarzanie iteracji. Ważne jest, aby zawsze dokładnie analizować logikę pętli oraz jej warunki graniczne, aby uniknąć niepoprawnych wyników. Dodatkowo, zrozumienie zasad działania zmiennych oraz ich aktualizacji w kontekście iteracji jest kluczowe dla efektywnego programowania w PHP.

Pytanie 21

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

Ilustracja do pytania
A. skorzystać z funkcji wstaw / dopasuj tekst do ścieżki
B. posłużyć się funkcją gradientu
C. zastosować funkcję wykluczenia z kołem
D. wykorzystać funkcję sumy z kołem
Wybierając odpowiednie narzędzia do osiągnięcia skomplikowanych efektów typograficznych ważne jest zrozumienie właściwości każdej funkcji Dostępne odpowiedzi sugerują nieprawidłowe podejścia do problemu Gradient jest narzędziem używanym głównie do tworzenia płynnych przejść między kolorami w obiektach wektorowych Nie wpływa on bezpośrednio na układ tekstu wzdłuż ścieżki Wybór tej opcji może wynikać z błędnego rozumienia że gradient wpływa na formę obiektu w tym przypadku tekstu Funkcja sumy w kontekście programów graficznych takich jak Inkscape czy CorelDraw dotyczy operacji booleowskich na obiektach co prowadzi do łączenia kształtów Wynikowa forma jest sumą obszarów wyjściowych jednak znów nie wpływa to na układ tekstu wzdłuż ścieżki Działanie funkcji wykluczenia z kolei polega na tworzeniu przecięcia dwóch kształtów i usunięciu wspólnego obszaru co jest używane głównie w tworzeniu złożonych kształtów Nie ma to zastosowania przy dopasowywaniu tekstu do ścieżki Myślenie że te operacje booleowskie mogą wpływać na tekst wynika z niezrozumienia jak działają te funkcje w kontekście obiektów i tekstu w programach graficznych Kluczowym błędem jest tutaj założenie że funkcje do manipulacji kształtami mogą być bezpośrednio stosowane do tekstu bez zrozumienia specyfiki narzędzi jakimi są gradient sumowanie czy wykluczanie które nie dotyczą bezpośrednio zarządzania tekstem wzdłuż ścieżki

Pytanie 22

W SQL, aby usunąć wszystkie rekordy z tabeli, ale zachować jej strukturę, należy użyć polecenia:

A. DROP TABLE
B. DELETE FROM
C. REMOVE
D. TRUNCATE
Istnieje kilka nieporozumień związanych z usuwaniem danych z tabel SQL, co może prowadzić do błędów. Polecenie <code>DROP TABLE</code> jest często mylone z <code>DELETE FROM</code>. Jednak <code>DROP TABLE</code> usuwa zarówno dane, jak i strukturę tabeli, co oznacza, że po jego użyciu nie będzie można odzyskać tabeli bez jej ponownego stworzenia. To polecenie jest destrukcyjne i powinno być używane tylko wtedy, gdy mamy pewność, że tabela nie jest już potrzebna. Z kolei <code>REMOVE</code> nie jest poprawnym poleceniem SQL. To może wynikać z mylnego przekonania, że istnieje takie polecenie w języku SQL, jednak w rzeczywistości nie jest ono częścią standardu SQL. Tego typu błędy wynikają często z nieznajomości składni SQL lub mylenia z innymi językami programowania, które mogą mieć podobne polecenia. Na koniec, <code>ERASE TABLE</code> również nie jest poprawnym poleceniem SQL. Może to być wynikiem intuicyjnego podejścia do nazewnictwa poleceń, ale w rzeczywistości SQL posługuje się innymi komendami. Kluczowe jest, by dobrze zrozumieć standardy języka SQL i znać właściwe polecenia dla zamierzonych operacji, aby uniknąć potencjalnie destrukcyjnych działań na bazie danych.

Pytanie 23

Jak wygląda prawidłowy zapis samozamykającego się znacznika w zgodzie ze standardem języka XHTML, który odpowiada za łamanie linii?

A. </ br>
B. <br />
C. </br/>
D. <br> </br>
Zapis </ br> jest niepoprawny, ponieważ nie przestrzega zasad składni XHTML. W XHTML nie używa się ukośnika przed znacznikiem, co powoduje, że znaczniki takie jak <br> są interpretowane jako błędne. Właściwie zapisany znacznik łamania linii zawsze powinien kończyć się ukośnikiem, co oznacza zgodność z regułami języka. Z kolei <br> </br> jest redundantny, ponieważ <br> jest znacznikiem samozamykającym się, a jego zamknięcie dodatkowymi znacznikami nie ma sensu i wprowadza niepotrzebny szum w kodzie. Odpowiedź </br/> również jest błędna, ponieważ kończy się niepoprawnym zapisem, gdzie nie jest dopuszczalne użycie ukośnika przed zamknięciem znacznika, co jest sprzeczne z zasadami XHTML. Użytkownicy często mylą składnię HTML z XHTML, co prowadzi do kodu, który może wydawać się poprawny, ale nie spełnia stricte określonych zasad składniowych. Dlatego korzystanie z poprawnych znaczników jest kluczowe dla zapewnienia, że dokumenty HTML/XHTML będą działać w różnych przeglądarkach i platformach, co jest niezbędne dla ich prawidłowego wyświetlania oraz przetwarzania.

Pytanie 24

Testy związane ze skalowalnością aplikacji mają na celu zweryfikowanie, czy program

A. jest chroniony przed nieautoryzowanymi działaniami, np. dzieleniem przez zero
B. jest właściwie opisany w dokumentacji
C. posiada odpowiednie funkcje
D. jest w stanie funkcjonować przy zaplanowanym i większym obciążeniu
Odpowiedź mówiąca o tym, że aplikacja potrafi działać przy zakładanym i większym obciążeniu, jest kluczowa, gdyż skalowalność oprogramowania odnosi się do zdolności systemu do efektywnego działania w warunkach wzrastającego zapotrzebowania na zasoby. Oznacza to, że aplikacja powinna być w stanie obsługiwać rosnącą liczbę użytkowników, transakcji lub innych operacji bez degradacji wydajności. Przykładem może być system e-commerce, który w okresie wyprzedaży musi obsługiwać znacznie więcej użytkowników niż w normalnych okolicznościach. Aby zapewnić skalowalność, programiści mogą wykorzystywać różne architektury, takie jak mikroserwisy, które pozwalają na niezależne skalowanie poszczególnych komponentów aplikacji. Dobre praktyki obejmują również wykorzystanie chmurowych rozwiązań, takich jak AWS czy Azure, które oferują elastyczność i automatyczne skalowanie w odpowiedzi na wzrost obciążenia. Warto także wdrażać mechanizmy monitorowania i optymalizacji wydajności, aby na bieżąco dostosowywać zasoby do potrzeb użytkowników.

Pytanie 25

SELECT ocena FROM oceny WHERE ocena > 2 ORDER BY ocena;
Załóżmy, że istnieje tabela oceny zawierająca kolumny id, nazwisko, imię oraz ocena. Przykładowe zapytanie ilustruje:
A. selekcję.
B. łączenie.
C. sumę.
D. rekurencję.
Zapytanie SQL przedstawione w pytaniu jest przykładem selekcji ponieważ wykorzystuje klauzulę WHERE do filtrowania danych. Selekcja w kontekście baz danych oznacza wybieranie konkretnych wierszy z tabeli które spełniają określone kryteria. W tym przypadku kryterium to ocena większa niż 2. Takie podejście jest bardzo powszechne i użyteczne w analizie danych pozwalając na uzyskanie tylko istotnych informacji spośród dużych zbiorów danych. Klauzula WHERE jest jednym z podstawowych narzędzi SQL wykorzystywanym w praktycznie każdym systemie zarządzania bazami danych jak MySQL PostgreSQL czy Oracle. Umożliwia ona tworzenie elastycznych i złożonych zapytań które mogą zawierać różnorodne warunki logiczne takie jak porównania czy wyrażenia regularne. Dobre praktyki w zakresie projektowania baz danych zalecają używanie selekcji do ograniczania ilości przetwarzanych danych co zwiększa wydajność systemów. Zrozumienie mechanizmu selekcji jest kluczowe dla skutecznego zarządzania i optymalizacji baz danych szczególnie w projektach o dużej skali.

Pytanie 26

Narzędziem do zarządzania bazą danych, które jest zintegrowane w pakiecie XAMPP, jest

A. SQLite
B. phpMyAdmin
C. MySQL Workbench
D. pgAdmin
phpMyAdmin jest popularnym narzędziem wbudowanym w pakiet XAMPP, które służy do zarządzania bazą danych MySQL. Umożliwia użytkownikom łatwe wykonywanie operacji takich jak tworzenie, edytowanie i usuwanie baz danych oraz tabel, a także zarządzanie użytkownikami i uprawnieniami. Interfejs phpMyAdmin jest oparty na przeglądarkach internetowych, co sprawia, że jego obsługa jest intuicyjna nawet dla osób bez zaawansowanej wiedzy technicznej. Przykładowo, można szybko importować lub eksportować dane w różnych formatach, takich jak SQL, CSV czy XML, co jest niezwykle przydatne podczas migracji danych między różnymi środowiskami. Standardy dobrych praktyk przewidują korzystanie z narzędzi takich jak phpMyAdmin w celu minimalizacji ryzyka błędów manualnych, a także w celu zwiększenia efektywności pracy z bazami danych. Dzięki phpMyAdmin, użytkownicy mogą również łatwo monitorować wydajność bazy danych i optymalizować zapytania, co jest kluczowe dla utrzymania wysokiej jakości aplikacji webowych.

Pytanie 27

W HTML-u, aby umieścić animację FLASH (z rozszerzeniem .swf) na stronie www, powinno się wykorzystać znacznik

A. <object>
B. <video>
C. <img>
D. <audio>
Użycie <audio>, <img> i <video> do wstawiania animacji FLASH jest błędne z kilku powodów. Znacznik <audio> jest tylko do dźwięku, więc nie załatwia sprawy z animacjami. <img> to tylko do wyświetlania statycznych obrazków, a nie czegoś interaktywnego jak animacje FLASH. A <video> też jest tylko dla plików wideo i w ogóle nie obsługuje FLASH. Wiesz, to wszystko często wynika z tego, że nie do końca wiadomo, jak te znaczniki działają. Ważne, żeby wiedzieć, jakie elementy HTML można użyć do różnych treści. No i nie oszukujmy się – technologia FLASH jest coraz mniej na czasie, lepiej iść w kierunku HTML5, bo to jest bezpieczniejsze i działa lepiej z obecnymi przeglądarkami. Użycie starszych technologii, jak FLASH, może przynieść problemy z kompatybilnością i bezpieczeństwem, więc to nie jest najlepszy pomysł w nowoczesnym web developmencie.

Pytanie 28

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

A. Progowanie.
B. Krzywe.
C. Inwersja.
D. Barwienie.
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 29

Który element blokowy języka HTML5 jest przeznaczony do umieszczenia w nim nawigacji witryny? 

A. main
B. nav
C. header
D. aside
Poprawnie wskazany został element <nav>, który w HTML5 jest semantycznym kontenerem przeznaczonym specjalnie na nawigację. Według specyfikacji HTML Living Standard element <nav> służy do grupowania głównych bloków odsyłaczy nawigacyjnych, takich jak menu główne, menu w stopce, menu kategorii czy paginacja. Przeglądarki, czytniki ekranu i różne narzędzia asystujące rozpoznają ten znacznik jako obszar nawigacyjny, co bardzo poprawia dostępność (accessibility) strony. Z mojego doświadczenia, gdy struktura jest zrobiona semantycznie, screen readery potrafią jednym skrótem klawiaturowym przeskoczyć do nawigacji, co jest ogromnym ułatwieniem dla użytkowników niewidomych. W praktyce w <nav> umieszczamy listy linków, najczęściej w postaci <ul><li><a>…</a></li></ul>. Przykładowo: <nav><ul><li><a href="/">Strona główna</a></li><li><a href="/oferta">Oferta</a></li><li><a href="/kontakt">Kontakt</a></li></ul></nav>. Taka konstrukcja jest zgodna z dobrymi praktykami front-endu: semantyczny HTML, czytelna struktura, łatwiejsze stylowanie w CSS i prostsza nawigacja w JavaScript. Co ważne, <nav> nie jest zwykłym divem – jego nazwa od razu mówi, do czego służy, co ułatwia pracę całego zespołu projektowego. W projektach komercyjnych często stosuje się kilka bloków <nav> na jednej stronie: główne menu w headerze, dodatkowe menu w stopce, czasem boczne menu kategorii. Standardy W3C dopuszczają to, pod warunkiem że te sekcje rzeczywiście służą do nawigowania. Dobrym zwyczajem jest nie umieszczać w <nav> pojedynczych przypadkowych linków w tekście artykułu – ten znacznik jest przewidziany dla istotnych struktur nawigacyjnych, a nie dla zwykłych hiperłączy w treści. Dzięki temu kod HTML pozostaje przejrzysty, łatwiej go walidować i utrzymywać w większych projektach.

Pytanie 30

Jaką postać ma kolor zdefiniowany w formacie szesnastkowym jako #11FE07 w modelu RGB?

A. rgb(17, 254, 7)
B. rgb(17, FE, 7)
C. rgb(ll, 127, 7)
D. rgb(17, 255, 7)
Odpowiedź rgb(17, 254, 7) jest jak najbardziej trafna, bo wartości RGB ustalamy na podstawie kolorów, które mamy w formacie szesnastkowym. Dla koloru #11FE07, pierwsza część '11' to czerwień (R), druga część 'FE' to zieleń (G), a ostatnia '07' to niebieski (B). Jak to zliczamy? Wartości szesnastkowe przeliczamy na dziesiętne. Czyli '11' w szesnastkowym to 17 w dziesiętnym, 'FE' to 254, a '07' to po prostu 7. Te kolory RGB są super ważne w wielu dziedzinach, jak na przykład w projektowaniu stron www czy w grafice komputerowej. W3C ustala standardy dla tych wartości, dlatego są one spójne i użyteczne w sieci. Dopasowanie kolorów RGB jest kluczowe, kiedy tworzymy ładne palety kolorów, które są nie tylko estetyczne, ale też dostępne dla wszystkich. Takim przykładem może być dobór kolorów dla przycisków na stronie - jak dobrze je dobierzemy, to użytkownik łatwiej zauważy, co ma kliknąć.

Pytanie 31

W systemie baz danych hurtowni utworzono tabelę sprzedaz z polami: id, kontrahent, grupa_cenowa, obrot. Jakie polecenie należy zastosować, aby znaleźć jedynie kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000zł?

A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000
B. SELECT sprzedaz FROM kontrahent WHERE obrot > 4000
C. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa = 2 AND obrot > 4000
D. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 OR obrot > 4000
Poprawna odpowiedź to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000;'. To polecenie SQL precyzyjnie spełnia wymagania postawione w pytaniu, ponieważ korzysta z operatora AND do jednoczesnego filtrowania kontrahentów w drugiej grupie cenowej oraz tych, których obrót przekracza 4000 zł. W praktyce, takie zapytanie jest niezwykle użyteczne w analizie danych w hurtowniach, umożliwiając wyodrębnienie tylko tych kontrahentów, którzy spełniają oba warunki, co jest kluczowe w procesach selekcji kontrahentów do dalszych działań marketingowych czy analizy rentowności. Warto zauważyć, że dobrym nawykiem jest dokładne określenie, które pola chcemy wyświetlić, a w tym przypadku 'kontrahent' wskazuje na konkretne dane, które są istotne dla analizy. Dodatkowo, stosowanie odpowiednich warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami w zakresie optymalizacji wydajności bazy danych, ponieważ pozwala na minimalizację ilości przetwarzanych danych oraz zwiększa przejrzystość wyników.

Pytanie 32

Jednym z atrybutów tabeli ksiazki jest pole czyWypozyczona, które może mieć dwie wartości: true lub false. Jaki typ danych będzie najbardziej odpowiedni dla tego pola?

A. DOUBLE
B. BOOLEAN
C. VARCHAR(5)
D. CHAR
Wybór typów DOUBLE, CHAR oraz VARCHAR(5) do reprezentowania stanu wypożyczenia książki jest nieadekwatny i może prowadzić do nieefektywnego zarządzania danymi. Typ DOUBLE, będący typem liczbowym zmiennoprzecinkowym, jest przeznaczony do przechowywania wartości numerycznych z wysoką precyzją, co jest całkowicie zbędne w kontekście binaryjnej reprezentacji stanu wypożyczenia. Użycie typu DOUBLE zwiększa obciążenie pamięci i niepotrzebnie komplikuje zapytania, co negatywnie wpływa na wydajność bazy danych. CHAR oraz VARCHAR(5) są typami tekstowymi, które również są niewłaściwe w tym kontekście. W przypadku CHAR, którego długość jest stała, musielibyśmy zarezerwować miejsce na cały ciąg znaków, co jest nieefektywne. Z kolei VARCHAR(5), choć jest dynamiczny, nadal nie odzwierciedla logicznego charakteru pola 'czyWypozyczona'. Zamiast prostego true/false, wprowadzamy zbędne komplikacje przy operacjach porównawczych i filtracji. Tego rodzaju błędne podejście może wynikać z mylenia reprezentacji danych - niektóre osoby mogą sądzić, że tekstowe lub liczbowe reprezentacje zapewniają większą elastyczność, co jest mylnym przekonaniem. Kluczowe w projektowaniu baz danych jest dobieranie typów danych odpowiednio do ich przeznaczenia, a w przypadku wartości logicznych najlepszym wyborem jest typ BOOLEAN.

Pytanie 33

Wskaź komentarz, który zajmuje wiele linii, w języku PHP?

A. <!-- -->
B. /* */
C. / /
D. #
Komentarze wieloliniowe w języku PHP są definiowane za pomocą znaków '/*' na początku i '*/' na końcu bloku tekstu, co pozwala na umieszczanie komentarzy obejmujących wiele linii. Tego rodzaju komentarze są niezwykle przydatne w sytuacjach, gdy chcemy opisać bardziej złożone fragmenty kodu, jak również w celu wyłączenia większych sekcji kodu podczas debugowania. Komentarze wieloliniowe są zgodne ze standardem PHP, co czyni je preferowanym rozwiązaniem w wielu projektach programistycznych. Przykład użycia: /* To jest komentarz komentarz wieloliniowy w PHP */. W odróżnieniu od komentarzy jedno-liniowych, które są ograniczone do jednej linii (używając // lub #), komentarze wieloliniowe umożliwiają umieszczanie dłuższych opisów. Ważne jest, aby używać komentarzy z umiarem, aby kod pozostał czytelny i zrozumiały dla innych programistów oraz dla przyszłych wersji projektu.

Pytanie 34

Jakie narzędzie pozwala na zaimportowanie pliku z danymi SQL do bazy danych MySQL?

A. FileZilla
B. Symfony 3
C. TotalCommander
D. phpMyAdmin
phpMyAdmin to popularne narzędzie webowe, które umożliwia zarządzanie bazami danych MySQL i MariaDB. Dzięki phpMyAdmin można łatwo importować pliki z danymi SQL do bazy danych. Proces importu jest prosty: wystarczy zalogować się do phpMyAdmin, wybrać odpowiednią bazę danych, a następnie skorzystać z opcji 'Import'. Użytkownik może wskazać plik SQL, który chce zaimportować, a phpMyAdmin zadba o resztę. To narzędzie obsługuje różne formaty plików, w tym .sql, co czyni je wszechstronnym rozwiązaniem. Dodatkowo, phpMyAdmin oferuje funkcje umożliwiające zarządzanie strukturą tabel, przeglądanie danych, a także eksportowanie danych do różnych formatów. Narzędzie to jest zgodne z międzynarodowymi standardami bezpieczeństwa i dostępności, co czyni je popularnym wyborem wśród programistów i administratorów baz danych. Przykładem użycia może być migracja danych z lokalnego środowiska deweloperskiego do produkcyjnego, gdzie import danych SQL jest kluczowym krokiem w procesie wdrożenia.

Pytanie 35

W tabeli zadania znajduje się pole tekstowe status. Jakie zapytanie należy użyć, aby usunąć te zadania, które mają status 'zamknięte'?

A. DELETE FROM zadania;
B. TRUNCATE TABLE zadania WHERE status = 'zamknięte';
C. TRUNCATE TABLE zadania;
D. DELETE FROM zadania WHERE status = 'zamknięte';
Odpowiedź DELETE FROM zadania WHERE status = 'zamknięte' jest poprawna, ponieważ wykorzystuje standardową składnię SQL do usuwania rekordów z tabeli na podstawie zadanych warunków. W tym przypadku, kwerenda ta usuwa tylko te wiersze, które mają wartość 'zamknięte' w polu status. Jest to podejście zgodne z dobrymi praktykami, ponieważ pozwala na precyzyjne określenie, które dane mają zostać usunięte, co minimalizuje ryzyko przypadkowego usunięcia innych rekordów. Na przykład, w systemie zarządzania projektami, możemy mieć wiele zadań z różnymi statusami, takimi jak 'otwarte', 'w trakcie', czy 'zamknięte'. Użycie tej kwerendy pozwala na oczyszczenie bazy danych z nieaktualnych zadań, co jest kluczowe dla utrzymania porządku i efektywności w zarządzaniu projektami. Ponadto, stosując tę metodę, możemy w przyszłości łatwo modyfikować warunki usuwania, na przykład zmieniając status na 'wstrzymane', zachowując elastyczność w zarządzaniu danymi.

Pytanie 36

Wskaź poprawną definicję funkcji w języku JavaScript.

A. new nazwa_funkcji(argumenty) {instrukcje;}
B. function nazwa_funkcji(argumenty) {instrukcje;}
C. typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}
D. nazwa_funkcji(argumenty) {instrukcje;}
Niepoprawne odpowiedzi zawierają błędne składnie, które nie są akceptowane w JavaScript. W pierwszej z tych odpowiedzi brakuje słowa kluczowego 'function', co czyni całą definicję niepoprawną. W JavaScript każda funkcja musi być zdefiniowana przy użyciu tego słowa kluczowego, aby interpreter mógł zrozumieć, że tworzymy funkcję. Kolejna odpowiedź wprowadza słowo kluczowe 'new', które jest używane przy tworzeniu nowych instancji obiektów, a nie funkcji. 'new' jest związane z konstruktorami i nie jest używane w definicji funkcji, co prowadzi do błędów w kodzie. Ostatnia niepoprawna odpowiedź sugeruje, że musimy określić typ zwracanej wartości, co nie jest wymagane w JavaScript, ponieważ język ten jest dynamicznie typowany. Oznacza to, że typy zmiennych są ustalane w czasie wykonywania, a nie w czasie kompilacji. W praktyce, programista nie musi określać typu funkcji ani argumentów, co odzwierciedla elastyczność języka i jego zdolność do obsługi różnych typów danych bez dodatkowych deklaracji.

Pytanie 37

W CSS, aby zmienić kolor czcionki dowolnego elementu HTML po najechaniu na niego kursorem, należy użyć pseudoklasy

A. :coursor
B. :visited
C. :active
D. :hover
Pseudoklasa :hover jest kluczowym elementem w CSS, umożliwiającym stylizację elementów HTML w momencie, gdy użytkownik najeżdża na nie kursorem myszy. Dzięki temu możemy w sposób dynamiczny zmieniać właściwości prezentacyjne, takie jak kolor czcionki, tło, obramowanie, a także inne atrybuty, co znacząco zwiększa interaktywność strony. Definiując regułę CSS z użyciem :hover, możemy na przykład zmienić kolor tekstu z szarego na niebieski, co przyciąga uwagę użytkownika. Przykładowa reguła CSS wygląda następująco: `a:hover { color: blue; }`, co oznacza, że elementy linków zmienią kolor na niebieski po najechaniu na nie kursorem. Pseudoklasa :hover jest zgodna z W3C CSS Specification i działa w większości nowoczesnych przeglądarek, co czyni ją niezbędnym narzędziem w arsenale każdego web developera. Używanie tej pseudoklasy pomaga w budowaniu responsywnych interfejsów użytkownika, które są bardziej przyjazne i angażujące. Poprawne zastosowanie :hover zwiększa również dostępność witryn, ponieważ użytkownicy mogą lepiej orientować się w interakcji z elementami strony.

Pytanie 38

Jakim zapisem w języku PHP można określić komentarz, który rozciąga się na wiele linii?

A. /*  */
B. //
C. <!-- -->
D. #
W języku PHP komentarz wieloliniowy definiuje się za pomocą zapisu /* */. Taki komentarz może obejmować wiele linii tekstu, co czyni go niezwykle przydatnym do opisywania fragmentów kodu, które są zbyt obszerne, by umieścić je w pojedynczej linii. Używanie komentarzy wieloliniowych pozwala programistom na dodawanie szczegółowych wyjaśnień dotyczących funkcji, algorytmów czy też sposobu działania poszczególnych sekcji kodu. Dobrą praktyką jest stosowanie takich komentarzy, aby ułatwić innym programistom zrozumienie kodu lub przypomnienie sobie samego siebie, co dany fragment robi. Przykładowo: /* Funkcja oblicza sumę dwóch liczb Parametr 1: pierwsza liczba Parametr 2: druga liczba Zwraca: suma obu liczb */ Ponadto, stosowanie komentarzy jest zgodne z zasadami programowania zorientowanego na zrozumiałość, które są kluczowe w projektach zespołowych oraz w długofalowym utrzymaniu kodu. Poprawne stosowanie komentarzy pomaga w dokumentowaniu kodu oraz w jego przyszłym rozwoju.

Pytanie 39

Plik graficzny powinien być zapisany w formacie GIF, gdy

A. jest potrzeba zapisu obrazu lub animacji
B. jest to obraz stereoskopowy
C. jest to grafika wektorowa
D. jest konieczność zapisu obrazu bez kompresji
Format GIF (Graphics Interchange Format) jest szeroko stosowany do zapisu obrazów oraz animacji. GIF obsługuje do 256 kolorów w palecie, co czyni go idealnym do grafiki komputerowej o prostych kolorach, takich jak ikony czy grafiki internetowe. Kluczową cechą GIF-a jest możliwość kompresji bezstratnej, co pozwala na zachowanie jakości obrazu przy stosunkowo niskiej wadze pliku. Jest to szczególnie istotne w przypadku animacji, gdzie różne klatki mogą być przechowywane w jednym pliku, umożliwiając płynne przejścia. GIF jest również kompatybilny z większością przeglądarek internetowych, co czyni go doskonałym wyborem do zastosowań internetowych. Przykładowo, animowane GIF-y są często wykorzystywane w mediach społecznościowych i na stronach internetowych do przyciągania uwagi, a ich prosta struktura sprawia, że są łatwe w implementacji i odtwarzaniu. Dodatkowo, standard GIF został ustalony przez Compuserve w 1987 roku i od tego czasu stał się jednym z najpopularniejszych formatów graficznych w sieci.

Pytanie 40

Wskaż funkcję PHP, która umożliwia zapisanie odczytanej zawartości pliku do zmiennej, która reprezentuje ciąg znaków?

A. file_get_contents()
B. eof()
C. get_file()
D. fwrite()
Odpowiedzi takie jak fwrite(), eof() oraz get_file() nie są prawidłowe w kontekście odczytu zawartości pliku do zmiennej. fwrite() jest funkcją przeznaczoną do zapisywania danych do pliku, co oznacza, że zamiast odczytu, jej zastosowanie polega na wprowadzaniu danych do plików, co jest odwrotne do potrzebnego działania. eof() natomiast sprawdza, czy osiągnięto koniec pliku, ale nie ma związku z odczytem zawartości pliku do zmiennej; jest to funkcja używana w kontekście strumieni plikowych. Wreszcie, get_file() nie jest standardową funkcją PHP i nie istnieje w dokumentacji PHP. Tego rodzaju błędy mogą wynikać z nieporozumienia dotyczącego funkcji i ich zastosowania w PHP. Ważne jest, aby przy wyborze funkcji kierować się ich specyfiką i przeznaczeniem. Właściwa wiedza na temat dostępnych funkcji oraz ich właściwego użycia jest kluczowa w programowaniu, aby uniknąć błędów logicznych i technicznych w kodzie.