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 09:28
  • Data zakończenia: 11 maja 2026 09:55

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Dla tablicy n-elementowej o nazwie t[n], algorytm, zapisany w formie kroków, ma za zadanie obliczenie sumy

Ilustracja do pytania
A. n-elementów tablicy
B. sumy tych elementów tablicy, których wartości są nieparzyste
C. co drugiego elementu tablicy
D. sumy wszystkich elementów tablicy
Algorytm, który masz na zdjęciu, ma na celu sumowanie co drugiego elementu w tablicy. Na początku ustalamy zmienne i=0 oraz wynik=0. Używamy pętli while, żeby przejść przez tablicę, a zmienna i zwiększa się o 2 za każdym razem, więc idealnie nadaje się do zbierania co drugiego elementu. W kroku K3 dodajemy aktualny element tablicy do zmiennej wynik, co w praktyce oznacza, że sumujemy elementy, które są na parzystych indeksach (czyli te z miejsc 0, 2, 4 i tak dalej). Takie podejście jest dosyć popularne, kiedy musimy wyodrębniać fragmenty danych z większej tablicy. Można to wykorzystać w różnych sytuacjach, gdzie liczy się efektywność, jak na przykład przy przetwarzaniu dużych zbiorów danych. Dzięki temu zmniejszamy złożoność obliczeniową i lepiej zarządzamy pamięcią. W branży często doradza się unikanie niepotrzebnych iteracji i skupianie się na mądrym projektowaniu algorytmów, co zdecydowanie prowadzi do lepszego kodu.

Pytanie 2

Dane są zapisy w tabeli uczniowie, które zostały przedstawione na rysunku. Jaki będzie rezultat wykonania podanego zapytania SQL?

Ilustracja do pytania
A. Dane 4, 3, 4, 3
B. Wartość 3.5
C. Liczba wierszy równa 4
D. Suma ocen równa 14
Zapytanie SQL SELECT AVG(ocena) FROM uczniowie ma na celu obliczenie średniej wartości kolumny ocena w tabeli uczniowie. Średnia arytmetyczna jest obliczana poprzez zsumowanie wszystkich ocen i podzielenie wyniku przez liczbę rekordów. W tym przypadku mamy cztery oceny: 4 3 4 i 3. Suma tych ocen wynosi 14 a liczba rekordów to 4 co daje średnią arytmetyczną równą 3.5. W przypadku baz danych funkcja AVG() jest standardowym sposobem na obliczanie średniej wartości w zestawie danych i jest powszechnie używana w analizie danych gdzie często zachodzi potrzeba określenia centralnej tendencji. Takie podejście pozwala na szybką ocenę ogólnej wydajności lub trendów w zbiorze danych. Praktyczne zastosowanie tego mechanizmu obejmuje analizy biznesowe gdzie przeciętna wartość sprzedaży lub innych metryk może dostarczyć cennych informacji. Warto również podkreślić że AVG() ignoruje wartości NULL co jest korzystne w analizie zestawów danych o niepełnych wpisach.

Pytanie 3

Który z podanych znaczników HTML nie jest używany do formatowania tekstu?

A. <strong>
B. <div>
C. <sub>
D. <em>
<div> jest znacznikiem HTML, który służy do grupowania elementów na stronie, co ułatwia ich stylizację i manipulację w CSS oraz JavaScript. W przeciwieństwie do znaczników takich jak <em>, <sub> i <strong>, które mają konkretne zastosowania związane z formatowaniem tekstu, <div> pełni rolę kontenera, co czyni go bardziej uniwersalnym narzędziem do strukturyzacji treści. Przykładowo, można użyć <div> do utworzenia sekcji nagłówka, stopki lub bocznego panelu na stronie. Zgodnie z standardami W3C, <div> jest elementem blokowym, co oznacza, że zajmuje całą szerokość dostępną w swoim rodzicu. W praktyce, <div> pozwala na efektywne zarządzanie układem strony i jest często stosowany w połączeniu z CSS w celu uzyskania pożądanej prezentacji wizualnej. Przykład zastosowania: <div class='container'>...</div> może być użyty do zawarcia innych elementów jak <h1>, <p> czy <img>. Dzięki temu można łatwo manipulować stylem i zachowaniem tych elementów, co czyni <div> kluczowym narzędziem w nowoczesnym web designie.

Pytanie 4

Aby wykonać przycisk na stronę internetową zgodnie z wzorem, potrzebne jest skorzystanie z opcji w programie do grafiki rastrowej

Ilustracja do pytania
A. zaokrąglenie lub wybór opcji prostokąt z zaokrąglonymi rogami
B. zniekształcenia i deformacja
C. propagacja wartości
D. selekcja eliptyczna
Propagacja wartości to termin, który odnosi się do automatycznego rozprzestrzeniania się cech lub danych w obrębie pewnego systemu, ale nie ma związku z tworzeniem przycisków graficznych. Stosuje się go raczej w kontekście programowania i przetwarzania danych. Zaznaczenie eliptyczne jest narzędziem używanym do wyboru kształtów owalnych lub kolistych w edycji grafiki, co przydaje się przy tworzeniu selektywnych modyfikacji, jednak nie jest bezpośrednio stosowane do tworzenia przycisków o zaokrąglonych rogach. Zniekształcenia i deformowanie odnoszą się do modyfikacji kształtu obiektów graficznych, co może być użyteczne przy tworzeniu artystycznych efektów specjalnych, ale nie jest potrzebne do uzyskania prostego efektu zaokrąglenia rogów. Częstym błędem jest mylenie złożonych operacji graficznych z prostymi narzędziami dostępnymi w programach graficznych. Należy zawsze pamiętać, że zaokrąglenie rogów to standardowa funkcjonalność dostępna w większości edytorów graficznych, dzięki czemu można uzyskać estetyczny efekt przy minimalnym wysiłku. Wykorzystanie właściwych narzędzi graficznych zgodnie z ich przeznaczeniem jest kluczowe dla efektywnego projektowania graficznego oraz oszczędności czasu w procesie twórczym. Rozumienie różnic między narzędziami pozwala na ich odpowiednie zastosowanie i unikanie błędów projektowych.

Pytanie 5

Rozmiar grafiki JPEG zamieszczonej na stronie www może wpływać na

A. czas ładowania strony.
B. szybsze sprawdzanie linków.
C. zgodność z systemem Windows.
D. błędy w składni HTML.
Wielkość grafiki JPEG umieszczonej na stronie internetowej ma istotny wpływ na długość czasu ładowania strony. Gdy obraz jest zbyt duży, wymaga większej ilości danych do pobrania, co wydłuża czas, który użytkownik musi czekać na wyświetlenie zawartości. Optymalizacja grafik jest więc kluczowym aspektem projektowania stron internetowych. W praktyce, kompresja zdjęć przed ich załadowaniem na stronę, na przykład przy użyciu narzędzi takich jak ImageOptim lub TinyPNG, może znacząco zmniejszyć rozmiar pliku bez widocznej utraty jakości. Zgodnie z wytycznymi Google PageSpeed Insights, obrazy powinny być odpowiednio dostosowane do wymagań dotyczących jakości i rozmiaru. Sprawne zarządzanie grafiką może poprawić współczynnik konwersji oraz zredukować współczynnik odrzuceń, co jest kluczowe dla sukcesu witryny. Prędkość ładowania strony ma również znaczenie dla SEO, ponieważ wyszukiwarki preferują strony, które ładują się szybko, co wpływa na pozycjonowanie. Dlatego odpowiednia optymalizacja obrazów JPEG jest niezbędna dla każdej witryny internetowej, aby zapewnić pozytywne doświadczenia użytkowników oraz dobre wyniki w rankingach wyszukiwarek.

Pytanie 6

Na przedstawionym obrazie zobrazowano wybór formatu pliku do zaimportowania bazy danych. Który z formatów należy wybrać, jeśli dane zostały wyeksportowane z programu Excel i zapisane w formie tekstowej z użyciem przecinka do oddzielania wartości pól?

Ilustracja do pytania
A. CSV
B. ESRI
C. SQL
D. XML
CSV to skrót od Comma-Separated Values czyli wartości oddzielone przecinkami Jest to powszechnie stosowany format plików tekstowych używany do przechowywania danych tabelarycznych Takie pliki są łatwe do utworzenia edytowania i odczytu przez różnorodne aplikacje co czyni je wszechstronnym wyborem dla transferu danych między różnymi systemami i programami Główną zaletą formatu CSV jest jego prostota i szeroka kompatybilność zwłaszcza z programami do obsługi arkuszy kalkulacyjnych takimi jak Microsoft Excel czy Google Sheets Kiedy dane są eksportowane z Excela jako tekst z przecinkami oddzielającymi wartości CSV to optymalny wybór dla importu do baz danych czy innych aplikacji gdzie dane muszą być szybko i bezproblemowo przetworzone Standard ten nie zawiera informacji o typach danych kolorach czy formatach co sprawia że jest lekki i niezawodny CSV jest również obsługiwany przez większość języków programowania co znacznie ułatwia jego obsługę i integrację w procesach automatyzacji Jest to idealne rozwiązanie gdy potrzebujemy prostego i szybkiego sposobu na przeniesienie danych bez skomplikowanych zależności

Pytanie 7

W języku PHP znak "//" wskazuje na

A. operator dzielenia całkowitego
B. początek komentarza jednoliniowego
C. początek skryptu
D. operator alternatywny
W języku PHP znak '//' oznacza początek komentarza jednoliniowego. Komentarze w PHP są istotnym elementem kodu, pozwalającym programistom na dodawanie adnotacji, które nie wpływają na wykonywanie skryptu. Komentarze są niezwykle pomocne, gdyż umożliwiają wyjaśnienie złożonych fragmentów kodu, co ułatwia jego dalsze utrzymanie i rozwijanie. Dzięki używaniu '//', programista może opisać, co dany fragment kodu robi, dla siebie lub innych osób przeglądających kod w przyszłości. Przykład zastosowania: jeśli mamy kod 'echo "Hello World!";', możemy dodać komentarz wyjaśniający: '// Wyświetla tekst Hello World!'. Warto zaznaczyć, że PHP pozwala także na korzystanie z komentarzy wieloliniowych, które zaczynają się od '/**' i kończą na '*/'. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programistycznymi, które zalecają dokumentowanie kodu oraz poprawne jego komentowanie, co jest częścią standardów kodowania, takich jak PSR-1 oraz PSR-2, promujących czytelność i spójność w kodzie.

Pytanie 8

Aby baza danych działała poprawnie i konsekwentnie, konieczne jest wprowadzenie w każdej tabeli

A. klucza FOREIGN KEY z wartością NOT NULL
B. klucza obcego z wartością NOT NULL i UNIQUE
C. kluczy PRIMARY KEY i FOREIGN KEY
D. klucza PRIMARY KEY z wartością NOT NULL i UNIQUE
W kontekście baz danych, klucz PRIMARY KEY jest fundamentalnym elementem struktury każdej tabeli, ponieważ zapewnia unikalną identyfikację rekordów. Klucz ten musi spełniać dwie podstawowe zasady: być unikalny oraz nie pozwalać na wartości NULL. Dzięki temu każda linia w tabeli może być jednoznacznie zidentyfikowana, co jest niezbędne do zapewnienia integralności danych oraz efektywności operacji CRUD (tworzenie, odczyt, aktualizacja, usuwanie). Przykładem zastosowania klucza PRIMARY KEY może być tabela 'Użytkownicy', w której kolumna 'ID_Użytkownika' pełni rolę klucza głównego, zapewniając, że każdy użytkownik ma unikalny identyfikator. Wartości NULL w kluczu głównym byłyby problematyczne, ponieważ uniemożliwiałyby identyfikację danego rekordu. Dodatkowo, klucz ten może być użyty w relacjach między tabelami, gdzie klucz FOREIGN KEY w innej tabeli nawiązuje do PRIMARY KEY, tworząc spójną strukturę danych. Ustanawiając klucz PRIMARY KEY, projektanci baz danych mogą również efektywnie korzystać z indeksów, co przyspiesza operacje wyszukiwania oraz zwiększa wydajność bazy danych.

Pytanie 9

Jak nazywa się metoda udostępniania bazy danych w programie Microsoft Access, która dotyczy wszystkich obiektów bazy umieszczonych na dysku sieciowym i wykorzystywanych jednocześnie przez kilku użytkowników?

A. folderu sieciowego
B. serwera bazy danych
C. dzielonej bazy danych
D. witryny programu SharePoint
Odpowiedzi, które wskazują na "serwera bazy danych", "dzielonej bazy danych" lub "witryny programu SharePoint", nie są adekwatne w kontekście udostępniania bazy danych w Microsoft Access. Serwer bazy danych to złożony system, który zarządza dużymi zbiorami danych oraz zapewnia ich integralność i bezpieczeństwo, jednak w przypadku Microsoft Access, który jest narzędziem bazodanowym bardziej skomplikowanym niż prostsze rozwiązania, udostępnianie odbywa się głównie za pośrednictwem folderów sieciowych. Dzielona baza danych oznacza, że baza danych jest podzielona na dwie części: jedną na serwerze (backend) i drugą lokalnie na komputerach użytkowników (frontend). Pomimo że ta konstrukcja może być stosowana do zwiększenia wydajności, nie odnosi się bezpośrednio do koncepcji folderu sieciowego jako metody udostępniania. Witryna programu SharePoint jest platformą do współpracy, która pozwala na zarządzanie dokumentami i danymi w chmurze, ale nie jest bezpośrednio związana z mechanizmem udostępniania bazy danych w Microsoft Access. Zrozumienie różnic między tymi podejściami jest kluczowe, ponieważ często prowadzi to do mylnych wniosków dotyczących rozwiązań technologicznych oraz ich zastosowania w praktyce. W kontekście Access, praktyka umieszczania bazy danych w folderze sieciowym jest standardem branżowym, który zwiększa dostępność i ułatwia współpracę w zespole.

Pytanie 10

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

A. nieliczbowe.
B. jedynie całkowite.
C. zmiennoprzecinkowe.
D. logiczne.
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 11

Ogólne tablice służące do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION są elementem języka

A. PHP
B. Perl
C. C#
D. JavaScript
Odpowiedź PHP jest poprawna, ponieważ $_COOKIE i $_SESSION to superglobalne tablice, które są integralną częścią języka PHP. Umożliwiają one przechowywanie i zarządzanie danymi sesji oraz informacjami o ciasteczkach. $_COOKIE służy do odczytywania i zapisywania danych, które są przechowywane w urządzeniu użytkownika w postaci ciasteczek. Z kolei $_SESSION pozwala na przechowywanie danych sesyjnych na serwerze, co jest kluczowe dla utrzymania stanu użytkownika podczas przeglądania strony. Dzięki temu, programiści mogą tworzyć aplikacje webowe, które identyfikują użytkowników, zachowują ich preferencje oraz dane logowania, co poprawia doświadczenia użytkownika. Praktycznym zastosowaniem tych tablic jest na przykład realizacja systemów logowania, gdzie dane o użytkownikach są przechowywane w sesji, a ciasteczka mogą być używane do zapamiętywania ich preferencji na przyszłość. Często stosowanym standardem w branży jest dbanie o bezpieczeństwo danych sesyjnych, co można osiągnąć poprzez odpowiednie zarządzanie czasem życia sesji oraz używanie bezpiecznych ciasteczek.

Pytanie 12

Zawarty blok ilustruje proces

Ilustracja do pytania
A. podjęcia decyzji
B. realizacji zadania w pętli
C. wykorzystania zdefiniowanej procedury lub funkcji
D. odczytu lub prezentacji danych
Romb w diagramach przepływu sterowania jest używany do reprezentacji podejmowania decyzji jest kluczowym elementem w programowaniu warunkowym Proces ten polega na ocenie wyrażenia logicznego które prowadzi do jednego z dwóch możliwych stanów prawda lub fałsz a następnie przepływu sterowania w kierunku odpowiedniego bloku kodu Praktyczne zastosowanie tego elementu można znaleźć w strukturach takich jak instrukcje if-else czy switch-case Stosowanie decyzji w kodzie jest niezbędne do tworzenia dynamicznych i interaktywnych aplikacji które reagują na różne sytuacje w czasie rzeczywistym Dodatkowo podejmowanie decyzji jest podstawą dla wdrażania algorytmów sztucznej inteligencji i uczenia maszynowego gdzie różne scenariusze są oceniane a odpowiednie decyzje podejmowane na podstawie wyników analizy danych W praktyce inżynierowie oprogramowania muszą zgodnie z dobrymi praktykami projektowymi dbać o to aby każda decyzja była dobrze zaprojektowana i zoptymalizowana nie tylko pod kątem poprawności logicznej ale także wydajności i czytelności kodu co ma kluczowe znaczenie dla utrzymania i rozwoju złożonych systemów informatycznych

Pytanie 13

W tabeli Recepta, kolumny Imie i Nazwisko odnoszą się do pacjenta, na którego wystawiona jest recepta. Jaką kwerendę należy wykorzystać, aby dla każdej recepty uzyskać datę jej wystawienia oraz imię i nazwisko lekarza, który ją wystawił?

Ilustracja do pytania
A. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
B. SELECT Imie, Nazwisko, DataWystawienia FROM Recepta
C. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta
D. SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
Wybór odpowiedzi numer 4 jest prawidłowy, ponieważ kwerenda ta skutecznie łączy tabelę Recepta z tabelą Lekarz poprzez klucz obcy Lekarz_id. W ten sposób możliwe jest uzyskanie imienia i nazwiska lekarza wystawiającego receptę oraz daty jej wystawienia. W SQL, operacja JOIN umożliwia łączenie danych z dwóch tabel na podstawie kolumn powiązanych, co jest fundamentalną zasadą w relacyjnych bazach danych. W tym przypadku klucz obcy Lekarz_id w tabeli Recepta odnosi się do klucza głównego id w tabeli Lekarz. Dzięki temu możemy pobrać informacje o lekarzu wystawiającym receptę, co jest powszechną praktyką w aplikacjach medycznych i systemach zarządzania informacją. Stosowanie JOIN jest kluczowe w projektowaniu efektywnych i skalowalnych baz danych, co pozwala na utrzymanie danych w uporządkowanej i znormalizowanej formie zgodnie z zasadami normalizacji baz danych. Taka struktura bazy danych umożliwia łatwe zarządzanie i aktualizowanie informacji oraz minimalizuje redundancję danych, co jest istotne dla zapewnienia spójności i integralności danych w systemie.

Pytanie 14

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

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
Odpowiedź jest poprawna, ponieważ uwzględnia właściwe połączenie między tabelami Klienci i Zgłoszenia za pomocą klucza obcego Klienci_id w tabeli Zgłoszenia. W relacyjnych bazach danych, gdy chcemy pobrać dane z dwóch tabel powiązanych relacją klucz główny-klucz obcy, używamy klauzuli JOIN. W tym przypadku Klienci_id w tabeli Zgłoszenia odnosi się do kolumny id w tabeli Klienci. Zapytanie SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5; precyzyjnie pobiera kolumny opis i nazwisko z odpowiednich tabel, filtrując wyniki, aby dotyczyły jedynie zgłoszenia o id równym 5. Takie podejście jest zgodne z dobrymi praktykami projektowania relacyjnych baz danych, gdzie separacja danych na tabele pozwala na efektywne zarządzanie związkami między danymi. Korzystając z JOIN, integrujemy te dane w logiczny sposób, co jest fundamentem wydajnych i skalowalnych systemów bazodanowych. Praktyczne zastosowanie tego podejścia można znaleźć w projektowaniu systemów CRM, gdzie dane o klientach i ich zgłoszeniach są regularnie łączone w celu analizy i raportowania.

Pytanie 15

Zawarta baza danych składa się z trzech tabel oraz dwóch relacji. Aby uzyskać informacje o wszystkich lekarzach przypisanych do wybranego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Pacjenci.Recepty_id
B. Lekarze.id = Pacjenci.id
C. Lekarze.id = Pacjenci.Lekarze_id
D. Lekarze.id = Recepty.id
Błędne podejście do łączenia tabel w bazie danych może wynikać z niewłaściwego zrozumienia relacji kluczowych. Rozważmy odpowiedzi, które zakładają niepoprawne połączenia. Lekarze.id = Recepty.id jest błędne ponieważ identyfikator lekarza nie może być bezpośrednio związany z identyfikatorem recepty. Recepty są niezależnym bytem i ich klucze główne nie mają bezpośredniego związku z kluczami lekarzy. To samo dotyczy założenia Lekarze.id = Pacjenci.id które zakłada bezpośrednią relację między pacjentem a lekarzem przez ich identyfikatory co nie jest zgodne z typowymi strukturami baz danych. Każdy pacjent i lekarz ma swój unikalny identyfikator co oznacza brak bezpośredniej relacji między nimi, a relacja jest realizowana poprzez klucz obcy w tabeli Pacjenci. Ostatnia błędna opcja Lekarze.id = Pacjenci.Recepty_id znowu próbuje łączyć tabele poprzez klucze które nie są bezpośrednio związane. Recepty_id w tabeli Pacjenci odnosi się do konkretnej recepty przypisanej pacjentowi, a nie do lekarza. Takie błędne koncepcyjnie podejścia mogą prowadzić do nieprawidłowych wyników zapytań i utraty integralności danych co jest sprzeczne z dobrymi praktykami projektowania baz danych które zakładają jasno zdefiniowane i logicznie spójne relacje między tabelami przez odpowiednie klucze obce i podstawowe. Zrozumienie i poprawne stosowanie tych zasad jest kluczowe w efektywnym zarządzaniu i analizie danych w systemach relacyjnych.

Pytanie 16

Aby obraz umieszczony na stronie internetowej mógł automatycznie dostosowywać się do rozmiaru ekranu, na którym jest prezentowana strona, trzeba

A. nie zmieniać obu jego wymiarów za pomocą stylów CSS
B. jego szerokość ustawić w wartościach procentowych
C. oba jego wymiary ustawić w pikselach
D. jeden z jego wymiarów określić w pikselach
Ustawienie szerokości obrazu w wartościach procentowych jest kluczowe dla zapewnienia responsywności strony internetowej. Gdy szerokość obrazu wyrażona jest w procentach, automatycznie dostosowuje się ona do szerokości kontenera, w którym się znajduje. To oznacza, że obraz będzie skalował się do rozmiaru ekranu użytkownika, co jest szczególnie ważne w kontekście urządzeń mobilnych oraz różnych rozdzielczości ekranów. Przykładem może być użycie stylu CSS: `img { width: 100%; height: auto; }`, co pozwala na zachowanie proporcji obrazu, jednocześnie dostosowując jego szerokość do kontenera. Tego rodzaju praktyki są zgodne z zasadami responsywnego projektowania (Responsive Web Design) i są zalecane przez standardy W3C. Dzięki takim rozwiązaniom użytkownik zyskuje lepsze doświadczenie, a strona wygląda estetycznie na różnych urządzeniach. Dobrą praktyką jest również testowanie strony na różnych ekranach, aby upewnić się, że wszystkie obrazy i inne elementy dostosowują się do zmieniających się warunków wyświetlania.

Pytanie 17

Warunek zapisany w PHP wyświetli liczbę, jeśli

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. jest ona liczbą pierwszą
B. wynik dzielenia liczby przez 2 wynosi 0
C. jest ona parzysta
D. jest ona dodatnia
Warunek zapisany w języku PHP używa operatora modulo (%) do sprawdzenia, czy dana liczba jest parzysta. Operator modulo zwraca resztę z dzielenia liczby przez inną liczbę co w przypadku parzystości oznacza że reszta z dzielenia liczby przez 2 wynosi 0. W praktyce wykorzystuje się to do sprawdzenia czy liczba jest podzielna przez 2 bez reszty co jest definicją liczby parzystej. W kodowaniu warunki te są przydatne w algorytmach które wymagają działania na liczbach parzystych lub nieparzystych jak np. filtrowanie danych czy sortowanie. Dobre praktyki programistyczne sugerują wykorzystywanie tego typu operacji w przypadku gdy istnieje potrzeba optymalizacji warunków logicznych w kodzie. Umiejętność rozpoznawania i implementacji takich wzorców kodowania jest kluczowa dla pisania efektywnego i czytelnego kodu. Dzięki temu łatwiej można zarządzać dużymi zbiorami danych i operować na nich w sposób zautomatyzowany co jest podstawą w dzisiejszych aplikacjach webowych.

Pytanie 18

W tabeli pokazano cechy pliku graficznego. Aby rysunek ładował się szybciej na stronie WWW, należy

Wymiary: 4272 x 2848px
Rozdzielczość: 72 dpi
Format: JPG
A. zwiększyć rozdzielczość
B. zmienić proporcje szerokości do wysokości
C. zmniejszyć wymiary rysunku
D. zmienić format grafiki na CDR
Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę WWW. Mniejsze wymiary oznaczają mniejszą ilość danych do przesłania, co skraca czas ładowania strony. Praktycznym przykładem jest zmniejszenie wymiarów obrazu z 4272 x 2848 pikseli do bardziej standardowego rozmiaru, jak np. 1920 x 1080 pikseli dla grafik wyświetlanych na ekranach. Zmniejszenie wymiarów nie tylko przyspiesza ładowanie ale także zmniejsza zużycie transferu danych co jest istotne przy ograniczeniach mobilnych. Warto pamiętać że mniejsze grafiki są też mniej zasobożerne dla urządzeń użytkowników co wpływa na ogólną wydajność strony. Zastosowanie odpowiednich wymiarów jest zgodne z dobrymi praktykami optymalizacji webowej rekomendowanymi przez Google PageSpeed Insights i inne narzędzia analityczne. Optymalizacja grafiki poprzez zmniejszenie jej wymiarów jest podstawową czynnością w procesie tworzenia responsywnych i szybko działających witryn internetowych.

Pytanie 19

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. nieparzystych elementów tablicy
B. parzystych elementów tablicy
C. wszystkich elementów tablicy
D. dodatnich elementów tablicy
Przedstawiony kod JavaScript oblicza sumę wszystkich parzystych elementów tablicy liczby. W języku JavaScript operator modulo (%) jest używany do obliczania reszty z dzielenia. W tym przypadku liczby[i] % 2 == 0 sprawdza, czy dany element tablicy liczby jest parzysty. Jeśli reszta z dzielenia przez 2 wynosi 0, oznacza to, że liczba jest parzysta. Dlatego każda parzysta liczba z tablicy jest dodawana do zmiennej wynik. Warto zauważyć, że pętla for przechodzi przez pierwsze 100 elementów tablicy, co sugeruje, że tablica liczby musi mieć co najmniej 100 elementów. Tego typu operacje są często wykorzystywane w praktycznych zastosowaniach, takich jak analiza danych, gdzie konieczne jest filtrowanie i przetwarzanie określonych wartości z dużych zbiorów danych. Dobre praktyki zalecają, aby zrozumieć zarówno składnię, jak i zastosowanie operacji warunkowych i pętli, co jest kluczowe w efektywnym programowaniu. Takie rozwiązania są fundamentem optymalnego przetwarzania danych, a ich zrozumienie umożliwia tworzenie bardziej złożonych algorytmów.

Pytanie 20

Jaką wartość przyjmie zmienna po wykonaniu poniższego fragmentu kodu w JavaScript?

var w=0;
var i=1;
for (i = 1; i < 50; i++)
{
    if (i%2 == 0)
        w += i;
}
A. liczbom naturalnym, które są nieparzyste i mniejsze od 50
B. suma naturalnych liczb parzystych, które są mniejsze od 50
C. suma wszystkich naturalnych liczb nieparzystych, które są większe od 50
D. liczbie naturalnych liczb parzystych większych od 50
Kod przedstawiony w pytaniu jest fragmentem programu JavaScript, który ma za zadanie zsumować wszystkie liczby parzyste mniejsze od 50. Początkowo zmienna w jest ustawiona na 0 i reprezentuje sumę, którą będziemy obliczać. Pętla for zaczyna się od i=1 i iteruje do i<50 zwiększając wartość i o 1 w każdej iteracji. Wewnątrz pętli znajduje się instrukcja warunkowa if, która sprawdza, czy liczba i jest parzysta, co oznacza, że jej reszta z dzielenia przez 2 wynosi 0. Jeśli warunek jest spełniony, liczba i jest dodawana do zmiennej w. W efekcie po zakończeniu pętli zmienna w zawiera sumę wszystkich parzystych liczb mniejszych niż 50. Przykładem praktycznego zastosowania takiego algorytmu może być sytuacja, w której musimy szybko obliczyć sumę określonego zbioru liczb spełniających dane kryterium, co jest częste w analizie danych lub generowaniu raportów. Konstrukcje takie jak pętla for i operator modulo są podstawowymi narzędziami w programowaniu, pozwalającymi na efektywne przetwarzanie danych i automatyzację złożonych operacji obliczeniowych, co jest zgodne z dobrymi praktykami w branży IT.

Pytanie 21

Jakie uprawnienia są konieczne do wykonania oraz przywrócenia kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Administrator systemu
B. Użytkownik lokalny
C. Security users
D. Users
Aby wykonać i odtworzyć kopię zapasową bazy danych Microsoft SQL Server 2005 Express, wymagane jest posiadanie uprawnień administratora systemu. Administratorzy mają pełny dostęp do wszystkich funkcji i zasobów systemu, co jest kluczowe podczas zarządzania kopiami zapasowymi, które są niezbędne dla bezpieczeństwa i integralności danych. W kontekście SQL Server, administratorzy mogą korzystać z różnych narzędzi, takich jak SQL Server Management Studio (SSMS), aby tworzyć kopie zapasowe baz danych oraz przywracać je w razie potrzeby. Dobrą praktyką jest regularne tworzenie kopii zapasowych, co pozwala na minimalizację ryzyka utraty danych wskutek awarii systemu, błędów ludzkich czy ataków złośliwego oprogramowania. Ponadto, znajomość polityk przechowywania kopii zapasowych, takich jak ich rotacja i przechowywanie w bezpiecznych lokalizacjach, stanowi integralną część zarządzania danymi w organizacji. Warto również pamiętać o testowaniu procesów przywracania danych, aby upewnić się, że w sytuacji kryzysowej dostęp do informacji będzie możliwy w sposób szybki i efektywny.

Pytanie 22

W SQL, po wykonaniu przedstawionych poleceń GRANT, prawo do edytowania struktury tabeli oraz jej usunięcia zostanie przyznane

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Tomaszowi i Annie
B. Tomaszowi i Adamowi
C. tylko Annie
D. Adamowi i Annie
SQL jest językiem służącym do zarządzania bazami danych a przydzielanie uprawnień jest kluczowym aspektem utrzymania ich bezpieczeństwa i integralności. W powyższym kontekście niepoprawne odpowiedzi wynikają z błędnego zrozumienia mechanizmu przydzielania uprawnień. W przypadku Tomasza polecenie GRANT SELECT INSERT UPDATE ON firmy odnosi się do uprawnień które nie obejmują zmiany struktury tabeli czy jej usuwania. SELECT INSERT i UPDATE to operacje które dotyczą przetwarzania danych wewnątrz tabeli a nie jej struktury. Podobnie przydzielenie uprawnień tylko Annie nie obejmowałoby pełnego zestawu uprawnień do wszystkich operacji które Adam otrzymuje poprzez GRANT ALL. W praktyce często spotyka się błędne założenie że przydzielenie wszystkich uprawnień jednemu użytkownikowi jest optymalnym rozwiązaniem jednak w rzeczywistości wiąże się to z potencjalnym ryzykiem związanym z bezpieczeństwem dlatego właściwe zarządzanie uprawnieniami wymaga głębokiego zrozumienia i przemyślanej strategii. Dzięki zrozumieniu różnicy między tymi uprawnieniami można lepiej planować bezpieczeństwo i zarządzanie dostępem do bazy danych w organizacji co jest zgodne z najlepszymi praktykami branżowymi.

Pytanie 23

Co wykonuje poniższy fragment kodu w JavaScript?

n = "Napis1";
s = n.length;
A. Przypisze zmienną n do zmiennej s
B. Wyświetli długość tekstu ze zmiennej n
C. Przypisze zmiennej s wartość, która odpowiada długości tekstu ze zmiennej n
D. Przypisze zmiennej s fragment tekstu ze zmiennej n, o długości określonej przez zmienną length
W języku JavaScript właściwość length dla obiektów typu String zwraca liczbę znaków w danym napisie. W przedstawionym fragmencie skryptu zmiennej n przypisano wartość stringa 'Napis1'. Kiedy używamy n.length uzyskujemy długość tego stringa czyli liczbę 6 ponieważ są w nim dokładnie sześć znaków. Następnie tę wartość przypisujemy zmiennej s co oznacza że s przechowuje liczbę 6. Jest to użyteczne w wielu sytuacjach takich jak walidacja danych wejściowych w formularzach sprawdzanie czy dany tekst mieści się w określonych limitach lub po prostu kontrola poprawności danych w procesach biznesowych. Wartość length jest często stosowana w pętlach do iteracji przez każdy znak w stringu lub w operacjach takich jak odcinanie fragmentów tekstu. Praktyka korzystania z length jest standardem w programowaniu webowym i zaliczana jest do dobrych praktyk ponieważ umożliwia łatwą manipulację tekstowymi danymi i kontrolę ich wymiaru co bywa krytyczne zwłaszcza w aplikacjach o dużej skali gdzie efektywność i klarowność kodu mają znaczenie kluczowe.

Pytanie 24

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

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

Pytanie 25

Model, w którym wszystkie dane są zapisane w jednej tabeli, określa się mianem

A. jednorodnym
B. hierarchicznym
C. sieciowym
D. relacyjnym
Model jednorodny to taka podstawowa struktura w bazach danych, gdzie wszystko trzymamy w jednej tabeli. To się fajnie sprawdza w prostych aplikacjach, bo wtedy relacje między danymi są dość oczywiste. Klasycznym przykładem może być baza kontaktów, gdzie każdy ma swoje info w jednym miejscu. Dzięki temu mamy łatwy dostęp do danych i prosto nimi zarządzać. Z mojego doświadczenia, to rozwiązanie jest super efektywne, ale jak system staje się większy i złożony, to zaczynają się schody. Wtedy inne modele, jak relacyjne, mogą mieć więcej sensu. W branży często korzysta się z modelu jednorodnego, zwłaszcza tam, gdzie szybki dostęp do danych jest kluczowy, a sztywne struktury tylko przeszkadzają. Na codzień to naprawdę przydatna rzecz, jak ktoś nie chce się męczyć z komplikacjami.

Pytanie 26

Wskaż stwierdzenie, które nie jest prawdziwe dla następującej definicji funkcji w języku C++?

void zamien( float &x, float &y){
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}
A. Funkcja nie zwraca wartości.
B. Funkcja posiada dwa parametry.
C. Funkcja zwraca wartość.
D. Funkcja odwołuje się do parametrów przez referencję.
Dobrze zrobione! Wybrałeś właściwą odpowiedź, która pasuje do tego, co mamy w kodzie funkcji w C++. Mówimy tu o funkcji typu 'void', co oznacza, że nie zwraca żadnej wartości. W C++ 'void' oznacza, że nie ma zwracanego typu, ale to nie znaczy, że taka funkcja nic nie robi. Ona może wykonać różne operacje, ale na koniec nie zwraca żadnego wyniku. To jest dość istotne, bo w programowaniu często z takich funkcji korzystamy, kiedy chcemy coś zmienić, a nie potrzebujemy nowej wartości. Fajnie, że zauważyłeś, że ta funkcja ma dwa parametry typu float, które są przekazywane przez referencję. Dzięki temu możemy zmieniać wartości tych zmiennych w funkcji, co jest przydatne w wielu sytuacjach.

Pytanie 27

Baza danych zawiera tabelę artykuły z polami: nazwa, typ, producent, cena. Aby wyświetlić wszystkie nazwy artykułów wyłącznie typu pralka, dla których cena jest z przedziału 1 000 PLN i 1 500 PLN, należy zastosować polecenie

A. SELECT nazwa FROM artykuły WHERE typ=,pralka' OR cena BETWEEN 1000 OR 1500;
B. SELECT nazwa FROM artykuły WHERE typ=,pralka' AND cena BETWEEN 1000 AND 1500;
C. SELECT nazwa FROM artykuły WHERE typ=,pralka' OR cena BETWEEN 1000 AND 1500;
D. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena FROM 1000 TO 1500;
Poprawna odpowiedź to 'SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena BETWEEN 1000 AND 1500;'. To zapytanie SQL w sposób właściwy wyszukuje wszystkie nazwy artykułów z tabeli 'artykuły', które mają typ 'pralka' oraz cenę mieszczącą się w przedziale od 1000 do 1500 PLN. Użycie operatora 'BETWEEN' jest standardem w SQL i pozwala na określenie zakresu wartości, co w tym przypadku jest kluczowe, aby uwzględnić wszystkie możliwe ceny w tym przedziale. Jest to bardziej efektywne niż stosowanie operatorów porównania, takich jak '>', '<', ponieważ 'BETWEEN' automatycznie wlicza granice. Przykład zastosowania takiego zapytania może być użyty w systemach zarządzania zamówieniami, gdzie często zachodzi potrzeba analizy produktów w określonych przedziałach cenowych, co umożliwia skuteczne podejmowanie decyzji zakupowych oraz optymalizację stanów magazynowych.

Pytanie 28

W bazie danych księgarni znajduje się tabela ksiazki, która zawiera pola: id, idAutor, tytul, ileSprzedanych, oraz tabela autorzy z polami: id, imie, nazwisko. Jak można utworzyć raport sprzedanych książek zawierający tytuły oraz nazwiska autorów?

A. trzeba utworzyć dwie oddzielne kwerendy: pierwsza do wyszukiwania tytułów książek, druga do wyszukiwania nazwisk autorów
B. konieczne jest stworzenie kwerendy, która wyszukuje tytuły książek
C. należy zdefiniować relację l..n pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
D. należy zdefiniować relację 1..1 pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
Relacja l..n między tabelami 'ksiazki' i 'autorzy' jest naprawdę ważna. To oznacza, że jeden autor może napisać kilka książek, co jest całkiem normalne w świecie księgarni. Dzięki tej relacji, dla każdego 'idAutor' w tabeli 'ksiazki' możemy mieć wiele wpisów, co super ułatwia powiązanie tytułów z autorami. Jakbyś stworzył kwerendę, która łączy te obie tabele, to bez problemu uzyskasz dane, które jasno pokazują te relacje. Na przykład, taka kwerenda SQL mogłaby wyglądać tak: SELECT ksiazki.tytul, autorzy.nazwisko FROM ksiazki JOIN autorzy ON ksiazki.idAutor = autorzy.id; Taki sposób działania jest zgodny z normalizacją danych, co sprawia, że nasze bazy danych będą efektywne i dobrze zorganizowane.

Pytanie 29

W języku JavaScript funkcja document.getElementById(id) służy do

A. umieszczenia tekstu 'id' na stronie WWW
B. uzyskania odniesienia do pierwszego elementu HTML o wskazanym id
C. pobierania danych z pola formularza i przypisania ich do zmiennej id
D. sprawdzania poprawności formularza z identyfikatorem id
Metoda document.getElementById(id) jest kluczowym elementem API DOM (Document Object Model) w JavaScript, służącym do manipulacji elementami HTML na stronie internetowej. Jej głównym zadaniem jest zwrócenie odniesienia do pierwszego elementu, który ma określony identyfikator (id). Identyfikatory w HTML muszą być unikalne w obrębie dokumentu, co pozwala na efektywne i bezbłędne znajdowanie konkretnego elementu. Na przykład, jeśli mamy element o id 'header', możemy go uzyskać za pomocą document.getElementById('header'). To odniesienie pozwala nam na dalsze manipulacje tym elementem, takie jak zmiana jego zawartości, stylów CSS czy atrybutów. Przykładowe zastosowanie polega na tym, iż możemy zmienić tekst nagłówka na 'Witaj w moim serwisie' poprzez: document.getElementById('header').innerText = 'Witaj w moim serwisie'. Tego typu operacje są fundamentem interaktywnych aplikacji webowych i są zgodne z dobrymi praktykami w zakresie programowania JavaScript, które promują jasny i zrozumiały dostęp do struktury dokumentu.

Pytanie 30

W języku PHP zapisano fragment kodu. Plik cookie stworzony tym poleceniem

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. będzie przechowywany na serwerze przez jeden dzień.
B. zostanie usunięty po jednej godzinie od jego utworzenia.
C. będzie przechowywany na serwerze przez jedną godzinę.
D. zostanie usunięty po jednym dniu od jego utworzenia.
Widzę, że pomyślałeś, że plik cookie będzie trzymany na serwerze. To nie tak, bo wszystkie pliki cookie są przechowywane na komputerze użytkownika, a nie na serwerze. Serwer tylko korzysta z tych cookies, żeby wiedzieć, kto jest użytkownikiem i jak zarządzać sesjami. Kolejna sprawa – niektórzy myślą, że cookie wygasa po godzinie. Ale to nieprawda, bo w PHP argument wygaszenia to 3600 * 24, czyli 86400 sekund, co daje jeden dzień, a nie tylko godzinę. Te nieporozumienia mogą wynikać z braku zrozumienia funkcji setcookie() i tego, jak działają pliki cookie w webowych aplikacjach. Dobrze jest to wiedzieć, by tworzyć lepsze i bezpieczniejsze aplikacje.

Pytanie 31

Definicja stylu zaprezentowana w CSS odnosi się do odsyłacza, który

a:visited {color: orange;}
A. wskaźnik myszy znajduje się nad nim
B. jeszcze nie był odwiedzony
C. posiada błędny adres URL
D. został wcześniej odwiedzony
Odpowiedź "został wcześniej odwiedzony" jest prawidłowa, ponieważ definicja stylu CSS `a:visited {color: orange;}` dotyczy odsyłaczy, które zostały już odwiedzone przez użytkownika. W CSS pseudo-klasa `:visited` jest stosowana do stylizacji odsyłaczy, które prowadzą do stron, które użytkownik już otworzył. Dzięki tej możliwości, twórcy stron internetowych mogą wprowadzać różne kolory dla odwiedzonych i nieodwiedzonych linków, co pozwala na szybszą orientację użytkowników w treści strony. Na przykład, jeżeli na stronie znajduje się wiele linków, użytkownik może łatwiej zrozumieć, które z nich już kliknął, a które są nowe. Dobrą praktyką jest stosowanie kontrastowych kolorów dla odsyłaczy, aby zwiększyć ich dostępność i użyteczność. Warto również zauważyć, że przeglądarki mogą mieć różne ograniczenia dotyczące stylizacji odwiedzonych linków, co jest podyktowane względami prywatności użytkowników. Z tego powodu zaleca się, aby nie opierać funkcjonalności strony jedynie na wyglądzie odwiedzonych linków.

Pytanie 32

W języku SQL przedstawiony warunek jest równoważny warunkowi

liczba >= 10 AND liczba <= 100
A. liczba LIKE '10%'
B. NOT (liczba < 10 AND liczba > 100)
C. liczba IN (10, 100)
D. liczba BETWEEN 10 AND 100
Dobra robota! Twoja odpowiedź jest na pewno poprawna. Warunek 'liczba >= 10 AND liczba <= 100' w SQL oznacza, że musimy znaleźć liczbę, która jest większa lub równa 10 i mniejsza lub równa 100. Można to również zapisać jako 'liczba BETWEEN 10 AND 100', co po prostu definiuje zakres wartości od 10 do 100, łącznie z tymi granicami. Używanie operatorów takich jak BETWEEN jest naprawdę przydatne w SQL, bo ułatwia nam życie przy pisaniu zapytań i sprawia, że łatwiej jest zrozumieć, co ten kod właściwie robi. Fajnie umieć takie rzeczy, bo to naprawdę klucz do efektywnej pracy z bazami danych.

Pytanie 33

W semantycznym HTML odpowiednikiem elementu <b>, który nie tylko pogrubia tekst, ale także wskazuje na jego większe znaczenie, jest

A. <ins>
B. <strong>
C. <em>
D. <mark>
Znacznik <strong> w HTML semantycznym służy nie tylko do pogrubienia tekstu, ale także do wskazania, że dany fragment ma większe znaczenie w kontekście semantycznym. Zgodnie z zaleceniami W3C, użycie tego znacznika poprawia dostępność treści, ponieważ technologie wspomagające, takie jak czytniki ekranu, interpretują <strong> jako tekst o podwyższonej wadze, co może pomóc w lepszym zrozumieniu struktury dokumentu przez osoby z niepełnosprawnościami. Przykładem zastosowania może być podkreślenie ważnych informacji na stronie, takich jak zasady, ostrzeżenia czy kluczowe dane, które użytkownicy powinni zauważyć. W praktyce, stosowanie elementów semantycznych, takich jak <strong>, zamiast czysto stylistycznych, jest zgodne z zasadami budowania stron przyjaznych dla użytkowników i poprawia SEO, ponieważ wyszukiwarki mogą lepiej analizować kontekst treści. Warto pamiętać, że w przypadku użycia <strong>, nie zmienia to tylko sposobu wyświetlania, ale także wzbogaca znaczenie tekstu w kontekście całej strony.

Pytanie 34

Który z akapitów został zapisany w wskazanym stylu, zakładając, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Efekt 1
B. Efekt 4
C. Efekt 2
D. Efekt 3
Odpowiedź Efekt 3 jest poprawna, ponieważ odzwierciedla wszystkie zadane style CSS. Styl zawiera padding 20px co oznacza, że wewnętrzna przestrzeń wokół tekstu w paragrafie powinna wynosić 20 pikseli. Daje to efekt przestrzeni pomiędzy tekstem a obramowaniem. Kolor tekstu został ustawiony na niebieski co powoduje, że sam tekst przyjmuje niebieską barwę. Parametr font-weight jest ustawiony na 900 co oznacza, że tekst powinien być bardzo pogrubiony. Obecnie jest to maksymalna wartość dla własności font-weight w standardzie CSS która powoduje, że tekst wygląda na bardzo wyrazisty i wyróżnia się na tle innych elementów. Dodatkowo border ustawiono na 1px solid co oznacza, że paragraf powinien mieć jednolitą linię o grubości jednego piksela otaczającą jego obszar. Wszystkie te style są poprawnie zastosowane w Efekcie 3 gdzie tekst jest niebieski bardzo pogrubiony z przestrzenią 20 pikseli do obramowania oraz otoczony cienką linią. Taki styl jest często wykorzystywany w projektach stron internetowych dla wyraźnego wyróżnienia ważnych sekcji co zgodne jest z dobrymi praktykami projektowania interfejsów użytkownika.

Pytanie 35

Jaki selektor stylizuje akapity tekstu z klasą tekst oraz element blokowy z identyfikatorem obrazki?

A. p.tekst + div#obrazki
B. p.tekst, div#obrazki
C. p#tekst + div.obrazki
D. p#tekst, div.obrazki
Poprawna odpowiedź to 'p.tekst, div#obrazki', ponieważ selektor 'p.tekst' odnosi się do wszystkich elementów <p>, które mają klasę 'tekst'. To podejście jest zgodne z zasadami CSS, gdzie '.' oznacza klasę. Z kolei 'div#obrazki' to selektor, który odnosi się do elementu <div> o ID 'obrazki'. W tym przypadku '#' jest używane do wskazania unikalnego identyfikatora. Dzięki temu możemy dostosować style do konkretnych elementów w HTML. Przykład zastosowania: jeżeli chcemy, aby akapity z klasą 'tekst' miały określony kolor tła oraz aby element <div> z ID 'obrazki' był wyśrodkowany na stronie, możemy napisać odpowiednie reguły CSS, które zastosują te style tylko do wskazanych elementów. Praktyka ta zwiększa przejrzystość kodu oraz ułatwia jego późniejsze zarządzanie. Zastosowanie odpowiednich selektorów zgodnych z zasadami CSS to klucz do efektywnego stylizowania stron internetowych oraz dobrych praktyk w zakresie tworzenia responsywnych interfejsów użytkownika.

Pytanie 36

Podczas weryfikacji pliku HTML5 pojawił się komunikat brzmiący: "Error: Element head is missing a required instance of child element title". Co to oznacza w kontekście dokumentu?

A. nie zdefiniowano elementu <title> w sekcji <head> dokumentu.
B. element <title> nie został prawidłowo zamknięty przez </title>.
C. nie zdefiniowano obowiązkowego atrybutu title w tagu <img>.
D. element <title> nie jest konieczny.
Twoja odpowiedź jest całkowicie trafna! Zgodnie z tym, co mówi specyfikacja HTML5, element <title> rzeczywiście jest obowiązkowy i musi znaleźć się w sekcji <head>. To bardzo ważne, bo tytuł strony to coś, co pokazuje się na karcie przeglądarki, a także w wynikach wyszukiwania. Jak go brakuje, to strona nie spełnia podstawowych wymogów i pojawia się błąd walidacji. Fajnie jest mieć unikalne i opisowe tytuły dla każdej strony, bo to korzystnie wpływa na SEO i użyteczność. Na przykład, jeśli robiłbyś stronę o kulinariach, to tytuł mógłby być "Przepisy na zdrowe obiady", co od razu informuje użytkowników i wyszukiwarki, o co chodzi. Dobrze dobrany tytuł to naprawdę kluczowa sprawa, bo ma duży wpływ na to, jak użytkownicy postrzegają Twoją stronę i czy klikną w link. Pamiętaj też, że element <title> powinien być krótki, ale wystarczająco informacyjny, zazwyczaj nie dłuższy niż 60 znaków.

Pytanie 37

W języku SQL aby zmodyfikować dane w tabeli, należy posłużyć się poleceniem

A. JOIN
B. SELECT
C. UPDATE
D. CREATE
Polecenie UPDATE to w SQL podstawowe narzędzie do modyfikowania istniejących danych w tabelach. W praktyce oznacza to, że jeśli chcesz np. zmienić wartość jakiegoś pola dla wybranego rekordu, to właśnie tego polecenia używasz. Przykład z życia: masz tabelę pracowników i ktoś zmienił numer telefonu – nie robisz nowego wpisu, nie tworzysz nowej tabeli, tylko aktualizujesz jedną kolumnę w odpowiednim wierszu. Składnia tego polecenia jest dość intuicyjna: UPDATE nazwa_tabeli SET kolumna=nowa_wartość WHERE warunek. Bardzo ważne jest stosowanie klauzuli WHERE, bo inaczej możesz przez przypadek podmienić dane we wszystkich wierszach tabeli, co niestety zdarza się nawet doświadczonym programistom, zwłaszcza przy pracy na środowiskach testowych. Warto wiedzieć, że SQL-92 (czyli jeden z najważniejszych standardów języka SQL) dokładnie opisuje sposób działania tego polecenia. Często w praktyce spotyka się też połączenie UPDATE z transakcjami, żeby mieć możliwość cofnięcia zmian, gdyby coś poszło nie tak. Moim zdaniem umiejętne stosowanie UPDATE to podstawa pracy z bazami danych – prawie każdy większy system korzysta z tego polecenia na co dzień. Dobrze też pamiętać o bezpieczeństwie i zawsze sprawdzać, czy warunek w WHERE jest poprawny, żeby nie napsuć w danych. Praktyka czyni mistrza i z czasem takie operacje wchodzą w krew.

Pytanie 38

Jaki jest prawidłowy sposób deklaracji funkcji w języku JavaScript?

A. void myFunction() { }
B. func myFunction() { }
C. def myFunction() { }
D. function myFunction() { }
W wielu językach programowania funkcje deklaruje się w różny sposób. Na przykład, w Pythonie używa się słowa kluczowego <code>def</code> do deklaracji funkcji, co jest błędnym podejściem w JavaScript. Takie pomyłki mogą wynikać z mylenia języków skryptowych, które często mają podobną składnię, ale różne słowa kluczowe. W C lub C++ można spotkać się z deklaracjami funkcji zaczynającymi się od typu zwracanego, jak <code>void</code>, co również nie jest poprawne w JavaScript, ponieważ ten język nie wymaga określania typu zwracanego. W niektórych językach, jak Swift czy Go, stosuje się słowo <code>func</code>, co również wprowadza niepoprawne nawyki, gdy programista przenosi się do JavaScript. Każdy język programowania ma swoje specyficzne konwencje i standardy, które należy znać, aby efektywnie tworzyć kod. Dlatego ważne jest, aby być świadomym tych różnic i unikać przenoszenia nawyków z jednego języka do innego, co może prowadzić do błędów i utrudniać debugowanie kodu.

Pytanie 39

Dodanie do tabeli Produkty kolumny data_produkcji zostanie wykonane kwerendą SQL

A. ALTER TABLE Produkty ADD data_produkcji DATE;
B. ALTER TABLE Produkty DROP COLUMN data_produkcji DATE;
C. ALTER TABLE Produkty ADD DATE data_produkcji;
D. ALTER TABLE Produkty DROP data_produkcji DATE;
W poleceniu dotyczącym modyfikacji struktury tabeli bardzo łatwo pomylić składnię, zwłaszcza gdy w grę wchodzą słowa kluczowe ADD, DROP i typy danych. Podstawowa zasada jest taka: jeśli chcemy dodać nową kolumnę, używamy słowa kluczowego `ADD` wraz z nazwą kolumny i jej typem danych. Jeśli chcemy coś usuwać, korzystamy z `DROP` (czasem z dopiskiem `COLUMN`, zależnie od dialektu SQL). Mieszanie tych operacji albo zmiana kolejności elementów sprawia, że zapytanie staje się niepoprawne składniowo albo semantycznie. Częsty błąd polega na tym, że ktoś próbuje użyć `DROP` tam, gdzie w treści zadania wyraźnie jest mowa o dodaniu kolumny. `DROP` służy do usuwania kolumn lub całych tabel, a nie do ich tworzenia. Jeżeli w instrukcji pojawia się `DROP data_produkcji DATE`, to po pierwsze logika jest odwrotna do wymaganej (bo usuwamy, zamiast dodawać), a po drugie większość systemów nie akceptuje podawania typu danych przy usuwaniu kolumny. W standardowych implementacjach SQL wystarczy `ALTER TABLE Produkty DROP COLUMN data_produkcji;` bez żadnego `DATE` na końcu. Dodawanie typu przy DROP jest po prostu niezgodne ze składnią. Inny typ nieporozumienia polega na pomyleniu kolejności typu danych i nazwy kolumny. W definicji kolumny po słowie kluczowym `ADD` najpierw podajemy nazwę kolumny, a dopiero potem typ, czyli `ADD nazwa_kolumny TYP`. Konstrukcja w stylu `ADD DATE data_produkcji` wygląda, jakby ktoś traktował `DATE` jak nazwę kolumny, a `data_produkcji` jak typ. Jest to niezgodne zarówno ze składnią SQL, jak i z intuicją czytania definicji tabeli. Z mojego doświadczenia wynika, że ten błąd wynika z przenoszenia nawyków z języków programowania, gdzie czasem typ pisze się przed nazwą zmiennej (np. w C czy Javie), ale w SQL jest odwrotnie. Dobra praktyka jest taka, żeby zapamiętać prosty wzór: przy dodawaniu kolumny zawsze używamy schematu `ALTER TABLE <tabela> ADD <kolumna> <typ>;`. Bez żadnych dodatkowych słów kluczowych w środku, bez mieszania DROP, bez odwracania kolejności. Warto też mieć w głowie, że przy DROP w większości dialektów nie podajemy typu, tylko samą nazwę kolumny, czasem z dopiskiem `COLUMN`. Takie drobne szczegóły często decydują, czy skrypt migracji bazy zadziała poprawnie, czy wysypie się na błędzie składni, dlatego dobrze jest wyrobić sobie nawyk dokładnego czytania treści zadania i rozumienia, czy w danym momencie coś dodajemy, czy usuwamy.

Pytanie 40

Na przedstawionym diagramie ER zapis FK1 oznacza

Ilustracja do pytania
A. relację 1:N.
B. klucz obcy.
C. relację 1:1.
D. klucz podstawowy.
Skrót FK1 na diagramie ER oznacza klucz obcy (ang. foreign key) i jest to dokładnie to, co powinno łączyć tabelę Zamówienia z tabelą Klienci. W relacyjnych bazach danych klucz obcy to atrybut lub zestaw atrybutów, który wskazuje na klucz podstawowy w innej tabeli. Dzięki temu baza danych wie, że konkretne zamówienie należy do konkretnego klienta. W twoim diagramie pole NR_klienta w tabeli Zamówienia jest oznaczone jako FK1, czyli jest kluczem obcym odwołującym się do NR_klienta będącego kluczem podstawowym (PK) w tabeli Klienci. To jest klasyczny przykład relacji 1:N – jeden klient może mieć wiele zamówień, a każde zamówienie jest powiązane z dokładnie jednym klientem. W praktyce, w SQL, taka relacja jest definiowana mniej więcej tak: `FOREIGN KEY (NR_klienta) REFERENCES Klienci(NR_klienta)`. Taka definicja pozwala silnikowi bazy danych pilnować spójności referencyjnej, czyli np. nie pozwoli wstawić zamówienia z numerem klienta, który nie istnieje w tabeli Klienci, ani usunąć klienta, do którego wciąż istnieją zamówienia (chyba że jawnie zdefiniujemy CASCADE). Z mojego doświadczenia poprawne używanie kluczy obcych bardzo upraszcza później raportowanie, łączenie tabel w zapytaniach JOIN i ogólnie utrzymanie porządku w bazie. W modelowaniu ER oznaczenie FK wraz z numerem (FK1, FK2 itd.) to po prostu sposób na jednoznaczne nazwanie konkretnych kluczy obcych, gdy w systemie jest ich więcej. W dobrze zaprojektowanych bazach danych zawsze warto jawnie definiować foreign key, zamiast tylko „ufać”, że aplikacja będzie podawała poprawne dane – to jest po prostu dobra praktyka i standard w profesjonalnych projektach.