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: 28 kwietnia 2026 18:34
  • Data zakończenia: 28 kwietnia 2026 18:46

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Przedstawiony styl generuje pojedyncze obramowanie, które posiada następujące właściwości:

border: solid 1px;
border-color: red blue green yellow;
A. krawędź lewa ma kolor czerwony, krawędź dolna w kolorze niebieskim, krawędź prawa w odcieniu zielonym, krawędź górna w kolorze żółtym
B. krawędź prawa ma kolor czerwony, krawędź dolna w kolorze niebieskim, krawędź lewa w odcieniu zielonym, krawędź górna w kolorze żółtym
C. krawędź górna jest koloru czerwonego, krawędź prawa koloru niebieskiego, krawędź dolna koloru zielonego, krawędź lewa koloru żółtego
D. krawędź górna ma kolor czerwony, krawędź lewa w kolorze niebieskim, krawędź dolna w odcieniu zielonym, krawędź prawa w kolorze żółtym
Prawidłowa odpowiedź wynika z użycia właściwości CSS border-color z czterema wartościami przypisanymi kolejno do górnej prawej dolnej i lewej krawędzi elementu. W tym przypadku border-color: red blue green yellow; przypisuje kolor czerwony do górnej krawędzi kolor niebieski do prawej zielony do dolnej i żółty do lewej. Jest to powszechna praktyka w stylizacji stron internetowych gdzie cztery wartości podane dla border-color definiują odpowiednio kolory górnej prawej dolnej i lewej krawędzi. Taki styl umożliwia projektantom tworzenie wizualnie interesujących i wyróżniających się elementów poprzez łatwe manipulowanie kolorami i szerokościami obramowań. Zastosowanie tego w praktyce może być wykorzystane do zaznaczenia ważnych sekcji strony lub wyróżnienia określonych elementów. Tego rodzaju technika stylizacji jest zgodna z dobrymi praktykami i standardami CSS co pozwala na uzyskanie estetycznego i funkcjonalnego interfejsu użytkownika. Wiedza o przypisaniu kolorów do poszczególnych krawędzi jest kluczowa w projektowaniu elastycznych i responsywnych układów stron.

Pytanie 2

Zdefiniowano bazę danych z tabelą sklepy, zawierającą pola: nazwa, ulica, miasto, branża. Aby odnaleźć wszystkie nazwy sklepów spożywczych znajdujących się wyłącznie we Wrocławiu, należy użyć kwerendy:

A. SELECT sklepy FROM branza='spożywczy' WHERE miasto='Wrocław';
B. SELECT sklepy FROM nazwa WHERE branza='spożywczy' BETWEEN miasto='Wrocław';
C. SELECT nazwa FROM sklepy WHERE branza='spożywczy' AND miasto='Wrocław';
D. SELECT nazwa FROM sklepy WHERE branza='spożywczy' OR miasto='Wrocław';
Żeby znaleźć wszystkie sklepy spożywcze tylko we Wrocławiu, stosujemy kwerendę SQL: SELECT nazwa FROM sklepy WHERE branza='spożywczy' AND miasto='Wrocław'; Ta kwerenda jest OK, bo używa klauzuli WHERE, żeby zawęzić wyniki. Klauzula AND jest bardzo ważna, bo tak naprawdę pozwala na spełnienie obu warunków naraz. Jeśli mamy tabelę 'sklepy', gdzie są różne dane o sklepach, to ta kwerenda zwróci tylko te, które pasują do obu kryteriów. Myślę, że to dobrze pokazuje, jak działa normalizacja baz danych, która mówi, żeby unikać duplikatów przez dokładne filtrowanie. Użycie AND gwarantuje, że dostaniemy wyniki, które są naprawdę zgodne z naszym zapytaniem. Na przykład jeśli w tabeli mamy 'Sklep A, ul. X, Wrocław, spożywczy' i 'Sklep B, ul. Y, Poznań, spożywczy', to nasza kwerenda odda tylko 'Sklep A'.

Pytanie 3

UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);
W tabeli klient o polach: id, imie, nazwisko, miejscowosc znajduje się 5 rekordów o id od 1 do 5. Dla których wartości kolumny id przedstawiona kwerenda zaktualizuje zawartość pola miejscowosc na Warszawa?
A. 1, 5
B. 2, 4
C. 3
D. 2, 3, 4
Zapytanie UPDATE, które widzisz w treści pytania, działa bardzo precyzyjnie: `UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);` oznacza wprost „zmień wartość kolumny miejscowosc na 'Warszawa' tylko w tych wierszach, w których kolumna id ma wartość 2 albo 4”. Klauzula `WHERE id IN (2,4)` to po prostu skrócony zapis warunku: `WHERE id = 2 OR id = 4`. Skoro w tabeli są rekordy o id 1, 2, 3, 4, 5, to modyfikacji podlegają tylko te dwa wiersze, które spełniają warunek logiczny, czyli id równe 2 i id równe 4. Pozostałe rekordy nie są w żaden sposób dotykane przez to polecenie – ich miejscowość zostaje bez zmian. Z mojego doświadczenia to bardzo często używany wzorzec w praktyce, np. gdy trzeba szybko poprawić dane tylko wybranych klientów, zamówień czy produktów. Warto pamiętać, że polecenie UPDATE bez klauzuli WHERE zaktualizuje wszystkie rekordy w tabeli, co zwykle jest niebezpieczne i w realnych projektach uznawane za błąd, jeśli nie jest to w pełni świadome działanie. W profesjonalnych systemach bazodanowych dobrą praktyką jest zawsze dokładne sprawdzanie warunku WHERE, czasem nawet poprzedzonego zapytaniem SELECT z takim samym warunkiem, żeby zobaczyć, które wiersze zostaną zmienione przed wykonaniem UPDATE. W tym przykładzie można by najpierw zrobić: `SELECT * FROM klient WHERE id IN (2,4);`, a dopiero potem uruchomić UPDATE. W codziennej pracy z SQL konstrukcja `IN` jest też wygodna, gdy lista identyfikatorów jest dłuższa, np. `IN (2,4,7,10,15)`, zamiast pisać długie wyrażenie z wieloma OR. To poprawia czytelność i zmniejsza ryzyko pomyłki przy edycji kodu, co jest po prostu zdrową praktyką w zespole programistów i administratorów baz danych.

Pytanie 4

W SQL prawo SELECT w poleceniu GRANT umożliwia użytkownikowi bazy danych na

A. zmianę danych w tabeli
B. tworzenie nowych tabel
C. pobieranie danych z tabeli
D. usuwanie danych z tabeli
Przywilej SELECT w poleceniu GRANT w języku SQL jest kluczowym elementem zarządzania dostępem do danych w bazach danych. Umożliwia on użytkownikowi wykonanie operacji odczytu na danych przechowywanych w tabelach. W praktyce oznacza to, że użytkownik, któremu przyznano ten przywilej, może wykonywać zapytania SELECT, aby przeglądać dane, analizować je i generować raporty. Przykładowo, w kontekście systemu zarządzania bazą danych (DBMS) takiego jak MySQL, po przyznaniu przywileju SELECT dla konkretnej tabeli, użytkownik może wywołać zapytanie takie jak 'SELECT * FROM nazwa_tabeli;', co pozwala mu na wyświetlenie wszystkich rekordów z tej tabeli. Praktyka ta jest zgodna z podstawowymi zasadami zarządzania dostępem do danych, które są zdefiniowane w standardzie SQL. Odczytywanie danych jest fundamentalnym zadaniem w analizie danych, a przywilej SELECT jest często pierwszym krokiem w budowaniu bardziej złożonych zapytań, które mogą obejmować agregacje, filtrowanie czy łączenie tabel. W ten sposób przywilej SELECT nie tylko umożliwia dostęp do danych, ale także stanowi podstawę dla bardziej zaawansowanych operacji na danych.

Pytanie 5

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

A. responsywności.
B. walidacji HTML.
C. pozycjonowania.
D. optymalizacji wydajności.
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 6

Aby prawidłowo zorganizować hierarchiczną strukturę tekstu na stronie internetowej, powinno się wykorzystać

A. znacznik <div>
B. znacznik <p> z formatowaniem
C. znaczniki <frame> i <table>
D. znaczniki <h1>, <h2> oraz <p>
Aby poprawnie zdefiniować hierarchiczną strukturę tekstu witryny internetowej, kluczowe jest zastosowanie znaczników <h1>, <h2>, oraz <p>. Znacznik <h1> jest najważniejszym nagłówkiem na stronie i powinien być używany tylko raz, aby wskazać główny temat treści. Z kolei znaczniki <h2> służą do wyodrębnienia podtematów, co pozwala na tworzenie czytelnej i logicznej struktury dokumentu. Dzięki tym znacznikom, zarówno użytkownicy, jak i wyszukiwarki internetowe mogą łatwiej zrozumieć hierarchię treści. Znacznik <p> jest używany do definiowania akapitów, co dodatkowo poprawia czytelność tekstu. Zastosowanie tej struktury jest zgodne z wytycznymi W3C oraz zasadami SEO, co przyczynia się do lepszego indeksowania przez wyszukiwarki. Przykładowo, strona internetowa poświęcona zdrowemu stylowi życia może mieć <h1> jako 'Zdrowy Styl Życia', a <h2> jako 'Dieta' i 'Ćwiczenia', co ułatwia użytkownikom nawigację oraz przyswajanie treści.

Pytanie 7

W edytorze grafiki wektorowej zbudowano kształt, który składa się z dwóch figur: trójkąta oraz koła. Aby uzyskać ten kształt, po narysowaniu figur i ich odpowiednim ustawieniu, trzeba użyć funkcji

Ilustracja do pytania
A. wykluczenia
B. rozdzielenia
C. sumy
D. różnicy
Funkcja sumy w programach do grafiki wektorowej, takich jak Adobe Illustrator czy CorelDRAW, pozwala na połączenie dwóch lub więcej kształtów w jeden obiekt. To takie sprytne narzędzie! Sumowanie, znane też jako unia lub łączenie ścieżek, integruje geometrię wszystkich wybranych kształtów. Na przykład, jak narysujesz trójkąt i koło, a potem je odpowiednio ustawisz, to używając funkcji sumy, stworzysz nowy kształt, który obejmuje całą powierzchnię obu figur. Często to robi się przy projektowaniu logo, gdzie trzeba uprościć złożone kształty do jednej ścieżki. Taki sposób działania jest przyjęty w branży, bo ułatwia tworzenie czytelnych grafik, które są łatwe do edytowania. A co najważniejsze, połączenie figur w jedną upraszcza późniejsze zmiany i wpisuje się w zasady projektowania minimalistycznego, dzięki czemu można robić przejrzyste kompozycje. Warto mieć na uwadze, że takie podejście też ułatwia drukowanie i wycinanie, co jest mega ważne w produkcji materiałów reklamowych czy wyrobów przemysłowych.

Pytanie 8

Który z parametrów obiektu graficznego zmieni się po zmianie wartości kanału alfa?

A. Kolejność wyświetlenia pikseli
B. Ostrość krawędzi
C. Przezroczystość
D. Nasycenie barw
Kanał alfa jest kluczowym parametrem w zarządzaniu przezroczystością obiektów graficznych. Przezroczystość definiuje, w jakim stopniu dany obiekt jest widoczny na tle innych elementów graficznych. W systemach graficznych, takich jak Adobe Photoshop czy GIMP, kanał alfa może przyjmować wartości od 0 (całkowicie przezroczysty) do 255 (całkowicie nieprzezroczysty). Kiedy zmieniamy wartość kanału alfa, manipuluje to stopniem przezroczystości danego obiektu, co ma kluczowe znaczenie w projektowaniu graficznym oraz w tworzeniu efektów wizualnych. Przykładowo, w projektowaniu interfejsów użytkownika często stosuje się przezroczystość do uzyskania efektów wizualnych, które poprawiają estetykę oraz funkcjonalność. Dobrą praktyką jest używanie przezroczystości w celu tworzenia głębi i warstwowości w grafice, co może być przydatne w animacjach oraz w aplikacjach mobilnych, gdzie przejrzystość elementów interfejsu wpływa na użyteczność i doświadczenie użytkownika. Warto pamiętać, że manipulowanie kanałem alfa powinno być wcześniej przemyślane, aby osiągnąć zamierzony efekt wizualny bez negatywnego wpływu na czytelność i odbiór projektu.

Pytanie 9

Aby skutecznie zrealizować algorytm wyznaczający największą z trzech podanych liczb a, b oraz c, wystarczy użyć

A. dwóch warunków
B. dwóch tablic
C. jednej pętli
D. pięciu zmiennych
Wybór odpowiedzi "dwa warunki" jest prawidłowy, ponieważ algorytm do znalezienia największej z trzech liczb – a, b i c – można zrealizować za pomocą zaledwie dwóch porównań. Na przykład, pierwszy warunek mógłby porównywać liczby a i b, aby ustalić, która z nich jest większa. Następnie, drugi warunek porównuje tę większą wartość z liczbą c. W rezultacie, w ciągu dwóch warunków jesteśmy w stanie zidentyfikować największą liczbę. Praktycznie, to podejście jest efektywne i minimalistyczne, co jest zgodne z zasadą KISS (Keep It Simple, Stupid), która jest istotna w inżynierii oprogramowania. Ograniczenie liczby operacji do niezbędnego minimum nie tylko ułatwia zrozumienie algorytmu, ale także poprawia jego wydajność. Takie podejście jest często stosowane w codziennej programistyce, a także w bardziej zaawansowanych algorytmach, gdzie minimalizacja złożoności obliczeniowej jest kluczowa dla wydajności aplikacji.

Pytanie 10

Poleceniem SQL służącym do wstawiania nowego rekordu z danymi jest

A. UPDATE
B. ADD
C. CREATE
D. INSERT INTO
Poprawna odpowiedź to `INSERT INTO`, bo właśnie tym poleceniem w SQL dodajemy nowe rekordy (wiersze) do tabeli w bazie danych. W praktyce wygląda to najczęściej tak: `INSERT INTO klienci (imie, nazwisko, email) VALUES ('Jan', 'Kowalski', '[email protected]');`. Silnik bazy danych (np. MySQL, PostgreSQL, SQL Server) odczytuje listę kolumn, dopasowuje do nich wartości z sekcji `VALUES` i tworzy nowy wiersz. To jest podstawowa operacja DML (Data Manipulation Language), obok `UPDATE`, `DELETE` i `SELECT`. W dobrych praktykach zawsze warto jawnie podawać listę kolumn po `INSERT INTO`, zamiast polegać na kolejności kolumn w tabeli. Dzięki temu, gdy ktoś doda nową kolumnę do tabeli albo zmieni ich kolejność, nasze zapytania się nie „wysypią” albo – co gorsza – nie wstawią danych w złe pola. Moim zdaniem to jest jedna z tych rzeczy, które odróżniają kod „na szybko” od kodu, który można utrzymywać latami. Warto też pamiętać o kwestii typów danych: wartości podawane w `VALUES` muszą pasować do typów kolumn (np. tekst w `VARCHAR`, liczba w `INT`, data w `DATE`). W aplikacjach webowych zapytania `INSERT` bardzo często pojawiają się przy obsłudze formularzy – np. rejestracja użytkownika, zapis zamówienia, dodawanie komentarza. Dobrą praktyką jest również używanie parametrów zapytań (prepared statements), a nie sklejanie stringów, żeby uniknąć podatności na SQL Injection. Podsumowując: jeśli chcesz dodać nowy rekord do istniejącej tabeli, standard SQL przewiduje właśnie `INSERT INTO` jako właściwe i jedyne poprawne polecenie do tego celu.

Pytanie 11

Który z poniższych fragmentów kodu HTML sformatuje tekst zgodnie z wymaganiami? (zauważ, że słowo "stacji" jest wyświetlane w większej czcionce niż pozostałe słowa w tej linii)

Ilustracja do pytania
A. Odpowiedź 1: A
B. Odpowiedź 3: C
C. Odpowiedź 4: D
D. Odpowiedź 2: B
Odpowiedź B jest prawidłowa ponieważ używa znacznika big do zwiększenia rozmiaru czcionki dla słowa stacji wewnątrz paragrafu. Znacznik big jest standardowym sposobem na zwiększenie tekstu w HTML chociaż obecnie rekomendowane jest stosowanie CSS do takich stylizacji co pozwala na oddzielenie treści od prezentacji. Przykładowo można użyć CSS w stylu inline lub w oddzielnym arkuszu stylów aby uzyskać ten sam efekt co zwiększa elastyczność i spójność projektu. Warto pamiętać że HTML5 wprowadza pewne zmiany i deprecjonuje niektóre znaczniki co wymaga ciągłego aktualizowania wiedzy dewelopera. Znacznik big mimo że działa w większości przeglądarek może być mniej przewidywalny w przyszłości w porównaniu z CSS. Rozdzielenie stylów od struktury dokumentu jest dobrą praktyką programistyczną co ułatwia zarządzanie kodem oraz poprawia dostępność stron internetowych. Pamiętaj by regularnie analizować i aktualizować swoje projekty zgodnie z najnowszymi standardami HTML i CSS.

Pytanie 12

Polecenie w języku SQL w formie ALTER TABLE 'miasta' ADD 'kod' text?

A. zmienia nazwę tabeli miasta na kod
B. wprowadza do tabeli nową kolumnę o nazwie kod typu text
C. w tabeli miasta modyfikuje nazwę kolumny kod na text
D. dodaje do tabeli dwie kolumny o nazwach: kod i text
Polecenie ALTER TABLE w języku SQL jest używane do modyfikacji istniejących tabel w bazie danych. W tym przypadku, zapytanie ALTER TABLE 'miasta' ADD 'kod' text; dodaje nową kolumnę o nazwie 'kod' typu tekstowego do tabeli 'miasta'. Typ 'text' w SQL jest używany do przechowywania dużych łańcuchów tekstowych, co czyni go idealnym wyborem, gdy dane w tej kolumnie mogą być różnej długości. Poprawne użycie znaków apostrofu w tym kontekście (zamiast cudzysłowów) jest istotne, ponieważ w niektórych systemach baz danych, takich jak MySQL, apostrofy są używane do definiowania nazw tabel i kolumn. Przy dodawaniu kolumn warto również pamiętać o możliwościach modyfikacji, takich jak określenie wartości domyślnych lub ograniczeń dla nowej kolumny. W praktyce, po wykonaniu tego polecenia, każda istniejąca linia w tabeli 'miasta' będzie miała nową kolumnę 'kod', w której wartości będą domyślnie NULL, dopóki nie zostaną one uzupełnione. Ważne jest, aby przed wykonaniem takich operacji zawsze robić kopie zapasowe danych, aby uniknąć ich utraty.

Pytanie 13

Wykonanie zapytania SQL spowoduje skasowanie

DELETE FROM mieszkania WHERE status = 1;
A. rekordów, w których wartość pola status jest równa 1, z tabeli mieszkania
B. elementów o nazwie status z tabeli mieszkania
C. tabel, w których wartość pola status wynosi 1, z bazy danych mieszkania
D. tabeli mieszkania znajdującej się w bazie danych
Odpowiedź wskazująca na usunięcie rekordów, w których pole status jest równe 1, z tabeli mieszkania jest poprawna ponieważ w zapytaniu SQL użyto składni DELETE, która jest odpowiedzialna za usuwanie danych z określonej tabeli. W kontekście tego zapytania, po słowie 'FROM' znajduje się nazwa tabeli, czyli 'mieszkania', a warunek 'WHERE status = 1' precyzuje, które rekordy mają zostać usunięte. Przykładowo, jeśli w tabeli mieszkania znajdują się mieszkania oznaczone jako dostępne (status = 1), to po wykonaniu tego zapytania wszystkie takie mieszkania zostaną trwale usunięte z bazy danych. Ważne jest, aby przed wykonaniem zapytania DELETE rozważyć konieczność wykonania kopii zapasowej danych, aby zapobiec ich nieodwracalnej utracie. Dobrą praktyką jest również stosowanie zapytania SELECT z tym samym warunkiem, aby najpierw zweryfikować, które rekordy zostaną usunięte. Tego rodzaju podejście umożliwia lepsze zarządzanie danymi oraz redukuje ryzyko pomyłek podczas operacji na bazach danych.

Pytanie 14

W danej tabeli pracownicy, polecenie MySQL eliminujące wszystkie wpisy, dla których nie została wypełniona kolumna rodzaj_umowy, ma następującą formę

A. DROP pracownicy WHERE rodzaj_umowy IS NULL;
B. DROP pracownicy FROM rodzaj_umowy = 0;
C. DELETE pracownicy WHERE rodzaj_umowy = 'brak';
D. DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL;
Odpowiedź "DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL;" jest prawidłowa, ponieważ polecenie SQL DELETE jest używane do usuwania rekordów z tabeli w bazie danych. W tym przypadku, operacja koncentruje się na usunięciu pracowników, którzy nie mają przypisanego rodzaju umowy, co oznacza, że wartość w polu 'rodzaj_umowy' jest równa NULL. Wartość NULL w bazach danych oznacza brak danych, co jest kluczowym aspektem w kontekście ewidencji pracowników. Stosowanie warunku IS NULL jest standardową praktyką w SQL do identyfikowania brakujących wartości, a tym samym skutecznego zarządzania danymi. W praktyce, takie operacje są często używane, aby utrzymać integralność bazy danych i zapewnić, że tylko aktualne oraz wypełnione dane są przechowywane. Dobrą praktyką jest również wykonywanie zapytań DELETE w transakcjach, aby mieć możliwość ich cofnięcia w razie potrzeby, co minimalizuje ryzyko utraty ważnych informacji.

Pytanie 15

Jeżeli zmienna $x zawiera dowolną dodatnią liczbę naturalną, to przedstawiony kod źródłowy PHP ma na celu wyświetlenie:

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. kolejnych liczb od 0 do x-1
B. kolejnych liczb od x do 0
C. liczb wprowadzanych z klawiatury, aż do momentu wprowadzenia wartości x
D. losowych liczb z zakresu (0, x)
Kod źródłowy przedstawiony w pytaniu implementuje prostą pętlę while w języku PHP która ma za zadanie wyświetlić kolejne liczby począwszy od 0 aż do liczby mniejszej od wartości zmiennej $x. Inicjalizowana jest zmienna $licznik z wartością 0 i pętla wykonuje się tak długo jak długo $licznik jest różny od $x. W każdym przebiegu pętli zmienna $licznik jest wyświetlana, a następnie zwiększana o 1. Dzięki temu wyświetlane są wartości od 0 do x-1 co jest zgodne z drugą odpowiedzią w pytaniu. Jest to klasyczna struktura sterująca która pozwala na iterację po skończonej liczbie elementów. Takie podejście jest zgodne ze standardami pisania kodu, gdzie pętle sterowane są warunkami zależnymi od zmiennych kontrolnych. W praktyce zastosowanie takiej pętli może obejmować iterację po tablicach w celu przetwarzania danych. Ważne jest aby dobrze określić warunek zakończenia pętli by uniknąć błędów nieskończonych pętli które mogą prowadzić do przestoju aplikacji. Dla optymalizacji i czytelności kodu ważne jest też stosowanie odpowiednich nazw zmiennych co ułatwia zrozumienie ich funkcji w kodzie.

Pytanie 16

W HTML, aby uzyskać rezultat jak w podanym przykładzie, należy użyć struktury `

Duży tekst zwykły tekst

A. <p><big>Duży tekst</big> zwykły tekst</p>
B. <p><strike>Duży tekst zwykły tekst</p>
C. <p><big>Duży tekst</p> zwykły tekst
D. <p><strike>Duży tekst</strike> zwykły tekst</p>
Odpowiedź <p><big>Duży tekst</big> zwykły tekst</p> jest poprawna, ponieważ wykorzystuje znacznik <big>, który jest zgodny z semantyką HTML i odpowiednio formatuje tekst, zwiększając jego rozmiar. Warto zauważyć, że użycie znacznika <big> jest zgodne z praktykami, które rekomendują wykorzystanie odpowiednich znaczników do modelowania treści w dokumentach HTML. Taki zabieg nie tylko pozwala na lepszą prezentację tekstu, ale także ułatwia dostępność strony, co jest istotne w kontekście WCAG (Web Content Accessibility Guidelines). Przykładem zastosowania może być sytuacja, w której chcemy wyróżnić istotne informacje w tekście, np. nagłówki sekcji lub kluczowe dane. Zastosowanie <big> w tym kontekście zwiększa czytelność oraz zwraca uwagę użytkowników, co jest szczególnie ważne w długich dokumentach. Warto również pamiętać, że stosowanie znaczników odpowiadających ich przeznaczeniu wspiera SEO, gdyż wyszukiwarki lepiej interpretują strukturę treści. Z tego powodu, używanie semantycznych i odpowiednich znaczników, takich jak <big>, jest kluczowe dla tworzenia poprawnych i funkcjonalnych stron internetowych.

Pytanie 17

W instrukcji warunkowej języka JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w zakresie (0, 100), a wartość zmiennej b jest większa od zera. Taki warunek można zapisać w sposób następujący

A. if ((a>0 || a<100) && b>0)
B. if ((a>0 && a<100) || b<0)
C. if (a>0 || a<100 || b<0)
D. if (a>0 && a<100 && b>0)
Wybór odpowiedzi 'if (a>0 && a<100 && b>0)' jest prawidłowy, ponieważ precyzyjnie spełnia określone wymagania zawarte w pytaniu. Warunek ten sprawdza, czy zmienna 'a' mieści się w przedziale od 0 do 100 (wyłączając 0 i 100), a także potwierdza, że zmienna 'b' jest większa od zera. Operator '&&' (AND) jest kluczowy w tym przypadku, ponieważ wymaga spełnienia wszystkich zdefiniowanych warunków jednocześnie. Przykładowo, jeśli mamy zmienne 'a' równe 50 i 'b' równe 10, to warunek zostanie spełniony i kod wewnątrz instrukcji 'if' zostanie wykonany. Zastosowanie takich warunków jest powszechne w programowaniu, zwłaszcza w sytuacjach wymagających walidacji danych, gdzie musimy upewnić się, że wszystkie kryteria są spełnione przed kontynuowaniem dalszych operacji. Standardy kodowania zalecają wykorzystanie prostych i jednoznacznych instrukcji warunkowych, co przyczynia się do lepszej przejrzystości i utrzymywalności kodu. Stosując odpowiednią logikę w warunkach, minimalizujemy ryzyko wystąpienia błędów w logice aplikacji.

Pytanie 18

Jaką instrukcję pętli stosuje się do przeprowadzenia określonej liczby operacji na obiekcie lub zmiennej, która nie jest tablicą?

A. for
B. switch
C. foreach
D. if
Instrukcja pętli 'for' jest jednym z najczęściej używanych narzędzi programistycznych, które pozwala na wykonywanie określonej liczby operacji na zmiennej. Kluczową cechą pętli 'for' jest jej zdolność do precyzyjnego zdefiniowania liczby iteracji, co czyni ją idealną do zadań, w których liczba powtórzeń jest znana z góry. Na przykład, jeśli chcemy iterować po liczbach od 1 do 10 i wyświetlić każdą z nich, możemy użyć pętli 'for' w następujący sposób: 'for (int i = 1; i <= 10; i++) { System.out.println(i); }'. Takie podejście pozwala na łatwe zarządzanie zmiennymi oraz kontrolowanie mocy obliczeniowej programu. Pętla 'for' jest również bardzo elastyczna i może być stosowana w różnych kontekstach, takich jak przetwarzanie danych w tablicach czy lista elementów. W kontekście najlepszych praktyk, ważne jest, aby używać pętli 'for' tam, gdzie jest to najbardziej odpowiednie, unikając jej stosowania w sytuacjach, gdy mamy do czynienia z kolekcjami obiektów, które mogą wymagać bardziej zaawansowanych technik iteracyjnych. Zrozumienie zastosowania pętli 'for' jest kluczowe dla każdego programisty, który chce efektywnie zarządzać iteracjami w swoich aplikacjach.

Pytanie 19

W jaki sposób będzie uporządkowana lista stworzona z wszystkich kolumn tabeli uczniowie, obejmująca uczniów o średniej wyższej niż 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?

SELECT *
FROM uczniowie
WHERE srednia > 5
ORDER BY klasa DESC;
A. Rosnaco według parametru srednia
B. Malejąco według parametru srednia
C. Malejąco według parametru klasa
D. Rosnąca według parametru klasa
Zapytanie SQL używa klauzuli ORDER BY klasa DESC co oznacza że wyniki będą posortowane malejąco według kolumny klasa Klauzula ORDER BY jest używana w języku SQL do sortowania wyników zapytania Użycie DESC oznacza że sortowanie będzie w porządku malejącym co w praktyce oznacza że najwyższe wartości będą na początku listy a najniższe na końcu To jest przydatne gdy chcemy uzyskać strukturę danych w której najważniejsze lub najbardziej istotne rekordy są prezentowane na samym początku na przykład gdy analizujemy dane w kontekście hierarchicznym lub priorytetowym W tym przypadku sortujemy malejąco według klasy co może być użyteczne na przykład gdy chcemy szybko zidentyfikować uczniów z wyższych klas którzy osiągają wysokie wyniki średnia powyżej 5 Dobre praktyki w SQL zalecają jasne i precyzyjne definiowanie kryteriów sortowania co ułatwia zrozumienie logiki zapytania oraz zapewnia jego przewidywalne działanie Jeśli dane wymagają częstego sortowania warto rozważyć optymalizację poprzez odpowiednie indeksy co może znacząco poprawić wydajność zapytań zwłaszcza w dużych zestawach danych

Pytanie 20

W programie Microsoft Access metodą zabezpieczającą dostęp do danych związanych z tabelą oraz kwerendą jest

A. ustalanie przestrzeni tabel
B. użycie makr
C. przydzielenie uprawnień
D. nałożenie limitów przestrzeni dyskowej
Stosowanie makr w Microsoft Access to funkcjonalność, która umożliwia automatyzację procesów, ale nie stanowi bezpośredniego mechanizmu zabezpieczeń dostępu do danych. Makra pozwalają na tworzenie sekwencji działań, które ułatwiają użytkownikom interakcję z bazą danych, lecz ich użycie nie ma na celu ograniczenia dostępu do określonych zasobów. Z kolei określanie przestrzeni tabel dotyczy zarządzania strukturą bazy danych, a nie zabezpieczeń. Przestrzeń tabel odnosi się do alokacji pamięci dla danych i nie wpływa na kontrolę dostępu, co czyni tę odpowiedź nieadekwatną w kontekście pytania. Wprowadzenie limitów przestrzeni dyskowej również nie jest metodą zabezpieczającą dostęp do danych, ale raczej sposobem na zarządzanie zasobami serwera bazy danych. Limity te mogą mieć znaczenie w kontekście zarządzania kosztami operacyjnymi, jednak nie mają zastosowania w ochronie danych przed nieautoryzowanym dostępem. Dlatego przypisanie uprawnień stanowi istotny element polityki bezpieczeństwa, podczas gdy pozostałe odpowiedzi są mniej związane z tematem zabezpieczenia dostępu do danych.

Pytanie 21

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba < 100 && liczba <= 200)
B. if (liczba > 100 && liczba <= 200)
C. if (liczba > 100 || liczba <= 200)
D. if (liczba < 100 || liczba >= 200)
Zaznaczyłeś odpowiedź 'if (liczba > 100 && liczba <= 200)', i to jest całkiem trafne! Warunek ten sprawdza, czy liczba jest w przedziale od 100 do 200, co jest mega ważne. Wiesz, '>' oznacza, że liczba musi być większa niż 100, a '<=' pozwala na 200, ale nic większego. To coś, co często wykorzystujemy w programach, żeby kontrolować dane od użytkowników. Jak na przykład przy rejestracji – chcemy mieć pewność, że wszystko jest w normie. Umiejętność walidacji danych to kluczowa sprawa w programowaniu, bo dzięki temu możemy unikać różnych błędów. Fajnie, że zauważasz, jak operatory logiczne, takie jak '&&', mogą pomóc w budowaniu bardziej złożonych warunków – to czyni nasze aplikacje lepszymi. Ważne, żebyś rozumiał, jak to działa, bo to na pewno przyda się w przyszłości!

Pytanie 22

W CSS, aby ustawić różne stylizacje dla pierwszej litery w akapicie, należy wykorzystać selektor

A. atrybutu p [first-letter]
B. pseudoelementu p::first-letter
C. klasy p.first-letter
D. dziecka p + first-letter
W języku CSS do formatowania pierwszej litery akapitu używamy pseudoelementu '::first-letter'. Jest to specjalny selektor, który pozwala na zastosowanie stylów tylko do pierwszego znaku w danym elemencie, na przykład w akapicie <p>. Pseudoelement ten może być używany do nadawania unikalnych właściwości typograficznych, takich jak rozmiar czcionki, kolor, font-weight czy marginesy, co może znacząco wzbogacić stylizację tekstu. Przykładowo, używając stylu 'p::first-letter { font-size: 2em; color: red; }', pierwsza litera każdego akapitu stanie się większa i czerwona. To podejście jest zgodne z dobrymi praktykami w CSS, ponieważ umożliwia selektywne stylizowanie elementów bez wpływu na resztę treści. Aby uzyskać większą kontrolę nad układem i estetyką stron internetowych, warto zaznajomić się z innymi pseudoelementami, takimi jak '::first-line', które działają analogicznie. Prawidłowe używanie pseudoelementów jest kluczowe dla tworzenia bardziej zaawansowanych i atrakcyjnych wizualnie projektów.

Pytanie 23

Jakie polecenie należy zastosować, aby utworzyć klucz obcy na wielu kolumnach przy tworzeniu tabeli?

A. CONSTRAINT (nazwisko, imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
B. CONSTRAINT fk_soba_uczen FOREIGN KEY(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
C. CONSTRAINT (nazwisko, imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
D. CONSTRAINT fk_osoba_uczen FOREIGN KEY ON(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
Odpowiedź "CONSTRAINT fk_soba_uczen FOREIGN KEY(nazwisko, imie) REFERENCES osoby (nazwisko, imie)" jest poprawna, ponieważ precyzyjnie definiuje klucz obcy składający się z dwóch kolumn: 'nazwisko' oraz 'imie'. W SQL, tworzenie klucza obcego na wielu kolumnach wymaga użycia słowa kluczowego 'FOREIGN KEY' w odpowiedniej składni. Użycie 'CONSTRAINT' pozwala na nadanie unikalnej nazwy dla tego ograniczenia, co jest dobrą praktyką, gdyż ułatwia późniejsze zarządzanie schematem bazy danych. Klucz obcy jest istotnym elementem w modelowaniu relacji między tabelami, zapewniając integralność danych i umożliwiając odniesienia do powiązanych rekordów. Na przykład, przy tworzeniu systemu do zarządzania szkołą, tabele 'uczniowie' i 'osoby' mogą być połączone, gdzie klucz obcy w tabeli 'uczniowie' wskazuje na unikalne rekordy w tabeli 'osoby' na podstawie ich nazwisk i imion. Używanie kluczy obcych wspiera relacyjny charakter baz danych i zapobiega wprowadzaniu danych, które są niezgodne z innymi tabelami.

Pytanie 24

Rodzaj programowania, w którym zestaw poleceń (sekwencja instrukcji) przekazywanych komputerowi postrzega się jako program, określa się mianem programowania

A. funkcyjnego
B. stanowego
C. logicznego
D. imperatywnego
Wybór stanowego programowania wskazuje na podejście, które koncentruje się na stanach obiektów i ich interakcjach, co jest nieco mylące w kontekście pytania. Programowanie stanowe opisuje systemy, w których różne stany obiektu są monitorowane, a zmiany stanów następują w odpowiedzi na określone zdarzenia. Typowe błędy myślowe mogą wynikać z mylenia interakcji stanów z sekwencją poleceń, co prowadzi do nieporozumienia na temat tego, jak działają programy imperatywne. Z kolei programowanie logiczne opiera się na zasadach logiki i regułach wnioskowania, co jest zupełnie innym podejściem niż imperatywne, w którym to programista musi układać instrukcje w określonej kolejności. Programowanie funkcyjne, z drugiej strony, skupia się na funkcjach jako podstawowych jednostkach budulcowych programów. Różni się ono od programowania imperatywnego, które ma na celu zmianę stanu programu poprzez sekwencję instrukcji. Zrozumienie różnic między tymi paradygmatami jest kluczowe, ponieważ każdy z nich ma swoje unikalne zastosowania i najlepsze praktyki. Programiści powinni być świadomi wyboru odpowiedniego paradygmatu do konkretnego problemu, aby maksymalizować efektywność i jakość kodu.

Pytanie 25

Odszumienie zapisu dźwiękowego można wykonać w programie

A. FileZilla
B. Audacity
C. Inkscape
D. Blender
Poprawna odpowiedź to Audacity, bo jest to specjalistyczny, ale jednocześnie darmowy i otwartoźródłowy program do edycji oraz obróbki dźwięku. W praktyce oznacza to, że możesz w nim nagrywać, przycinać, normalizować, a właśnie także odszumiać nagrania audio. W menu Efekty znajdziesz funkcje typu „Usuwanie szumu” (Noise Reduction), które działają na podstawie próbki szumu – najpierw zaznaczasz fragment, gdzie słychać sam szum tła (np. wentylator, brumienie, szum ulicy), a potem program wykorzystuje ten wzorzec do odfiltrowania podobnych częstotliwości z całego nagrania. To jest standardowa, bardzo typowa procedura w amatorskiej i półprofesjonalnej postprodukcji audio. Moim zdaniem Audacity to taki „podstawowy kombajn” dźwiękowy, którego warto znać w technikum. Pozwala też stosować inne efekty: kompresję, korekcję barwy (EQ), filtrowanie dolno- i górnoprzepustowe, zmianę głośności (normalizacja, wzmacnianie), a nawet proste miksowanie kilku ścieżek. W kontekście dobrych praktyk ważne jest, żeby nie przesadzać z odszumianiem, bo zbyt agresywne ustawienia potrafią zepsuć brzmienie głosu, tworząc artefakty i metaliczny dźwięk. Profesjonaliści zwykle pracują tak, że najpierw nagrywają jak najczyściej (dobry mikrofon, cisza w pomieszczeniu), a dopiero potem delikatnie odszumiają w programie. Audacity dobrze wpisuje się w takie podejście, bo daje podgląd efektu (odsłuch) przed zatwierdzeniem zmian i możliwość cofania operacji. W realnych projektach szkolnych czy webowych, np. przy przygotowaniu podcastu, narracji do filmu instruktażowego albo materiału wideo na stronę WWW, właśnie w Audacity robi się podstawowe czyszczenie dźwięku, zanim materiał trafi do montażu wideo lub na serwer.

Pytanie 26

W języku JavaScript właściwie zdefiniowana zmienna to

A. #imie
B. imie2
C. imię%
D. imię2
Niepoprawne odpowiedzi wynikają z naruszenia zasad dotyczących tworzenia identyfikatorów w języku JavaScript. Przykładem jest odpowiedź zawierająca znak '#', który nie jest dozwolony na początku identyfikatora. Identyfikatory muszą zaczynać się od litery, znaku podkreślenia lub znaku dolara, co wyklucza użycie symboli takich jak '#'. Ponadto, w JavaScript nie można stosować znaków specjalnych, takich jak '%', co czyni inną odpowiedź niepoprawną. Znak '%' nie jest zgodny z zasadami nazewnictwa zmiennych, co prowadzi do błędów składniowych w kodzie. Odpowiedź z 'imię2' wprowadza dodatkowe problemy, gdyż użycie polskich znaków, takich jak 'ń', nie jest zalecane w identyfikatorach w JavaScript. Choć w niektórych środowiskach można to zrobić, standardy ECMAScript sugerują unikanie znaków diakrytycznych, co zwiększa przejrzystość i uniwersalność kodu. Dlatego zaleca się stosowanie prostych liter łacińskich oraz cyfr, aby zapewnić szeroką kompatybilność i uniknąć potencjalnych problemów podczas przenoszenia kodu pomiędzy różnymi systemami.

Pytanie 27

Jak kwerenda SQL przedstawiona w ramce wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char(9);
A. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9
B. Zmieni typ danych kolumny plec na znakowy o stałej długości 9
C. Doda kolumnę plec ze znakowym typem danych o stałej długości 9
D. Doda kolumnę plec ze znakowym typem danych o zmiennej długości 9
Jak widzisz, polecenie SQL ALTER TABLE pracownicy MODIFY plec char(9) zmienia typ kolumny plec na CHAR o stałej długości 9 znaków. To znaczy, że wszystkie wartości w tej kolumnie będą miały dokładnie 9 znaków. Jeśli dana wartość będzie krótsza, to automatycznie dopełni się spacjami. W praktyce to jest przydatne, gdy musimy mieć dane zawsze w tej samej długości, na przykład przy kodach pocztowych czy numerach identyfikacyjnych. Twoja odpowiedź jest poprawna, ponieważ mówi dokładnie o tym, co się dzieje przy użyciu MODIFY, a typ CHAR wskazuje, że mamy do czynienia z danymi o stałej długości. Wiesz, czasami w aplikacjach biznesowych trzeba mieć dane w jednolitej formie, bo to ułatwia ich przetwarzanie i porównywanie. Dlatego tak ważne jest, żeby znać różne typy danych i ich zastosowania podczas projektowania baz danych.

Pytanie 28

W systemie zarządzania bazą danych MySQL, aby uzyskać listę wszystkich przywilejów przyznanych użytkownikowi anna, można użyć polecenia

A. REVOKE GRANTS FROM anna;
B. SHOW GRANTS FOR anna;
C. SELECT GRANTS FOR anna;
D. GRANT * TO anna;
Odpowiedź 'SHOW GRANTS FOR anna;' jest trafna. To polecenie w MySQL to coś jak standard do wyświetlania przydzielonych uprawnień dla konkretnego użytkownika. Dzięki temu administrator bazy danych może szybko zobaczyć, co użytkownik o imieniu 'anna' może zrobić. Na przykład, jeśli chcemy wiedzieć, jakie operacje są dozwolone dla tego użytkownika, to właśnie to polecenie będzie na to najlepsze. Przydaje się to zwłaszcza przy audytach czy rozwiązywaniu problemów z dostępem. Warto też dodać, że w MySQL można przypisywać różnorodne uprawnienia, na przykład SELECT, INSERT, UPDATE, czy DELETE, a także konkretnym bazom danych czy tabelom. Regularne sprawdzanie uprawnień to dobra praktyka, bo pomaga utrzymać bezpieczeństwo danych i zminimalizować ryzyko nieautoryzowanego dostępu. Znajomość polecenia 'SHOW GRANTS' jest naprawdę ważna, zwłaszcza w większych systemach, gdzie kontrola dostępu odgrywa istotną rolę.

Pytanie 29

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

A. części wspólnej.
B. grupowania.
C. sumy.
D. wykluczenia.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 30

Przedstawiony fragment kodu ilustruje działanie

Ilustracja do pytania
A. prezentacji danych
B. wykorzystania zdefiniowanej procedury lub funkcji
C. podjęcia decyzji
D. pozyskiwania danych
Blok przedstawiony na rysunku to romb, który w diagramach przepływu danych reprezentuje punkt decyzyjny. W kontekście programowania i modelowania procesów biznesowych, zastosowanie takich punktów jest kluczowe dla podejmowania decyzji na podstawie warunków logicznych. Na przykład, w algorytmach komputerowych romb służy do określenia, którą ścieżką proces powinien się dalej przemieszczać, zależnie od spełnienia określonych warunków. W praktyce, może to być na przykład wybór między dwiema różnymi akcjami, jak wysłanie e-maila lub zapis do bazy danych w zależności od wartości wprowadzonej przez użytkownika. Zastosowanie rombu zgodnie z zasadami BPMN (Business Process Model and Notation) oraz UML (Unified Modeling Language) pozwala na precyzyjne i czytelne modelowanie złożonych procesów, co jest kluczowe w projektowaniu systemów informatycznych i optymalizacji procesów biznesowych.

Pytanie 31

Po wykonaniu instrukcji języka JavaScript  x = Math.ceil(2.4); wartość zmiennej x będzie wynosić

A. 4
B. 8
C. 3
D. 2
W tym przykładzie kluczowe jest zrozumienie, co dokładnie robi funkcja Math.ceil() w JavaScript. Ta funkcja zawsze zaokrągla liczbę w górę do najbliższej liczby całkowitej, i to niezależnie od tego, jak mała jest część ułamkowa. Dla wartości 2.4 najbliższa liczba całkowita „w górę” to 3, więc po wykonaniu instrukcji x = Math.ceil(2.4); zmienna x przyjmie wartość 3. Nie interesuje nas tu klasyczne zaokrąglanie matematyczne do „najbliższej” liczby, tylko zawsze w stronę dodatniej nieskończoności. W standardzie ECMAScript Math.ceil() jest jedną z podstawowych funkcji do pracy z liczbami, obok Math.floor() (zaokrąglenie w dół) i Math.round() (zaokrąglenie do najbliższej liczby całkowitej). Dla porównania: Math.floor(2.4) da 2, Math.round(2.4) też da 2, a tylko Math.ceil(2.4) zwróci 3. W praktyce webowej takie funkcje są często używane np. przy dzieleniu elementów na strony (paginacja), liczeniu ilości stron w wynikach wyszukiwania, obliczaniu liczby wierszy w siatce (grid), czy przy przeliczaniu miejsc w koszyku, kiedy musisz zawsze „doliczyć” pełną jednostkę. Moim zdaniem warto od razu wyrobić sobie nawyk, żeby przy liczbach zmiennoprzecinkowych w JavaScript pamiętać o różnicach między ceil, floor i round, bo to są podstawowe narzędzia przy każdym kalkulatorze, module cenowym, przeliczaniu czasu trwania, dzieleniu zadań na porcje itd. Dobra praktyka jest też taka, żeby zawsze jasno nazywać zmienne, np. totalPages = Math.ceil(itemsCount / itemsPerPage); – od razu widać, że chodzi o zaokrąglenie w górę. Podsumowując: poprawna odpowiedź to 3, bo Math.ceil() zawsze przesuwa wynik do najbliższej większej lub równej liczby całkowitej. Dla 2.4 jest to właśnie 3.

Pytanie 32

Który z linków ma prawidłową budowę?

A. <a href='http://adres'> tekst </a>
B. <a href='mailto:adres'> tekst </a>
C. <a href="http://adres"> tekst <a>
D. <a href="mailto:adres"> tekst </a>
Odpowiedź <a href="mailto:adres"> tekst </a> jest poprawna, ponieważ stosuje odpowiednie cudzysłowy dla atrybutu href oraz przestrzega standardów HTML. W HTML5 zaleca się użycie podwójnych cudzysłowów dla wartości atrybutów, co czyni tę konstrukcję zgodną z najlepszymi praktykami. Oto przykład zastosowania: klikając w ten odsyłacz, użytkownik uruchomi aplikację pocztową, co jest przydatne w kontekście kontaktu z użytkownikami czy klientami. Przykłady zastosowania obejmują formularze kontaktowe na stronach internetowych, gdzie użytkownicy mogą łatwo skontaktować się z właścicielem strony. Warto też pamiętać o stosowaniu odpowiednich adresów e-mail, aby uniknąć problemów związanych z korespondencją, oraz o używaniu przyjaznych dla użytkownika tekstów odsyłaczy, które jednoznacznie informują, dokąd prowadzi link. Przestrzeganie tych zasad nie tylko zwiększa użyteczność strony, ale także poprawia jej dostępność.

Pytanie 33

W językach programowania o układzie strukturalnym, aby przechować dane o 50 uczniach (ich imionach, nazwiskach oraz średniej ocen), konieczne jest zastosowanie

A. struktury z 50 elementami o składowych typu tablicowego
B. klasy z 50 elementami typu tablicowego
C. tablicy z 50 elementami o składowych typu łańcuchowego
D. tablicy z 50 elementami o składowych strukturalnych
Wybór niewłaściwych podejść do przechowywania informacji o uczniach często wynika z nieporozumienia dotyczącego struktury danych i ich właściwego zastosowania. Tworzenie struktury 50 elementów o składowych typu tablicowego sugeruje, że każdy element byłby tablicą, co nie odpowiada rzeczywistej naturze danych. Tego rodzaju podejście nie tylko komplikuje dostęp do informacji, ale również zwiększa ryzyko błędów w zarządzaniu danymi. Z kolei użycie tablicy 50 elementów o składowych łańcuchowych ogranicza nas do prostych typów danych, takich jak ciągi znaków, co uniemożliwia przechowywanie średniej ocen, która wymagałaby użycia innego typu danych, co narusza zasady typizacji. W przypadku klasy z 50 elementami typu tablicowego, problemem jest, że klasa powinna być używana do modelowania złożonych obiektów z zachowaniem, co nie jest konieczne w tym przypadku. Te nieścisłości pokazują typowe błędy myślowe związane z projektowaniem struktur danych. Kluczowym elementem skutecznego programowania jest zrozumienie, jak najlepiej reprezentować i przechowywać złożone dane, a także znajomość odpowiednich struktur, które umożliwią efektywne operacje na tych danych.

Pytanie 34

Podany fragment dokumentu HTML zawierający kod JavaScript sprawi, że po naciśnięciu przycisku

Ilustracja do pytania
A. obraz2.png zostanie zniknięty
B. obraz2.png zostanie wymieniony na obraz1.png
C. obraz1.png zostanie wymieniony na obraz2.png
D. obraz1.png zostanie zniknięty
Załączony fragment kodu HTML pokazuje dwa elementy img oraz przycisk. Obrazek obraz2.png ma przypisany atrybut id o wartości id1. W kodzie JavaScript przypisanym do zdarzenia onclick przycisku wykorzystywana jest metoda document.getElementById('id1').style.display='none'. Ta metoda odwołuje się bezpośrednio do elementu o identyfikatorze id1 czyli obrazka obraz2.png i zmienia jego styl CSS display na none. W praktyce oznacza to że element ten zostanie ukryty na stronie po naciśnięciu przycisku. Praktyczne zastosowanie tej techniki to dynamiczne zarządzanie widocznością elementów na stronie bez konieczności jej przeładowania co poprawia doświadczenie użytkownika. Tego typu manipulacje DOM (Document Object Model) są podstawą interaktywnych aplikacji webowych i są powszechnie używane w nowoczesnym programowaniu JavaScript. Dobrym standardem jest jednak unikanie bezpośredniego pisania skryptów JavaScript w HTML co poprawia czytelność kodu i jego utrzymywalność

Pytanie 35

W hurtowni danych stworzono tabelę sprzedaz, która zawiera pola: id, kontrahent, grupa_cenowa, obrot. Jakie polecenie trzeba zastosować, aby znaleźć tylko kontrahentów z grupy cenowej numer dwa, których obrót przekracza 4000 zł?

A. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa = 2 AND obrot > 4000;
B. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000;
C. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 OR obrot > 4000;
D. SELECT sprzedaz FROM kontrahent WHERE obrot > 4000;
Twoja odpowiedź jest na właściwej drodze. Wykorzystałeś klauzulę SELECT w zapytaniu SQL, żeby wydobyć konkretne dane z tabeli sprzedaz. Świetnie, że zastosowałeś WHERE z warunkami 'grupa_cenowa = 2' oraz 'obrot > 4000', bo to dokładnie filtruje wyniki do tych kontrahentów, którzy są w drugiej grupie cenowej i mają obrót większy niż 4000 zł. Takie operacje są bardzo ważne w analizie danych, szczególnie w hurtowniach danych, gdzie musisz dobrze filtrować i agregować informacje, żeby wyciągnąć sensowne wnioski. W praktyce takie zapytania mogą być przydatne przy tworzeniu raportów sprzedażowych czy ocenie rentowności klientów. Warto też pamiętać, żeby tabele i kolumny były jasno nazwane, bo to zdecydowanie ułatwia tworzenie zapytań SQL.

Pytanie 36

Które ograniczenie w bazach danych, należy przypisać kolumnie tabeli, aby wartości wpisywane do niej nie powtarzały się?

A. UNIQUE
B. NO REPEAT
C. NOT NULL
D. SINGLE
Poprawnie – w relacyjnych bazach danych to właśnie ograniczenie UNIQUE zapewnia, że wartości w danej kolumnie nie będą się powtarzały. Technicznie rzecz biorąc, UNIQUE to constraint integralności, który wymusza unikalność danych w obrębie wskazanej kolumny lub zestawu kolumn. Jeżeli spróbujesz wstawić rekord z wartością, która już istnieje w tej kolumnie, silnik bazy (np. MySQL, PostgreSQL, SQL Server) zgłosi błąd naruszenia ograniczenia unikalności. Można to zobaczyć na prostym przykładzie: CREATE TABLE uzytkownicy ( id INT PRIMARY KEY, email VARCHAR(255) UNIQUE, login VARCHAR(50) UNIQUE ); Tutaj zarówno email, jak i login nie mogą się duplikować. W praktyce to jest standardowa dobra praktyka: na polach takich jak email, numer PESEL, NIP, numer indeksu, numer seryjny urządzenia czy nawet nazwa użytkownika bardzo często zakłada się UNIQUE, żeby w systemie nie pojawiły się dwa różne konta z tym samym identyfikatorem. Moim zdaniem, przy projektowaniu bazy danych warto od razu zastanowić się, które pola mają pełnić rolę „identyfikatorów biznesowych” i od razu nadać im ograniczenie UNIQUE. Warto też wiedzieć, że UNIQUE nie oznacza „klucz główny”. PRIMARY KEY automatycznie jest unikalny i nie może być NULL, natomiast UNIQUE pozwala na NULL (zależnie od silnika bazy, ale zazwyczaj wiele NULL-i jest dozwolonych). To pozwala projektować tabele bardziej elastycznie, np. kolumna może być opcjonalna, ale jeśli już ktoś poda wartość, to musi być ona niepowtarzalna. W praktyce UNIQUE często łączy się z indeksami – większość systemów bazodanowych automatycznie zakłada indeks unikalny na takiej kolumnie, co przyspiesza wyszukiwanie i walidację danych. To rozwiązanie jest zgodne z dobrymi praktykami normalizacji i kontroli spójności danych w systemach produkcyjnych.

Pytanie 37

Aby wykonać usunięcie wszystkich zapisów z tabeli, konieczne jest użycie kwerendy

A. INSERT INTO
B. CREATE COLUMN
C. ALTER COLUMN
D. TRUNCATE TABLE
Odpowiedź 'TRUNCATE TABLE' jest poprawna, ponieważ ta kwerenda służy do usuwania wszystkich rekordów z tabeli w bazach danych SQL. W przeciwieństwie do kwerendy 'DELETE', która usuwa rekordy jeden po drugim i może być stosowana z warunkiem, 'TRUNCATE TABLE' działa na poziomie strony i usuwa wszystkie wiersze za jednym razem, co czyni ją znacznie bardziej wydajną, szczególnie w przypadku dużych zbiorów danych. Gdy wykonujemy 'TRUNCATE TABLE', wszystkie dane są usuwane, a struktura tabeli pozostaje nienaruszona, co oznacza, że możemy natychmiast dodawać nowe dane do tej samej tabeli. Ponadto, użycie 'TRUNCATE TABLE' resetuje wszelkie generatory tożsamości (IDENTITY) w tabeli. W praktyce ta metoda jest często wykorzystywana w scenariuszach, gdzie potrzebne jest szybkie zresetowanie danych w tabeli, na przykład w aplikacjach testowych lub podczas czyszczenia danych w hurtowniach danych. Warto pamiętać, że 'TRUNCATE' nie można zastosować, jeśli tabela jest powiązana z innymi tabelami przez klucze obce, co jest zgodne z zasadami integralności referencyjnej w bazach danych.

Pytanie 38

Aby zwiększyć wydajność operacji na bazie danych, powinno się dla pól, które są często używane w wyszukiwaniach lub sortowaniach

A. utworzyć osobną tabelę przechowującą wyłącznie te pola.
B. dodać klucz obcy.
C. dodać więzy integralności.
D. utworzyć indeks.
Utworzenie indeksu jest jedną z najskuteczniejszych metod przyspieszania operacji na bazach danych, szczególnie w kontekście pól, które są często wyszukiwane lub sortowane. Indeksy działają na zasadzie tworzenia struktury danych, która umożliwia szybsze lokalizowanie rekordów w tabeli. Przykładami mogą być indeksy B-drzewiaste lub bitmapowe, które są powszechnie stosowane w systemach zarządzania bazami danych (DBMS). Dzięki indeksom, zapytania takie jak SELECT z klauzulą WHERE lub ORDER BY mogą zyskać na wydajności, ponieważ DBMS nie musi przeszukiwać całej tabeli, ale korzysta z indeksu, aby szybko znaleźć interesujące dane. Warto również zauważyć, że tworzenie indeksów nie jest pozbawione kosztów; przy dodawaniu lub aktualizacji rekordów w tabeli, DBMS musi także aktualizować odpowiadające im indeksy. Dlatego ważne jest, aby tworzyć indeksy na tych kolumnach, które rzeczywiście będą intensywnie wykorzystywane w zapytaniach, zgodnie z najlepszymi praktykami projektowania baz danych, aby zbalansować wydajność i koszty utrzymania bazy. Ponadto, warto regularnie analizować ich użycie i optymalizować, aby dostosować się do zmieniających się wzorców korzystania z danych.

Pytanie 39

Jak, wykorzystując język PHP, można zapisać w ciasteczku wartość znajdującą się w zmiennej dane na okres jednego dnia?

A. setcookie("dane", $dane, time() + (3600*24));
B. setcookie("dane", $dane, time());
C. setcookie("dane", $dane, 0);
D. setcookie("dane", "dane", 0);
Poprawna odpowiedź to setcookie("dane", $dane, time() + (3600*24));, ponieważ umożliwia ona zapisanie wartości zmiennej $dane w ciasteczku o nazwie "dane" na okres jednego dnia. Funkcja setcookie() w PHP przyjmuje trzy podstawowe argumenty: nazwę ciasteczka, jego wartość oraz czas wygaśnięcia. W tym przypadku, używając time() + (3600*24), ustawiamy czas wygaśnięcia ciasteczka na aktualny czas plus 24 godziny (3600 sekund w godzinie razy 24). Jest to zgodne z najlepszymi praktykami zarządzania sesjami i danymi użytkowników, ponieważ pozwala na przechowywanie informacji, które są dostępne dla użytkownika przez dłuższy czas, co może być przydatne w różnych scenariuszach, takich jak zapamiętywanie preferencji użytkownika lub stanu logowania. Użycie odpowiednich czasów wygaśnięcia wpływa na bezpieczeństwo i prywatność danych. Dobre praktyki sugerują także, aby ciasteczka były używane w sposób przemyślany, aby nie obniżać wydajności aplikacji ani nie narażać danych użytkowników na nieautoryzowany dostęp.

Pytanie 40

Atrybut value w elemencie formularza XHTML

 <input type="text" name="name" value="value">
A. ustawia pole jako tylko do odczytu
B. określa nazwę pola
C. określa domyślną wartość
D. definiuje maksymalną długość pola
Atrybut 'value' w polu formularza XHTML ma kluczowe znaczenie, ponieważ określa wartość, która będzie domyślnie wyświetlana w polu tekstowym. Kiedy użytkownik otworzy formularz, będzie widział w polu tekstowym wpisaną wartość, co ułatwia interakcję, zwłaszcza w przypadkach, gdy potrzebne są przykłady lub domyślne odpowiedzi. Na przykład, w formularzu rejestracyjnym można ustawić atrybut 'value' na 'Jan Kowalski', co sugeruje użytkownikowi, jak powinien wypełnić swoje imię i nazwisko. Jest to zgodne z dobrymi praktykami projektowania formularzy, które dążą do poprawy użyteczności i zmniejszenia liczby błędów użytkowników. Warto również zauważyć, że w przypadku formularzy, jeśli użytkownik zdecyduje się nie zmieniać tej wartości, atrybut 'value' sprawia, że odpowiedź zostanie przesłana w formularzu po jego wysłaniu. To podkreśla znaczenie predefiniowania wartości w kontekście UX, ponieważ dobrze zaprojektowane formularze mogą znacznie poprawić doświadczenia użytkowników.