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: 26 maja 2026 19:47
  • Data zakończenia: 26 maja 2026 20:15

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

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

Aby uzyskać przezroczyste tło w obrazie formatu JPG, należy wykonać

A. właściwe przycięcie
B. użycie filtru Gaussa
C. dodanie kanału alfa
D. korekcję nasycenia kolorów
Dodanie kanału alfa do obrazu JPG jest kluczowym krokiem, aby uzyskać przezroczystość tła. Format JPG, z definicji, nie obsługuje przezroczystości, dlatego konieczne jest przekształcenie obrazu do formatu, który to umożliwia, takiego jak PNG. Kanał alfa to dodatkowa warstwa, która przechowuje informacje o przezroczystości dla każdego piksela obrazu, pozwalając na uzyskanie efektu przezroczystości. Aby dodać kanał alfa, można skorzystać z programów graficznych takich jak Adobe Photoshop, GIMP czy Affinity Photo. Przykładowo, w Photoshopie można użyć funkcji 'Zaznaczenie i maska', aby wyodrębnić obiekt z tła, a następnie zapisać go z kanałem alfa jako PNG. Użycie kanału alfa jest standardową praktyką w edytowaniu grafiki, szczególnie w kontekście tworzenia logo, grafik do stron internetowych i zasobów do gier wideo, gdzie przezroczystość odgrywa kluczową rolę w integracji elementów wizualnych.

Pytanie 2

Na ilustracji pokazano tabelę z połączonymi komórkami. Jakie atrybuty scalania zastosowano, aby uzyskać ten efekt?

Ilustracja do pytania
A. colspan w drugim wierszu i pierwszej komórce oraz rowspan w trzecim wierszu i czwartym wierszu
B. colspan w drugim wierszu we wszystkich trzech komórkach oraz rowspan w trzecim wierszu ostatniej komórce
C. rowspan w drugim wierszu i pierwszej komórce oraz colspan w trzecim wierszu, trzeciej komórce
D. colspan w drugim wierszu i pierwszej komórce oraz rowspan w trzecim wierszu, trzeciej komórce
Niepoprawne odpowiedzi wynikają z błędnego przypisania atrybutów colspan i rowspan w tabeli HTML. Rozważając zastosowanie rowspan w drugim wierszu i pierwszej komórce, błędnie zakłada się, że komórka ta miałaby rozciągać się na kilka wierszy, co nie jest prawdą dla przedstawionego układu. Zastosowanie colspan w trzecim wierszu i trzeciej komórce również jest nieprawidłowe, gdyż komórki te nie są rozciągane poziomo na kilka kolumn. Kolejne błędne przypisanie to colspan we wszystkich trzech komórkach drugiego wiersza - w rzeczywistości tylko jedna z komórek wymaga takiego scalania, aby uzyskać pokazany efekt. Podobnie, użycie rowspan w czwartym wierszu nie znajduje zastosowania w załączonym obrazie, gdzie komórki są jednolicie rozmieszczone. Takie błędy w zrozumieniu mechaniki tabel HTML mogą wynikać z braku doświadczenia z praktycznym zastosowaniem tych atrybutów. Ważne jest, aby dokładnie analizować strukturę tabel i zrozumieć specyfikę ich projektowania, co pozwala na poprawne i efektywne wykorzystanie dostępnych narzędzi. Edukacja w zakresie semantyki HTML i praktyczne ćwiczenia mogą znacznie poprawić umiejętność tworzenia i zarządzania złożonymi układami tabelarycznymi na stronach internetowych, a także przyczynić się do lepszej dostępności i responsywności stron.

Pytanie 3

Pojęcie krotka odpowiada

A. kolumnie
B. relacji
C. tabeli
D. wierszowi
Krotka to struktura danych, która reprezentuje pojedynczy wiersz w tabeli relacyjnej. W kontekście baz danych krotka składa się z zestawu wartości, z których każda odpowiada kolumnie w tej tabeli. Przykładowo, w przypadku tabeli 'Użytkownicy', krotka może zawierać informacje o jednym użytkowniku, takie jak imię, nazwisko, adres e-mail i data rejestracji. Używanie krotek w bazach danych jest zgodne z koncepcją relacyjnych baz danych, gdzie dane organizowane są w tabelach, a każda krotka jest unikalnym wpisem. W praktyce programiści często korzystają z krotek w językach programowania, takich jak Python, gdzie krotki są używane do grupowania danych, które nie powinny być modyfikowane. Dzięki zastosowaniu krotek zwiększa się czytelność kodu i ułatwia jego zarządzanie. W kontekście standardów, krotki odzwierciedlają zasady normalizacji danych, co jest kluczowe dla utrzymania integralności oraz spójności danych w bazach.

Pytanie 4

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. wykluczenia.
C. części wspólnej.
D. grupowania.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 5

SELECT ocena FROM oceny WHERE ocena>2 ORDER BY ocena;
Dana jest tabela oceny o polach id, nazwisko, imie, ocena. Przedstawione zapytanie jest przykładem:
A. sumowania
B. selekcji
C. łączenia
D. projekcji
Zapytanie SQL, które przedstawiłeś, jest naprawdę świetnym przykładem selekcji. Dzięki niemu można wyciągnąć konkretne dane z tabeli 'oceny'. Selekcja to nic innego jak filtracja danych według ustalonych kryteriów, a w tym przypadku chodzi o to, że 'ocena' musi być większa niż 2. Użycie klauzuli WHERE w SQL pozwala na efektywne wyodrębnienie danych spełniających te wymagania. A jak dodasz do tego klauzulę ORDER BY, to możesz posortować wyniki według wybranej kolejności, co jest naprawdę przydatne w różnych analizach. Takie operacje są kluczowe w pracy z bazami danych, bo dzięki nim zdobywasz konkretną wiedzę bez przeszukiwania całej bazy. W praktyce widać to w raportach, gdzie często potrzebne są tylko konkretne dane, przykładowo żeby sprawdzić, którzy studenci osiągnęli określony poziom ocen. Selekcja daje ci możliwość efektywnego zarządzania danymi, a to według mnie bardzo ważne, zwłaszcza w analizach.

Pytanie 6

W języku JavaScript zdefiniowano następującą funkcję:

function fun1(f) {
    if (f < 0) f = f * (-1);
    return f;
}
Jej celem jest:
A. Wypisać wartość bezwzględną argumentu f
B. Wypisać wartość odwrotną do argumentu f
C. Zwrócić wartość bezwzględną argumentu f
D. Zwrócić wartość odwrotną do argumentu f
Niepoprawne odpowiedzi wynikają z niepełnego zrozumienia funkcji i jej założeń. Wypisanie wartości bezwzględnej z f sugerowałoby że funkcja korzysta z mechanizmu wyjściowego takiego jak console.log co nie ma miejsca w tym przypadku. Funkcja jedynie zwraca wynik za pomocą return a nie wypisuje go na konsolę. Zwrócenie wartości odwrotnej do f oznaczałoby że funkcja miałaby inny cel: przekształcenie liczby na jej odwrotność czyli wartość 1/f co wymagało by dodatkowej logiki i warunkowania aby uniknąć dzielenia przez zero. Podobnie wypisanie wartości odwrotnej do f również wskazywałoby na potrzebę użycia mechanizmu wyjściowego a nie tylko return. Kluczowym błędem w takich rozumowaniach jest nieodróżnianie funkcji zwracających wartość od tych które wypisują wynik oraz niedocenienie znaczenia przekształcania wartości co jest fundamentem programowania funkcyjnego. Dobre praktyki programistyczne wymagają jasno zdefiniowanego celu funkcji co w tym przypadku jest poprawnie zrealizowane poprzez zwracanie wartości bezwzględnej co jest częstym i użytecznym wzorcem w wielu zastosowaniach praktycznych.

Pytanie 7

Dane są liczby całkowite różne od zera w tablicy nazwanej tab. Podany poniżej kod w języku PHP ma na celu

Ilustracja do pytania
A. obliczenie wartości bezwzględnej poszczególnych elementów tablicy
B. zmienić wartości tablicy na te zapisane w zmiennej liczba
C. wyliczenie iloczynu wszystkich wartości w tablicy
D. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
Kod pokazany na obrazku używa konstrukcji foreach z operatorem referencji ampersand aby iterować po tablicy tab i zmieniać każdy jej element. Operator referencji & pozwala na bezpośrednią modyfikację wartości w tablicy. Instrukcja $liczba = $liczba * (-1) w pętli foreach zmienia znak każdej liczby na przeciwny co oznacza że dodatnie liczby stają się ujemne a ujemne stają się dodatnie. Dzięki temu możliwe jest szybkie odwrócenie znaków wszystkich elementów w tablicy co jest powszechnie stosowane w programowaniu aby przygotować dane do dalszych operacji matematycznych lub analizy. Unset($liczba) jest używane po pętli aby odłączyć referencję co jest dobrą praktyką zapobiegającą przypadkowym modyfikacjom przyszłych danych. Zastosowanie tego wzorca jest efektywne i pozwala na bezpieczną manipulację strukturą danych w PHP. Technika ta jest użyteczna nie tylko w kontekście matematycznym ale również w przypadkach gdzie wymagane jest szybkie przetwarzanie dużych ilości danych.

Pytanie 8

Aby zrealizować opisane czynności w JavaScript, konieczne jest umieszczenie poniższego kodu w znaczniku <script>

Ilustracja do pytania
A. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
B. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
C. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A)
D. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: "+A)
W JavaScript użycie funkcji prompt() pozwala na wyświetlenie okna dialogowego, które umożliwia użytkownikowi wprowadzenie danych. W przypadku poprawnej odpowiedzi kod A = prompt('Podaj kwalifikację: '); document.write('Kwalifikacja: '+A); realizuje dokładnie te kroki. Funkcja prompt() czeka na wprowadzenie danych przez użytkownika i zwraca wprowadzaną wartość, która jest następnie przypisywana do zmiennej A. Następnie document.write() jest używane do bezpośredniego wstawienia zawartości zmiennej A na stronę internetową w połączeniu z tekstem 'Kwalifikacja: '. To podejście jest zgodne z dobrymi praktykami tworzenia aplikacji internetowych, gdzie dynamiczne wprowadzanie danych przez użytkownika i ich wyświetlanie jest kluczowe. Używanie prompt() jest powszechne w prostych aplikacjach do interakcji z użytkownikiem, lecz w bardziej zaawansowanych projektach zaleca się korzystanie z bardziej zaawansowanych metod jak formularze HTML czy asynchroniczne żądania sieciowe. Niemniej jednak, zrozumienie działania prompt() oraz document.write() jest podstawowe dla tworzenia dynamicznych stron WWW i stanowi fundament dalszej nauki w JavaScript.

Pytanie 9

Wykonano następującą kwerendę na tabeli Pracownicy:

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;

Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?

idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Anna, Maria, Ewa.
B. Monika, Ewelina, Maria.
C. Tylko Anna.
D. Tylko Maria.
Gratulacje, udzielona odpowiedź jest prawidłowa! Wykonana kwerenda SQL 'SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;' zwraca imiona pracowników, którzy albo mają nazwisko 'Kowal', albo zajmują stanowisko o numerze większym niż 2. W kontekście przedstawionej tabeli pracowników, taka kwerenda zwróci nam poprawną odpowiedź 'Anna, Maria, Ewa'. To dlatego, że Anna pracuje na stanowisku 3, co jest większe niż 2, Maria ma nazwisko 'Kowal', a Ewa pracuje na stanowisku 4, które jest również większe niż 2. SQL jako język zapytań pozwala na efektywne zarządzanie danymi, niezależnie od skomplikowania zapytania. W praktyce, gdy mamy do czynienia z dużym zbiorem danych, takie zapytania pomagają w szybkim filtrowaniu i dostępie do potrzebnych informacji. Dobrym standardem jest wymyślanie i testowanie zapytań SQL w celu zrozumienia, jakie dane zostaną zwrócone, zanim zapytanie zostanie użyte w prawdziwej aplikacji lub systemie.

Pytanie 10

Który z elementów w sekcji head dokumentu HTML 5 jest obowiązkowy według walidatora HTML, a jego niedobór skutkuje błędem (error)?

A. title
B. link
C. style
D. meta
Odpowiedzi wskazujące na znaczniki takie jak „style”, „link” czy „meta” mogą wprowadzać w błąd, jeśli chodzi o ich rolę w dokumentach HTML. Znacznik „style” jest używany do osadzania arkuszy stylów CSS i jest istotny dla prezentacji wizualnej, jednak nie jest wymagany do prawidłowego działania strony w kontekście walidacji. Podobnie znacznik „link” jest kluczowy dla łączenia zasobów zewnętrznych, takich jak pliki CSS, ale jego brak nie prowadzi do błędów w walidacji HTML. Z kolei znacznik „meta” pozwala na definiowanie metadanych, takich jak opis strony czy słowa kluczowe, które również są istotne z perspektywy SEO, ale nie są obligatoryjne w każdej sytuacji. Typowym błędem myślowym jest sądzenie, że wszystkie te znaczniki są równie niezbędne jak „title”. Warto pamiętać, że tylko znacznik „title” ma bezpośrednie znaczenie dla walidacji HTML i jest wymagany, aby dokument był zgodny z normami. Brak „title” może prowadzić do negatywnych konsekwencji zarówno w zakresie walidacji, jak i SEO, co podkreśla znaczenie każdej struktury w dokumencie HTML. Dlatego ważne jest, aby zrozumieć, jaka jest rola poszczególnych znaczników w budowie dokumentów HTML oraz jakie są ich konsekwencje w kontekście standardów sieciowych.

Pytanie 11

W PHP zmienna typu float może przyjmować wartości

A. jedynie całkowite.
B. logiczne.
C. zmiennoprzecinkowe.
D. nieliczbowe.
Odpowiedź 'zmiennoprzecinkowe' jest poprawna, ponieważ w języku PHP zmienne typu float służą do przechowywania liczb rzeczywistych, które mogą mieć część dziesiętną. W PHP typ float jest bardzo przydatny w wielu zastosowaniach, takich jak obliczenia finansowe, naukowe czy inżynieryjne, gdzie dokładność pomiarów ma kluczowe znaczenie. Przykładem może być obliczanie wartości procentowych, średnich czy skomplikowanych operacji matematycznych, w których konieczne jest uwzględnienie wartości dziesiętnych. W praktyce, aby zadeklarować zmienną typu float, wystarczy przypisać jej wartość z częścią dziesiętną, na przykład: $cena = 19.99; Warto pamiętać, że w PHP zmienne typu float mogą być nieco niedokładne na skutek sposobu przechowywania liczb w pamięci komputera, co może prowadzić do błędów zaokrągleń, dlatego w krytycznych obliczeniach zaleca się stosowanie typów precyzyjnych lub bibliotek do obliczeń matematycznych.

Pytanie 12

Zamieszczony kod w języku PHP

Ilustracja do pytania
A. określa tablicę z sześcioma wartościami
B. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite
C. jest niepoprawny, nieznany operator =>
D. definiuje tablicę z trzema wartościami
Kod przedstawiony w pytaniu to przykład definiowania tablicy asocjacyjnej w języku PHP. Tablica asocjacyjna to struktura danych, która pozwala na przechowywanie wartości związanych z kluczami, które nie muszą być liczbami. W tym przypadku kluczami są łańcuchy znaków: 'imie', 'nazwisko' oraz 'wiek'. Każdy klucz ma przypisaną wartość: 'Anna', 'Nowak' oraz 21. Zatem tablica ta rzeczywiście zawiera trzy pary klucz-wartość. Operator '=>' jest używany w PHP do przypisywania wartości kluczom w tablicach asocjacyjnych. Jest to poprawna składnia i bardzo popularny sposób reprezentowania danych, zwłaszcza w kontekście baz danych i przetwarzania formularzy, gdzie każda wartość ma swoje unikalne znaczenie i klucz. W praktyce tablice asocjacyjne są używane do przechowywania danych, które nie mają charakteru sekwencyjnego, ale są raczej zestawem właściwości lub atrybutów obiektu. Stosowanie tablic asocjacyjnych z odpowiednimi kluczami wspiera czytelność kodu i ułatwia jego zarządzanie zwłaszcza w większych projektach gdzie zrozumienie struktury danych odgrywa kluczową rolę.

Pytanie 13

W kodzie HTML zamieszczono link do strony internetowej:

<a href="http://google.com">strona Google</a>
Jakie dodatkowe zmiany należy wprowadzić, aby link otwierał się w nowym oknie lub zakładce przeglądarki, dodając do definicji linku odpowiedni atrybut?
A. target = "_parent"
B. rel = "next"
C. rel = "external"
D. target = "_blank"
Atrybut target w HTML ma na celu określenie, w jaki sposób ma być otwierany odnośnik. Wartość _blank wskazuje przeglądarkę, że nowa strona powinna zostać otwarta w nowym oknie lub zakładce. Jest to istotne dla poprawy użyteczności strony internetowej, gdyż użytkownicy mogą łatwo wrócić do oryginalnej strony po otwarciu nowego linku. W kontekście dobrych praktyk w projektowaniu stron internetowych, otwieranie odnośników w nowym oknie jest zalecane w przypadku linków zewnętrznych, aby użytkownik nie opuścił aktualnej witryny. Przykładem zastosowania jest link do dokumentacji czy zasobów zewnętrznych, gdzie ma to na celu zachowanie kontekstu przeglądania. Stosując ten atrybut, warto jednak pamiętać o tym, aby nie nadużywać go, ponieważ może to być irytujące dla użytkowników, którzy wolą kontrolować, kiedy nowe okno jest otwierane. Warto również pamiętać, że w nowoczesnych standardach HTML5 atrybut target jest często stosowany w połączeniu z atrybutem rel, aby określić, czy link jest zaufany czy nie. Umożliwia to jeszcze lepsze zarządzanie bezpieczeństwem użytkowników.

Pytanie 14

Jakie działanie wykonuje poniższy fragment kodu w języku JavaScript? n = "Napis1"; s = n.length;

A. Przypisuje do zmiennej s wartość odpowiadającą długości napisu z zmiennej n
B. Przypisuje wartość zmiennej n do zmiennej s
C. Przypisuje do zmiennej s część napisu z zmiennej n, o długości określonej przez zmienną length
D. Zwraca długość napisu zawartego w zmiennej n
Fragment skryptu w języku JavaScript, w którym zmienne n i s są definiowane, wykonuje przypisanie wartości długości napisu z zmiennej n do zmiennej s. Metoda length jest właściwością obiektów typu string, która zwraca liczbę znaków w danym napisie. W tym przypadku, jeśli zmienna n zawiera napis "Napis1", to zmienna s po wykonaniu tego skryptu przyjmie wartość 6, ponieważ napis ten składa się z 6 znaków. Praktyczne zastosowanie tej funkcji polega na możliwości dynamicznego określenia długości wprowadzanych danych, co jest kluczowe przy walidacji formularzy, obliczaniu rozmiaru danych czy tworzeniu interfejsów użytkownika. Dobrą praktyką w programowaniu jest zawsze uwzględnienie długości napisu w algorytmach przetwarzania tekstu, aby uniknąć błędów podczas operacji na stringach. Warto również wiedzieć, że w JavaScript właściwość length nie wymaga wywołania metody, co jest zgodne z ogólnym założeniem o uproszczeniu użycia obiektów, a tym samym podnosi czytelność kodu.

Pytanie 15

Która z metod komentowania kodu nie jest używana w PHP?

A. // komentarz
B. /* komentarz */
C. # komentarz
D. <!-- komentarz -->
Pierwsze trzy odpowiedzi sugerują metody komentowania, które są rzeczywiście stosowane w PHP, co może prowadzić do zamieszania. Komentarz zaczynający się od znaku '#' jest często używany w innych językach programowania, takich jak Bash czy Python, ale nie jest dozwolony w PHP. Użycie '#' w PHP spowoduje błąd podczas wykonania skryptu, ponieważ interpreter PHP nie rozpoznaje tego znaku jako oznaczenia początku komentarza. Podobnie, komentarz oznaczony jako '//' dla jednoliniowych komentarzy oraz '/* ... */' dla wieloliniowych komentarzy są standardowo stosowane w PHP i pozwalają na tworzenie jasnych oraz zrozumiałych sekcji kodu. Dzięki nim programiści mogą łatwo wprowadzać objaśnienia lub wykluczać fragmenty kodu bez ich usuwania. Użycie dobrze ustrukturyzowanych komentarzy jest kluczowe dla wsparcia przyszłych zespołów developerskich w rozwoju projektów. Ponadto, niepoprawne podejście do komentowania kodu może prowadzić do błędów i nieporozumień w zespole. Komentarze pełnią funkcję dokumentacyjną i powinny jasno opisywać logikę kodu, co jest istotne w kontekście rozwoju oprogramowania, w szczególności w dużych projektach, gdzie wiele osób pracuje nad tym samym kodem. Dlatego ważne jest, aby stosować właściwe metody i unikać potencjalnych pułapek związanych z używaniem niepoprawnych składni komentarzy.

Pytanie 16

Funkcja agregująca MIN w SQL ma na celu obliczenie

A. długości tekstu w rekordach zwróconych przez kwerendę
B. liczby wierszy, które zostały zwrócone przez kwerendę
C. wartości najmniejszej w kolumnie wynikowej kwerendy
D. średniej wartości różnych pól w rekordzie zwróconym przez zapytanie
Funkcja agregująca MIN w języku SQL służy do obliczania wartości minimalnej w kolumnie zwróconej przez kwerendę. Działa ona na zbiorze rekordów i zwraca najmniejszą wartość spośród wartości znalezionych w specyfikowanej kolumnie. Przykładowo, jeśli w naszej bazie danych mamy tabelę 'Pracownicy' z kolumną 'Wynagrodzenie', zapytanie SQL 'SELECT MIN(Wynagrodzenie) FROM Pracownicy;' zwróci najniższe wynagrodzenie wśród wszystkich pracowników. Funkcja ta jest niezwykle przydatna w analizie danych, gdzie często chcemy zidentyfikować najniższe wartości, na przykład w raportach finansowych czy w analizach jakości danych. Dobrze jest też pamiętać, że MIN może być używana w połączeniu z klauzulą GROUP BY, co pozwala na uzyskanie minimalnych wartości w podgrupach danych, co jest standardem w analityce danych w SQL.

Pytanie 17

W bazie danych znajdują się dwie tabele, które są ze sobą połączone relacją 1..n. Jakiej klauzuli SQL należy użyć, aby uzyskać odpowiadające sobie dane z obu tabel?

A. AND
B. OUTER LINK
C. JOIN
D. INNER LINK
Klauzula JOIN w SQL służy do łączenia tabel w bazie danych, pozwalając na pobranie powiązanych danych z różnych tabel. W przypadku relacji 1..n, przy której jedna tabela (nazwa tabeli `A`) może mieć wiele powiązanych rekordów w drugiej tabeli (nazwa tabeli `B`), klauzula JOIN jest idealna do uzyskania korespondujących wartości z obu tabel. Przykład zastosowania to: SELECT A.*, B.* FROM A JOIN B ON A.id = B.a_id; W powyższym zapytaniu `A.id` to klucz główny tabeli `A`, a `B.a_id` to klucz obcy w tabeli `B`, który odnosi się do `A`. Klauzula JOIN może przyjmować różne formy, takie jak INNER JOIN, LEFT JOIN, RIGHT JOIN, i FULL JOIN, które różnią się sposobem łączenia danych i wynikami. JOIN jest standardem SQL, co oznacza, że jest wspierany przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, Oracle, czy Microsoft SQL Server. Użycie klauzuli JOIN jest kluczowe w relacyjnych bazach danych, gdzie dane są rozdzielone w różnych tabelach, ale muszą być analizowane łącznie.

Pytanie 18

Który standard video cechuje się rozdzielczością 1920 px na 1080 px?

A. HD Ready
B. 4K
C. Ultra HD 
D. Full HD
Rozdzielczość 1920 × 1080 pikseli jest bardzo charakterystyczna i w branży funkcjonuje pod nazwą Full HD. Pomyłki biorą się często z tego, że nazwy handlowe typu 4K, Ultra HD czy HD Ready brzmią podobnie, a producenci sprzętu lubią je mieszać w reklamach. W efekcie wiele osób kojarzy „HD” ogólnie z dobrą jakością i nie rozróżnia konkretnych standardów. Tymczasem 4K oraz Ultra HD to wyraźnie wyższe rozdzielczości niż 1920×1080. Typowe konsumenckie 4K/UHD to 3840×2160 pikseli, czyli cztery razy więcej pikseli niż Full HD. To oznacza znacznie większą szczegółowość obrazu, ale również większe pliki, większe obciążenie łącza i sprzętu. W projektach webowych stosuje się 4K raczej do materiałów premium, dużych ekranów, telewizorów czy kin domowych, a nie jako standard „podstawowy”. Z kolei HD Ready to niższa rozdzielczość, zwykle 1280×720 pikseli (720p). Ten standard był popularny w starszych telewizorach i tańszych monitorach. W materiałach internetowych 720p traktuje się dziś jako minimum akceptowalnej jakości wideo, ale zdecydowanie nie jest to 1920×1080. Typowy błąd myślowy polega na tym, że ktoś widzi na obudowie telewizora napis „HD Ready” czy „HD” i automatycznie zakłada, że chodzi o Full HD, bo „przecież to też HD”. Niestety, marketing robi tu swoje. Dobra praktyka w pracy z multimediami jest taka, żeby zawsze patrzeć na konkretne wartości w pikselach, a nie tylko na hasło reklamowe. Dzięki temu, przygotowując treści na stronę WWW, do e‑learningu czy do materiałów promocyjnych, można świadomie dobrać rozdzielczość: 1280×720, gdy zależy nam na małej wadze pliku, 1920×1080 (Full HD) jako standard, a 4K/UHD raczej do zastosowań specjalnych, dużych ekranów i wysokiej klasy prezentacji. Rozpoznawanie tych różnic to podstawa pracy z grafiką i wideo w środowisku webowym.

Pytanie 19

Jaką kompetencję społeczną możemy przypisać osobie, która potrafi wyrażać swoje zdanie oraz argumentować swoje racje, nie naruszając przy tym granic własnych i innych ludzi?

A. Empatia
B. Asertywność
C. Konformizm
D. Akomodacja
Empatia, akomodacja i konformizm to pojęcia, które choć związane z interakcjami społecznymi, nie oddają istoty umiejętności wyrażania własnego zdania w sposób asertywny. Empatia, często mylona z asertywnością, odnosi się do zdolności do rozumienia uczuć i perspektyw innych ludzi. Osoba empatyczna może dostrzegać, co czują inni, ale niekoniecznie jest w stanie wyrażać swoje własne zdanie w sposób, który nie narusza ich przestrzeni. Akomodacja z kolei polega na dostosowywaniu się do potrzeb i oczekiwań innych, często kosztem własnych przekonań, co stoi w sprzeczności z asertywnym wyrażaniem siebie. Osoba stosująca akomodację może unikać konfliktów, lecz nie zyskuje na autentyczności ani nie rozwija umiejętności obrony własnych racji. Konformizm natomiast to tendencja do dostosowywania się do norm grupowych, co może prowadzić do rezygnacji z osobistych przekonań. Chociaż konformizm może pomagać w budowaniu relacji, często wymaga poświęcenia indywidualności, co jest niewłaściwe w kontekście asertywności. W praktyce, zbyt duży nacisk na empatię, akomodację czy konformizm może prowadzić do problemów komunikacyjnych i utraty osobistej tożsamości, co nie jest zgodne z ideą asertywnego wyrażania swoich poglądów.

Pytanie 20

W programie napisanym w języku C++ należy wczytać zmienną całkowitą o nazwie liczba i wyświetlić ją tylko w przypadku, gdy przyjmuje trzycyfrowe wartości parzyste. Instrukcja warunkowa, która to sprawdza, powinna być oparta na wyrażeniu logicznym

A. liczba % 2 == 0 || liczba > 99 || liczba < 999
B. liczba % 2 == 0 || (liczba > 99 && liczba < 999)
C. liczba % 2 == 0 && (liczba > 99 || liczba < 999)
D. liczba % 2 == 0 && liczba > 99 && liczba < 999
Odpowiedź jest poprawna, ponieważ zawiera wszystkie niezbędne warunki do sprawdzenia, czy liczba jest parzysta i ma trzy cyfry. Warunek 'liczba % 2 == 0' sprawdza, czy liczba jest parzysta, co jest kluczowe, ponieważ tylko parzyste liczby mogą być wyświetlane zgodnie z założeniem programu. Dodatkowo, warunki 'liczba > 99' oraz 'liczba < 999' zapewniają, że liczba jest trzycyfrowa. Użycie operatora logicznego AND ('&&') jest tutaj odpowiednie, ponieważ wszystkie te warunki muszą być spełnione jednocześnie, aby liczba mogła zostać wyświetlona. Praktyczne zastosowanie tej logiki można znaleźć w wielu aplikacjach, gdzie wprowadzanie danych musi być weryfikowane, na przykład w systemach bankowych, gdzie liczby muszą spełniać określone kryteria. Dzięki temu weryfikacja danych wejściowych staje się bardziej efektywna, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 21

Została stworzona baza danych z tabelą podzespoły, która zawiera pola: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowanych od najniższej do najwyższej ceny, należałoby użyć kwerendy:

A. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC
B. SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoły ASC
C. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC
D. SELECT model FROM podzespoły WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC
Wybrana kwerenda jest poprawna, ponieważ dokładnie spełnia wymagania zadania. Użycie klauzuli SELECT do wyboru pola 'model' z tabeli 'podzespoły' pozwala na uzyskanie właściwych informacji. Warunek WHERE ogranicza wyniki do tych, które dotyczą pamięci RAM (typ='RAM') oraz producenta Kingston (producent='Kingston'). Kluczowym elementem tej kwerendy jest zastosowanie ORDER BY cena ASC, które sortuje wyniki według ceny w porządku rosnącym, co jest zgodne z wymaganiem wyświetlenia modeli od najtańszej do najdroższej. Przykłady zastosowania takiej kwerendy mogą obejmować systemy zarządzania zapasami, gdzie klienci poszukują najlepszych ofert, czy aplikacje e-commerce, które chcą dostarczyć użytkownikom najbardziej korzystne opcje zakupowe. Stosowanie jasnych i precyzyjnych kwerend SQL, według dobrych praktyk branżowych, jest kluczowe dla wydajności i przejrzystości danych.

Pytanie 22

Jakiego zdarzenia należy użyć, aby funkcja JavaScript była uruchamiana za każdym razem, gdy użytkownik wprowadzi jakikolwiek znak w polu edycji?

A. onkeydown
B. onload
C. onmouseout
D. onclick
Odpowiedź 'onkeydown' jest poprawna, ponieważ to zdarzenie jest wywoływane za każdym razem, gdy użytkownik naciśnie klawisz na klawiaturze, a zatem idealnie nadaje się do sytuacji, gdy chcemy reagować na wprowadzanie tekstu w polu edycji. W praktyce oznacza to, że nasza funkcja może być użyta do natychmiastowego przetwarzania danych wprowadzanych przez użytkownika, co jest szczególnie istotne w przypadku dynamicznych interfejsów użytkownika. Na przykład, możemy wykorzystać 'onkeydown' do implementacji funkcji autouzupełniania, gdzie na bieżąco prezentujemy możliwe opcje na podstawie wprowadzanego tekstu. Dobrą praktyką jest również umieszczanie dodatkowych warunków, aby nasza funkcja nie była wywoływana dla klawiszy, które nie mają znaczenia dla wprowadzania tekstu, takich jak klawisze funkcyjne czy kombinacje klawiszy. Warto również zrozumieć, że istnieją inne zdarzenia, takie jak 'input', które mogą być użyte w podobnym kontekście, ale 'onkeydown' daje bardziej bezpośrednią kontrolę nad interakcją użytkownika.

Pytanie 23

Która lista jest interpretacją przedstawionego kodu?

<ol>
    <li>muzyka
        <ul>
            <li>Wpis1</li>
            <li>Wpis2</li>
        </ul>
    </li>
    <li>filmy
        <ul>
            <li>Wpis3</li>
            <li>Wpis4</li>
        </ul>
    </li>
</ol>
A. Lista uporządkowana z dwoma składnikami, z których każdy ma wewnętrzną listę nieuporządkowaną.
B. Lista uporządkowana z sześcioma następującymi elementami.
C. Lista uporządkowana z podpunktami zapisanymi w formie numeracji dziesiętnej (np. 1.1, 1.2).
D. Lista nieuporządkowana zawierająca wszystkie składniki, jeden za drugim.
Przedstawiony kod HTML jest przykładem zagnieżdżonych list uporządkowanych i nieuporządkowanych. Na poziomie głównym użyto listy uporządkowanej oznaczonej tagiem <ol> która tworzy listę numerowaną. Listy zagnieżdżone opisane są za pomocą tagu <ul> co oznacza listy nieuporządkowane punktowane. Wewnętrzna struktura kodu pokazuje jak zagnieżdżać listy aby tworzyć hierarchiczne struktury które są często stosowane na stronach internetowych do organizowania treści. Taka organizacja danych jest szczególnie przydatna w przypadku tworzenia menu rozwijanych lub katalogów. Aby zrozumieć prawidłowość tej struktury należy zapoznać się z zasadą zagnieżdżania elementów w HTML gdzie jeden element może zawierać inne w celu tworzenia bardziej złożonych układów. Popularnymi zastosowaniami są również generowanie drzew katalogów oraz nawigacji w witrynach. Standardy HTML sugerują takie podejście do strukturyzacji danych aby były one semantycznie poprawne a zarazem łatwe do odczytania przez przeglądarki internetowe co zwiększa ich dostępność i użyteczność. Praktyka ta jest zgodna z dobrymi praktykami projektowania webowego gdzie zrozumiałość kodu oraz jego struktura są kluczowe dla dalszego rozwoju czy utrzymania aplikacji.

Pytanie 24

Element zadeklarowany w języku C++ double x*; oznacza

A. typ zmiennoprzecinkowy
B. typ całkowity
C. wskaźnik
D. parametr formalny o typie zmiennoprzecinkowym
Odpowiedzi, które wskazują, że <b>double x*;</b> to zmienna całkowita, zmienna rzeczywista lub parametr formalny typu rzeczywistego, opierają się na nieporozumieniach dotyczących definicji typów danych w języku C++. Po pierwsze, zmienna całkowita to typ, który przechowuje liczby całkowite, a składnia <b>double x*;</b> wyraźnie mówi, że jest to wskaźnik do zmiennej typu <b>double</b>, która jest używana do reprezentacji liczb rzeczywistych, w tym zmiennoprzecinkowych. Stąd, mylenie wskaźnika z typem zmiennoprzecinkowym może prowadzić do błędnych wniosków. Ponadto, parametr formalny typu rzeczywistego odnosi się do deklaracji funkcji, a nie do zmiennej. W C++ funkcje mogą przyjmować wskaźniki jako argumenty, co pozwala na efektywne przekazywanie dużych obiektów bez ich kopiowania, lecz sam wskaźnik nie jest parametrem formalnym, lecz zmienną przechowującą adres innej zmiennej. Często spotykaną pułapką w rozumieniu wskaźników jest ich pomylenie z odniesieniami (<b>double& x</b>), które w C++ działają nieco inaczej. Warto zatem poszerzyć wiedzę o wskaźnikach, aby lepiej zrozumieć ich rolę w zarządzaniu pamięcią i przekazywaniu argumentów w funkcjach.

Pytanie 25

W wyniku przedstawionego polecenia w tabeli zostanie ```ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;```

A. zmieniony typ kolumny nazwa2 na DOUBLE
B. dodana kolumna nazwa2 z wymuszoną wartością DOUBLE
C. zmieniona kolumna z nazwa1 na nazwa2
D. dodana kolumna nazwa2 o typie zmiennoprzecinkowym
Odpowiedź numer 3 jest prawidłowa, ponieważ zapytanie SQL "ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;" definiuje dodanie nowej kolumny o nazwie "nazwa2" do istniejącej tabeli "nazwa1". Typ danych DOUBLE oznacza, że kolumna ta będzie mogła przechowywać liczby zmiennoprzecinkowe, co jest przydatne w przypadku danych wymagających wysokiej precyzji, takich jak wartości finansowe czy pomiary naukowe. Oprócz tego, klauzula "NOT NULL" oznacza, że w kolumnie nie mogą znajdować się żadne wartości NULL, co jest istotne dla zapewnienia integralności danych. W praktyce, dodawanie kolumn w bazach danych jest często używane do wzbogacania istniejących struktur danych, aby dostosować je do zmieniających się wymagań aplikacji. Dobrą praktyką jest również odpowiednie indeksowanie nowych kolumn, aby zwiększyć wydajność zapytań, które będą z nich korzystały. W kontekście standardów, ważne jest, aby zmiany w strukturze tabeli były wprowadzane w sposób, który nie wpływa negatywnie na istniejące dane i aplikacje.

Pytanie 26

Jakie mechanizmy przyznawania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z tematyką zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z zasadami
B. Z przywilejami obiektowymi
C. Z przywilejami systemowymi
D. Z atrybutami
Przywileje systemowe to kluczowy element zarządzania bezpieczeństwem w systemach baz danych. Obejmują one uprawnienia, które są przypisane do konta użytkownika na poziomie systemu, a niekoniecznie na poziomie obiektów bazy danych, takich jak tabele czy widoki. Dzięki nim możemy kontrolować dostęp do różnych funkcji systemowych, takich jak możliwość tworzenia nowych użytkowników, modyfikacji struktury bazy danych czy przydzielania uprawnień innym użytkownikom. Przykładem zastosowania przywilejów systemowych jest sytuacja, w której administrator bazy danych przydziela użytkownikom różne role, takie jak DBA (Database Administrator), która daje pełny dostęp do zasobów, lub rola z ograniczonymi uprawnieniami, co pozwala na wykonywanie tylko wybranych operacji. Dobrym przykładem standardów w tej dziedzinie jest podejście oparte na zasadzie minimalnych uprawnień, gdzie użytkownicy otrzymują jedynie te uprawnienia, które są absolutnie niezbędne do wykonywania ich zadań. Dzięki zastosowaniu przywilejów systemowych można skutecznie zarządzać bezpieczeństwem bazy danych oraz minimalizować ryzyko nieautoryzowanego dostępu.

Pytanie 27

Linia kodu przedstawiona w PHP ma na celu

Ilustracja do pytania
A. zdefiniować stałą o nazwie OSOBA
B. porównać dwa ciągi znaków
C. ustalić wartość dla zmiennej $OSOBA
D. przypisać wartości do tablicy
Linia kodu zawierająca define nie służy do porównywania dwóch napisów. W PHP porównywanie napisów odbywa się przy użyciu operatorów porównania takich jak == lub === które sprawdzają czy wartości są równe lub identyczne. Konkatenacja dwóch napisów również nie jest odpowiednia dla funkcji define ponieważ jej celem nie jest manipulowanie wartościami tekstowymi. Również przypisywanie dwóch wartości do tablicy nie odbywa się za pomocą define. Gdy chcemy przypisać wartości do tablicy w PHP używamy składni array lub [] co pozwala na tworzenie dynamicznych i zorganizowanych struktur danych. Przypisywanie wartości do zmiennej również nie jest poprawne w kontekście użycia define. W PHP do przypisywania wartości do zmiennych używamy operatora =. Define służy natomiast do tworzenia stałych które po zdefiniowaniu pozostają niezmienne w trakcie wykonania skryptu. Częsty błąd początkujących polega na myleniu zmiennych i stałych oraz ich zastosowania co może prowadzić do nieprzewidzianych błędów w kodzie. Poprawne rozumienie różnic między zmiennymi a stałymi oraz ich zastosowań jest kluczowe dla efektywnego programowania w PHP. Define nie modyfikuje wartości tylko je ustala co jest szczególnie istotne w zachowaniu spójności i bezpieczeństwa danych w aplikacjach PHP. Zrozumienie tych konceptów pozwala na lepsze projektowanie stabilnych i bezpiecznych aplikacji.

Pytanie 28

Podana linia kodu została napisana w języku?

document.getElementById("paragraf1").innerHTML = wynik;
A. Python
B. C#
C. PHP
D. JavaScript
Odpowiedź JavaScript jest prawidłowa, ponieważ linia kodu, którą przedstawiono, wykorzystuje standardową metodę DOM (Document Object Model) do dynamicznej manipulacji zawartością HTML. W kodzie 'document.getElementById("paragraf1").innerHTML = wynik;' funkcja 'getElementById' służy do odnajdywania elementu HTML o identyfikatorze 'paragraf1'. Następnie, przypisanie wartości zmiennej 'wynik' do 'innerHTML' tego elementu zmienia jego zawartość tekstową. JavaScript jest głównym językiem do tworzenia interaktywnych stron internetowych i umożliwia programistom tworzenie dynamicznych funkcjonalności. Przykład praktycznego użycia to sytuacja, gdy na stronie internetowej chcemy wyświetlić obliczone wyniki w czasie rzeczywistym, np. w aplikacjach kalkulatorów online. W kontekście standardów branżowych, używanie DOM do manipulacji elementami HTML w JavaScript jest uważane za dobrą praktykę, a jego znajomość jest niezbędna dla każdego web developera.

Pytanie 29

Który z poniższych zapisów w HTML określa kodowanie znaków stosowane w dokumencie?

A. <encoding="UTF-8">
B. <meta charset="UTF-8">
C. <meta encoding="UTF-8">
D. <charset="UTF-8">
Zapis <meta charset="UTF-8"> jest prawidłową deklaracją kodowania znaków w dokumencie HTML. Element <meta> jest używany w sekcji <head> dokumentu i pozwala na zdefiniowanie różnych metadanych, w tym kodowania znaków. Użycie "UTF-8" jako wartości dla atrybutu charset oznacza, że dokument będzie używał kodowania Unicode, które jest standardem preferowanym w sieci. Dzięki temu, dokumenty mogą poprawnie wyświetlać znaki z różnych języków, co jest kluczowe w zglobalizowanym świecie internetu. Przykładem zastosowania tego zapisu może być strona internetowa, która zawiera teksty w wielu językach, co wymaga wsparcia dla różnorodnych znaków diakrytycznych i symboli. Warto również podkreślić, że zgodnie z zasadami dobrych praktyk, zawsze powinno się definiować kodowanie znaków w dokumencie HTML, aby uniknąć problemów z wyświetlaniem treści, co może negatywnie wpłynąć na doświadczenia użytkowników oraz SEO strony.

Pytanie 30

W PHP typ float oznacza

A. zmiennoprzecinkowy
B. łańcuchowy
C. logiczny
D. całkowity
Typ float w PHP to coś, co przydaje się do przechowywania liczb zmiennoprzecinkowych, a więc do liczb, które mają część dziesiętną. To naprawdę ważne, zwłaszcza jak robimy obliczenia związane z finansami czy nauką. Dzięki float możemy dokładnie przedstawić liczby rzeczywiste, co w programowaniu jest kluczowe. Te wartości są zgodne ze standardem IEEE 754, co oznacza, że można je przenosić między różnymi systemami i platformami bez problemów. Jeżeli chcesz np. obliczyć cenę z VAT-em albo policzyć coś w grze, to float jest najlepszym typem, bo pozwala na robienie precyzyjnych obliczeń z ułamkami. W PHP masz też funkcje jak round() czy number_format(), które pomagają w manipulacji tymi liczbami, co jest super przy prezentacji wyników, żeby ładnie wyglądały.

Pytanie 31

Formatowanie CSS dla akapitu określa styl szarej ramki z następującymi właściwościami:

p {
    padding: 15px;
    border: 2px dotted gray;
}
A. Linia kreskowa; grubość 2 px; odległości poza ramką 15 px
B. Linia ciągła; grubość 2 px; odległości poza ramką 15 px
C. Linia ciągła; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
D. Linia kropkowa; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
Odpowiedź ta jest prawidłowa, ponieważ w CSS stylizowanie elementu akapitu za pomocą podanego kodu definiuje ramkę o linii kropkowej, grubości 2 pikseli oraz paddingu wynoszącym 15 pikseli. Padding to przestrzeń wewnętrzna pomiędzy zawartością elementu a jego ramką, co oznacza, że tekst w akapicie będzie oddalony od krawędzi ramki o 15 pikseli. Styl ramki 'dotted' jest często używany w projektach webowych, aby stworzyć efekt wizualny, który jest mniej formalny, a zarazem estetyczny. Można go wykorzystać w kontekście wyróżniania ważnych informacji lub sekcji strony, co zwiększa czytelność i przyciąga uwagę użytkowników. Przykładem zastosowania może być sekcja z informacjami o promocjach, gdzie forma wizualna ma na celu przyciągnięcie wzroku. Używając standardów CSS, dobrego podejścia do UX (User Experience) oraz wytycznych W3C, projektanci stron internetowych mogą efektywnie komunikować intencje i priorytety poprzez stylowanie wizualne.

Pytanie 32

Który składnik nie jest wymagany do instalacji i uruchomienia systemu CMS Joomla!?

A. serwer WWW
B. parser PHP
C. platforma .NET
D. baza danych
Poprawnie wskazana została platforma .NET jako element, który nie jest wymagany do instalacji i działania Joomla!. Ten CMS jest napisany w PHP i z założenia działa w klasycznym stosie LAMP/LEMP, czyli Linux/Windows + serwer WWW (najczęściej Apache lub Nginx) + PHP + baza danych (MySQL/MariaDB, czasem PostgreSQL). Joomla! korzysta z interpretera PHP do wykonywania całej logiki aplikacji: obsługi logowania, generowania szablonów, pracy z bazą danych, modułów, komponentów itd. Serwer WWW (HTTP) odpowiada za przyjmowanie żądań z przeglądarki i przekazywanie ich do PHP, a baza danych przechowuje treści, użytkowników, konfigurację, menu, artykuły i całą resztę danych dynamicznych. Platforma .NET to zupełnie inny ekosystem technologiczny, typowy dla aplikacji pisanych w C#, ASP.NET, .NET Core, działających np. na IIS. Joomla! nie jest aplikacją .NET, więc nie potrzebuje środowiska uruchomieniowego .NET ani serwera IIS, żeby działać. W praktyce, w typowej firmie hostingowej, gdy chcesz uruchomić Joomla!, patrzysz czy jest obsługa PHP w odpowiedniej wersji, dostęp do bazy MySQL/MariaDB oraz czy serwer WWW pozwala na friendly URLs (mod_rewrite lub odpowiednik). To są realne wymagania. Można oczywiście postawić Joomla! także na Windowsie, ale dalej korzystasz z PHP i serwera WWW, a nie z ASP.NET. Moim zdaniem warto zapamiętać prostą zasadę: jeśli CMS jest napisany w PHP, to kluczowe są PHP, serwer HTTP i baza danych, a nie platformy typowe dla innych języków, jak .NET czy Java.

Pytanie 33

Formatem grafiki wektorowej jest

A. SVG
B. JPG
C. PNG
D. GIF
Poprawnie – format SVG to grafika wektorowa. SVG (Scalable Vector Graphics) jest oparty na XML i opisuje obraz za pomocą figur geometrycznych: linii, krzywych, prostokątów, okręgów, wielokątów oraz tekstu. Dzięki temu obraz nie składa się z pikseli, tylko z równań matematycznych, więc można go dowolnie skalować bez utraty jakości – logo w SVG będzie równie ostre na wizytówce, jak i na ogromnym billboardzie czy ekranie 4K. To jest właśnie główna przewaga grafiki wektorowej nad rastrową. Moim zdaniem w świecie webowym SVG to dzisiaj standard dla ikon, logotypów, prostych ilustracji, wykresów czy schematów. Przeglądarki traktują SVG jako natywny format wspierany przez specyfikację W3C, można go osadzać bezpośrednio w kodzie HTML (inline) albo jako zewnętrzny plik. Co ważne, elementy SVG da się stylować za pomocą CSS i animować przy użyciu CSS lub JavaScript, co daje ogromne możliwości w interfejsach użytkownika i nowoczesnych stronach WWW. W praktyce dobrym podejściem jest używanie SVG wszędzie tam, gdzie grafika ma być skalowalna, lekka i ostra na różnych urządzeniach: responsywne ikony menu, grafiki w interfejsie aplikacji webowych, piktogramy, infografiki. Dodatkowo SVG często ma mniejszy rozmiar pliku niż odpowiednik PNG w wysokiej rozdzielczości, zwłaszcza gdy obraz składa się głównie z prostych kształtów. Z mojego doświadczenia to jeden z kluczowych formatów, które warto dobrze ogarnąć, jeśli myśli się poważnie o grafice komputerowej i front-endzie.

Pytanie 34

Aby wprowadzić dane do bazy przy użyciu polecenia PHP, konieczne jest przekazanie do jego parametrów

A. NULL w $zm1, aby baza mogła zapisać kod błędu i zapytanie SELECT w $zm2
B. id wiersza w $zm1 i zapytanie INSERT INTO w $zm2
C. identyfikator połączenia z bazą danych w $zm1 i zapytanie INSERT INTO w $zm2
D. identyfikator połączenia z bazą danych w $zm1 i zapytanie SELECT w $zm2
Poprawna odpowiedź wskazuje, że w parametrze $zm1 należy przekazać identyfikator połączenia z bazą danych, a w $zm2 zapytanie INSERT INTO. To podejście jest zgodne z zasadami korzystania z funkcji mysqli_query w PHP, która jest używana do wykonywania zapytań SQL na bazie danych. Identyfikator połączenia jest niezbędny, ponieważ pozwala PHP zidentyfikować, z którą bazą danych będzie nawiązywało interakcję. Zapytanie INSERT INTO umożliwia dodawanie nowych rekordów do określonej tabeli. Na przykład, jeśli chcemy dodać nowego użytkownika do tabeli 'users', możemy użyć polecenia: mysqli_query($connection, "INSERT INTO users (name, email) VALUES ('Jan Kowalski', '[email protected]')"). Przestrzeganie tych zasad jest zgodne z praktykami bezpieczeństwa, takimi jak unikanie SQL Injection, które można osiągnąć poprzez odpowiednie przygotowywanie zapytań oraz walidację danych przed ich wstawieniem.

Pytanie 35

W CSS zapis w postaci

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

spowoduje, że kolor czerwony zostanie zastosowany do

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

Pytanie 36

W programie do edycji grafiki rastrowej, aby skoncentrować się na wybranej części obrazu, nie wpływając na pozostałe jego fragmenty, można zastosować

A. zmianę rozmiaru
B. odwrócenie
C. warstwy
D. przycinanie
Warstwy w edytorach grafiki rastrowej to fundamentalne narzędzie umożliwiające pracę na poszczególnych elementach obrazu bez wpływu na całość. Dzięki zastosowaniu warstw można oddzielić różne elementy graficzne, co pozwala na edytowanie, przekształcanie i manipulowanie nimi niezależnie. Na przykład, można umieścić tekst na oddzielnej warstwie, a następnie dowolnie zmieniać jego położenie, rozmiar czy kolor, nie wpływając na tło. Dodatkowo, warstwy umożliwiają łatwe tworzenie efektów przezroczystości oraz cieni, co zwiększa możliwości artystyczne i techniczne podczas projektowania. W praktyce, standardy dotyczące pracy z warstwami są powszechnie stosowane w branży, co podkreśla ich znaczenie w profesjonalnych edytorach takich jak Adobe Photoshop czy GIMP. Warto również dodać, że organizacja pracy z warstwami, poprzez odpowiednie ich nazywanie i grupowanie, znacznie ułatwia zarządzanie złożonymi projektami graficznymi.

Pytanie 37

Systemem zarządzania wersjami w projekcie programistycznym, który działa w trybie rozproszonym, jest

A. FileZilla
B. Eclipse
C. TotalCommander
D. GIT
FileZilla to program służący do transferu plików przez protokoły FTP, SFTP i FTPS. Chociaż może być użyty w kontekście zarządzania plikami projektów, nie oferuje funkcji kontroli wersji, co jest kluczowym elementem rozproszonych systemów kontroli wersji. TotalCommander jest menedżerem plików, który współpracuje z lokalnym systemem plików, a nie z repozytoriami kodu źródłowego. W przypadku projektów programistycznych jego zastosowanie ogranicza się głównie do porządkowania i kopiowania plików, co nie ma związku z kontrolą wersji. Eclipse to zintegrowane środowisko programistyczne (IDE), które może wspierać różne systemy kontroli wersji, w tym GIT, ale samo w sobie nie jest rozproszonym systemem kontroli wersji. Typowe błędy myślowe prowadzące do takich wniosków to mieszanie pojęć związanych z zarządzaniem plikami i kontrolą wersji. Systemy kontroli wersji, takie jak GIT, wprowadzają struktury i procesy, które umożliwiają śledzenie zmian, zarządzanie wersjami kodu oraz współpracę w zespołach, co jest całkowicie odmiennym podejściem od prostego przesyłania plików czy zarządzania nimi w lokalnym systemie. W związku z tym, zrozumienie podstawowych różnic między tymi narzędziami jest kluczowe dla efektywnego zarządzania projektami programistycznymi.

Pytanie 38

Utworzono bazę danych zawierającą tabelę podzespoły, która składa się z pól: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowaną według ceny, zaczynając od najniższej, należy wykorzystać zapytanie:

A. SELECT model FROM producent WHERE typ="RAM" OR producent="Kingston" ORDER BY podzespoly ASC
B. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena DESC
C. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena ASC
D. SELECT model FROM podzespoly WHERE typ="RAM" OR producent="Kingston" ORDER BY cena DESC
Wybór tej odpowiedzi jest prawidłowy, ponieważ kwerenda wykorzystuje poprawną składnię SQL do wyboru modeli pamięci RAM od producenta Kingston. Klauzula WHERE filtruje rekordy, aby uwzględnić tylko te, które mają typ 'RAM' oraz producenta 'Kingston', co jest kluczowe dla uzyskania właściwych wyników. Użycie operatora AND w tym kontekście zapewnia, że obie te cechy muszą być spełnione, co jest zgodne z zamiarem wyświetlenia wszystkich modeli pamięci RAM tego producenta. Dodatkowo, klauzula ORDER BY cena ASC sortuje wyniki w kolejności rosnącej według ceny, co jest wymagane do poprawnego przedstawienia danych od najtańszej do najdroższej pamięci. Takie podejście jest zgodne z dobrymi praktykami SQL, gdzie precyzyjne filtrowanie danych i porządkowanie wyników są kluczowe dla efektywności i dokładności zapytań. W praktyce, takie kwerendy mogą być używane w aplikacjach do zarządzania produktami czy bazach danych e-commerce, aby pomóc użytkownikom w szybkim odnajdywaniu pożądanych produktów w oparciu o konkretne kryteria.

Pytanie 39

Jakiej kwerendy w bazie MariaDB należy użyć, aby wybrać artykuły, których ceny mieszczą się w przedziale domkniętym <10, 20>?

A. SELECT * FROM Artykuly WHERE Cena IN (10, 20)
B. SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20
C. SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%
D. SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20
Pierwsza z niepoprawnych odpowiedzi, 'SELECT * FROM Artykuly WHERE Cena IN (10, 20);', jest błędna, ponieważ operator IN służy do sprawdzania, czy wartość znajduje się w określonej liście wartości. W tym przypadku zwróci tylko artykuły, których cena wynosi dokładnie 10 lub 20, a nie wszystkie artykuły w przedziale między tymi wartościami. Operator IN nie obsługuje zakresów, co może prowadzić do niepełnych wyników w analizach cenowych. Odpowiedź 'SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%;' również nie jest poprawna, ponieważ operator LIKE jest używany do wyszukiwania wzorców w tekstach, a nie do porównywania wartości liczbowych. Użycie LIKE w tym kontekście jest całkowicie niewłaściwe i prowadzi do błędnych interpretacji wyników, co jest typowym błędem wśród początkujących użytkowników SQL. Z kolei kwerenda 'SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20;' z kolei nie obejmuje wartości granicznych 10 i 20, co sprawia, że nie zwróci artykułów, których cena wynosi równo 10 lub 20. To pokazuje typowy błąd myślowy, polegający na niepełnym zrozumieniu zastosowania operatorów porównawczych w SQL. W praktyce, aby uzyskać pełny zakres wartości w analizach, kluczowe jest zrozumienie różnic między tymi operatorami oraz ich właściwe zastosowanie w kontekście wymagań dotyczących danych.

Pytanie 40

Aby ułatwić wprowadzanie oraz modyfikację danych w tabeli, konieczne jest zdefiniowanie

A. filtra
B. kwerendy SELECT
C. raportu
D. formularza
Formularz to narzędzie, które pozwala na łatwe i intuicyjne wprowadzanie oraz edytowanie danych w bazie danych. W przeciwieństwie do kwerend, które są używane głównie do selekcji danych, formularze zapewniają interfejs użytkownika, który ułatwia zbieranie danych od użytkowników. Dzięki formularzom można zaprojektować przyjazny dla użytkownika interfejs, który może zawierać różne elementy, takie jak pola tekstowe, listy rozwijane, przyciski radiowe i przyciski akcji. Praktycznym zastosowaniem formularzy jest wprowadzanie danych do systemów zarządzania treścią, takich jak bazy danych dla aplikacji webowych czy systemów CRM. Dobrą praktyką jest stosowanie walidacji danych w formularzach, aby upewnić się, że wprowadzane informacje są zgodne z wymaganym formatem i nie zawierają błędów. Ponadto formularze mogą być zintegrowane z procesami automatyzacji, co znacznie zwiększa efektywność wprowadzania danych i minimalizuje ryzyko wystąpienia błędów.