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 23:12
  • Data zakończenia: 11 maja 2026 23:24

Egzamin zdany!

Wynik: 33/40 punktów (82,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Dostosowanie wyglądu strony dla konkretnego użytkownika i jego identyfikacja w serwisie są możliwe dzięki systemowi

A. formularzy
B. połączenia z bazą
C. obiektów DOM
D. cookie
Obiekty DOM (Document Object Model) to reprezentacja struktury dokumentu HTML lub XML. Dzięki DOM, programiści mogą manipulować elementami na stronie w czasie rzeczywistym, jednak nie umożliwia on identyfikacji użytkowników ani personalizacji ich doświadczeń. DOM pozwala na dynamiczne zmiany w treści strony, ale nie przechowuje informacji o użytkowniku po zamknięciu przeglądarki. Łączenie z bazą danych to proces, który zapewnia dostęp do przechowywanych danych, ale również nie służy do identyfikacji użytkownika na poziomie przeglądarki. Właściwie używane, łączenie z bazą pozwala na pobieranie i zapisywanie danych, jednak wymaga dodatkowych mechanizmów, takich jak sesje, aby poprawnie identyfikować użytkowników. Formularze są narzędziem do zbierania danych od użytkowników, ale same w sobie nie oferują możliwości identyfikacji lub personalizacji. Użytkownik musi wprowadzić dane, które następnie mogą być przetwarzane, ale bez zastosowania cookie lub innych mechanizmów, serwis nie będzie w stanie pamiętać o tych danych przy kolejnych wizytach. W skrócie, obiekty DOM, łączenie z bazą oraz formularze stanowią tylko część ekosystemu webowego, ale nie zapewniają pełnych możliwości identyfikacji i personalizacji użytkownika, jak to robią pliki cookie.

Pytanie 2

Kolor zielony w skróconej notacji szesnastkowej można zapisać w CSS jako sekwencję

A. #FFF
B. #F00
C. #00F
D. #0F0
Kolor zielony w notacji szesnastkowej skróconej, zapisany jako #0F0, jest standardowym sposobem reprezentacji koloru w CSS. W tej notacji każdy kanał koloru (czerwony, zielony, niebieski) jest reprezentowany przez dwucyfrową liczbę szesnastkową. W przypadku koloru zielonego, kanał czerwony jest ustawiony na 0, kanał zielony na maksymalną wartość (FF) i kanał niebieski na 0. Wartości te odpowiadają skali RGB, gdzie 0 oznacza brak koloru, a FF oznacza pełną intensywność. Przykładowo, w CSS można wykorzystać ten kolor w stylach dla elementów HTML, np. dla tła: 'background-color: #0F0;'. Dzięki temu możliwe jest osiągnięcie jasnego, intensywnego zielonego koloru. Notacja szesnastkowa jest powszechnie używana w projektowaniu webowym i jest zgodna ze standardami W3C, co czyni ją uniwersalnym narzędziem dla programistów i projektantów stron internetowych. Kolor zielony, uzyskiwany przez kombinację pełnej intensywności zielonego i braku czerwonego oraz niebieskiego, jest często wykorzystywany w interfejsach użytkownika, co czyni jego znajomość kluczową dla efektywnego projektowania stron.

Pytanie 3

Aby włączyć do skryptu zawartość pliku egzamin.php z kodem PHP, należy użyć polecenia

A. fopen("egzamin.php");
B. fgets("egzamin.php");
C. include("egzamin.php");
D. getfile("egzamin.php");
Instrukcja include w PHP jest używana do włączania zawartości jednego pliku PHP do innego. Dzięki temu możemy dzielić kod na mniejsze, modularne fragmenty, co ułatwia zarządzanie nim oraz sprzyja wielokrotnemu używaniu tych samych elementów w różnych częściach aplikacji. Kiedy używamy include('egzamin.php');, PHP wykonuje kod zawarty w pliku egzamin.php w miejscu, w którym znajduje się ta instrukcja. Jest to szczególnie przydatne w przypadku, gdy chcemy załadować szereg funkcji, klas lub nawet szablonów HTML. Ponadto, jeśli plik, który chcemy dołączyć, nie istnieje, PHP zgłosi ostrzeżenie, ale skrypt będzie kontynuowany. Z perspektywy standardów programowania i najlepszych praktyk w PHP, użycie include jest szeroko akceptowane do organizacji kodu. Przykładowo, w projekcie PHP można mieć osobny plik dla połączenia z bazą danych i dołączyć go w każdym skrypcie, który wymaga dostępu do danych. Taki sposób organizacji kodu zwiększa jego czytelność i ułatwia konserwację.

Pytanie 4

Podaj dwa sposoby ochrony bazy danych Microsoft Access?

A. Ustalenie zabezpieczeń na poziomie użytkownika i sesji
B. Funkcje anonimowe oraz ustawienie hasła do bazy danych
C. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
D. Ustalenie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
Zabezpieczenie bazy danych Microsoft Access jest kluczowym procesem, który ma na celu ochronę danych przed nieautoryzowanym dostępem oraz zapewnienie ich integralności. Ustalenie hasła do otwarcia bazy danych to pierwszy krok w kierunku zabezpieczenia. Pozwala to na ograniczenie dostępu tylko do osób, które znają hasło, co jest fundamentalnym środkiem ochrony informacji w systemach informatycznych. Dodatkowo, zabezpieczenia na poziomie użytkownika umożliwiają różnicowanie uprawnień dla poszczególnych użytkowników. Można przydzielać różne poziomy dostępu, co minimalizuje ryzyko, że niepowołane osoby będą mogły wprowadzać zmiany w bazie danych. Ważne jest również, aby stosować najlepsze praktyki związane z bezpieczeństwem, takie jak regularna aktualizacja haseł oraz audyty dostępu. Utrzymanie zgodności z międzynarodowymi standardami, takimi jak ISO/IEC 27001, może również pomóc w identyfikacji luk w zabezpieczeniach oraz w implementacji odpowiednich procedur ochrony danych. W codziennym użytkowaniu, skuteczne wdrożenie tych zabezpieczeń pozytywnie wpływa na bezpieczeństwo danych oraz ochronę prywatności użytkowników.

Pytanie 5

Zastosowanie klauzuli PRIMARY KEY w poleceniu CREATE TABLE sprawi, że dane pole stanie się

A. kluczem obcym
B. indeksem klucza
C. kluczem podstawowym
D. indeksem unikalnym
Klauzula PRIMARY KEY w instrukcji CREATE TABLE definiuje unikalny identyfikator dla każdej rekord w tabeli, co oznacza, że pole oznaczone jako klucz podstawowy musi mieć unikalne wartości i nie może zawierać wartości NULL. Klucz podstawowy jest fundamentalnym elementem w relacyjnych bazach danych, ponieważ umożliwia tworzenie relacji między tabelami oraz zapewnia integralność danych. Na przykład, jeśli mamy tabelę 'Użytkownicy' z kolumną 'ID', która jest kluczem podstawowym, to każda wartość w tej kolumnie będzie unikalna, co pozwala na jednoznaczne identyfikowanie użytkowników. Zgodnie z normami SQL, klucz podstawowy może składać się z jednej lub wielu kolumn, a w przypadku złożonego klucza podstawowego, wszystkie kolumny muszą spełniać warunki unikalności oraz nie mogą mieć wartości NULL. W praktyce, użycie klucza podstawowego jest kluczowe dla organizacji danych i optymalizacji zapytań, ponieważ bazy danych mogą tworzyć indeksy na tych polach, co przyspiesza operacje wyszukiwania i sortowania.

Pytanie 6

W znaczniku <meta ...> w sekcji <meta ...> na stronie internetowej nie zamieszcza się informacji o

A. kodowaniu
B. autorze
C. typie dokumentu
D. automatycznym odświeżaniu
Wszystkie wymienione odpowiedzi, z wyjątkiem informacji dotyczącej typu dokumentu, są poprawne i mogą być umieszczane w znaczniku <meta>. Informacja o autorze jest istotna, ponieważ pozwala wskazać osobę odpowiedzialną za treść na stronie, co może być ważne w kontekście cytowania i prawa autorskiego. Wyszukiwarki również mogą brać pod uwagę te informacje w kontekście wiarygodności źródła. Z kolei kodowanie jest kluczowe, ponieważ określa, w jaki sposób znaki są interpretowane przez przeglądarkę, co ma fundamentalne znaczenie dla prawidłowego wyświetlania treści, zwłaszcza w przypadku stron wielojęzycznych. Możliwość określenia kodowania w znaczniku <meta charset='UTF-8'> jest powszechnie stosowana, aby zapewnić, że wszystkie znaki są renderowane poprawnie. Automatyczne odświeżanie za pomocą znacznika <meta http-equiv='refresh' content='30'> jest przydatne, gdy strona potrzebuje być często aktualizowana, na przykład w przypadku stron informacyjnych czy serwisów newsowych. Dlatego też, umieszczanie tych informacji w znaczniku <meta> jest zgodne z praktykami webowymi i przyczynia się do poprawy działania strony oraz jej optymalizacji dla użytkowników i wyszukiwarek.

Pytanie 7

body{
background-image: url"rysunek.gif");
background-repeat: repeat-y;
}
W przedstawionej definicji stylu CSS, powtarzanie dotyczy

A. tła każdego znacznika akapitu
B. rysunku znajdującego się w tle strony w pionie
C. rysunku umieszczonego w tle strony w poziomie
D. rysunku osadzonego znacznikiem img
W definicji stylu CSS, zastosowane tło z rysunkiem 'rysunek.gif' jest powtarzane w pionie dzięki właściwości 'background-repeat: repeat-y'. Oznacza to, że obrazek będzie powielany wzdłuż osi Y, co skutkuje tym, że obrazek jest umieszczany jeden nad drugim, tworząc wrażenie ciągłości. Aby lepiej zrozumieć działanie tej właściwości, warto przyjrzeć się innym ustawieniom tła. Na przykład, właściwość 'background-repeat: repeat' powtarza obraz zarówno w poziomie, jak i w pionie, natomiast 'background-repeat: no-repeat' zapobiega jakimkolwiek powtórzeniom. W standardach CSS, takich jak CSS3, definiowanie tła w ten sposób jest zgodne z zasadami, które pozwalają na elastyczne projektowanie stron internetowych. W praktyce, użycie powtarzającego się tła może być przydatne w przypadku prostych wzorów, które mają stworzyć efekt wizualny, nie obciążając jednocześnie zbytnio zasobów, co jest istotne dla wydajności ładowania strony.

Pytanie 8

W bazie danych MySQL znajduje się tabela z programami komputerowymi, posiadająca kolumny: nazwa, producent, rokWydania. Jaką kwerendę SELECT należy zastosować, aby uzyskać listę wszystkich producentów, unikając powtórzeń?

A. SELECT producent FROM programy WHERE producent NOT DUPLICATE
B. SELECT producent FROM programy WHERE UNIQUE
C. SELECT DISTINCT producent FROM programy
D. SELECT UNIQUE producent FROM programy
Aby uzyskać unikalne wartości z kolumny w bazie danych MySQL, należy użyć słowa kluczowego DISTINCT. W przypadku zapytania SELECT DISTINCT producent FROM programy; zapytanie to zwraca wszystkie unikalne nazwy producentów z tabeli programy. Słowo kluczowe DISTINCT działa na poziomie wierszy, co oznacza, że przeszukuje kolumnę producent, eliminując z wyników wszelkie powtarzające się wartości. Jest to szczególnie przydatne w analizie danych, gdzie istotne jest uzyskanie przeglądu unikalnych elementów. Na przykład, jeżeli tabela zawiera kilka wierszy z tym samym producentem, zapytanie to zwróci jedynie jeden wiersz dla każdego producenta. Przykład zastosowania: w przypadku tabeli zawierającej wartości jak 'Microsoft', 'Apple', 'Microsoft', wynik zapytania DISTINCT będzie obejmował 'Microsoft' i 'Apple'. W MySQL użycie DISTINCT jest zgodne ze standardem SQL i jest wspierane w większości systemów baz danych, co czyni je bardzo uniwersalnym narzędziem w pracy z danymi.

Pytanie 9

Dostępna jest tabela ksiazki z kolumnami: tytul (typ tekstowy) oraz cena (typ liczbowy). W celu uzyskania z kwerendy SELECT jedynie tytułów, dla których cena jest mniejsza od 50 zł, należy użyć następującego zapisu:

A. SELECT * FROM ksiazki WHERE cena<50;
B. SELECT ksiazki FROM tytul WHERE cena<'50 zł';
C. SELECT tytul FROM ksiazki WHERE cena<50;
D. SELECT tytul FROM ksiazki WHERE cena>'50 zł';
Wybrana odpowiedź jest poprawna, ponieważ zapytanie SQL "SELECT tytul FROM ksiazki WHERE cena<50;" prawidłowo zwraca tylko kolumnę z tytułami książek, gdzie cena jest mniejsza od 50 zł. W kontekście pracy z bazami danych, kluczowe jest umiejętne formułowanie zapytań, które ograniczają zwracane dane do tych istotnych dla użytkownika. Użycie operatora porównania '<' w klauzuli WHERE jest zgodne z typowymi praktykami w SQL, a przy tym umożliwia precyzyjne filtrowanie danych. Warto również zwrócić uwagę, że w SQL nie potrzebujemy podawać jednostki walutowej, dlatego zapis '50 zł' jest błędny. Właściwa analityka zapytań pozwala na efektywne pozyskiwanie informacji, co ma kluczowe znaczenie w aplikacjach bazodanowych. W praktyce, umiejętność selekcji danych za pomocą zapytań jest podstawą pracy analityka danych oraz programisty.

Pytanie 10

W trakcie edycji grafiki rastrowej w aplikacji obsługującej kanały, dodanie kanału alfa oznacza

A. powiększenie głębi ostrości obrazu
B. ustalenie właściwego balansu bieli
C. wzmocnienie krawędzi obrazu
D. wprowadzenie warstwy z przezroczystością
Dodanie kanału alfa do grafiki rastrowej jest kluczowym krokiem w procesie zarządzania przezroczystością w obrazach. Kanał alfa to dodatkowy kanał, który przechowuje informacje o przezroczystości pikseli, co pozwala na tworzenie efektów wizualnych, takich jak miękkie krawędzie i złożone kompozycje. W praktyce, zastosowanie kanału alfa umożliwia na przykład nałożenie obiektów na różne tła bez wyraźnych granic, co jest szczególnie przydatne w grafice komputerowej, projektowaniu stron internetowych czy produkcji wideo. Dobrą praktyką w branży jest korzystanie z programów graficznych, takich jak Adobe Photoshop czy GIMP, gdzie dodanie kanału alfa można zrealizować poprzez stworzenie warstwy maski. Podczas pracy w takich programach warto również pamiętać o wykorzystaniu formatu PNG, który obsługuje przezroczystość, co jest standardem w zapewnieniu wysokiej jakości grafiki w sieci.

Pytanie 11

Jak przy użyciu języka PHP można zapisać w ciasteczku wartość z zmiennej dane na okres jednego dnia?

A. setcookie("dane",$dane,0)
B. setcookie("dane",$dane,time())
C. setcookie("dane",$dane,time()+(3600*24))
D. setcookie("dane","dane",0)
Odpowiedź setcookie("dane", $dane, time() + (3600 * 24)); jest prawidłowa, ponieważ wykorzystuje funkcję setcookie, która pozwala na ustawienie ciasteczka w PHP. W pierwszym argumencie podajemy nazwę ciasteczka, w drugim jego wartość, a w trzecim czasie wygaśnięcia, który jest określony jako aktualny czas (time()) plus 24 godziny w sekundach (3600 sekund w godzinie razy 24). Takie podejście zapewnia, że ciasteczko będzie dostępne przez jeden dzień, co jest zgodne z dobrymi praktykami w zakresie zarządzania stanem użytkownika. Ciasteczka są powszechnie stosowane w aplikacjach webowych do przechowywania danych użytkownika pomiędzy sesjami, co zwiększa komfort korzystania z serwisów. Przykładem może być zapisanie preferencji użytkownika lub informacji o sesji. Warto pamiętać, że przed użyciem setcookie nie może być wysłany żaden HTML, więc ta funkcja powinna być wywoływana przed jakimkolwiek innym kodem, który generuje wyjście.

Pytanie 12

Który z poniższych kodów HTML spowoduje taki sam efekt formatowania jak na zaprezentowanym rysunku?

Ilustracja do pytania
A. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
B. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
C. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania </i> tekstu w HTML</p>
D. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>
Twoja odpowiedź jest w porządku, bo tag <i> w HTML rzeczywiście służy do pisania tekstu kursywą, a <b> do pogrubiania. Jak użyjesz tych znaczników razem, to zyskujesz fajny efekt, który widać na obrazku. Kawałek tekstu <i>paragrafie <b>zobaczysz</b> sposoby formatowania </i> sprawi, że cały fragment będzie w kursywie, ale tylko wyraz w <b> będzie pogrubiony. To jest spoko, bo pokazuje jak poprawnie używać znaczniki w HTML. Warto jednak pamiętać, żeby nie przesadzać z tymi znacznikami i używać ich tylko wtedy, gdy naprawdę chcesz wyróżnić coś w tekście. Dzisiaj większość stylizacji robi się przez CSS, co pozwala lepiej oddzielić strukturę od wyglądu dokumentu. Ale jak chcesz coś szybko wyróżnić w HTML, to użycie <i> i <b> jak najbardziej ma sens. To wszystko jest mega ważne, bo zrozumienie tych podstaw będzie przydatne, gdy będziesz budować strony.

Pytanie 13

Na stronie www znajduje się formularz, do którego należy zaimplementować następujące funkcje: walidacja: podczas wypełniania formularza w czasie rzeczywistym sprawdzana jest poprawność danych, oraz przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze. Aby wprowadzić tę funkcjonalność w najprostszy sposób, trzeba zapisać

A. walidację i przesyłanie danych w języku JavaScript
B. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
C. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
D. walidację i przesyłanie danych w języku PHP
Zdecydowanie dobrze to ogarnąłeś! Walidacja danych w JavaScript oraz przesyłanie ich w PHP to naprawdę dobry pomysł, jeśli chodzi o tworzenie formularzy online. Dzięki walidacji po stronie klienta, możesz natychmiast zareagować na błędy. To znaczy, że jak ktoś wpisze coś nie tak, to od razu dostaje informację, że np. e-mail jest w złym formacie albo jakieś pole jest puste. Używanie 'addEventListener' do śledzenia zdarzeń 'input' w polach formularza to świetny sposób, żeby poprawić doświadczenie użytkowników. Co więcej, dzięki temu nie obciążasz serwera, bo niepoprawne dane nie są w ogóle przesyłane. A jeśli chodzi o PHP, to super, że wspomniałeś o przesyłaniu danych po stronie serwera. PHP ma dostęp do bazy danych, więc dane mogą być tam bezpieczne i dobrze przetwarzane. Użycie PHP przy obsłudze formularzy to standard, dzięki któremu twoja aplikacja będzie stabilna i bezpieczna.

Pytanie 14

W tabeli personel znajdują się pola: imię, nazwisko, pensja, staż. Aby obliczyć średnią pensję osób zatrudnionych z doświadczeniem od 10 do 20 lat włącznie, należy przeprowadzić kwerendę:

A. SELECT COUNT(pensja) FROM personel WHERE staz >= 10 AND staz <= 20
B. SELECT AVG(*) FROM personel WHERE staz >= 10 AND staz <= 20
C. SELECT AVG(pensja) FROM personel WHERE staz >= 10 AND staz <= 20
D. SELECT COUNT(*) FROM personel WHERE staz >= 10 AND staz <= 20
Ta odpowiedź jest prawidłowa, ponieważ używa funkcji agregującej AVG, która oblicza średnią wartość z określonego pola, w tym przypadku pensji. Warunek WHERE zapewnia, że tylko pracownicy z stażem od 10 do 20 lat są brani pod uwagę w obliczeniach. Użycie funkcji AVG w kontekście SQL jest standardową praktyką, gdy chcemy uzyskać średnią z danych numerycznych. Na przykład, jeśli w tabeli mamy pracowników z różnymi pensjami, a chcemy zrozumieć, jak wygląda średnia wynagrodzeń w określonym przedziale stażu, to właśnie ta kwerenda dostarcza nam niezbędnej informacji. Dobre praktyki w analizie danych wskazują, że obliczenie średniej pensji jest kluczowe dla zarządzania zasobami ludzkimi i podejmowania decyzji dotyczących polityki wynagrodzeń. Przykładem może być sytuacja, gdy firma decyduje o podwyżkach lub bonusach, a analiza średniej pensji w danej grupie pracowników może znacząco wpłynąć na te decyzje.

Pytanie 15

Czy poniższy kod PHP działa poprawnie, wyświetlając na stronie dane pobrane z bazy danych? Ile pól zostanie zaprezentowanych?

$ile = mysqli_num_rows($zapytanie);
for ($i = 0; $i < $ile; $i++)
{
  $wiersz = mysqli_fetch_row($zapytanie);
  echo "<p>Klient: $wiersz[0] $wiersz[1], adres: $wiersz[2] </p>";
}
A. Z dwóch pól
B. Z czterech pól
C. Z jednego pola
D. Z trzech pól
Kod PHP wykorzystuje funkcję mysqli_fetch_row aby pobrać dane z bazy danych które są następnie wyświetlane. W funkcji tej każda wiersz z wyników zapytania jest reprezentowany jako tablica indeksowana liczbowo. W zaprezentowanym fragmencie kodu mamy dostęp do trzech indeksów: $wiersz[0] $wiersz[1] oraz $wiersz[2]. Oznacza to że z każdego wiersza wyniku kwerendy pobierane są trzy pola. Kod ten wyświetla dane w formacie paragrafu HTML zawierającego imię i nazwisko klienta oraz jego adres. W praktyce taka konstrukcja jest często wykorzystywana do generowania dynamicznych treści na stronie internetowej. Należy jednak pamiętać o zabezpieczeniach takich jak filtrowanie danych wejściowych aby uniknąć zagrożeń związanych z SQL injection. Warto również rozważyć wykorzystanie bardziej złożonych struktur danych jak tablice asocjacyjne które pozwalają na bardziej czytelne i zrozumiałe odwoływanie się do poszczególnych pól wiersza danych zwłaszcza w przypadku większych projektów. Użycie mysqli_fetch_row jest zgodne z dobrą praktyką jeśli chcemy uzyskać dostęp do danych w sposób sekwencyjny i wydajny

Pytanie 16

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

ALTER TABLE ksiazki
MODIFY tytul VARCHAR(100) NOT NULL;
A. Zmienić typ kolumny w tabeli ksiazki
B. Dodać do tabeli ksiazki kolumnę tytul
C. Zmienić nazwę kolumny w tabeli ksiazki
D. Usunąć kolumnę tytul z tabeli ksiazki
Polecenie SQL ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL; służy do zmiany typu kolumny tytul w tabeli ksiazki. W tym przypadku typ kolumny jest zmieniany na VARCHAR(100), co oznacza, że będzie przechowywać łańcuchy znaków o maksymalnej długości 100 znaków, a dodatkowo kolumna ta nie może przyjmować wartości NULL. Użycie ALTER TABLE i MODIFY pozwala na dynamiczną modyfikację struktury tabeli bez konieczności jej usuwania i ponownego tworzenia, co jest korzystne w dużych systemach bazodanowych, gdzie minimalizacja czasu przestoju jest kluczowa. Praktyczne zastosowanie polecenia MODIFY jest szerokie i obejmuje sytuacje, w których wymagane są zmiany w przechowalności danych, na przykład aby dostosować się do nowych wymagań biznesowych lub normatywnych. Warto pamiętać o dopasowaniu zmian do istniejących danych i zapewnieniu spójności bazy danych, co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 17

Wykorzystanie definicji stylu CSS spowoduje, że nagłówki drugiego poziomu będą się wyświetlać

h2 {
    text-decoration: overline;
    font-style: italic;
    line-height: 60px;
}
A. czcionką kursywną, z linią pod tekstem, wysokość wiersza wynosi 60 px
B. czcionką kursywną, z linią nad tekstem, wysokość wiersza wynosi 60 px
C. czcionką standardową, z linią nad tekstem, wysokość wiersza wynosi 60 px
D. czcionką standardową, z linią pod tekstem, odległość między znakami wynosi 60 px
Odpowiedź numer 2 jest poprawna, ponieważ definicja stylu CSS zawiera właściwości, które dokładnie odpowiadają tej opcji. Właściwość font-style: italic sprawia, że tekst nagłówka będzie zapisany czcionką pochyloną, co jest często stosowane w celu nadania tekstowi bardziej dynamicznego i estetycznego wyglądu. Jest to szczególnie przydatne w projektowaniu stron internetowych, gdzie wyróżnienie nagłówków ma kluczowe znaczenie dla czytelności i atrakcyjności wizualnej. text-decoration: overline dodaje linię nad tekstem, co jest mniej powszechnym, ale interesującym sposobem na wyróżnienie tekstu. Może być używane w nowoczesnych projektach, aby nadać stronie unikalny charakter. Wysokość wiersza line-height: 60px zapewnia odpowiednią przestrzeń między wierszami, co zwiększa czytelność, szczególnie przy większych czcionkach. Taki sposób formatowania jest zgodny ze standardami projektowania UX/UI, które kładą nacisk na estetykę i funkcjonalność. Dlatego zrozumienie tych właściwości i ich zastosowanie jest kluczowe dla każdego projektanta stron internetowych.

Pytanie 18

W podanym kodzie PHP, w miejscu kropek należy umieścić odpowiednią instrukcję

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
while ($wiersz = ...................)
    echo "$wiersz[0] $wiersz[1]";
A. mysqli_fetch_array($zapytanie)
B. mysqli_free_result($zapytanie)
C. mysqli_num_fields($zapytanie)
D. mysqli_query($zapytanie)
Mysqli_query($zapytanie) to funkcja, która wykonuje zapytanie SQL, ale nie przetwarza wyników. Jest to kluczowy etap interakcji z bazą danych, ponieważ bez wykonania zapytania nie można uzyskać żadnych danych. Jednak w podanym kodzie funkcja ta już została użyta do utworzenia zasobu $zapytanie, więc jej ponowne użycie w pętli nie miałoby sensu. Z kolei mysqli_free_result($zapytanie) służy do zwolnienia zasobów związanych z wynikiem zapytania, co jest potrzebne po zakończeniu przetwarzania danych, aby unikać wycieków pamięci. W miejscu kropek nie jest jednak potrzebne, ponieważ nadal przetwarzamy dane. Mysqli_num_fields($zapytanie) zwraca liczbę pól w wyniku zapytania, co może być przydatne podczas analizy struktury danych, ale nie jest właściwe do pobierania danych z zapytania. Typowe błędy myślowe wynikają z niezrozumienia procesu przetwarzania wyników zapytania i różnicy między wykonaniem zapytania a przetwarzaniem jego wyników. Ważne jest, aby rozróżniać role poszczególnych funkcji i stosować je zgodnie z ich przeznaczeniem, co jest fundamentem efektywnej pracy z bazami danych.

Pytanie 19

Jaki program służy do tworzenia i edytowania grafiki wektorowej?

A. Audacity
B. Corel Draw
C. Paint
D. Wordpad
Paint, Audacity i Wordpad to programy, które nie są przeznaczone do edycji grafiki wektorowej. Paint to prosty edytor bitmapowy, który obsługuje grafikę rastrową, co oznacza, że obrazy składają się z pikseli. W przypadku grafiki rastrowej, powiększanie obrazu prowadzi do utraty jakości, co jest niekorzystne w kontekście profesjonalnych projektów graficznych. Audacity to program do edycji dźwięku, który nie ma związku z grafiką, a jego zastosowanie ogranicza się do obróbki audio. Wordpad, z kolei, jest edytorem tekstu, który nie obsługuje grafiki wektorowej ani rastrowej w sposób zaawansowany. Typowe błędy myślowe związane z wyborem tych programów wynikają często z niepełnej wiedzy na temat ich funkcji oraz zastosowań. Użytkownicy mogą mylnie sądzić, że jakikolwiek program graficzny może być użyty do projektowania, jednak profesjonalne narzędzia, takie jak Corel Draw, są zoptymalizowane do pracy z grafiką wektorową, oferując funkcje, które są kluczowe dla uzyskania wysokiej jakości projektów. Zrozumienie różnicy między grafiką wektorową a rastrową oraz znajomość odpowiednich narzędzi jest niezbędne do skutecznego tworzenia profesjonalnych projektów graficznych.

Pytanie 20

Aby obliczyć liczbę wszystkich wierszy w tabeli Koty, należy zastosować zapytanie:

A. SELECT ROWNUM() FROM Koty
B. SELECT COUNT(Koty) AS ROWNUM
C. SELECT COUNT(ROWNUM) FROM Koty
D. SELECT COUNT(*) FROM Koty
Poprawna odpowiedź to 'SELECT COUNT(*) FROM Koty', ponieważ to standardowy sposób zliczania wszystkich wierszy w tabeli w SQL. Funkcja COUNT(*) zlicza wszystkie wiersze, niezależnie od tego, czy zawierają wartości NULL, czy nie. Jest to najczęściej używana metoda w praktyce, ponieważ zapewnia dokładny wynik i jest także optymalizowana przez silnik baz danych, co czyni ją efektywną. Na przykład, jeśli mamy tabelę 'Koty' zawierającą różne dane o kotach, użycie tego polecenia zwróci dokładną liczbę kotów zapisanych w tej tabeli. Dobrym zwyczajem jest również korzystanie z aliasów lub konstruowania zapytań z dodatkowymi warunkami, co pozwala na bardziej złożoną analizę danych. Przy pracy z dużymi zbiorami danych, zrozumienie jak działa COUNT(*) i jego zastosowanie w kontekście innych funkcji agregujących jest kluczowe dla optymalizacji zapytań. Warto również pamiętać, że w SQL standardowym zliczanie wierszy bezpośrednio z tabeli jest znacznie bardziej efektywne i czytelne niż inne metody, co czyni tę praktykę najlepszą do stosowania w codziennej pracy z bazami danych.

Pytanie 21

W JavaScript utworzono obiekt. Jak zmienić wartość właściwości x tego obiektu w dalszej części kodu?

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. obiekt1.x = …
B. wsp.x = …
C. x = …
D. obiekt1::x = …
W JavaScript dostęp do właściwości obiektów można uzyskać przy pomocy notacji kropkowej lub nawiasowej. Ale użycie tych notacji musi być właściwe, bo w przeciwnym razie mogą się pojawić błędy. Na przykład zapis obiekt1::x = … nie zadziała, bo JavaScript nie rozumie podwójnego dwukropka do dostępu do właściwości. Może się to mylić, bo niektóre inne języki tak robią, ale nie w JavaScript. Kolejna kwestia z wsp.x = … jest taka, że wsp powinien być obiektem z właściwością x, ale w tym przypadku wsp to właściwość obiektu obiekt1, a nie niezależny obiekt. Próba użycia wsp do dostępu do x byłaby błędna. Ostatnia opcja x = … jest poprawna w kontekście zmiennej, ale nie odnosi się do zmiany właściwości x w obiekcie. Taki zapis zmienia tylko wartość zmiennej x, a nie właściwości obiektu. Więc, mimo że inne odpowiedzi mogą wydawać się sensowne w różnych kontekstach, tylko obiekt1.x = … jest właściwym sposobem na modyfikację właściwości obiektu w JavaScript.

Pytanie 22

Funkcje takie jak rozmycie Gaussa, wygładzanie oraz szum RGB są elementami oprogramowania do przetwarzania

A. Dźwięku w standardzie MIDI
B. Grafiki wektorowej
C. Grafiki rastrowej
D. Ścieżki audio
Wybór odpowiedzi związanej z dźwiękiem, zarówno w formacie MIDI, jak i ścieżką dźwiękową, jest błędny, ponieważ techniki takie jak rozmycie Gaussa, wygładzanie i szum RGB odnoszą się bezpośrednio do przetwarzania obrazów, a nie dźwięku. Format MIDI jest standardem do komunikacji muzycznej pomiędzy instrumentami, w którym wykorzystuje się dane dotyczące nut, ich intensywności oraz czasu trwania, a nie techniki graficzne. Ścieżka dźwiękowa, podobnie, koncentruje się na audio i nie ma zastosowania dla funkcji typowych dla grafiki. W kontekście grafiki wektorowej, która opiera się na matematycznych modelach kształtów i nie opiera się na siatce pikseli, techniki rozmycia i wygładzania nie są używane w sposób, w jaki są stosowane w grafice rastrowej. Zasadniczo, grafika wektorowa wykorzystuje inne narzędzia i techniki do obróbki, które są bardziej związane z kształtami i konturami projektów. Typowym błędem myślowym w tym przypadku jest pomylenie mediów cyfrowych i zasadniczych różnic w ich obróbce. Wiedza na temat tych różnic jest kluczowa dla skutecznego przetwarzania danych wizualnych oraz audio, a sukces w tych dziedzinach wymaga znajomości odpowiednich technik i narzędzi.

Pytanie 23

Jakie polecenie należy zastosować, aby wysłać dane przy pomocy funkcji mysqli_query() w skrypcie PHP, który dodaje informacje z formularza umieszczonego na stronie internetowej do bazy danych?

A. UPDATE
B. INSERT INTO
C. ALTER
D. SELECT
Odpowiedź 'INSERT INTO' jest poprawna, ponieważ jest to standardowa kwerenda SQL używana do wstawiania nowych rekordów do tabel w bazie danych. W kontekście PHP i funkcji mysqli_query(), wstawianie danych z formularza zazwyczaj obejmuje przygotowanie kwerendy, która zawiera instrukcję INSERT INTO wraz z nazwą tabeli oraz danymi, które mają zostać dodane. Na przykład, jeśli mamy formularz z polami 'imie' i 'nazwisko', kwerenda mogłaby wyglądać następująco: 'INSERT INTO uzytkownicy (imie, nazwisko) VALUES (?, ?)'. Użycie znaków zapytania (?) jest zgodne z najlepszymi praktykami, ponieważ pozwala na bezpieczne wprowadzenie danych, chroniąc aplikację przed atakami SQL Injection. Dobrą praktyką jest również używanie PDO lub MySQLi z przygotowanymi zapytaniami, co zwiększa bezpieczeństwo oraz efektywność kodu. W ten sposób można skutecznie wstawiać dane do bazy danych, zachowując przy tym standardy programistyczne.

Pytanie 24

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

A. Eclipse
B. FileZilla
C. GIT
D. TotalCommander
GIT jest rozproszonym systemem kontroli wersji, który pozwala na efektywne zarządzanie kodem źródłowym projektu programistycznego. Jego architektura umożliwia każdemu programiście posiadanie lokalnej kopii repozytorium, co przyspiesza operacje takie jak commit, diff czy log, ponieważ nie wymaga dostępu do zdalnego serwera. GIT wspiera równoległą pracę wielu deweloperów, umożliwiając tworzenie gałęzi (branch) do rozwijania funkcji czy naprawy błędów bez wpływania na główną wersję kodu. Przykładami praktycznego zastosowania są: rozwijanie nowych funkcjonalności w oddzielnych gałęziach, zarządzanie kodem w projektach open source, czy współpraca w zespołach rozproszonych geograficznie, gdzie deweloperzy mogą synchronizować swoje zmiany poprzez operacje push i pull. Warto także zaznaczyć, że GIT jest szeroko stosowany w standardach branżowych, takich jak Continuous Integration/Continuous Deployment (CI/CD), co podkreśla jego znaczenie w nowoczesnym procesie wytwarzania oprogramowania.

Pytanie 25

Powszechnie stosowanym narzędziem SZBD do tworzenia zestawień danych, które można wydrukować, jest

A. makro
B. raport
C. kwerenda UPDATE
D. formularz
Raport jest kluczowym narzędziem w systemach zarządzania bazami danych (SZBD), które umożliwia przetwarzanie i prezentację danych w formie czytelnych zestawień. W przeciwieństwie do kwerend, które służą głównie do wyszukiwania i aktualizacji danych w bazie, raporty są projektowane z myślą o generowaniu wydruków lub prezentacji danych w zorganizowanej formie. Przykładowo, w systemie Microsoft Access, użytkownik może stworzyć raport, który zbiera dane z różnych tabel i prezentuje je w uporządkowany sposób, np. w formie tabeli z podsumowaniami lub wykresów. Dobre praktyki w tworzeniu raportów obejmują zrozumienie potrzeb odbiorcy oraz dostosowanie formatu raportu do celu, dla którego jest on tworzony. Ważne jest również, aby raporty były zgodne z estetyką i standardami wizualizacji danych, co zwiększa ich czytelność oraz efektywność w przekazywaniu informacji. W kontekście analizy danych, raporty pomagają w podejmowaniu świadomych decyzji biznesowych, dostarczając istotnych informacji w przystępnej formie.

Pytanie 26

W przypadku przedstawionego fragmentu kodu walidator HTML zgłosi błąd, ponieważ

<img src="kwiat.jpg alt="kwiat">
A. nie odnaleziono pliku kwiat.jpg
B. nie zamknięto cudzysłowu
C. użyto niewłaściwego znacznika do wyświetlenia obrazu
D. wprowadzono nieznany atrybut alt
Poprawna odpowiedź to nie domknięto cudzysłowu ponieważ w kodzie HTML atrybuty muszą być poprawnie zamknięte aby poprawnie interpretować ich wartości. W przedstawionym fragmencie kodu dla znacznika img brakuje końcowego cudzysłowu po wartości src co stanowi błąd składniowy. Tego typu błędy mogą prowadzić do nieprawidłowego działania strony ponieważ przeglądarka nie jest w stanie jednoznacznie określić końca wartości atrybutu co może skutkować nieprawidłowym renderowaniem danych. Zgodnie z najlepszymi praktykami każde otwarte cudzysłowie powinno być zamknięte aby zapewnić poprawną interpretację kodu. Ponadto stosowanie poprawnego zamykania cudzysłowów zwiększa czytelność kodu co jest istotne przy współpracy zespołowej i ułatwia jego utrzymanie. Warto także korzystać z walidatorów HTML które automatycznie wykrywają takie błędy pomagając w ich szybkim usunięciu. Tego rodzaju narzędzia są kluczowe w procesie tworzenia stron internetowych ponieważ umożliwiają weryfikację zgodności kodu z obowiązującymi standardami co ma bezpośredni wpływ na jego wydajność i kompatybilność z różnymi przeglądarkami.

Pytanie 27

Jakie polecenie SQL zmieni w tabeli tab wartość w kolumnie kol z Ania na Zosia?

A. ALTER TABLE tab CHANGE kol = 'Zosia' kol = 'Ania'
B. UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia'
C. ALTER TABLE tab CHANGE kol = 'Ania' kol = 'Zosia'
D. UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania'
Polecenie SQL UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania' jest poprawne, ponieważ używa ono właściwej składni do aktualizacji wartości w istniejącej tabeli. W tym przypadku komenda ta zmienia wszystkie wystąpienia wartości 'Ania' w kolumnie 'kol' na 'Zosia'. Jest to klasyczna operacja aktualizacji, która jest szeroko stosowana w zarządzaniu bazami danych. Przykładowo, jeśli w tabeli 'tab' znajdują się rekordy przedstawiające użytkowników, a potrzebujemy zmienić imię 'Ania' na 'Zosia', to powyższa komenda wykona tę operację poprawnie. Zgodnie z zasadami dobrych praktyk, warto również przed dokonaniem aktualizacji wykonać zapytanie SELECT, aby upewnić się, jakie rekordy zostaną zmienione. Dodatkowo, do zminimalizowania ryzyka wystąpienia niezamierzonych zmian, warto przeprowadzić tę operację w kontekście transakcji, aby móc cofnąć zmiany w razie potrzeby, co jest szczególnie istotne w przypadku krytycznych danych.

Pytanie 28

W języku CSS zapis

p::first-line {font-size: 150%;}
zastosowany na stronie z wieloma paragrafami, z których każdy zawiera kilka linii, spowoduje, że
A. cały tekst paragrafu zostanie powiększony o 150%
B. pierwsza linia każdego paragrafu będzie miała mniejszą czcionkę niż pozostałe linie
C. pierwsza linia każdego paragrafu będzie miała większą czcionkę niż pozostałe linie
D. pierwszy paragraf na stronie w całości będzie miał powiększoną czcionkę
Odpowiedź jest trafna, bo selektor CSS 'p::first-line' służy do stylizowania wyłącznie pierwszej linii każdego paragrafu. Kiedy przypisujesz styl 'font-size: 150%', to znaczy, że czcionka tej pierwszej linii będzie większa o 50% od standardowego rozmiaru ustalonego w CSS. To dobra praktyka w web designie, bo pomaga w czytelności i nadawaniu hierarchii informacjom. Na przykład, fajnie jest wyróżnić rozpoczęcie tekstu albo zaakcentować ważne dane. Pamiętaj tylko, że efekt będzie widoczny tylko, gdy tekst ma więcej niż jedną linię, bo w przeciwnym razie powiększenie się nie ujawni. Dodatkowo, korzystanie z pseudo-elementów, jak '::first-line', to coś, co jest w standardach CSS i jest naprawdę cenione w branży.

Pytanie 29

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

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

Pytanie 30

Wskaż poprawną definicję stylu CSS dla przycisku typu submit o właściwościach: czarny kolor tła, brak obramowania, marginesy wewnętrzne 5 px.

input[type=submit] {
  background-color: #000000;
  border: none;
  padding: 5px;
}                         A.

input[type=submit] {
  background-color: #ffffff;
  border: none;
  padding: 5px;
}                         B.

input=submit {
  background-color: #000000;
  border: none;
  margin: 5px;
}                         C.

input=submit {
  background-color: #000000;
  border: 0px;
  margin: 5px;
}                         D.
A. B.
B. A.
C. C.
D. D.
Dobrze! Wybrałeś prawidłową odpowiedź. Odpowiedź A jest poprawna, ponieważ to styl CSS dla przycisku typu submit spełnia wszystkie podane wymagania. Wygląda to mniej więcej tak: 'input[type='submit'] { background-color: black; border: none; padding: 5px; }'. 'input[type='submit']' to selektor, który wskazuje elementy wejściowe o typie 'submit'. Następnie, wewnątrz nawiasów klamrowych, mamy trzy deklaracje. 'background-color: black;' określa, że przycisk ma czarne tło. 'border: none;' usuwa wszelkie obramowanie. 'padding: 5px;' ustawia marginesy wewnętrzne na 5 pikseli. Pisanie czystego i efektywnego kodu CSS jest kluczową umiejętnością dla każdego doświadczonego dewelopera front-endu. Dobrze napisane style CSS mogą znacznie poprawić wydajność strony internetowej i ułatwić jej utrzymanie.

Pytanie 31

Wskaż, na czym polega błąd w kodzie napisanym w języku C++.

char str1[30] = 'Ala ma kota'; printf("%s", str1);
A. Napis powinien być umieszczony w cudzysłowach.
B. W funkcji printf nie można używać formatowania %s.
C. Napis powinien mieć dokładnie 30 znaków.
D. Do funkcji printf przekazano zbyt mało argumentów.
Wskaźnik 'str1' jest zdefiniowany jako tablica znaków, która ma przechowywać łańcuch znaków. W C++ łańcuchy znaków muszą być umieszczone w cudzysłowach, aby kompilator mógł je poprawnie zinterpretować jako dane typu string. W przypadku przypisania wartości 'Ala ma kota' bez cudzysłowów, kompilator traktuje to jako pojedynczy znak, co prowadzi do błędu. Aby poprawnie zainicjować tablicę 'str1', należy użyć: char str1[30] = "Ala ma kota";. Taki zapis jest zgodny z regułami C++ i zapewnia, że napis zostanie potraktowany jako łańcuch znaków. Ponadto, dobrym zwyczajem jest zapewnienie, że tablica ma wystarczającą ilość miejsca na znak null ('\0'), który oznacza koniec łańcucha, co w tym przypadku jest zapewnione przez zdefiniowanie tablicy o rozmiarze 30. Warto również pamiętać, że stosowanie cudzysłowów zamiast apostrofów dla łańcuchów znaków jest podstawową zasadą programowania w C++.

Pytanie 32

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 15
B. 3
C. 5
D. 7
Zrozumienie działania tego algorytmu jest kluczowe dla programowania i matematyki obliczeniowej. Algorytm ten wykorzystuje pętlę 'dopóki', która wykonuje operacje na dwóch zmiennych: Z i N. Na początku Z jest równe 0, a N jest równe 1. Pętla trwa dopóki Z jest mniejsze od 3. W każdej iteracji pętli zmienna N jest aktualizowana zgodnie z wyrażeniem N = N * 2 + 1 oraz Z jest zwiększane o 1. Przy pierwszej iteracji Z wynosi 0, więc N staje się 1 * 2 + 1 = 3, a Z zostaje zwiększone do 1. W drugiej iteracji Z wynosi 1, więc N staje się 3 * 2 + 1 = 7, a Z wynosi 2. W trzeciej iteracji Z wynosi 2, dlatego N staje się 7 * 2 + 1 = 15, a Z zostaje zwiększone do 3, co kończy pętlę. W rezultacie, gdy algorytm kończy działanie, zmienna N ma wartość 15, która zostaje wypisana. To podejście jest zgodne z dobrymi praktykami w pisaniu algorytmów, gdzie dbałość o zrozumienie pętli i operacji na zmiennych jest fundamentalna dla tworzenia wydajnych programów.

Pytanie 33

Jakie zdarzenie umożliwia uruchomienie kodu w języku JavaScript w momencie przesyłania formularza HTML oraz kontrolowanie tego, czy ma on zostać wysłany?

A. onSubmit
B. onEnter
C. onChange
D. onClick
Odpowiedź onSubmit jest rzeczywiście na miejscu, bo to zdarzenie uruchamia się, gdy wysyłasz formularz HTML. Dzięki temu można wprowadzić kod JavaScript, który pozwoli na przeprowadzenie dodatkowych walidacji przed wysłaniem danych na serwer. To super sprawa, bo jeśli coś jest nie tak, to można zablokować wysłanie formularza. Można też zrobić inne rzeczy, na przykład zapisać dane lokalnie albo pokazać jakiś komunikat użytkownikowi. Weźmy na przykład formularz logowania – sprawdzamy, czy hasło i login są odpowiednie przed wysłaniem. Takie podejście to norma w branży, bo walidacja danych po stronie klienta naprawdę poprawia doświadczenia użytkownika i zmniejsza obciążenie serwera. Fajnie jest też korzystać z metod asynchronicznych, jak AJAX, żeby przetwarzać formularze bez potrzeby przeładowywania strony, co naprawdę dodaje interaktywności aplikacjom webowym.

Pytanie 34

Programista stworzył w języku C++ pętlę mającą na celu obliczenie wartości 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny, gdyż

int a = 1; 
for (int i=1; i < 5; i++)
{
a = a * i;
}
cout << a;
A. Zmienna a powinna być inicjowana wartością 0 zamiast 1.
B. Parametr i pętli powinien być zmniejszany zamiast zwiększany.
C. Parametr i pętli powinien być rozpoczęty od wartości 0 zamiast 1.
D. W drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5.
W poprawnej odpowiedzi wskazano, że w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5. W kontekście obliczania silni 5! (czyli 5*4*3*2*1), pętla for powinna iterować od 1 do 5, co oznacza, że końcowy warunek pętli powinien uwzględniać 5. W przeciwnym razie, ostatnia iteracja, w której i wynosi 5, nie będzie wykonana, co skutkuje błędnym wynikiem. Prawidłowa pętla powinna wyglądać tak: for (int i=1; i <= 5; i++) lub for (int i=1; i < 6; i++). Takie podejście jest zgodne z zasadami programowania, które zalecają, aby końcowy warunek pętli obejmował ostatnią wartość, która ma być przetwarzana. Dobrą praktyką w programowaniu jest również przemyślenie granic pętli, aby zapewnić, że wszystkie wymagane wartości są uwzględniane w obliczeniach, co jest kluczowe w takich obliczeniach matematycznych jak silnia.

Pytanie 35

W systemie baz danych zdefiniowano tabelę Mieszkancy, która zawiera dane. W celu usunięcia tej tabeli oraz jej zawartości, należy użyć polecenia

A. DELETE FROM Mieszkancy;
B. DROP TABLE Mieszkancy;
C. ALTER TABLE Mieszkancy;
D. TRUNCATE TABLE Mieszkancy;
Polecenie 'DROP TABLE Mieszkancy;' jest odpowiednie do usunięcia tabeli z bazy danych, wraz ze wszystkimi jej danymi i strukturą. W przeciwieństwie do innych poleceń, takich jak 'DELETE' czy 'TRUNCATE', które modyfikują zawartość tabeli, 'DROP TABLE' usuwa całą tabelę z systemu. Użycie tego polecenia jest nieodwracalne, dlatego przed jego zastosowaniem warto upewnić się, że posiadamy kopię zapasową danych, jeśli będą one w przyszłości potrzebne. W praktyce, jeśli jesteś administratorem bazy danych i chcesz usunąć zbędną tabelę, polecenie to jest niezwykle efektywne i pozwala na zwolnienie zasobów. Zgodnie z najlepszymi praktykami, przed wykonaniem operacji na bazie danych, zawsze warto przeprowadzić analizę wpływu na inne powiązane obiekty, takie jak relacje między tabelami. Dobrą praktyką jest również włączenie kontroli dostępu, aby nieuprawnione osoby nie mogły wykonywać takich operacji.

Pytanie 36

Co oznacza skrót SQL?

A. Standard Quality Language
B. Structured Query Language
C. Simple Query Logic
D. Sequential Question Language
SQL, czyli <em>Structured Query Language</em>, to bardzo istotny język w świecie baz danych. Pozwala na tworzenie, modyfikowanie i zarządzanie danymi w relacyjnych bazach danych. Język ten umożliwia użytkownikom definiowanie struktury bazy danych poprzez tworzenie tabel oraz określanie relacji między nimi. Ponadto, SQL jest kluczowy do manipulacji danymi, oferując szeroki wachlarz komend do selekcji, wstawiania, aktualizacji i usuwania danych. Dzięki SQL można także kontrolować dostęp do danych, definiując uprawnienia użytkowników. W praktyce, SQL jest używany w wielu narzędziach i systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL, Microsoft SQL Server czy Oracle Database. Jego standaryzacja przez ANSI i ISO zapewnia, że podstawowe komendy są zrozumiałe i spójne w wielu systemach. Dla programistów i administratorów baz danych znajomość SQL jest kluczowa, ponieważ pozwala na efektywne zarządzanie i analizę danych, co jest podstawą w podejmowaniu decyzji biznesowych.

Pytanie 37

Właściwość CSS animation-duration określa

A. kierunek rozpoczęcia animacji.
B. czas trwania jednego cyklu animacji.
C. opóźnienie startu animacji.
D. liczba powtórzeń animacji.
Właściwość CSS `animation-duration` dokładnie określa, ile czasu trwa jeden pełny cykl animacji – od początku do końca zdefiniowanych klatek kluczowych (`@keyframes`). Jeśli ustawisz `animation-duration: 2s;`, to przeglądarka ma 2 sekundy na przejście od stanu początkowego do końcowego w danej animacji. Moim zdaniem warto to sobie wyobrazić jak czas trwania jednego „przejścia” animacji, zanim ewentualnie zacznie się kolejny obrót, jeśli używasz `animation-iteration-count`. Technicznie jest to czas trwania pojedynczej iteracji, zgodnie ze specyfikacją CSS Animations (W3C). W praktyce wygląda to np. tak: `.box { animation-name: fadeIn; animation-duration: 1.5s; }`. Tu element będzie się „pojawiał” przez 1,5 sekundy. Jeśli dodasz `animation-iteration-count: 3;`, to ta 1,5 sekundowa animacja zostanie odtworzona trzy razy, ale sama długość pojedynczego cyklu nadal wynosi 1,5 s. Częsty dobry nawyk w front-endzie to trzymanie się krótkich, płynnych animacji, zwykle w zakresie 150–500 ms dla prostych efektów (hover, focus), a dłuższych, do 1–2 sekund, dla bardziej złożonych przejść, żeby użytkownik nie czuł się znużony. `animation-duration` przyjmuje wartości w sekundach (`s`) lub milisekundach (`ms`), np. `300ms`. Można też ustawiać różne czasy dla wielu animacji naraz, rozdzielając wartości przecinkami. Warto pamiętać, że jeśli nie podasz `animation-duration`, domyślna wartość to `0s`, czyli animacja tak naprawdę się nie odtworzy – to jeden z częstszych powodów, czemu początkującym „nie działa animacja”. Dobrą praktyką jest zawsze jawne ustawianie `animation-duration` oraz spójne używanie jednostek czasu w całym projekcie, żeby interfejs wyglądał konsekwentnie i profesjonalnie.

Pytanie 38

<form>
  <input type="email" id="addr" required>
  <input type="submit" value="Zapisz">
</form>
Na podstawie przedstawionego kodu formularza HTML można powiedzieć, że pole edycyjne:
A. wymaga wpisania jedynie znaków alfanumerycznych.
B. nie może być puste i wymaga wpisania tekstu ze znakiem @.
C. nie powinno zawierać znaków numerycznych.
D. może być puste.
W tym fragmencie kodu HTML masz dwa bardzo ważne atrybuty: type="email" oraz required. To właśnie one razem powodują, że poprawna jest odpowiedź, że pole nie może być puste i wymaga wpisania tekstu ze znakiem @. Atrybut required oznacza, że pole jest obowiązkowe. Przeglądarka, zgodnie ze specyfikacją HTML5, nie pozwoli wysłać formularza, dopóki pole nie będzie wypełnione. Użytkownik kliknie przycisk „Zapisz”, a formularz po prostu się nie wyśle – pojawi się komunikat walidacyjny po stronie przeglądarki. To jest tzw. walidacja po stronie klienta, domyślnie wbudowana w HTML. Z kolei type="email" uruchamia specjalny mechanizm sprawdzania formatu wpisanego tekstu. Przeglądarka sprawdza, czy ciąg znaków wygląda jak adres e‑mail: musi zawierać co najmniej znak @ i jakąś część przed i po nim. To nie jest super zaawansowana walidacja, ale wystarcza jako pierwszy filtr, np. "[email protected]" przejdzie, a "jan.domena.pl" już nie. Moim zdaniem to bardzo wygodne, bo nie trzeba od razu pisać własnego JavaScriptu tylko po to, żeby odsiać oczywiste błędy. W praktyce w aplikacjach webowych zwykle łączy się tę prostą walidację HTML5 z dodatkowymi sprawdzeniami po stronie serwera (np. w PHP czy w innym backendzie), bo dane z formularza zawsze trzeba traktować z ograniczonym zaufaniem. Dobrym nawykiem jest też dodanie atrybutu name, np. name="email", żeby serwer mógł poprawnie odebrać wartość pola. Warto też wiedzieć, że niektóre przeglądarki mobilne, gdy widzą type="email", podpowiadają użytkownikowi specjalną klawiaturę z łatwym dostępem do znaku @ i kropki, co realnie poprawia wygodę wpisywania adresu. To taki mały szczegół, ale w profesjonalnych projektach UX ma znaczenie. Podsumowując: required blokuje puste wysłanie formularza, a type="email" wymusza poprawny, podstawowy format adresu ze znakiem @ – dokładnie to opisuje poprawna odpowiedź.

Pytanie 39

Głównym zadaniem systemu CMS jest

A. przyspieszenie projektowania aplikacji desktopowych.
B. ułatwienie zarządzania treścią na stronie internetowej.
C. konwersja obiektowego języka programowania na strukturalny.
D. ujednolicenie tematyczne zawartości stron internetowych.
Wokół systemów CMS krąży sporo nieporozumień, głównie dlatego, że ludzie mylą je z ogólnie pojętym „oprogramowaniem do robienia stron” albo wręcz z narzędziami programistycznymi. CMS nie służy do przyspieszania projektowania aplikacji desktopowych, bo w ogóle nie jest narzędziem do tworzenia programów na komputery stacjonarne. To nie jest środowisko typu Visual Studio czy IntelliJ. CMS działa zazwyczaj w środowisku webowym, na serwerze HTTP, i jest skierowany do zarządzania treścią serwisów internetowych, a nie do budowania klasycznych aplikacji okienkowych. Czasem pojawia się też mylne przekonanie, że CMS ma „ujednolicić tematycznie” zawartość stron. Owszem, system może narzucać pewne szablony, kategorie, taksonomie, ale jego celem nie jest pilnowanie tematyki, tylko struktury i sposobu publikacji. To redaktorzy i właściciele serwisu decydują, o czym jest strona. CMS jedynie daje mechanizmy: kategorie, tagi, typy wpisów, moduły, które pomagają tę treść uporządkować, ale nie ogranicza jej tematycznie z definicji. Kolejne błędne skojarzenie dotyczy konwersji między paradygmatami programowania, np. z języków obiektowych na strukturalne. CMS nie jest kompilatorem ani translatorem kodu. To aplikacja webowa, która korzysta z jakiegoś języka (często PHP, czasem Python, Java, JavaScript po stronie serwera), ale użytkownik końcowy zwykle w ogóle nie ma kontaktu z tym kodem. Typowy błąd myślowy polega na traktowaniu CMS-a jako „magicznego generatora programu”, podczas gdy jest to raczej rozbudowany system do zarządzania zawartością: tekstami, grafikami, multimediami, strukturą nawigacji. W praktyce profesjonaliści patrzą na CMS jako na narzędzie redakcyjne i administracyjne dla serwisu WWW: z rolami użytkowników, workflow publikacji, historią zmian, integracją z SEO, czasem z e-commerce. Jeśli więc jakaś odpowiedź sugeruje, że chodzi tu o tworzenie desktopów, manipulację paradygmatami programowania albo narzucanie tematyki, to wynika to z pomieszania pojęć: mylenia CMS z IDE, kompilatorem lub systemem kontroli treści merytorycznej, a nie technicznej. Dobrze jest to sobie raz jasno poukładać, bo w projektach webowych CMS to jedno z podstawowych narzędzi pracy redakcji, a nie programistyczny „kombajn do wszystkiego”.

Pytanie 40

Którą technologię poleca się przy tworzeniu serwisów WWW, tak aby zmiany w treści można było wykonywać bez potrzeby ich kodowania, przez użytkowników bez kompetencji programistycznych?

A. SEO
B. SSL
C. FTP
D. CMS
Prawidłowa odpowiedź to CMS, czyli Content Management System – system zarządzania treścią. W praktyce chodzi o takie oprogramowanie (np. WordPress, Joomla, Drupal), które pozwala edytować stronę WWW przez przeglądarkę, bez dotykania kodu HTML, CSS czy PHP. Użytkownik loguje się do panelu administracyjnego, dostaje prosty edytor przypominający Worda i może dodawać newsy, podstrony, zdjęcia, pliki do pobrania. To dokładnie rozwiązuje problem opisany w pytaniu: zmiany w treści wykonują osoby nietechniczne, a programista przygotowuje tylko szablon i funkcjonalność. Moim zdaniem to jeden z kluczowych standardów w branży – praktycznie każdy profesjonalny serwis firmowy, portal informacyjny, blog czy sklep internetowy stoi na jakimś CMS-ie lub systemie pokrewnym (np. headless CMS). Dzięki temu rozdziela się warstwę prezentacji (frontend) od warstwy treści i logiki biznesowej. Dobra praktyka jest taka, żeby nie „twardo” wpisywać treści w pliki HTML/PHP, tylko trzymać je w bazie danych i udostępniać przez panel CMS. Upraszcza to utrzymanie, pozwala na wersjonowanie treści, pracę kilku redaktorów naraz, zarządzanie uprawnieniami, a nawet planowanie publikacji w czasie. Z mojego doświadczenia, dobrze wdrożony CMS to ogromna oszczędność czasu dla programistów – nie muszą oni za każdym razem poprawiać tekstu czy wymieniać obrazka, tylko skupiają się na rozwoju funkcji. Redaktorzy mogą bez stresu pracować na stagingu, sprawdzać podgląd, korzystać z szablonów bloków, a potem jednym kliknięciem opublikować treść. To też sprzyja zgodności z dobrymi praktykami SEO, bo wiele CMS-ów ma wbudowane moduły do ustawiania meta tagów, przyjaznych adresów URL czy mapy strony.