Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 23 kwietnia 2026 20:08
  • Data zakończenia: 23 kwietnia 2026 20:33

Egzamin zdany!

Wynik: 35/40 punktów (87,5%)

Wymagane minimum: 20 punktów (50%)

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

W języku JavaScript funkcja getElementById() odnosi się do

A. elementu HTML o wskazanej nazwie klasy
B. zmiennej liczbowej
C. elementu HTML o określonym id
D. klasy zdefiniowanej w CSS
Metoda getElementById() jest jedną z najczęściej używanych funkcji w JavaScript, która pozwala na bezpośrednie odwołanie się do elementu DOM (Document Object Model) za pomocą atrybutu id. Gdy wywołujemy tę metodę, przekazujemy jej jako argument ciąg znaków odpowiadający wartości atrybutu id danego elementu HTML. Przykładowo, jeśli mamy znacznik `<div id='myDiv'></div>`, możemy uzyskać do niego dostęp za pomocą `document.getElementById('myDiv')`. Jest to bardzo efektywny sposób na manipulowanie elementami strony, umożliwiający m.in. zmianę ich zawartości, stylu czy atrybutów. Dzięki tej metodzie programiści mogą szybko i łatwo modyfikować interfejs użytkownika oraz reagować na zdarzenia, co jest zgodne z zasadami responsywnego projektowania i tworzenia dynamicznych aplikacji webowych. Warto również pamiętać, że użycie unikalnych identyfikatorów w HTML jest zgodne z dobrymi praktykami, ponieważ pozwala na łatwiejszą nawigację po strukturze dokumentu i unika konfliktów z innymi elementami.

Pytanie 2

Została stworzona baza danych z tabelą podzespoły, która zawiera pola: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowanych od najniższej do najwyższej ceny, należałoby użyć kwerendy:

A. SELECT model FROM podzespoły WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC
B. SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoły ASC
C. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC
D. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC
Wybrana kwerenda jest poprawna, ponieważ dokładnie spełnia wymagania zadania. Użycie klauzuli SELECT do wyboru pola 'model' z tabeli 'podzespoły' pozwala na uzyskanie właściwych informacji. Warunek WHERE ogranicza wyniki do tych, które dotyczą pamięci RAM (typ='RAM') oraz producenta Kingston (producent='Kingston'). Kluczowym elementem tej kwerendy jest zastosowanie ORDER BY cena ASC, które sortuje wyniki według ceny w porządku rosnącym, co jest zgodne z wymaganiem wyświetlenia modeli od najtańszej do najdroższej. Przykłady zastosowania takiej kwerendy mogą obejmować systemy zarządzania zapasami, gdzie klienci poszukują najlepszych ofert, czy aplikacje e-commerce, które chcą dostarczyć użytkownikom najbardziej korzystne opcje zakupowe. Stosowanie jasnych i precyzyjnych kwerend SQL, według dobrych praktyk branżowych, jest kluczowe dla wydajności i przejrzystości danych.

Pytanie 3

Podczas sprawdzania poprawności dokumentu HTML5 wyświetlił się komunikat: "Error: Element head is missing a required instance of child element title". Co to oznacza w dokumencie?

A. element <title> nie jest konieczny
B. nie zdefiniowano wymaganego atrybutu title w znaczniku <img>
C. element <title> nie został zakończony przez </title>
D. nie zdefiniowano elementu <title> w sekcji <head> dokumentu
Element <title> jest kluczowym składnikiem sekcji <head> każdego dokumentu HTML5, ponieważ definiuje tytuł strony, który jest wyświetlany w pasku tytułowym przeglądarki oraz w wynikach wyszukiwania. Zgodnie z wytycznymi W3C, element <title> jest wymagany, co oznacza, że każda poprawna struktura dokumentu HTML5 musi go zawierać. Przykład poprawnej implementacji to: <head><title>Mój dokument</title></head>. Brak elementu <title> może prowadzić do niższej oceny SEO, ponieważ wyszukiwarki używają tego tytułu jako kluczowej informacji o zawartości strony. Dla deweloperów istotne jest, aby tytuł był krótki, ale zwięzły, dostarczający jasnych informacji o tematyce strony. Ponadto, dobrze skonstruowany tytuł może przyciągać użytkowników, co ma kluczowe znaczenie w kontekście UX i marketingu internetowego.

Pytanie 4

Które tabele będą analizowane w wyniku tego polecenia?

CHECK TABLE pracownicy CHANGED;
A. Tabele, które zostały zmodyfikowane w bieżącej sesji
B. Tabele, które zmieniły się od poprzedniej weryfikacji lub nie zostały poprawnie zamknięte
C. Jedynie tabele odwołujące się do innych
D. Wyłącznie tabele, które nie zostały poprawnie zamknięte
Polecenie CHECK TABLE z opcją CHANGED służy do weryfikacji integralności danych w tabelach, które zmieniły się od ostatniej kontroli lub nie zostały poprawnie zamknięte. Jest to kluczowe w kontekście baz danych opartych na systemach takich jak MySQL, gdzie stabilność i poprawność danych są priorytetem. Tabele mogą ulec zmianom w wyniku różnych operacji, takich jak aktualizacje, usunięcia czy wstawienia nowych wierszy. Ponadto, nieprawidłowe zamknięcie serwera bazy danych może prowadzić do sytuacji, w której tabele nie zostaną poprawnie wyczyszczone, co wymaga ich weryfikacji. Praktyczne zastosowanie tego polecenia pozwala na szybką diagnostykę problemów oraz zapewnia stabilność działania aplikacji korzystających z danej bazy danych. Dobre praktyki branżowe zalecają regularne wykonywanie takich kontroli zwłaszcza po operacjach masowych na danych, aby zminimalizować ryzyko wystąpienia błędów logicznych i zapewnić spójność informacji. Wiedza ta jest niezbędna dla administratorów dbających o bezpieczeństwo i sprawność działania systemów bazodanowych.

Pytanie 5

W języku JavaScript zadeklarowano funkcję.
function absValue(f) {
    return Math.abs(f);
}

A. wypisać wartość przeciwną do f
B. wypisać wartość bezwzględną z f
C. zwrócić wartość przeciwną do f
D. zwrócić wartość bezwzględną z f
Poprawna odpowiedź to „zwrócić wartość bezwzględną z f”. Funkcja absValue(f) korzysta z wbudowanej metody Math.abs(), która zwraca wartość bezwzględną liczby przekazanej jako argument. Oznacza to, że jeśli liczba f jest ujemna, zostanie zamieniona na dodatnią, a jeśli dodatnia — pozostanie bez zmian. Funkcja nie wypisuje wartości, lecz zwraca wynik, który można następnie wykorzystać w dalszych obliczeniach. Takie podejście jest często stosowane w programowaniu, gdy chcemy operować na wielkościach zawsze nieujemnych, np. przy obliczaniu różnic, odległości lub w analizie danych numerycznych.

Pytanie 6

Elementem wykorzystywanym w bazie danych do podsumowywania, prezentowania oraz drukowania danych jest

A. formularz
B. raport
C. zapytanie
D. zestawienie
Raport jest fundamentalnym obiektem w bazach danych, który służy do podsumowywania, analizowania i prezentowania danych w przystępny sposób. Jego kluczową funkcją jest umożliwienie użytkownikowi wygenerowania wyników na podstawie zgromadzonych informacji, co jest szczególnie istotne w kontekście podejmowania decyzji biznesowych. Raporty mogą być wykorzystywane do przedstawienia danych finansowych, wydajności operacyjnej czy analizy rynku. W dobrych praktykach zarządzania danymi raporty powinny być oparte na aktualnych i wiarygodnych danych, a ich struktura powinna być przemyślana, aby umożliwić łatwe zrozumienie wyników. Przykładem może być raport sprzedaży, który zbiera dane z transakcji i przedstawia je w formie graficznej, co ułatwia szybką analizę trendów. Ponadto, w nowoczesnych systemach raportowania wykorzystuje się technologie takie jak BI (Business Intelligence), które integrują dane z różnych źródeł, co znacznie podnosi wartość informacyjną generowanych raportów.

Pytanie 7

Jaką wartość zobaczymy po wykonaniu poniższego kodu JavaScript?

<script>
document.write(Math.round(4.51)+Math.pow(2,3));
</script>
A. 11
B. 12
C. 14
D. 13
W przedstawionym kodzie JavaScript użyto dwóch metod wbudowanych obiektu Math Math.round i Math.pow. Math.round zaokrągla wartość do najbliższej liczby całkowitej. W przypadku liczby 4.51 zostanie to zaokrąglone do 5 ponieważ 0.51 jest bliżej 1 niż 0. Math.pow wykonuje potęgowanie czyli podnosi liczbę do określonej potęgi. W przypadku Math.pow(2 3) mamy do czynienia z potęgowaniem 2 do potęgi 3 co jest równe 8 ponieważ 2 * 2 * 2 = 8. Następnie te dwie wartości są dodawane do siebie co daje 5 + 8 = 13. Wartość 13 jest wyświetlana na stronie za pomocą document.write co jest prostym sposobem na wypisywanie wyników w kontekście przeglądarki. W praktyce jednak korzystanie z document.write jest odradzane na rzecz bardziej nowoczesnych rozwiązań jak manipulacja DOM czy używanie innerHTML. Dzięki tym metodom możemy skutecznie zarządzać i wyświetlać dane na stronach internetowych co jest kluczowe w nowoczesnym tworzeniu stron WWW. Zrozumienie działania takich funkcji wbudowanych pozwala na efektywne rozwiązywanie problemów związanych z obliczeniami w języku JavaScript co jest bardzo przydatne w pracy programisty.

Pytanie 8

Aby zdefiniować selektor klasy w kaskadowych arkuszach stylów, należy użyć symbolu

A. : (dwukropek)
B. . (kropka)
C. *
D. #
Selektory klas w CSS są super ważne! Używamy kropki (.) na początku, żeby zdefiniować klasę. To naprawdę ułatwia sprawę, bo można przypisać jeden styl do wielu elementów. Na przykład, jeśli zdefiniujesz klasę .przycisk, to wszystkie elementy, które ją mają, mogą wyglądać tak samo – możesz zmieniać kolory, rozmiary czy inne rzeczy. To świetne, bo dzięki temu kod jest czytelniejszy i łatwiej go ogarnąć. Klasy są bardziej elastyczne niż identyfikatory (#), które są unikalne i można je używać tylko raz w dokumencie. Dlatego, kiedy potrzebujesz, aby kilka elementów miało te same style, lepiej postawić na klasy. A tak w ogóle, użycie kropki dla klas to taki standard w CSS, który pozwala łatwiej ogarniać całą hierarchię stylów na stronie. Po prostu to się sprawdza!

Pytanie 9

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

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

Pytanie 10

Poniżej przedstawiono sposób obsługi:

<?php
if (!isset($_COOKIE[$nazwa]))
    echo "nie ustawiono!";
else
    echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. baz danych
B. ciasteczek
C. zmiennych tekstowych
D. sesji
Kod PHP przedstawiony w pytaniu ilustruje użycie mechanizmu ciasteczek w przeglądarce. Ciasteczka to małe pliki tekstowe, które serwer umieszcza na komputerze użytkownika, aby przechowywać informacje między sesjami HTTP. W tym przypadku kod sprawdza, czy zmienna o nazwie $nazwa jest ustawiona w tablicy superglobalnej $_COOKIE. Jeśli ciasteczko o danej nazwie nie zostało ustawione, skrypt zwraca komunikat 'nie ustawiono!'. Gdy ciasteczko istnieje, wyświetlana jest jego wartość. Ciasteczka są powszechnie stosowane do śledzenia sesji użytkowników, przechowywania preferencji czy zachowania stanu zalogowania. Ważnym aspektem jest zrozumienie, że ciasteczka działają po stronie klienta i mogą być modyfikowane przez użytkownika, dlatego powinny być używane z ostrożnością i w połączeniu z innymi mechanizmami zabezpieczeń. Warto pamiętać, że ciasteczka mają ograniczenia co do wielkości i liczby, które mogą być przechowywane przez przeglądarkę. Implementacja ciasteczek powinna być zgodna z regulacjami dotyczącymi prywatności, takimi jak RODO, które nakładają obowiązek informowania użytkowników o ich używaniu oraz uzyskiwania zgody.

Pytanie 11

Program debugger służy do

A. analizy kodu źródłowego w celu odnalezienia błędów składniowych.
B. tłumaczenia kodu zapisanego językiem wyższego poziomu na język maszynowy.
C. interpretacji kodu w wirtualnej maszynie Java.
D. analizy wykonywanego programu w celu lokalizacji błędów.
Debugger to specjalistyczne narzędzie używane dokładnie do tego, co opisuje poprawna odpowiedź: do analizy wykonywanego programu w celu lokalizacji błędów. Chodzi tu głównie o błędy logiczne i wykonania (runtime), których kompilator zwykle nie wychwyci. Kompilator sprawdza składnię i typy, a debugger pozwala zajrzeć „do środka” działającego programu. Można zatrzymać program w wybranym miejscu (breakpoint), krokować instrukcja po instrukcji (step into, step over), podglądać wartości zmiennych, rejestrów, stos wywołań funkcji (call stack) i obserwować, jak zmienia się stan aplikacji w czasie rzeczywistym. W praktyce, w profesjonalnym programowaniu, praca z debuggerem to standard. W IDE takich jak Visual Studio, IntelliJ, Eclipse, VS Code debugowanie jest wbudowane i używane praktycznie codziennie. Moim zdaniem, kto dobrze opanuje debugger, ten dużo szybciej rozumie, co się faktycznie dzieje w kodzie, a nie tylko co „wydaje się” że się dzieje. Debugger świetnie sprawdza się przy szukaniu błędów związanych z nieprawidłowym przepływem sterowania, błędnym warunkiem w if-ach, problemami z pętlami, dereferencją pustych wskaźników, wyjątkiem w konkretnym miejscu, czy np. przy analizie wycieków pamięci. Dobre praktyki mówią też, żeby nie polegać wyłącznie na printach/logach, tylko łączyć je z debugowaniem krokowym. W nowoczesnych środowiskach można nawet debugować aplikacje webowe (np. JavaScript w przeglądarce, PHP z Xdebug), aplikacje zdalne na serwerze, a także w trybie attach do już działającego procesu. Debugger nie zastępuje testów jednostkowych ani code review, ale jest jednym z kluczowych narzędzi w całym procesie inżynierii oprogramowania.

Pytanie 12

Ile razy zostanie wykonana zaprezentowana pętla w języku PHP, zakładając, że zmienna sterująca nie jest zmieniana wewnątrz pętli?

 for ($i = 0; $i <= 10; $i++) {
    // kod pętli
}
A. Nieskończenie wiele
B. 11
C. 0
D. 10
Prawidłowa odpowiedź wynika z analizy działania pętli for w języku PHP. W przedstawionej pętli warunek iteracji jest ustawiony na '$i <= 10', co oznacza, że pętla będzie wykonywana tak długo, jak długo zmienna $i będzie mniejsza lub równa 10. Zmienna $i jest inicjalizowana wartością 0 i inkrementowana o 1 przy każdym obiegu pętli. W efekcie, pętla będzie wykonywana dla wartości $i od 0 do 10, co daje 11 iteracji. Praktycznym zastosowaniem takiej pętli może być na przykład generowanie listy numerów lub przetwarzanie elementów w tablicy. Dobrą praktyką podczas używania pętli jest również upewnienie się, że warunek zakończenia jest poprawnie zdefiniowany, aby uniknąć niezamierzonych nieskończonych iteracji. Warto także uwzględnić możliwość modyfikowania zmiennej sterującej w ciele pętli, co może prowadzić do złożonych przypadków, ale w tym konkretnym przykładzie nie mamy takiej sytuacji.

Pytanie 13

Jaką szerokość zaplanowano dla treści strony, bazując na podanej definicji CSS?

body {
  border: 2px;
  height: 600px;
  width: 560px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
A. 560 px
B. 640 px
C. 2 px
D. 600 px
Gratulacje, udzieliłeś poprawnej odpowiedzi. W definicji CSS dla elementu body, szerokość ustawiono na 560 px. Właściwość box-sizing: border-box, gwarantuje, że szerokość ta obejmuje również obramowanie. Dlatego, w praktyce, szerokość strony pozostawiona na treść wynosi 560 px. Wartości te są bardzo ważne przy projektowaniu stron internetowych, szczególnie przy tworzeniu responsywnych layoutów, gdzie musimy precyzyjnie kontrolować szerokość i rozmieszczenie elementów. Pamiętaj, że wykorzystanie odpowiednich jednostek i precyzyjne definiowanie wymiarów jest kluczowe dla zachowania poprawnej struktury strony. Dobrym nawykiem jest również stosowanie właściwości box-sizing: border-box, która ułatwia kontrolę nad rozmiarem elementów, zwłaszcza przy komplikowanych układach strony.

Pytanie 14

Jakie będzie rezultatem działania poniższego kodu PHP?

$a = $c = true; 
$b = $d = false;
if(($a && $b) || ($c && $d)) echo 'warunek1';
elseif(($a && $b) || ($c || $d)) echo 'warunek2';
elseif(($c && $d) || (!$a)) echo 'warunek3';
else echo 'warunek4';
A. warunek4
B. warunek2
C. warunek1
D. warunek3
Kod PHP zawiera kilka warunków logicznych w strukturze if-else. Przy początkowych wartościach zmiennych, $a i $c są równe true, natomiast $b i $d są false. Pierwszy warunek if sprawdza czy ($a && $b) || ($c && $d), co tłumaczy się na (true && false) || (true && false), co daje false || false, a w rezultacie false. Zatem warunek się nie spełnia i przechodzimy do kolejnego. W elseif mamy ($a && $b) || ($c || $d), co oznacza (true && false) || (true || false), co daje false || true, czyli true. Ten warunek się spełnia i wyświetla 'warunek2'. Kod przechodzi do następnego elseif tylko wtedy, gdy poprzednie warunki były false, co w tym przypadku nie ma miejsca. W praktyce, analizując kod PHP, ważne jest zrozumienie operatorów logicznych: && oznacza 'i', || oznacza 'lub', a ! oznacza negację. Prawidłowe stosowanie tych operatorów jest kluczowe w programowaniu warunkowym, pozwalając na kontrolę przepływu programu i podejmowanie decyzji w oparciu o złożone logiki. Użycie elseif pozwala na czytelne i klarowne rozgałęzienie kodu, co jest dobrą praktyką w pisaniu złożonych skryptów.

Pytanie 15

Aby osiągnąć efekt przedstawiony na ilustracji, w kodzie HTML należy zastosować znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. title
B. alt
C. dfn
D. name
Znacznik <abbr> w HTML pełni rolę semantyczną, pomagając w oznaczaniu skrótów i akronimów. Atrybut alt jest stosowany w znacznikach <img> do opisywania obrazów, co jest istotne dla dostępności i SEO, ale nie ma związku ze znacznikami tekstowymi jak <abbr>. Alt informuje o treści obrazu, co jest kluczowe dla użytkowników niewidzących, lecz nie pełni funkcji rozwijania skrótów tekstowych. Atrybut dfn służy do definiowania terminów w tekście, zazwyczaj używany w połączeniu ze znacznikiem <dfn>, a nie <abbr>. Chociaż dfn dostarcza definicji, nie jest używany do rozwijania skrótów. Atrybut name nie jest związany z rozwijaniem tekstu ani z <abbr>. Jest on stosowany głównie w formularzach HTML do identyfikacji elementów, takich jak <input>, umożliwiając ich rozróżnienie. Mylenie tych atrybutów wynika często z braku zrozumienia ich specyficznych zastosowań w kontekście HTML i dostępności. Właściwe używanie atrybutów to klucz do tworzenia semantycznie poprawnych i dostępnych stron internetowych.

Pytanie 16

Jakim formatem kompresji dźwięku, który nie traci jakości, jest?

A. FLAC
B. MP3
C. WWA
D. AAC
MP3, AAC i WWA to formaty stratne, co oznacza, że podczas kompresji dźwięku następuje utrata pewnych informacji, co może prowadzić do pogorszenia jakości dźwięku. MP3, jako jeden z najpopularniejszych formatów audio, stosuje algorytmy kompresji, które eliminują dźwięki, które są mniej słyszalne dla ludzkiego ucha, w celu zmniejszenia rozmiaru pliku. Choć MP3 jest szeroko stosowane w aplikacjach muzycznych i odtwarzaczach, jego jakość nie dorównuje bezstratnym formatom, takim jak FLAC. Podobnie AAC, rozwinięcie MP3, także stosuje stratną kompresję i jest często wykorzystywane w serwisach streamingowych oraz jako format dźwięku w iPodach i iTunes. Pomimo lepszej jakości dźwięku w porównaniu do MP3, AAC wciąż nie oferuje tej samej jakości dźwięku co FLAC. WWA, czyli Windows Media Audio, to kolejny format, który wykorzystuje stratną kompresję. Choć zapewnia lepszą jakość dźwięku przy niższych bitratach, to również nie jest w stanie zachować pełnej jakości oryginalnego nagrania. Użytkownicy, którzy poszukują najwyższej jakości dźwięku, powinni unikać formatów stratnych na rzecz FLAC, który zachowuje wszystkie szczegóły dźwięku.

Pytanie 17

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

A. Styl wewnętrzny, Styl zewnętrzny, Rozciąganie stylu
B. Styl lokalny, Styl wewnętrzny, Styl zewnętrzny
C. Rozciąganie stylu, Styl zewnętrzny, Styl lokalny
D. Styl zewnętrzny, Wydzielone bloki, 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 18

Kto z wymienionych zajmuje się stałym przygotowaniem systemu bazy danych do działania w produkcji, zarządzaniem kontami użytkowników oraz instalowaniem nowych wersji systemu bazodanowego?

A. Administratorzy systemu bazy danych
B. Administratorzy serwerów oraz sieci komputerowych
C. Projektanci i programiści Systemu Zarządzania Bazą Danych
D. Twórcy narzędzi programistycznych
Administratorzy systemu bazy danych (DBA) odgrywają kluczową rolę w zarządzaniu bazami danych w organizacji. Ich głównym zadaniem jest zapewnienie ciągłej dostępności systemu bazy danych, co obejmuje zarówno przygotowanie środowiska do pracy produkcyjnej, jak i monitorowanie jego wydajności. DBA są odpowiedzialni za zarządzanie użytkownikami, co oznacza, że tworzą i usuwają konta użytkowników oraz przydzielają odpowiednie uprawnienia dostępu, co jest istotne dla bezpieczeństwa danych. Dodatkowo, DBA instalują nowe wersje systemu bazodanowego, co wiąże się z aktualizacjami oprogramowania, które często zawierają poprawki błędów oraz nowe funkcje. Przykładem takiej praktyki jest regularne tworzenie kopii zapasowych danych oraz ich przywracanie w przypadku awarii. DBA muszą także znać standardy i dobre praktyki branżowe, takie jak modelowanie danych czy optymalizacja zapytań SQL, co wpływa na efektywność działania bazy danych. Współpraca z innymi działami IT, takimi jak programiści czy inżynierowie systemowi, jest również niezbędna dla sprawnego funkcjonowania systemów opartych na bazach danych.

Pytanie 19

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

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

Pytanie 20

Co należy zweryfikować przed wykonaniem kopii zapasowej bazy danych, aby było możliwe jej późniejsze odtworzenie w poprawny sposób?

A. możliwość udostępnienia bazy danych
B. poprawność składni zapytań
C. spójność bazy danych
D. prawa dostępu do serwera bazy danych
Spójność bazy danych jest kluczowym aspektem, który należy zweryfikować przed wykonaniem kopii bezpieczeństwa. Oznacza to, że wszystkie dane w bazie powinny być poprawne, zgodne i w stanie nienaruszonym. W przypadku, gdy baza danych zawiera niezgodne dane, na przykład w wyniku przerwania transakcji lub błędów aplikacji, kopia zapasowa może być niewłaściwa lub niekompletna. Sprawdzanie spójności można realizować poprzez techniki takie jak walidacja danych, które mogą obejmować sprawdzanie kluczy obcych, unikalności oraz reguł integralności. Na przykład, w systemach zarządzania bazami danych (DBMS) często dostępne są wbudowane narzędzia do analizy i naprawy spójności. Dobrą praktyką jest także wykonywanie kopii zapasowych w czasie, gdy baza jest w trybie offline lub w trakcie minimalnego obciążenia, aby zminimalizować ryzyko utraty spójności. W ten sposób zwiększamy szansę na prawidłowe przywrócenie danych w przypadku awarii.

Pytanie 21

Jakie metody są związane z predefiniowanym obiektem Date w języku JavaScript?

A. concat() oraz pop()
B. fromCodePoint()
C. row()
D. getMonth() oraz getDay()
W języku JavaScript obiekt Date jest predefiniowanym obiektem, który umożliwia operacje związane z datami i czasem. Metody getMonth() oraz getDay() są kluczowymi funkcjami, które pozwalają na uzyskanie informacji o dacie. Metoda getMonth() zwraca miesiąc danej daty, przy czym wartości są indeksowane od 0 (styczeń) do 11 (grudzień). Z kolei metoda getDay() zwraca dzień tygodnia, gdzie wartości wynoszą od 0 (niedziela) do 6 (sobota). Przykładowe użycie tych metod może wyglądać następująco: var date = new Date('2023-10-05'); var month = date.getMonth(); var day = date.getDay(); console.log(month); // 9, console.log(day); // 4. Zgodnie z dokumentacją ECMAScript, obiekt Date i jego metody są standardem w JavaScript, co czyni je niezbędnymi w programowaniu webowym oraz aplikacjach. Dzięki tym metodom programiści mogą efektywnie zarządzać datami w różnych kontekstach, od planowania wydarzeń po analizy czasowe.

Pytanie 22

Na tabeli dania, której wiersze zostały pokazane poniżej, wykonano przedstawioną kwerendę:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze ta kwerenda?
idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
63wierzbowy przysmak35
72Mintał w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 2
B. 13
C. 5
D. 8
Twoja odpowiedź jest jak najbardziej trafna. To zapytanie SQL, które mamy, wybiera z tabeli 'dania' te wiersze, gdzie 'typ' jest mniejszy niż 3, a 'cena' nie przekracza 30. Wiem, że dodanie 'LIMIT 5' może wydawać się istotne, ale w tym przypadku tak naprawdę nie wpływa to na wynik, bo tylko jeden wiersz pasuje – danie 'Gazpacho'. Warto pamiętać, że w SQL, gdy używamy warunku 'WHERE', łączymy je z operatorem AND, co oznacza, że muszą być spełnione jednocześnie. Klauzula 'LIMIT' jest przydatna w różnych sytuacjach, ale tutaj, nawet z ograniczeniem do 5, i tak mamy tylko jeden wynik.

Pytanie 23

Funkcjonalność obejmującą edycję kodu źródłowego, jego kompilację, tworzenie zasobów programu, baz danych i komponentów udostępnia

A. debugger
B. Notpead++
C. środowisko IDE
D. PhpMyAdmin
Poprawna odpowiedź to środowisko IDE, czyli Integrated Development Environment. To właśnie IDE łączy w jednym narzędziu kilka kluczowych funkcji: edycję kodu źródłowego z podświetlaniem składni, systemem podpowiedzi (intellisense), często także automatyczne formatowanie kodu; kompilację lub uruchamianie programu (np. budowanie projektu w C#, Javie czy C++ jednym kliknięciem); zarządzanie zasobami aplikacji, takimi jak pliki konfiguracyjne, grafiki, szablony, pliki językowe; integrację z systemami kontroli wersji typu Git; a w wielu przypadkach też kreatory do tworzenia baz danych, modeli ORM, migracji i komponentów aplikacji. W praktyce, gdy programista pracuje w Visual Studio, IntelliJ IDEA, PhpStorm czy Eclipse, to właśnie korzysta z IDE. Z mojego doświadczenia, w pracy zespołowej korzystanie z IDE jest dziś standardem branżowym, bo przyspiesza development, zmniejsza liczbę błędów i ułatwia utrzymanie dużych projektów. IDE bardzo często ma wbudowany debugger, profiler, narzędzia do testów jednostkowych, integrację z serwerami aplikacyjnymi czy kontenerami (np. Docker). Dobre praktyki mówią, żeby wykorzystywać możliwości IDE maksymalnie: skróty klawiaturowe, refaktoryzację (automatyczna zmiana nazwy metody, wyodrębnianie funkcji), inspekcje kodu i linters. W projektach webowych IDE potrafi też generować szkielet aplikacji, podpowiadać składnię HTML, CSS, JavaScript i PHP, a nawet integrować się z narzędziami bazodanowymi, dzięki czemu można z jednego miejsca zarządzać kodem, strukturą bazy i konfiguracją serwera. Dlatego właśnie tylko odpowiedź „środowisko IDE” spełnia cały opis zawarty w pytaniu.

Pytanie 24

Ile razy zostanie wykonana pętla w języku PHP, jeśli zmienna kontrolna pozostaje niezmienna podczas działania pętli?

for($i=0; $i<=10; $i++) {
        .......
}
A. Nieskończoność
B. 0
C. 10
D. 11
Rozpatrując pętlę for w kontekście języka programowania PHP należy zwrócić uwagę na strukturę i logikę jej działania. Pętla zaczyna się od inicjalizacji zmiennej sterującej w tym przypadku $i=0. Warunek końcowy to $i<=10 co oznacza że pętla będzie kontynuowana dopóki wartość $i jest mniejsza lub równa 10. W praktyce oznacza to że pętla wykona się dla wartości od 0 do 10 włącznie co daje 11 iteracji. Błędne wyobrażenie że pętla wykona się 10 razy może wynikać z niepoprawnego zrozumienia warunku końcowego. Wartość logiczna $i<=10 pozwala na dodatkową iterację dla wartości $i=10. Kolejny błąd mógłby dotyczyć nieskończonej liczby iteracji co mogłoby być prawdziwe w przypadku braku prawidłowo określonego warunku końcowego lub błędu logicznego zmieniającego warunek w nieskończoność ale nie w tym przypadku. Warunek $i++ poprawnie i przewidywalnie zwiększa wartość $i w każdej iteracji unikając takich problemów. Zrozumienie działania pętli for i poprawne określenie warunków początkowych i końcowych oraz kroku iteracji jest kluczowe dla prawidłowego stosowania tej struktury kontrolnej w programowaniu. Takie zrozumienie pozwala na efektywne wykorzystanie pętli w różnych zadaniach programistycznych unikając potencjalnych błędów logicznych i zapewniając że kod działa zgodnie z założeniami.

Pytanie 25

Przedstawiona transformacja obrazu, w edytorze grafiki rastrowej, została wykonana przy pomocy filtru

Ilustracja do pytania
A. redukcja szumu.
B. błysk gradientowy.
C. rozmycia Gaussa.
D. szum HSV.
Gratulacje, twoja odpowiedź jest prawidłowa. Wybrałeś 'rozmycie Gaussa', które jest odpowiednią odpowiedzią. Na przedstawionym obrazie widzimy, że obraz po prawej stronie jest rozmyty w sposób ciągły i jednolity - to jest charakterystyczne dla rozmycia Gaussa. Filtr rozmycia Gaussa jest powszechnie stosowany w edytorach grafiki rastrowej do uzyskania efektu miękkiego rozmycia, który symuluje efekt obserwacji obiektu przez nieostre medium lub z dużą głębią ostrości. Jest to praktyczne narzędzie, które ma szerokie zastosowanie zarówno w fotografii, jak i w grafice komputerowej. Filtr ten jest często używany do poprawy estetyki obrazów, redukcji szumu i artefaktów, a także w szeroko pojętym przetwarzaniu obrazów, takim jak detekcja krawędzi. Jego nazwa pochodzi od matematyka Karla Gaussa, który opracował koncepcję rozkładu normalnego, na którym opiera się ten filtr.

Pytanie 26

W sekcji <head> (w elemencie <meta ... >) witryny www nie umieszcza się danych dotyczących

A. autora
B. automatycznego odświeżania
C. kodowania
D. typu dokumentu
Umieszczanie informacji o autorze, kodowaniu oraz automatycznym odświeżaniu w znaczniku <head> jest praktyką zgodną ze standardami, jednak występują nieporozumienia co do roli i miejsca deklaracji typu dokumentu. Wiele osób może błędnie zakładać, że typ dokumentu można umieścić w sekcji <head>, co jest nieprawidłowe. Deklaracja DOCTYPE, która informuje przeglądarkę o wersji HTML, musi być umieszczona przed znacznikiem <html> w kodzie. Tymczasem w sekcji <head> umieszczamy metadane, które mają bezpośredni wpływ na interpretację zawartości strony i jej interakcję z użytkownikami oraz wyszukiwarkami. Często popełnianym błędem jest mylenie tych dwóch elementów, co prowadzi do nieprawidłowego kodowania strony. Odpowiednie zrozumienie struktury dokumentu HTML jest kluczowe dla jego prawidłowego funkcjonowania; nieprawidłowe umiejscowienie deklaracji DOCTYPE może prowadzić do nieoczekiwanych zachowań w przeglądarkach, takich jak błędy w renderowaniu lub problemy z kompatybilnością. Dlatego ważne jest, aby znać zasady dotyczące tworzenia struktury dokumentów HTML, co przyczynia się do lepszej jakości kodu oraz większej wydajności stron internetowych.

Pytanie 27

Jak przeglądarka zaprezentuje kod HTML formularza?

<form>
stanowisko: <input type="text"><br>
obowiązki:<br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>
sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>
pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">
testy oprogramowania<br>
</form>
Ilustracja do pytania
A. B
B. D
C. A
D. C
Prawidłowa odpowiedź to D ponieważ kod HTML formularza definiuje trzy pola wyboru typu checkbox z różnymi atrybutami wpływającymi na ich stan początkowy. Pierwsze pole wyboru dotyczące sporządzania dokumentacji posiada atrybuty disabled i checked co oznacza że będzie zaznaczone ale nieaktywne dla użytkownika. Oznacza to że użytkownik nie może zmienić jego stanu w przeglądarce. Drugie pole dotyczące pisania kodu ma tylko atrybut checked co oznacza że będzie zaznaczone i dostępne do edycji. Trzecie pole dotyczące testów oprogramowania nie posiada żadnego z tych atrybutów więc będzie domyślnie niezaznaczone i edytowalne. To zachowanie jest zgodne ze standardami HTML i dobrymi praktykami kodowania gdzie atrybuty kontrolują interakcje użytkownika z formularzami. Wiedza ta jest kluczowa dla projektantów stron internetowych aby zapewnić prawidłowe działanie formularzy i poprawne doświadczenie użytkownika. Formularze są podstawowym elementem interakcji z użytkownikiem dlatego zrozumienie ich działania jest niezbędne w tworzeniu funkcjonalnych i intuicyjnych interfejsów użytkownika.

Pytanie 28

W języku JavaScript zdefiniowano obiekt. Aby uzyskać wartość atrybutu, można użyć następującego zapisu:

obiekt = { q: 1, w: 2, e: 3, r:4 };
A. obiekt->w
B. obiekt:w
C. obiekt.w
D. obiekt::w
Odpowiedź 'obiekt.w' jest prawidłowa, ponieważ w JavaScript używamy notacji kropkowej do uzyskiwania dostępu do właściwości obiektów. W tym przypadku mamy obiekt zadeklarowany jako 'obiekt = { q: 1, w: 2, e: 3, r:4 };'. Aby uzyskać wartość przypisaną do właściwości 'w', wystarczy użyć notacji kropkowej i napisać 'obiekt.w', co zwróci wartość '2'. Tego typu dostęp do danych jest standardem w JavaScript i jest szeroko stosowany w projektach, co pozwala na efektywne i czytelne manipulowanie danymi. Przykładowo, możemy użyć tej techniki w funkcjach, które przetwarzają obiekty lub w kodzie, który reaguje na zdarzenia, gdzie często zachodzi potrzeba uzyskania konkretnych wartości z obiektów. Dobrą praktyką jest również używanie notacji kropkowej, gdy właściwości obiektu mają znane i stabilne nazwy, co zwiększa czytelność kodu.

Pytanie 29

Za pomocą podanego zapytania w tabeli zostanie wykonane

ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;
A. Zmieniono typ kolumny nazwa2 na DOUBLE.
B. Dodana kolumna nazwa2, która nie przyjmuje wartości domyślnej.
C. Została zmieniona nazwa kolumny z nazwa1 na nazwa2.
D. Dodana kolumna nazwa2 o typie zmiennoprzecinkowym.
Poprawna odpowiedź, czyli dodanie kolumny nazwa2 typu zmiennoprzecinkowego (DOUBLE), jest zgodna z poleceniem przedstawionym w zapytaniu SQL. Instrukcja ALTER TABLE jest używana do modyfikacji istniejącej tabeli, a w tym przypadku dodajemy nową kolumnę. Typ DOUBLE oznacza zmiennoprzecinkową reprezentację liczb, co jest przydatne w sytuacjach, gdy potrzebujemy precyzyjnie przechowywać wartości liczbowe z ułamkami, takie jak ceny, wyniki pomiarów czy dane statystyczne. W praktyce, użycie zmiennoprzecinkowego typu danych jest standardową praktyką w bazach danych, kiedy musimy operować na liczbach, które mogą mieć wartości dziesiętne. Dodatkowo, opcja NOT NULL zapewnia, że kolumna ta zawsze będzie miała przypisaną wartość, co przyczynia się do integralności danych w bazie. Zastosowanie takiego rozwiązania jest niezbędne w wielu aplikacjach, gdzie precyzyjne obliczenia są kluczowe, na przykład w systemach finansowych czy analizach danych.

Pytanie 30

Interpreter PHP zgłosi błąd i nie zrealizuje kodu, jeśli programista:

A. będzie definiował zmienne w obrębie warunku
B. nie umieści średnika po wyrażeniu w instrukcji if, gdy po nim występuje sekcja else
C. pobierze dane z formularza, w którym pole input pozostało puste
D. będzie pisać kod bez zastosowania wcięć
W przypadku instrukcji warunkowej if w PHP, każdy blok kodu, który jest wykonywany w przypadku prawdziwego warunku, powinien być poprawnie zakończony średnikiem, z wyjątkiem konstrukcji, które są wstawiane bezpośrednio w ramy instrukcji, jak else. Jeżeli programista nie postawi średnika po wyrażeniu if, a następnie użyje sekcji else, to interpreter PHP zgłosi błąd składniowy. Jest to istotne, ponieważ każda linia kodu w PHP, która wykonuje jakąkolwiek operację, musi być zakończona średnikiem, co jest standardową praktyką w językach programowania. Przykład poprawnej konstrukcji: if ($warunek) { // kod } else { // kod }. W przypadku braku średnika może to prowadzić do nieprzewidzianych błędów w kodzie, co z kolei wpłynie na stabilność aplikacji. Przestrzeganie takich zasad jest kluczowe dla osiągnięcia dobrej jakości kodu oraz jego łatwości w utrzymaniu.

Pytanie 31

Który format graficzny rastrowy jest obsługiwany przez przeglądarki internetowe?

A. FLIF
B. TGA
C. PNG
D. PCX
Format PNG (Portable Network Graphics) to jeden z tych formatów, które są naprawdę popularne w sieci. Przeglądarki go dobrze obsługują, co jest dużym plusem. Został stworzony jako lepsza wersja formatu GIF i do tego ma większą paletę kolorów oraz wspiera przezroczystość. To oznacza, że jakość obrazka pozostaje wysoka, kiedy go zapisujesz, bo PNG korzysta z bezstratnej kompresji. Dodatkowo, ten format pozwala na różne stopnie przezroczystości, co czyni go idealnym do różnych grafik w Internecie, na przykład logo czy ikony. Fajnie, że jest zgodny z HTML5 i CSS, bo to ułatwia pracę przy projektowaniu stron. Można go używać z kolorami w trybie RGBA, dzięki czemu można dodawać fajne efekty z przezroczystością, co zdecydowanie poprawia wygląd stron. W praktyce wiele witryn korzysta z PNG, bo nie tylko zachowuje jakość, ale też nie zajmuje dużo miejsca na serwerze, co sprawia, że strony ładują się szybciej i użytkownicy mają lepsze doświadczenia.

Pytanie 32

Kwerenda ALTER TABLE artykuly MODIFY cena float ma na celu wykonanie modyfikacji w tabeli artykuly?

A. zmienić nazwę kolumny cena na float
B. usunąć kolumnę cena, która jest typu float
C. wprowadzić kolumnę cena o typie float, o ile jeszcze nie istnieje
D. zmienić typ na float dla kolumny cena
Kwerenda ALTER TABLE artykuly MODIFY cena float ma na celu zmianę typu kolumny 'cena' w tabeli 'artykuly' na typ float. Typ float jest używany do przechowywania liczb zmiennoprzecinkowych, co jest szczególnie przydatne w przypadku cen, które mogą mieć ułamkowe wartości. Przykładem zastosowania tej kwerendy może być sytuacja, w której początkowo kolumna 'cena' była zdefiniowana jako typ integer, co ograniczałoby możliwość przechowywania wartości takich jak 19.99. Zmiana typu na float pozwala na większą precyzję, co jest zgodne z najlepszymi praktykami w zarządzaniu danymi finansowymi. Ważne jest, aby przed zmianą typu kolumny upewnić się, że wszystkie istniejące dane są zgodne z nowym typem, aby uniknąć błędów konwersji. Ostatecznie, korzystając z tego polecenia, dbamy o integralność danych oraz ich prawidłowe reprezentowanie, co jest kluczowe w każdej aplikacji związanej z zarządzaniem danymi.

Pytanie 33

Jakie z poniższych stwierdzeń poprawnie opisuje zdefiniowaną tabelę?

CREATE TABLE dane (kolumna INTEGER(3));
A. Tabela o nazwie dane posiada jedną kolumnę liczb całkowitych.
B. Tabela ma jedną kolumnę, która zawiera tablice z trzema elementami.
C. Tabela o nazwie dane zawiera trzy kolumny typu całkowitego.
D. Kolumny tabeli dane są nazywane: kolumna 1, kolumna2, kolumna3.
Odpowiedź jest prawidłowa, ponieważ w zdefiniowanej tabeli 'dane' mamy jedną kolumnę o nazwie 'kolumna', której typ danych to INTEGER. Wartość 3 w definicji INTEGER(3) oznacza, że kolumna może przechowywać liczby całkowite, a nie liczb o długości 3, co często jest mylone. W praktyce INTEGER w SQL nie ma ograniczenia do przechowywania tylko trzech cyfr; to po prostu sugeruje, że przyjmuje się, iż liczby będą miały długość do trzech cyfr, co jest w rzeczywistości ignorowane, ponieważ SQL nie narzuca takich ograniczeń. Wartości w tej kolumnie mogą być zarówno jednocyfrowe, jak i trzycyfrowe. W kontekście projektowania baz danych, dobrą praktyką jest nadawanie kolumnom zrozumiałych nazw oraz dokładne określanie ich typów danych, co ułatwia późniejsze zarządzanie danymi. Poprawne zdefiniowanie tabeli jest kluczowe dla wydajności bazy danych oraz jej integralności, dlatego dla kolumny INTEGER nie ma potrzeby dodatkowego określania ograniczeń, chyba że są one wymagane w kontekście aplikacyjnym.

Pytanie 34

W przypadku przedstawionego fragmentu kodu walidator HTML zgłosi błąd, ponieważ

<img src="kwiat.jpg alt="kwiat">
A. nie odnaleziono pliku kwiat.jpg
B. nie zamknięto cudzysłowu
C. użyto niewłaściwego znacznika do wyświetlenia obrazu
D. wprowadzono nieznany atrybut alt
Poprawna odpowiedź to nie domknięto cudzysłowu ponieważ w kodzie HTML atrybuty muszą być poprawnie zamknięte aby poprawnie interpretować ich wartości. W przedstawionym fragmencie kodu dla znacznika img brakuje końcowego cudzysłowu po wartości src co stanowi błąd składniowy. Tego typu błędy mogą prowadzić do nieprawidłowego działania strony ponieważ przeglądarka nie jest w stanie jednoznacznie określić końca wartości atrybutu co może skutkować nieprawidłowym renderowaniem danych. Zgodnie z najlepszymi praktykami każde otwarte cudzysłowie powinno być zamknięte aby zapewnić poprawną interpretację kodu. Ponadto stosowanie poprawnego zamykania cudzysłowów zwiększa czytelność kodu co jest istotne przy współpracy zespołowej i ułatwia jego utrzymanie. Warto także korzystać z walidatorów HTML które automatycznie wykrywają takie błędy pomagając w ich szybkim usunięciu. Tego rodzaju narzędzia są kluczowe w procesie tworzenia stron internetowych ponieważ umożliwiają weryfikację zgodności kodu z obowiązującymi standardami co ma bezpośredni wpływ na jego wydajność i kompatybilność z różnymi przeglądarkami.

Pytanie 35

W tabeli mieszkancy znajdują się dane o osobach z całej Polski. Aby zliczyć, ile różnych miast jest zawartych w tej tabeli, należy wykonać kwerendę

A. SELECT DISTINCT miasto FROM mieszkancy;
B. SELECT COUNT(DISTINCT miasto) FROM mieszkancy;
C. SELECT COUNT(miasto) FROM mieszkancy DISTINCT;
D. SELECT COUNT(miasto) FROM mieszkancy;
Wybrana kwerenda SELECT COUNT(DISTINCT miasto) FROM mieszkancy; jest poprawna, ponieważ pozwala na zliczenie unikalnych miast w tabeli mieszkancy. Funkcja DISTINCT eliminuje duplikaty, co oznacza, że tylko różne wartości miasto będą brane pod uwagę w procesie zliczania. Użycie COUNT w połączeniu z DISTINCT jest standardową praktyką w SQL, która zapewnia dokładne wyniki przy analizie danych. Taka metoda jest szczególnie przydatna w przypadku dużych zbiorów danych, gdzie wiele rekordów może odnosić się do tego samego miasta. Na przykład, jeśli mamy 1000 rekordów, z których 200 dotyczy Warszawy, 300 Krakowa oraz 500 Gdańska, kwerenda zwróci wynik 3, ponieważ tylko trzy różne miasta zostały uwzględnione. Tego typu zapytania są powszechne w raportach analitycznych, gdzie istotne jest zrozumienie dystrybucji danych oraz identyfikacja różnych kategorii w zbiorze, co jest niezbędne dla podejmowania decyzji biznesowych.

Pytanie 36

W stylu CSS zdefiniowano klasę uzytkownik:

p.uzytkownik {
    color: blue;
}
Na stronie będą wyświetlane czcionką w kolorze niebieskim:
A. wszystkim elementom w sekcji <body> z przypisaną klasą uzytkownik.
B. tylko elementy tekstowe typu <p>, <h1>.
C. paragrafy, do których została przypisana klasa uzytkownik.
D. wszystkie akapity.
Deklaracja selektora p.uzytkownik oznacza w CSS połączenie selektora typu z selektorem klasy. Innymi słowy: przeglądarka wybierze tylko te elementy <p>, które mają w atrybucie class wpisaną klasę uzytkownik, np. <p class="uzytkownik">Treść</p>. Sama kropka przed nazwą klasy definiuje selektor klasy, a litera p przed kropką zawęża go wyłącznie do paragrafów. Gdyby w stylu było samo .uzytkownik { color: blue; }, wtedy reguła objęłaby wszystkie elementy z tą klasą, niezależnie czy to <p>, <div>, <h1> czy cokolwiek innego. Moim zdaniem to jedno z podstawowych, ale bardzo ważnych rozróżnień w CSS: kombinacja selektorów pozwala dokładnie kontrolować, które elementy są stylowane. Dzięki temu nie trzeba nadawać unikalnych klas dla każdego typu elementu, tylko łączyć selektor typu (np. p, h1, li) z klasą, gdy jest to potrzebne. W praktyce w projektach spotyka się dużo takich zapisów: np. li.active, a.button-primary, input.error. To pomaga utrzymać porządek w arkuszu stylów i unikać niepotrzebnie szerokiego działania reguł. Warto też zwrócić uwagę na specyficzność: p.uzytkownik ma większą specyficzność niż samo p, ale mniejszą niż np. #idElementu. Przy konfliktach stylów przeglądarka bierze to pod uwagę. Dobra praktyka jest taka, żeby nie pisać zbyt ogólnych selektorów, które kolorują „pół strony” przypadkiem. Taki selektor jak w pytaniu jest bezpieczny i precyzyjny – wiadomo dokładnie, że kolor niebieski trafi tylko do tych paragrafów, którym świadomie przypiszemy klasę uzytkownik w HTML.

Pytanie 37

Aby tworzyć strony internetowe w sposób graficzny, należy skorzystać z

A. programu MS Office Picture Manager
B. przeglądarki internetowej
C. programu typu WYSIWYG
D. edytora CSS
Programy typu WYSIWYG (What You See Is What You Get) są narzędziami umożliwiającymi tworzenie stron internetowych w sposób wizualny, co znacznie ułatwia proces projektowania. Użytkownik może edytować strony bez konieczności znajomości języków programowania, takich jak HTML czy CSS, ponieważ te programy generują kod automatycznie na podstawie działań użytkownika. Przykładami takich aplikacji są Adobe Dreamweaver, Wix czy WordPress, które pozwalają na łatwe dodawanie treści, stylów i multimediów. Dzięki zastosowaniu programów WYSIWYG, projektanci mogą skupić się na estetyce i funkcjonalności stron, co jest zgodne z dobrymi praktykami branżowymi, które promują użyteczność i dostępność. Warto również zauważyć, że wiele z tych narzędzi oferuje szereg szablonów i komponentów, które przyspieszają proces tworzenia i zapewniają zgodność z aktualnymi standardami webowymi (np. W3C).

Pytanie 38

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

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

Pytanie 39

W języku HTML, aby uzyskać efekt taki jak na przykładzie, należy zastosować konstrukcję

Duży tekst zwykły tekst

A. <p><strike>Duży tekst zwykły tekst</p>
B. <p><big>Duży tekst</p> zwykły tekst
C. <p><big>Duży tekst</big> zwykły tekst</p>
D. <p><strike>Duży tekst</strike> zwykły tekst</p>
W języku HTML, użycie znacznika <big> jest właściwym sposobem na zwiększenie rozmiaru tekstu, co w efekcie pozwala na wyróżnienie go w kontekście pozostałej treści. Znacznik ten jest jednak przestarzały i niezalecany w nowoczesnych praktykach, ponieważ CSS oferuje bardziej elastyczne i zaawansowane metody stylizacji. Przykładowo, zamiast stosować <big>, można wykorzystać stylizację CSS, aby uzyskać podobny efekt, co zwiększa kontrolę nad wyglądem elementów. Ponadto, zastosowanie znacznika <p> jako kontenera dla tekstu zapewnia semantyczną strukturę dokumentu, co jest zgodne z wytycznymi W3C i poprawia dostępność. Przykładowo, użycie CSS może wyglądać tak: <p style='font-size: 1.5em;'>Duży tekst</p>zwykły tekst, co jest bardziej zalecane dla zachowania zgodności ze standardami. Warto pamiętać, że unikanie przestarzałych znaczników i stosowanie CSS zwiększa elastyczność i estetykę projektów HTML.

Pytanie 40

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.