Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 5 maja 2026 08:53
  • Data zakończenia: 5 maja 2026 09:29

Egzamin zdany!

Wynik: 24/40 punktów (60,0%)

Wymagane minimum: 20 punktów (50%)

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

Którą wartość atrybutu name znacznika <meta> wykorzystuje się do kontrolowania obszaru widzialnego na różnych urządzeniach, na których jest wyświetlana strona internetowa?

A. keywords
B. generator
C. description
D. viewport
Poprawnie wskazana została wartość „viewport”. W praktyce właśnie meta name="viewport" służy do kontrolowania tzw. obszaru widzialnego (ang. viewport) na urządzeniach mobilnych i desktopowych. Przeglądarka mobilna domyślnie zakłada szeroką stronę i sztucznie ją pomniejsza, żeby „zmieściła się” na ekranie telefonu. Dopiero meta viewport mówi jej: potraktuj szerokość ekranu urządzenia jako bazową szerokość strony. Najczęściej spotykana, zgodna z dobrymi praktykami konstrukcja to: <meta name="viewport" content="width=device-width, initial-scale=1.0">. Parametr width=device-width ustawia szerokość obszaru widzialnego na szerokość ekranu urządzenia, a initial-scale=1.0 definiuje początkowe powiększenie. Dzięki temu layout responsywny oparty na media queries w CSS działa poprawnie, bez dziwnych przeskalowań i zbyt małej czcionki. W nowoczesnym front-endzie przyjmuje się, że każda strona, która ma być używalna na telefonach, tabletach i laptopach, powinna mieć prawidłowo ustawiony meta viewport. Moim zdaniem to jest absolutna podstawa RWD, zaraz obok poprawnego użycia jednostek względnych (np. %, vw, em) i zaprojektowania siatki w CSS. Warto też pamiętać, żeby nie przesadzać z blokowaniem powiększania (np. user-scalable=no), bo to pogarsza dostępność strony dla osób słabiej widzących i jest uznawane za złą praktykę. Podsumowując: jeśli chcesz mieć stronę, która naprawdę „żyje” na różnych ekranach, meta name="viewport" to obowiązkowy element w sekcji <head>.

Pytanie 2

Według którego pola tabeli zostały pogrupowane dane w przedstawionym raporcie?

Ilustracja do pytania
A. rok
B. id_uczestnika
C. wynik
D. nazwa
Poprawnie wskazano, że dane w raporcie zostały pogrupowane według pola „rok”. Widać to po tym, że poszczególne rekordy są zebrane w bloki oznaczone nagłówkami 2009, 2010, 2011, 2012, 2020, a dopiero pod każdym z tych lat pojawiają się konkretne konkursy, id_uczestnika i wynik. To jest właśnie klasyczny przykład grupowania danych w raporcie po jednym z pól tabeli – w tym przypadku po kolumnie roku. W praktyce, czy to w SQL, czy w kreatorach raportów (np. w MS Access, LibreOffice Base, Crystal Reports, narzędziach BI), gdy projektujemy raport, często definiujemy tzw. sekcję grupującą (group header) opartą na wybranym polu. Tutaj takim polem jest rok, więc każda zmiana wartości roku powoduje rozpoczęcie nowej grupy i wyświetlenie nagłówka z tą wartością. To poprawia czytelność i pozwala łatwo analizować dane w podziale na lata. Moim zdaniem warto zapamiętać, że grupowanie po dacie lub roku to jedna z najczęściej stosowanych praktyk raportowych: używa się tego do raportów sprzedaży w latach, statystyk odwiedzin strony WWW, wyników egzaminów itd. W SQL można by to od strony danych poprzedzić np. zapytaniem sortującym: SELECT * FROM konkursy ORDER BY rok, nazwa; a samo faktyczne grupowanie wizualne realizuje już mechanizm raportów. Dobrą praktyką jest też, żeby pole, po którym grupujemy, było najpierw użyte do sortowania – inaczej grupy mogą się „rozsypać” i raport stanie się nieczytelny.

Pytanie 3

Aby zrealizować łamanie linii w tekście, na przykład w zmiennej typu string, należy wykorzystać symbol

A. slash
B. b
C. n
D. t
Użycie znaku slash, znaku "t" (tabulator) lub znaku "b" (backspace) w kontekście łamania linii tekstu jest nieprawidłowe, ponieważ każdy z tych znaków pełni inną rolę w programowaniu. Slash (/) jest używany w różnych kontekstach, na przykład w ścieżkach plików lub jako operator dzielenia, a nie do wprowadzania nowych linii. W wielu językach programowania nie ma on zastosowania w kontekście formatowania tekstu. Z kolei znak "t" (tabulator) stosuje się do wprowadzania odstępów w tekście, co nie jest tym samym co łamanie linii. Tabulacja ma na celu organizację danych w kolumnach i ułatwienie czytania, ale nie zmienia miejsca, w którym tekst się pojawia w nowej linii. Natomiast znak "b" (backspace) jest używany do usuwania znaków w tekstach, co również nie ma zastosowania w kontekście wstawiania nowych linii. Powszechnym błędem jest mylenie tych znaków z ich funkcjami, co prowadzi do nieefektywności w kodowaniu i problemów z formatowaniem tekstu. Zrozumienie właściwego zastosowania znaków kontrolnych jest kluczowe dla każdego programisty i ma fundamentalne znaczenie dla pisania czytelnego i funkcjonalnego kodu.

Pytanie 4

Jakiego elementu w języku HTML brakuje, aby walidator HTML zgłosił ostrzeżenie lub błąd?

A. przynajmniej jednego <h1>
B. <link>
C. <meta name="author" content=". . . .">
D. <title>
Odpowiedzi związane z elementami <link>, przynajmniej jednym <h1> oraz <meta name="author" content="..."> mogą wydawać się istotne w kontekście tworzenia strony internetowej, jednak nie są one obowiązkowe dla poprawnej walidacji dokumentu HTML. Element <link> jest używany do łączenia dokumentu HTML z zewnętrznymi zasobami, takimi jak arkusze stylów CSS, ale jego brak nie powoduje błędów walidacyjnych. W przypadku <h1>, jest to istotny element struktury nagłówków w HTML, ale nie ma wymogu, aby na stronie znajdował się przynajmniej jeden taki element. Choć warto stosować nagłówki do hierarchizacji treści, ich brak nie skutkuje ostrzeżeniem. Z kolei element <meta name="author"> dostarcza informacji o autorze strony, ale również nie jest obowiązkowy dla walidacji HTML. Nieprawidłowe podejście do wnioskowania o znaczeniu tych elementów może prowadzić do błędnych założeń o ich krytycznej roli w strukturze HTML. Ważne jest, aby zrozumieć, że standardy HTML definiują zasady walidacji, a element <title> jest jednym z nielicznych, które są uznawane za obligatoryjne w każdym dokumencie. Zrozumienie tych zasad pozwala na lepsze projektowanie stron, które są zgodne z najlepszymi praktykami oraz wymaganiami SEO.

Pytanie 5

Jakiego rodzaju oprogramowanie narzędziowe powinno być zainstalowane, aby umożliwić użytkownikowi przeprowadzanie operacji na zgromadzonych danych?

A. System Zarządzania Bazą Danych (SZBD)
B. Klucz obcy
C. Otwarty mechanizm komunikacji bazy danych
D. Obiektowy System Zarządzania Bazą Danych
System Zarządzania Bazą Danych, czyli SZBD, to coś, co naprawdę ma duże znaczenie w organizacjach, jeśli mówimy o danych. Dzięki niemu możemy działać z danymi znacznie sprawniej – przechowywać je, aktualizować, usuwać i robić wiele innych rzeczy. To taki pomost między tym, co robią użytkownicy, a samymi danymi. Przy takich systemach jak MySQL, PostgreSQL czy Oracle Database, możemy korzystać z super funkcji, takich jak transakcje czy zarządzanie użytkownikami. To nie tylko ułatwia życie, ale też pozwala na lepsze działania. No i nie zapominaj, że standardy jak SQL to klucz do komunikacji z bazami, niezależnie od technologii. Można też mówić o dobrych praktykach, jak robienie kopii zapasowych czy monitorowanie wydajności. Właściwie, wprowadzenie takiego systemu to fundament do skutecznego zarządzania danymi w każdej organizacji, więc warto się tym zająć.

Pytanie 6

Aby uzyskać rezultaty działania skryptu napisanego w języku PHP, który jest częścią strony WWW, musi on być

A. zinterpretowany po stronie serwera
B. zinterpretowany po stronie klienta
C. skomponowany po stronie serwera
D. skomponowany po stronie klienta
Pierwsza niepoprawna odpowiedź sugeruje, że PHP powinno działać po stronie klienta, a to nie ma sensu. PHP to język interpretowany, więc nie trzeba go kompilować do jakiegoś tam kodu maszynowego przed uruchomieniem. Nasze przeglądarki nie ogarniają kodu PHP, tylko chcą dostać gotowy HTML. Druga błędna odpowiedź znowu mówi o kompilacji, ale to nie tak działa. Choć są kompilatory PHP, to standardowo PHP działa na zasadzie interpretacji, a nie kompilacji. Ta interpretacja pozwala na to, żeby treści były generowane dynamicznie. Na koniec, ostatnia z błędnych odpowiedzi twierdzi, że PHP powinno działać po stronie klienta, co też jest totalnie nieprawda. PHP przetwarzany jest na serwerze, a klient dostaje już tylko wynik w HTML, CSS i JavaScript. Nie ma dostępu do źródłowego kodu PHP, bo jest on przerobiony przez serwer zanim trafi do klienta. To zapewnia bezpieczeństwo i wydajność stron, bo serwer ogarnia logikę, a klient tylko wyświetla to, co dostaje.

Pytanie 7

Który z komentarzy przedstawia opis działania funkcji zdefiniowanej w języku PHP?

A. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
B. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
C. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
D. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
Funkcja zapisana w języku PHP ma na celu porównanie dwóch wartości przekazanych jako argumenty i zwrócenie wartości wyższej z nich. W sytuacji, gdy obie wartości są równe, funkcja zwraca -1. W praktyce taka funkcjonalność może być niezwykle przydatna w różnych kontekstach programistycznych, na przykład przy sortowaniu danych, gdzie istotne jest określenie, która z dwóch wartości jest większa. Warto zauważyć, że stosowanie zwracania wartości -1 w przypadku równych argumentów jest dobrym rozwiązaniem, ponieważ pozwala na łatwe odróżnienie sytuacji, w której obie wartości są identyczne od tych, w których jedna jest większa od drugiej. Taki sposób implementacji jest zgodny z dobrymi praktykami programistycznymi, które zalecają wyraźne i jednoznaczne definiowanie zachowań funkcji, co ułatwia późniejsze korzystanie z nich oraz ich testowanie. Warto również wspomnieć, że funkcje tego typu mogą być rozwijane o dodatkowe funkcjonalności, takie jak obsługa innych typów danych czy możliwość porównywania większej liczby argumentów.

Pytanie 8

W wyniku walidacji strony został wygenerowany błąd. Oznacza on, że

Ilustracja do pytania
A. w atrybucie charset jest dozwolona wyłącznie wartość "utf-8".
B. oznaczenie kodowania znaków powinno być zapisane bez myślników.
C. oznaczenie ISO-8859-2 nie istnieje.
D. w znaczniku meta nie występuje atrybut charset.
Dobra robota! Twoja odpowiedź jest na miejscu. To, co się stało z błędem walidacji, to fakt, że przy atrybucie charset w znaczniku meta musisz zawsze podać 'utf-8'. To standard kodowania Unicode, który w sieci jest bardzo popularny. Kodowanie UTF-8 ma to do siebie, że obsługuje mnóstwo znaków, co sprawia, że nadaje się do prawie wszystkich języków na świecie. Dlatego warto to stosować przy tworzeniu nowoczesnych stron. HTML5 jasno mówi, że każdy dokument powinien mieć ten znacznik w sekcji head, czyli na przykład: <meta charset='utf-8'>.

Pytanie 9

W podanym kodzie JavaScript ponumerowano linie dla ułatwienia. W programie występuje błąd, ponieważ po wykonaniu żadna wiadomość nie jest wyświetlana. Aby usunąć ten błąd, należy

1. if (a < b)
2. document.write(a);
3. document.write(" jest mniejsze");
4. else
5. document.write(b);
6. document.write(" jest mniejsze");
A. umieścić znaki $ przed nazwami zmiennych
B. w liniach 3 i 6 zamienić znaki cudzysłowu na apostrof, np. ' jest mniejsze'
C. w liniach 2 i 5 zmienne a i b umieścić w cudzysłowach
D. dodać nawiasy klamrowe w sekcjach if oraz else
Wstawienie znaków $ przed zmiennymi a i b jest podejściem, które nie ma zastosowania w standardowym JavaScript, gdyż nie jest to sposób na wskazywanie zmiennych w tym języku. W rzeczywistości, znaki $ są używane w niektórych bibliotekach, takich jak jQuery, ale nie wpływają na samą składnię JavaScript. Użycie apostrofów zamiast cudzysłowów również nie rozwiązuje problemu, gdyż JavaScript zezwala na użycie zarówno cudzysłowów, jak i apostrofów do definiowania ciągów tekstowych, jednak nie wpływa to na wykonanie bloków kodu. Zmiana zmiennych na ciągi znakowe w liniach 2 i 5 wprowadza błąd, ponieważ zamiast wartości zmiennych a i b, kod wyświetli dosłownie tekst 'a' oraz 'b', co nie jest zamierzonym celem. W programowaniu, ważne jest nie tylko zrozumienie składni, ale także logiki, jaką ona za sobą niesie. Regularne stosowanie dobrych praktyk, takich jak wstawianie nawiasów klamrowych, pozwala uniknąć takich typowych błędów, które mogą prowadzić do niewłaściwego działania kodu. Ponadto, poznanie i przestrzeganie standardów programistycznych znacznie zwiększa jakość i niezawodność tworzonych aplikacji.

Pytanie 10

Dla przedstawionego fragmentu kodu

<img src="kwiat.jpg alt="kwiat">
walidator HTML zwróci błąd, ponieważ
A. użyto niewłaściwego znacznika do wyświetlenia grafiki
B. nie odnaleziono pliku kwiat.jpg
C. nie zamknięto cudzysłowu
D. użyto nieznanego atrybutu alt
W kodzie HTML zauważyłem mały błąd - brakuje ci domknięcia cudzysłowu dla atrybutu src. Powinno to wyglądać tak: <img src="kwiat.jpg" alt="kwiat">. No, cudzysłów jest ważny, bo bez niego przeglądarka może mieć problem z odczytaniem, gdzie kończy się wartość atrybutu. To może prowadzić do różnych, nieprzewidzianych efektów przy wyświetlaniu strony. Zasady W3C mówią, że każdy atrybut powinien być poprawnie sformatowany, żeby działało to na różnych przeglądarkach i urządzeniach. Pamiętaj też o atrybucie alt - jest kluczowy dla dostępności. Właściwe użycie cudzysłowów i dbałość o format kodu też wpływają na jego czytelność, a my przecież chcemy pisać jak najlepiej.

Pytanie 11

Które z poniższych twierdzeń na temat klucza głównego jest prawdziwe?

A. W przypadku tabeli z danymi osobowymi może to być pole nazwisko
B. Zawiera jedynie jedno pole
C. Jest unikalny w ramach tabeli
D. Może mieć tylko wartości liczbowe
Klucz podstawowy jest fundamentalnym elementem w projektowaniu baz danych. Jego główną funkcją jest zapewnienie unikalności każdego rekordu w tabeli, co oznacza, że nie mogą istnieć dwa identyczne wiersze z tym samym kluczem podstawowym. To jest kluczowe dla zachowania integralności danych i umożliwia efektywne zarządzanie informacjami. Na przykład, w tabeli z danymi klientów klucz podstawowy może stanowić unikalny identyfikator klienta (np. numer ID), który pozwala na szybkie i jednoznaczne zlokalizowanie rekordu. Dobrą praktyką jest używanie kluczy podstawowych, które są długoterminowo stabilne, co oznacza, że nie zmieniają się w czasie. Warto również stosować technologię baz danych, która wspiera mechanizmy zapewniające unikalność kluczy, takie jak indeksy unikalne. Ponadto, klucz podstawowy nie musi być wyłącznie pojedynczym polem; może składać się z kilku pól, co jest powszechnie stosowane w przypadku złożonych relacji między tabelami.

Pytanie 12

Aby posortować listę uczniów według daty urodzenia w bazie danych, jakie polecenie należy zastosować?

A. SELECT imie,nazwisko,klasa from uczniowie where rok_urodzenia = 1994
B. SELECT imie,nazwisko,klasa from uczniowie group by rok_urodzenia
C. SELECT imie,nazwisko,klasa from uczniowie order by rok_urodzenia
D. SELECT imie,nazwisko,klasa from uczniowie order by nazwisko
Aby uporządkować listę uczniów według roku urodzenia w bazie danych, należy zastosować polecenie SQL 'SELECT imie,nazwisko,klasa from uczniowie order by rok_urodzenia'. Klauzula 'ORDER BY' jest kluczowa w SQL, ponieważ pozwala na sortowanie wyników zapytania według określonej kolumny, w tym przypadku 'rok_urodzenia'. Użycie tej klauzuli zapewnia, że wyniki są prezentowane w porządku rosnącym lub malejącym, co jest szczególnie przydatne, gdy chcemy analizować dane w kontekście czasowym. Na przykład, jeżeli mamy tabelę uczniów z kolumnami 'imie', 'nazwisko', 'klasa' oraz 'rok_urodzenia', użycie tego polecenia umożliwi nam nie tylko zobaczenie imion i nazwisk uczniów, ale również ich uporządkowanie według daty urodzenia. Zgodnie z normami SQL, jest to standardowa metoda sortowania danych, która zwiększa przejrzystość i użyteczność wyników. Przykładowo, jeśli w tabeli są uczniowie urodzeni w różnych latach, dzięki temu zapytaniu, najpierw zobaczymy uczniów urodzonych w najwcześniejszych latach, co może być istotne przy podejmowaniu decyzji organizacyjnych w szkole.

Pytanie 13

Który z poniższych typów plików NIE JEST używany do publikacji grafiki lub animacji na stronach www?

A. SVG
B. AIFF
C. SWF
D. PNG
AIFF (Audio Interchange File Format) to format plików dźwiękowych, który nie jest wykorzystywany do publikacji grafiki ani animacji na stronach internetowych. Jego głównym zastosowaniem jest przechowywanie wysokiej jakości dźwięku, dlatego znajdujemy go często w produkcjach audio i nagraniach muzycznych. W przeciwieństwie do formatów jak SVG (Scalable Vector Graphics), SWF (Shockwave Flash) czy PNG (Portable Network Graphics), które są przeznaczone do grafiki i animacji, AIFF nie jest odpowiedni do wizualizacji treści w sieci. Przykładowo, SVG jest często wykorzystywany do tworzenia skalowalnych grafik wektorowych, które są popularne w projektowaniu stron internetowych, a PNG jest formatem rastrowym, który świetnie sprawdza się w przypadku obrazów z przezroczystością. W kontekście publikacji internetowych, kluczowe jest stosowanie odpowiednich formatów, które zapewniają optymalizację i zgodność z różnymi przeglądarkami, a AIFF nie spełnia tych wymagań.

Pytanie 14

Fragment kodu JavaScript, który sumuje dwie liczby, przedstawia się następująco. Aby wykonać dodawanie po kliknięciu przycisku o nazwie dodaj, należy umieścić kod w wykropkowanym miejscu.

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
....
<script>
function dodaj()
{
// ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onclick="return dodaj()">dodaj</button>
B. <button onclick="return oblicz()">dodaj</button>
C. <button onselect="return dodaj()">oblicz</button>
D. <button onselect="return dodaj()">dodaj</button>
W JavaScript funkcje mogą być wywoływane w odpowiedzi na zdarzenia użytkownika takie jak kliknięcie przycisku. Atrybut onclick jest powszechnie stosowany do określenia, jaka funkcja powinna zostać wywołana w momencie kliknięcia. W tym przypadku celem jest wywołanie funkcji dodaj() po kliknięciu przycisku. Dlatego odpowiedź <button onclick="return dodaj()">dodaj</button> jest prawidłowa, ponieważ używa właściwego atrybutu onclick do przypisania zdarzenia kliknięcia funkcji dodaj(). To podejście jest zgodne z dobrymi praktykami w zakresie obsługi zdarzeń w HTML oraz JavaScript, umożliwiając elastyczne interakcje użytkownika z aplikacją. Ważne jest, by pamiętać o tym, że funkcja przypisana do onclick powinna zwracać wartość false, jeśli chcemy, by domyślne działanie przeglądarki zostało zatrzymane. W tym przypadku funkcja dodaj() powinna realizować operację dodawania liczb wprowadzonych przez użytkownika w formularzu, co jest typowym scenariuszem użycia JavaScript do manipulacji danymi wprowadzanymi przez użytkownika w czasie rzeczywistym. Implementacja tej funkcji powinna zawierać również walidację danych wejściowych oraz kontrolę błędów, co jest standardem w nowoczesnym programowaniu webowym, zapewniającym stabilność i bezpieczeństwo aplikacji.

Pytanie 15

Atrybut, który definiuje lokalizację pliku graficznego w znaczniku <img>, to

A. alt
B. href
C. src
D. link
Atrybut 'src' (source) w znaczniku <img> jest kluczowy, ponieważ określa lokalizację pliku graficznego, który ma być wyświetlany na stronie internetowej. Bez tego atrybutu przeglądarka nie byłaby w stanie załadować i wyświetlić obrazka, co skutkowałoby pustym miejscem w interfejsie użytkownika. Dobrym przykładem zastosowania atrybutu 'src' jest umieszczanie zdjęć produktów w sklepie internetowym, gdzie obrazek jest kluczowym elementem zachęcającym do zakupu. Na przykład, używając znacznika <img src='ścieżka/do/obrazka.jpg' alt='opis obrazka'>, programiści mogą nie tylko wyświetlić grafikę, ale także dostarczyć opis alternatywny, co jest zgodne z zasadami dostępności w sieci. W praktyce, dobrym zwyczajem jest przechowywanie grafik w odpowiednich katalogach oraz dbanie o optymalizację ich rozmiaru, aby poprawić czas ładowania strony oraz doświadczenia użytkownika. Warto również zwrócić uwagę na poprawne wykorzystanie protokołów, takich jak HTTPS, co zwiększa bezpieczeństwo przesyłanych danych oraz zaufanie użytkowników.

Pytanie 16

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetla dane z tabeli dla komputerów z co najmniej 8 GB pamięci oraz procesorem Intel, można użyć kwerendy

A. SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec < 8
B. SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec < 8
C. SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec >= 8
D. SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec >= 8
Odpowiedź "SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec >= 8;" jest poprawna, ponieważ wykorzystuje operator AND do jednoczesnego spełnienia dwóch warunków: procesor musi być równy 'Intel', a pamięć musi wynosić co najmniej 8 GB. Taki zapis jest zgodny z najlepszymi praktykami w programowaniu zapytań SQL, którymi są m.in. precyzyjność oraz jednoznaczność. Dzięki użyciu operatora AND, zapytanie filtruje wyniki w sposób, który jest zgodny z wymaganiami użytkownika. W praktyce, takie kwerendy są niezwykle ważne dla analizy danych w bazach danych, ponieważ umożliwiają wyodrębnienie specyficznych informacji, które są krytyczne dla podejmowania decyzji biznesowych. Na przykład, w kontekście sklepu komputerowego, analiza komputerów z określonymi parametrami technicznymi może pomóc w lepszym dostosowaniu oferty do potrzeb klientów. Ponadto, rozumienie składni SQL oraz umiejętność formułowania efektywnych zapytań to kluczowa umiejętność dla specjalistów w dziedzinie zarządzania danymi.

Pytanie 17

W SQL wykorzystywanym przez system baz danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. Wymusza unikalne nazwy kolumn w tabeli
B. Jest stosowany wyłącznie w przypadku kolumn liczbowych
C. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
D. Zabrania wprowadzenia wartości NULL
Istnieje kilka powszechnych nieporozumień dotyczących atrybutu UNIQUE w kontekście relacyjnych baz danych, które mogą prowadzić do błędnych wniosków. Przede wszystkim, twierdzenie, że atrybut UNIQUE wymusza unikatowe nazwy pól tabeli, jest nieprecyzyjne. UNIKATOWOŚĆ odnosi się do wartości przechowywanych w kolumnie, a nie do nazw kolumn. W rzeczywistości, nowa kolumna nie może mieć takiej samej nazwy jak istniejąca kolumna w tej samej tabeli, co jest regułą odzwierciedlającą strukturalne ograniczenia bazy danych, ale nie ma to związku z atrybutem UNIQUE. Ponadto, atrybut ten nie blokuje możliwości wpisania wartości NULL w kolumnach. W MySQL, kolumna z atrybutem UNIQUE może zawierać wiele wartości NULL, ponieważ NULL jest traktowane jako wartość nieokreślona i nie jest uważane za duplikat. Dlatego stwierdzenie, że UNIQUE blokuje możliwość wpisania wartości NULL, jest mylące. Co więcej, atrybut UNIQUE nie jest ograniczony tylko do pól liczbowych; może być zastosowany do dowolnego typu danych, w tym tekstowych czy datowych. Stosowanie UNIQUE w zbiorach danych, które nie wymagają unikalności, może prowadzić do zbędnych błędów i komplikacji podczas wprowadzania danych. Dlatego ważne jest, aby zrozumieć, że atrybut ten odnosi się do wartości w kolumnach, a nie do ich typów czy nazw, co jest kluczowe dla efektywnego projektowania baz danych.

Pytanie 18

Zastosowanie atrybutu NOT NULL dla kolumny jest konieczne w sytuacji, gdy

A. korzystamy z atrybutu DEFAULT
B. mamy do czynienia z kluczem podstawowym
C. definiujemy wszystkie pola o typie numerycznym
D. tworzymy definicję wszystkich pól tabeli
Nieprawidłowe odpowiedzi odzwierciedlają typowe błędne rozumienie działania atrybutu NOT NULL w kontekście tabel baz danych. W przypadku klucza podstawowego, jest to niezbędny warunek, aby zapewnić, że każdy wiersz w tabeli jest jednoznacznie identyfikowalny. Odpowiedzi sugerujące, że atrybut NOT NULL jest wymagany przy użyciu atrybutu DEFAULT, są mylące, ponieważ atrybut DEFAULT służy do ustalania wartości domyślnych dla kolumn, które mogą przyjmować wartość NULL. Użycie atrybutu DEFAULT wcale nie implikuje, że kolumna musi być oznaczona jako NOT NULL. Kolejna niepoprawna koncepcja dotyczy definicji wszystkich pól tabeli. Nie ma wymogu, aby wszystkie kolumny w tabeli były oznaczone jako NOT NULL; zależy to od specyficznych wymagań dotyczących danych w danej aplikacji. Ponadto, definicja wszystkich pól typu numerycznego jako NOT NULL również jest fałszywa, ponieważ pola numeryczne mogą być używane do reprezentacji wartości, które mogą być nieznane lub nieprzydzielone, co prowadziłoby do sytuacji, w której wartość NULL jest jak najbardziej uzasadniona. Zrozumienie tych różnic jest kluczowe dla efektywnego projektowania baz danych oraz zarządzania danymi w aplikacjach, co jest zgodne z najlepszymi praktykami w branży.

Pytanie 19

Wymień dwa sposoby na zabezpieczenie bazy danych Microsoft Access

A. Ustalenie zabezpieczeń na poziomie użytkownika oraz w sesji
B. Funkcje anonimowe oraz ustawienie hasła do otwarcia bazy danych
C. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
D. Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika to kluczowe elementy ochrony danych w Microsoft Access. Ustalenie hasła otwarcia bazy danych zapewnia podstawowy poziom bezpieczeństwa, uniemożliwiając nieautoryzowanym użytkownikom dostęp do pliku. W praktyce, aby ustawić hasło, wystarczy przejść do opcji 'Informacje' w menu, a następnie wybrać 'Szyfrowanie z hasłem'. Zabezpieczenia na poziomie użytkownika natomiast pozwalają na definiowanie ról i uprawnień dla różnych użytkowników, co jest istotne w sytuacjach, gdzie dostęp do danych powinien być ograniczony do wybranych osób. Implementacja tych rozwiązań jest zgodna z dobrymi praktykami bezpieczeństwa danych, które zalecają stosowanie wielowarstwowych mechanizmów ochrony. Przykładem może być firma, która przechowuje wrażliwe dane klientów, gdzie konieczne jest, aby tylko wyznaczeni pracownicy mieli dostęp do konkretnych informacji, co można zrealizować właśnie poprzez zabezpieczenia na poziomie użytkownika.

Pytanie 20

W CSS wartości takie jak: underline, overline, line-through oraz blink odnoszą się do właściwości

A. text-decoration
B. font-style
C. text-align
D. font-decoration
Właściwość 'text-align' dotyczy ustawienia wyrównania tekstu w obrębie kontenera. Jej zastosowanie koncentruje się na takich wartościach jak 'left', 'right', 'center' czy 'justify', które wpływają na układ tekstu na stronie, ale nie mają związku z jego dekoracją. Z kolei 'font-style' odnosi się do stylu czcionki, umożliwiając taką manipulację jak kursywa lub normalny styl, jednak nie kontroluje dekoracji tekstu. Z kolei 'font-decoration' nie jest standardową właściwością CSS; błędne jej wykorzystanie może wynikać z nieznajomości konwencji CSS. Właściwości takie jak 'text-decoration' są zdecydowanie bardziej odpowiednie do osiągania zamierzonych efektów wizualnych na tekście. Często początkujący programiści mylą te różne właściwości, co prowadzi do niepoprawnego stylizowania elementów tekstowych. Warto zwrócić uwagę, że każda z wymienionych właściwości ma swoje unikalne zastosowanie i wymagania, dlatego kluczowe jest zrozumienie ich specyfiki oraz kontekstu użycia w projekcie stron internetowych. Prawidłowe stosowanie właściwości CSS jest niezbędne dla zapewnienia estetyki oraz funkcjonalności strony, co jest fundamentalne w nowoczesnym web designie.

Pytanie 21

Którą czynność gwarantującą poprawne wykonanie przedstawionego kodu JavaScript należy wykonać przed pętlą?

var text;
for(var i=0; i<tab.length; i++ ){
    text+=tab[i] + "<br>";
}
A. Zainicjować zmienną text
B. Sprawdzić długość tablicy tab
C. Zadeklarować zmienną i
D. Upewnić się, że text jest typu string
Zadeklarowanie zmiennej 'i' przed pętlą nie jest konieczne, ponieważ JavaScript automatycznie deklaruje zmienną 'i' w kontekście pętli. Deklaracja zmiennych przy pomocy 'var', 'let' lub 'const' jest wystarczająca w momencie ich użycia w pętli. Kolejnym aspektem jest sprawdzenie rozmiaru tablicy 'tab'. Choć podjęcie takiego sprawdzenia jest dobrym zwyczajem, nie jest to warunek konieczny do poprawnego działania kodu. Pętla for działa w oparciu o długość tablicy, więc jeżeli tablica jest pusta, pętla po prostu się nie wykona, co nie prowadzi do błędów. Ostatnim punktem jest sprawdzenie, czy 'text' jest typu znakowego. JavaScript jest językiem dynamicznie typowanym, co oznacza, że zmienne mogą przyjmować różne typy danych w trakcie działania programu. Na początku 'text' powinno być inicjalizowane jako pusty łańcuch, ale sprawdzanie jego typu w momencie, gdy jest używane w pętli, nie jest konieczne. Wszystkie powyższe odpowiedzi mogą być postrzegane jako dobre praktyki, ale nie są kluczowymi krokami, które należy wykonać przed rozpoczęciem pętli, aby program działał poprawnie.

Pytanie 22

Rodzaj zmiennej w języku JavaScript

A. nie istnieje.
B. ma miejsce poprzez przypisanie wartości.
C. jest tylko jeden rodzaj.
D. musi być zadeklarowany na początku skryptu.
Wiele osób uważa, że typ zmiennej w JavaScript powinien być z góry zadeklarowany, co jest niezgodne z jego zasadami działania. Twierdzenie, że typ zmiennej 'nie występuje', jest mylne, ponieważ każda wartość przypisana do zmiennej ma swój typ, nawet jeśli nie jest to jawnie określone. Ignorowanie tego faktu prowadzi do nieporozumień i błędów w kodzie. Kolejne nieprecyzyjne stwierdzenie, że 'jest tylko jeden' typ zmiennej, pomija kluczową cechę JavaScript jako języka dynamicznego, który obsługuje wiele typów, takich jak liczby, stringi, obiekty i tablice. Typy te mogą zmieniać się w trakcie działania programu, co czyni język bardzo elastycznym. Z kolei przekonanie, że zmienne muszą być zadeklarowane na początku skryptu, jest również błędne, ponieważ JavaScript pozwala na przypisywanie wartości do zmiennych w dowolnym miejscu w kodzie, co zwiększa jego dynamikę. Takie myślenie może prowadzić do nieefektywnego kodu, który jest trudniejszy w utrzymaniu oraz rozwijaniu. Ważne jest, aby zrozumieć zasady działające w tym języku, aby unikać typowych pułapek związanych z typowaniem zmiennych oraz właściwie wykorzystać zalety, jakie oferuje JavaScript.

Pytanie 23

<img src="/rysunek.png" alt="pejzaż"> Zapisany został kod HTML, który wstawia obrazek na stronę. Jeśli rysunek.png nie zostanie znaleziony, przeglądarka

A. w miejscu grafiki pokaże tekst "rysunek.png"
B. nie załaduje strony internetowej
C. w miejscu grafiki zasygnalizuje błąd wyświetlania strony
D. wyświetli w miejscu grafiki tekst "pejzaż"
Kiedy przeglądarka internetowa napotyka na kod HTML, który zawiera element graficzny, w takim przypadku, jeśli wskazany plik nie jest dostępny, następuje zachowanie określone przez atrybut 'alt'. W omawianym przykładzie, gdy przeglądarka nie może znaleźć pliku 'rysunek.png', wyświetli tekst alternatywny 'pejzaż'. Atrybut 'alt' jest niezwykle ważny z perspektywy dostępności oraz SEO, ponieważ pozwala na dostarczenie informacji o obrazie osobom, które nie mogą go zobaczyć, takim jak osoby niewidome korzystające z czytników ekranu. Z punktu widzenia standardów W3C, atrybut 'alt' jest zalecany dla każdego elementu <img>, aby poprawić użyteczność strony. W praktyce, dobrze skonstruowane opisy w atrybucie 'alt' mogą również wpłynąć pozytywnie na pozycjonowanie witryny w wyszukiwarkach, co czyni go kluczowym elementem podczas tworzenia treści na stronie internetowej. Z tego powodu umieszczanie informacyjnych i zrozumiałych opisów w tym atrybucie jest niezbędne nie tylko dla poprawy dostępności, ale także dla efektywnej optymalizacji SEO.

Pytanie 24

Wyrażenie JavaScript:

document.write(5==='5');
Co zostanie wyświetlone?
A. 0
B. 1
C. true
D. false
Odpowiedź 'false' jest jak najbardziej na miejscu, bo operator '===' w JavaScript sprawdza nie tylko wartość, ale i typ danych. Przykład 'document.write(5 === '5');' pokazuje, że porównujemy liczbę (5) z ciągiem znaków ('5'). To są różne typy, więc nie mogą być równe! Generalnie, lepiej używać '===' w programowaniu, bo to eliminuje niejasności, które mogą się pojawić przy '=='. Ten drugi lubi zamieniać typy, co czasami prowadzi do chaosu. Dobrze jest mieć na uwadze, że w obiektowym programowaniu ważne jest, by typy danych się zgadzały. Używając '===', mamy pewność, że unikniemy niechcianych błędów związanych z typami.

Pytanie 25

W jaki sposób można określić w CSS styl dla hiperłącza, aby link, który nie był odwiedzony, miał kolor żółty, natomiast odwiedzony link był w kolorze zielonym?

A. a:hover { color: green; } a.link { color: yellow; }
B. a:link { color: yellow; } a:visited { color: green; }
C. a:visited { color: yellow; } a:link { color: green; }
D. a:hover { color: yellow; } a:visited { color: green; }
Odpowiedzi, które nie są zgodne z wymaganiami, zawierają błędy w określaniu selektorów CSS i ich zastosowania. Przykładowo, użycie `a:hover` w kontekście kolorowania linków po ich odwiedzeniu jest niepoprawne, ponieważ pseudo-klasa `:hover` dotyczy stanu, kiedy użytkownik najeżdża na link kursorem, a nie jego stanu wizyty. To prowadzi do nieporozumień, ponieważ stylizacja w stanie hover jest chwilowa i nie ma wpływu na trwałe kolorowanie linków. Kolejnym błędem jest pomieszanie selektorów - `a:visited` i `a:link` są podstawowymi selektorami do stylizacji linków, ale w niepoprawnej odpowiedzi przypisanie kolorów jest odwrotne. To oznacza, że odwiedzone linki byłyby w kolorze żółtym, co może wprowadzać użytkowników w błąd, ponieważ nie mają oni możliwości odróżnienia, które linki już odwiedzili. To z kolei może prowadzić do frustracji, szczególnie na stronach z dużą liczbą hiperłączy, gdzie jasne wskazanie statusu linków jest kluczowe dla pozytywnego doświadczenia użytkownika. Warto podkreślić, że w standardach webowych kluczowe jest stosowanie odpowiednich selektorów dla różnych stanów linków, aby zapewnić ich właściwe funkcjonowanie oraz intuicyjność interakcji na stronie.

Pytanie 26

Efektem wykonania kwerendy dla przedstawionej tabeli rezerwacje jest

SELECT sezon, SUM(liczba_dn) FROM rezerwacje
GROUP BY sezon;

id_pokliczba_dnsezon
110lato
24zima
15lato
26zima
15lato
39zima
18zima
A. lato 10, zima 4, lato 5, zima 6, lato 5, zima 9, zima 8
B. lato 3, zima 4
C. lato 20, zima 27
D. lato 10, 5, 5; zima 4, 6, 9, 8
Dobrze, że wybrałeś odpowiedź 'lato 20, zima 27'. Jest to poprawne rozwiązanie, ponieważ zapytanie SQL, które wykonujemy na tabeli rezerwacje, grupuje wyniki według sezonu i sumuje liczbę dni dla każdego sezonu. W praktyce, jeżeli mamy tabelę z danymi o rezerwacjach na różne sezony i chcemy zrozumieć, ile łącznie dni zostało zarezerwowanych dla każdego sezonu, musimy użyć takiego zapytania. W tym przypadku, suma dni dla sezonu 'lato' wynosi 20, a dla sezonu 'zima' - 27. Wiedza ta jest niezwykle przydatna, gdy na przykład chcemy zaplanować ilość dostępnych miejsc w hotelu na kolejne sezony, biorąc pod uwagę historię rezerwacji. Zwróć uwagę, że korzystanie z funkcji agregujących jak SUM w SQL jest kluczowe dla przeprowadzania analiz danych. Właściwe zrozumienie i stosowanie tych funkcji pozwoli Ci na przeprowadzanie skomplikowanych analiz i przewidywań na podstawie zgromadzonych danych.

Pytanie 27

Tabela samochody zawiera dane przedstawione poniżej:

idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
Wydając zamieszczone zapytanie SQL, jakie dane zostaną zwrócone:
SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";
A. opel zafira; opel insignia
B. zafira; insignia
C. zafira
D. opel zafira
Poprawna odpowiedź to 'zafira', ponieważ zapytanie SQL odnosi się do modelu samochodu marki 'opel', którego rocznik jest większy niż 2017. Z analizy danych w tabeli wynika, że tylko model 'opel zafira' (z rocznika 2018) spełnia te warunki. Odpowiedzi 'opel zafira', 'zafira; insignia', 'opel zafira; opel insignia' zawierają dodatkowe informacje, które nie są zgodne z wymaganiami zapytania. Dobrym przykładem zastosowania takiej analizy jest filtrowanie danych w bazach danych, co jest kluczowym procesem w zarządzaniu informacjami. Efektywne posługiwanie się zapytaniami SQL to umiejętność istotna w pracy każdego analityka danych, programisty, czy specjalisty w zakresie baz danych, ponieważ pozwala na wyciąganie precyzyjnych informacji zgodnych z wymaganiami biznesowymi.

Pytanie 28

Komenda kierowana do serwera bazy danych, mająca na celu zbieranie, wyszukiwanie lub edytowanie danych w bazie, nazywana jest

A. kolumną
B. kwerendą
C. formularzem
D. kopią
W odpowiedziach, które nie są poprawne, pojawiają się koncepcje, które nie są związane z procesem pobierania i zarządzania danymi w bazach danych. Formularz, na przykład, to zazwyczaj interfejs użytkownika, który umożliwia wprowadzanie danych do systemu, ale nie jest samodzielnym poleceniem do zarządzania danymi. W praktyce, formularze są używane w aplikacjach frontendowych, aby zbierać dane od użytkowników, które następnie mogą być przesyłane do bazy danych, ale same w sobie nie są mechanizmem do wykonywania operacji na danych. Kolumna to pojęcie odnoszące się do struktury tabeli w bazie danych, wskazujące na konkretne pole, które przechowuje wartości zmiennej, natomiast nie jest odpowiedzią na pytanie o działania na danych. Kopia z kolei odnosi się do procesu duplikacji danych, co jest istotne w kontekście tworzenia kopii zapasowych, ale nie definiuje funkcji związanej z bezpośrednim dostępem do danych w bazie. Te nieporozumienia mogą prowadzić do błędnych wniosków o funkcjonalności baz danych. Zrozumienie, że kwerenda jest głównym narzędziem do interakcji z danymi, pozwala uniknąć zamieszania z innymi terminami, które pełnią różne role w zarządzaniu danymi.

Pytanie 29

Aby zwiększyć wydajność operacji w bazie danych, należy skupić się na polach, które są często wyszukiwane lub sortowane

A. dodać więzy integralności
B. utworzyć indeks
C. stworzyć oddzielną tabelę przechowującą wyłącznie te pola
D. dodać klucz obcy
Dodawanie kluczy obcych nie jest bezpośrednią metodą na przyspieszenie operacji na bazie danych. Klucze obce są używane do zapewnienia integralności referencyjnej, co oznacza, że ich celem jest zapewnienie spójności danych w relacjach pomiędzy tabelami. Choć klucze obce mogą wpłynąć na wydajność w kontekście zapytań, nie przyspieszają one ani nie optymalizują wyszukiwania w obrębie pojedynczych tabel. Tworzenie osobnych tabel przechowujących tylko te pola również nie jest metodą optymalizacji efektywności wyszukiwania. Tego rodzaju podejście może prowadzić do komplikacji w zarządzaniu danymi oraz zmniejszenia wydajności przy łączeniu tabel w zapytaniach. Dodanie więzów integralności, które zapewniają, że dane w tabelach są poprawne i zgodne z określonymi zasadami, jest również istotne, ale nie wpływa bezpośrednio na szybkość operacji na bazie danych. Takie podejścia mogą prowadzić do błędnych przekonań, że poprawa wydajności bazy danych można osiągnąć poprzez wprowadzenie dodatkowych ograniczeń lub zmian w strukturze danych, co w rzeczywistości może generować dodatkowe koszty obliczeniowe przy wykonywaniu podstawowych operacji. Kluczowe jest stosowanie odpowiednich technik indeksacji, które są powszechnie uznawane za najlepszą praktykę w kontekście optymalizacji zasobów bazy danych.

Pytanie 30

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: left; } aside { float: left; }
B. nav { float: right; }
C. aside {float: left; }
D. nav { float: right; } section { float: right; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 31

Kod```SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)```wybiera

A. imiona, numery PESEL oraz wiek osób mieszczących się w przedziale od 18 do 30 lat
B. imiona, nazwiska oraz numery PESEL osób, które mają mniej niż 18 lat
C. imiona, numery PESEL oraz wiek osób w wieku dokładnie 18 lub 30 lat
D. imiona, numery PESEL oraz wiek osób, które mają więcej niż 30 lat
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL `SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)` w sposób precyzyjny selekcjonuje dane tylko dla osób, których wiek wynosi dokładnie 18 lub 30 lat. Użycie operatora `IN` pozwala na wskazanie konkretnych wartości, które nas interesują, w tym przypadku są to dwa liczby: 18 i 30. Takie podejście jest zgodne z najlepszymi praktykami w tworzeniu zapytań SQL, gdyż umożliwia efektywne filtrowanie danych i minimalizowanie obciążenia bazy danych poprzez ograniczenie ilości przetwarzanych rekordów. W kontekście aplikacji, które wymagają analizy danych demograficznych, na przykład w systemach monitorujących wiek klientów, tego typu zapytania są niezwykle przydatne. Pozwalają na szybkie wyciąganie informacji potrzebnych do podejmowania decyzji, jak na przykład dostosowywanie ofert marketingowych do określonych grup wiekowych. Przykładowo, w instytucji finansowej analiza wieku klientów może być kluczowa w tworzeniu ofert produktów kredytowych skierowanych do osób młodych oraz do tych w średnim wieku, co pozwala na lepsze zrozumienie i zaspokojenie ich potrzeb.

Pytanie 32

W jakich formatach można przechować wideo razem z dźwiękiem?

A. WMA
B. WAV
C. MP4
D. AAC
MP4 to jeden z najbardziej popularnych formatów plików multimedialnych, który jest szeroko stosowany do zapisywania materiałów wideo wraz ze ścieżkami dźwiękowymi. MP4, jako kontener, obsługuje różne kodeki wideo, takie jak H.264, a także kodeki audio, w tym AAC. Dzięki tej wszechstronności, format MP4 jest idealny do przechowywania zarówno obrazu, jak i dźwięku w jednym pliku, co jest kluczowe dla wielu zastosowań, od streamingu wideo po przechowywanie lokalne. MP4 jest zgodny z wieloma platformami i urządzeniami, co czyni go standardem dla treści wideo w Internecie. Przykładem zastosowania MP4 mogą być platformy takie jak YouTube, gdzie użytkownicy przesyłają filmy w tym formacie, aby zapewnić wysoką jakość obrazu i dźwięku. Warto również zauważyć, że MP4 wspiera różne metadane, co umożliwia dodawanie informacji o pliku, takich jak tytuł, artysta czy okładka albumu. Dzięki tym wszystkim właściwościom, MP4 jest niezastąpionym formatem w dziedzinie multimediów.

Pytanie 33

Do naprawy i optymalizacji bazy danych w MySQL stosuje się polecenie:

A. mysqlslap
B. mysqladmin
C. mysqlcheck
D. mysqldump
Poprawnie wskazujesz mysqlcheck – to właśnie to narzędzie w świecie MySQL służy do sprawdzania, naprawy i optymalizacji tabel oraz całych baz danych. mysqlcheck działa na poziomie serwera MySQL i pozwala wykonywać operacje typu CHECK TABLE, REPAIR TABLE, ANALYZE TABLE i OPTIMIZE TABLE bez konieczności ręcznego wpisywania tych poleceń SQL dla każdej tabeli z osobna. W praktyce administrator lub programista uruchamia mysqlcheck z linii poleceń, podając nazwę bazy lub używając opcji pozwalających przejść po wszystkich bazach, i narzędzie automatycznie sprawdza struktury danych, indeksy oraz próbuje naprawić drobne uszkodzenia. Z mojego doświadczenia jest to jedno z podstawowych narzędzi do bieżącego utrzymania MySQL, szczególnie przy tabelach MyISAM, ale bywa też używane przy InnoDB (głównie do analizowania i optymalizowania). Dobrą praktyką jest okresowe uruchamianie mysqlcheck na środowiskach produkcyjnych poza godzinami szczytu, aby wykryć ewentualne problemy z tabelami, zreorganizować indeksy i poprawić wydajność zapytań. Można je też zintegrować ze skryptami cron, żeby automatycznie raz na jakiś czas robić check/optimize. Ważne jest też używanie odpowiednich opcji, np. --auto-repair, --optimize lub --all-databases, żeby dokładnie sterować tym, co ma być zrobione. W odróżnieniu od narzędzi backupowych mysqlcheck nie służy do kopiowania danych, tylko do utrzymania ich spójności i efektywnej pracy silnika bazodanowego. Takie podejście jest zgodne z dobrymi praktykami administracji bazami danych, gdzie rozdziela się zadania: osobno narzędzia do kopii zapasowych, osobno do testów wydajności, a osobno do napraw i optymalizacji struktur.

Pytanie 34

Jakie polecenie należy zastosować, aby utworzyć klucz obcy na wielu kolumnach przy tworzeniu tabeli?

A. CONSTRAINT fk_osoba_uczen FOREIGN KEY ON(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
B. CONSTRAINT (nazwisko, imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
C. CONSTRAINT (nazwisko, imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
D. CONSTRAINT fk_soba_uczen FOREIGN KEY(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
Niepoprawne odpowiedzi zawierają kilka istotnych błędów w składni oraz koncepcji definiowania kluczy obcych. W pierwszej przykładowej odpowiedzi, brak jest odpowiedniej składni przy definiowaniu klucza obcego, ponieważ użycie 'ON' jest nieprawidłowe i nie jest zgodne z normami SQL. Klucz obcy powinien być zdefiniowany w kontekście kolumn, a nie z użyciem 'ON'. Kolejna odpowiedź pomija całkowicie zasadniczą strukturę polecenia SQL, co prowadzi do zamieszania w kontekście definicji kluczy obcych. Zrozumienie, że klucz obcy musi być zdefiniowany poprzez konkretne kolumny i odniesienia do innych tabel, jest kluczowe dla poprawnej pracy z bazami danych. Ostatnia błędna odpowiedź pomija konwencję użycia 'FOREIGN KEY' oraz 'REFERENCES', co jest fundamentalnym błędem. Prawidłowe podejście wymaga precyzyjnego określenia nie tylko kolumn, ale i tabeli, do której klucz obcy się odnosi. Zastosowanie tych zasad jest kluczowe w projektowaniu i implementacji relacyjnych baz danych oraz w utrzymaniu ich integralności, co jest istotnym aspektem dla efektywnego zarządzania danymi.

Pytanie 35

Po uruchomieniu kodu PHP

echo date("Y-m");
na ekranie pojawi się bieżąca data w formacie:
A. tylko roku
B. dnia i roku
C. dnia, miesiąca, roku
D. roku oraz miesiąca
Odpowiedź 'rok i miesiąc' jest prawidłowa, ponieważ funkcja 'date' w PHP formatuje datę na podstawie podanego wzorca. W przypadku użycia wzorca 'Y-m', 'Y' oznacza pełny rok (np. 2023), a 'm' oznacza dwucyfrowy miesiąc (np. 03 dla marca). W wyniku działania 'echo date("Y-m");' na ekranie zostanie wyświetlona aktualna data w formacie YYYY-MM, co jest niezwykle przydatne w wielu aplikacjach, takich jak generowanie raportów miesięcznych, archiwizacja danych czy implementacja systemów zarządzania treścią. Użycie tego wzorca jest zgodne z najlepszymi praktykami programistycznymi, które zalecają właściwe formatowanie daty w celu jej późniejszej analizy lub prezentacji. Ponadto, umiejętność manipulacji datami w PHP jest kluczowa w kontekście tworzenia aplikacji webowych, które często wymagają interakcji z użytkownikami w czasie rzeczywistym, a także integracji z bazami danych, gdzie prawidłowe formatowanie daty ma kluczowe znaczenie dla integralności danych.

Pytanie 36

Jakiego znacznika w HTML użyjemy, aby uzyskać tekst wyświetlany czcionką o stałej szerokości znaku, który również uwzględnia dodatkowe spacje, tabulacje oraz znaki końca linii?

A. <ins>…</ins>
B. <pre>…</pre>
C. <blockquote>…</blockquote>
D. <code>…</code>
Znacznik <pre> w HTML jest używany do formatowania tekstu w taki sposób, aby zachować oryginalne odstępy, tabulacje oraz znaki końca linii. W przeciwieństwie do standardowego tekstu, w którym przeglądarka ignoruje dodatkowe białe znaki, <pre> traktuje je dosłownie, co jest szczególnie przydatne w przypadku wyświetlania kodu źródłowego lub tekstu, w którym ważne są układy. Przykładem użycia może być wyświetlanie kodu programistycznego w dokumentacji technicznej, gdzie precyzyjny format jest kluczowy dla zrozumienia struktury kodu. Standard HTML5 potwierdza, że <pre> jest odpowiednim znacznikiem do tego celu, a jego użycie jest zgodne z zasadami semantyki HTML, co zwiększa czytelność i dostępność treści. Praktyka ta sprzyja również urządzeniom wspomagającym, umożliwiając poprawne interpretowanie tekstu przez czytniki ekranu.

Pytanie 37

Sklep online używa tabeli faktury. W trakcie generowania faktury pole dataPlatnosci nie zawsze zostaje uzupełnione. Aby to skorygować, na zakończenie dnia trzeba wpisać bieżącą datę do rekordów, w których to pole nie jest wypełnione. Można to osiągnąć za pomocą kwerendy

A. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL;
B. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3;
C. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL;
D. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00';
Wybór innych opcji jest nieco problematyczny. Kwerenda, która ustawia dataPlatnosci na CURTIME() w wierszach, gdzie id = 3, nie jest zbyt sensowna, bo odnosi się tylko do jednego rekordu. Poza tym, CURTIME() zwraca czas, a nie datę, a w kontekście faktur to nie ma sensu, bo powinny mieć datę płatności, a nie tylko czas. Kolejna sprawa to aktualizacja dat w wierszach, gdzie dataPlatnosci IS NOT NULL, co prowadzi do utraty ważnych informacji. Tego typu podejście jest sprzeczne z zasadami ochrony danych i może narobić bałaganu przy audytach. I ostatnia opcja, która ustawia datę na '0000-00-00', to kompletna katastrofa. Takie coś wprowadza błędne dane, które mogą wywołać problemy później. Użycie '0000-00-00' jako znacznika braku daty jest do bani i może prowadzić do nieporozumień. Lepiej używać NULL, bo to standard w SQL. Wybierając złe opcje, nie tylko ograniczasz funkcjonalność, ale także łamiesz zasady dobrego zarządzania danymi.

Pytanie 38

Dla dowolnego a z zakresu (0,99) celem funkcji napisanej w języku JavaScript jest
function fun(a)
 {
    for(n=a; n <=100; n++)
    document.write(n);
    return(n);
 }

A. wypisanie wartości zmiennej a i zwrócenie wartości zmiennej n
B. wypisanie liczb z zakresu a .. 100 oraz zwrócenie wartości zmiennej n
C. zwrócenie liczb z zakresu a .. 99
D. wypisanie liczb z zakresu a .. 99 oraz zwrócenie wartości 100
Wszystkie niepoprawne odpowiedzi zawierają błędne założenia dotyczące zakresu wypisywanych liczb oraz wartości zwracanej przez funkcję. W przypadku opcji dotyczącej zwrócenia liczb z przedziału a .. 99, ściśle rzecz biorąc, nie uwzględnia ona końcowej wartości 100, co jest niepoprawne, ponieważ funkcja z założenia przewiduje iterację aż do wartości 100. W odpowiedzi dotyczącej wypisania liczb z przedziału a .. 99 i zwrócenia wartości 100, również występuje błąd, ponieważ funkcja nie kończy się na 99, a na 100, a wartość zwracana przez funkcję to 'n', która po ostatniej iteracji wynosi 101. Alternatywnie, jeśli chodzi o wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n, ta odpowiedź nie odnosi się do głównego celu funkcji, którym jest wypisanie liczb w określonym zakresie. Wartość zmiennej 'a' nie jest wypisywana jako pojedyncza wartość, a 'n' jako iterator nie reprezentuje wartości 100, lecz przekracza ją po zakończeniu pętli. Dlatego wszystkie te odpowiedzi zawierają fundamentalne nieporozumienia co do działania pętli for i użycia zmiennej 'n' w kontekście realizacji założonej funkcji.

Pytanie 39

Poprawny zapis znacznika , za pomocą którego można umieścić na stronie internetowej obraz rys.jpg przeskalowany do szerokości 120 px i wysokości 80 px z tekstem alternatywnym "krajobraz" to

A. <img src="rys.jpg" width="120px" height="80px" alt="krajobraz">
B. <img href="rys.jpg" height="120px" width="80px" info="krajobraz">
C. <img image="rys.jpg" width="120px" height="80px" alt="krajobraz">
D. <img src="rys.jpg" height="120px" width="80px" info="krajobraz">
Odpowiedź <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"> jest na pewno dobra! Używasz fajnego atrybutu 'src' do wskazania, skąd bierzesz obrazek, co jest super ważne. Atrybuty 'width' i 'height' też są dobrze ustawione, bo określają, jak duży ma być obrazek na stronie. To naprawdę przydaje się, zwłaszcza jak robimy responsywne strony. A ten 'alt', to świetny pomysł – daje tekst alternatywny, co bardzo pomaga osobom, które korzystają z czytników ekranu. Bez tego mogą nie wiedzieć, co jest na obrazku, a to jest spoko, bo dba o dostępność. Co do pikseli, używasz ich standardowo, ale pomyśl, że w CSS można też iść w procenty czy jednostki względne, żeby było jeszcze elastyczniej. W sumie, gdybyś chciał, mógłbyś bawić się CSS-em do stylizacji obrazów tła, co też sprawia, że wszystko lepiej się dopasowuje do różnych ekranów.

Pytanie 40

Jakim poleceniem można uzyskać konfigurację serwera PHP, w tym dane takie jak: wersja PHP, system operacyjny serwera oraz wartości przedefiniowanych zmiennych?

A. phpcredits();
B. phpinfo();
C. echo phpversion();
D. print_r(ini_get_all());
Chociaż inne funkcje wymienione w pytaniu mogą dostarczać pewnych informacji o konfiguracji PHP, nie są one w stanie w pełni zastąpić funkcji phpinfo(). Funkcja print_r(ini_get_all()) zwraca tablicę wszystkich ustawień konfiguracyjnych PHP, ale nie prezentuje ich w formie przystosowanej do przeglądania w przeglądarce, jak ma to miejsce w przypadku phpinfo(). Jej zastosowanie ogranicza się głównie do debugowania w skryptach, a nie do oglądania pełnej konfiguracji w czytelnej formie. Z kolei funkcja phpcredits() wyświetla informacje o autorach PHP oraz jego historii, co jest interesujące z perspektywy edukacyjnej, ale nie dostarcza praktycznych informacji o bieżącej konfiguracji serwera. Z kolei echo phpversion() zwraca jedynie wersję PHP, co jest zbyt ograniczone, aby uzyskać pełen obraz ustawień serwera. Typowe błędy myślowe, które prowadzą do wyboru tych opcji, to przekonanie, że każda z tych funkcji może dostarczyć wystarczających informacji o konfiguracji serwera. Jednak w praktyce, dla pełnego wglądu w ustawienia i environment, phpinfo() pozostaje niezastąpionym narzędziem, które stanowi standard w branży programowania PHP.