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: 8 czerwca 2026 09:42
  • Data zakończenia: 8 czerwca 2026 10:04

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

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

A. Inwersja.
B. Barwienie.
C. Progowanie.
D. Krzywe.
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 2

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. zliczanie liczby wizyt na stronie
B. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
C. pokazanie ciasteczka z zapisanym parametrem
D. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę
W pytaniu zawarto kilka opcji związanych z działaniem ciasteczek w PHP. Pierwsza z nich mówi o wyświetleniu ciasteczka z zapisaną zmienną co nie jest zgodne z kodem, który nie zawiera żadnej funkcji wyświetlającej jak echo. Ciasteczka służą do przechowywania danych po stronie klienta i mogą być wykorzystywane do wielu celów, ale ich wyświetlenie nie jest bezpośrednim efektem działania kodu. Druga opcja wspomina o zapisaniu danych do ciasteczka tylko przy pierwszym uruchomieniu strony. Jest to częściowa prawda, ponieważ pierwsze uruchomienie inicjuje ciasteczko, ale przy każdej kolejnej wizycie liczba odwiedzin jest aktualizowana a nie pozostaje stała. Ostatnia z niepoprawnych odpowiedzi sugeruje, że za każdym odświeżeniem zapisuje się wartość 1, co jest błędne ponieważ kod zwiększa wartość o 1 przy każdym odświeżeniu strony. Typowym błędem myślowym jest założenie, że ciasteczka są statyczne lub że ich funkcjonalność jest ograniczona do prostego przechowywania danych bez logiki związanej z ich aktualizacją czy modyfikacją w ramach sesji użytkownika. Ciasteczka są elastycznym narzędziem, które może być używane w wielu zaawansowanych scenariuszach, jednak ich manipulacja musi być dobrze zrozumiana by uniknąć nieprawidłowych wniosków czy implementacji.

Pytanie 3

Dla jakiej wartości zmiennej x instrukcja warunkowa w JavaScript jest spełniona?

if ((x < -5) || (x > 2))
    x++;
A. -4
B. -1
C. 3
D. 2
W danym przykładzie mamy do czynienia z instrukcją warunkową w języku JavaScript, która sprawdza, czy zmienna x spełnia jedno z dwóch warunków: x jest mniejsze od -5 lub x jest większe od 2. Operator logiczny OR (||) oznacza, że wystarczy spełnienie jednego z tych warunków, aby kod wewnętrzny został wykonany. Dla wartości x równej 3, warunek (x > 2) jest spełniony, ponieważ 3 jest większe od 2. W rezultacie instrukcja x++ zostanie wykonana, co oznacza inkrementację zmiennej x, czyli zwiększenie jej wartości o 1. Jest to przykład typowego zastosowania operatorów logicznych w programowaniu do kontroli przepływu programu. W praktyce umiejętność stosowania takich instrukcji jest kluczowa w tworzeniu kodu zdolnego do dynamicznej reakcji na różne warunki wejściowe. Ponadto, użycie operatora inkrementacji jest zgodne z najlepszymi praktykami w optymalizacji kodu, gdyż jest to szybki i efektywny sposób na modyfikację wartości liczbowych.

Pytanie 4

Jakie oznaczenie w języku PHP wskazuje na komentarz wieloliniowy?

A. //
B. #
C. /* */
D. <!-- -->
Komentarze wieloliniowe w języku PHP definiuje zapis /* */. Umożliwia on umieszczanie dłuższych opisów lub wyjaśnień w kodzie, które są ignorowane przez interpreter PHP. Użycie tego typu komentarzy jest szczególnie przydatne w sytuacjach, kiedy chcemy opisać złożone fragmenty kodu lub zablokować dużą ilość kodu w czasie testowania. Przykładem może być zasłonięcie sekcji kodu, która nie jest aktualnie potrzebna: /* echo 'To jest test'; */. Warto pamiętać, że komentarze powinny być używane do poprawy czytelności kodu, co jest zgodne z dobrą praktyką programistyczną. Zaleca się również stosowanie komentarzy w sposób przemyślany, aby nie tworzyć nadmiernej ilości niepotrzebnych informacji, co mogłoby wprowadzać chaos w projekcie. W PHP można także łączyć różne typy komentarzy, co pozwala na elastyczne i czytelne dokumentowanie kodu.

Pytanie 5

Który z przedstawionych ciągów znaków nie pasuje do wzorca wyrażenia regularnego określonego poniżej?

(([A-ZŁŻ][a-ząęóźżćńś]{2,})(-[A-ZŁŻ][a-ząęóźżćńś]{2,})?)
A. Kasprowicza
B. Jelenia Góra
C. Nowakowska-Kowalska
D. Kowalski
Wzorce wyrażeń regularnych stosowane są do dokładnego dopasowywania lub przekształcania tekstu. Podany wzorzec wymaga, by ciąg tekstu zaczynał się dużą literą, po której następuje co najmniej dwie małe litery, opcjonalnie kontynuowane przez myślnik i kolejną sekwencję dużej i co najmniej dwóch małych liter. Błędem jest uznanie za poprawne ciągów zawierających odstęp, jak Jelenia Góra, który nie spełnia tego wymogu, gdyż spacja nie jest dozwolona w środku wzorca. Typowym błędnym przekonaniem jest myślenie, że każda sekwencja zaczynająca się dużą literą będzie pasować, co nie jest prawdą, ponieważ struktura musi być jednorodna bez przerw, takich jak spacje. Wyrażenia regularne są użyteczne w programowaniu przy walidacji danych wejściowych, gdzie musimy sprawdzić, czy dane spełniają określone kryteria. Często stosuje się je do filtrowania danych lub wyszukiwania specyficznych informacji w ciągach tekstowych. Zrozumienie ich logiki pomaga unikać błędów i skutecznie analizować tekst, co jest kluczowe w pracy z danymi w IT. Praktyka z wyrażeniami regularnymi pozwala lepiej kontrolować i przetwarzać skomplikowane struktury tekstowe, co jest nieocenioną umiejętnością w zawodach związanych z programowaniem i analizą danych.

Pytanie 6

Tabele Osoby oraz Adresy są ze sobą połączone relacją typu jeden do wielu. Jakie zapytanie SQL powinno być użyte, aby poprawnie wyświetlić nazwiska oraz odpowiadające im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby.Adresy_id=Adresy.id FROM Osoby, Adresy
B. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id=Adresy.id
C. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id=Adresy.id
D. SELECT nazwisko, Miasto FROM Osoby, Adresy
Użycie składni JOIN w zapytaniu SQL to naprawdę dobra decyzja, jeśli chodzi o pokazywanie powiązanych danych z różnych tabel w bazie danych. W odpowiedzi zastosowałeś INNER JOIN, co jest jednym z tych najpopularniejszych sposobów łączenia tabel, zwłaszcza gdy mamy wspólny klucz. W tym przypadku klucz obcy Adresy_id w tabeli Osoby łączy się z kluczem głównym id w tabeli Adresy, co pozwala na wyciągnięcie nazwisk z Osób oraz odpowiadających im miast z Adresów. W praktyce takie użycie JOIN jest zgodne z najlepszymi praktykami, bo ułatwia zarządzanie danymi i sprawia, że wszystko jest czytelniejsze. Gdy pracujesz nad bardziej skomplikowanymi systemami, umiejętność poprawnego łączenia tabel jest kluczowa. Umożliwia to utrzymanie porządku w danych i zmniejszenie ich powtarzalności przez normalizację. I naprawdę, takie zapytania są mega przydatne w analizie danych, generowaniu raportów czy w aplikacjach, które operują na dużych zbiorach, gdzie wydajność i przejrzystość kodu SQL są niezwykle ważne.

Pytanie 7

Jak określa się proces przedstawiania informacji zawartych w dokumencie elektronicznym w formie odpowiedniej dla konkretnego środowiska?

A. Teksturowanie
B. Mapowanie
C. Rasteryzacja
D. Renderowanie
Renderowanie to proces, w którym dane zawarte w dokumencie elektronicznym są przekształcane w formę wizualną, która jest zrozumiała dla użytkownika. W praktyce oznacza to przekształcenie informacji na ekranie w sposób odpowiedni do kontekstu, w jakim są prezentowane. Renderowanie jest kluczowe w takich technologiach jak HTML, CSS oraz JavaScript, gdzie przetwarzane są dokumenty webowe, a ich wygląd oraz interaktywność są dostosowywane do możliwości przeglądarek. Przykładem zastosowania renderowania może być proces wyświetlania stron internetowych, gdzie przeglądarka interpretując kod HTML, CSS i JavaScript, renderuje dynamiczne treści, obrazy oraz elementy interaktywne. Rekomendowane praktyki branżowe dotyczące renderowania obejmują optymalizację czasu ładowania stron poprzez techniki, takie jak lazy loading, a także zapewnienie dostępności poprzez poprawne użycie znaczników semantycznych. W kontekście grafiki komputerowej, renderowanie jest również używane do generowania obrazów z modeli 3D, gdzie zaawansowane algorytmy renderujące tworzą realistyczne obrazy w grach komputerowych czy symulacjach wizualnych. Zrozumienie procesu renderowania jest kluczowe dla twórców treści cyfrowych, programistów oraz specjalistów od UX/UI.

Pytanie 8

Definicja stylu przedstawiona w języku CSS dotyczy odnośnika, który

Ilustracja do pytania
A. ma wskaźnik myszy ustawiony nad nim
B. był już odwiedzany
C. posiada niepoprawny adres URL
D. jeszcze nie był odwiedzany
W języku CSS selektor a:visited odnosi się do linków, które użytkownik już odwiedził. To pseudo-klasa, która umożliwia projektantom stron internetowych kontrolowanie wyglądu linków po ich kliknięciu, co poprawia doświadczenia użytkownika i umożliwia łatwiejszą nawigację. W przykładzie a:visited{color:orange;} wszystkie odwiedzone linki zostaną pokolorowane na pomarańczowo, co wizualnie odróżnia je od nieodwiedzonych linków. To podejście jest zgodne z zasadami dostępności, które sugerują, aby odwiedzone linki były w jakiś sposób wyróżnione. Praktycznym zastosowaniem tej wiedzy jest tworzenie stron, które są bardziej przejrzyste i intuicyjne dla użytkowników. Dobre praktyki zalecają, by różnica między odwiedzonymi a nieodwiedzonymi linkami była subtelna, ale zauważalna. Ustawianie różnych kolorów dla tych stanów linków jest popularnym rozwiązaniem. Prawidłowe użycie pseudo-klasy :visited wspiera także budowanie stron responsywnych, które poprawiają UX i spełniają standardy nowoczesnego designu, jednocześnie biorąc pod uwagę kwestie związane z prywatnością użytkowników, ponieważ CSS nie pozwala na stylizowanie niektórych właściwości odwiedzonych linków.

Pytanie 9

Jakie formaty wideo są obsługiwane przez standard HTML5?

A. MP4, Ogg, WebM
B. MP4, AVI
C. Ogg, QuickTime
D. Ogg, AVI, MPEG
Odpowiedź MP4, Ogg, WebM jest prawidłowa, ponieważ wszystkie te formaty są zgodne ze standardem HTML5 i są powszechnie stosowane w aplikacjach internetowych. MP4, z wykorzystaniem kodeka H.264, zapewnia wysoką jakość obrazu i dźwięku przy stosunkowo małych rozmiarach plików, co czyni go jednym z najpopularniejszych formatów w sieci. Ogg, szczególnie w wersji Vorbis dla audio i Theora dla wideo, jest otwartym formatem, co oznacza, że nie wymaga licencji na użycie, co sprzyja jego zastosowaniu w projektach, które preferują otwarte technologie. WebM, stworzony przez Google, również korzysta z otwartych kodeków, takich jak VP8/VP9 dla wideo oraz Vorbis/Opus dla audio, co czyni go idealnym do zastosowań w środowisku internetowym. W praktyce, korzystając z tych formatów, deweloperzy mogą zapewnić szeroką kompatybilność z różnymi przeglądarkami oraz urządzeniami, co jest kluczowe w kontekście dostępności treści multimedialnych dla użytkowników. Warto również zwrócić uwagę na dobór formatów w kontekście SEO oraz szybkości ładowania stron, gdyż odpowiednia konfiguracja może wpływać na wyniki w wyszukiwarkach oraz doświadczenie użytkownika.

Pytanie 10

Wskaż właściwą zasadę związaną z integralnością danych w bazie danych?

A. pole klucza obcego nie może być puste
B. pole klucza podstawowego nie może pozostawać puste
C. w relacji 1..n pole klucza obcego łączy się z polem klucza obcego innej tabeli
D. pole klucza podstawowego musi mieć utworzony indeks
Pole klucza podstawowego, definiujące unikalność wierszy w tabeli, nie może być puste. Jest to fundamentalna zasada normalizacji baz danych, która zapewnia integralność danych oraz ich jednoznaczność. W praktyce oznacza to, że każda tabela w relacyjnej bazie danych musi mieć przynajmniej jeden klucz podstawowy, który nie dopuszcza do pojawienia się dwóch identycznych rekordów. Na przykład, w bazie danych klientów, numer identyfikacyjny klienta (np. PESEL lub ID) powinien być kluczem podstawowym. Dzięki temu można jednoznacznie identyfikować każdy rekord, co jest kluczowe dla operacji takich jak aktualizacja lub usunięcie danych. Dobrą praktyką jest także zapewnienie, aby klucz podstawowy był prosty w użyciu, zrozumiały dla użytkowników oraz, w miarę możliwości, niemożliwy do zmiany, co zmniejsza ryzyko błędów przy zarządzaniu danymi. Dodatkowo, klucz podstawowy powinien być indeksowany, co przyspiesza operacje wyszukiwania, ale jego podstawową cechą pozostaje unikalność i obowiązek posiadania wartości.

Pytanie 11

Element lub zestaw elementów, który jednoznacznie identyfikuje każdy pojedynczy rekord w tabeli bazy danych, nazywamy kluczem

A. inkrementacyjny
B. obcy
C. podstawowy
D. przestawny
W kontekście baz danych, istnieje kilka terminów, które mogą być mylące, zwłaszcza w odniesieniu do kluczy. Klucz inkrementacyjny, mimo że jest użyteczny w wielu systemach baz danych do generowania unikalnych identyfikatorów, nie jest terminem opisującym typ klucza, ale raczej metodą tworzenia wartości dla klucza podstawowego. Klucz przestawny (ang. pivot key) to termin bardziej związany z analizą danych niż z identyfikacją wierszy w tabelach; odnosi się do technik agregacji danych i transformacji w zbiorach danych, głównie w kontekście tabel przestawnych, które są używane do wizualizacji i analizy danych, a nie do bezpośredniej identyfikacji rekordów. Klucz obcy (ang. foreign key) to kolejny termin, który jest często mylony z kluczem podstawowym. Klucz obcy jest polem w jednej tabeli, które wskazuje na klucz podstawowy w innej tabeli, co służy do ustanawiania relacji między dwiema tabelami. Klucz obcy nie identyfikuje wierszy w swojej tabeli, lecz tworzy powiązania z innymi danymi. Rozumienie tych terminów oraz ich zastosowań jest kluczowe dla efektywnego projektowania baz danych oraz unikania powszechnych błędów, które mogą prowadzić do problemów z integralnością danych i wydajnością systemu.

Pytanie 12

Który atrybut kolumny zapewnia automatyczne nadawanie kolejnych, unikalnych wartości (np. dla klucza głównego)?

A.
AUTO_INCREMENT
B.
NOT NULL
C.
DEFAULT
D.
UNIQUE
Atrybut AUTO_INCREMENT (w MySQL) sprawia, że przy dodaniu nowego wiersza baza sama wstawia do kolumny kolejną, większą o jeden liczbę. Stosuje się go najczęściej dla numerycznego klucza głównego (id), by nie trzeba było ręcznie pilnować unikalności identyfikatorów. Dlatego automatyczne nadawanie kolejnych wartości zapewnia AUTO_INCREMENT.

Pytanie 13

Aby usunąć wybrane wiersze (rekordy) z tabeli, należy użyć polecenia:

A.
DELETE
B.
ALTER
C.
SELECT
D.
GRANT
Wiersze z tabeli usuwa polecenie DELETE, zwykle z warunkiem WHERE wskazującym, które rekordy skasować, np. DELETE FROM klienci WHERE id = 5. Bez warunku usunęłoby wszystkie wiersze, dlatego stosuje się je ostrożnie. Tabela i jej struktura pozostają - znikają tylko dane. Dlatego do usuwania rekordów służy DELETE.

Pytanie 14

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest pokazane na dołączonym rysunku?

Ilustracja do pytania
A. Drupal
B. MediaWiki
C. WordPress
D. Joomla!
Odpowiedź Joomla! jest poprawna ponieważ logo przedstawione na rysunku jest oficjalnym znakiem identyfikacyjnym tego systemu zarządzania treścią CMS. Joomla! to jeden z najpopularniejszych systemów CMS używany do tworzenia stron internetowych oraz aplikacji. Dzięki swojej elastyczności i dużej liczbie dostępnych rozszerzeń Joomla! pozwala na tworzenie zarówno prostych stron wizytówkowych jak i zaawansowanych serwisów e-commerce. Główne zalety Joomla! to intuicyjny interfejs użytkownika który ułatwia zarządzanie treściami oraz silna społeczność użytkowników zapewniająca wsparcie techniczne i rozwój oprogramowania. Joomla! jest zgodna z wieloma standardami webowymi co czyni ją wszechstronnym narzędziem do wdrażania profesjonalnych projektów internetowych. Korzystanie z Joomla! umożliwia szybkie i efektywne tworzenie responsywnych stron które dobrze współdziałają na różnych urządzeniach mobilnych. Praktyczne zastosowanie Joomla! obejmuje tworzenie stron korporacyjnych portali społecznościowych oraz serwisów informacyjnych. Dzięki modulowej architekturze użytkownicy mogą łatwo dostosowywać funkcjonalność swoich stron do specyficznych potrzeb branżowych co jest zgodne z dobrymi praktykami projektowania zorientowanego na użytkownika. Platforma Joomla! obsługuje także wielojęzyczność i różne metody uwierzytelniania co czyni ją idealnym rozwiązaniem dla międzynarodowych projektów.

Pytanie 15

Jaką barwę przedstawia kolor zapisany w modelu RGB(255, 0, 0)?

A. niebieską
B. czerwoną
C. żółtą
D. zieloną
W modelu RGB kolor opisują trzy składowe: czerwona (R), zielona (G) i niebieska (B), każda od 0 do 255. Zapis RGB(255, 0, 0) oznacza maksymalną czerwoną i zerowe pozostałe, czyli czysty kolor czerwony. Dlatego RGB(255, 0, 0) to barwa czerwona.

Pytanie 16

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości dla bloków: 1, 2,
3, 4 (blok 5 nie ma ustawionej szerokości), powinno zawierać właściwość

Ilustracja do pytania
A. clear: both dla wszystkich bloków.
B. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
C. float: left dla wszystkich bloków.
D. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
Twoja odpowiedź jest poprawna. Bloki 1, 2, 3 i 4 powinny być ustawione obok siebie na stronie. Możemy tego dokonać, stosując dla nich właściwość 'float: left' w CSS, która sprawia, że elementy są wyświetlane po lewej stronie swojego kontenera. Często stosuje się tę technikę przy projektowaniu layoutów stron internetowych, umożliwiając rozmieszczenie bloków w jednym rzędzie. Blok 5 powinien natomiast znajdować się poniżej tych bloków, co osiągniemy stosując właściwość 'clear: both'. Ta właściwość zapewnia, że element nie będzie obok żadnego z poprzednich bloków, nawet jeśli mają one ustawiony float. Jest to szczególnie przydatne w sytuacjach, gdy chcemy, aby pewien element (np. stopka strony) był wyświetlany poniżej innych bloków, niezależnie od ich położenia czy szerokości. W praktyce, prawidłowe zastosowanie tych dwóch właściwości jest kluczowe dla tworzenia responsywnych i atrakcyjnych layoutów stron.

Pytanie 17

Przedstawiony kod języka PHP

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. jest błędny, nieznany operator =>
B. definiuje tablicę z trzema wartościami.
C. jest błędny, indeksami tablicy mogą być tylko liczby całkowite.
D. definiuje tablicę z sześcioma wartościami.
Dobra robota, wybrałeś właściwą odpowiedź! Ten kod PHP, który analizujesz, rzeczywiście ustawia tablicę asocjacyjną z trzema parami klucz-wartość. Tak naprawdę tablica asocjacyjna to coś w stylu tablicy, gdzie każdemu elementowi przypisujesz unikalny klucz zamiast numeru indeksu. No i ten operator '=>' to typowy element PHP, służy do przypisywania wartości kluczom w tablicach. W twoim przykładzie widzisz, że kluczami mogą być nie tylko liczby, ale też łańcuchy tekstowe. To naprawdę przydatne, szczególnie przy przechowywaniu informacji, które łatwo zidentyfikować – na przykład numery telefonów czy adresy e-mail. Pamiętaj, że w PHP tablica to jedna z podstawowych struktur danych. Może trzymać różne typy danych, takie jak liczby, teksty, obiekty czy inne tablice, a jej rozmiar może się zmieniać w trakcie działania programu.

Pytanie 18

W tabeli pokazano cechy pliku graficznego. Aby rysunek ładował się szybciej na stronie WWW, należy

Wymiary: 4272 x 2848px
Rozdzielczość: 72 dpi
Format: JPG
A. zwiększyć rozdzielczość
B. zmniejszyć wymiary rysunku
C. zmienić format grafiki na CDR
D. zmienić proporcje szerokości do wysokości
Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę WWW. Mniejsze wymiary oznaczają mniejszą ilość danych do przesłania, co skraca czas ładowania strony. Praktycznym przykładem jest zmniejszenie wymiarów obrazu z 4272 x 2848 pikseli do bardziej standardowego rozmiaru, jak np. 1920 x 1080 pikseli dla grafik wyświetlanych na ekranach. Zmniejszenie wymiarów nie tylko przyspiesza ładowanie ale także zmniejsza zużycie transferu danych co jest istotne przy ograniczeniach mobilnych. Warto pamiętać że mniejsze grafiki są też mniej zasobożerne dla urządzeń użytkowników co wpływa na ogólną wydajność strony. Zastosowanie odpowiednich wymiarów jest zgodne z dobrymi praktykami optymalizacji webowej rekomendowanymi przez Google PageSpeed Insights i inne narzędzia analityczne. Optymalizacja grafiki poprzez zmniejszenie jej wymiarów jest podstawową czynnością w procesie tworzenia responsywnych i szybko działających witryn internetowych.

Pytanie 19

Wskaźnik HTML, który umożliwia oznaczenie tekstu jako błędnego lub nieodpowiedniego poprzez jego przekreślenie, to jaki?

A. <u> </u>
B. <b> </b>
C. <em> </em>
D. <s> </s>
W tym pytaniu łatwo pomylić różne znaczniki HTML, bo wiele z nich wpływa na wygląd tekstu, ale pełnią zupełnie inne role semantyczne. W standardzie HTML <b> odpowiada głównie za pogrubienie tekstu, bez nadawania mu specjalnego znaczenia. To po prostu wizualne wyróżnienie, coś jak podkręcenie czcionki w edytorze tekstu. Nie informuje jednak, że treść jest błędna, nieaktualna czy powinna być zignorowana. W nowoczesnym kodzie, jeśli chcemy podkreślić ważność treści, lepszym wyborem jest <strong>, a nie <b>. Podobnie <em> nie ma nic wspólnego z przekreśleniem – ten znacznik służy do emfazy, czyli zaakcentowania fragmentu zdania, zwykle renderowany jest kursywą. Semantycznie oznacza, że dany fragment ma inne brzmienie albo nacisk w wypowiedzi, co jest istotne np. dla czytników ekranu czy tłumaczeń. Z kolei <u> historycznie kojarzy się z podkreślaniem tekstu, ale w HTML5 jego znaczenie zostało doprecyzowane: używa się go raczej do oznaczania treści, które są w jakiś sposób wyróżnione konwencjonalnie (np. błąd ortograficzny, nazwa własna w tekście innym alfabetem), a nie do dekoracyjnego podkreślania wszystkiego jak leci. Typowym błędem jest myślenie kategoriami „jak to wygląda”, zamiast „co to oznacza”. Wiele osób wybiera <b> albo <u>, bo kojarzy im się to z edytorem Word i zmianą stylu, a w HTML powinniśmy bardziej zwracać uwagę na semantykę i zgodność ze specyfikacją. Do oznaczania tekstu jako błędnego lub nieaktualnego używa się <s> (lub w bardziej formalnych zmianach <del>), bo te znaczniki jednoznacznie wskazują, że dana treść nie jest już obowiązująca. Dzięki temu narzędzia do dostępności, wyszukiwarki i style CSS mogą poprawnie interpretować znaczenie tego fragmentu, a nie tylko jego wygląd.

Pytanie 20

Który kod jest alternatywny do kodu zamieszczonego w ramce?

<?php
for($x = 1; $x <= 55; $x++)
{
  if($x % 2 != 0) continue;
  echo $x . " ";
}
?>
A. for($x = 2; $x <= 54; $x += 2) {echo $x." ";}
B. for($x = 1; $x <= 55; $x++) {echo $x." ";}
C. for($x = 2; $x <= 56; $x += 2) {echo $x." ";}
D. for($x = 1; $x <= 55; $x += 1) {echo $x." ";}
Brawo! Wybrałeś odpowiedź A, która jest poprawna. Kod zawarty w tej odpowiedzi jest alternatywą dla kodu zamieszczonego w ramce. W obydwu przypadkach mamy do czynienia z pętlą, która operuje na liczbach. W pętli zamieszczonej w ramce, instrukcja 'continue' powoduje, że pętla pomija operacje na liczbach parzystych. Tym samym, końcowy efekt tego kodu to operacje na liczbach nieparzystych. W odpowiedzi A, pętla została skonstruowana w taki sposób, że operacje wykonywane są tylko na liczbach parzystych (pętla zaczyna od liczby 2 i zwiększa wartość o 2 za każdym razem). Tą technikę możemy wykorzystać, kiedy chcemy zbudować kod, który nie uwzględnia pewnego podzbioru danych. W tym przypadku, jeśli chcemy stworzyć kod, który operuje tylko na liczbach nieparzystych, możemy zastosować instrukcję 'continue' w połączeniu z warunkiem sprawdzającym parzystość liczby.

Pytanie 21

Celem testów wydajnościowych jest ocena

A. możliwości oprogramowania do funkcjonowania w warunkach niewłaściwej pracy systemu
B. sekwencji zdarzeń, w której prawdopodobieństwo wystąpienia każdego zdarzenia zależy wyłącznie od wyniku zdarzenia poprzedniego
C. możliwości oprogramowania do funkcjonowania w warunkach błędnej pracy sprzętu
D. poziomu spełnienia wymagań dotyczących wydajności przez system bądź moduł
Odpowiedzi sugerujące, że testy wydajnościowe mają na celu sprawdzenie ciągu zdarzeń, w którym prawdopodobieństwo każdego zdarzenia zależy jedynie od wyniku poprzedniego, dotyczą zupełnie innej dziedziny – statystyki i teorii prawdopodobieństwa. W kontekście testów wydajnościowych mówimy o analizie zachowania systemu w odpowiedzi na obciążenie, a nie o modelowaniu zdarzeń losowych. Kolejne koncepcje, takie jak zdolność oprogramowania do działania w warunkach wadliwej pracy systemu lub sprzętu, odnoszą się do testów odpornościowych i awaryjnych, a nie do testów wydajnościowych. Testy te mają na celu zbadanie, jak system reaguje na sytuacje awaryjne, jednak nie są one bezpośrednio związane z oceną jego wydajności. Te nieporozumienia mogą wynikać z mylnego założenia, że testy wydajnościowe obejmują wszystkie aspekty funkcjonalności systemu, podczas gdy w rzeczywistości koncentrują się one na specyficznych wymaganiach dotyczących szybkości i efektywności działania. Właściwe rozumienie testów wydajnościowych jako narzędzia do pomiaru i optymalizacji wydajności systemu jest kluczowe dla zapewnienia jego sukcesu na rynku. Każda z tych nieprawidłowych odpowiedzi prowadzi do niedosłownego zrozumienia celów i metodologii stosowanych w testach wydajnościowych, co może skutkować poważnymi błędami w procesie wytwarzania oprogramowania.

Pytanie 22

Na podstawie kodu widocznego na ilustracji można stwierdzić, że

Ilustracja do pytania
A. funkcja wyswietlNazwisko(nazwisko) musi być wywołana wewnątrz innej funkcji.
B. nie przypisano wartości do zmiennej nazwisko.
C. podano nieprawidłowy argument do funkcji alert.
D. nie zadeklarowano funkcji wyswietlNazwisko.
W tym kodzie funkcja wyswietlNazwisko(nazwisko) jest poprawnie zadeklarowana, a komunikat przekazywany do alert() też jest w porządku. Problem wcale nie leży w samej funkcji, tylko w tym, że wywołujemy ją z argumentem nazwisko, który nigdzie wcześniej nie został zdefiniowany ani nie ma do niego przypisanej żadnej wartości. Silnik JavaScript widzi wywołanie wyswietlNazwisko(nazwisko); i szuka zmiennej o nazwie nazwisko w aktualnym zasięgu (scope). Ponieważ jej nie znajduje, zgłasza błąd ReferenceError: nazwisko is not defined. To jest klasyczny przypadek braku inicjalizacji zmiennej przed użyciem.
W praktyce, żeby to naprawić, trzeba najpierw zadeklarować zmienną, np.: var nazwisko = "Kowalski"; albo let nazwisko = prompt("Podaj swoje nazwisko:"); i dopiero potem wywołać funkcję: wyswietlNazwisko(nazwisko);. Dobra praktyka w JavaScript to zawsze jawne deklarowanie zmiennych przy użyciu let lub const (ewentualnie var w starszym kodzie) oraz nadawanie im czytelnych, przewidywalnych wartości początkowych. W aplikacjach webowych takie zmienne często pochodzą z pól formularza, np. z document.getElementById("nazwisko").value, i dopiero ta wartość jest przekazywana jako argument funkcji. Moim zdaniem warto wyrobić sobie nawyk, że zanim użyjesz jakiejś nazwy w wywołaniu funkcji, sprawdzasz, czy na pewno istnieje jej deklaracja w odpowiednim zasięgu i czy ma sensowną wartość. Dzięki temu unikniesz wielu irytujących błędów w konsoli i łatwiej będzie debugować kod.

Pytanie 23

Na zakończenie dnia w systemie zarządzania magazynem sklepu spożywczego generowany jest raport, który przedstawia produkty oraz ich dostawców, dla których ilość na stanie jest mniejsza niż 10 sztuk. Do stworzenia tego raportu zastosowano kwerendę

A. INSERT INTO
B. UPDATE
C. CHECK TABLE
D. SELECT
Odpowiedź 'SELECT' jest poprawna, ponieważ to polecenie służy do pobierania danych z bazy danych. Kwerenda SELECT umożliwia zdefiniowanie, jakie kolumny oraz z jakich tabel chcemy wyświetlić. W kontekście raportu dla sklepu spożywczego, który wyświetla produkty z ich dostawcami, gdzie stan magazynowy jest mniejszy niż 10 sztuk, kwerenda SELECT pozwoli na precyzyjne określenie kryteriów wyszukiwania, takich jak nazwa produktu, nazwa dostawcy oraz warunek dotyczący stanu magazynowego. Przykładowa kwerenda mogłaby wyglądać następująco: 'SELECT product_name, supplier_name FROM inventory WHERE stock < 10'. W praktyce, stosowanie kwerend SELECT w raportach umożliwia monitorowanie stanów magazynowych, co jest kluczowe dla efektywnego zarządzania zapasami oraz podejmowania decyzji o zamówieniach. Takie podejście jest zgodne z dobrymi praktykami w zarządzaniu danymi w sklepach detalicznych, gdzie ciągłe monitorowanie stanu magazynowego jest kluczowe dla utrzymania płynności sprzedaży i zadowolenia klientów.

Pytanie 24

W języku JavaScript, funkcja Math.pow() wykorzystuje się do obliczenia

A. wartości bezwzględnej liczby
B. potęgi liczby
C. wartości przybliżonej liczby
D. pierwiastka kwadratowego liczby
Funkcja Math.pow() w JavaScript służy do obliczania potęgi liczby, co oznacza, że można jej użyć do podnoszenia liczby do wybranej potęgi. Poprawna składnia tej funkcji to Math.pow(base, exponent), gdzie 'base' to liczba, którą chcemy podnieść do potęgi, a 'exponent' to wykładnik. Na przykład, aby obliczyć 2 do potęgi 3, używamy Math.pow(2, 3), co zwraca 8. Ta funkcja jest niezwykle przydatna w różnych kontekstach programistycznych, takich jak obliczenia matematyczne, grafika komputerowa, czy modelowanie rzeczywistych zjawisk. W praktyce, korzystając z Math.pow(), można zrealizować wiele bardziej zaawansowanych obliczeń, takich jak obliczanie wartości funkcji wygładzających, symulacji fizycznych czy operacji na danych statystycznych. Kluczowe jest, aby pamiętać, że w JavaScript dostępne są również operator potęgowania (**), wprowadzony w ECMAScript 2016, co czyni kod bardziej czytelnym, na przykład 2 ** 3 również zwraca 8. Warto być świadomym tych narzędzi, aby optymalizować i upraszczać kod w swoich projektach.

Pytanie 25

Do czego służy w SQL polecenie ALTER TABLE?

A. do modyfikowania kolumn (struktury) tabeli
B. do modyfikowania danych w rekordach
C. do usuwania tabeli z bazy
D. do dodawania tabeli do bazy
Pozostałe odpowiedzi mylą zmianę struktury z innymi operacjami. Usuwanie tabeli to DROP TABLE, a tworzenie nowej to CREATE TABLE. Modyfikacja DANYCH w rekordach to UPDATE (język manipulacji danymi, DML). Strukturę istniejącej tabeli zmienia ALTER TABLE.

Pytanie 26

W relacyjnych systemach baz danych, gdy dwie tabele są powiązane przez ich klucze główne, mamy do czynienia z relacją

A. 1..1
B. n..1
C. n..n
D. 1..n
W relacyjnych bazach danych, relacja 1..1 oznacza, że każdemu rekordowi w pierwszej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli, a odwrotnie. Gdy tabele są połączone kluczem głównym, zapewnia to unikalność powiązań między nimi. Przykładami takich relacji mogą być tabele 'Pracownicy' i 'Konta', gdzie każdy pracownik ma jedno konto, a każde konto należy do jednego pracownika. Relacja 1..1 jest typowa w sytuacjach, gdy jedna tabela zawiera szczegółowe informacje o obiektach reprezentowanych w drugiej tabeli. Z perspektywy projektowania baz danych, stosowanie relacji 1..1 pomaga w minimalizowaniu redundancji danych oraz zwiększa spójność informacji. Praktyczne podejście do projektowania bazy danych sugeruje, aby relacje 1..1 były wykorzystywane tam, gdzie konieczne jest zapewnienie jednoznacznego powiązania danych, co wspiera integralność danych zgodnie z normami ACID (Atomicity, Consistency, Isolation, Durability).

Pytanie 27

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

Ilustracja do pytania
A. Instrukcja 2
B. Instrukcja 4
C. Instrukcja 3
D. Instrukcja 1
Instrukcja switch w PHP służy do wykonywania różnych bloków kodu w zależności od wartości wyrażenia. W podanym przykładzie, jeśli zmienna $liczba wynosi 10 lub 20, zostanie zwiększona o 1. W przeciwnym razie $liczba zostanie ustawiona na 0. Instrukcja 2 używa warunku if z operatorem or, który sprawdza, czy $liczba jest równa 10 lub 20, co odpowiada logice w switch. Dzięki temu, mimo że struktura instrukcji if różni się od switch, logika działania jest identyczna. Praktycznie, użycie instrukcji if z operatorem or w takich sytuacjach jest czytelne i wydajne zwłaszcza jeśli mamy do czynienia z ograniczoną liczbą warunków. Warto zauważyć, że switch jest bardziej efektywny, gdy mamy wiele przypadków do sprawdzenia, ale if z operatorami logicznymi jest bardziej elastyczny, co czyni go przydatnym w różnorodnych scenariuszach programistycznych. Dobre praktyki wskazują na wybór struktury kontrolnej w zależności od złożoności i specyfiki problemu, co pozwala na optymalizację czytelności i utrzymania kodu.

Pytanie 28

Instrukcją równoważną funkcjonalnie do przedstawionej instrukcji JavaScript jest

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
Kod 1.
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}
Kod 2.
while (i < 100)
  document.write(i + ' ');
Kod 3.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}
Kod 4.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}
A. Kod 3.
B. Kod 1.
C. Kod 4.
D. Kod 2.
Gratulacje! Wybrałeś poprawną odpowiedź, która jest Kodem 3. Pętla for prezentowana na obrazku inicjuje zmienną i na 0, a następnie sprawdza warunek i < 100, wykonuje instrukcje w pętli for i zwiększa i o 10 za każdą iteracją. To jest standardowe zachowanie dla pętli for w języku programowania JavaScript. Kod 3 jest równoważny funkcjonalnie z pętlą for, ponieważ również inicjuje zmienną i na 0, a następnie w pętli while sprawdza warunek (i < 100), wykonuje instrukcje w pętli i zwiększa i o 10 w każdej iteracji. Zrozumienie różnych rodzajów pętli i ich równoważności jest kluczowe dla skutecznego programowania, ponieważ pozwala na optymalizację kodu i poprawę jego czytelności. Dobrą praktyką jest zrozumienie, kiedy używać różnych typów pętli w zależności od specyficznych wymagań danego problemu programistycznego.

Pytanie 29

W systemie baz danych stworzono tabelę Mieszkancy zawierającą informacje. Aby usunąć tę tabelę wraz z danymi, należy użyć komendy

A. DROP TABLE Mieszkancy;
B. TRUNCATE TABLE Mieszkancy;
C. ALTER TABLE Mieszkancy;
D. DELETE FROM Mieszkancy;
Polecenie 'DROP TABLE Mieszkancy;' jest właściwym sposobem na usunięcie tabeli wraz z jej zawartością w bazie danych. To polecenie nie tylko usuwa tabelę, ale również wszystkie dane, które w niej się znajdują oraz wszelkie powiązania, takie jak klucze obce. W praktyce, gdy programista chce całkowicie wyeliminować strukturę tabeli oraz jej dane, wykorzystuje 'DROP TABLE'. Jest to szczególnie przydatne w sytuacjach, gdy tabela nie jest już potrzebna w systemie, a jej usunięcie pozwala na zwolnienie zasobów oraz uproszczenie struktury bazy danych. Warto również pamiętać, że przed wykonaniem tego polecenia warto stworzyć kopię zapasową danych, jeśli są one istotne, ponieważ operacja ta jest nieodwracalna. Ponadto, zgodnie z zasadami dobrych praktyk, przed usunięciem tabeli należy upewnić się, że nie ma na nią żadnych zależności w innych częściach bazy danych, aby uniknąć potencjalnych problemów z integralnością danych.

Pytanie 30

Które z poniższych formatowań NIE jest zapisem w języku CSS?

A.
body { background-color: yellow; }   (plik .css)
B.
<body bgcolor="yellow">
C.
<body style="background-color: yellow;">
D.
<style> body { background-color: yellow; } </style>
Pozostałe trzy zapisy to CSS, tylko osadzony w różny sposób. Reguła background-color: yellow w <style> to arkusz wewnętrzny, ta sama reguła w pliku .css to arkusz zewnętrzny, a style="background-color: yellow;" w znaczniku to styl śródliniowy - wszystkie używają właściwości CSS. Wyjątkiem jest <body bgcolor="yellow">: bgcolor to atrybut HTML (przestarzały), a nie właściwość CSS. Dlatego to ten zapis nie jest formatowaniem CSS i jest poprawną odpowiedzią.

Pytanie 31

Zdefiniowano bazę danych z tabelą sklepy, która zawiera pola: nazwa, ulica, miasto, branza. W celu zlokalizowania wszystkich nazw sklepów spożywczych, które znajdują się tylko we Wrocławiu, należy wykorzystać kwerendę:

A. SELECT nazwa FROM sklepy WHERE branza="spozywczy" OR miasto="Wrocław"
B. SELECT nazwa FROM sklepy WHERE branza="spozywczy" AND miasto="Wrocław"
C. SELECT sklepy FROM nazwa WHERE branza="spożywczy" BETWEEN miasto="Wrocław"
D. SELECT sklepy FROM branza="spożywczy" WHERE miasto="Wrocław"
Odpowiedź 'SELECT nazwa FROM sklepy WHERE branza="spozywczy" AND miasto="Wrocław";' jest poprawna, ponieważ wykorzystuje właściwą składnię SQL do pobrania danych. W tym przypadku chcemy wybrać nazwy sklepów z tabeli 'sklepy', które spełniają dwa warunki: branża musi być równa 'spozywczy', a miasto musi być równe 'Wrocław'. Użycie operatora AND zapewnia, że oba kryteria muszą być spełnione jednocześnie, co jest kluczowe w tym zadaniu. Ponadto, dobrym zwyczajem jest stosowanie podwójnych cudzysłowów dla nazw kolumn i wartości tekstowych. Przykładowo, w praktyce taka kwerenda może być użyta do analizy lokalizacji sklepów spożywczych w danym mieście, co może być istotne dla strategii marketingowej lub planowania rozwoju sieci handlowej. Zrozumienie struktury SQL oraz sposób formułowania zapytań jest fundamentem efektywnego zarządzania danymi w relacyjnych bazach danych.

Pytanie 32

W języku skryptowym JavaScript operatory: || oraz && należą do grupy operatorów

A. arytmetycznych.
B. bitowych.
C. logicznych.
D. przypisania.
Operatory || oraz && w JavaScript to klasyczne operatory logiczne. Działają na wartościach, które można zinterpretować jako prawdę lub fałsz (tzw. wartości truthy i falsy) i zwracają wynik wyrażenia logicznego. && oznacza „i” logiczne – całe wyrażenie jest prawdziwe tylko wtedy, gdy oba operandy są traktowane jako prawdziwe. || oznacza „lub” logiczne – wystarczy, że jeden z operandów jest prawdziwy, żeby całe wyrażenie było uznane za prawdę. W praktyce bardzo często wykorzystuje się je w instrukcjach warunkowych, np.: if (isLoggedIn && isAdmin) { … } albo if (isMobile || isTablet) { … }. W JavaScript te operatory mają jeszcze jedną, moim zdaniem bardzo przydatną cechę: nie zwracają po prostu true/false, tylko konkretną wartość jednego z operandów. Na przykład: const name = userName || "Gość"; – jeśli userName jest wartością „falsy” (np. pusty string, null, undefined), to do name trafi "Gość". To jest tzw. krótkie spięcie (short-circuit evaluation): przy operatorze &&, jeśli pierwszy operand jest falsy, drugi nie jest już w ogóle obliczany; przy ||, jeśli pierwszy jest truthy, drugi też nie jest sprawdzany. W dobrych praktykach front-endu wykorzystuje się to do prostego ustawiania wartości domyślnych, zabezpieczania wywołań funkcji (np. callback && callback()) oraz budowania bardziej czytelnych warunków. Warto też pamiętać o różnicy między operatorami logicznymi (&&, ||, !) a porównania (===, !==), bo to są różne grupy operatorów, chociaż często używa się ich razem w tych samych warunkach. Z mojego doświadczenia, świadome używanie tych operatorów logicznych bardzo upraszcza kod i zmniejsza liczbę if-ów rozrzuconych po skryptach.

Pytanie 33

Jakie będzie efektem zastosowanego formatowania CSS dla nagłówka trzeciego stopnia

<style> h3 { background-color: grey; } </style>

<h3 style="background-color: orange;">Rozdział 1.2.2.</h3>

A. tło nagłówka będzie pomarańczowe
B. kolor tekstu będzie szary
C. kolor tekstu będzie pomarańczowy
D. tło nagłówka będzie w odcieniu szarości
Wybranie odpowiedzi, że tło będzie szare, to nie jest dobry wybór. W kodzie, który widzimy w pytaniu, styl w sekcji <style> ma niższy priorytet od tego, co jest ustawione w atrybucie style dla elementu <h3>. I nawet jeśli w sekcji <style> tło nagłówka jest szare, to inline style z wartością background-color równą "orange" ma pierwszeństwo. Często pojawia się błąd myślenia, że style muszą być stosowane w jakiejś określonej kolejności, a tak naprawdę CSS działa na zasadzie kaskady. Co do kolorów czcionek, w tym przypadku nie było konkretnego ustawienia, więc będzie korzystać z domyślnej wartości przeglądarki lub jakiegoś innego stylu, jeśli taki istnieje. Żeby uniknąć takich zamieszania, warto zawsze zwracać uwagę na zasady kaskadowości i priorytety stylów, bo to pomoże lepiej zrozumieć, jak zmiany wpływają na to, co widzimy na stronie.

Pytanie 34

Jak w PHP usunąć ciasteczko o nazwie ciastko?

A.
unsetcookie("$ciastko");
B.
deletecookie("ciastko");
C.
setcookie("$ciastko", "", 0);
D.
setcookie("ciastko", "", time()-3600);
Pozostałe zapisy są błędne. Funkcje deletecookie() i unsetcookie() w PHP nie istnieją. setcookie("$ciastko", "", 0) myli nazwę (z niepotrzebnym $) i nie wskazuje minionej daty wygaśnięcia. Ciasteczko kasuje setcookie("ciastko", "", time()-3600);.

Pytanie 35

Język JavaScrypt umożliwia obsługę

A. klas abstrakcyjnych
B. wysyłania ciastek z identycznymi informacjami do wielu klientów strony
C. obiektów DOM
D. funkcji wirtualnych
Obsługa funkcji wirtualnych nie jest częścią języka JavaScript, ponieważ ten język nie obsługuje typów i mechanizmów programowania obiektowego w sposób, w jaki robią to inne języki, takie jak C++ czy Java. JavaScript nie posiada koncepcji 'wirtualnych funkcji', które są charakterystyczne dla języków, które implementują mechanizmy dziedziczenia oparte na klasach. W JavaScript, programowanie obiektowe opiera się na prototypach, co oznacza, że obiekty mogą dziedziczyć właściwości i metody bez użycia wirtualnych funkcji, co czyni to pojęcie nieadekwatnym w kontekście tego języka. Ponadto, klasa abstrakcyjna jest także pojęciem, które jest źle zrozumiane w kontekście JavaScript. W rzeczywistości, JavaScript nie wspiera klas abstrakcyjnych w tradycyjnym sensie znanym z języków statycznie typowanych. Wprowadzenie klas w ECMAScript 6 dodało nową składnię, ale nie zmieniło fundamentalnej natury języka. JavaScript nie wymusza implementacji metod w klasach pochodnych, co jest kluczowym aspektem klas abstrakcyjnych. Wreszcie, kwestia wysyłania ciastek z tą samą informacją do wielu klientów stron internetowych odnosi się bardziej do mechanizmów serwerowych i zarządzania sesjami niż do samego języka JavaScript. JavaScript działa głównie po stronie klienta, a ciasteczka są zarządzane przez przeglądarki internetowe, gdzie mogą być ustalane przez skrypty, ale samo wysyłanie ciasteczek do klientów nie jest bezpośrednio związane z jego funkcjonalnością. Te aspekty techniczne ukazują, dlaczego podane odpowiedzi nie są poprawne w kontekście pytania o obsługę JavaScript.

Pytanie 36

Który obiekt bazy danych służy głównie do drukowania lub wyświetlania zestawień danych?

A. formularz
B. raport
C. moduł
D. makro
Raport to obiekt bazy przeznaczony głównie do DRUKOWANIA i wyświetlania zestawień - grupuje, sortuje i podsumowuje dane w przejrzystej, gotowej do wydruku formie. Zapamiętaj: gdy potrzebujesz wydruku lub czytelnego podsumowania, tworzysz raport.

Pytanie 37

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

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

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

Pytanie 38

Jakie jest określenie na element bazy danych, który umożliwia jedynie przeglądanie danych, przedstawiając je w formie tekstowej lub graficznej?

A. Zapytanie
B. Raport
C. Formularz
D. Tabela
Raport to element bazy danych, który umożliwia użytkownikom jedynie odczytywanie danych i prezentowanie ich w przystępnej formie, takiej jak tekst lub wykres. Kluczowym aspektem raportu jest jego zdolność do agregowania informacji pochodzących z różnych źródeł w bazie danych, co umożliwia generowanie syntetycznych przeglądów i analiz danych. Na przykład, w systemach zarządzania relacyjnymi bazami danych, takich jak Microsoft SQL Server, można stworzyć raport, który zbiera dane sprzedażowe z różnych tabel, a następnie prezentuje je w formie graficznej, co ułatwia interpretację wyników. Raporty są często używane w kontekście raportowania biznesowego, gdzie kluczowe jest przedstawienie danych w sposób zrozumiały dla decydentów. Standardy, takie jak SQL, umożliwiają tworzenie zapytań, które generują dane do raportów, a narzędzia takie jak Crystal Reports czy Microsoft Power BI wspierają ich wizualizację. Dzięki temu raporty stają się niezbędnym narzędziem w analizie danych i podejmowaniu strategicznych decyzji.

Pytanie 39

Aby odebrać użytkownikowi wcześniej nadane uprawnienia, należy zastosować polecenie:

A.
GRANT NO PRIVILEGES
B.
DELETE
C.
DELETE PRIVILEGES
D.
REVOKE
Do odbierania uprawnień służy REVOKE - polecenie z grupy DCL (Data Control Language), które stanowi odwrotność GRANT. Wskazujesz w nim, jakie uprawnienia i na jakim obiekcie chcesz cofnąć oraz któremu użytkownikowi, na przykład REVOKE INSERT ON klienci FROM jan. Dzięki temu administrator może w każdej chwili ograniczyć dostęp, gdy zmienia się zakres obowiązków lub konto przestaje być potrzebne. To właśnie REVOKE jest poprawną odpowiedzią.

Pytanie 40

Jaką wartość wyświetli się po uruchomieniu poniższego kodu JavaScript?

javascript
document.write(Math.round(4.51) + Math.pow(2, 3));
A. 11
B. 12
C. 13
D. 14
Przyjrzyjmy się innym odpowiedziom. Widać, że każda z nich ma jakieś błędy w zrozumieniu działania funkcji w kodzie. Niepoprawne odpowiedzi proponują różne sumy, ale są one wynikiem złych obliczeń. No bo na przykład, 11 wychodzi tylko z 4 + 7, ale to nie ma zastosowania w tym przypadku, bo zaokrąglanie i potęgowanie dają inne wartości. Liczba 12 mogłaby być wynikiem zaokrąglenia do 4 i zmniejszenia 8 z Math.pow(2, 3), ale to też nie zgadza się z tym, co wyszło. Z kolei 14 jako suma 6 i 8 jest mylna, bo 6 nie jest wynikiem zaokrąglenia 4.51, tylko 5. Jak analizujemy Math.round i Math.pow, to widzimy, że są zgodne z dokumentacją ECMAScript, co daje solidne podstawy do obliczeń. Jak nie rozumiemy tych funkcji, to łatwo o błędy, więc warto znać podstawowe operacje matematyczne w programowaniu.