Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 11 maja 2026 13:26
  • Data zakończenia: 11 maja 2026 13:47

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Fragmenty kodu JavaScript w dokumencie HTML mogą być umieszczone

A. zarówno w sekcji <head>, jak i <body>, w znaczniku <script>
B. zarówno w sekcji <head>, jak i <body>, w znaczniku <java>
C. wyłącznie w sekcji <body>, w znaczniku <java>
D. wyłącznie w sekcji <head>, w znaczniku <script>
Wstawianie kodu JavaScript w dokumenty HTML to naprawdę istotna sprawa. Dzięki temu możemy dodawać różne interaktywne funkcje do naszych stron. Warto wiedzieć, że umiejscowienie tego kodu ma ogromne znaczenie dla tego, jak szybko strona się ładowała. Możemy wstawić skrypty w sekcji <head> albo w <body>, ale zawsze muszą być w znaczniku <script>. Kiedy wrzucamy kod do <head>, skrypty ładują się przed resztą zawartości, co może trochę spowolnić ładowanie strony, bo przeglądarka musi najpierw załadować skrypty. Z drugiej strony, jeśli wstawimy je na dole w <body>, strona ładowana jest szybciej, bo najpierw widzimy zawartość, co jest lepsze dla użytkownika. Dobrze też korzystać z atrybutów async lub defer, żeby poprawić wydajność ładowania. Zgodnie z wytycznymi W3C, używanie znacznika <script> to najlepszy sposób na zapewnienie, że wszystko działa, a skrypty są kompatybilne z przeglądarkami. Można to zobaczyć na przykład, gdy chcemy użyć biblioteki jQuery lub dodać jakieś interaktywne elementy na stronie.

Pytanie 2

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

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

Pytanie 3

W tabeli pracownicy utworzono klucz główny typu INTEGER z atrybutami NOT NULL oraz AUTO-INCREMENT. Dodatkowo zdefiniowano pola imie oraz nazwisko. W przypadku użycia przedstawionej w ramce kwerendy SQL wprowadzającej dane, gdzie pominięto pole klucza, w bazie danych MySQL dojdzie do

Ilustracja do pytania
A. zignorowania polecenia, tabela nie ulegnie zmianie
B. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
C. błędu związane z nieprawidłową liczbą pól
D. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
W przypadku bazy danych MySQL, klucz główny zdefiniowany z atrybutem AUTO-INCREMENT pełni ważną funkcję automatycznego przydzielania unikalnych wartości liczbowych dla każdego nowego rekordu. Jest to szczególnie przydatne w dużych bazach danych, gdzie ręczne przypisywanie wartości klucza mogłoby prowadzić do błędów czy konfliktów. W przedstawionym przypadku, query SQL typu INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak'); pomija pole klucza głównego. Dzięki zastosowaniu AUTO-INCREMENT, MySQL automatycznie przydzieli nową wartość klucza głównego, która będzie kolejną w sekwencji, zapewniając integralność danych. Tego rodzaju mechanizm jest standardem w zarządzaniu relacyjną bazą danych, co pozwala na efektywne i bezpieczne operowanie danymi bez ryzyka wystąpienia błędów związanych z ręcznym zarządzaniem kluczami. Dobre praktyki sugerują, aby w takich przypadkach polegać na funkcji AUTO-INCREMENT, co nie tylko ułatwia pracę z bazą danych, ale również minimalizuje możliwość wystąpienia duplikatów czy niespójności w danych. To podejście jest szeroko stosowane w branży IT, szczególnie w przypadkach systemów wymagających dużego wolumenu danych.

Pytanie 4

Wskaż pętlę w języku JavaScript, która wypisze sześć kolejnych liczb parzystych.

A. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
B. for(i=2;i<12;i++) {i++; document.write(i);}
C. for(i=2;i<=12;i+=2) {document.write(i);}
D. for(i=2;i<12;i+=2) {document.write(i);}
Pierwsza z analizowanych pętli, która przyjmuje formę for(i=2;i<12;i+=2) {document.write(i);}, jest niepoprawna, ponieważ wyświetli jedynie liczby parzyste od 2 do 10. Warunek końcowy pętli jest ustawiony na i<12, co oznacza, że pętla zakończy się przed wyświetleniem liczby 12, co skutkuje pominięciem ostatniej liczby parzystej w tym zakresie. Kolejna pętla to for(i=2;i<12;i++) {i++; document.write(i);}, która jest problematyczna ze względu na modyfikację zmiennej i w samym ciele pętli. Przy każdym przebiegu pętli wartość i zwiększa się o 1, a następnie jeszcze raz o 1 w document.write(i), co prowadzi do pominięcia co drugiej liczby. Efektem tej pętli będzie wyświetlenie liczb 3, 5, 7, 9, 11, co zupełnie odbiega od założonego celu. Ostatnia z rozważanych pętli, for(i=2;i<=12;i++) {i=i+2; document.write(i);}, również nie spełnia założeń, ponieważ inkrementuje zmienną i w sposób, który jest niezgodny z zamierzeniem wyświetlenia kolejnych liczb parzystych. Po pierwszym przebiegu pętli, wartość i wzrasta do 3, przez co wyświetlana jest liczba 3 oraz każda kolejna liczba jest pomijana. Efektem końcowym będzie wyświetlenie liczb 3, 5, 7, 9, 11, co również jest sprzeczne z wymaganym rezultatem. Każda z tych pętli pokazuje, jak ważne jest zrozumienie działania konstrukcji pętli oraz odpowiedniego ustalania warunków i inkrementacji w kontekście programowania w JavaScript.

Pytanie 5

W tabeli artykuły wykonano następujące instrukcje dotyczące uprawnień użytkownika jan: ```GRANT ALL PRIVILEGES ON artykuly TO jan``` ```REVOKE SELECT, UPDATE ON artykuly FROM jan``` Po zrealizowaniu tych instrukcji pracownik jan będzie uprawniony do

A. edycji danych oraz przeglądania tabeli
B. tworzenia tabeli i wypełniania jej danymi
C. wyświetlania zawartości tabeli
D. tworzenia tabeli oraz edytowania danych w niej
Jan, po wydaniu polecenia GRANT ALL PRIVILEGES ON artykuly TO jan, miał pełne uprawnienia do wszystkich operacji na tabeli artykuly. Jednakże, po wykonaniu polecenia REVOKE SELECT, UPDATE ON artykuly FROM jan, jego uprawnienia do przeglądania danych (SELECT) oraz aktualizacji danych (UPDATE) zostały odebrane. Oznacza to, że Jan zachowuje możliwość tworzenia nowych tabel oraz wypełniania ich danymi (INSERT), ponieważ nie został ograniczony w tym zakresie. Możliwości tworzenia tabeli i wypełniania jej danymi są częścią przyznanych uprawnień. W standardzie SQL, komendy GRANT i REVOKE służą odpowiednio do przyznawania i odbierania uprawnień użytkownikom. W praktycznym zastosowaniu, takie operacje są kluczowe dla zarządzania bezpieczeństwem i dostępem do danych w bazach danych, co zapobiega nieautoryzowanym zmianom i zabezpiecza integralność danych.

Pytanie 6

Jakie są właściwe etapy tworzenia bazy danych?

A. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
B. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
C. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
D. Zdefiniowanie celu, normalizacja, stworzenie tabel, utworzenie relacji
W procesie tworzenia bazy danych kluczowym pierwszym krokiem jest określenie celu, który pozwala zrozumieć, jakie dane będą gromadzone oraz jakie operacje będą na nich wykonywane. Następnie przystępuje się do stworzenia tabel, które stanowią fundamentalne elementy bazy danych. Każda tabela powinna odpowiadać określonym kategoriom danych, a ich struktura powinna być dobrze przemyślana, aby umożliwić efektywne przechowywanie, zarządzanie oraz odczytywanie informacji. Po utworzeniu tabel ważne jest, aby zdefiniować relacje między nimi, co umożliwia integrację danych oraz ich logiczne powiązanie. Na końcu procesu następuje normalizacja, która ma na celu eliminację redundancji danych oraz zwiększenie integralności bazy, co przekłada się na jej wydajność. Przykładem może być stworzenie bazy danych dla systemu zarządzania uczelnią, gdzie tabele odpowiadają za studentów, kursy i wykładowców. Właściwe zdefiniowanie relacji pomoże w zrozumieniu, którzy studenci uczą się na jakich kursach, a normalizacja zabezpieczy przed powielaniem danych.

Pytanie 7

Określ, w jaki sposób należy odnosić się do pliku default.css, jeżeli index.html znajduje się bezpośrednio w folderze Strona?

Ilustracja do pytania
A. <link rel="stylesheet" type="text/css" href="./style/default.css" />
B. <link rel="stylesheet" type="text/css" href="c:/style/default.css" />
C. <link rel="stylesheet" type="text/css" href="...\style\default.css" />
D. <link rel="stylesheet" type="text/css" href="c:\style/default.css" />
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia struktury ścieżek w HTML. Stosowanie absolutnych ścieżek takich jak c:/style/default.css jest niezalecane, ponieważ lokalizuje plik na konkretnym dysku twardym, co jest niepraktyczne w przypadku aplikacji webowych, które mogą być przenoszone na serwery o różnych strukturach katalogów. Użycie backslashów \ w ścieżkach takich jak ...\style\default.css jest błędne w kontekście URL, ponieważ slash / jest standardem w adresach URL, zgodnie z normami RFC. Backslashy używa się w systemach Windows do ścieżek lokalnych, ale w kontekście HTML powoduje to problemy z prawidłowym zaadresowaniem zasobów. Stosowanie ścieżek absolutnych lub błędnej składni w odwołaniach może prowadzić do sytuacji, w których pliki CSS nie są ładowane, co skutkuje nieprawidłowym wyświetlaniem strony. Dlatego istotne jest zrozumienie, że relatywne ścieżki zapewniają większą kompatybilność i elastyczność projektu webowego, co jest esencją dobrych praktyk w programowaniu frontendowym. Utrzymywanie spójnej i poprawnej struktury ścieżek jest kluczem do efektywnego zarządzania zasobami w aplikacjach internetowych.

Pytanie 8

Która z funkcji zdefiniowanych w języku PHP zwraca jako wynik połowę kwadratu wartości podanej jako argument?

A. function licz($a) {echo $a/2;}
B. function licz($a) {echo $a*$a/2;}
C. function licz($a) {return echo $a*$a/2;}
D. function licz($a) {return echo $a/2;}
Pierwsza z niepoprawnych odpowiedzi, która wykorzystuje 'echo', nie zwraca wartości, a jedynie ją wyświetla. Funkcje w PHP powinny zwracać wartości za pomocą 'return', aby umożliwić ich dalsze wykorzystanie. W przypadku drugiej odpowiedzi, również wykorzystanie 'echo' uniemożliwia zwrócenie wartości funkcji. Ostatecznie, operacja $a*$a/2 jest poprawna, ale brak 'return' sprawia, że nie możemy jej użyć w dalszej części kodu. Ostatnia z odpowiedzi zawiera składnię 'return echo', która jest niepoprawna w języku PHP, ponieważ 'return' i 'echo' nie mogą być używane razem w ten sposób. W PHP funkcja 'return' służy do zwracania wartości, a 'echo' do wyświetlania. Dlatego, nawet jeśli wyrażenie '$a*$a/2' jest poprawne, to sposób jego zwracania jest błędny. Te aspekty techniczne są kluczowe dla zrozumienia, jak funkcje powinny być prawidłowo implementowane w PHP, aby mogły być efektywne i zgodne z konwencjami języka.

Pytanie 9

Deklaracja z właściwością background-attachment: scroll sprawia, że

A. grafika tła będzie widoczna w prawym górnym rogu strony
B. tło strony będzie przesuwane razem z zawartością tekstową
C. grafika tła będzie się powtarzać (kafelki)
D. tło strony zostanie zamocowane, a tekst będzie się poruszał
Właściwość CSS 'background-attachment: scroll' oznacza, że tło elementu będzie przewijane w równym tempie z treścią na stronie. Kiedy użytkownik przegląda stronę i przewija ją w dół lub w górę, tło przesuwa się razem z zawartością, co tworzy wrażenie głębokości i dynamiki. Przykładem zastosowania tej właściwości może być strona internetowa z długim tekstem, gdzie tło, takie jak kolor lub obraz, jest częścią estetyki projektu, ale nie powinno być statyczne. Warto zauważyć, że można to osiągnąć, ustawiając 'background-attachment' na 'scroll', co jest najczęściej stosowanym ustawieniem. W standardach CSS3 'background-attachment' ma cztery możliwe wartości: 'scroll', 'fixed', 'local', oraz 'inherit'. Stosowanie 'scroll' jest najbardziej intuicyjne i wspiera responsywność, ponieważ zmienia się w zależności od interakcji użytkownika z zawartością. To podejście jest zgodne z praktykami projektowania stron internetowych, które kładą nacisk na użytkownika i interaktywność.

Pytanie 10

Termin „front-end” w kontekście budowy stron internetowych odnosi się do

A. bazy danych zawierającej informacje prezentowane na stronie
B. działania skryptów i aplikacji realizowanych po stronie serwera WWW
C. organizacji danych na serwerze WWW
D. interfejsu witryny internetowej powiązanego z technologiami działającymi w przeglądarkach internetowych
Pojęcie „front-end” odnosi się do części aplikacji webowej, która jest widoczna dla użytkownika i z którą użytkownik może wchodzić w interakcję. Front-end obejmuje wszystkie elementy interfejsu użytkownika, takie jak układ graficzny, teksty, obrazki oraz wszelkie interaktywne elementy, takie jak przyciski i formularze. Technologie używane w front-endzie obejmują HTML, CSS oraz JavaScript, które są standardami stosowanymi w tworzeniu stron internetowych. Dobrze zaprojektowany front-end nie tylko wygląda estetycznie, ale również jest responsywny, co oznacza, że dostosowuje się do różnych rozmiarów ekranów, co jest istotne w dobie urządzeń mobilnych. Przykłady zastosowania tej wiedzy obejmują tworzenie stron internetowych, rozwijanie aplikacji webowych oraz optymalizację doświadczeń użytkowników poprzez testy A/B oraz analizy UX. Dobre praktyki w front-endzie to także dostępność (wcag) oraz optymalizacja wydajności, co przekłada się na lepsze doświadczenia użytkowników oraz wyższe pozycje w wynikach wyszukiwania.

Pytanie 11

Przemiana kodu źródłowego wykonanego przez programistę w zrozumiały dla maszyny kod maszynowy to

A. wdrażanie
B. kompilowanie
C. analizowanie błędów
D. wykonywanie
Kompilowanie to kluczowy proces w inżynierii oprogramowania, który polega na przekształceniu kodu źródłowego napisanego w języku wysokiego poziomu (takim jak C++, Java czy Python) na kod maszynowy zrozumiały dla komputera. Proces ten jest krytyczny, ponieważ komputery nie są w stanie interpretować kodu źródłowego bezpośrednio. Kompilator przeprowadza analizę syntaktyczną i semantyczną kodu, optymalizuje go, a następnie generuje kod maszynowy. W praktyce, kompilacja pozwala na wykrycie błędów w kodzie przed jego uruchomieniem, co jest zgodne z najlepszymi praktykami programistycznymi. Kompilatory często oferują dodatkowe narzędzia, takie jak debugery, które umożliwiają programistom śledzenie błędów w kodzie. W kontekście dużych projektów, dobrym podejściem jest również wykorzystanie systemów CI/CD, które automatyzują proces kompilacji i testowania, co znacząco przyspiesza cykl rozwoju oprogramowania oraz zwiększa jego jakość.

Pytanie 12

Aby stworzyć tabelę, należy wykorzystać polecenie

A. CREATE DATABASE
B. CREATE TABLE
C. ALTER TABLE
D. INSERT INTO
Polecenie CREATE TABLE to naprawdę ważna sprawa, jeśli chodzi o budowanie struktury bazy danych w systemach DBMS. Dzięki niemu możemy stworzyć nową tabelę w bazie, nadając jej różne nazwy i typy danych dla kolumn. Na przykład, można użyć takiego zapisu: CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50), data_zatrudnienia DATE); W efekcie mamy tabelę 'pracownicy' z czterema kolumnami, a 'id' to nasz klucz główny. W praktyce, poprawne stworzenie tabeli to podstawa dalszej pracy z danymi, więc warto się postarać, żeby schematy baz danych były dobrze zaprojektowane, w zgodzie z zasadami normalizacji. To zmniejsza zbędne powtarzanie danych i sprawia, że potem łatwiej nimi zarządzać. Pamiętaj, żeby przed użyciem CREATE TABLE dobrze zaplanować strukturę bazy danych, bo to pomoże w wydajności i elastyczności aplikacji. Fajnie jest też dodać różne ograniczenia, jak klucze obce, żeby mieć pewność, że nasze dane są w porządku.

Pytanie 13

W języku PHP przypisano zmiennej $a wartość 1. Porównanie $a === $b zwraca true, gdy zmienna $b ma przypisaną wartość

A. '1'
B. *1
C. 1 lub '1'
D. '1' lub "1"
Zmienna $a, zainicjowana wartością 1, jest typu integer i porównując ją z inną zmienną $b za pomocą operatora identyczności (===), należy zwrócić szczególną uwagę na typ i wartość obu zmiennych. Wiele osób myli operator porównania identyczności z operatorem równości (==), który nie wymaga, aby typy były zgodne. Z tego powodu odpowiedzi takie jak 1 lub '1' mogą wydawać się poprawne, jednak w przypadku porównania identyczności, istotne jest, aby zmienne były tego samego typu. Odpowiedź, która sugeruje wartość 1, jest błędna, ponieważ porównuje wartość integer z potencjalnie innym typem bez uwzględnienia konwersji typów, co prowadzi do niejednoznaczności. Z kolei odpowiedź sugerująca wartość '1' nie do końca zdaje sobie sprawę, że chociaż string '1' jest zgodny w kontekście równości, nie spełnia warunków identyczności w dosłownym sensie, gdyż typy są różne. Typowe błędy myślowe prowadzące do takich nieprawidłowych wniosków często wynikają z założenia, że PHP automatycznie wykonuje konwersje typów, co nie zawsze jest pożądane. Dla programistów istotne jest zrozumienie różnic między typami oraz kiedy stosować odpowiednie operatory, aby zapewnić poprawność logiki aplikacji i uniknąć potencjalnych błędów, które mogą prowadzić do trudnych do zdiagnozowania problemów w przyszłości.

Pytanie 14

Jaką funkcję spełnia atrybut value w polu formularza XHTML?

<input type="text" name="name" value="value">
A. określa domyślną wartość
B. czyni pole jedynie do odczytu
C. określa nazwę pola
D. definiuje maksymalną długość pola
Atrybut value w polu formularza XHTML określa domyślną wartość, jaka pojawi się w polu tekstowym po załadowaniu strony. Jest to przydatne, gdy chcemy zasugerować użytkownikowi domyślne dane lub ułatwić wprowadzanie informacji. Przykładem może być formularz logowania, gdzie atrybut value jest używany do wczytywania zapisanego wcześniej adresu e-mail użytkownika. W formularzach XHTML stosuje się ten atrybut zgodnie z dobrymi praktykami, aby poprawić doświadczenie użytkownika i ułatwić interakcję z witryną. Warto zauważyć, że w przypadku innych typów pól formularzy, na przykład checkbox lub radio, atrybut value określa wartość, która zostanie przesłana, gdy dane pole zostanie zaznaczone. W kontekście dobrych praktyk należy także pamiętać o zabezpieczeniach formularzy, takich jak walidacja danych po stronie serwera, aby zapobiec potencjalnym lukom bezpieczeństwa wynikającym z nieoczekiwanych danych wejściowych. Stosowanie atrybutu value w sposób przemyślany pozwala również na lepszą integrację formularzy z mechanizmami autouzupełniania przeglądarek, co jest korzystne dla użytkowników

Pytanie 15

W tabeli zwierzeta znajdują się pola: nazwa, gatunek, gromada, cechy oraz dlugosc_zycia. Aby uzyskać listę nazw zwierząt, które dożywają przynajmniej 20 lat i są ssakami, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 OR gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20;
Twoja odpowiedź jest jak najbardziej na miejscu, bo spełnia te dwa ważne wymagania z pytania: pokazuje nazwy zwierząt, które żyją przynajmniej 20 lat i są ssakami. Użycie AND w klauzuli WHERE sprawia, że w wynikach są tylko te zwierzęta, które pasują do obu kryteriów. To zapytanie ma swoje zastosowanie, na przykład w analizach zoologicznych, gdzie długość życia niektórych gatunków ssaków może być kluczowa, zwłaszcza w kontekście ochrony i badań nad ich ekologią. Z osobistego doświadczenia mogę powiedzieć, że dobrze jest stosować takie zapytania w bazach danych, bo to zapewnia lepszą efektywność i wydajność w przetwarzaniu danych. Generalnie w tworzeniu zapytań SQL warto zawsze ustalać konkretne warunki w klauzuli WHERE, żeby uniknąć niechcianych wyników i zmniejszyć obciążenie bazy danych.

Pytanie 16

Znacznik <ins> w HTML jest używany do wskazywania

A. cytowanego fragmentu tekstu
B. tekstu, który został dodany
C. tekstu, który został usunięty
D. tekstu, który został przeformatowany
Wiesz, znacznik <ins> w HTML to coś, co używamy, żeby pokazać tekst dodany w stosunku do poprzedniej wersji dokumentu. To mega przydatne, zwłaszcza kiedy edytujemy różne treści, bo od razu widać, co się zmieniło. Zastosowanie tego znacznika można znaleźć w różnych dokumentach, jak blogi czy umowy, gdzie ważne jest, żeby pokazać, co się zmieniło w treści. Zgodnie z tym, co mówią wytyczne W3C, używanie znaczników semantycznych, jak <ins>, sprzyja lepszej dostępności tekstów i ułatwia ich zrozumienie przez wyszukiwarki oraz technologie wspierające. Przykładowo, gdy robisz poprawki w dokumencie, właśnie dzięki <ins> możesz wyróżnić nowe informacje, co sprawi, że użytkownicy łatwiej ogarną, co się zmieniło. Dobrze jest też dodać odpowiedni styl CSS, żeby nadać tym elementom wyraźniejszy wygląd.

Pytanie 17

Zapytanie: SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje zwrócenie:

A. imion, nazwisk oraz numerów PESEL osób mających mniej niż 18 lat
B. imion, numerów PESEL oraz wieku osób, których wiek wynosi 18 lub 30 lat
C. imion, numerów PESEL oraz wieku osób w przedziale od 18 do 30 lat
D. imion, numerów PESEL oraz wieku osób, które mają więcej niż 30 lat
W przypadku pierwszej opcji, wybór imion, nazwisk i numerów PESEL osób w wieku poniżej 18 lat jest błędny, ponieważ zapytanie wykorzystuje klauzulę WHERE z operatorem IN, co oznacza, że filtruje jedynie osoby, które są w wieku równym 18 lub 30 lat, a nie poniżej 18 lat. Warto zauważyć, że taka interpretacja zapytania ignoruje zasadniczą logikę działania operatora IN. Z kolei trzecia opcja, dotycząca wybrania imion, numerów PESEL i wieku osób z przedziału od 18 do 30 lat, również mija się z prawdą, gdyż operator IN nie obejmuje osób, które mają wiek pomiędzy 18 a 30 lat, a jedynie osoby, które mają 18 lub 30 lat. Ostatnia opcja, dotycząca wyboru osób powyżej 30 lat, jest całkowicie sprzeczna z zapytaniem, które w ogóle nie bierze pod uwagę takiej grupy wiekowej. Warto przy tym zauważyć, że typowe błędy myślowe, które prowadzą do takich nieprawidłowych wniosków, mogą wynikać z niepełnego zrozumienia działania operatorów w SQL oraz nieznajomości zasad filtracji danych. W praktyce, znajomość specyfiki poszczególnych operatorów oraz ich zastosowań w różnych kontekstach jest kluczowa dla poprawnego formułowania zapytań i analizy danych.

Pytanie 18

Dostępna jest tabela uczniowie, która zawiera pól id, imie, nazwisko, data_ur (format rrrr-mm-dd). Które zapytanie w SQL wyświetli tylko imiona oraz nazwiska uczniów urodzonych w roku 2001?

A. SELECT * FROM uczniowie WHERE data_ur == 2001-%-%
B. SELECT * FROM uczniowie WHERE data_ur like "2001"
C. SELECT imie, nazwisko FROM uczniowie WHERE data_ur like "2001-%-%"
D. SELECT id, imie, nazwisko, data_ur FROM uczniowie WHERE data_ur like "2001-*-*"
Wybrana odpowiedź jest prawidłowa, ponieważ wykorzystuje odpowiednią składnię SQL do wyszukania imion i nazwisk uczniów, których data urodzenia przypada na rok 2001. Użycie klauzuli 'LIKE' wraz z wzorcem '2001-%-%' jest kluczowe – znak '%' w SQL reprezentuje dowolny ciąg znaków (w tym również brak znaków). Oznacza to, że jakiekolwiek miesiące i dni mogą występować po roku '2001', co jest zgodne z formatem daty 'rrrr-mm-dd'. Tego typu zapytania są używane w praktycznych zastosowaniach w bazach danych, na przykład przy tworzeniu raportów dotyczących uczniów, którzy urodzili się w określonym roku. Umożliwia to efektywne zarządzanie danymi i przyspiesza proces analizy, co jest zgodne z dobrymi praktykami w zakresie przetwarzania danych. W kontekście SQL, selekcja konkretnych kolumn, takich jak 'imie' i 'nazwisko', jest bardziej efektywna niż pobieranie wszystkich danych, co może być istotne w przypadku większych zestawów danych. Warto również zwrócić uwagę na znaczenie odpowiedniego formatowania dat, co jest kluczowe dla poprawności zapytań do baz danych.

Pytanie 19

Która definicja CSS wskazuje na formatowanie nagłówka h1: tekst z przekreśleniem, z odstępami między słowami wynoszącymi 10 px oraz w kolorze czerwonym?

Ilustracja do pytania
A. B
B. D
C. A
D. C
Odpowiedź A jest w porządku, bo dobrze odpowiada na to, co pytanie wymaga. Deklaracja 'text-decoration: overline;' dodaje linię nad tekstem, a nie pod nim. Właściwie to mega ważne, bo można łatwo pomylić nadkreślenie z podkreśleniem. Plus, 'word-spacing: 10px;' ustawia fajny odstęp między wyrazami, co sprawia, że nagłówki wyglądają lepiej i są bardziej czytelne. A jak ustawiłeś kolor tekstu na 'red', to wszystko jest super zgodne z tym, co miało być w zadaniu. Używanie takich definicji CSS to standard w tworzeniu stron, bo dobrze stylizowane nagłówki pomagają w organizacji treści i poprawiają wrażenia użytkowników. Pamiętaj, że sensowne i dobrze zdefiniowane style CSS to nie tylko wygoda, ale też ułatwiają późniejsze poprawki dla innych programistów.

Pytanie 20

Tabela o nazwie naprawy zawiera kolumny: klient, czyNaprawione. Jakie polecenie należy użyć, aby wykasować rekordy, w których pole czyNaprawione ma wartość prawdziwą?

A. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
B. DELETE FROM naprawy;
C. DELETE naprawy WHERE czyNaprawione = TRUE;
D. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
W przypadku drugiej odpowiedzi, 'DELETE naprawy WHERE czyNaprawione = TRUE;', brak jest kluczowego słowa 'FROM', co jest niezgodne z syntaksą SQL. W standardzie SQL polecenie DELETE zawsze wymaga określenia tabeli, z której mają zostać usunięte dane, za pomocą słowa kluczowego 'FROM'. Bez tego, zapytanie będzie generować błąd. Kolejna odpowiedź, 'DELETE FROM naprawy;', jest niepoprawna, ponieważ usuwa wszystkie rekordy z tabeli 'naprawy', co zwykle nie jest pożądanym działaniem. To podejście może prowadzić do utraty wszystkich zapisów, co w praktyce jest katastrofalne, jeśli nie wykonano wcześniej kopii zapasowej. Czwarta odpowiedź, 'DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;', błędnie sugeruje, że można wskazać konkretne kolumny do usunięcia, co jest także niezgodne z zasadami SQL. W SQL nie można wskazać pojedynczych kolumn do usunięcia, to całe rekordy są usuwane. Typowe błędy myślowe, które prowadzą do takich nieprawidłowych wniosków, to brak znajomości podstawowych zasad działania zapytań SQL oraz mylenie koncepcji usuwania danych z modyfikowaniem ich zawartości.

Pytanie 21

Jakie jest znaczenie powtarzania w zdefiniowanym stylu CSS?

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. obrazu umieszczonego w tle strony w pionie
B. tła każdego z paragrafów
C. obrazu umieszczonego przy użyciu znacznika img
D. obrazu umieszczonego w tle strony w poziomie
Odpowiedź dotycząca powtarzania rysunku umieszczonego w tle strony w pionie jest prawidłowa ponieważ w załączonej definicji stylu CSS użyto właściwości background-repeat z wartością repeat-y Wartość ta oznacza że obrazek tła będzie powtarzał się tylko w kierunku pionowym natomiast w kierunku poziomym pozostaje pojedynczym obrazem Funkcja ta jest szczególnie przydatna gdy chcemy stworzyć efekt kontynuacji wzoru lub tekstury na całej wysokości strony ale nie potrzebujemy powtarzania w poziomie Dzięki takim właściwościom CSS jak background-image i background-repeat projektanci stron internetowych mają dużą elastyczność w rozmieszczaniu i stylizacji tła Co więcej pozwala to na optymalizację zasobów w przypadku gdy używane są małe pliki graficzne które zajmują mniej miejsca na serwerze niż duże obrazy Zrozumienie tych mechanizmów jest kluczowe dla tworzenia efektywnych i estetycznych projektów zgodnych z dobrymi praktykami branżowymi takimi jak unikanie zbędnych powtórzeń w wyglądzie strony i dostosowywanie się do różnorodnych rozdzielczości ekranów

Pytanie 22

Który z wymienionych formatów umożliwia zapisanie materiału wideo z towarzyszącą ścieżką dźwiękową?

A. WAV
B. MP4
C. AAC
D. WMA
Odpowiedź MP4 jest poprawna, ponieważ jest to jeden z najpopularniejszych formatów kontenerowych używanych do przechowywania wideo wraz z dźwiękiem. Format MP4 (MPEG-4 Part 14) pozwala na efektywne kodowanie wideo, przy jednoczesnym zachowaniu wysokiej jakości obrazu i dźwięku. Umożliwia on przechowywanie różnorodnych strumieni danych, w tym wideo, audio, a także tekstu, co czyni go bardzo wszechstronnym rozwiązaniem dla twórców multimediów. Przykładowo, format MP4 jest często używany w aplikacjach do strumieniowania wideo, takich jak YouTube, oraz w systemach zarządzania treścią (CMS) do publikacji materiałów wideo w Internecie. Dzięki kompresji zgodnej z kodekiem H.264 dla wideo i AAC dla audio, pliki MP4 są względnie małe, co ułatwia ich przesyłanie i przechowywanie. To czyni format MP4 standardem branżowym w produkcji filmowej, telewizyjnej oraz w aplikacjach mobilnych i webowych.

Pytanie 23

Przedstawione zapytanie SQL przydziela uprawnienie SELECT

GRANT SELECT ON hurtownia.*
TO 'sprzedawca'@'localhost';
A. do wszystkich tabel w bazie hurtownia
B. do wszystkich kolumn w tabeli hurtownia
C. dla użytkownika root na serwerze sprzedawca
D. dla użytkownika root na serwerze localhost
Polecenie GRANT SELECT ON hurtownia.* pozwala na przyznanie prawa do wykonywania operacji SELECT na wszystkich tabelach w bazie danych hurtownia. Użycie symbolu * po nazwie bazy danych wskazuje na wszystkie tabele w tej konkretnej bazie. Jest to standardowe podejście w systemach zarządzania bazami danych takich jak MySQL, gdzie specyfikacja bazy danych z symbolem * oznacza pełny zakres tabel. Praktycznie oznacza to, że użytkownik ma możliwość przeglądania danych ze wszystkich tabel bez możliwości modyfikacji czy usuwania danych. Takie rozwiązanie stosowane jest często w przypadku ról użytkowników, którzy potrzebują jedynie dostępu do raportowania i analizy danych. Dobre praktyki w zakresie zarządzania uprawnieniami zalecają przydzielanie dokładnie takich praw, jakie są potrzebne do wykonania określonych zadań, co ogranicza ryzyko niepożądanych zmian w bazie danych. Warto zaznaczyć, że precyzyjne zarządzanie prawami dostępu jest kluczowe dla bezpieczeństwa danych w każdej organizacji.

Pytanie 24

Wskaż wynik wykonania skryptu napisanego w języku PHP

<?php
$tablica = array(10 => "Perl", 14 => "PHP", 20 => "Python", 22 => "Pike");
asort($tablica);
print("<pre>");
print_r($tablica);
print("</pre>");
?>
A
Array
(
    [14] => PHP
    [10] => Perl
    [22] => Pike
    [20] => Python
)
B
Array
(
    [0] => PHP
    [1] => Perl
    [2] => Pike
    [3] => Python
)
C
Array
(
    [0] => Python
    [1] => Pike
    [2] => Perl
    [3] => PHP
)
D
Array
(
    [10] => Perl
    [14] => PHP
    [20] => Python
    [22] => Pike
)
A. C.
B. D.
C. B.
D. A.
Widzę, że Twoja odpowiedź nie do końca trafiła w sedno. Wygląda na to, że masz jakieś nieporozumienia z tym skryptem PHP i funkcją asort(). Pamiętaj, że ten skrypt tworzy tablicę asocjacyjną z czterema elementami i potem sortuje je funkcją asort(). Ta funkcja działa na wartościach i zachowuje klucze, więc po sortowaniu powinno być: `[14] => PHP`, `[10] => Perl`, `[22] => Pike`, `[20] => Python`. Jak masz inną kolejność, to może sugerować, że coś poszło nie tak z sortowaniem. Nie zapominaj, że w PHP jest sporo funkcji sortujących, każda z nich ma swoje miejsce i zastosowanie, więc warto to poćwiczyć, żeby lepiej zrozumieć temat.

Pytanie 25

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. najmniejszej.
B. największej.
C. parzystej.
D. nieparzystej.
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 26

Aby usunąć nienaturalne wygładzanie ukośnych krawędzi w grafice rastrowej, czyli tak zwane schodkowanie, konieczne jest wykorzystanie filtru

A. pikselizacji
B. gradientu
C. antyaliasingu
D. szumu
Antyaliasing to technika stosowana w grafice rastrowej, która ma na celu wygładzenie krawędzi obiektów, co z kolei redukuje efekt schodkowania. Schodkowanie, zwane również jagged edges, to zjawisko, w którym krawędzie linii wyglądają na poszarpane i nienaturalne, co jest szczególnie zauważalne przy nachylonych liniach lub krzywych. Antyaliasing działa na zasadzie wygładzania krawędzi poprzez mieszanie kolorów pikseli na granicy obiektu z kolorami pikseli tła, co tworzy iluzję płynności. Przykładem zastosowania antyaliasingu jest grafika komputerowa w grach, gdzie zapewnia on bardziej realistyczny obraz, a także przy renderowaniu grafik wektorowych do rastrowych. W standardach branżowych, takich jak OpenGL i DirectX, zastosowanie antyaliasingu jest zalecane, aby poprawić jakość wizualną i doświadczenia użytkowników. Zastosowanie technik takich jak MSAA (Multisample Anti-Aliasing) lub FXAA (Fast Approximate Anti-Aliasing) jest powszechną praktyką w nowoczesnych aplikacjach graficznych.

Pytanie 27

W sekcji nagłówka dokumentu HTML umieszczono ```Strona miłośników psów``` Zawarty tekst będzie widoczny

A. w treści witryny, na banerze witryny
B. na pasku tytułu w przeglądarce
C. w treści witryny, w pierwszym ukazanym nagłówku
D. w polu adresowym, za wprowadzonym adresem URL
Odpowiedź jest poprawna, ponieważ zawartość tagu <title> w kodzie HTML określa tytuł dokumentu, który jest wyświetlany na pasku tytułu przeglądarki. Tytuł ten jest kluczowym elementem SEO, ponieważ wpływa na sposób, w jaki użytkownicy postrzegają stronę w wynikach wyszukiwania. W praktyce, dobrze dobrany tytuł zwiększa szansę na kliknięcia i poprawia widoczność strony w internecie. Warto pamiętać, że tytuł powinien być krótki, zwięzły i zawierać najważniejsze słowa kluczowe, aby skutecznie komunikować, o czym jest strona. Dobre praktyki zalecają, aby długość tytułu nie przekraczała 60 znaków, aby uniknąć jego obcięcia w wynikach wyszukiwania. Dodatkowo, tytuł powinien być unikalny dla każdej podstrony, co ułatwia użytkownikom i wyszukiwarkom zrozumienie zawartości witryny.

Pytanie 28

Aby w JavaScript wykonać wymienione kroki, należy w znaczniku <script> umieścić kod

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
    następnie po zatwierdzeniu

2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
    wartość pobrana z okna "Kwalifikacja: ..."
A. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
B. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
C. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A);
D. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
Gratulacje, wybrałeś prawidłową odpowiedź! Kiedy chcemy wykonać interakcje z użytkownikiem poprzez okno dialogowe w JavaScript, używamy funkcji 'prompt()'. Ta funkcja wyświetla okno dialogowe z komunikatem tekstowym, polem do wprowadzania danych i przyciskami OK / Anuluj. Wartość wprowadzona przez użytkownika jest następnie zwracana przez funkcję 'prompt()'. W tym przypadku, używamy funkcji 'prompt()' do pobrania kwalifikacji od użytkownika. Następnie, używamy funkcji 'document.write()' do wyświetlenia zdobytej kwalifikacji na stronie internetowej. Operator '+' jest używany do łączenia łańcuchów znaków (stringów) w JavaScript, co pozwala na połączenie wartości wprowadzonej przez użytkownika z komunikatem 'Kwalifikacja: '. Pamiętaj, że choć 'document.write()' jest łatwym sposobem na wyświetlanie wyników na stronie, jest to metoda zarezerwowana głównie do testowania i debugowania, a nie do użytku produkcyjnego, ze względu na możliwość nadpisania zawartości strony.

Pytanie 29

Podczas projektowania formularza konieczne jest wstawienie kontrolki, która odnosi się do innej kontrolki w odrębnym formularzu. Taka operacja w bazie danych Access jest

A. możliwa dzięki ustawieniu ścieżki do kontrolki w atrybucie "Źródło kontrolki"
B. niemożliwa
C. możliwa tylko wtedy, gdy są to dane numeryczne
D. niemożliwa w każdym trybie poza trybem projektowania
Odpowiedź jest poprawna, ponieważ w Microsoft Access można odwoływać się do kontrolek w innych formularzach poprzez ustawienie właściwości 'Źródło kontrolki'. Ta właściwość umożliwia wskazanie skąd ma pochodzić wartość, która ma być wyświetlana w danej kontrolce. Przykładowo, jeśli mamy formularz z danymi klientów, a chcemy w innym formularzu wyświetlić imię i nazwisko danego klienta, możemy użyć odpowiedniego odwołania do kontrolki w formularzu klientów. Ważne jest, aby ścieżka do kontrolki była poprawna, co oznacza, że musi być zgodna z nazwą formularza oraz nazwą kontrolki. Użycie właściwości 'Źródło kontrolki' jest zgodne z najlepszymi praktykami projektowania baz danych, ponieważ umożliwia elastyczne i dynamiczne łączenie danych. Zrozumienie tego procesu jest kluczowe dla efektywnego projektowania złożonych aplikacji bazodanowych z wieloma formularzami oraz relacjami między nimi.

Pytanie 30

W języku PHP do zmiennej a przypisano tekst, w którym wielokrotnie występuje słowo Kowalski. W celu zamiany wszystkich wystąpień słowa Kowalski na słowo Nowak w zmiennej a, należy użyć polecenia

A. $a = str_replace('Nowak', 'Kowalski', $a);
B. $a = str_rep('Kowalski', 'Nowak', $a);
C. $a = str_replace('Kowalski', 'Nowak', $a);
D. $a = str_replace('Nowak', 'Kowalski');
Odpowiedź $a = str_replace('Kowalski', 'Nowak', $a); jest na pewno dobra! Używasz funkcji str_replace, która w PHP jest mega przydatna do zamiany tekstu. W tym przypadku, pierwsza część to słowo, które chcesz zmienić ('Kowalski'), druga to nowy tekst, którym je zastępujesz ('Nowak'), a trzecia to zmienna, na której pracujesz. Funkcja zwraca nowy tekst, gdzie wszystkie 'Kowalski' stały się 'Nowakami'. To super rozwiązanie, bo str_replace działa na wszystkich przypadkach podanego słowa, co sprawia, że jest naprawdę użyteczna w przetwarzaniu tekstów. Na przykład, jak a zawiera 'Kowalski, Kowalski i Kowalski', to po tym poleceniu dostaniesz 'Nowak, Nowak i Nowak'. Użycie tej funkcji to świetna praktyka w programowaniu, bo pisanie przejrzystego i efektywnego kodu to podstawa.

Pytanie 31

Na podstawie przypisania wartości do zmiennych zapisanych w języku PHP można stwierdzić, że

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. zmienna1 i zmienna3 są tego samego typu.
B. Wszystkie zmienne są tego samego typu.
C. zmienna1 i zmienna2 są tego samego typu.
D. zmienna2 i zmienna3 są tego samego typu.
Gratulacje! Wybrałeś poprawną odpowiedź, czyli zmienna2 i zmienna3 są tych samych typów. W kodzie PHP wartość zmiennej1 była liczbą całkowitą (int), natomiast wartość zmiennej2 była ciągiem znaków (string). Zmienna3 natomiast była wynikiem rzutowania zmiennej1 na typ string. Stąd wynika, że zmienna2 i zmienna3 są obie typu string. Rzutowanie to operacja konwersji jednego typu danych na inny, co jest powszechną praktyką w programowaniu. Używane jest, na przykład, kiedy chcemy porównać dwa różne typy danych lub chcemy je połączyć. Pamiętaj jednak, że PHP jest językiem o dynamicznych typach, co oznacza, że typ zmiennej może ulec zmianie w trakcie wykonania skryptu. Dlatego zawsze warto mieć na uwadze typy zmiennych, z którymi pracujesz.

Pytanie 32

Która z poniższych zasad nie przyczyni się pozytywnie do poprawy czytelności kodu?

A. Należy dodawać komentarze w bardziej skomplikowanych fragmentach kodu
B. Nazwy zmiennych muszą odzwierciedlać ich funkcję
C. Każda linia kodu powinna zawierać jedynie jedną instrukcję
D. Kod powinien być napisany bez wcięć i zbędnych przejść do nowej linii
Sugerowanie, że kod powinien być napisany bez wcięć i zbędnych enterów prowadzi do poważnych problemów w zakresie czytelności i zrozumienia kodu. Zasady dotyczące dobrego formatowania kodu, w tym odpowiednie wcięcia, są fundamentem dobrej praktyki programistycznej. Bez wcięć, struktura kodu staje się chaotyczna, a jego logika trudna do śledzenia, co może prowadzić do błędów w obliczeniach lub nieprawidłowego działania programów. Ponadto, programiści często współpracują w zespołach, gdzie zrozumienie kodu przez innych członków zespołu jest kluczowe. Wprowadzenie wcięć oraz użycie zbędnych enterów do oddzielania funkcji czy bloków kodu zwiększa przejrzystość, co jest zgodne z najlepszymi praktykami, takimi jak Clean Code. Dobre nazewnictwo zmiennych i wprowadzanie komentarzy to ważne aspekty, ale nie wystarczą one do zapewnienia pełnej czytelności bez odpowiedniego formatowania. W praktyce, kod, który wygląda na chaotyczny i nieposortowany, może odstraszać innych programistów i prowadzić do błędów podczas dalszej pracy nad projektem. Dlatego należy unikać praktyk, które mogą podważać fundamenty czytelności kodu.

Pytanie 33

Jakie pojęcia są wykorzystywane do opisu interfejsu użytkownika serwisu internetowego?

A. Przetwarzanie danych, system zarządzania treścią, projektowanie informacji
B. Wysyłanie zapytań do bazy, skrypty PHP
C. Przyciski, menu, interakcja użytkownika z aplikacją
D. Szkic strony, mapa witryny, diagram przepływu informacji
Wybór odpowiedzi związanej z "Szkicem strony, diagramem witryny, diagramem przepływu informacji" wskazuje na pewne nieporozumienie dotyczące definicji interfejsu użytkownika. Szkice i diagramy są narzędziami służącymi do planowania i wizualizacji struktury i funkcji strony internetowej, ale same w sobie nie definiują, co stanowi interfejs użytkownika. Te pojęcia dotyczą bardziej fazy projektowania i architektury informacji, co jest istotne, ale nie odnosi się do interakcji z użytkownikiem. Podobnie, odpowiedzi związane z "wysyłaniem kwerend do bazy" oraz "skryptami PHP" również nie definiują interfejsu użytkownika. Te elementy dotyczą backendu, czyli serwera i logiki aplikacji, które są oddzielone od bezpośredniego doświadczenia użytkownika. Często pojawia się mylne założenie, że wszystkie aspekty technologii webowej są ze sobą powiązane, jednak istotne jest rozróżnienie pomiędzy frontendem a backendem. Właściwe zrozumienie tych ról jest kluczowe dla efektywnego projektowania stron internetowych, gdzie interfejs użytkownika odgrywa fundamentalną rolę w osiąganiu zamierzonych celów użytkownika i organizacji. Właściwa separacja tych koncepcji jest istotna dla efektywności procesu projektowania i tworzenia stron internetowych.

Pytanie 34

W języku HTML zapisano formularz. Który z efektów działania kodu będzie wyświetlony przez przeglądarkę zakładając, że w pierwsze pole użytkownik przeglądarki wpisał wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 3.
B. Efekt 4.
C. Efekt 2.
D. Efekt 1.
Dobra robota! Odpowiedź, którą wybrałeś, to Efekt 2. W formularzu HTML masz różne elementy, które służą do zbierania danych od użytkownika. Tutaj mamy pole tekstowe i dwa checkboxy. Jak wpiszesz 'Przykładowy text' w pole tekstowe i wyślesz formularz, to właśnie to się wyświetli w przeglądarce. Efekt 2 pokazuje, że pole tekstowe ma wpisany tekst i dwa niezaznaczone checkboxy. Dlatego to jest zgodne z tym, co zobaczysz w przeglądarce. A to oznacza, że Efekt 2 jest poprawną odpowiedzią. Właściwie to wszystko jest zgodne z tym, jak HTML działa, czyli jak powinny wyglądać i działać różne elementy formularza.

Pytanie 35

W kodzie HTML znajdziemy formularz. Jaki rezultat zostanie pokazany przez przeglądarkę, jeśli użytkownik wprowadził do pierwszego pola wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 2
B. Efekt 1
C. Efekt 4
D. Efekt 3
Efekt 2 jest prawidłowy, ponieważ odpowiada dokładnemu odwzorowaniu HTML. Kod zawiera element <textarea> oraz dwa pola typu checkbox. Przeglądarka wyświetla pole tekstowe o określonym rozmiarze, gdzie użytkownik może wpisać tekst. Checkboxy pozwalają na wybór opcji, niezależnych od siebie, co odróżnia je od radiobuttonów. Przykładowy text wpisany w pole <textarea> zostanie wyświetlony w miejscu tego pola, co jest dobrze widoczne na obrazie odpowiadającym efektowi 2. Warto pamiętać, że <textarea> stosuje się do dłuższych form tekstu, co jest standardem w projektowaniu formularzy. Użycie checkboxów jest zgodne z dobrymi praktykami, gdy użytkownik może zaznaczyć dowolną liczbę opcji. Jest to ważne, aby dostarczyć użytkownikowi intuicyjny interfejs do wprowadzania i wyboru danych. W HTML ważne jest, aby kod był semantyczny i zgodny z oczekiwaniami użytkowników, co ten przykład dobrze ilustruje. Formularze powinny być zawsze testowane pod kątem użyteczności i poprawności w różnych przeglądarkach.

Pytanie 36

Jaką maksymalną ilość znaczników <td> można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, w której nie ma złączeń komórek ani wiersza nagłówkowego?

A. 6
B. 9
C. 3
D. 12
Tabela o trzech kolumnach i trzech wierszach składa się z 9 komórek, co oznacza, że maksymalna liczba znaczników <td>, które można zastosować w takiej tabeli, wynosi 9. Każda komórka tabeli jest reprezentowana przez znacznik <td>, dlatego musisz pomnożyć liczbę kolumn (3) przez liczbę wierszy (3), co daje 3 * 3 = 9. To podejście odzwierciedla najlepsze praktyki w tworzeniu tabel HTML, które zakładają, że każda komórka powinna być jednoznacznie określona. Warto pamiętać, że unikanie złączeń komórek upraszcza strukturę tabeli, co ułatwia przetwarzanie przez różne systemy oraz poprawia dostępność strony. Przykład zastosowania to np. wyświetlanie danych o produktach w sklepie internetowym, gdzie każda informacja o produkcie, taka jak nazwa, cena i opis, znajduje się w osobnej komórce. Zgodnie z wytycznymi W3C, stosowanie semantycznych znaczników poprawia SEO i ułatwia nawigację.

Pytanie 37

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

A. function myFunction() { }
B. def myFunction() { }
C. void myFunction() { }
D. func myFunction() { }
Deklaracja funkcji w JavaScript zaczyna się od słowa kluczowego <code>function</code>, po którym następuje nazwa funkcji, nawiasy okrągłe oraz nawiasy klamrowe obejmujące ciało funkcji. Przykładowo, <code>function myFunction() { }</code> tworzy funkcję o nazwie <em>myFunction</em>, która nie przyjmuje żadnych parametrów i nie wykonuje żadnych operacji, gdyż ciało funkcji jest puste. W JavaScript funkcje są fundamentalnym elementem, który pozwala na tworzenie modularnego i wielokrotnego użycia kodu. Można je wywoływać w dowolnym miejscu programu, co ułatwia zarządzanie złożonością kodu. Zgodnie z dobrymi praktykami, nazwy funkcji powinny być opisowe, aby jasno wskazywały na ich działanie. Warto również pamiętać, że w JavaScript funkcje są pierwszoklasowymi obiektami, co oznacza, że mogą być przypisywane do zmiennych, przekazywane jako argumenty do innych funkcji, czy zwracane jako wyniki funkcji. To sprawia, że JavaScript jest bardzo elastycznym językiem do programowania złożonych aplikacji webowych.

Pytanie 38

Na przedstawionym diagramie ER zapis FK1 oznacza

Ilustracja do pytania
A. klucz podstawowy.
B. klucz obcy.
C. relację 1:N.
D. relację 1:1.
Na diagramach ER oznaczenia typu FK1 zwykle odnoszą się do kluczy obcych, a nie do samej relacji ani do kluczy podstawowych. Łatwo się tu pomylić, bo obok tego symbolu widać też graficzne oznaczenie relacji 1:N między tabelami Klienci i Zamówienia, więc część osób automatycznie kojarzy podpis z typem połączenia. Tymczasem relacja 1:1 czy 1:N jest przedstawiana linią i odpowiednimi znacznikami przy końcach (kreska, „gałązki”, kółko), natomiast skróty PK i FK pojawiają się wewnątrz tabel i opisują role konkretnych kolumn. PK to primary key, czyli klucz podstawowy – unikalny identyfikator w danej tabeli. Na diagramie widać go przy NR_klienta w tabeli Klienci oraz przy ID_Zamówienia w tabeli Zamówienia. Oznaczenie FK1 przy NR_klienta w tabeli Zamówienia nie może więc oznaczać kolejnego klucza podstawowego ani samej relacji, tylko właśnie klucz obcy, który wskazuje na PK w innej tabeli. Częsty błąd polega na mieszaniu pojęć „relacja 1:N” z „kluczem obcym”. Relacja 1:N jest pojęciem konceptualnym: mówi, że jeden klient może mieć wiele zamówień. Klucz obcy to implementacja tej relacji w fizycznym modelu bazy: konkretna kolumna, która przechowuje wartość klucza podstawowego z drugiej tabeli. Innymi słowy, FK jest narzędziem, a 1:N opisem zależności. Kiedy ktoś interpretuje FK1 jako relację 1:1 albo 1:N, miesza warstwę symboliki linii z opisem kolumn. Dobra praktyka w projektowaniu baz danych i w narzędziach CASE jest taka, że PK i FK stoją zawsze przy nazwach atrybutów, a typ relacji rozczytujemy z grafiki między encjami, nie z tych skrótów. Zrozumienie tej różnicy jest kluczowe, bo potem w SQL dokładnie tak samo rozdzielamy definicję struktury tabel (PRIMARY KEY, FOREIGN KEY) od logicznej interpretacji, ile rekordów może być po każdej stronie relacji.

Pytanie 39

W celu wykonania kopii bazy danych biblioteka w systemie MySQL należy w konsoli użyć polecenia

A. mysqlduplicate –u root biblioteka > kopia.sql
B. backupmysql -u root biblioteka kopia.sql
C. copymysql –u root biblioteka kopia.sql
D. mysqldump -u root biblioteka > kopia.sql
Poprawne polecenie do wykonania kopii bazy danych MySQL to „mysqldump -u root biblioteka > kopia.sql”. Narzędzie mysqldump jest oficjalnym, standardowym programem dostarczanym razem z serwerem MySQL i właśnie ono służy do tworzenia logicznych kopii zapasowych baz danych. Działa tak, że łączy się z serwerem MySQL, odczytuje strukturę tabel oraz dane, a następnie generuje plik tekstowy zawierający instrukcje SQL typu CREATE TABLE i INSERT. Taki plik można potem w prosty sposób wgrać z powrotem, np. poleceniem „mysql -u root biblioteka < kopia.sql”. To jest bardzo wygodne w praktyce, bo backup jest przenośny między serwerami, wersjami MySQL, a nawet można go edytować ręcznie w razie potrzeby. W tym poleceniu „-u root” oznacza użytkownika bazy danych, czyli logujemy się jako użytkownik root. W realnym środowisku produkcyjnym zwykle używa się konta z mniejszymi uprawnieniami i dodatkowo opcji „-p”, żeby podać hasło (np. „mysqldump -u backup_user -p biblioteka > kopia.sql”). Nazwa „biblioteka” to nazwa bazy, którą archiwizujemy. Znak „>” to przekierowanie powłoki systemowej (bash, cmd itp.), które zapisuje wynik działania programu mysqldump do pliku „kopia.sql” zamiast wypisywać go na ekran. To przekierowanie nie jest częścią MySQL, tylko mechanizmem systemu operacyjnego, co czasem bywa mylące dla początkujących. Moim zdaniem warto od razu wyrabiać sobie dobre nawyki: używać mysqldump regularnie, najlepiej w skryptach cron (Linux) lub Harmonogramie zadań (Windows), trzymać kopie na innym serwerze i testować odtwarzanie. W praktyce administracji serwerami i bezpieczeństwa danych takie kopie logiczne są podstawą procedur disaster recovery. W dokumentacji MySQL mysqldump jest wymieniony jako jedno z głównych narzędzi do backupu i migracji baz danych, więc znajomość dokładnie tego polecenia to absolutna podstawa pracy z MySQL w środowiskach webowych i nie tylko.

Pytanie 40

W relacyjnych bazach danych dane zapisywane są w

A. kolejkach.
B. listach.
C. wektorach.
D. tabelach.
W relacyjnych bazach danych dane są przechowywane w tabelach, bo cały model relacyjny opiera się właśnie na pojęciu tabeli (relacji). Tabela to po prostu uporządkowany zbiór wierszy i kolumn: kolumny opisują strukturę danych (np. id, imię, nazwisko, email), a wiersze przechowują konkretne rekordy, czyli pojedyncze wpisy. Każda kolumna ma określony typ danych, np. INTEGER, VARCHAR, DATE, co pozwala silnikowi bazy danych kontrolować poprawność zapisów i optymalizować zapytania. Tak to działa w typowych systemach jak MySQL, PostgreSQL, SQL Server czy Oracle – wszędzie podstawową jednostką przechowywania danych użytkownika jest tabela. W praktyce, kiedy projektujesz bazę dla sklepu internetowego, tworzysz tabele takie jak users, products, orders, order_items. Potem za pomocą języka SQL wykonujesz na tych tabelach operacje SELECT, INSERT, UPDATE, DELETE. Klucze główne i obce też odnoszą się do tabel – klucz główny jednoznacznie identyfikuje wiersz w tabeli, a klucz obcy wskazuje na wiersz w innej tabeli, tworząc relację między nimi. To właśnie dzięki tabelom i relacjom możesz łączyć dane z wielu miejsc, np. pobrać zamówienia wraz z danymi klienta jednym zapytaniem. Moim zdaniem warto od początku myśleć o tabeli jak o odpowiedniku arkusza w Excelu, tylko z dużo bardziej rygorystycznymi zasadami i możliwością zaawansowanych zapytań. Standard SQL zakłada, że operujemy na relacjach, a w implementacjach relacja = tabela. Dlatego odpowiedź „tabelach” jest zgodna zarówno z teorią modelu relacyjnego, jak i z praktyką codziennej pracy z bazami danych.