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: 30 kwietnia 2026 22:16
  • Data zakończenia: 30 kwietnia 2026 22:16

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

Jaką wartość w formacie RGB będzie miała barwa oznaczona kodem heksadecymalnym: #1510FE?

A. rgb(21, 16, FE)
B. rgb(21, 16, 255)
C. rgb(21, 16, 254)
D. rgb(15, 10, FE)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź rgb(21, 16, 254) jest dobra, bo te wartości RGB pochodzą z kodu heksadecymalnego #1510FE. W tym kodzie każda para cyfr pokazuje, jak mocno świeci dany kolor: od 00, co oznacza brak koloru, do FF, gdzie mamy pełną intensywność. W naszym przypadku, pierwsza para '15' to kolor czerwony, '10' to zielony, a 'FE' to niebieski. Jak to przeliczymy na dziesiętny, to '15' daje nam 21, '10' daje 16, a 'FE' to 254. I stąd mamy rgb(21, 16, 254). Te wartości są super przydatne, na przykład przy tworzeniu stylów CSS, gdzie kolory są podstawą. Warto ogarnąć, jak przerabiać kolory z jednego formatu na drugi – to naprawdę pomaga w projektowaniu grafiki i stron www.

Pytanie 2

Aby zdefiniować styl akapitu <p>, który występuje bezpośrednio po znaczniku <img>, należy w arkuszu stylów CSS zastosować związek

A. img p
B. img [p]
C. img + p
D. img > p

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to selektor sąsiedniego rodzeństwa: img + p. W CSS znak plus między selektorami oznacza: „wybierz element, który występuje bezpośrednio po innym elemencie, na tym samym poziomie drzewa DOM”. Czyli img + p trafi dokładnie w akapit <p>, który jest pierwszym rodzeństwem po znaczniku <img>, a nie w dowolny akapit gdzieś niżej. Przykład w praktyce: img + p { margin-top: 10px; font-style: italic; } Taki zapis spowoduje, że tylko akapit bezpośrednio po obrazku dostanie ten margines i kursywę. Jeśli pod obrazkiem będą dwa akapity z rzędu, to ostylowany zostanie tylko pierwszy. To jest bardzo przydatne np. przy podpisach pod zdjęciami, krótkich opisach ilustracji albo przy specyficznym formatowaniu pierwszego paragrafu po grafice. Warto odróżniać ten selektor od innych. Zapis img p oznaczałby: „akapit znajdujący się wewnątrz elementu img”, co w normalnym HTML nie ma sensu, bo <img> jest pustym elementem, nie zawiera w sobie dzieci. Z kolei img > p wybierałby tylko bezpośrednie dzieci <img>, co też jest nielogiczne z tego samego powodu. Natomiast img [p] nie jest w ogóle poprawnym selektorem w tym kontekście – nawiasy kwadratowe służą w CSS do selektorów atrybutów, np. a[target="_blank"]. Z mojego doświadczenia taki selektor jak img + p jest lepszym rozwiązaniem niż dokładanie dodatkowych klas tylko po to, żeby ostylować akapit po obrazku. Mniej zbędnych klas w HTML-u, bardziej semantyczny i czysty kod. Jest to zgodne z dobrymi praktykami front-endu: wykorzystywać możliwości selektorów CSS zanim zaczniemy zaśmiecać strukturę HTML dodatkowymi znacznikami czy klasami. Ten typ selektora jest opisany w specyfikacji CSS Selectors Level 3 jako adjacent sibling combinator i jest wspierany przez wszystkie współczesne przeglądarki, więc spokojnie można go stosować w normalnych projektach produkcyjnych.

Pytanie 3

Naciśnięcie przycisku o nazwie "niebieski" spowoduje uruchomienie podanego kodu JavaScript. Jaki będzie rezultat jego działania?

Ilustracja do pytania
A. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
B. Zmiana koloru tekstu "i skrypt" na niebieski
C. Zmiana koloru przycisku na niebieski
D. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod JavaScript przedstawiony w pytaniu korzysta z funkcji changeColor, która zmienia kolor tekstu elementu HTML. Funkcja ta przyjmuje parametr newColor, który w tym przypadku wynosi 'blue'. W momencie kliknięcia przycisku z atrybutem onClick, funkcja changeColor jest wywoływana z argumentem 'blue'. Kod wewnątrz funkcji używa metody document.getElementById aby uzyskać dostęp do elementu HTML o identyfikatorze 'para1'. Następnie zmienia kolor tekstu tego elementu, korzystając z właściwości style.color, na wartość przekazaną jako parametr, czyli 'blue'. Takie podejście jest zgodne z dobrymi praktykami w JavaScript, gdzie oddziela się logikę skryptu od treści HTML. W efekcie, po kliknięciu przycisku, zmieniony zostanie kolor tekstu zawartego w elemencie o id 'para1', co w tym przypadku odnosi się do tekstu 'Przykładowy tekst'. Takie rozwiązania są powszechnie stosowane w dynamicznych aplikacjach webowych, umożliwiając dynamiczną interakcję użytkownika z zawartością strony.

Pytanie 4

Jakie znaczniki HTML pozwolą na prezentację tekstu w jednym wierszu na stronie, zakładając, że nie zastosowano żadnych reguł CSS?

A. style="margin-bottom: 0cm;"><p>Dobre strony </p><p style="letter-spacing:3px">mojej strony</p>
B. style="margin-bottom: 0cm;"><div>Dobre strony </div><div style="letter-spacing:3px">mojej strony</div>
C. style="margin-bottom: 0cm;"><h3>Dobre strony </h3><h3 style="letter-spacing:3px">mojej strony</h3>
D. <span>Dobre strony </span><span style="letter-spacing:3px">mojej strony</span>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znacznik <span> jest idealnym rozwiązaniem do wyświetlania tekstu w jednym wierszu, ponieważ jest to znacznik inline, co oznacza, że nie wprowadza nowych linii przed ani po swoim zawartości. W tym przypadku <span>Dobre strony </span><span style="letter-spacing:3px">mojej strony</span> pozwala na utrzymanie tekstu w jednej linii, niezależnie od zastosowanego stylu. Styl CSS, taki jak letter-spacing, może być wykorzystany do modyfikacji wyglądu tekstu, nie wpływając na jego układ w dokumentach HTML. Dodatkowo, stosowanie znacznika <span> jest zgodne z W3C, co zapewnia, że struktura dokumentu jest zrozumiała dla przeglądarek oraz urządzeń wspomagających. Przykłady zastosowania <span> obejmują wyróżnianie fragmentów tekstu, dodawanie stylizacji bez wprowadzania nowych bloków, co jest istotne w responsywnym designie. Dzięki temu, <span> staje się kluczowym elementem w budowaniu interaktywnych i estetycznych interfejsów użytkownika.

Pytanie 5

Jakie pola znajdują się w formularzu?

Ilustracja do pytania
A. Input(Text), Select, Input(Radio), Input(Radio), Input(Submit), Input(Reset)
B. Textarea, Select, Input(Radio), Input(Radio), Input(Reset), Input(Submit)
C. Textarea, Option, Input(Checkbox), Input(Checkbox), Input(Submit), Input(Reset)
D. Input(Text), Input(Checkbox), Select, Select, Input(Submit), Input(Reset)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, którą wybrałeś, jest ok, bo wszystko trzyma się zasady formularzy z obrazka. Input(Text) to właśnie pole, w którym wpisujesz swoje nazwisko. Potem mamy Input(Select), który pozwala wybrać jedno z województw z listy – to też jest na plus. Przy Input(Radio) można wybrać jedną opcję, co dobrze pasuje do wyboru między Studiami podyplomowymi a Kursem. Input(Submit) jest do wysyłania formularza, więc tu też wszystko gra. Na końcu Input(Reset) zeruje wszystko, co jest przydatne, kiedy chcesz wyczyścić formularz. Wszystkie te elementy są zgodne z HTML5, co jest teraz standardem w tworzeniu stron. Fajnie, że formularz ma logiczne ułożenie, bo ułatwia to korzystanie z niego. Moim zdaniem, dobrze wiedzieć, jakie elementy są stosowane w formularzach, żeby wszystko działało tak jak powinno.

Pytanie 6

Jaką integralność określa przytoczona definicja?

Ilustracja do pytania
A. Referencyjną
B. Statyczną
C. Semantyczną
D. Encji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Integralność referencyjna jest fundamentalną zasadą w bazach danych, która zapewnia, że relacje między tabelami są prawidłowo zachowane. Oznacza to, że klucz obcy w jednej tabeli powinien zawsze odnosić się do istniejącego klucza głównego w innej tabeli. To podejście jest kluczowe w relacyjnych bazach danych, ponieważ zapobiega powstawaniu odniesień do nieistniejących danych co mogłoby prowadzić do niespójności w bazie danych. W praktyce integralność referencyjna jest implementowana poprzez restrykcje i ograniczenia narzucane na operacje takie jak wstawianie aktualizacja i usuwanie danych. Na przykład próba usunięcia rekordu z tabeli, do której odwołują się inne rekordy wprowadziłaby niespójność jeśli integralność referencyjna nie jest przestrzegana. Aby temu zapobiec systemy baz danych mogą blokować takie operacje lub automatycznie aktualizować albo usuwać powiązane dane. Przestrzeganie zasad integralności referencyjnej jest zgodne z dobrymi praktykami projektowania baz danych i zgodne ze standardem SQL co zapewnia spójność i integralność danych w systemach informatycznych.

Pytanie 7

Kolor, który ma odcień niebieski to kolor

A. #0000EE
B. #EE0000
C. #EE00EE
D. #00EE00

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kolor niebieski, który oznaczamy kodem #0000EE, to naprawdę ciekawa sprawa. W systemie hex to oznacza, że składowa niebieska (B) ma najwyższą możliwą wartość, czyli 238, a czerwony (R) i zielony (G) są na poziomie 0. To jest typowy sposób klasyfikacji kolorów w RGB, który jest super przydatny w grafice czy web designie. Niebieski świetnie nadaje się na tła stron czy różne elementy interfejsu, bo przyciąga wzrok i jest dość przejrzysty. Na przykład w CSS możemy napisać: `background-color: #0000EE;`. Fajnie jest znać te kody kolorów, bo ułatwia to komunikację w zespole i realizację pomysłów artystycznych.

Pytanie 8

Który kod HTML zapewni identyczny efekt formatowania jak na przedstawionym obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML
A. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
B. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania</i> tekstu w HTML</p>
C. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
D. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź numer 2 jest poprawna, ponieważ używa odpowiednich znaczników HTML do formatowania tekstu. Znacznik <i> stosowany jest do oznaczania tekstu kursywą, a znacznik <b> do pogrubienia. W tym przypadku tekst 'paragrafie' i 'sposoby formatowania' są otoczone znacznikiem <i>, co zgodnie z HTML oznacza kursywę. Natomiast słowo 'zobaczysz' jest otoczone zarówno <b> jak i <i>, co skutkuje pogrubieniem i kursywą jednocześnie. Taka struktura jest zgodna z konwencją hierarchii znaczników, która mówi, że znaczniki mogą być zagnieżdżane, aby uzyskać różne efekty formatowania. HTML pozwala na takie zagnieżdżanie, co jest częścią elastyczności tego języka w prezentowaniu treści. Dobrą praktyką jest także zapewnienie dostępności, gdzie znaczniki semantyczne mają szczególne znaczenie. Wykorzystanie <b> i <i> zamiast odpowiednio <strong> i <em> jest bardziej stylistyczne niż semantyczne, co ma swoje uzasadnienie w kontekście projektowym, ale w nowoczesnych praktykach powinno się również rozważyć znaczenie semantyczne i używać <strong> i <em> dla lepszego zrozumienia przez czytniki ekranowe.

Pytanie 9

Instrukcja break w przedstawionym kodzie PHP sprawi, że

for($i = 1; $i <= 3; $i++) {
    for($j = 1; $j <= 3; $j++) {
        echo "Iteracja: ($i, $j)";
        if($i == 2 and $j == 2)
            break;
    }
}
A. działanie wewnętrznej pętli zostanie zakończone po iteracji (2, 2) i będzie kontynuowane dla $i = 3.
B. wewnętrzna pętla dokończy działanie dla $j = 3, a następnie program zostanie przerwany.
C. iteracja (2, 2) zostanie przerwana i nastąpi po niej iteracja (2, 3).
D. działanie obu pętli zostanie zakończone po iteracji (2, 2).

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to: 'działanie wewnętrznej pętli zostanie zakończone po iteracji (2, 2) i będzie kontynuowane dla $i = 3'. Instrukcja 'break' w języku PHP, bez dodatkowego argumentu, kończy działanie najbliższej pętli - w tym przypadku jest to wewnętrzna pętla 'for'. Po przerwaniu działania wewnętrznej pętli, następuje kontynuacja wykonania kodu od kolejnej iteracji pętli zewnętrznej, czyli dla $i = 3. To jest zgodne ze standardami PHP - instrukcja 'break' służy do zakończenia aktualnej pętli czy instrukcji switch i przeniesienia sterowania do następnej instrukcji. Jest to przydatne narzędzie, które pozwala na optymalizację kodu i unikanie niepotrzebnego obliczenia iteracji, które nie wpłyną na wynik końcowy. Przykładowo, może to być użyteczne, gdy w pętli przeszukujemy tablicę w celu znalezienia konkretnego elementu - po jego znalezieniu nie musimy już przeszukiwać reszty tablicy.

Pytanie 10

W przedstawionym kodzie PHP przeprowadzono operację na bazie danych. Jaką funkcję należy wywołać, aby uzyskać liczbę wierszy, które zostały zmienione w tabeli?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10"; mysqli_query($db, $zapytanie);
A. mysqli_affected_rows()
B. mysqli_use_result()
C. mysqli_field_count()
D. mysqli_num_rows()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja mysqli_affected_rows() jest używana w kontekście zapytań modyfikujących dane w bazie danych, takich jak INSERT, UPDATE, DELETE. Po wykonaniu zapytania, które zmienia dane, funkcja ta zwraca liczbę wierszy, które zostały zmodyfikowane w wyniku wykonania tego zapytania. W przypadku podanego zapytania, zmieniającego stanowisko w tabeli 'kadra' dla rekordów z identyfikatorem mniejszym niż 10, użycie mysqli_affected_rows() pozwoli na uzyskanie informacji o tym, ile wierszy zostało zaktualizowanych. Jest to niezwykle przydatne w sytuacjach, gdy programista chce mieć kontrolę nad tym, które operacje modyfikujące dane przyniosły zamierzony efekt. Przykładowo, jeśli po wykonaniu zapytania chcemy zaktualizować interfejs użytkownika lub wykonać dodatkowe operacje tylko wtedy, gdy zmiany zostały wprowadzone, użycie tej funkcji jest kluczowe. Dobrą praktyką jest również uwzględnienie obsługi błędów, aby upewnić się, że operacje na bazie danych są poprawnie wykonane, co można osiągnąć za pomocą funkcji mysqli_error() w przypadku błędów zapytań.

Pytanie 11

W bazie danych MySQL znajduje się tabela z programami komputerowymi, posiadająca kolumny: nazwa, producent, rokWydania. Jaką kwerendę SELECT należy zastosować, aby uzyskać listę wszystkich producentów, unikając powtórzeń?

A. SELECT producent FROM programy WHERE UNIQUE
B. SELECT DISTINCT producent FROM programy
C. SELECT UNIQUE producent FROM programy
D. SELECT producent FROM programy WHERE producent NOT DUPLICATE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby uzyskać unikalne wartości z kolumny w bazie danych MySQL, należy użyć słowa kluczowego DISTINCT. W przypadku zapytania SELECT DISTINCT producent FROM programy; zapytanie to zwraca wszystkie unikalne nazwy producentów z tabeli programy. Słowo kluczowe DISTINCT działa na poziomie wierszy, co oznacza, że przeszukuje kolumnę producent, eliminując z wyników wszelkie powtarzające się wartości. Jest to szczególnie przydatne w analizie danych, gdzie istotne jest uzyskanie przeglądu unikalnych elementów. Na przykład, jeżeli tabela zawiera kilka wierszy z tym samym producentem, zapytanie to zwróci jedynie jeden wiersz dla każdego producenta. Przykład zastosowania: w przypadku tabeli zawierającej wartości jak 'Microsoft', 'Apple', 'Microsoft', wynik zapytania DISTINCT będzie obejmował 'Microsoft' i 'Apple'. W MySQL użycie DISTINCT jest zgodne ze standardem SQL i jest wspierane w większości systemów baz danych, co czyni je bardzo uniwersalnym narzędziem w pracy z danymi.

Pytanie 12

W której superglobalnej tablicy w PHP należy przechowywać informacje dotyczące logowania użytkownika w sposób gwarantujący ich bezpieczeństwo?

A. $_SERVER
B. $_SESSION
C. $_FILES
D. $_COOKIE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź $_SESSION jest spoko, bo ta superglobalna tablica jest stworzona do trzymania danych związanych z sesjami, co jest mega ważne przy logowaniu. Fajna rzecz w $_SESSION jest taka, że informacje w niej są dostępne tylko podczas, gdy sesja jest aktywna, co poprawia bezpieczeństwo i chroni przed kradzieżą ciasteczek. Używając $_SESSION, można śmiało przechowywać dane logowania, jak ID użytkownika czy jego uprawnienia. Na przykład można użyć $_SESSION do zapamiętania, czy użytkownik jest zalogowany, co pomaga w kontrolowaniu dostępu do różnych części aplikacji. I według mnie, po zakończeniu sesji dobrze jest wyczyścić te dane, bo to dodatkowo zabezpiecza aplikację przed niechcianym dostępem. Ogólnie, korzystając z $_SESSION, programiści mogą się skupić na logice aplikacji, wiedząc, że dane są zarządzane w miarę bezpiecznie.

Pytanie 13

Jakie zapytanie pozwoli Administratorowi cofnąć uprawnienia do przeglądania oraz modyfikacji danych w bazie gazeta dla użytkownika redaktor?

A. REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
B. GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';
C. GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';
D. REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybrana odpowiedź jest poprawna, ponieważ polecenie REVOKE służy do odbierania wcześniej przyznanych uprawnień użytkownikowi w systemie zarządzania bazą danych. W tym przypadku, REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost'; skutecznie odbiera prawo do przeglądania (SELECT) oraz aktualizacji (UPDATE) danych w bazie danych 'gazeta' dla użytkownika 'redaktor'. Przykładowe zastosowanie tego zapytania może mieć miejsce w sytuacji, gdy redaktor przestaje pełnić swoją funkcję i nie powinien już mieć dostępu do tych informacji. Standardową praktyką w zarządzaniu dostępem do baz danych jest stosowanie zasady najmniejszych uprawnień, co oznacza, że użytkownik powinien mieć tylko te uprawnienia, które są mu niezbędne do wykonywania swoich obowiązków. W przypadku, gdy konieczne jest zmodyfikowanie uprawnień, zamiast usuwania użytkownika, łatwiej jest po prostu odebrać mu konkretne prawa, co jest dokładnie tym, co robi to polecenie.

Pytanie 14

W jaki sposób, stosując język PHP można usunąć ciasteczko o nazwie ciastko?

A. setcookie(""$ciastko"", """", 0);
B. setcookie(""ciastko"", """", time()-3600);
C. unsetcookie(""$ciastko"");
D. deletecookie(""ciastko"");

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź setcookie("ciastko", "", time()-3600) jest poprawna, ponieważ to standardowy sposób usuwania ciasteczek w PHP. Funkcja setcookie odsyła nagłówek HTTP do przeglądarki, informując ją, że ciasteczko o podanej nazwie ('ciastko') powinno być usunięte. Aby to osiągnąć, musisz ustawić wartość ciasteczka na pusty ciąg oraz określić czas wygaśnięcia na przeszły, co w tym przypadku realizuje polecenie time()-3600. Dobre praktyki sugerują, że zawsze należy wyznaczyć ten czas, aby mieć pewność, że ciasteczko zostanie usunięte niezależnie od ustawień przeglądarki użytkownika. Warto również pamiętać, że aby usunięcie ciasteczka było skuteczne, należy użyć takiej samej ścieżki oraz domeny, które zostały użyte przy ustawieniu ciasteczka. Przykładowe zastosowanie to logowanie wyjścia użytkownika, gdzie usunięcie ciasteczek jest kluczowe dla zapewnienia bezpieczeństwa aplikacji. Dodatkowo, jako dobry zwyczaj, przed usunięciem ciasteczek można sprawdzić, czy istnieją, aby uniknąć niepotrzebnych operacji.

Pytanie 15

Debugger to narzędzie wykorzystywane do

A. identyfikacji błędów w kodzie programu
B. analizy właściwości programu
C. oceny szybkości działania programu
D. optymalizacji pamięci zajmowanej przez aplikację

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Debugger to narzędzie, które odgrywa kluczową rolę w procesie tworzenia oprogramowania, umożliwiając programistom identyfikację i naprawę błędów w kodzie. Główną funkcją debuggera jest pozwolenie na analizę działania programu na poziomie linii kodu, co umożliwia użytkownikowi śledzenie wykonania programu, monitorowanie wartości zmiennych oraz sprawdzanie logiki warunkowej. Użycie debuggera pozwala na wykrywanie błędów w czasie rzeczywistym, co jest niezwykle istotne, zwłaszcza w przypadku aplikacji, które muszą działać na różnych platformach i z różnymi danymi wejściowymi. Przykładem może być programowanie w języku Python, gdzie debugger umożliwia krokowe przechodzenie przez kod, co pomaga zrozumieć proces wykonania i zidentyfikować miejsca, gdzie występują nieprawidłowości. Dobrym zwyczajem jest korzystanie z debuggera na wczesnych etapach tworzenia oprogramowania, aby zminimalizować późniejsze problemy w fazie testowania i wdrażania.

Pytanie 16

W jakim standardzie języka hipertekstowego wprowadzono do składni znaczniki sekcji <footer>, <header>, <nav>?

A. HTML5
B. HTML4
C. XHTML1.0
D. XHTML 2.0

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tak, znaczników <footer>, <header> i <nav> zaczęto używać w HTML5, który zadebiutował w październiku 2014 roku. To jest ciekawe, bo HTML5 wprowadził sporo nowych semantycznych elementów, które pomagają w lepszej organizacji dokumentów HTML. Dzięki nim, przeglądarki i roboty wyszukiwarek mogą lepiej zrozumieć strukturę stron. Na przykład, <header> to nagłówek strony lub sekcji, <nav> tworzy menu nawigacyjne, a <footer> to stopka. Myślę, że to super sprawa, bo poprawia dostępność strony i jej SEO, bo tak naprawdę pomaga wyszukiwarkom w lepszym indeksowaniu treści, co może prowadzić do lepszych wyników w wyszukiwarkach. Dodatkowo, HTML5 ma też inne ciekawe nowinki, jak wsparcie dla multimediów, lokalne przechowywanie danych, a także lepszą kompatybilność z aplikacjami mobilnymi, więc zdecydowanie warto go wykorzystywać do budowy stron internetowych.

Pytanie 17

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. części wspólnej.
C. wykluczenia.
D. grupowania.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 18

Które z zapytań SQL wybiera nazwiska z tabeli klient, które mają co najmniej jedną literę i zaczynają się od litery Z?

A. SELECT nazwisko FROM klient WHERE nazwisko='Z_?';
B. SELECT nazwisko FROM klient WHERE nazwisko='Z?';
C. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%';
D. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoje zapytanie SQL wygląda świetnie: 'SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%';'. Używając operatora LIKE razem z symbolem '%', dajesz znać, że po literze 'Z' mogą się pojawić różne znaki. Dzięki temu dostaniesz wszystkie nazwiska zaczynające się na 'Z', niezależnie od tego, ile liter potem występuje. Moim zdaniem to dobry sposób na wyszukiwanie, bo w praktyce może zwrócić takie nazwiska jak 'Zawadzki', 'Zielinski' czy 'Zachariasz'. W SQL operator LIKE jest naprawdę przydatny, bo pozwala na elastyczne porównywanie wartości tekstowych. Symbol '%' oznacza dowolny ciąg znaków (nawet pusty), a '_' to dokładnie jeden znak. Wiem, że to podejście jest zgodne z normami SQL, co sprawia, że działa w różnych systemach baz danych, co jest świetne, bo można to łatwo przenieść z jednego miejsca do drugiego.

Pytanie 19

Aby przywrócić bazę danych MS SQL z archiwum, należy użyć polecenia

A. REBACKUP DATABASE
B. SAVE DATABASE
C. RESTORE DATABASE
D. DBCC CHECKDB

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby przywrócić bazę danych w systemie MS SQL Server z kopii bezpieczeństwa, wykorzystuje się polecenie RESTORE DATABASE. To polecenie umożliwia odtworzenie całej bazy danych ze wskazanej kopii zapasowej. Proces ten jest kluczowy w sytuacjach awaryjnych, takich jak usunięcie danych, awaria sprzętu czy uszkodzenie bazy danych. W kontekście standardów Microsoft, RESTORE DATABASE jest integralną częścią zarządzania danymi i bezpieczeństwa. Przykładowe zastosowanie polecenia obejmuje: RESTORE DATABASE [nazwa_bazy] FROM DISK = 'ścieżka_do_pliku.bak', gdzie 'ścieżka_do_pliku.bak' wskazuje na lokalizację pliku z kopią zapasową. Dodatkowo, można użyć opcji WITH RECOVERY, aby przywrócić bazę do stanu operacyjnego, lub WITH NORECOVERY, aby umożliwić dalsze operacje przywracania. Warto zaznaczyć, że przed przywróceniem bazy danych ważne jest odpowiednie przygotowanie środowiska oraz sprawdzenie integralności kopii zapasowej, co można osiągnąć za pomocą narzędzi takich jak DBCC CHECKDB. Zastosowanie polecenia RESTORE DATABASE jest niezbędne w codziennym zarządzaniu bazami danych, a jego znajomość jest kluczowa dla administratorów systemów baz danych.

Pytanie 20

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

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

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

</body>
</html>
A. duplikacji nazwy pliku graficznego
B. braku zamknięcia znacznika <img>
C. braku zamknięcia znacznika <br>
D. braku atrybutu alt w znaczniku <img>

Brak odpowiedzi na to pytanie.

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

Pytanie 21

Aby z tabeli Pracownicy wybrać tylko nazwiska kończące się na literę „i”, można zastosować następującą kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%";
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i";
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%";
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa kwerenda SQL do wyszukania nazwisk pracowników, których ostatnią literą jest 'i', to 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. Operator LIKE w SQL jest używany do wyszukiwania wzorców w danych tekstowych. W tym przypadku symbol '%' przed literą 'i' oznacza, że przed 'i' może występować dowolna liczba znaków (w tym zero), co umożliwia znalezienie wszystkich nazwisk kończących się na tę literę. Przykładowe nazwiska, które mogą być zwrócone przez tę kwerendę to 'Kowalski', 'Nowak', czy 'Wiśniewski'. Zgodnie z standardem SQL, użycie podwójnych cudzysłowów dla wzorca jest właściwe w kontekście baz danych, jednak w wielu systemach baz danych, w tym MySQL, częściej stosuje się pojedyncze cudzysłowy. Warto także zauważyć, że technika ta jest przydatna przy pracy z bazami danych, gdyż umożliwia elastyczne wyszukiwanie informacji oraz jest szczególnie cenne w aplikacjach wymagających filtrowania danych według specyficznych kryteriów.

Pytanie 22

Które z tabel będą poddane weryfikacji zgodnie z przedstawionym poleceniem? ```CHECK TABLE pracownicy CHANGED;```

A. Tylko te tabele, które nie mogły być poprawnie zakończone
B. Wyłącznie tabele odnoszące się do innych
C. Tabele, które uległy zmianie od ostatniej kontroli lub nie zostały poprawnie zamknięte
D. Tabele, które zmieniły się w obecnej sesji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie CHECK TABLE pracownicy CHANGED jest używane w systemach zarządzania bazami danych, aby sprawdzić stan tabeli 'pracownicy' w kontekście jej integralności i ewentualnych zmian, które miały miejsce od ostatniej kontroli. Poprawna odpowiedź odnosi się do przypadków, kiedy tabela mogła być zmieniona lub nie została prawidłowo zamknięta podczas ostatnich operacji, co może prowadzić do uszkodzenia danych lub naruszeń integralności. W praktyce, administratorzy baz danych często wykorzystują to polecenie jako część rutynowych procedur konserwacyjnych, aby zapewnić, że wszystkie tabele są w dobrym stanie. W przypadku dużych systemów z wieloma użytkownikami lub złożonymi transakcjami, regularne sprawdzanie tabel może zapobiec poważnym problemom w przyszłości. Dobre praktyki w zakresie zarządzania bazami danych obejmują również monitorowanie zmian oraz tworzenie kopii zapasowych przed dużymi operacjami, co wspiera bezpieczeństwo i integralność danych.

Pytanie 23

W języku JavaScript, w celu przekształcenia specjalnie przygotowanego tekstu w tablicę, można wykorzystać metodę

A. trim()
B. slice()
C. replace()
D. split()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda split() w języku JavaScript jest niezwykle użyteczna do dzielenia łańcucha tekstowego na elementy tablicy na podstawie określonego separatora. Gdy weźmiemy pod uwagę kontekst przetwarzania tekstu, na przykład możemy mieć ciąg znaków reprezentujący listę imion oddzielonych przecinkami, taki jak "Jan,Kasia,Piotr". Używając funkcji split(',', 2), możemy uzyskać tablicę ['Jan', 'Kasia'], co pozwala nam na łatwe manipulowanie i przetwarzanie tych danych. Metoda ta jest zgodna z zasadami programowania funkcyjnego, umożliwiając praktyczne podejście do przetwarzania danych. Warto również zauważyć, że split() może być wykorzystywana w różnorodnych kontekstach, takich jak praca z danymi z formularzy, analizowanie tekstów czy rozdzielanie argumentów w funkcjach. Stosując tę metodę, programiści powinni pamiętać o dobrych praktykach, takich jak walidacja danych wejściowych oraz zarządzanie sytuacjami, gdy ciąg wejściowy jest pusty lub nie zawiera separatora, co można osiągnąć poprzez dodatkowe sprawdzenia. W kontekście nowoczesnych aplikacji webowych, efektywne zarządzanie danymi tekstowymi jest kluczowe dla optymalizacji wydajności oraz poprawy UX, co czyni metodę split() fundamentalnym narzędziem w arsenale programisty JavaScript.

Pytanie 24

W firmowej tabeli znajdują się kolumny: nazwa, adres, NIP, obrót (obrót w ostatnim miesiącu), rozliczenie oraz status. Po wykonaniu kwerendy SQL

SELECT nazwa, NIP FROM firmy WHERE obrot < 4000;
na ekranie pojawią się:
A. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł
B. wszystkie informacje o firmach, które w ostatnim miesiącu uzyskały obrót co najmniej 4000 zł
C. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł
D. wszystkie informacje o firmach, które w ostatnim miesiącu miały obrót poniżej 4000 zł

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tej kwerendzie SQL chodziło o to, aby zrozumieć, że zapytanie 'SELECT nazwa, NIP FROM firmy WHERE obrót < 4000;' zwróci tylko nazwy firm i ich numery NIP. Tylko te firmy, co miały obrót poniżej 4000 zł w ostatnim miesiącu. SQL jako język zapytań daje nam możliwość wybierania konkretnych kolumn z tabeli i filtrowania wyników według różnych warunków. Tu wybraliśmy kolumny 'nazwa' i 'NIP', a filtr 'WHERE obrót < 4000' pokazuje nam tylko te firmy, które spełniają ten warunek. To bardzo ważne w praktycznym użyciu SQL, bo często musimy wyświetlać dane według określonych kryteriów. Dzięki temu zapytaniu łatwo możemy zidentyfikować firmy, które mogą potrzebować wsparcia finansowego lub jakiejś pomocy z powodu niskiego obrotu.

Pytanie 25

Która z poniższych funkcji w języku PHP zmieni słowo „kota” na „mysz” w zdaniu „ala ma kota”?

A. str_replace("ala ma kota", "kota", "mysz");
B. replace("ala ma kota", "kota", "mysz");
C. replace("kota", "mysz", "ala ma kota");
D. str_replace( "kota", "mysz", "ala ma kota");

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja str_replace w języku PHP jest odpowiedzialna za zamianę określonych ciągów znaków w danym tekście. W poprawnej odpowiedzi użyto jej w sposób zgodny z jej syntaksą, co jest kluczowe dla prawidłowego działania w tym kontekście. W przypadku str_replace, pierwszy argument to ciąg znaków, który chcemy zamienić, drugi argument to nowy ciąg, który ma zastąpić stary, a trzeci argument to tekst, w którym dokonujemy zamiany. W przedstawionym przykładzie, zamieniamy słowo 'kota' na 'mysz' w napisie 'ala ma kota', co skutkuje wynikiem 'ala ma mysz'. Tego rodzaju operacje są powszechnie stosowane w programowaniu webowym, szczególnie przy dynamicznym generowaniu treści, gdzie konieczne jest modyfikowanie tekstu na podstawie danych użytkownika lub baz danych. Warto również zwrócić uwagę na to, że stosowanie str_replace zgodnie z dokumentacją PHP jest standardem, który pozwala na uniknięcie wielu błędów związanych z manipulacją tekstem.

Pytanie 26

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Jak powinno wyglądać to w aktualizacji bazy danych?

A. UPDATE pracownicy SET pensja = 100;
B. UPDATE pensja SET 100;
C. UPDATE pracownicy SET pensja = pensja + 100;
D. UPDATE pensja SET +100;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'UPDATE pracownicy SET pensja = pensja + 100;' jest prawidłowa, ponieważ wprowadza właściwą składnię SQL, która aktualizuje pole 'pensja' w tabeli 'pracownicy'. To polecenie wykorzystuje operator przypisania '=', aby zaktualizować wartość 'pensja', dodając do niej 100 zł. W praktyce jest to typowy sposób na modyfikację danych w bazach danych relacyjnych, przy użyciu SQL. Kluczowym aspektem jest zrozumienie, że 'pensja' w tym kontekście odnosi się do istniejącej wartości w danym rekordzie, a nie do jakiejś stałej. Operator '+' w tym przypadku informuje system, że chcemy zwiększyć aktualną wartość o 100. Użycie tego typu składni jest zgodne z najlepszymi praktykami w programowaniu baz danych, co sprzyja przejrzystości i zrozumiałości kodu. Tego rodzaju aktualizacje są kluczowe w zarządzaniu danymi pracowników, zwłaszcza w kontekście systemów wynagrodzeń, gdzie regularne zmiany pensji są normą.

Pytanie 27

Który z przedstawionych kodów HTML sformatuje tekst według wzoru?
(uwaga: słowo "stacji" jest zapisane większą czcionką niż reszta słów w tej linii)

Lokomotywa

Stoi na stacji lokomotywa ...

A.
<h1>Lokomotywa</h1>
<p>Stoi na <big>stacji lokomotywa ...</p>

B.
<h1>Lokomotywa</h1>
<p>Stoi na <big>stacji</big> lokomotywa ...</p>

C.
<h1>Lokomotywa</p>
<p>Stoi na <big>stacji</big> lokomotywa ...</p>

D.
<p><small>Lokomotywa</small></p>
<p>Stoi na <big>stacji<big> lokomotywa ...</p>
A. A.
B. B.
C. D.
D. C.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Brawo! Wybrałeś prawidłową odpowiedź, która jest kodem HTML formatującym słowo 'stacji' większą czcionką niż reszta tekstu. Wykorzystuje ona znacznik <big>, który jest wyjątkowo przydatny w sytuacjach, gdy chcemy podkreślić pewną część tekstu i sprawić, że będzie ona wyglądać na większą niż reszta. Jest to praktyka często stosowana na stronach internetowych, by przyciągnąć uwagę użytkownika do konkretnych informacji. Pamiętaj jednak, że znacznik <big> jest przestarzały i nie jest zalecany do stosowania w nowoczesnym kodowaniu HTML. Zamiast tego, w dzisiejszych czasach lepiej jest używać CSS do zmiany rozmiaru czcionki. Niemniej jednak, znajomość różnych znaczników HTML, w tym <big>, jest nadal ważna, zwłaszcza do zrozumienia i utrzymania starszych stron internetowych.

Pytanie 28

Która z definicji tablicy asocjacyjnej w PHP jest składniowo poprawna?

A. $wiek = array("Anna"=>"35", "Ewa"=>"37", "Oliwia"=>"43");
B. $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);
C. $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});
D. $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Definicja tablicy asocjacyjnej w języku PHP, przedstawiona jako $wiek = array("Anna"=>"35", "Ewa"=>"37", "Oliwia"=>"43");, jest poprawna składniowo. Tablice asocjacyjne to struktury danych, które pozwalają na przechowywanie wartości w parach klucz-wartość. Kluczami mogą być stringi lub liczby, a wartości mogą być różnego typu. Użycie operatora => jest kluczowe, ponieważ wskazuje, że dla danego klucza (np. "Anna") przypisana jest konkretna wartość (np. "35"). W praktyce tablice asocjacyjne są niezwykle użyteczne w wielu sytuacjach, takich jak przetwarzanie danych z formularzy, gdzie klucze odpowiadają nazwom pól, a wartości to wprowadzone przez użytkownika dane. Dzięki tablicom asocjacyjnym można z łatwością uzyskiwać dostęp do wartości, analizować je i manipulować, co czyni je standardowym narzędziem w programowaniu w PHP i praktycznym podejściem w tworzeniu aplikacji webowych.

Pytanie 29

Jakie informacje można uzyskać na temat normalizacji tej tabeli?

Ilustracja do pytania
A. Tabela nie jest znormalizowana
B. Tabela jest w drugiej postaci normalnej
C. Tabela znajduje się w trzeciej postaci normalnej
D. Tabela znajduje się w pierwszej postaci normalnej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tabela nie jest znormalizowana ponieważ zawiera nieatomowe wartości w kolumnie Adres. Wartości te składają się z kilku elementów takich jak ulica kod pocztowy i miasto co jest sprzeczne z zasadą atomowości wymaganą w pierwszej postaci normalnej (1NF). Normalizacja danych jest kluczowym krokiem w projektowaniu baz danych mającym na celu eliminację redundancji i poprawę integralności danych. W praktyce dla osiągnięcia pierwszej postaci normalnej każda kolumna w tabeli powinna zawierać tylko jedną wartość co oznacza że Adres powinien być podzielony na kilka kolumn takich jak Ulica Kod Pocztowy i Miasto. Dalsze etapy normalizacji obejmują usuwanie zależności funkcyjnych oraz zapewnianie że wszystkie atrybuty niekluczowe są zależne wyłącznie od klucza głównego tabeli co jest celem drugiej i trzeciej postaci normalnej. Poprawne znormalizowanie danych ułatwia ich zarządzanie i zmniejsza ryzyko występowania niezgodności w bazie danych co jest standardem w branży IT zwłaszcza w dużych systemach informatycznych gdzie integralność danych jest kluczowa dla poprawnego działania aplikacji.

Pytanie 30

Zdefiniowanie klucza obcego jest niezbędne do utworzenia

A. relacji 1..1.
B. transakcji.
C. klucza podstawowego.
D. relacji 1..n.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie – klucz obcy definiujemy właśnie po to, żeby utworzyć i wymusić relację między tabelami, najczęściej relację 1..n. W praktyce wygląda to tak, że w tabeli „dziecko” (np. ZAMOWIENIA) umieszczamy kolumnę, która odwołuje się do klucza głównego w tabeli „rodzic” (np. KLIENCI). Ta kolumna jest właśnie kluczem obcym. Dzięki temu każde zamówienie musi być powiązane z istniejącym klientem. To jest klasyczny przykład relacji 1 klient – wiele zamówień (1..n). Moim zdaniem to jest jeden z fundamentów relacyjnych baz danych: klucze obce pilnują integralności referencyjnej. Silnik bazy (MySQL, PostgreSQL, SQL Server itd.) sprawdza, czy wartość w kolumnie z kluczem obcym faktycznie istnieje w tabeli nadrzędnej. Jeżeli spróbujesz wstawić zamówienie z nieistniejącym id_klienta, dostaniesz błąd. To jest dokładnie to, co chcemy w dobrze zaprojektowanym systemie – brak „osieroconych” rekordów. W relacjach 1..n stosuje się standardowo schemat: tabela nadrzędna ma klucz podstawowy (PRIMARY KEY), a tabela podrzędna ma kolumnę z kluczem obcym (FOREIGN KEY), który wskazuje na ten klucz podstawowy. W SQL zapisuje się to np.: `FOREIGN KEY (id_klienta) REFERENCES klienci(id_klienta)`. Dobre praktyki mówią też, żeby na kolumnach kluczy obcych zakładać indeksy, bo to przyspiesza złączenia (JOIN) i operacje kasowania/aktualizacji. Warto też wiedzieć, że klucz obcy może być używany z dodatkowymi opcjami, np. `ON DELETE CASCADE` lub `ON UPDATE RESTRICT`, żeby automatycznie usuwać powiązane rekordy lub blokować operacje łamiące spójność danych. W realnych aplikacjach webowych (np. systemy sklepów internetowych, CRM-y, systemy magazynowe) poprawne zdefiniowanie relacji 1..n przez klucze obce to podstawa stabilności całej bazy – bez tego bardzo szybko robi się bałagan, duplikaty i niespójne dane.

Pytanie 31

ALTER TABLE artykuły MODIFY cena float; Ta kwerenda ma na celu wprowadzenie zmian w tabeli artykuły.

A. zmiana nazwy kolumny cena na float
B. usunięcie kolumny cena o typie float
C. dodanie kolumny cena o typie float, o ile nie istnieje
D. zmiana typu na float dla kolumny cena

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź była trafna, bo dotyczyła zmiany typu danych w kolumnie w tabeli. Kiedy piszesz 'ALTER TABLE artykuły MODIFY cena float;', to tak naprawdę modyfikujesz kolumnę 'cena', żeby mogła przyjmować liczby zmiennoprzecinkowe. Używanie typu float jest naprawdę przydatne, gdyż ceny często mają wartości z przecinkiem, więc nie ma sensu tego trzymać w innym formacie. Z mojego doświadczenia, takie zmiany są ważne, bo pomagają w dokładnym przechowywaniu danych, co jest kluczowe w przy aplikacjach związanych z finansami czy sprzedażą online. Ale pamiętaj, że warto zawsze mieć kopię zapasową, bo jeśli masz już jakieś dane, które się nie zmieszczą w nowym typie, to może być kłopot. Generalnie, używanie 'ALTER TABLE' to podstawowa rzecz w zarządzaniu bazami danych i dobrze wiedzieć, co się robi.

Pytanie 32

Formularz przesyła informacje do pliku skrypt.php po naciśnięciu przycisku oznaczonego jako "WYŚLIJ". Wskaż właściwą definicję formularza.

Ilustracja do pytania
A. Skrypt 4
B. Skrypt 2
C. Skrypt 1
D. Skrypt 3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W formularzu HTML do wysłania danych do określonego skryptu należy użyć atrybutu action w znaczniku form co określa adres URL do którego zostaną przesłane dane. Ponadto kluczowy jest atrybut type elementu input który powinien być ustawiony na submit aby umożliwić wysłanie danych po naciśnięciu przycisku. Skrypt 4 jest poprawny ponieważ zawiera zarówno poprawną definicję action="skrypt.php" jak i właściwe określenie typu przycisku jako submit. Taka konstrukcja jest zgodna ze standardami HTML5 i jest powszechnie stosowana w tworzeniu interaktywnych formularzy internetowych. Poprawne wysyłanie formularzy jest kluczowe w wielu aplikacjach webowych szczególnie w kontekście przesyłania danych użytkownika do serwera gdzie mogą być one przetwarzane lub przechowywane. Przy projektowaniu formularza ważne jest również uwzględnienie bezpieczeństwa danych używając metod takich jak POST zamiast GET co zapobiega wyciekom danych w adresie URL. Dobre praktyki obejmują także walidację po stronie klienta oraz serwera aby upewnić się że przesyłane informacje spełniają wymagane kryteria co minimalizuje ryzyko błędów i potencjalnych ataków."

Pytanie 33

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 34

Proces zmierzający do osiągnięcia przez stronę internetową jak najwyższych pozycji w rankingach wyszukiwarek internetowych nosi nazwę

A. pozycjonowania.
B. walidacji HTML.
C. responsywności.
D. optymalizacji wydajności.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to „pozycjonowanie”, bo właśnie tak w branży nazywa się proces działań mających na celu osiąganie jak najwyższych pozycji strony w wynikach wyszukiwarek (głównie Google). W praktyce pozycjonowanie obejmuje zarówno SEO on‑page, jak i SEO off‑page. On‑page to m.in. poprawna struktura HTML, nagłówki H1–H3, sensowne tytuły stron (tag title), opisy meta description, przyjazne adresy URL, szybkość ładowania, mobile‑friendly design. Off‑page to głównie link building, czyli zdobywanie wartościowych odnośników z innych serwisów, obecność w katalogach branżowych, artykuły sponsorowane, a także ogólna reputacja domeny. Z mojego doświadczenia pozycjonowanie to nie jednorazowa akcja, tylko stały proces optymalizacji, analizy słów kluczowych, śledzenia statystyk w Google Search Console i Google Analytics, dopasowywania treści do intencji użytkownika. Dobre praktyki mówią, żeby unikać technik black‑hat SEO (np. kupowanie tysięcy spamowych linków, ukryty tekst, keyword stuffing), bo algorytmy wyszukiwarek szybko to wychwytują i mogą nałożyć filtr lub karę. Moim zdaniem kluczowe w pozycjonowaniu jest połączenie technicznie poprawnej strony (wydajność, responsywność, poprawny HTML) z wartościową treścią i rozsądną strategią linków. To właśnie cały ten zestaw działań nazywamy pozycjonowaniem strony w wyszukiwarkach.

Pytanie 35

Podana linia kodu została napisana w języku?

document.getElementById("paragraf1").innerHTML = wynik;
A. JavaScript
B. Python
C. PHP
D. C#

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź JavaScript jest prawidłowa, ponieważ linia kodu, którą przedstawiono, wykorzystuje standardową metodę DOM (Document Object Model) do dynamicznej manipulacji zawartością HTML. W kodzie 'document.getElementById("paragraf1").innerHTML = wynik;' funkcja 'getElementById' służy do odnajdywania elementu HTML o identyfikatorze 'paragraf1'. Następnie, przypisanie wartości zmiennej 'wynik' do 'innerHTML' tego elementu zmienia jego zawartość tekstową. JavaScript jest głównym językiem do tworzenia interaktywnych stron internetowych i umożliwia programistom tworzenie dynamicznych funkcjonalności. Przykład praktycznego użycia to sytuacja, gdy na stronie internetowej chcemy wyświetlić obliczone wyniki w czasie rzeczywistym, np. w aplikacjach kalkulatorów online. W kontekście standardów branżowych, używanie DOM do manipulacji elementami HTML w JavaScript jest uważane za dobrą praktykę, a jego znajomość jest niezbędna dla każdego web developera.

Pytanie 36

Baza danych zawiera tabelę pod nazwą pracownicy, która ma pola: nazwisko, imię, pensja oraz wiek. Jak brzmi składnia zapytania, aby obliczyć średnią pensję pracowników?

A. select VAR(pensja) from nazwisko
B. select VAR(pracownicy) into pensja
C. select AVG(nazwisko) into pensja
D. select AVG(pensja) from pracownicy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby obliczyć średnią pensję pracowników w tabeli 'pracownicy', używamy funkcji agregującej AVG, która zwraca średnią wartość dla podanego pola. W kontekście SQL, składnia polecenia 'select AVG(pensja) from pracownicy' jest poprawna, ponieważ wskazuje, że chcemy obliczyć średnią z kolumny 'pensja' w tabeli 'pracownicy'. Funkcje agregujące, takie jak AVG, SUM, COUNT, MIN i MAX, są fundamentalne w analizie danych, ponieważ umożliwiają zestawienie wyników w sposób zrozumiały i zwięzły. Przydatność funkcji AVG można zauważyć w praktyce, gdy potrzebujemy ocenić wynagrodzenia w firmie, co może wpłynąć na decyzje dotyczące polityki płacowej. Przykładowo, w przypadku tabeli z danymi o wynagrodzeniach, takie zapytanie zwraca pojedynczą wartość – średnią pensję, co pozwala na szybkie zrozumienie sytuacji finansowej firmy. Zgodnie z standardami SQL, polecenia muszą być formułowane w sposób, który jasno określa zarówno źródło danych, jak i sposób ich agregacji, co zostało spełnione w tej odpowiedzi.

Pytanie 37

Komunikat błędu generowany przez walidator HTML może wskazywać na

A. brak zamknięcia znaczników zagnieżdżonych wewnątrz znacznika <p> przed jego zakończeniem
B. niezgodną ilość znaczników <p> otwartych i zamkniętych
C. brak zamknięcia znacznika <p>
D. zamknięciu znacznika <p>, mimo że wcześniej nie był on otwarty

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wygląda na to, że w Twoim kodzie użyłeś znacznika <p>, ale zapomniałeś zamknąć niektóre zagnieżdżone w nim znaczniki, jak np. <a>. W HTML każda otwarta struktura musi być zamknięta zanim zamkniesz wyższy znacznik. Jak tego nie zrobisz, przeglądarki mogą źle interpretować Twój kod, co czasem prowadzi do problemów z wyświetlaniem strony. Więc pamiętaj, aby przed końcowymi znacznikami sprawdzić, czy wszystko jest zamknięte tak, jak powinno!

Pytanie 38

W SQL uprawnienie SELECT przydzielone za pomocą polecenia GRANT umożliwia użytkownikowi bazy danych

A. usuwanie danych z tabeli
B. generowanie tabeli
C. zmienianie danych w tabeli
D. uzyskiwanie danych z tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przywilej SELECT w języku SQL, przyznawany przy użyciu polecenia GRANT, umożliwia użytkownikowi baz danych na wykonywanie operacji odczytu danych z określonych tabel. Oznacza to, że użytkownik może pobierać informacje zapisane w tabelach bazy danych, co jest kluczowe dla większości aplikacji korzystających z danych. Na przykład, w kontekście aplikacji analitycznych, dostęp do danych pozwala na generowanie raportów i analiz, które wspierają podejmowanie decyzji. W praktyce, przyznanie przywileju SELECT jest standardową procedurą zabezpieczającą, ponieważ pozwala na kontrolowanie, którzy użytkownicy mogą zobaczyć dane w bazie, minimalizując ryzyko nieautoryzowanego dostępu. Warto również zaznaczyć, że w bazach danych, takich jak MySQL, PostgreSQL czy Oracle, przywileje są zarządzane w sposób hierarchiczny, co oznacza, że użytkownik z przywilejem SELECT może dodatkowo dziedziczyć inne przywileje, co zwiększa elastyczność zarządzania dostępem.

Pytanie 39

Liczba 0x142, przedstawiona w kodzie JavaScript, przyjmuje formę

A. dziesiętną
B. szesnastkową
C. ósemkową
D. dwójkową

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Liczba 0x142 jest zapisana w systemie szesnastkowym, co oznacza, że jest reprezentowana w bazie 16. W systemie szesnastkowym posługujemy się cyframi od 0 do 9 oraz literami od A do F, gdzie A odpowiada 10, B to 11, C to 12, D to 13, E to 14, a F to 15 w systemie dziesiętnym. Przykład zastosowania tego systemu można zauważyć w programowaniu oraz w różnych standardach, takich jak HTML, gdzie kolory są często reprezentowane w formacie szesnastkowym, np. #FFFFFF dla bieli. Można także spotkać się z systemem szesnastkowym w adresacji pamięci oraz w reprezentacji liczb dużych, co jest szczególnie przydatne w kontekście programowania niskopoziomowego i systemów wbudowanych. Zrozumienie różnych systemów liczbowych, w tym szesnastkowego, jest niezbędne dla każdego programisty, szczególnie podczas pracy z danymi binarnymi, hex i podczas obliczeń niskopoziomowych.

Pytanie 40

Dodanie do tabeli Produkty kolumny data_produkcji zostanie wykonane kwerendą SQL

A. ALTER TABLE Produkty ADD data_produkcji DATE;
B. ALTER TABLE Produkty DROP data_produkcji DATE;
C. ALTER TABLE Produkty DROP COLUMN data_produkcji DATE;
D. ALTER TABLE Produkty ADD DATE data_produkcji;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź wykorzystuje dokładną składnię polecenia ALTER TABLE, którą stosuje się w SQL do modyfikowania struktury istniejącej tabeli. Instrukcja `ALTER TABLE Produkty ADD data_produkcji DATE;` robi dwie kluczowe rzeczy: wskazuje tabelę, którą zmieniamy (`Produkty`) oraz dodaje nową kolumnę (`data_produkcji`) z określonym typem danych (`DATE`). Taka forma jest zgodna z typową składnią w popularnych systemach bazodanowych, jak MySQL, PostgreSQL, SQL Server czy Oracle (choć drobne różnice składniowe mogą się pojawiać w innych, bardziej egzotycznych systemach). W praktyce oznacza to, że po wykonaniu tej komendy tabela zyska nową kolumnę, w której można przechowywać datę produkcji każdego produktu. Typ `DATE` służy do przechowywania samej daty (rok, miesiąc, dzień), bez czasu. To jest dobre rozwiązanie, jeśli interesuje nas tylko kiedy produkt został wyprodukowany, a nie konkretna godzina. W wielu projektach w technikum czy w pracy zawodowej taka kolumna przydaje się np. do wyliczania terminu przydatności, raportów wiekowania towaru, filtrowania produktów po dacie produkcji, a nawet do prostych analiz, kiedy dana partia była wytwarzana. Moim zdaniem warto od razu kojarzyć sobie taką komendę z dobrymi praktykami modelowania danych: nazwa kolumny powinna być czytelna i jednoznaczna (tutaj `data_produkcji` bardzo dobrze opisuje zawartość), typ danych powinien być możliwie najbardziej dopasowany do przechowywanej informacji (tu `DATE`, a nie np. `VARCHAR`), a zmiany struktury tabeli trzeba wykonywać świadomie, najlepiej mając kopię zapasową bazy lub przynajmniej danej tabeli. W realnych systemach produkcyjnych często dodaje się też ograniczenia, np. `NOT NULL` albo domyślną wartość, na przykład: `ALTER TABLE Produkty ADD data_produkcji DATE NOT NULL DEFAULT CURRENT_DATE;` W testach i nauce zaczyna się jednak od prostszej wersji, takiej jak w tym pytaniu, żeby dobrze zapamiętać podstawowy schemat: `ALTER TABLE <nazwa_tabeli> ADD <nazwa_kolumny> <typ_danych>;`.