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: 29 kwietnia 2026 12:53
  • Data zakończenia: 29 kwietnia 2026 13:03

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Aby udostępnić aplikację PHP w sieci, konieczne jest przesłanie jej plików źródłowych na serwer z wykorzystaniem protokołu

A. NNTP
B. SMTP
C. HTTP
D. FTP
FTP, czyli File Transfer Protocol, to protokół, który umożliwia przesyłanie plików między komputerem lokalnym a serwerem w sieci. Jego główną zaletą jest możliwość transferu dużych zbiorów danych oraz zarządzania plikami na serwerze. Aby zamieścić aplikację PHP w Internecie, niezbędne jest skopiowanie plików źródłowych na serwer, a FTP jest najczęściej stosowanym sposobem do tego celu. W praktyce, aby skorzystać z FTP, użytkownik potrzebuje klienta FTP, takiego jak FileZilla, który pozwala na łatwe połączenie z serwerem poprzez podanie adresu serwera, nazwy użytkownika i hasła. Po nawiązaniu połączenia, użytkownik może przesyłać pliki, zmieniać ich nazwy, a także organizować struktury katalogów. Protokół FTP korzysta z portów 20 i 21 do przesyłania danych i komunikacji kontrolnej, co czyni go standardowym rozwiązaniem dla web developerów. Użycie FTP jest zgodne ze standardami IETF, a jego funkcjonalność jest szeroko dokumentowana w RFC 959, co podkreśla jego niezawodność i stabilność jako narzędzia do transferu plików w środowiskach webowych.

Pytanie 2

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Progowanie.
B. Barwienie.
C. Krzywe.
D. Inwersja.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 3

Klucz obcy w tabeli jest ustanawiany w celu

A. opracować formularz do wprowadzania danych do tabeli
B. wiązać go z innymi kluczami obcymi w tabeli
C. zapewnić jednoznaczną identyfikację rekordu w tabeli
D. określić relację 1..n powiązującą go z kluczem głównym innej tabeli
Klucz obcy (foreign key) w bazach danych jest fundamentalnym elementem w modelowaniu relacji pomiędzy tabelami. Jego podstawowym celem jest zdefiniowanie relacji 1..n pomiędzy tabelą, w której się znajduje, a kluczem głównym innej tabeli. Oznacza to, że jeden rekord w tabeli, która zawiera klucz główny, może być powiązany z wieloma rekordami w tabeli z kluczem obcym. Na przykład, w systemie zarządzania zamówieniami, tabela 'Klienci' może mieć klucz główny 'ID_klienta', a tabela 'Zamówienia' może zawierać klucz obcy 'ID_klienta', co pozwala na powiązanie wielu zamówień z jednym klientem. To nie tylko ułatwia strukturalne organizowanie danych, ale również wspiera integralność referencyjną; czyli zapewnia, że każdy wpis w tabeli 'Zamówienia' odnosi się do istniejącego klienta. W praktyce, dobre praktyki projektowania baz danych zalecają używanie kluczy obcych do zachowania spójności danych i ułatwienia ich analizy, co odzwierciedla większą efektywność w strumieniu pracy oraz w raportowaniu.

Pytanie 4

Instrukcja w języku SQL GRANT ALL PRIVILEGES ON klienci TO pracownik

A. przyznaje uprawnienie grupie klienci dla tabeli pracownik
B. cofa wszystkie uprawnienia pracownikowi do tabeli klienci
C. przeniesie uprawnienia z grupy klienci do użytkownika pracownik
D. przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
Polecenie SQL "GRANT ALL PRIVILEGES ON klienci TO pracownik" jest używane do nadawania pełnych uprawnień do określonej tabeli, w tym przypadku do tabeli "klienci", użytkownikowi o nazwie "pracownik". To polecenie jest kluczowe w zarządzaniu dostępem w bazach danych, ponieważ pozwala administratorom na precyzyjne kontrolowanie, kto i w jakim zakresie może modyfikować dane. W praktyce, nadawanie uprawnień za pomocą komendy GRANT jest standardową praktyką w zarządzaniu bazami danych, pozwalającą na delegowanie odpowiedzialności oraz przydzielanie ról, co zwiększa bezpieczeństwo danych. Warto również zauważyć, że standardową praktyką jest ograniczanie uprawnień do niezbędnego minimum, stosując zasady najmniejszych uprawnień (principle of least privilege). Przykładowo, zamiast nadawania pełnych uprawnień, można przyznać użytkownikowi jedynie prawo do odczytu, co ogranicza ryzyko nieautoryzowanych zmian w danych.

Pytanie 5

Aby wskazać miejsce, w którym ma nastąpić złamanie linii tekstu, na przykład w zmiennej typu string, należy użyć znaku

A. \n
B. \t
C. \\
D. \b
Odpowiedzi, które nie są poprawne, to znaki '\\', '\b' oraz '\t', które mają różne znaczenia w kontekście programowania. Znak '\\' służy jako znak ucieczki, który pozwala na wykorzystanie innych znaków w ciągu, np. '\\n' jako dosłowne przedstawienie znaku nowej linii. Nie pozwala on na łamanie linii, a jedynie na jego reprezentację. Z kolei '\b' oznacza znak powrotu karetki (backspace) i jest używany do usuwania ostatniego znaku w tekście, a nie do wprowadzania nowej linii. Nie pełni więc funkcji łamania linii w tekstach. Natomiast '\t' reprezentuje tabulator, który wprowadza odstęp w poziomie, a nie w pionie, co również nie jest zgodne z definicją łamania linii. Tabulator jest użyteczny do wyrównywania tekstu w dokumentach, ale nie tworzy nowej linii. W związku z tym, każde z tych znaków ma swoje specyficzne zastosowanie, ale żadne z nich nie jest poprawnym rozwiązaniem dla definicji łamania linii tekstu.

Pytanie 6

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

<title>Strona o psach</title>
A. Zostanie umieszczony w treści strony, na samym czubku.
B. Pojawi się na karcie dokumentu w przeglądarce.
C. Jest fakultatywny w kontekście HTML 5 i nie jest wymagany w dokumencie.
D. Stanowi jedynie informację dla robotów wyszukiwania i nie jest widoczny w przeglądarce.
Odpowiedzi, które sugerują, że zawartość znacznika <title> nie jest widoczna w przeglądarce czy że nie ma znaczenia dla zawartości strony, są po prostu błędne. Zapis <title> to kluczowy element w HTML, który informuje użytkownika o tematyce strony, ale też wpływa na to, jak jest postrzegana przez wyszukiwarki. Tytuł nie jest w treści strony, a w nagłówku karty przeglądarki oraz w wynikach wyszukiwania. Ignorowanie tytułu to częsty błąd w myśleniu o SEO i projektowaniu stron. Można też usłyszeć, że <title> jest opcjonalny, co jest nieprawdą, bo brak tego elementu może sprawić, że użytkownicy i roboty wyszukiwarek będą mieli problem z identyfikacją strony. Tytuł musi być w kodzie HTML, żeby zwiększyć użyteczność i dostępność strony. Warto też pamiętać, że <title> nie jest tylko dla robotów, ale przede wszystkim ma pomóc użytkownikom zrozumieć, co mogą znaleźć na stronie.

Pytanie 7

Jaką wartość wyświetli standardowe wyjście dla podanego w ramce fragmentu kodu w języku C++?

Ilustracja do pytania
A. 0
B. 2
C. 3
D. 32
W analizowanym fragmencie programu funkcja obliczenia modyfikuje swój argument x poprzez operację x %= 3 co oznacza że oblicza resztę z dzielenia x przez 3. W przypadku x równego 32 reszta z dzielenia przez 3 wynosi 2. Następnie instrukcja x++ zwiększa wartość x o 1 co daje wynik końcowy równy 3. Wiedza o operatorach arytmetycznych takich jak % oraz o inkrementacji ++ jest kluczowa przy programowaniu w C++. Operator % jest powszechnie używany do określania parzystości liczb lub cyklicznych wzorców w algorytmach. Zrozumienie jak te operacje wpływają na przepływ danych w programie pozwala unikać błędów logicznych i poprawiać wydajność kodu. Inkrementacja jest również istotna w wielu strukturach sterujących takich jak pętle co czyni ją niezbędnym elementem w rozwiązywaniu problemów algorytmicznych. Tego typu operacje są fundamentem w standardach programowania ponieważ pozwalają na precyzyjne kontrolowanie wartości zmiennych w trakcie wykonywania programów. Warto ćwiczyć te koncepcje aby w pełni wykorzystać potencjał języka C++ szczególnie w kontekście optymalizacji i wydajności aplikacji.

Pytanie 8

Określ właściwą sekwencję stylów CSS, biorąc pod uwagę ich priorytet w formatowaniu elementów strony WWW?

A. Styl zewnętrzny, Wydzielone bloki, Styl lokalny
B. Styl lokalny, Styl wewnętrzny, Styl zewnętrzny
C. Styl wewnętrzny, Styl zewnętrzny, Rozciąganie stylu
D. Rozciąganie stylu, Styl zewnętrzny, Styl lokalny
Analizując inne odpowiedzi, można zauważyć, że w wielu przypadkach nie uwzględniają one podstawowych zasad kaskadowości CSS. Przykładowo, pierwsza odpowiedź sugeruje, że styl wewnętrzny powinien mieć pierwszeństwo przed zewnętrznym, co jest niepoprawne. W rzeczywistości, style zewnętrzne, które są ładowane z zewnętrznych arkuszy stylów, mogą być nadpisywane przez style lokalne i wewnętrzne, ale nie powinny być ignorowane w kontekście hierarchii. Następnie, opcja odnosząca się do wydzielonych bloków w kontekście stylów CSS nie ma podstaw teoretycznych, ponieważ nie istnieje uznawana terminologia w standardach CSS, która opisywałaby 'wydzielone bloki'. Każdy styl w CSS ma swoje miejsce w kolejności kaskadowej, a style lokalne powinny być definiowane jako najwyższe w hierarchii. Może to prowadzić do nieporozumień, zwłaszcza w przypadku początkujących programistów, którzy mogą nie rozumieć, dlaczego ich style zewnętrzne nie działają zgodnie z oczekiwaniami. Ważne jest, aby pamiętać, że odpowiednia specyfikacja i zrozumienie, które style mają pierwszeństwo, są kluczowe dla skutecznego i efektywnego projektowania stron internetowych. W przeciwnym razie, projektanci mogą napotkać problemy z nieoczekiwanym zachowaniem stylów oraz trudnościami w utrzymaniu i aktualizacji kodu CSS.

Pytanie 9

Jaką wartość zwróci funkcja ```empty($a);``` w języku PHP, gdy zmienna ```$a``` będzie miała wartość liczbową równą 0?

A. 0
B. FALSE
C. TRUE
D. NULL
Odpowiedzi, które wskazują, że funkcja empty() zwraca 0, FALSE lub NULL, są mylne z kilku powodów. Po pierwsze, wartość 0 w PHP to po prostu liczba i nie jest interpretowana jako pusta. Zmienne, które mają wartość 0 są traktowane jako fałszywe w kontekście logicznym, ale nie są uznawane za puste zgodnie z definicją funkcji empty(). Kiedy przyjmujemy, że empty($a) zwraca 0, w rzeczywistości mylimy funkcję empty() z innymi, które operują na wartościach liczbowych. Podobnie, FALSE jako wynik również nie jest poprawny; chociaż 0 jest uważane za fałszywe, empty() zwraca TRUE, a nie FALSE, gdy zmienna jest pusta. Także NULL to typ danych, a w kontekście empty() jest uznawany za pusty, ale nie jest to wynik, jaki uzyskalibyśmy dla zmiennej $a = 0. Właściwe zrozumienie zwrotów z funkcji PHP oraz typów danych jest kluczowe dla skutecznego programowania. Pomocne jest, aby programiści upewniali się, że korzystają z odpowiednich funkcji do określenia pustych wartości, a w przypadku empty() nie mogą pomylić jej działania z innymi funkcjami, które operują na wartościach logicznych lub liczbowych.

Pytanie 10

Jakie dane zostaną wyświetlone po wykonaniu podanych poleceń?

bool gotowe = true;
cout << gotowe;
A. tak
B. nie
C. 1
D. 0
W języku C++ zmienne typu bool mogą przyjmować jedynie dwie wartości: true i false. Gdy zmienna typu bool zostanie wypisana przy użyciu standardowego strumienia wyjściowego cout, to domyślnie wartości true i false są konwertowane na liczby całkowite 1 i 0 odpowiednio. Dlatego w zaprezentowanym fragmencie kodu zmiennej gotowe przypisano wartość true, a następnie jej zawartość została wypisana przy użyciu cout. Wynikiem tego działania będzie wyświetlenie liczby 1 na ekranie. Jest to zgodne z domyślnym zachowaniem cout w przypadku zmiennych typu bool w C++. Aby modyfikować to zachowanie i bezpośrednio wypisywać słowa true lub false, można użyć specjalnej flagi boolalpha, która sprawia, że wartości logiczne są reprezentowane jako tekst. Jednak w podanym przykładzie nie użyto tej flagi, co prowadzi do wypisania wartości liczbowej. Takie podejście jest powszechne w wielu aplikacjach, gdzie wartości logiczne muszą być szybko zamieniane na wartości liczbowe, na przykład w obliczeniach binarnych czy przy operacjach bitowych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla programistów tworzących efektywne i czytelne aplikacje w C++.

Pytanie 11

W relacyjnym modelu danych, krotki definiuje się jako

A. wiersze tabeli wyłączając wiersz nagłówkowy, w którym znajdują się nazwy kolumn
B. liczbę rekordów w tabeli
C. wszystkie kolumny tabeli, które reprezentują atrybuty obiektu
D. wszystkie wiersze w tabeli łącznie z wierszem nagłówkowym
W relacyjnych bazach danych ważne jest, żeby wiedzieć, czym różnią się wiersze od kolumn. Jak ktoś twierdzi, że krotkami są wszystkie wiersze tabeli razem z nagłówkiem, to nie do końca tak jest. Wiersz nagłówkowy ma znaczenie, bo pokazuje strukturę danych, ale nie wchodzi w skład krotek. Z kolei określanie krotek jako liczby rekordów w tabeli jest mało precyzyjne, bo to nie oddaje tego, co naprawdę oznaczają krotki. Kolejna błędna odpowiedź, która mówi, że krotkami są wszystkie kolumny, może wprowadzać w błąd, bo kolumny definiują atrybuty, ale same w sobie nie przechowują danych. W kontekście baz danych, krotki są kluczowe dla zrozumienia, jak te dane są poukładane, a ich dobre zdefiniowanie sprawia, że zarządzanie informacjami staje się łatwiejsze. Żeby unikać błędów przy projektowaniu baz danych, trzeba pamiętać, że krotki to zestawy wartości atrybutów, które można porównywać i obrabiać w SQL. Takie podejście jest ważne, żeby poprawnie tworzyć zapytania i zarządzać danymi w różnych systemach baz danych.

Pytanie 12

Kwerenda umożliwiająca modyfikację wielu rekordów lub przeniesienie ich przy pomocy jednego działania, określana jest jako kwerenda

A. funkcjonalnej
B. wybierająca
C. parametrycznej
D. krzyżowej
Kwerenda funkcjonalna to naprawdę przydatne narzędzie w bazach danych, które pozwala na wprowadzanie zmian w wielu rekordach na raz. To świetnie działa, jeśli masz dużo danych do przetworzenia, bo oszczędza czas i zasoby. Przykładem, który przychodzi mi do głowy, jest aktualizacja statusu zamówień w sklepie online. Można na przykład zmienić wszystkie zamówienia z "oczekujące" na "zrealizowane" jednym kliknięciem. To jest zgodne z dobrymi praktykami zarządzania danymi, bo utrzymuje porządek i spójność. A jeśli mówimy o standardach, kwerendy funkcjonalne są zgodne z SQL i jego różnymi rozszerzeniami, co ułatwia integrację z innymi systemami. Ważne jest tylko, żeby dobrze zabezpieczać dane, by przypadkiem nie usunąć lub nie zmienić czegoś ważnego. W branży często podkreśla się, że trzeba testować i walidować operacje na bazach, żeby wszystko działało jak należy.

Pytanie 13

Jaki opis dotyczy metody POST służącej do przesyłania formularza?

A. Jest zalecana, gdy przesyłane są dane wrażliwe, na przykład hasło, numer telefonu czy numer karty kredytowej
B. Dane są przesyłane przez URL, co czyni je widocznymi dla użytkownika
C. Może być dodana jako zakładka w przeglądarce internetowej
D. Ma dodatkowe ograniczenia związane z długością URL - maksymalnie 255 znaków
Metoda POST jest jedną z dwóch najpopularniejszych metod przesyłania danych w protokole HTTP, obok metody GET. W przeciwieństwie do GET, dane przesyłane za pomocą POST nie są widoczne w adresie URL, co czyni ją bardziej odpowiednią do przesyłania informacji poufnych, takich jak hasła, numery kart kredytowych czy dane osobowe. Dzięki temu, że POST umieszcza dane w ciele żądania HTTP, nie ma ograniczenia długości, które ma miejsce przy GET, co oznacza, że można przesyłać znacznie większe ilości danych. Przykładowe zastosowanie metody POST to formularze rejestracyjne i logowania na stronach internetowych, gdzie bezpieczeństwo użytkownika jest kluczowe. W praktyce, wiele aplikacji webowych korzysta z POST do przesyłania danych do serwera, a dane te mogą być następnie przetwarzane lub zapisywane w bazie danych. Warto również zwrócić uwagę na standardy bezpieczeństwa, takie jak użycie HTTPS, które szyfruje dane przesyłane przy użyciu POST, zwiększając ochronę przed podsłuchiwaniem.

Pytanie 14

W SQL, aby zabezpieczyć kwerendę CREATE USER przed utworzeniem konta, jeżeli ono już istnieje, należy użyć składni

A. CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
B. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
C. CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
D. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
Odpowiedzi takie jak 'CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' są nieprawidłowe, ponieważ nie zawierają mechanizmu do weryfikacji istnienia użytkownika przed jego utworzeniem. W przypadku, gdy konto o nazwie 'anna' już istnieje, wykona się próba utworzenia go ponownie, co skutkuje błędem. Tego typu podejście nie tylko narusza praktyki zarządzania bazami danych, ale również wprowadza potencjalne problemy z bezpieczeństwem, gdyż mogą wystąpić niezamierzone konsekwencje w przypadku nadpisania istniejących uprawnień. Odpowiedź 'CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' także jest błędna, gdyż takiej składni nie definiuje standard SQL. 'CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' myli pojęcie zastępowania użytkownika, gdyż nie zawsze jest to pożądane. Użytkownicy mogą mieć różne uprawnienia, a ich usunięcie lub nadpisanie może prowadzić do problemów z dostępem. Takie myślenie często prowadzi do błędnych założeń, że można swobodnie zarządzać użytkownikami bez przemyślanej strategii, co może skutkować poważnymi lukami w bezpieczeństwie oraz problemami z audytem. Zrozumienie, jak ważne jest stosowanie odpowiednich praktyk przy zarządzaniu kontami użytkowników w bazach danych, jest kluczowe dla zapewnienia ich integralności oraz ochrony danych.

Pytanie 15

W języku SQL dodanie nowej kolumny z nazwą miejscowości do istniejącej tabeli pracownicy umożliwia kwerenda

A. ALTER TABLE pracownicy ADD miejscowosc VARCHAR(100);
B. ALTER TABLE pracownicy ADD miejscowosc FLOAT(2);
C. CREATE TABLE pracownicy ADD miejscowosc FLOAT(2);
D. ALTER TABLE pracownicy DROP COLUMN miejscowosc;
Żeby dobrze zrozumieć to zadanie, trzeba rozdzielić trzy różne obszary: modyfikację istniejącej tabeli, tworzenie nowej tabeli oraz usuwanie elementów z tabeli. W pytaniu chodzi konkretnie o dodanie nowej kolumny do już istniejącej tabeli pracownicy. To od razu sugeruje użycie instrukcji ALTER TABLE z klauzulą ADD, bo właśnie ta kombinacja jest standardowym sposobem modyfikowania struktury tabeli w SQL. Jednym z częstych nieporozumień jest użycie nieodpowiedniego typu danych. W niektórych odpowiedziach pojawia się typ FLOAT(2) dla nazwy miejscowości. FLOAT jest typem liczbowym zmiennoprzecinkowym, używanym do przechowywania wartości numerycznych, np. cen, pomiarów czy wyników obliczeń. Nazwa miasta to typowe dane tekstowe, czyli powinna być przechowywana w typie znakowym, takim jak VARCHAR czy ewentualnie CHAR. Próba użycia typu liczbowego do przechowywania tekstu jest po prostu sprzeczna z logiką projektowania baz danych i dobrymi praktykami normalizacji, bo utrudnia walidację i późniejsze operacje na danych. Inny błąd to sięganie po instrukcję DROP COLUMN. DROP w kontekście ALTER TABLE oznacza usunięcie kolumny z tabeli, a nie jej dodanie. Jeśli ktoś nieuważnie czyta polecenie lub myli słowa kluczowe, może mu się wydawać, że DROP „coś zmienia w strukturze”, ale kierunek jest dokładnie odwrotny do wymaganego – kolumna miejscowosc zostałaby usunięta (o ile w ogóle istnieje), a nie dodana. W praktyce administracji bazą jest to bardzo niebezpieczna pomyłka, bo DROP COLUMN usuwa dane bezpowrotnie. Zdarza się też pomylenie CREATE TABLE z ALTER TABLE. CREATE TABLE służy do zakładania całkowicie nowej tabeli, a nie do modyfikacji istniejącej. Składnia CREATE TABLE nie przewiduje klauzuli ADD w środku, tylko od razu listę kolumn w nawiasach. Próba napisania czegoś w stylu CREATE TABLE pracownicy ADD ... jest po prostu składniowo błędna w SQL i żadna sensowna baza nie przyjmie takiego polecenia. To typowy błąd osób, które pamiętają, że „ADD dodaje kolumnę”, ale nie łączą tego poprawnie z kontekstem ALTER TABLE. Z mojego doświadczenia dobrą praktyką jest zawsze zadanie sobie dwóch pytań: czy tabela już istnieje, oraz czy chcę coś dodać, usunąć czy zmienić. Jeśli tabela istnieje i coś dokładamy – używamy ALTER TABLE ... ADD ..., dobierając typ danych zgodny z charakterem informacji. W tym zadaniu wszystkie błędne odpowiedzi łamią jedną z tych zasad: albo używają złego typu (FLOAT zamiast tekstu), albo złego słowa kluczowego (DROP zamiast ADD), albo złej instrukcji (CREATE TABLE zamiast ALTER TABLE).

Pytanie 16

Jaką właściwość należy zastosować w selektorze CSS, aby osiągnąć efekt rozrzucenia liter?

A. letter-spacing
B. letter-transform
C. text-decoration
D. text-space
Właściwość CSS, która pozwala na uzyskanie efektu rozstrzelenia liter, to 'letter-spacing'. Używając tej właściwości, możemy dostosować odstęp pomiędzy poszczególnymi literami w tekście, co jest szczególnie przydatne w projektowaniu typograficznym oraz w celu zwiększenia czytelności tekstu. Wartość 'letter-spacing' może być określona w jednostkach takich jak piksele (px), em lub rem, co daje projektantom elastyczność w dostosowywaniu odstępów do różnych rozmiarów czcionek. Na przykład, ustawiając 'letter-spacing: 2px;', uzyskujemy dodatkowy odstęp 2 pikseli między literami, co sprawia, że tekst staje się bardziej przejrzysty. Zgodnie z zaleceniami W3C, stosowanie 'letter-spacing' powinno być rozważane w kontekście całego projektu, aby nie zaburzać harmonii wizualnej. Użycie tej właściwości jest istotnym elementem w planowaniu stylów CSS, który wpływa na estetykę oraz funkcjonalność stron internetowych.

Pytanie 17

SELECT miasto, AVG(pensja) FROM pracownicy GROUP BY miasto;
Podane zapytanie wybierze:
A. nazwy miast bez powtórzeń oraz średnią pensję dla każdego z nich.
B. nazwy miast bez powtórzeń oraz sumę pensji dla każdego z nich.
C. nazwy miast z powtórzeniami oraz średnią pensję dla każdego z nich.
D. nazwy miast z powtórzeniami oraz sumę pensji dla każdego z nich.
Zapytanie z klauzulą GROUP BY i funkcją AVG bywa mylone z sumowaniem danych lub zwykłym wybieraniem rekordów jeden po drugim. W tym konkretnym przypadku bardzo łatwo pomylić średnią z sumą albo nie zauważyć, że grupowanie usuwa powtórzenia wartości w kolumnie grupującej. Warto to uporządkować. Funkcja AVG(pensja) jest klasyczną funkcją agregującą, której zadaniem jest obliczenie średniej arytmetycznej z wartości w danej grupie rekordów. Nie dodaje ona wszystkich pensji „na kupę” tak jak SUM, tylko dzieli ich sumę przez liczbę rekordów w grupie. Jeżeli ktoś spodziewa się sumy, to patrzy bardziej w stronę SUM(pensja), a nie AVG(pensja). To jest typowy błąd: widzimy funkcję agregującą i automatycznie myślimy „to pewnie suma”, bez dokładnego przeczytania nazwy funkcji. Druga kwestia to powtórzenia miast. Klauzula GROUP BY miasto mówi silnikowi bazy danych: pogrupuj wszystkie wiersze według wartości w kolumnie miasto. W efekcie wszystkie rekordy z tym samym miastem są łączone w jedną grupę. Dla każdej takiej grupy zwracany jest dokładnie jeden wiersz wyniku. To oznacza, że w rezultacie zapytania nie ma powtórzonych nazw miast, nawet jeśli w tabeli jest tysiąc pracowników z Warszawy czy Krakowa. Częsty błąd myślowy polega na przenoszeniu intuicji z prostego SELECT bez GROUP BY, gdzie miasto faktycznie się powtarza, na zapytanie z agregacją, gdzie logika jest już inna. W odpowiedziach, które sugerują „z powtórzeniami”, ignorowane jest działanie GROUP BY. Z kolei odpowiedzi mówiące o „sumie pensji” mylą AVG z SUM, co w praktyce może prowadzić do bardzo poważnych błędów analitycznych – wyobraź sobie raport płacowy, w którym zamiast średniej ktoś pokaże sumę wynagrodzeń i na tej podstawie będzie porównywał miasta. Moim zdaniem dobrą praktyką jest zawsze czytanie zapytania fragment po fragmencie: najpierw jakie kolumny są wybierane, potem jakie funkcje agregujące są użyte, a na końcu po czym następuje grupowanie. Taka metoda pozwala uniknąć właśnie takich nieporozumień i lepiej rozumieć, co dokładnie zwróci baza danych, co jest kluczowe przy pracy z realnymi systemami produkcyjnymi.

Pytanie 18

Strona internetowa została napisana w języku XHTML. Który z poniższych kodów przedstawia implementację zamieszczonego fragmentu strony, przy założeniu, że nie zdefiniowano żadnych stylów CSS?

Ilustracja do pytania
A. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<hr /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
B. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
C. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
D. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<i>prototyp hipertekstowego systemu informacyjnego - <b>ENQUIRE</b></i></p>
Wybory, które nie używają <h1> do tytułu, nie oddają poprawnej struktury semantycznej wymaganej w XHTML. Oznaczenie nagłówka jako <b> jest niewłaściwe, ponieważ <b> jest znacznikiem stylizującym tekst jako pogrubiony, ale nie semantycznie nie mówi, że jest to nagłówek. XHTML, będąc bardziej restrykcyjną wersją HTML, wymaga ścisłego trzymania się hierarchii nagłówków, co pomaga w czytelności dokumentu przez oprogramowanie wspomagające i wyszukiwarki. Użycie <hr /> w odpowiedzi trzeciej jako linia pozioma jest semantycznie mylące, gdyż nie oddziela to części tekstu, a jedynie wizualnie dzieli fragmenty, co w XHTML, gdzie semantyka jest kluczowa, nie jest zalecane. Strona zapisana w XHTML powinna używać tagów zgodnie z ich przeznaczeniem, co poprawia dostępność i zrozumienie kodu. Dodatkowo, nieprawidłowo ustrukturyzowane znaczniki mogą prowadzić do problemów z parsowaniem przez przeglądarki, co jest niepożądane w profesjonalnym tworzeniu stron internetowych. Dlatego odpowiednia semantyka i poprawna struktura są kluczowe w projektowaniu stron zgodnych z XHTML.

Pytanie 19

W języku HTML zdefiniowano znacznik a oraz atrybut rel nofollow.

A. jest wskazówką dla robota wyszukiwarki Google, aby nie śledził tego linku
B. oznacza, że kliknięcie w link nie przekieruje na stronę website.com
C. jest poleceniem dla przeglądarki internetowej, aby nie traktowała słowa "link" jako hiperłącza
D. oznacza, że kliknięcie w link otworzy go w nowej karcie przeglądarki
Atrybut rel z wartością nofollow w znaczniku a w języku HTML jest kluczowym narzędziem w obszarze SEO i zarządzania linkami na stronach internetowych. Jego głównym celem jest wskazanie robotom wyszukiwarek, że nie powinny one śledzić danego linku ani przekazywać mu wartości PageRank, co jest ważnym czynnikiem w rankingach wyszukiwarek. Zastosowanie nofollow jest powszechne w kontekście linków zewnętrznych, aby zapobiec ewentualnym nadużyciom, takim jak spam czy niechciane linki. Przykładowo, jeśli strona internetowa prowadzi do innej witryny, której treść nie jest w pełni zaufana, dodanie atrybutu nofollow zabezpiecza nas przed negatywnym wpływem na naszą własną reputację w oczach wyszukiwarek. Warto także zauważyć, że nofollow nie uniemożliwia użytkownikom kliknięcia w link, a jedynie informuje roboty wyszukiwarek o braku konieczności śledzenia tego linku. Taki mechanizm wpływa na algorytmy indeksowania, co może przyczynić się do lepszej kontroli nad tym, jakie źródła są promowane przez daną stronę.

Pytanie 20

Które z poniższych wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w przedziale (6, 203>?

A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) && (zm1 <= 203)
C. (zm1 > 6) && (zm1 != 203)
D. (zm1 > 6) || (zm1 <= 203)
Odpowiedzi, które nie spełniają wymagań przedziału (6, 203], zawierają różne błędne koncepcje związane z użyciem operatorów logicznych. Na przykład, zapis (zm1 > 6) || (zm1 <= 203) implikuje, że wystarczy, aby jeden z warunków był spełniony, co całkowicie mija się z celem ustalenia przedziału. Umożliwienie wartości zm1, która jest mniejsza lub równa 203, niezależnie od tego, czy jest większa niż 6, prowadzi do sytuacji, w której wartości poniżej 6 są również akceptowane, co jest sprzeczne z wymaganym przedziałem. Podobnie, opcja (zm1 > 6) || (zm1 != 203) jest myląca, ponieważ nie uwzględnia wartości równej 203, co również narusza założenia przedziału. Z kolei (zm1 > 6) && (zm1 != 203) zezwala na wartości większe niż 6, ale wyklucza 203, co jest błędne w kontekście zadania. Te przykłady pokazują, jak łatwo można pomylić się w interpretacji warunków logicznych, co podkreśla znaczenie precyzyjnego formułowania warunków w programowaniu. Kluczem do unikania takich pomyłek jest dogłębne zrozumienie operatorów logicznych oraz ich zastosowania w kontekście zdefiniowanych przedziałów, co jest niezbędne, aby tworzyć poprawny i działający kod.

Pytanie 21

W bazie danych sklepu internetowego, w tabeli klienci znajdują się m.in. pola całkowite: punkty, liczbaZakupow oraz pole ostatnieZakupy o typie DATE. Klauzula WHERE dla zapytania wybierającego klientów, którzy mają ponad 3000 punktów lub dokonali zakupów więcej niż 100 razy, a ich ostatnie zakupy miały miejsce co najmniej w roku 2022, przyjmuje postać

A. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'
B. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
C. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'
D. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
Odpowiedź ta jest poprawna, ponieważ zastosowano w niej właściwą logikę warunków w klauzuli WHERE. Aby wybrać klientów, którzy spełniają co najmniej jeden z dwóch pierwszych warunków (posiadają więcej niż 3000 punktów lub wykonali więcej niż 100 zakupów), używamy operatora OR. Z kolei ostatni warunek, dotyczący daty ostatnich zakupów, musi łączyć się z poprzednimi za pomocą operatora AND. Oznacza to, że aby klient został uwzględniony w wynikach, musi spełniać przynajmniej jeden z warunków dotyczących punktów lub liczby zakupów, a równocześnie musi mieć ostatnie zakupy dokonane w roku 2022 lub później. Takie podejście jest zgodne z dobrymi praktykami w SQL, w których operator OR jest wykorzystywany do łączenia warunków alternatywnych, a AND do warunków koniecznych. Na przykład, jeśli chcemy analizować dane klientów w kontekście programów lojalnościowych, takie zapytanie pozwoliłoby nam na wyodrębnienie najbardziej aktywnych klientów, co może być przydatne przy planowaniu kampanii marketingowych.

Pytanie 22

W języku PHP użyto funkcji is_int). Które z wymienionych wywołań tej funkcji zwróci wartość TRUE?

A. is_int(135)
B. is_int(NULL)
C. is_int("135")
D. is_int(13.5)
Wybór is_int(135) jako poprawnej odpowiedzi jest uzasadniony, ponieważ funkcja is_int w języku PHP służy do sprawdzania, czy zmienna jest typu całkowitego (integer). W tym przypadku 135 jest liczbą całkowitą, co oznacza, że funkcja zwróci wartość TRUE. Użycie is_int w praktyce jest przydatne, gdy chcemy upewnić się, że nasze dane wejściowe są odpowiedniego typu, co jest szczególnie ważne w aplikacjach, gdzie typ danych ma kluczowe znaczenie, na przykład w operacjach matematycznych czy przy interakcji z bazą danych. Dobrą praktyką jest zawsze walidowanie danych, aby uniknąć potencjalnych błędów i zapewnić stabilność aplikacji. Ponadto, w PHP typy są dynamiczne, co sprawia, że błędne typy danych mogą prowadzić do trudnych do zdiagnozowania błędów, dlatego stosowanie is_int może znacząco poprawić jakość kodu i jego bezpieczeństwo. Przykładowo, przed wykonaniem operacji arytmetycznych na wartościach przekazanych z formularza, warto sprawdzić, czy są one typu integer, aby zapobiec niepożądanym zachowaniom programu.

Pytanie 23

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

A. tła każdego znacznika akapitu
B. rysunku umieszczonego w tle strony w poziomie
C. rysunku znajdującego się w tle strony w pionie
D. rysunku osadzonego znacznikiem img
W kontekście pytania, nie wszystkie odpowiedzi są zgodne z zasadami CSS. Powtarzanie tła nie dotyczy tła każdego ze znaczników akapitu, ponieważ właściwość 'background-image' odnosi się do stylu całego elementu, w tym przypadku ciała strony ('body'), a nie poszczególnych akapitów. Rysunek umieszczony znacznikiem img nie ma związku z właściwościami tła, ponieważ ten znacznik wyświetla obraz w treści dokumentu, a nie jako tło dla elementu. Właściwość 'background-repeat' odnosi się wyłącznie do obrazów tła, a nie do obrazów wstawionych za pomocą znaczników HTML. Dodatkowo, rysunek umieszczony w tle strony w poziomie również nie jest poprawny, ponieważ 'repeat-y' wskazuje na powtarzanie w kierunku pionowym, co oznacza, że obrazek będzie powielany wzdłuż osi Y, a nie X. Zrozumienie tych różnic jest kluczowe dla efektywnego korzystania z CSS i tworzenia responsywnych, estetycznych stron internetowych.

Pytanie 24

Jakie z wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie (6, 203)?

A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) && (zm1 != 203)
C. (zm1 > 6) && (zm1 <= 203)
D. (zm1 > 6) || (zm1 <= 203)
W analizie wyrażeń logicznych ważne jest zrozumienie logiki za każdym z operatorów oraz ich zastosowania w kontekście zadania. Przykładowo, wyrażenie (zm1 > 6) || (zm1 <= 203) jest niepoprawne, ponieważ użycie operatora || (OR) sugeruje, że wystarczy, aby zm1 spełniało jeden z dwóch warunków, co nie jest zgodne z definicją przedziału. W przypadku (zm1 > 6) && (zm1 != 203) wyrażenie również nie jest prawidłowe, ponieważ ignoruje dolny limit przedziału – wartość 203 nie jest wbudowana w przedział, co sprawia, że zmienna może przyjmować wartości, które nie są odpowiednie. Z kolei (zm1 > 6) || (zm1 != 203) jest całkowicie mylne, gdyż połączenie operatora OR nie tylko rozluźnia wymagania, ale również wprowadza błąd logiczny, który może prowadzić do nieprawidłowych wyników, gdyż zm1 może być mniejsze lub równe 6. Te błędy mogą wynikać z niepełnego zrozumienia operatorów logicznych oraz ich kontekstu w programowaniu. Właściwe stosowanie operatorów logicznych jest kluczowe dla tworzenia poprawnych i niezawodnych aplikacji. Warto pamiętać, że precyzyjne określenie zakresów i warunków w programie ma kluczowe znaczenie dla jego poprawności oraz stabilności działania.

Pytanie 25

Podano fragment kodu HTML, który nie przechodzi walidacji. Problemy z walidacją tego kodu będą dotyczyć:

<!DOCTYPE HTML>
<html>
<head>
    <title>Test</title>
</head>
<body>

<img src="obraz.gif">
<br>
<img src="obraz.gif">

</body>
</html>
A. braku zamknięcia znacznika <img>
B. duplikacji nazwy pliku graficznego
C. braku zamknięcia znacznika <br>
D. braku atrybutu alt w znaczniku <img>
W tym zadaniu kluczowy był brak atrybutu alt w znaczniku <img>. To jest jeden z tych wymagań, które na pierwszy rzut oka mogą wydawać się tylko formalnością, a jednak mają ogromne znaczenie, szczególnie z punktu widzenia dostępności. Standardy W3C (zwłaszcza WCAG) jasno mówią, że każdy obrazek w HTML powinien mieć opis alternatywny, czyli właśnie atrybut alt. Dzięki temu osoby korzystające z czytników ekranu albo mające wyłączone ładowanie grafik, czy nawet boty indeksujące wyszukiwarki, wiedzą, co obrazek przedstawia lub jaką pełni funkcję. Jeżeli alt jest pusty, to też jest dozwolone, ale wtedy obrazek powinien być czysto dekoracyjny, a tutaj ewidentnie nie ma żadnego alt. Przykład praktyczny: jeśli budujesz stronę dla urzędu, sklepu internetowego albo jakąkolwiek witrynę publiczną, brak alt przy obrazkach to poważny minus jakościowy i prawny. Nawet na prostych stronach wizytówkach może się to odbić negatywnie na SEO czy po prostu na wygodzie użytkownika. Ja kiedyś przez taki drobiazg nie przeszedłem walidacji projektu, więc uczulam na to każdą osobę, która zaczyna z HTML-em – zawsze pamiętaj o atrybucie alt. To nie jest coś, co można ignorować, bo przeglądarki tego nie „wybaczą” podczas walidacji, a użytkownicy mogą na tym stracić. Szczerze, moim zdaniem to jeden z tych podstawowych nawyków, które warto sobie wyrobić już na starcie.

Pytanie 26

Tabela samochody zawiera dane przedstawione poniżej:

idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
Wydając zamieszczone zapytanie SQL, jakie dane zostaną zwrócone:
SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";
A. opel zafira; opel insignia
B. zafira; insignia
C. zafira
D. opel zafira
Wszystkie niepoprawne odpowiedzi zawierają błędy związane z interpretacją wyników zapytania SQL. Odpowiedź 'opel zafira' jest niepoprawna, ponieważ zapytanie nie zwraca modelu w formie złożonej, a jedynie oczekuje nazwy modelu. Podobnie, odpowiedzi 'zafira; insignia' oraz 'opel zafira; opel insignia' sugerują, że obie te nazwy są zwracane przez zapytanie, co jest błędne. W rzeczywistości, zapytanie filtruje dane tak, że tylko jeden model – 'zafira' – jest odpowiedzią na podane warunki. Przykłady takich błędnych założeń często wynikają z niepełnego zrozumienia działania operatorów w zapytaniach SQL oraz ich wpływu na wyniki. Analizując odpowiedzi, należy zwracać uwagę na precyzyjność zapytań oraz na zastosowanie odpowiednich warunków filtrujących, aby uniknąć błędnych wniosków. W praktyce, dobre zrozumienie działania SQL i umiejętność właściwego formułowania zapytań to kluczowe umiejętności w każdej pracy związanej z danymi, co podkreśla znaczenie dokładności i staranności w tym obszarze. Każdy analityk danych powinien dążyć do mistrzostwa w tej dziedzinie, aby skutecznie wspierać podejmowanie decyzji na podstawie danych.

Pytanie 27

Jakie zapytanie SQL dotyczące tabeli pracownicy, której struktura to: id, imie, nazwisko, plec, zarobek, pozwoli na osobne obliczenie średniego wynagrodzenia kobiet oraz średniego wynagrodzenia mężczyzn?

A. SELECT AVG(zarobek) FROM pracownicy GROUP BY plec HAVING plec='k' AND plec='m'
B. SELECT AVG(zarobek) FROM pracownicy AS sredni_zarobek
C. SELECT AVG(zarobek) FROM pracownicy GROUP BY plec
D. SELECT AVG(zarobek) FROM pracownicy WHERE plec='k' AND plec='m'
Pierwsza opcja nie jest poprawna, ponieważ nie oblicza średnich zarobków osobno dla każdej płci, lecz zwraca jedną średnią, jeśli w tabeli są pracownicy różnych płci. Kolejne zapytanie, które wykorzystuje alias, jest błędne, ponieważ użycie 'AS sredni_zarobek' nie wprowadza żadnej funkcjonalności do obliczania średni dla płci. Nie definiuje ono kontekstu grupowania danych, przez co zwróci jedną wartość, a nie różne średnie dla każdej płci. Następnie, zapytanie z warunkiem WHERE plec='k' AND plec='m' jest całkowicie niepoprawne, ponieważ nie można, aby jedna wartość plec jednocześnie była równa 'k' i 'm'. Takie zapytanie nic nie zwróci, ponieważ nie znajdzie żadnych wierszy spełniających ten warunek. Ostatnia odpowiedź z GROUP BY plec HAVING plec='k' AND plec='m' również zawiera błędne założenia. Klauzula HAVING służy do filtrowania grup, ale podobnie jak w poprzednich przypadkach warunek 'plec='k' AND plec='m'' nie ma sensu, ponieważ nie można grupować wyników w ten sposób. Dlatego wszystkie te zapytania nie osiągną celu związanego z obliczeniem średnich zarobków osobno dla kobiet i mężczyzn.

Pytanie 28

W kodzie HTML zamieszczono link do strony internetowej:

<a href="http://google.com">strona Google</a>
Jakie dodatkowe zmiany należy wprowadzić, aby link otwierał się w nowym oknie lub zakładce przeglądarki, dodając do definicji linku odpowiedni atrybut?
A. target = "_parent"
B. rel = "external"
C. target = "_blank"
D. rel = "next"
Atrybuty rel = "next" oraz rel = "external" nie są odpowiednie dla celu otwierania strony w nowym oknie czy zakładce. Atrybut rel służy do określenia relacji między stroną źródłową a docelową, a nie do definiowania sposobu otwierania odnośników. Wartość "next" jest używana w kontekście paginacji, oznaczającej, że dany link prowadzi do następnej strony w serii, co nie ma nic wspólnego z otwieraniem w nowym oknie. Podobnie, "external" jest używane do wskazania, że link prowadzi do zewnętrznego źródła, ale nie definiuje, jak ma być otwierany. Otwieranie odnośników bez odpowiednich atrybutów, które kontrolują sposób ich wyświetlania, może prowadzić do frustracji użytkowników, gdyż są oni zmuszeni do korzystania z przycisków „wstecz” przeglądarki, aby wrócić do poprzedniej strony. Umożliwienie otwierania w nowym oknie może być lepszym rozwiązaniem dla zewnętrznych źródeł, co jest często praktykowane w standardach webowych. Użytkownik powinien mieć kontrolę nad tym, czy chce opuścić obecną stronę, czy też nie. Dlatego kluczowe jest zrozumienie znaczenia i zastosowania atrybutu target w kontekście projektowania stron internetowych oraz odpowiednich standardów, aby poprawić doświadczenia użytkowników.

Pytanie 29

Który z poniższych znaczników jest używany do definiowania list w HTML?

A. <td>
B. <th>
C. <ul>
D. <tr>
<ul> jest znacznikami HTML, które definiuje nieuporządkowaną listę. Użycie tego znacznika pozwala na przedstawienie elementów listy w formie graficznej, gdzie każdy element jest oznaczony punktem. Jest to podstawowy element w HTML, który jest zgodny z wytycznymi W3C i szeroko stosowany w tworzeniu responsywnych i estetycznych interfejsów użytkownika. Przykładowe zastosowanie <ul> może obejmować listy składników, funkcji, czy też elementów menu na stronie internetowej. Stosując <ul>, można także użyć znacznika <li>, aby określić poszczególne elementy listy, co zwiększa czytelność i strukturalizację treści. Znajomość i umiejętność stosowania tych znaczników jest kluczowa dla każdego web developera, aby tworzyć dostępne i zrozumiałe dla użytkowników interfejsy, a także wspierać praktyki SEO poprzez odpowiednią organizację treści.

Pytanie 30

W kodzie CSS stworzono cztery klasy stylizacji, które zostały wykorzystane do formatowania akapitów. Efekt widoczny na ilustracji uzyskano dzięki zastosowaniu klasy o nazwie

Ilustracja do pytania
A. format2
B. format1
C. format4
D. format3
Niepoprawne odpowiedzi wynikają z błędnego rozumienia właściwości CSS text-decoration. Klasa format1 stosuje overline, czyli nadkreślenie, które jest rzadziej używane, ale może służyć do podkreślania ważności tekstu. Format3 wykorzystuje underline, popularne do oznaczania linków lub podkreślania ważnych sekcji, jednak nie jest to styl widoczny na obrazie. Format4 to brak dekoracji, co oznacza, że tekst pozostaje bez jakichkolwiek dodatkowych linii, co jest częstą praktyką w celu zachowania prostoty wizualnej. Niezrozumienie różnic pomiędzy tymi stylami może prowadzić do błędnego zastosowania w projektach webowych, co wpływa na czytelność i dostępność treści. Przy projektowaniu stron ważne jest, aby odpowiednio korzystać z właściwości CSS, aby dostosować wygląd tekstu do potrzeb użytkownika, jednocześnie przestrzegając wytycznych dotyczących dostępności, takich jak WCAG, które promują użycie semantycznego oznaczania i odpowiedniego kontrastu tekstu dla użytkowników z różnymi potrzebami.

Pytanie 31

W języku JavaScript przedstawiona definicja jest definicją

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. klasy.
B. obiektu.
C. kolekcji.
D. tablicy.
Niestety, wybrana przez Ciebie odpowiedź nie jest poprawna. Wygląda na to, że nie do końca zrozumiałeś jak działa definicja tablicy w JavaScript. Zrozumienie różnicy między tablicami, obiektami, klasami i kolekcjami jest kluczowe. Kolekcje to pojęcie bardziej ogólne, mogą one obejmować różne typy danych, takie jak tablice, listy czy zbiory, a termin ten nie jest używany w kontekście JavaScript. Klasy w JavaScript są 'szablonami' dla tworzenia obiektów, a więc struktur danych składających się z pól (zmiennych) i metod (funkcji). Tablica to specyficzny typ obiektu, który przechowuje elementy w określonym porządku. Wskazane jest, aby dokładnie zrozumieć, jakie informacje są przechowywane w tablicach, klasach, obiektach i kolekcjach w JavaScript, ponieważ jest to kluczowe dla efektywnego korzystania z tego języka. Spróbuj jeszcze raz, z pewnością za kolejnym razem się uda!

Pytanie 32

W trakcie walidacji dokumentu HTML5 napotkano komunikat o treści: "Error: Element head is missing a required instance of child element title". Co to oznacza w kontekście dokumentu?

A. element <title> nie został poprawnie zamknięty przez </title>.
B. element <title> nie jest konieczny.
C. nie zdefiniowano elementu <title> w sekcji <head> dokumentu.
D. nie zdefiniowano wymaganego atrybutu title w znaczniku <img>.
Wskazanie, że element <title> nie jest wymagany, jest niezgodne z obowiązującymi standardami HTML5, które jednoznacznie nakładają obowiązek jego obecności w sekcji <head>. Uzyskanie poprawnego HTML-a wymaga zrozumienia struktury dokumentu i obowiązkowych elementów, które muszą być zawarte. Twierdzenie, że element <title> nie został zamknięty przez </title>, sugeruje zamieszanie z pojęciem prawidłowego składania tagów. W przypadku HTML, błędy składniowe muszą być zawsze korygowane, jednak obecność elementu <title> jest kluczowa niezależnie od sposobu jego zamknięcia. Stwierdzenie, że nie zdefiniowano obowiązkowego atrybutu title w znaczniku <img> jest całkowicie mylące, ponieważ atrybut title w znaczniku <img> nie ma związku z tytułem strony i jego brak nie powoduje błędu w walidacji HTML. Zamiast tego, powinno się skupić na tym, że atrybut title w znaczniku <img> jest opcjonalny, ale jego zawartość może poprawić dostępność, co jest istotne w kontekście zgodności z WCAG. Dlatego kluczowe jest zrozumienie roli i funkcji poszczególnych elementów w HTML oraz unikanie mylnych interpretacji ich znaczenia.

Pytanie 33

W języku MySQL należy wykorzystać polecenie REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian wyłącznie w definicji struktury bazy danych. Polecenie, które służy do odebrania tych uprawnień, ma następującą formę

A. REVOKE ALL ON tabela1 FROM 'anna'@'localhost'
B. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
Wybór innego podejścia do odbierania uprawnień użytkownikowi 'anna' jest niewłaściwy z kilku powodów. Po pierwsze, REVOKE ALL ON tabela1 FROM 'anna'@'localhost' jest zbyt ogólnie sformułowane, jako że odbiera wszystkie przydzielone uprawnienia, w tym te, które mogą być konieczne do wykonywania podstawowych operacji na danych. Taki ruch mógłby całkowicie zablokować użytkownika w interakcji z tabelą, co nie odzwierciedla zamierzonego celu, jakim jest jedynie ograniczenie możliwości modyfikacji struktury. Drugą nieodpowiednią propozycją jest REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'. Ta komenda również jest błędna, ponieważ wprowadza uprawnienie UPDATE, które nie jest związane z zarządzaniem strukturą bazy danych. Odbieranie tego uprawnienia sprawiłoby, że użytkownik nie mógłby wprowadzać danych do tabeli, co jest sprzeczne z intencją ograniczenia jedynie modyfikacji struktury. Kolejną niewłaściwą odpowiedzią jest REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost', która również nie spełnia wymogów, ponieważ odbiera uprawnienia związane z wstawianiem i usuwaniem danych, co jest istotne dla pracy z danymi w tabeli. W kontekście zarządzania bazami danych, istotne jest, aby precyzyjnie określać, jakie uprawnienia są odbierane, a także dokładnie rozumieć ich zastosowanie oraz potencjalne konsekwencje ich odebrania.

Pytanie 34

Na przedstawionej tabeli samochody wykonano zapytanie SQL SELECT

SELECT model FROM samochody WHERE rocznik = 2016;
idmarkamodelrocznikkolorstan
1FiatPunto2016czerwonybardzo dobry
2FiatPunto2002czerwonydobry
3FiatPunto2007niebieskibardzo dobry
4OpelCorsa2016grafitowybardzo dobry
5OpelAstra2003niebieskiporysowany lakier
6ToyotaCorolla2016czerwonybardzo dobry
7ToyotaCorolla2014szarydobry
8ToyotaYaris2004granatowydobry
A. Fiat, Opel, Toyota.
B. Czerwony, grafitowy.
C. Punto, Corsa, Corolla.
D. Punto, Corsa, Astra, Corolla, Yaris.
Niepoprawne odpowiedzi pokazują częste błędy w interpretacji zapytań SQL. Pierwszy z nich to pomylenie kolumny - zapytanie 'SELECT model FROM samochody WHERE rocznik = 2016' odnosi się do kolumny 'model', a nie 'kolor', co wyklucza odpowiedź 'Czerwony, grafitowy'. Drugi błąd to niewłaściwe zrozumienie klauzuli WHERE - jest ona używana do filtrowania rekordów na podstawie konkretnych warunków. W tym przypadku, zapytanie dotyczyło modeli samochodów z rocznika 2016, co wyklucza odpowiedź 'Punto, Corsa, Astra, Corolla, Yaris', ponieważ zawiera modele z innymi rocznikami. Trzeci błąd to pomylenie kolumn - zapytanie odnosiło się do 'model', a nie 'marka', co oznacza, że odpowiedź 'Fiat, Opel, Toyota' jest nieprawidłowa. Ważne jest, aby dokładnie zrozumieć strukturę tabeli i zapytania SQL przed próbą interpretacji wyników.

Pytanie 35

Kolumna, która pełni funkcję klucza głównego w tabeli, powinna

A. zawierać unikalne wartości
B. być innego rodzaju niż inne kolumny
C. posiadać ciągłą numerację
D. zawierać wartości liczbowe
To stwierdzenie, że klucz główny musi być ciągły albo tylko liczbowy, jest nie do końca trafne. Klucz główny nie musi być tylko liczbowy ani też nie musi mieć ciągłej numeracji. Na przykład można używać stringów jako kluczy głównych, takich jak numery ID czy kody produktów. No a jeżeli byśmy mieli ciągłą numerację, to mogą wystąpić problemy, szczególnie gdy usuwamy jakieś rekordy. To może prowadzić do braku unikalności. Poza tym, klucz główny niekoniecznie musi być innego typu niż reszta kolumn. Przykładowo, kolumna z tekstem też może być kluczem, o ile wartości są unikalne. W kontekście projektowania baz danych najważniejsze jest, żeby klucz główny był unikalny, a niekoniecznie jaki to typ czy format. Ludzie zajmujący się bazami danych powinni wiedzieć, że klucz główny powinno się wybierać w zależności od kontekstu aplikacji i wymagań danych, a nie na podstawie błędnych założeń.

Pytanie 36

W systemie baz danych dla sklepu znajduje się tabela artykuly, która zawiera kolumnę o nazwie nowy. Jak należy skonstruować zapytanie, aby przypisać wartość TRUE dla tego pola w każdym rekordzie?

A. UPDATE artykuly SET nowy=TRUE
B. INSERT INTO artykuly VALUE nowy=TRUE
C. INSERT INTO nowy FROM artykuly SET TRUE
D. UPDATE nowy FROM artykuly VALUE TRUE
Odpowiedź UPDATE artykuly SET nowy=TRUE; jest poprawna, ponieważ wykorzystuje standardową składnię zapytań SQL, która pozwala na aktualizację istniejących danych w tabeli. W tym przypadku kwerenda ta zmienia wartość pola 'nowy' na TRUE dla każdego rekordu w tabeli 'artykuły'. W praktyce, używając tej kwerendy, można efektywnie zaktualizować wiele rekordów jednocześnie bez konieczności wprowadzania danych indywidualnie. Dobrą praktyką w pracy z bazami danych jest korzystanie z transakcji, aby zapewnić integralność danych, zwłaszcza w przypadku operacji, które mogą wpływać na dużą liczbę rekordów. Ponadto, warto wiedzieć, że używanie wartości logicznych, takich jak TRUE/FALSE, jest powszechną praktyką w projektowaniu relacyjnych baz danych, co pozwala na lepszą semantykę i łatwiejszą obsługę danych. Na przykład, jeśli w bazie danych istnieje konieczność oznaczania produktów jako nowe, odpowiednia aktualizacja wszystkich rekordów przy użyciu tej kwerendy jest szybkim rozwiązaniem.

Pytanie 37

Atrybut value w formularzu XHTML

A. określa wartość domyślną
B. ustawia pole jako tylko do odczytu
C. ogranicza maksymalną długość pola
D. określa nazwę pola
Atrybut 'value' w polu formularza XHTML pełni kluczową rolę w określeniu wartości początkowej, która jest wyświetlana w danym polu tekstowym. W przypadku elementu <input type='text'>, wartość atrybutu 'value' jest predefiniowaną odpowiedzią, która pojawia się w polu, gdy formularz jest załadowany. To pozwala programistom na wprowadzenie domyślnych danych, co jest szczególnie przydatne w kontekście ułatwienia wprowadzania informacji przez użytkowników. Na przykład, jeśli mamy formularz, w którym użytkownik ma podać swoje imię, możemy ustawić 'value' na 'Jan', co sprawi, że pole wypełni się automatycznie tą wartością, dając użytkownikowi wskazówkę. Wartość ta może być również używana do ułatwienia wprowadzania danych w przypadku, gdy formularz jest ponownie wyświetlany po błędzie. Zgodnie z dokumentacją W3C dotyczącą XHTML, atrybut 'value' jest standardowo stosowany w formularzach, co czyni go niezbędnym narzędziem w projektowaniu interfejsów użytkownika. Odpowiednie wykorzystanie tego atrybutu przyczynia się do lepszej użyteczności aplikacji internetowych oraz zwiększa komfort użytkowników.

Pytanie 38

Jakie oprogramowanie służy do obróbki dźwięku?

A. Brasero
B. Audacity
C. RealPlayer
D. Winamp
Audacity jest wszechstronnym, darmowym programem typu open source, który służy do edycji dźwięku. Jego funkcjonalność obejmuje nagrywanie, edytowanie i przetwarzanie dźwięku w różnych formatach. Program ten jest często wykorzystywany przez muzyków, podcasterów oraz profesjonalistów zajmujących się dźwiękiem, co czyni go niezwykle popularnym w branży. Audacity obsługuje wiele efektów dźwiękowych, takich jak kompresja, reverb oraz equalizacja, co pozwala na zaawansowaną obróbkę nagrań. Dzięki intuicyjnemu interfejsowi użytkownika, użytkownicy mogą łatwo nawigować w programie oraz korzystać z funkcji takich jak wielościeżkowe nagrywanie i edytowanie. Warto również wspomnieć, że Audacity działa na różnych systemach operacyjnych, w tym Windows, macOS oraz Linux, co zapewnia dostępność dla szerszego kręgu użytkowników. Użytkownicy mogą również korzystać z dodatkowych wtyczek, które rozszerzają możliwości programu, co jest zgodne z najlepszymi praktykami w branży, gdzie elastyczność i rozszerzalność oprogramowania są kluczowe dla profesjonalnych zastosowań.

Pytanie 39

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
B. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
C. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
D. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
Wszystkie pozostałe odpowiedzi zawierają błędne podejścia do formułowania odpowiednich warunków w zapytaniu SQL. Przykładowo, pierwsza z odpowiedzi sugeruje użycie operatora '=>', który jest nieprawidłowy, ponieważ w standardowym SQL powinien być użyty operator '>=', który oznacza 'większy lub równy'. Użycie tego operatora w tym kontekście powoduje, że zapytanie zwraca pracowników z pensją równą 3000, co jest niezgodne z wymaganym przedziałem. Kolejna odpowiedź wykorzystuje operator '>', co jest poprawne, ale połączenie go z 'pensja <= 4000' w sposób, w jaki to zostało sformułowane, również nie spełnia wymogu jednostronnego domknięcia przedziału. Oznacza to, że odpowiedź ta nie respektuje struktury zadania, które precyzuje, iż dolna granica pensji powinna być wyłączona, a górna włączona. Odpowiedzi oparte na operatorze 'OR' w przypadku niektórych odpowiedzi wprowadzają zamieszanie, ponieważ sugerują, że jakikolwiek spełniony warunek (kierownik lub pensja) wystarczy do zwrócenia pracownika. To jest fundamentalny błąd w logice zapytania, ponieważ nie uwzględnia wymogu, że oba warunki muszą być jednocześnie spełnione, aby właściwie zdefiniować grupę pracowników. Prawidłowe formułowanie zapytań SQL wymaga zrozumienia operatorów logicznych oraz zasad filtracji danych, co jest kluczowe dla skutecznej analizy i zarządzania danymi w bazach danych.

Pytanie 40

Jakie typy danych w języku C++ służą do reprezentacji liczb zmiennoprzecinkowych?

A. float, double
B. float, long
C. double, short
D. double, bool
Wybór odpowiedzi, które zawierają typy danych inne niż 'float' i 'double', wskazuje na niezrozumienie podstawowych koncepcji typów danych w języku C++. Typ 'bool' to typ logiczny, który przechowuje jedynie dwie wartości: prawda (true) lub fałsz (false). Nie ma możliwości przechowywania wartości liczbowych, a tym bardziej rzeczywistych. Typy całkowite, takie jak 'short', czy 'long', są wykorzystywane do reprezentacji liczb całkowitych, co wyklucza możliwość użycia ich do reprezentacji wartości zmiennoprzecinkowych. Odpowiedzi, które łączą 'double' z innymi nieodpowiednimi typami, mogą prowadzić do błędnych wniosków, ponieważ podkreślają mylne założenie, że dowolny typ liczbowy mógłby być użyty w obliczeniach zmiennoprzecinkowych. Typowe błędy myślowe obejmują mylenie pojęć związanych z precyzją oraz reprezentacją danych, co skutkuje niepoprawnym rozumieniem, jakie typy można stosować w kontekście liczb rzeczywistych. W praktycznych zastosowaniach programistycznych, niewłaściwy dobór typów danych może prowadzić do błędów obliczeniowych, co jest krytyczne w sytuacjach wymagających wysokiej precyzji, jak w inżynierii oprogramowania czy obliczeniach finansowych.