Przejdź do głównej treści
  1. Strona główna
  2. Wyniki egzaminu

Wyniki egzaminu

Nowy egzamin

Informacje o egzaminie

  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Rozpoczęcie: 7 czerwca 2026 22:19
  • Zakończenie: 7 czerwca 2026 22:30

Egzamin zdany!

Wynik: 36/40 punktów (90,0%)

Wymagane minimum: 20 punktów (50%)

Twój wynik na tle innych

Twój wynik jest lepszy niż 90% podejść do kwalifikacji INF.03.

Porównanie z 39502 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).

Poprawa! Poprzednio 85,0%, teraz 90,0% (+5,0 p.p.).

Zachowaj ten wynik na koncie

Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.

Analiza przebiegu egzaminu - sprawdź jak rozwiązywałeś pytania Przebieg egzaminu

Analiza przebiegu egzaminu

Odtwarzaj przebieg egzaminu krok po kroku i ucz się na własnych błędach - kolejność rozwiązywania, czas nad każdym pytaniem, momenty zmiany odpowiedzi.

  • Suwak czasu - przeglądaj pytania w kolejności rozwiązywania.
  • Tryb nauki - poprawne odpowiedzi i wyjaśnienia.
  • Analiza czasu - ile czasu nad każdym pytaniem.
  • Monitoring focusu - momenty opuszczenia zakładki.

Pochwal się swoim wynikiem!

Szczegółowe wyniki

Pytanie 1

W tabeli artykuly znajduje się pole o nazwie nowy. Aby pole to wypełnić wartościami TRUE dla każdego rekordu, należy zastosować kwerendę

A. INSERT INTO artykuly VALUE nowy = TRUE;
B. UPDATE nowy FROM artykuly VALUE TRUE;
C. INSERT INTO nowy FROM artykuly SET TRUE;
D. UPDATE artykuly SET nowy = TRUE;
W tym zadaniu kluczowe jest zrozumienie różnicy między poleceniami UPDATE i INSERT w SQL oraz poprawnej składni tych instrukcji. Chodzi o modyfikację istniejących rekordów w tabeli artykuly, a nie o dodawanie nowych wierszy. To jest taki typowy błąd początkujących: pomieszanie operacji wstawiania danych z operacją ich aktualizacji. Jeśli tabela już zawiera dane i chcemy zmienić wartość w konkretnej kolumnie dla wszystkich wierszy, zawsze sięgamy po UPDATE.
Instrukcje wykorzystujące INSERT, typu INSERT INTO artykuly VALUE nowy = TRUE; czy INSERT INTO nowy FROM artykuly SET TRUE;, są niepoprawne składniowo i logicznie. INSERT służy do dodawania nowych rekordów, czyli tworzenia kolejnych wierszy w tabeli. Poprawny wzorzec wygląda mniej więcej tak: INSERT INTO artykuly (kolumna1, kolumna2) VALUES (wartość1, wartość2);. Nie aktualizuje on istniejących pól, tylko dokłada nowe rekordy. Gdybyśmy próbowali użyć INSERT do „ustawienia” kolumny nowy, to w rzeczywistości tworzyliśmy nowe wiersze, a stare rekordy pozostałyby nietknięte, co jest sprzeczne z treścią pytania.
Z kolei konstrukcje w rodzaju UPDATE nowy FROM artykuly VALUE TRUE; przypominają czasem składnię innych języków lub narzędzi, ale nie są poprawnym SQL-em. Standard SQL wymaga, żeby po słowie UPDATE pojawiła się nazwa tabeli, a po SET lista kolumn i przypisanych im wartości. Nie ma tu słów kluczowych FROM i VALUE w takiej kombinacji. FROM bywa używane w bardziej zaawansowanych UPDATE’ach, np. w PostgreSQL, ale w formie UPDATE tabela1 SET kolumna = coś FROM tabela2 WHERE warunek; – czyli z zupełnie inną logiką i strukturą.
Typowy błąd myślowy polega też na tym, że ktoś próbuje tłumaczyć składnię SQL „na polski” i układa komendy w stylu „INSERT INTO nowy FROM artykuly SET TRUE”, bo brzmi to logicznie w języku naturalnym. Niestety, SQL jest językiem ściśle zdefiniowanym, z bardzo konkretną kolejnością słów kluczowych. Standardowe podejście branżowe jest takie: jeśli modyfikujesz wartości w istniejących wierszach – używasz UPDATE; jeśli dodajesz nowe wiersze – używasz INSERT. Dobrą praktyką jest też najpierw napisać SELECT, który wybiera dokładnie te rekordy, które chcesz zmienić, a dopiero potem na jego podstawie zbudować UPDATE z odpowiednim SET i ewentualnym WHERE. Dzięki temu unikasz przypadkowego uszkodzenia danych.

Pytanie 2

Który znacznik lub grupa znaczników nie są stosowane do definiowania struktury strony HTML?

A. <header>, <footer>
B. <div>
C. <section>
D. <i>, <b>, <u>
Znacznik <i>, <b>, <u> jest stosowany głównie do celów prezentacyjnych, a nie do definiowania struktury dokumentu HTML. <i> oznacza tekst kursywą, <b> tekst pogrubiony, a <u> tekst podkreślony. Te znaczniki są częścią HTML, ale ich główną funkcją jest wzbogacenie wizualne treści, co nie ma związku z logiczną strukturą strony. W kontekście dobrych praktyk webowych, zaleca się stosowanie znaczników semantycznych, które dostarczają bardziej zrozumiałych informacji o treści strony wyszukiwarkom i asystentom technologicznym. Przykładowo, zamiast używać <b> dla podkreślenia znaczenia tekstu, warto skorzystać z <strong>, który również pogrubia tekst, ale dodatkowo wskazuje, że jest on istotny. Dobre praktyki sugerują, aby struktura strony była wyraźna i zrozumiała, co ułatwia nawigację oraz dostępność. Właściwe użycie znaczników takich jak <header>, <footer> czy <section> pomaga w tworzeniu jasnej i logicznej hierarchii dokumentu.

Pytanie 3

Jaką informację przekazuje przeglądarce internetowej zapis <!DOCTYPE html> ?

A. Dokument został zapisany w wersji HTML 4
B. Dokument został zapisany w wersji HTML 5
C. W dokumencie wymagane jest zamknięcie każdego taga, nawet samozamykającego
D. W dokumencie wszystkie tagi są zapisane wielkimi literami
Odpowiedź, że dokument został zapisany w języku HTML 5, jest prawidłowa, ponieważ zapis <DOCTYPE html> jest standardowym nagłówkiem deklarującym, że dokument jest napisany w najnowszej wersji HTML, czyli HTML 5. Taki zapis informuje przeglądarkę, że ma interpretować zawartość dokumentu zgodnie z zasadami i funkcjami określonymi w HTML 5. Wprowadzenie HTML 5 przyniosło wiele ulepszeń, takich jak nowe elementy semantyczne (np. <header>, <footer>, <article>), które ułatwiają tworzenie strukturalnie poprawnych i bardziej dostępnych stron internetowych. Dodatkowo, HTML 5 wprowadza wsparcie dla multimediów (np. <video>, <audio>) oraz API, które umożliwiają bardziej interaktywne podejście do tworzenia aplikacji webowych. Warto pamiętać, że stosowanie aktualnych standardów jest kluczowe dla zapewnienia kompatybilności z nowymi przeglądarkami oraz urządzeniami mobilnymi, a także dla zwiększenia wydajności i bezpieczeństwa aplikacji webowych.

Pytanie 4

Jaką rolę pełni funkcja PHP o nazwie mysql_num_rows()?

A. zwraca rekord o numerze podanym w argumencie funkcji
B. numeruje rekordy w bazie danych
C. zwraca ilość wierszy znajdujących się w rezultacie zapytania
D. zwraca następny rekord z wynikami zapytania
Funkcja mysql_num_rows() jest fundamentalnym narzędziem w interakcji z bazami danych w PHP, służącym do zwrócenia liczby wierszy w zestawie wyników zapytania. W kontekście programowania, jej zastosowanie jest kluczowe, gdy chcemy ocenić, czy zapytanie zwróciło jakiekolwiek dane. Przykładowo, jeśli wykonujemy zapytanie do bazy danych w celu pobrania listy użytkowników i chcemy sprawdzić, czy tabela zawiera jakiekolwiek rekordy, użycie mysql_num_rows() pozwala na łatwą i efektywną weryfikację. W praktyce, często łączy się tę funkcję z innymi, takimi jak mysql_query() w celu uzyskania wyników zapytania, a następnie sprawdzenia ich liczby. W związku z tym, dobre praktyki sugerują, aby po każdym zapytaniu, które może zwrócić wiele wyników, stosować tę funkcję do walidacji wyniku. Należy pamiętać, że mysql_num_rows() działa tylko na wynikach zapytań SELECT i nie jest użyteczna w przypadku innych typów operacji na bazach danych.

Pytanie 5

Jaki wynik przyjmie zmienna a po zakończeniu pętli w podanym fragmencie kodu PHP?

$i = 10; $a = 0;
while ($i)
{
    $a = $a + 2;
    $i--;
}
A. 10
B. 2
C. 0
D. 20
W podanym fragmencie kodu PHP zmienna a przyjmuje wartość 20 po zakończeniu pętli. Dzieje się tak, ponieważ pętla while wykonuje się, dopóki zmienna i jest różna od zera. Na początku i jest równe 10, a podczas każdej iteracji pętli zmienna a jest zwiększana o 2, a zmienna i jest dekrementowana o 1. W efekcie pętla wykonuje się dokładnie 10 razy, a w każdej iteracji wartość zmiennej a zwiększa się o 2. W rezultacie po 10 iteracjach zmienna a osiąga wartość 20. Takie podejście do pętli while jest często stosowane w programowaniu, gdy chcemy wykonać określoną liczbę iteracji, dopóki warunek logiczny jest spełniony. Jest to przykład dobrej praktyki, gdy kod jest czytelny i łatwy do zrozumienia. W praktyce programowania PHP pętle tego typu są używane do różnych operacji, takich jak przetwarzanie danych, iterowanie po elementach tablic, czy wykonywanie złożonych obliczeń, co ilustruje zrozumiałe i efektywne zastosowanie tej konstrukcji w PHP.

Pytanie 6

W języku PHP, aby otworzyć już istniejący plik lektury.txt w trybie dodawania treści, tak aby wskaźnik pliku został umieszczony na końcu tego pliku należy zastosować instrukcję

A. fopen("lektury.txt", "x")
B. fopen("lektury.txt", "a")
C. fopen("lektury.txt", "w")
D. fopen("lektury.txt", "r")
W tym zadaniu kluczowe są dwa elementy: tryb otwarcia pliku oraz pozycja wskaźnika pliku. W PHP funkcja fopen() przyjmuje drugi parametr właśnie po to, żeby określić, co chcemy zrobić z plikiem: tylko czytać, tylko pisać, nadpisywać, dopisywać, tworzyć nowy itd. Pomyłki biorą się najczęściej z tego, że ktoś zna ogólne działanie funkcji, ale nie pamięta dokładnie znaczenia poszczególnych liter.

Tryb "r" oznacza otwarcie pliku tylko do odczytu. Wskaźnik pliku ustawiany jest na początku, a nie na końcu. W tym trybie nie wolno pisać do pliku – próba użycia fwrite() skończy się ostrzeżeniem lub błędem. To dobry wybór, gdy chcemy np. wczytać konfigurację lub treść pliku, ale zupełnie nie nadaje się do dopisywania nowych danych. Typowym błędem myślowym jest założenie, że skoro fopen otwiera plik, to zawsze można do niego pisać. Niestety, nie – tryb ma tutaj kluczowe znaczenie.

Tryb "w" otwiera plik do zapisu, ale przy tym kasuje jego dotychczasową zawartość (truncation). W praktyce oznacza to, że gdy użyjemy fopen("lektury.txt", "w"), cały wcześniejszy tekst zostanie usunięty, a wskaźnik pliku znajdzie się na początku pustego pliku. To jest bardzo ważne: "w" jest dobre, gdy chcemy stworzyć nową wersję pliku od zera, np. generowany raport, ale całkowicie sprzeczne z wymaganiem zadania, które mówi o „dodawaniu treści” do istniejącego pliku bez utraty danych.

Tryb "x" z kolei służy do tworzenia nowego pliku i zakończy się błędem, jeśli plik już istnieje. To mechanizm ochronny, używany często tam, gdzie nie chcemy przypadkiem nadpisać istniejącego pliku (np. przy generowaniu unikalnych plików). W kontekście pytania jest to odwrotność tego, co trzeba: my właśnie chcemy pracować z już istniejącym plikiem, a nie wymuszać jego nowość.

Moim zdaniem najczęstsza pułapka polega na myleniu „w” i „a”. Oba tryby umożliwiają zapis, ale tylko "a" gwarantuje, że wskaźnik ustawi się na końcu, a dane będą dopisywane, a nie nadpisywane. Dlatego, gdy w zadaniu pojawia się fraza „tryb dodawania treści” i „wskaźnik na końcu pliku”, praktycznie zawsze chodzi o tryb append, czyli właśnie "a".

Pytanie 7

Aby uzyskać dane z tabeli pracownicy wyłącznie dla osób, które osiągnęły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy OR wiek > '25'
B. SELECT * FROM wiek WHERE pracownicy > '25'
C. SELECT * FROM pracownicy WHERE wiek > '25'
D. SELECT * FROM pracownicy AND wiek > '25'
Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > '25';'. To zapytanie jest zgodne z zasadami SQL i pozwala na wyświetlenie wszystkich rekordów z tabeli 'pracownicy', które spełniają określony warunek dotyczący wieku. Używając klauzuli WHERE, precyzyjnie filtrujemy wyniki i zwracamy tylko tych pracowników, którzy mają więcej niż 25 lat. Warto pamiętać, że w SQL operator '>' jest wykorzystywany do porównywania wartości, a w tym przypadku pozwala nam na wybranie pracowników, którzy ukończyli 26 lat. Przy projektowaniu zapytań SQL, kluczowe jest stosowanie odpowiednich warunków filtrujących, aby ograniczyć zwracane dane do tych istotnych dla analiz. Przykładowo, analiza wieku pracowników w kontekście przyznawania dodatków lub przeprowadzania szkoleń może opierać się na takich zapytaniach. W praktyce, ważne jest także wykorzystanie indeksów w bazach danych, aby zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 8

Której funkcji PHP użyć, aby WYSŁAĆ zapytanie SELECT do bazy MySQL?

A.
mysqli_query
B.
mysqli_fetch_row
C.
mysqli_num_rows
D.
mysqli_connect
Samo połączenie z bazą nic jeszcze nie pobiera - treść zapytania trzeba do niej WYSŁAĆ, a robi to mysqli_query($polaczenie, $sql). Dla SELECT zwraca obiekt wyniku, po którym potem iterujesz, np. $w = mysqli_query($db, "SELECT * FROM uczniowie");. Ta sama funkcja wysyła też INSERT, UPDATE czy DELETE. Zapamiętaj: „query” = zapytanie - to funkcja, która faktycznie przekazuje SQL do serwera.

Pytanie 9

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

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

W którym z podanych formatów można zapisać materiał wideo wraz ze ścieżką dźwiękową?

A. AAC
B. WAV
C. MP4
D. WMA
MP4 (MPEG-4 Part 14) to format kontenera, który w jednym pliku przechowuje strumień wideo oraz dźwięku (a także np. napisy). Dzięki dobrej kompresji i powszechnej zgodności z urządzeniami zdominował publikację filmów w internecie. Pozostałe wymienione formaty to czyste formaty AUDIO - zapiszą jedynie ścieżkę dźwiękową, bez obrazu. Dlatego wideo z dźwiękiem przechowa MP4.

Pytanie 11

W języku PHP wykonano poniższą operację. Aby uzyskać wszystkie rezultaty tego zapytania, należy:

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. wyświetlić zmienną $db
B. użyć polecenia mysql_fetch
C. zastosować pętlę z poleceniem mysqli_fetch_row
D. zaindeksować zmienną tab, tab[0] to pierwsze imię
Odpowiedź, która zakłada zastosowanie pętli z poleceniem mysqli_fetch_row, jest poprawna, ponieważ po wykonaniu zapytania do bazy danych za pomocą mysqli_query, otrzymujemy wynik w postaci zestawu rekordów, który musimy przetworzyć. Funkcja mysqli_fetch_row pozwala na iteracyjne pobieranie wierszy z tego zestawu, co jest niezbędne do wyświetlenia wszystkich imion osób, które spełniają warunek wieku poniżej 18 lat. Przykładowy kod do iteracji może wyglądać tak: while($wiersz = mysqli_fetch_row($tab)) { echo $wiersz[0]; } W ten sposób każda iteracja w pętli wyświetli pierwszą kolumnę (imie) z każdego wiersza rezultatu. Tego typu podejście jest zgodne z dobrymi praktykami, ponieważ pozwala na efektywne zarządzanie pamięcią i ogranicza ryzyko przeciążenia systemu, szczególnie w przypadku dużych zbiorów danych. Ważne jest, aby pamiętać, że połączenie z bazą danych i zapytania powinny być zawsze odpowiednio zamykane i zabezpieczane przed atakami, co jest istotne w kontekście bezpieczeństwa aplikacji.

Pytanie 12

Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id
B. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
C. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
Odpowiedź 4 jest prawidłowa, ponieważ prawidłowo wykorzystuje składnię SQL do połączenia dwóch tabel oraz filtrowania danych na podstawie podanego warunku. Kwerenda używa JOIN, aby połączyć tabele Klienci i Uslugi na podstawie wspólnej kolumny uslugi_id, co jest zgodne z zasadami relacyjnej bazy danych, gdzie klucz obcy w jednej tabeli odnosi się do klucza głównego w innej tabeli. Następnie, kwerenda stosuje filtrację WHERE cena > 10, co pozwala na wybór tylko tych rekordów, gdzie cena usługi przekracza 10 zł. Jest to zgodne z praktyką selektywnego pobierania danych, co jest kluczowe w optymalizacji zapytań i skutecznym zarządzaniu zasobami bazy danych. Zastosowanie takich technik jest standardem w branży, umożliwiając efektywne zarządzanie dużymi zbiorami danych oraz zwiększenie wydajności aplikacji poprzez ograniczenie liczby zwracanych wierszy do tych, które spełniają określone kryteria. Zrozumienie i umiejętność implementacji takich zapytań SQL to podstawowa umiejętność dla specjalistów IT pracujących z bazami danych.

Pytanie 13

Przygotowując raport w systemie zarządzania relacyjnymi bazami danych, można uzyskać

A. dodawanie danych do tabel
B. analizę wybranych danych
C. usuwanie danych z tabel
D. aktualizowanie danych w tabelach
W kontekście systemów obsługi relacyjnych baz danych, raportowanie odgrywa kluczową rolę w analizie danych. Wykonywanie raportu umożliwia użytkownikom dostęp do wybranych informacji, co pozwala na podejmowanie świadomych decyzji opartych na danych. Analiza danych to proces przetwarzania informacji w celu wydobycia wartościowych wniosków. Przykłady zastosowania to generowanie raportów sprzedażowych, finansowych czy analizy trendów klientów. W raportach można wykorzystać różne techniki, takie jak filtrowanie, grupowanie czy agregowanie danych, co umożliwia prezentację wyników w przystępnej formie graficznej. Dodatkowo, standardy takie jak SQL (Structured Query Language) są powszechnie używane do wykonywania zapytań w relacyjnych bazach danych, co pozwala na efektywne przeszukiwanie i analizowanie danych. W praktyce, raporty mogą być generowane na podstawie zapytań do bazy danych i mogą obejmować różne parametry, co zwiększa ich użyteczność w podejmowaniu decyzji strategicznych i operacyjnych.

Pytanie 14

Dla jakich nazwisk użyta w zapytaniu klauzula LIKE jest poprawna?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Krzysztof, Krystyna, Romuald
B. Rafał, Rebeka, Renata, Roksana
C. Arleta, Krzysztof, Krystyna, Tristan
D. Gerald, Jarosław, Marek, Tamara
Prawidłowa odpowiedź Arleta Krzysztof Krystyna Tristan jest zgodna z klauzulą LIKE w języku SQL która pozwala na wyszukiwanie wzorców w danych tekstowych W zapytaniu użyto wzorca '_r%' gdzie podkreślenie oznacza dowolny pojedynczy znak a procent dowolną liczbę znaków W tym przypadku imiona muszą mieć 'r' jako drugi znak co jest spełnione dla Arleta Krzysztof Krystyna i Tristan Klauzula LIKE jest często używana w aplikacjach bazodanowych do filtrowania danych tekstowych na przykład w systemach zarządzania klientami gdzie można wyszukiwać nazwiska klientów zaczynające się na określoną literę Dobre praktyki zalecają ostrożne używanie wzorców które mogą prowadzić do pełnych skanów tabel co wpływa na wydajność Indeksowanie kolumn może poprawić szybkość zapytań LIKE jednak należy unikać wzorców zaczynających się od symbolu procenta gdyż pomijają indeksy Warto zrozumieć że LIKE jest potężnym narzędziem w SQL które może znacznie ułatwić pracę z tekstem jednak wymaga ono przemyślanego użycia by nie pogorszyć wydajności bazy danych

Pytanie 15

Po awarii serwera bazy danych, aby jak najszybciej przywrócić pełne działanie bazy, konieczne jest wykorzystanie

A. aktualnej wersji kopii zapasowej
B. kompletnej listy użytkowników serwera
C. opisu struktur danych w tabelach
D. najświeższej wersji instalacyjnej serwera
Aby skutecznie przywrócić działanie bazy danych po jej uszkodzeniu, kluczowe jest wykorzystanie aktualnej wersji kopii zapasowej. Kopie zapasowe są fundamentem każdego planu odzyskiwania danych i powinny być regularnie tworzone zgodnie z polityką zarządzania danymi. Przykładowo, jeśli korzystamy z bazy danych w środowisku produkcyjnym, zaleca się wykonywanie codziennych kopii zapasowych oraz pełnych kopii co tydzień. W przypadku awarii, przywrócenie systemu do stanu sprzed incydentu za pomocą najnowszej kopii zapasowej minimalizuje utratę danych i przestoje. Praktyki takie jak backup w czasie rzeczywistym (real-time backup) mogą być również rozważane, aby ograniczyć ryzyko utraty danych. W kontekście standardów branżowych, organizacje powinny stosować zasady RTO (Recovery Time Objective) i RPO (Recovery Point Objective), które pomogą w określeniu najodpowiedniejszej strategii tworzenia kopii zapasowych i ich przechowywania. Zastosowanie aktualnych kopii zapasowych jest zatem najskuteczniejszym sposobem na przywrócenie funkcjonalności bazy danych.

Pytanie 16

W języku SQL instrukcja INSERT INTO

A. dodaje kolumny do istniejącej tabeli
B. tworzy nową tabelę
C. wprowadza dane do tabeli
D. zmienia rekordy na zadaną wartość
Polecenie INSERT INTO w języku SQL jest używane do dodawania nowych danych do tabeli w bazie danych. Jego podstawowa składnia to: INSERT INTO nazwa_tabeli (kolumna1, kolumna2, ...) VALUES (wartość1, wartość2, ...). Dzięki temu poleceniu użytkownicy mogą wprowadzać nowe rekordy, co jest kluczowe w zarządzaniu danymi w relacyjnych bazach danych. Przykładowo, jeżeli mamy tabelę 'użytkownicy' z kolumnami 'imie', 'nazwisko' i 'wiek', możemy dodać nowego użytkownika za pomocą: INSERT INTO użytkownicy (imie, nazwisko, wiek) VALUES ('Jan', 'Kowalski', 30). Warto zauważyć, że polecenie to może być używane w kontekście transakcji, co pozwala na zachowanie integralności danych. Standard SQL, na którym opiera się wiele systemów zarządzania bazami danych, definiuje to polecenie jako fundamentalne w operacjach DML (Data Manipulation Language), co czyni je niezbędnym w każdej aplikacji, która wymaga wprowadzania danych do bazy.

Pytanie 17

Co powinien umożliwiać edytor działający w trybie WYSIWYG?

A. uzyskanie wyglądu strony zbliżonego do jej obrazu w przeglądarce
B. obróbkę plików dźwiękowych
C. tworzenie podstawowej grafiki wektorowej
D. publikację strony przez wbudowany klient FTP
WYSIWYG (What You See Is What You Get) oznacza, że podczas edycji widać efekt zbliżony do finalnego wyglądu strony w przeglądarce - bez konieczności pisania kodu i podglądania osobno. Dlatego edytor WYSIWYG ma dawać wygląd zbliżony do obrazu strony w przeglądarce.

Pytanie 18

Dana jest tabela ksiazki z polami: tytul, autor, cena (typu liczbowego). Aby kwerenda SELECT wybrała tylko tytuły, dla których cena jest mniejsza od 50 zł, należy zapisać

A. SELECT ksiazki FROM tytul WHERE cena < '50 zł';
B. SELECT * FROM ksiazki WHERE cena < 50;
C. SELECT tytul FROM ksiazki WHERE cena < 50;
D. SELECT tytul FROM ksiazki WHERE cena > '50 zł';
Prawidłowa odpowiedź wybiera dokładnie to, o co chodzi w treści zadania: tylko kolumnę tytul z tabeli ksiazki, ale tylko dla tych rekordów, gdzie cena jest mniejsza niż 50. Składnia SELECT tytul FROM ksiazki WHERE cena < 50; jest zgodna ze standardowym SQL i pokazuje dobrą praktykę – pobieramy tylko te dane, które są nam potrzebne, zamiast używać SELECT *. Dzięki temu zapytanie jest lżejsze, szybsze i czytelniejsze, co w większych projektach ma naprawdę duże znaczenie.

Moim zdaniem warto zwrócić uwagę na kilka elementów. Po pierwsze, w klauzuli SELECT podajemy konkretne nazwy kolumn (tu: tytul), nie nazwę tabeli. Po drugie, w FROM podajemy dokładnie nazwę tabeli, z której korzystamy (ksiazki). Po trzecie, warunek WHERE cena < 50 poprawnie porównuje wartość liczbową, bo kolumna cena ma typ liczbowy, więc nie używamy tu cudzysłowów ani żadnych „zł” w środku.

W praktyce podobny wzorzec stosuje się cały czas, np.: SELECT tytul, autor FROM ksiazki WHERE cena <= 30; żeby dostać tańsze książki, albo SELECT tytul FROM ksiazki WHERE cena BETWEEN 20 AND 40; gdy interesuje nas konkretny przedział. W profesjonalnych aplikacjach webowych taka precyzja w definiowaniu zapytań SQL jest podstawą: ułatwia optymalizację, indeksowanie kolumn (np. indeks na kolumnie cena przyspiesza filtrowanie w WHERE) i minimalizuje przesyłanie niepotrzebnych danych między bazą a aplikacją. Dobra praktyka jest też taka, żeby dostosowywać typy danych: skoro cena jest liczbą, to porównujemy ją z liczbą, bez jednostek, a formatowanie typu „50 zł” robimy później w warstwie prezentacji, np. w PHP, JavaScript albo w szablonach widoków.

Pytanie 19

Aby przenieść pliki witryny na serwer, można skorzystać z programu:

A. Go!Zilla
B. CloneZilla
C. Bugzilla
D. FileZilla
FileZilla to popularny, darmowy klient FTP, FTPS i SFTP. Służy do przesyłania plików między komputerem lokalnym a serwerem, dlatego używa się go do publikacji gotowej witryny: łączysz się z kontem na serwerze i kopiujesz pliki strony do odpowiedniego katalogu. Obsługuje połączenia szyfrowane, wznawianie transferu i kolejkę zadań. To typowe narzędzie webmastera na etapie wdrażania strony - i dlatego jest poprawną odpowiedzią.

Pytanie 20

Który model barw opisuje kolor za pomocą stożka przestrzeni barw?

A. CMY
B. HSV
C. CIE
D. CMYK
Model HSV przedstawia się geometrycznie jako stożek (lub walec) przestrzeni barw: kąt to odcień, odległość od osi - nasycenie, a wysokość - jasność. Dlatego stożkiem barw opisuje kolor HSV.

Pytanie 21

W języku JavaScript rezultat działania instrukcji zmienna1 –= 1; będzie identyczny jak wynik instrukcji

A. zmienia1 = zmienna1 - 0;
B. zmienna1++;
C. zmienna1 === zmienna1 - 1;
D. zmienna1––;
Instrukcja 'zmienna1 -= 1;' w języku JavaScript jest skróconą formą zapisu, która oblicza nową wartość zmiennej 'zmienna1', odejmując od niej 1. Działa to na zasadzie równania, gdzie zmienna zostaje zaktualizowana do nowej wartości. Z kolei zapis 'zmienna1--;' również dokonuje dekrementacji zmiennej 'zmienna1' o 1, ale w formie operatora post-dekrementacji. W praktyce oznacza to, że obie instrukcje mają ten sam efekt końcowy, czyli zmiana wartości 'zmienna1' o 1 w dół. Przykładowo, jeżeli 'zmienna1' wynosi 5 przed wykonaniem powyższych operacji, to po ich wykonaniu jej wartość wyniesie 4. Takie skrócone formy zapisu są powszechną praktyką w programowaniu, ponieważ umożliwiają bardziej zwięzłe i czytelne przedstawienie operacji na zmiennych, co jest zgodne z zasadami czystego kodu. Używanie operatorów skróconych, takich jak '+=' i '-=', jest zalecane, ponieważ poprawia czytelność i zrozumiałość kodu.

Pytanie 22

Dany fragment kodu ilustruje składnię danego języka

Ilustracja do pytania
A. PHP
B. C
C. JavaScript
D. C#
Kod przedstawiony w pytaniu jest napisany w języku PHP który jest popularnym językiem skryptowym stosowanym na serwerach do generowania dynamicznych stron internetowych Zaczyna się od znacznika otwierającego '<?php' co jasno wskazuje na PHP W kodzie użyte są funkcje takie jak file_get_contents fopen fwrite i fclose które są typowe dla PHP i służą do manipulacji plikami Funkcja file_get_contents służy do odczytywania zawartości pliku co jest niezbędne do pobrania aktualnej wartości zmiennej Silosc Następnie zmienna ta jest inkrementowana aby zwiększyć jej wartość o jeden co jest powszechnie stosowane w licznikach odwiedzin stron internetowych PHP jako język skryptowy pozwala na łatwe manipulowanie danymi serwera a także na integrację z bazami danych i szeroką gamę funkcji sieciowych i narzędzi co czyni go jednym z najczęściej używanych języków do tworzenia aplikacji webowych Dobrym standardem jest stosowanie PHP w przypadku gdy potrzebne jest dynamiczne generowanie treści oraz zarządzanie danymi użytkowników

Pytanie 23

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

A.
func myFunction() { }
B.
def myFunction() { }
C.
function myFunction() { }
D.
void myFunction() { }
W JavaScripcie funkcję deklaruje się słowem kluczowym function, np. function myFunction() { }. Dlatego prawidłowa jest deklaracja z function.

Pytanie 24

Który z formatów to format grafiki WEKTOROWEJ?

A. JPG
B. GIF
C. SVG
D. PNG
SVG (Scalable Vector Graphics) to format grafiki WEKTOROWEJ - obraz opisany jest kształtami i krzywymi (w XML), dzięki czemu skaluje się bez utraty jakości. Sprawdza się przy logo i ikonach. Dlatego formatem wektorowym jest SVG.

Pytanie 25

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. dodać nawiasy klamrowe w sekcjach if oraz else
B. umieścić znaki $ przed nazwami zmiennych
C. w liniach 2 i 5 zmienne a i b umieścić w cudzysłowach
D. w liniach 3 i 6 zamienić znaki cudzysłowu na apostrof, np. ' jest mniejsze'
Wstawienie nawiasów klamrowych do sekcji 'if' oraz 'else' jest kluczowe dla prawidłowego działania kodu w JavaScript. Kiedy nie używamy nawiasów klamrowych, język domyślnie interpretuje tylko jedną linię jako część bloku 'if' lub 'else'. W sytuacji, gdy mamy więcej niż jedną operację do wykonania w ramach tego samego warunku, brak nawiasów prowadzi do błędów wykonania. Przykład: jeśli chcemy wyświetlić komunikat oraz wartość zmiennej 'a', musimy objąć te operacje nawiasami klamrowymi. Warto również pamiętać, że korzystanie z nawiasów klamrowych zwiększa czytelność kodu, co jest zgodne z najlepszymi praktykami programistycznymi. Stosowanie tej zasady pozwala unikać niejednoznaczności i potencjalnych błędów w logicznych blokach kodu. Dodatkowo, pomocne jest testowanie kodu w środowiskach, które wyłapują błędy syntaktyczne, co ułatwia wczesne wykrywanie problemów.

Pytanie 26

Zmienna o typie integer lub int jest w stanie przechowywać

A. liczbę całkowitą
B. znak
C. łańcuch znaków
D. liczbę rzeczywistą
Zmienna typu integer, znana również jako int, jest podstawowym typem danych w wielu językach programowania, takich jak C, C++, Java czy Python. Jej kluczową zaletą jest możliwość przechowywania tylko liczb całkowitych, co czyni ją idealnym wyborem do operacji arytmetycznych, które wymagają precyzyjnego zarządzania wartościami całkowitymi bez części dziesiętnych. Przykłady zastosowania to m.in. przechowywanie ilości przedmiotów w magazynie, zliczanie punktów w grze lub reprezentowanie indeksów w tablicach. W praktyce, użycie zmiennych typu integer umożliwia efektywne wykorzystanie pamięci, ponieważ zajmują one mniej miejsca niż zmienne typu zmiennoprzecinkowego, a ich operacje są wykonywane szybciej. Ponadto, stosowanie zmiennych całkowitych jest zgodne z dobrymi praktykami programowania, które zalecają dobór odpowiednich typów danych do specyficznych potrzeb aplikacji, co zwiększa ich wydajność i czytelność kodu. Warto także zrozumieć, że w kontekście programowania, typ zmiennej determinuje zakres wartości, które można przechowywać, co w przypadku typu integer zwykle wynosi od -2,147,483,648 do 2,147,483,647 w standardzie 32-bitowym, co czyni go wystarczającym dla wielu zastosowań.

Pytanie 27

Jaką cechę pola w tabeli należy ustalić, aby pole mogło przyjmować wyłącznie dane składające się z cyfr?

Ogólne
Rozmiar pola255
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. Maskę wprowadzania
B. Wartość domyślną
C. Tagi inteligentne
D. Regułę sprawdzania poprawności
Maska wprowadzania to coś, co bardzo ułatwia życie, zwłaszcza w systemach baz danych i aplikacjach. Dzięki niej możemy dokładnie określić, jakie znaki mogą być wpisywane w dane pole, co jest szczególnie przydatne, gdy potrzebujemy tylko cyfr. Wyobraź sobie, że musisz wpisać numer telefonu – to właśnie wtedy maska pokazuje, że możesz wpisać tylko cyfry i może nawet dodać myślniki dla lepszej estetyki. To dobry sposób na ograniczenie błędów, bo nikt nie będzie miał okna do wpisania literek, których nie powinno być. W praktyce, jeżeli projektujesz coś jak formularze online, to maseczki wprowadzania są bardzo fajne, bo zabezpieczają dane przed wprowadzeniem czegokolwiek, co nie pasuje. Możesz je łatwo zaimplementować w językach programowania jak C# czy JavaScript przy pomocy wyrażeń regularnych albo gotowych komponentów UI. Dobrze zaprojektowane maski wprowadzania pomagają też utrzymać porządek w bazach danych i zgodność z wymaganiami, które mamy na myśli.

Pytanie 28

Która funkcja PHP sortuje tablicę asocjacyjną według KLUCZY?

A.
asort()
B.
rsort()
C.
ksort()
D.
sort()
asort() sortuje po WARTOŚCIACH (zachowując klucze), sort() po wartościach z resetem kluczy, a rsort() to samo malejąco. Po kluczach sortuje ksort().

Pytanie 29

Co można powiedzieć o przedstawionym zapisie języka HTML 5?

<title>Strona o psach</title>
A. Pojawi się na karcie dokumentu w przeglądarce.
B. Stanowi jedynie informację dla robotów wyszukiwania i nie jest widoczny w przeglądarce.
C. Zostanie umieszczony w treści strony, na samym czubku.
D. Jest fakultatywny w kontekście HTML 5 i nie jest wymagany w dokumencie.
Zaznaczenie poprawnej odpowiedzi pokazuje, że to, co jest w znaczniku <title>, pojawia się na karcie w przeglądarce. To naprawdę ważny element HTML, bo informuje użytkowników, o czym jest dana strona. Zgodnie z tym, co mówi W3C, tytuł strony jest kluczowy dla SEO, gdyż wyświetla się w wynikach wyszukiwania i na zakładkach przeglądarek. Fajnie, jak tytuł jest krótki, ma kluczowe słowa, które mówią o zawartości, i przyciąga wzrok. Na przykład, jak zrobisz stronę o psach rasowych, to tytuł <title> w stylu 'Strona o psach - Poradnik dla właścicieli' nie tylko mówi, o czym będzie treść, ale też może sprawić, że lepiej widać ją w wynikach wyszukiwania. Pamiętaj, że zawartość znacznika <title> widać na górze okna przeglądarki, co ułatwia poruszanie się i znajdowanie otwartych kart.

Pytanie 30

<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. wyświetli w miejscu grafiki tekst "pejzaż"
C. nie załaduje strony internetowej
D. w miejscu grafiki zasygnalizuje błąd wyświetlania strony
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 31

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. zmianę intensywności kolorów
B. gradient okrągły
C. gradient liniowy
D. kanał alpha
Gradient liniowy to narzędzie stosowane w edytorach grafiki rastrowej do tworzenia płynnych przejść pomiędzy dwoma lub więcej kolorami w zadanym kierunku najczęściej poziomym lub pionowym. W praktyce gradient liniowy jest kluczowy w projektowaniu graficznym ponieważ pozwala na subtelne cieniowanie i nadawanie głębi elementom wizualnym. Przykładowo stosuje się go w tworzeniu tła logotypów czy też przycisków interfejsów użytkownika. Proces tworzenia gradientu liniowego opiera się na ustawieniu punktów początkowych i końcowych oraz przypisaniu im odpowiednich wartości kolorystycznych co podkreśla jego wszechstronność. Standardowym podejściem jest użycie gradientu liniowego w celu uzyskania efektu trójwymiarowości co jest zgodne z dobrymi praktykami projektowania UX i UI. W kontekście branżowym gradienty liniowe są nieodłącznym elementem narzędzi takich jak Adobe Photoshop czy GIMP gdzie umożliwiają manipulację barwą i luminancją co jest kluczowe w profesjonalnym edytowaniu obrazów.

Pytanie 32

Który z obrazków ilustruje efekt działania podanego fragmentu kodu HTML?

Ilustracja do pytania
A. Obrazek D
B. Obrazek C
C. Obrazek B
D. Obrazek A
Prawidłowa odpowiedź to C ponieważ atrybut rowspan="2" w komórce oznacza że komórka ta zajmuje miejsce w dwóch wierszach. W kodzie HTML mamy tabelę z dwoma wierszami. W pierwszym wierszu znajdują się dwie komórki pierwsza z tekstem 'pierwszy' ma ustawiony rowspan na 2 co sprawia że zajmuje miejsce w obu wierszach tabeli. Druga komórka w pierwszym wierszu zawiera tekst 'drugi'. W drugim wierszu znajduje się jedna komórka z tekstem 'trzeci'. Taki układ powoduje że komórka z 'pierwszy' rozciąga się na wysokość dwóch wierszy a pozostałe komórki 'drugi' i 'trzeci' są obok siebie w pierwszym i drugim wierszu obok tej rozciągniętej komórki. Zastosowanie atrybutu rowspan to popularna technika w tworzeniu złożonych układów tabeli i pozwala na efektywne wykorzystanie przestrzeni układu. Jest to dobra praktyka stosowana w celu zachowania czytelności danych w tabelach na stronach internetowych a także pomagająca w poprawnym renderowaniu danych w czytnikach ekranu co wspiera dostępność strony WWW.

Pytanie 33

Aby walidować pole formularza na bieżąco, w trakcie wpisywania znaków przez użytkownika, można wykorzystać zdarzenie:

A.
onLoad
B.
onFocusOut
C.
onClick
D.
onKeyDown
Pozostałe zdarzenia zachodzą w innych momentach. onLoad uruchamia się raz, po wczytaniu strony lub elementu, więc nie nadąża za wpisywaniem. onClick reaguje na kliknięcie myszą, a nie na znaki wprowadzane z klawiatury. onFocusOut zachodzi dopiero, gdy użytkownik opuści pole - to walidacja po fakcie, a nie na bieżąco. Sprawdzanie danych podczas pisania umożliwia onKeyDown, dlatego to ono jest poprawne.

Pytanie 34

Po uszkodzeniu serwera bazy danych, aby jak najszybciej przywrócić pełną bazę, należy użyć:

A. opisów struktur danych w tabelach
B. najnowszej wersji instalacyjnej serwera
C. kompletnej listy użytkowników serwera
D. aktualnej kopii zapasowej
Po uszkodzeniu serwera najszybciej odtworzysz PEŁNĄ bazę z aktualnej KOPII ZAPASOWEJ (backupu) - zawiera ona zarówno strukturę, jak i dane. Dlatego regularne kopie to podstawa bezpieczeństwa: im świeższy backup, tym mniejsza strata. Zapamiętaj: awaria danych = przywrócenie z kopii zapasowej.

Pytanie 35

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

Pytanie 36

Który zbiór znaczników, określających projekt strony internetowej w sposób semantyczny, jest zgodny z normą HTML 5?

Ilustracja do pytania
A. Zbiór 3
B. Zbiór 1
C. Zbiór 4
D. Zbiór 2
Wykaz 4 jest zgodny ze standardem HTML 5, ponieważ poprawnie używa semantycznych znaczników do strukturyzacji zawartości strony. <header> jest używany do definiowania nagłówka dokumentu lub sekcji, co jest poprawne dla Bloku 1. Znacznik <main> w Bloku 2 wskazuje na główną treść strony, co jest zgodne z jego przeznaczeniem. <aside> w Bloku 3 jest trafnie używany do treści pobocznych, które są związane, ale niekonieczne dla głównego wątku treści, co odpowiada typowej strukturze witryny, gdzie treści poboczne są często wyświetlane obok głównej treści. Na koniec, <footer> w Bloku 4 jest poprawnie przypisany, gdyż zamyka i podsumowuje zawartość strony. HTML5 kładzie duży nacisk na semantykę, co pomaga w optymalizacji pod kątem SEO oraz ułatwia rozumienie struktury strony zarówno przez ludzi, jak i maszyny. Takie podejście poprawia dostępność, ułatwia stylizowanie za pomocą CSS oraz wspiera lepsze praktyki w zakresie zgodności z przyszłymi standardami.

Pytanie 37

Który efekt został zaprezentowany na filmie?

A. Przenikanie zdjęć.
B. Zwiększenie ostrości zdjęcia.
C. Zmiana jasności zdjęć.
D. Zmniejszenie kontrastu zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 38

Gdzie wykonywany jest kod JavaScript umieszczony na stronie WWW?

A. interpretowany po stronie serwera
B. interpretowany po stronie klienta (w przeglądarce)
C. kompilowany po stronie klienta
D. kompilowany po stronie serwera
JavaScript osadzony na stronie jest językiem wykonywanym po stronie klienta - interpretuje i uruchamia go przeglądarka użytkownika. Dzięki temu może reagować na zdarzenia, zmieniać treść strony (DOM) i obsługiwać interakcje bez przeładowania. To odróżnia go od PHP, który działa na serwerze. Dlatego kod JS jest interpretowany po stronie klienta.

Pytanie 39

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, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
C. SELECT Imie, Nazwisko, DataWystawienia FROM Recepta
D. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta
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 40

Które z poniższych oprogramowań NIE jest systemem zarządzania treścią (CMS)?

A. Joomla
B. Apache
C. WordPress
D. Mambo
System zarządzania treścią (CMS - Content Management System) to oprogramowanie pozwalające tworzyć i redagować zawartość strony bez ręcznego pisania kodu - należą do nich Joomla, WordPress czy Mambo. Apache (Apache HTTP Server) to natomiast serwer WWW: program, który odbiera żądania przeglądarek i odsyła strony. To warstwa niżej - CMS może działać NA serwerze Apache, ale sam nim nie jest. Dlatego CMS-em nie jest Apache.