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: 27 kwietnia 2026 22:46
  • Data zakończenia: 27 kwietnia 2026 22:57

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Kod został napisany w języku JavaScript. W podanej definicji obiektu metodą jest element o nazwie.

var obj1 = {
  czescUlamkowa: 10,
  czescCalkowita: 20,
  oblicz: function() {.....}
}
A. czescUlamkowa
B. obj1
C. czescCalkowita
D. oblicz
W podanym kodzie JavaScript obiekt obj1 zawiera trzy elementy czescUlamkowa czescCalkowita i oblicz Istotnym aspektem definicji obiektów w JavaScript jest możliwość definiowania metod czyli funkcji będących częścią obiektu W podanym obiekcie metoda oblicz zdefiniowana jest jako funkcja przypisana do klucza o tej samej nazwie To właśnie odróżnia metodę od zwykłych właściwości obiektu czyli czescUlamkowa i czescCalkowita które są wartościami liczbowymi Metody w JavaScript są wykorzystywane do wykonywania operacji wewnątrz obiektu co pozwala na manipulację jego danymi i zachowaniami Przykładowo metoda oblicz może służyć do kalkulacji bazującej na innych właściwościach obiektu takich jak czescUlamkowa i czescCalkowita Definiując metody w obiektach uzyskujemy spójność i enkapsulację dzięki czemu obiekt może sam zarządzać swoimi danymi i operacjami Rozumienie metod w kontekście obiektów jest kluczowe zwłaszcza w paradygmacie programowania obiektowego gdzie obiekty mogą posiadać zarówno dane jak i funkcjonalności związane z tymi danymi

Pytanie 2

W przedstawionej definicji stylu CSS, powtarzanie dotyczy

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. rysunku umieszczonego znacznikiem img.
B. tła każdego ze znaczników akapitu.
C. rysunku umieszczonego w tle strony w poziomie.
D. rysunku umieszczonego w tle strony w pionie.
Twoja odpowiedź jest na miejscu. To, co mówi 'background-repeat: repeat-y;' w CSS, oznacza, że tło będzie się powtarzać w pionie. Super sprawa, jeśli chcesz, by obraz w tle pokrywał całą wysokość elementu, niezależnie od tego, jak duży on jest. Używa się tego często w projektowaniu stron, żeby stworzyć fajne efekty wizualne, jak na przykład tło, które działa w pasku nawigacyjnym. Warto pamiętać, że powtarzanie tła to zaledwie jedna z wielu opcji, jakie mamy w CSS. Możesz również ustawiać pozycję tła czy jego rozmiar, żeby wszystko wyglądało tak, jak chcesz.

Pytanie 3

Częstotliwość próbkowania ma wpływ na

A. skalę głośności zapisywanego utworu
B. amplitudę fali dźwiękowej utworu
C. jakość analogowego dźwięku
D. jakość cyfrowego dźwięku
Częstotliwość próbkowania, wyrażana w hercach (Hz), odnosi się do liczby próbek dźwięku zbieranych na sekundę w procesie cyfryzacji sygnału audio. Im wyższa częstotliwość próbkowania, tym więcej szczegółów dźwiękowych jest uchwyconych, co bezpośrednio wpływa na jakość cyfrowego dźwięku. Standardowe częstotliwości próbkowania to 44,1 kHz, stosowane w płytach CD, oraz 48 kHz, powszechnie używane w filmach. Wyższe częstotliwości, jak 96 kHz czy 192 kHz, są stosowane w profesjonalnych studiach nagraniowych, gdzie jakość audio jest kluczowa. W praktyce, zwiększona częstotliwość próbkowania umożliwia lepsze odwzorowanie wysokich tonów oraz bardziej precyzyjne oddanie niuansów dźwięku, co jest istotne w produkcji muzycznej. Warto jednak zauważyć, że zbyt wysoka częstotliwość próbkowania może prowadzić do nadmiernego obciążenia systemu oraz zwiększenia rozmiaru plików audio, co wymaga równowagi między jakością a wydajnością.

Pytanie 4

Które stwierdzenie na temat funkcji fun1 zapisanej w języku JavaScript jest prawdziwe?

var x = fun1(3, 24, "Mnożymy");

function fun1(a, b, c) {
    return a * b;
}
A. Ma trzy parametry wejściowe, w tym jeden typu napisowego, i zwraca wartość numeryczną.
B. Przyjmuje trzy parametry, lecz nie zwraca wartości.
C. Ma dwa parametry liczbowe i zwraca wartość typu napisowego.
D. Zwraca dwie wartości przechowywane w zmiennych a i b.
Gratulacje, Twoja odpowiedź jest poprawna. Istotą funkcji w JavaScript jest to, że mogą one przyjmować dowolną liczbę argumentów i mogą zwracać wartość. W przypadku funkcji fun1, przyjmuje ona trzy parametry: a, b, c. Parametr c jest typu napisowego, co jest istotne, ponieważ JavaScript jest językiem słabo typowanym, co oznacza, że możemy przekazywać różne typy zmiennych jako argumenty dla funkcji. Funkcja fun1 zwraca wynik mnożenia dwóch pierwszych parametrów, co jest wartością numeryczną. To jest zgodne z zasadami JavaScript, gdzie funkcje mogą zwracać dowolne wartości - w tym przypadku wartość numeryczną. W praktyce, funkcje takie jak ta mogą być używane w różnych kontekstach, na przykład do manipulacji danymi wejściowymi i zwracania przetworzonych wyników.

Pytanie 5

Skrypt napisany w języku JavaScript wylicza cenę promocyjną dla swetrów w kolorach: zielonym i niebieskim (zmienna kolor) przy zakupach powyżej 200 zł (zmienna zakupy). Warunek do obliczeń powinien być sformułowany za pomocą wyrażenia logicznego?

A. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
B. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
C. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
D. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
Poprawna odpowiedź to "zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')". Wyrażenie to jest zgodne z logiką obliczeń cen promocyjnych. Użycie operatora koniunkcji (&&) wskazuje, że oba warunki muszą być spełnione, aby cena promocyjna mogła być zastosowana. Po pierwsze, wartość zakupów musi przekraczać 200 zł, co jest kluczowym warunkiem, aby móc skorzystać z promocji. Po drugie, kolor swetra musi być jednym z dozwolonych, czyli zielonym lub niebieskim, co zostało zrealizowane za pomocą operatora alternatywy (||). Używając nawiasów, wyraźnie wskazujemy, że sprawdzenie koloru jest niezależne od warunku dotyczącego wartości zakupów. Taka konstrukcja jest zgodna z dobrą praktyką programistyczną, zapewniając czytelność i ułatwiając późniejszą modyfikację kodu. W kontekście praktycznym, można zastosować tę logikę w aplikacjach e-commerce, gdzie dynamiczne obliczenia cen promocyjnych w zależności od różnych kryteriów są powszechne. Przykładowo, przy dodawaniu nowych kolorów lub zmieniając próg zakupów, wystarczy jedynie edytować odpowiednie warunki, co czyni kod bardziej elastycznym i łatwym do zarządzania.

Pytanie 6

Edytor, który realizuje zasady WYSIWYG, powinien umożliwiać

A. przetwarzanie plików dźwiękowych przed ich umieszczeniem na stronie internetowej
B. publikację serwisów na serwerze przy użyciu wbudowanego klienta FTP
C. osiągnięcie podobnego rezultatu tworzonej strony do jej wizualizacji w przeglądarce internetowej
D. tworzenie elementów podstawowej grafiki wektorowej
Edytor WYSIWYG (What You See Is What You Get) jest narzędziem, które umożliwia użytkownikom tworzenie treści internetowych w sposób intuicyjny, bez konieczności znajomości kodu HTML czy CSS. Kluczowym założeniem tego typu edytora jest to, że użytkownik widzi na ekranie dokładny obraz tego, co będzie wyświetlane w przeglądarce. Uzyskanie zbliżonego wyniku tworzonej strony do jej obrazu w przeglądarce internetowej oznacza, że edytor powinien umożliwiać podgląd na żywo oraz edytowanie treści w sposób, który bezpośrednio odzwierciedla rezultaty. Przykładem takiego edytora jest WordPress, który pozwala na tworzenie stron za pomocą edytora blokowego, gdzie użytkownik może na bieżąco widzieć, jak jego strona będzie wyglądać. Standardy, takie jak HTML5 oraz CSS3, są kluczowe w kontekście tworzenia responsywnych i interaktywnych stron, a edytory WYSIWYG powinny wspierać te standardy, aby zapewniać zgodność z nowoczesnymi praktykami webowymi. Dodatkowo, funkcje takie jak przeciąganie i upuszczanie elementów, możliwość dodawania multimediów oraz formatowania tekstu są nieodłącznymi elementami, które przyczyniają się do efektywności edytorów WYSIWYG.

Pytanie 7

W celu uzyskania efektu widocznego na rysunku, w kodzie HTML, należy umieścić znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. title
B. alt
C. name
D. dfn
Gratulacje, to jest prawidłowa odpowiedź. Znacznik &lt;abbr&gt; w HTML jest używany do określenia skrótu lub akronimu. Atrybut 'title' jest używany w połączeniu z tym znacznikiem, aby dostarczyć pełną formę skrótu, która jest wyświetlana, gdy użytkownik najedzie na skrót. Jest to zgodne ze standardami i dobrymi praktykami branżowymi, które zalecają ułatwianie zrozumienia treści dla wszystkich użytkowników, w tym tych z dysfunkcjami. Atrybut 'title' jest zatem przydatny, gdy skrót jest ryzykowny lub ma wiele znaczeń. Na przykład, skrót 'WHO' może oznaczać 'World Health Organization' lub 'Whois protocol' w zależności od kontekstu. Dlatego atrybut 'title' pomaga wyjaśnić zamierzone znaczenie.

Pytanie 8

Wskaż prawidłowe twierdzenie odnoszące się do zaprezentowanego kodu HTML.

<video width="640" height="480" controls>
    <source src="animacja.mp4" type="video/mp4">
</video>
A. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby można go było odtworzyć.
B. Kod może nie działać w przeglądarkach, które nie wspierają HTML5.
C. Ścieżka do pliku jest niepoprawna, nie zawiera pełnej ścieżki.
D. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
Odpowiedź wskazująca, że kod może nie działać w przeglądarce, jeśli nie obsługuje ona HTML5, jest poprawna, ponieważ standard HTML5 wprowadził wiele nowych elementów, w tym znacznik <video>, który umożliwia osadzanie materiałów wideo w stronach internetowych. Przeglądarki, które nie obsługują HTML5, nie będą w stanie poprawnie interpretować tego kodu, co skutkuje brakiem możliwości odtworzenia wideo. Przykładem mogą być starsze wersje Internet Explorera, które nie były zgodne z HTML5. Dobrą praktyką jest testowanie strony w różnych przeglądarkach oraz wykorzystywanie polyfilli, które mogą wspierać starsze przeglądarki w obsłudze nowych funkcjonalności. Warto również zrozumieć, że aby zapewnić szeroką dostępność treści wideo, użycie znaczników HTML5 powinno być wspierane dodatkowymi informacjami o alternatywnych formatach oraz kodowaniu wideo, co zwiększa szanse na poprawne wyświetlenie treści na różnych platformach.

Pytanie 9

Podano tabelę ksiazki z kolumnami: tytul, autor (w formacie tekstowym), cena (w formacie liczbowym). Aby zapytanie SELECT zwracało jedynie tytuły, dla których cena jest niższa niż 50zł, należy użyć:

A. SELECT tytul FROM ksiazki WHERE cena < 50
B. SELECT * FROM ksiazki WHERE cena < 50
C. SELECT tytul FROM ksiazki WHERE cena > '50 zł'
D. SELECT ksiazki FROM tytul WHERE cena < '50 zł'
Odpowiedź 'SELECT tytul FROM ksiazki WHERE cena < 50;' jest poprawna, ponieważ precyzyjnie formułuje zapytanie w języku SQL, które ma na celu wyodrębnienie z tabeli 'ksiazki' tylko tych tytułów, których cena jest niższa niż 50. W tym przypadku użycie operatora porównania '<' skutkuje filtracją danych według określonego kryterium. Jest to zgodne z dobrą praktyką w programowaniu baz danych, ponieważ pozwala uzyskać potrzebne informacje w sposób efektywny i zrozumiały. Przykładem praktycznego zastosowania może być stworzenie raportu dla księgarni, która chce zobaczyć, które książki są w sprzedaży w przystępnej cenie. Zwracając tylko potrzebne kolumny (tytuł), minimalizujesz ilość przesyłanych danych, co jest ważne w kontekście wydajności i szybkości działania aplikacji korzystających z bazy danych. Dodatkowo, unikanie podawania ceny w formacie tekstowym (np. '50 zł') jest zgodne z zasadami dobrego projektowania baz danych, które zalecają stosowanie odpowiednich typów danych, co w tym przypadku oznacza liczbę bez jednostki walutowej.

Pytanie 10

Fragment kodu SQL wskazuje, że klucz obcy

Ilustracja do pytania
A. stanowi odniesienie do siebie samego
B. jest obecny w tabeli obiekty
C. wiąże się z kolumną imiona
D. jest ustawiony na kolumnie obiekty
Klucz obcy w SQL nie umieszcza się w kolumnie obiekty, ani nie jest referencją do samego siebie. Główną funkcją klucza obcego jest zapewnienie, że dane w jednej tabeli są zgodne z danymi w innej tabeli, co jest podstawą utrzymania integralności referencyjnej w bazie danych. Po pierwsze, klucz obcy nie odnosi się do samego siebie, ponieważ jego celem jest wskazywanie na klucze główne lub unikalne kolumny w innej tabeli. Samoistne odniesienie nie miałoby sensu w kontekście zapewniania spójności danych. Po drugie, klucz obcy nie jest fizycznie umieszczony w jakiejkolwiek kolumnie w tabeli obiekty. Zamiast tego, jego definicja w kodzie SQL wskazuje, że istnieje logiczne powiązanie między kolumnami dwóch tabel. Istnieje również mylne założenie, że klucz obcy może być ustawiony na dowolną kolumnę w tabeli, na przykład w tabeli obiekty. W rzeczywistości klucz obcy musi być zdefiniowany w kontekście relacji między dwiema tabelami, a jego zadaniem jest wskazywanie na kolumnę w tabeli docelowej, która powinna zawierać wartości odpowiadające wartościom w kolumnie źródłowej. Takie niejasne rozumienie klucza obcego może prowadzić do błędów w projektowaniu struktury baz danych, co w dłuższej perspektywie może skutkować problemami z integralnością danych i wydajnością zapytań do bazy danych. Zrozumienie poprawnego zastosowania kluczy obcych jest kluczowe dla skutecznego zarządzania relacyjnymi bazami danych, dlatego ważne jest unikanie tych typowych błędów przy ich implementacji.

Pytanie 11

Warunek zapisany w języku PHP wyświetli liczbę, gdy

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. wynik dzielenia danej liczby przez 2 jest równy 0
B. jest to liczba dodatnia
C. jest to liczba parzysta
D. jest to liczba pierwsza
Odpowiedź jest prawidłowa ponieważ wyrażenie $liczba % 2 == 0 w języku PHP wykorzystuje operator reszty z dzielenia który sprawdza czy liczba po podzieleniu przez 2 ma resztę równą zero. Taki warunek jest spełniony wyłącznie dla liczb parzystych które z definicji dzielą się bez reszty przez 2. W programowaniu rozpoznawanie liczb parzystych jest często stosowane w algorytmach które wymagają specyficznego przetwarzania danych takich jak sortowanie czy filtrowanie. Warto również zauważyć że używanie operatora modulo (%) w takich przypadkach jest uznawane za dobrą praktykę branżową ze względu na jego czytelność i efektywność. Przykładem praktycznego zastosowania może być np. generowanie naprzemiennego koloru tła w tabelach aby zwiększyć ich czytelność co jest powszechnie stosowane w aplikacjach webowych. Zrozumienie tego konceptu jest fundamentalne w programowaniu ponieważ pozwala na tworzenie bardziej dynamicznych i elastycznych aplikacji które potrafią reagować na różne stany danych.

Pytanie 12

Funkcja CONCAT() w SQL służy do

A. usuwania określonego tekstu
B. łączenia tekstów do wyświetlenia
C. uzyskiwania podłańcucha ze wskazanego tekstu
D. przycinania tekstu do wyświetlenia
Funkcja CONCAT() w SQL nie ma nic wspólnego z usuwaniem tekstu, przycinaniem go ani wyznaczaniem podłańcuchów. Usunięcie wskazanego tekstu to inaczej operacja związana z funkcją REPLACE lub DELETE, które służą do usuwania fragmentów danych z tabel, a nie ich łączenia. Przycinanie tekstu, z kolei, może być realizowane za pomocą funkcji CHARINDEX lub LEN, które są używane do określenia długości tekstu lub jego pozycji, ale nie mają one zastosowania w kontekście łączenia różnych elementów. Odpowiedź sugerująca, że CONCAT() wyznacza podłańcuchy znaków, również jest mylna, ponieważ do tego celu służą funkcje takie jak SUBSTRING czy LEFT, które pozwalają na wyodrębnianie określonych części tekstu na podstawie pozycji. Typowym błędem myślowym jest mylenie różnych funkcji SQL, które pełnią odrębne role. Należy pamiętać, że każda z tych operacji ma swoje unikalne zastosowanie i są one wykorzystywane w różnych kontekstach. Dlatego przed przystąpieniem do użycia konkretnej funkcji, warto dokładnie zrozumieć jej przeznaczenie i działanie, aby uniknąć nieporozumień i błędów w zapytaniach SQL.

Pytanie 13

W jakim przypadku w JavaScript warunek jest spełniony, jeśli zmienna x przyjmuje wartość

if ((!isNaN(x)) && (x > 0))
A. wszelką dodatnią wartość liczbową
B. wszelką całkowitą wartość liczbową
C. pusty ciąg znaków
D. nie-liczbową wartość
W przypadku gdy zmienna x przechowuje pusty napis warunek w JavaScript if (!isNaN(x) && x>0) nie będzie prawdziwy ponieważ pusty napis nie zostanie zinterpretowany jako liczba isNaN('') zwraca false ale dodatkowy warunek x>0 nie zostanie spełniony ponieważ pusty napis nie jest większy od zera Z kolei wartość nie liczbowa spowoduje że isNaN(x) zwróci true co oznacza że !isNaN(x) będzie false W ten sposób wartość nie liczbowa również nie spełni warunku Ponadto jeśli zmienna x przechowuje dowolną całkowitą wartość liczbową nie ma gwarancji że będzie ona dodatnia Może być zerem lub ujemna co nie spełni drugiego warunku x>0 Dlatego kluczowe jest zrozumienie że warunek ten weryfikuje zarówno numeryczność jak i dodatniość wartości co jest częstym przypadkiem w aplikacjach wymagających precyzyjnej walidacji danych użytkownika Zamieszanie może wynikać z błędnego rozumienia jak JavaScript traktuje różne typy danych i wartości w kontekście operacji logicznych oraz jak ma miejsce konwersja typów podczas porównań logicznych Dlatego ważne jest aby programiści mieli silne podstawy w zrozumieniu tych mechanizmów aby unikać błędów logicznych które mogą prowadzić do nieprzewidywalnego działania aplikacji Zrozumienie tych aspektów pozwala na pisanie bardziej odpornych i bezpiecznych aplikacji co jest istotne w profesjonalnej praktyce programistycznej

Pytanie 14

W tabeli Recepta, kolumny Imie i Nazwisko odnoszą się do pacjenta, na którego wystawiona jest recepta. Jaką kwerendę należy wykorzystać, aby dla każdej recepty uzyskać datę jej wystawienia oraz imię i nazwisko lekarza, który ją wystawił?

Ilustracja do pytania
A. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
B. SELECT Imie, Nazwisko, DataWystawienia FROM Recepta
C. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta
D. SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
Błędne odpowiedzi wynikają z nieprawidłowego zrozumienia struktury relacyjnej baz danych i mechanizmu łączenia tabel. W przypadku odpowiedzi pierwszej, kwerenda SELECT Imie, Nazwisko, DataWystawienia FROM Recepta; pobiera dane o pacjencie, a nie o lekarzu, ponieważ kolumny Imie i Nazwisko w tabeli Recepta odnoszą się do pacjenta. Chociaż uzyskujemy datę wystawienia recepty, brakuje kluczowej informacji o lekarzu wystawiającym. Odpowiedź druga, SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta;, jest błędna, ponieważ nie zawiera mechanizmu JOIN, który jest niezbędny do połączenia danych z tabeli Recepta z tabelą Lekarz. Bez tego połączenia próba odwołania się do kolumn z tabeli Lekarz zakończy się błędem. Odpowiedź trzecia, SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id;, również nie spełnia wymagań, ponieważ pobiera tylko imię pacjenta (co jest nieprawidłowe), a nie informacje o lekarzu. Podstawowym błędem w tych odpowiedziach jest brak zrozumienia relacji między tabelami oraz poprawnego zastosowania kluczy, co jest kluczowe w pracy z relacyjnymi bazami danych. Zrozumienie mechanizmu JOIN i prawidłowego odniesienia się do kolumn w różnych tabelach jest fundamentem efektywnego projektowania i wykorzystywania baz danych.

Pytanie 15

Rodzaj zmiennej w języku JavaScript

A. istnieje tylko jeden
B. powinien być zadeklarowany na początku skryptu
C. nie występuje
D. następuje poprzez przypisanie wartości
W języku JavaScript typ zmiennej jest określany poprzez przypisanie wartości, co oznacza, że zmienna może przyjmować różne typy danych w trakcie działania programu. JavaScript jest językiem, który wspiera dynamiczne typowanie, co pozwala na elastyczność w programowaniu. Przykładowo, można zadeklarować zmienną i przypisać do niej wartość liczbową: let x = 5; a następnie przypisać wartość tekstową: x = 'Hello';. W momencie przypisania wartości, JavaScript automatycznie dostosowuje typ zmiennej w zależności od typu przypisanej wartości. To podejście jest zgodne z dobrymi praktykami programowania, ponieważ umożliwia łatwe tworzenie i modyfikowanie kodu, bez potrzeby wcześniejszego określania typów zmiennych, co jest charakterystyczne dla języków statycznie typowanych. Warto również zaznaczyć, że w JavaScript mamy do czynienia z różnymi typami danych, takimi jak liczby, łańcuchy tekstowe, obiekty, tablice czy wartości logiczne (boolean), co daje programistom dużą swobodę w modelowaniu danych.

Pytanie 16

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy: ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Kraków"``` Wskaż zapytanie, które zwróci te same dane:

A. SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN "Poznań" OR "Kraków"
B. SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" OR miasto="Kraków"
C. SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING "Poznań" OR "Kraków"
D. SELECT nazwisko, imie FROM mieszkancy AS "Poznań" OR "Kraków"
Zarówno druga, jak i trzecia odpowiedź zawierają błędne konstrukcje zapytań SQL, które nie są zgodne z syntaktyką SQL. W drugiej propozycji użycie aliasu 'AS' dla miast jest niepoprawne, ponieważ aliasowanie dotyczy głównie tabel i kolumn, a nie wartości w klauzuli WHERE. W konsekwencji zapytanie nie zwróci żadnych danych, gdyż nie jest w stanie poprawnie zinterpretować podanych warunków. Trzecia odpowiedź sugeruje użycie operatora BETWEEN w kontekście miast, co również jest niepoprawne. BETWEEN wymaga wartości liczbowych lub dat, a nie tekstowych. Dodatkowo, użycie operatora OR w kontekście BETWEEN jest błędne, ponieważ BETWEEN sam w sobie definiuje zakres wartości. Ostatnia odpowiedź jest również niepoprawna, ponieważ klauzula HAVING jest wykorzystywana w kontekście agregacji danych i nie jest przeznaczona do stosowania w prostych warunkach filtracji, jak w tym przypadku. Typowym błędem jest mylenie kontekstu użycia różnych klauzul w SQL oraz niewłaściwe stosowanie operatorów, co prowadzi do niepoprawnych wniosków o skutkach zapytań. Warto zrozumieć zasady rządzące składnią SQL, aby efektywnie tworzyć zapytania, które zwracają oczekiwane wyniki.

Pytanie 17

Aby określić styl czcionki w CSS, należy zastosować właściwość

A. text-family
B. font-family
C. font-style
D. text-style
Stosowanie właściwości 'text-style' jest niepoprawne, ponieważ nie istnieje taka właściwość w standardzie CSS. Zamiast tego, do modyfikacji stylu tekstu służą inne właściwości, takie jak 'font-style' czy 'text-decoration', które pozwalają na zastosowanie kursywy lub podkreślenia, lecz nie definiują kroju czcionki. Z kolei 'font-style' odnosi się do stylizacji czcionki, a nie do jej wyboru. Pozwala on na ustawienie, czy czcionka ma być normalna, pochylona czy pogrubiona, ale nie określa, jakiego kroju czcionki używamy. To prowadzi do powszechnego błędu, kiedy użytkownicy myślą, że 'font-style' określa również krój, co jest nieprawdziwe. Z drugiej strony, 'text-family' nie jest uznawanym terminem w kontekście CSS, co może wprowadzać w błąd początkujących programistów. Ważne jest, aby zrozumieć, że właściwości CSS są ściśle zdefiniowane i korzystanie z nieprawidłowych terminów prowadzi do błędów w kodzie. Aby uniknąć takich nieporozumień, warto zapoznać się z dokumentacją CSS oraz standardami W3C, które dostarczają klarownych informacji na temat dostępnych właściwości i ich zastosowań.

Pytanie 18

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 AVG(pensja) from pracownicy
B. select VAR(pracownicy) into pensja
C. select VAR(pensja) from nazwisko
D. select AVG(nazwisko) into pensja
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 19

Jakiego zdarzenia trzeba użyć, aby funkcja JavaScript była uruchamiana za każdym razem, gdy użytkownik wprowadzi jakikolwiek znak do pola tekstowego?

A. onload
B. onmouseout
C. onkeydown
D. onclick
Odpowiedź 'onkeydown' jest w porządku! To zdarzenie działa za każdym razem, gdy ktoś naciska klawisz w polu edycyjnym. Świetnie nadaje się do monitorowania, co użytkownik wpisuje na bieżąco. Na przykład w formularzach można go użyć, żeby od razu sprawdzić, czy dane są poprawne. Dzięki temu użytkownik widzi, czy coś jest nie tak, co ogólnie poprawia użyteczność aplikacji. Poza tym, dobrym pomysłem jest nadawanie zrozumiałych nazw funkcjom, które reagują na te zdarzenia – pomaga to później w utrzymaniu kodu. Można też łączyć onkeydown z onkeyup czy onkeypress, żeby jeszcze lepiej kontrolować wprowadzane dane. To na pewno sprawi, że Twoja aplikacja będzie bardziej interaktywna.

Pytanie 20

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
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 21

Zapis tagu HTML w formie <a href="#hobby">przejdź</a>?

A. jest poprawny, po kliknięciu w odnośnik aktualna strona zostanie przewinięta do elementu o nazwie "hobby"
B. jest poprawny, po kliknięciu w odnośnik otworzy się strona internetowa o adresie "hobby"
C. jest błędny, w atrybucie href trzeba wpisać adres URL
D. jest błędny, niepoprawnie użyto znaku "#" w atrybucie href
Twoja odpowiedź jest trafna, bo znacznik <a href="#hobby">przejdź</a> naprawdę jest zgodny z tym, co mówi HTML. Jak to działa? No, ten znak '#' wskazuje na lokalny odnośnik, co oznacza, że przeglądarka szuka elementu na stronie, który ma id "hobby". Przykładowo, jeśli w kodzie HTML mamy coś jak <div id="hobby">, to klikając w link, przewinie widok do tej sekcji. To jest super przydatne, zwłaszcza w długich dokumentach czy różnych aplikacjach, bo pozwala szybko skakać do interesujących nas części. Z mojego doświadczenia, używanie takich lokalnych odnośników nie tylko ułatwia nawigację, ale też poprawia SEO i interakcję użytkowników z treścią. Warto to stosować!

Pytanie 22

Znaczniki HTML <strong> oraz <em> używane do wyróżniania istotności tekstu, pod względem formatowania odpowiadają znacznikom

A. ```<b>``` oraz ```<u>```
B. ```<u>``` oraz ```<sup>```
C. ```<i>``` oraz ```<mark>```
D. ```<b>``` oraz ```<i>```
Wybór znacznika <i> oraz <mark> jako odpowiedzi na pytanie o semantyczne odpowiedniki <strong> oraz <em> można uznać za niepoprawny, ponieważ znaczniki te pełnią inne funkcje. Znacznik <mark> służy do wyróżniania tekstu, co ma na celu zwrócenie uwagi na istotne informacje, ale nie odnosi się bezpośrednio do semantycznego akcentowania. Z kolei <i>, mimo że jest używany do kursywnego pisma, nie niesie ze sobą znaczenia semantycznego, które jest kluczowe dla HTML5. Oznaczenie tekstu jako kursywy nie wskazuje, że tekst jest ważniejszy, a użycie <u> do podkreślenia tekstu, które sugeruje tylko wizualne podkreślenie, również nie ma semantycznego znaczenia. Znacznik <b> jest bardziej zbliżony do <strong> pod względem wizualnym, ale nie posiada jego semantycznej wartości. Używanie <u> czy <sup> do oznaczania ważności tekstu jest również błędne, ponieważ <sup> wskazuje na tekst w indeksie górnym, co nie ma związku z akcentowaniem. Typowe błędy myślowe w tym kontekście mogą wynikać z mylenia aspektów wizualnych z semantycznymi w HTML. Dlatego kluczowe jest, aby przy projektowaniu stron używać znaczników zgodnych z ich przeznaczeniem, co nie tylko poprawi strukturalność dokumentu, ale także przyczyni się do lepszego doświadczenia użytkownika oraz dostępności treści.

Pytanie 23

Która z komend w języku JavaScript pozwala na zmianę koloru tekstu na niebieski w akapicie określonym w pliku HTML?

A. document.getElementById("jeden").color = "blue";
B. document.getElementById("jeden").style.color = "blue";
C. document.getElementById("jeden").background-color = "blue";
D. document.getElementById("jeden").style.background-color = "blue";
Twoja odpowiedź document.getElementById("jeden").style.color = "blue" jest jak najbardziej trafna. Tu wykorzystujesz metodę document.getElementById, co pozwala na dotarcie do konkretnego elementu HTML, który ma identyfikator "jeden". To akurat odnosi się do tego akapitu <p id="jeden">. Później, używając właściwości style.color, zmieniasz kolor tekstu tego elementu na niebieski. To całkiem standardowy sposób, żeby dynamicznie zmieniać style CSS za pomocą JavaScript. W interaktywnych aplikacjach internetowych tak się często robi, bo zmiany kolorów na stronie są potrzebne, kiedy użytkownik klika w różne rzeczy. Na przykład, w takich aplikacjach zmiany kolorów elementów w odpowiedzi na działania użytkowników są mega ważne. Właściwie, korzystanie z metod DOM (Document Object Model) w taki sposób jest kluczowe dla tworzenia interaktywnych i responsywnych interfejsów, co jest bardzo istotne przy budowaniu stron internetowych.

Pytanie 24

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(F, 0, E0)
B. rgb(255, 0, 128)
C. rgb(255, 0, 224)
D. rgb(FF, 0, E0)
Oznaczenie #FF00E0 to zapis koloru w systemie szesnastkowym (hex), bardzo typowym w CSS i ogólnie w tworzeniu interfejsów. Składa się ono z trzech par znaków: FF (czerwony), 00 (zielony), E0 (niebieski). Każda para to jedna składowa kanału RGB zapisana w systemie szesnastkowym, czyli w bazie 16. Zakres dla każdej składowej to od 00 do FF, co odpowiada wartościom dziesiętnym od 0 do 255. FF w systemie szesnastkowym to 15×16 + 15 = 255 w systemie dziesiętnym. 00 to po prostu 0. Natomiast E0 to 14×16 + 0 = 224. Dlatego zapis #FF00E0 jest równoważny rgb(255, 0, 224). To jest dokładnie ten sam kolor, tylko zapisany w innym formacie. W CSS możesz używać obu zapisów zamiennie: np. `color: #FF00E0;` oraz `color: rgb(255, 0, 224);` dadzą identyczny efekt w przeglądarce. W praktyce, przy projektowaniu stron i interfejsów, warto rozumieć oba zapisy, bo narzędzia graficzne (Photoshop, GIMP, Figma) często podają kolory w hex, a dokumentacja front-endowa i tutoriale bardzo często używają rgb() albo nawet rgba(). Dobra praktyka w branży jest taka, żeby umieć szybko w głowie lub z pomocą prostego kalkulatora przeliczyć wartości hex na dziesiętne, szczególnie przy drobnych korektach kolorów. Moim zdaniem świadomość, że hex to po prostu inna reprezentacja tych samych liczb 0–255, bardzo ułatwia później rozumienie gradientów, filtrów, a nawet pracy z kolorami w JavaScript, gdzie możesz programowo generować wartości rgb().

Pytanie 25

Czym jest DBMS?

A. Strukturalny język zapytań do bazy danych
B. Obiektowy język programowania służący do tworzenia stron www
C. System zarządzania bazą danych
D. Kaskadowy arkusz stylów do opisu wyglądu witryny www
DBMS, czyli System Zarządzania Bazą Danych, to oprogramowanie, które umożliwia tworzenie, zarządzanie i manipulowanie danymi w bazach danych. Pozwala na efektywne przechowywanie, organizowanie i odzyskiwanie informacji, co jest kluczowe w każdej aplikacji wymagającej przetwarzania danych. Przykłady popularnych systemów DBMS to MySQL, PostgreSQL oraz Oracle Database. DBMS zapewnia nie tylko bezpieczeństwo danych, lecz także umożliwia współdzielenie informacji między użytkownikami. Stosuje mechanizmy kontroli dostępu, co chroni dane przed nieautoryzowanym dostępem. Dobre praktyki w zarządzaniu bazą danych obejmują normalizację danych, co zapobiega redundancji i poprawia integralność danych. W przypadku rosnących zbiorów danych, DBMS wspiera także skalowalność, co jest niezbędne w aplikacjach internetowych, gdzie liczba użytkowników może przeszło wzrosnąć. Ponadto, DBMS wykorzystuje język SQL (Structured Query Language) do wykonywania zapytań, co jest standardem branżowym dla interakcji z bazami danych.

Pytanie 26

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 7
B. 3
C. 15
D. 5
Zrozumienie działania tego algorytmu jest kluczowe dla programowania i matematyki obliczeniowej. Algorytm ten wykorzystuje pętlę 'dopóki', która wykonuje operacje na dwóch zmiennych: Z i N. Na początku Z jest równe 0, a N jest równe 1. Pętla trwa dopóki Z jest mniejsze od 3. W każdej iteracji pętli zmienna N jest aktualizowana zgodnie z wyrażeniem N = N * 2 + 1 oraz Z jest zwiększane o 1. Przy pierwszej iteracji Z wynosi 0, więc N staje się 1 * 2 + 1 = 3, a Z zostaje zwiększone do 1. W drugiej iteracji Z wynosi 1, więc N staje się 3 * 2 + 1 = 7, a Z wynosi 2. W trzeciej iteracji Z wynosi 2, dlatego N staje się 7 * 2 + 1 = 15, a Z zostaje zwiększone do 3, co kończy pętlę. W rezultacie, gdy algorytm kończy działanie, zmienna N ma wartość 15, która zostaje wypisana. To podejście jest zgodne z dobrymi praktykami w pisaniu algorytmów, gdzie dbałość o zrozumienie pętli i operacji na zmiennych jest fundamentalna dla tworzenia wydajnych programów.

Pytanie 27

Kolor określony kodem RGB, mający wartość rgb(255, 128, 16) w przedstawieniu szesnastkowym, przyjmie jaką wartość?

A. #ff8011
B. #ff8010
C. #008010
D. #ff0fl0
Odpowiedź #ff8010 jest trafna. Konwersja wartości RGB na szesnastkowy to w sumie przekształcanie kolorów: czerwony, zielony i niebieski. W przypadku rgb(255, 128, 16), czerwony (255) zmienia się w 'ff', zielony (128) w '80', a niebieski (16) w '10'. Gdy to wszystko połączymy, dostajemy kod #ff8010. To wiedza, która naprawdę się przydaje, gdy pracujesz z kolorami w stronach www, aplikacjach graficznych czy przy projektowaniu interfejsów. W branży IT używanie standardu RGB i konwersji do HEX to normalka, bo to pozwala na dokładne określenie kolorów w kodzie. Na przykład, w CSS łatwo będzie używać kolorów w tym formacie, a to pomaga w lepszej czytelności kodu.

Pytanie 28

Aby uzyskać dane z tabeli pracownicy dotyczące jedynie osób, które ukończyły 26 lat, należy zastosować zapytanie

A. SELECT * FROM wiek WHERE pracownicy > 25
B. SELECT * FROM pracownicy WHERE wiek > 25
C. SELECT * FROM pracownicy OR wiek > 25
D. SELECT * FROM pracownicy AND wiek > 25
Aby wyświetlić rekordy z tabeli pracownicy, które dotyczą pracowników powyżej 26 roku życia, należy zastosować odpowiednie zapytanie SQL. Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > 25;'. W tym przypadku, klauzula WHERE filtruje wyniki, zapewniając, że tylko ci pracownicy, którzy mają więcej niż 25 lat, zostaną zwróceni. Warto zauważyć, że w SQL operator '>' oznacza, że zwracane będą tylko rekordy, dla których warunek jest spełniony. Ponadto, wybranie wszystkich kolumn poprzez SELECT * jest powszechną praktyką, gdyż pozwala na uzyskanie pełnych informacji o pracownikach, bez konieczności wskazywania poszczególnych kolumn. Jest to zgodne z zasadami użycia SQL, gdzie operacje na danych są wykonywane poprzez polecenia definiujące wybrane tabele i warunki. Przykład zastosowania tego zapytania może być użyty w aplikacjach biznesowych, gdzie analiza wieku pracowników jest niezbędna do podejmowania decyzji kadrowych, a także w raportach dotyczących zatrudnienia. Takie zapytanie jest fundamentalne dla zarządzania danymi w relacyjnych bazach danych.

Pytanie 29

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

A. Nasycenie barw
B. Przezroczystość
C. Ostrość krawędzi
D. Kolejność wyświetlenia pikseli
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 30

Dla tablicy n-elementowej o nazwie t[n], algorytm, zapisany w formie kroków, ma za zadanie obliczenie sumy

Ilustracja do pytania
A. co drugiego elementu tablicy
B. n-elementów tablicy
C. sumy tych elementów tablicy, których wartości są nieparzyste
D. sumy wszystkich elementów tablicy
Błędne odpowiedzi, jakie podałeś, wynikają tak naprawdę z niezrozumienia algorytmu. Po pierwsze, suma wszystkich elementów tablicy wymagałaby przechodzenia przez każdy element bez przeskoków, więc musielibyśmy zwiększać indeks i o 1 w każdym kroku, a to odbiega od tego, co robi ten algorytm. Jakbyśmy chcieli sumować elementy nieparzyste, to musielibyśmy dodać warunek, który sprawdza, czy dany element jest parzysty, zanim go dodamy do wyniku. W ogóle nie ma takiego mechanizmu w tym algorytmie. Suma n-elementów tablicy jest błędna, bo algorytm pomija co drugi element, więc nie może być taką odpowiedzią. Typowe błędy, które się pojawiają w takich zadaniach, to niepełne rozumienie działania pętli i tego, jak aktualizowany jest indeks. Tego rodzaju myślenie może prowadzić do błędnych wniosków na temat tego, które elementy są brane pod uwagę. W praktyce ważne jest, żeby na spokojnie analizować, jak działają warunki iteracyjne i jakie mają konsekwencje dla przetwarzanych danych, bo to kluczowe przy projektowaniu algorytmów i ich wdrażaniu w różnych realnych sytuacjach, gdzie efektywność ma ogromne znaczenie.

Pytanie 31

Jakiego typu danych w bazie MySQL należy używać, aby zapisać datę oraz czas w jednym polu?

A. DATE
B. BOOLEAN
C. YEAR
D. TIMESTAMP
Typ danych TIMESTAMP w MySQL jest idealnym wyborem do przechowywania zarówno daty, jak i czasu w jednym polu, co czyni go bardzo funkcjonalnym w kontekście aplikacji wymagających ścisłej kontroli nad czasem zdarzeń. TIMESTAMP przechowuje datę i czas jako liczbę sekund, które upłynęły od 1 stycznia 1970 roku, co pozwala na łatwe manipulowanie danymi związanymi z czasem, jak obliczanie różnic między datami czy sortowanie po czasie. Przykładowo, w aplikacjach takich jak systemy rezerwacji, gdzie istotne jest nie tylko kiedy coś zostało zarezerwowane, ale również czas rezerwacji, użycie TIMESTAMP umożliwia efektywne zarządzanie danymi. Dodatkowo, TIMESTAMP automatycznie aktualizuje się, gdy rekord jest zmieniany, co jest niezwykle przydatne w kontekście audytów i monitorowania historii zmian w danych. Warto również zauważyć, że TIMESTAMP w MySQL obsługuje strefy czasowe, co czyni go bardziej uniwersalnym w międzynarodowych zastosowaniach. W standardach branżowych dobre praktyki wskazują na używanie TIMESTAMP dla operacji wymagających ścisłej synchronizacji czasowej oraz tam, gdzie istotna jest informacja o czasie zdarzenia.

Pytanie 32

Jaką wartość zwróci funkcja zao, która została zdefiniowana w języku C++, gdy zostanie wywołana z argumentem 3.55?

int zao(float x) {
    return x+0.5;
}
A. 3.5
B. 3
C. 4.05
D. 4
Funkcja zaofloat zdefiniowana w C++ przyjmuje argument typu float, a następnie zwraca go po dodaniu do niego wartości 0.5. W przypadku wywołania tej funkcji z argumentem 3.55, najpierw dodajemy 0.5, co daje nam 4.05. Następnie, w kontekście C++, funkcja ta nie została jeszcze zaimplementowana w sposób, który by zaokrąglał wynik. W rezultacie, gdybyśmy zaokrąglili wynik do najbliższej liczby całkowitej, otrzymalibyśmy 4. Takie podejście jest zgodne z zasadami zaokrąglania, które mówią, że liczby z częścią dziesiętną równą lub większą od 0.5 powinny być zaokrąglane w górę. Tego rodzaju funkcje są powszechnie stosowane w programowaniu, zwłaszcza w kontekście obliczeń finansowych i inżynieryjnych, gdzie precyzyjne zarządzanie wartościami liczbowymi jest kluczowe. Warto dodać, że w C++ istnieją standardowe funkcje, takie jak round() z biblioteki cmath, które mogą być wykorzystywane do efektywnego zaokrąglania wartości do najbliższej liczby całkowitej, co może być przydatne w wielu sytuacjach.

Pytanie 33

Zaproponowana baza danych składa się z trzech tabel oraz dwóch relacji. Żeby uzyskać listę wszystkich lekarzy przypisanych do danego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Recepty.id
B. Lekarze.id = Pacjenci.Lekarze_id
C. Lekarze.id = Pacjenci.id
D. Lekarze.id = Pacjenci.Recepty_id
Poprawna odpowiedź polega na właściwym zrozumieniu relacji między tabelami Lekarze a Pacjenci w bazie danych. Aby wyświetlić wszystkich lekarzy przypisanych do konkretnego pacjenta konieczne jest użycie klucza obcego Lekarze_id w tabeli Pacjenci. Relacja ta jest kluczowa gdyż każda wizyta pacjenta jest przypisana konkretnemu lekarzowi dzięki temu kluczowi. W praktycznych zastosowaniach relacje takie są niezbędne do efektywnego zarządzania danymi w systemach zdrowotnych umożliwiając szybkie uzyskanie informacji o lekarzach opiekujących się pacjentem. Standardy baz danych zakładają użycie kluczy obcych w celu utrzymania integralności danych. Jest to zgodne z zasadą normalizacji polegającą na eliminacji redundancji i zapewnieniu spójności danych. W kontekście projektowania baz danych dobre praktyki wymagają jasno zdefiniowanych relacji co pozwala na łatwiejsze skalowanie i zarządzanie systemem. Zrozumienie i poprawne zastosowanie tej wiedzy umożliwia tworzenie wydajnych i elastycznych struktur danych.

Pytanie 34

Przedstawiono kod tabeli 3×2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela wyglądała jak na obrazie z niewidocznym wierszem?

<table>
  <tr>
    <td style="border: solid 1px;">Komórka 1</td>
    <td style="border: solid 1px;">Komórka 2</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 3</td>
    <td style="border: solid 1px;">Komórka 4</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 5</td>
    <td style="border: solid 1px;">Komórka 6</td>
  </tr>
</table>
Komórka 1Komórka 2
Komórka 3Komórka 4
Komórka 5Komórka 6
A. <tr style="clear: none">
B. <tr style="visibility: hidden">
C. <tr style="display: table-cell">
D. <tr style="display: none">
Wybrana odpowiedź jest niepoprawna, ale nie martw się, to jest okazja do nauki. Jeśli chcesz ukryć element na stronie, ale zachować jego miejsce w układzie, powinieneś użyć właściwości CSS 'visibility: hidden'. Takie podejście jest zgodne z dobrymi praktykami w tworzeniu stron internetowych. Inne opcje, takie jak 'display: none', 'display: table-cell' i 'clear: none' nie są odpowiednie w tym kontekście. 'display: none' całkowicie usuwa element z układu strony, co powoduje przesunięcie pozostałych elementów, aby zapełnić puste miejsce. 'display: table-cell' jest właściwością, która pozwala elementowi zachowywać się jak komórka tabeli, co nie ma tutaj zastosowania, gdyż chcemy ukryć cały wiersz, a nie pojedynczą komórkę. 'clear: none' jest właściwością używaną do kontroli przepływu elementów w stosunku do elementów z lewej lub prawej strony, ale nie ma wpływu na ukrywanie elementów. Dobra praktyka polega na zrozumieniu i właściwym stosowaniu różnych właściwości CSS, aby uzyskać zamierzony efekt na stronie.

Pytanie 35

W celu zmiany struktury tabeli w systemie MySQL trzeba wykonać polecenie

A. ALTER TABLE
B. INSERT INTO
C. GRANT
D. UPDATE
Odpowiedź 'ALTER TABLE' to strzał w dziesiątkę, bo to właśnie to polecenie w MySQL pozwala na zmiany w strukturze tabeli w bazach danych. Gdy używamy 'ALTER TABLE', możemy dodawać nowe kolumny, usuwać te, które już nie są potrzebne, albo zmieniać typ danych w kolumnach. Przykładowo, jeśli chcemy dodać kolumnę 'wiek' do tabeli 'pracownicy', używamy: ALTER TABLE pracownicy ADD COLUMN wiek INT;. A żeby usunąć kolumnę 'adres', wystarczy: ALTER TABLE pracownicy DROP COLUMN adres;. Pamiętaj przy tym, żeby zawsze sprawdzić, czy te zmiany nie będą miały negatywnego wpływu na dane oraz czy mamy odpowiednie uprawnienia. Osobiście uważam, że warto robić kopie zapasowe przed większymi zmianami, bo to może uratować skórę, gdy coś pójdzie nie tak. Dobry sposób na to, by być pewnym siebie w pracy z bazami danych, to dobrze poznać 'ALTER TABLE' i jego możliwości.

Pytanie 36

Systemem zarządzania wersjami w projekcie oprogramowania, który jest rozproszony, jest

A. TotalCommander
B. FileZilla
C. Eclipse
D. GIT
GIT jest rozproszonym systemem kontroli wersji, który umożliwia programistom śledzenie zmian w kodzie źródłowym oraz współpracę nad projektami w zespole. Rozproszona architektura GIT pozwala każdemu deweloperowi na posiadanie pełnej kopii repozytorium, co zwiększa bezpieczeństwo i elastyczność pracy. W przeciwieństwie do centralnych systemów kontroli wersji, gdzie jedna centralna kopia repozytorium jest głównym źródłem, GIT umożliwia każdemu użytkownikowi wprowadzanie zmian lokalnie, a następnie synchronizację z innymi. Przykładem zastosowania GIT-a jest platforma GitHub, która umożliwia hosting projektów oraz wspiera pracę zespołową poprzez funkcje takie jak pull requesty czy zarządzanie problemami. GIT jest zgodny z wieloma standardami, w tym z Open Source, co czyni go narzędziem dostępnym dla szerokiej społeczności deweloperów. Jego wszechstronność i bogate możliwości, takie jak branżowanie i łączenie gałęzi, sprawiają, że jest on niezbędnym narzędziem w pracy nad nowoczesnymi projektami programistycznymi.

Pytanie 37

Które z poniższych stwierdzeń jest poprawne w kontekście grafiki rastrowej?

A. Jest to przedstawienie obrazu poprzez siatkę pikseli, które są odpowiednio kolorowane w układzie pionowo-poziomym na ekranie komputera, drukarce lub innym urządzeniu wyjściowym.
B. Grafika rastrowa nie jest zapisywana w formacie WMF (ang. Windows Metafile Format - format metaplików Windows).
C. Podczas skalowania obraz nie traci na jakości.
D. Obraz zapisywany jest za pomocą figur geometrycznych rozmieszczonych w układzie współrzędnych.
Grafika rastrowa, znana również jako bitmapa, to sposób przedstawiania obrazu poprzez siatkę pikseli. Piksel, będący najmniejszym elementem obrazu, jest odpowiednio kolorowany, co pozwala na uzyskanie pełnozakresowego obrazu. Takie podejście jest powszechnie stosowane w różnych dziedzinach, od fotografii cyfrowej po projektowanie graficzne. W przypadku grafiki rastrowej, każdy piksel jest przypisany do konkretnego miejsca na siatce, co skutkuje tym, że zmieniając rozmiar obrazu poprzez skalowanie, jakość obrazu ulega pogorszeniu, gdyż piksele mogą być rozciągane lub stłumione. Warto też zauważyć, że formaty plików, takie jak JPEG, PNG czy BMP, są typowymi formatami dla grafiki rastrowej, gdzie każdy z nich ma swoje zastosowanie i charakterystyki. Przykładowo, JPEG jest idealny do zdjęć ze względu na kompresję stratną, podczas gdy PNG obsługuje przezroczystość. Zrozumienie tego, jak grafika rastrowa działa i jakie są jej ograniczenia, jest kluczowe dla każdego, kto pracuje z obrazem w środowisku cyfrowym.

Pytanie 38

Jak należy poprawnie udokumentować wzorzec weryfikacji dla pola nazwa w kodzie aplikacji JavaScript?

Ilustracja do pytania
A. /* Pole nazwa musi składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużych liter i dwóch małych liter. */
B. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
C. /* Pole nazwa powinno składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
D. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
Poprawna odpowiedź zakłada, że pole 'nazwa' musi zawierać określoną strukturę wyrażenia regularnego które jest kluczowym elementem w walidacji danych wejściowych w aplikacjach JavaScript. Wzorzec /[1-9]*[A-Z]{1}[a-z]{2,}$/ wskazuje że pole może zaczynać się od dowolnej liczby cyfr z wyłączeniem 0 po których następuje jedna duża litera i co najmniej dwie małe litery. Taka konstrukcja jest przydatna w tworzeniu bezpiecznych aplikacji ułatwiając wymuszenie określonego formatu danych które mogą być używane na przykład w formularzach rejestracyjnych gdzie wymagane jest podanie specyficznego identyfikatora użytkownika. Warto pamiętać że walidacja po stronie klienta jak w tym przypadku powinna być zawsze wspierana dodatkowymi sprawdzeniami po stronie serwera co jest dobrą praktyką programistyczną w celu zabezpieczenia aplikacji przed niepożądanym dostępem oraz złośliwymi atakami. Zrozumienie i stosowanie wyrażeń regularnych znacznie poprawia jakość kodu oraz jego zdolność do adaptacji w różnych warunkach technicznych co jest kluczowe w dzisiejszym dynamicznym środowisku IT.

Pytanie 39

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

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

Pytanie 40

Załatwienie sprawy urzędowej online wymaga autoryzacji

A. profilem zaufanym.
B. imieniem i nazwiskiem.
C. numerem NIP.
D. serią i numerem dowodu osobistego.
Prawidłowo wskazany został profil zaufany, bo właśnie on jest standardowym mechanizmem autoryzacji w polskich e-usługach administracji publicznej. Profil zaufany to specjalne, elektroniczne potwierdzenie tożsamości obywatela, powiązane z jego numerem PESEL i zweryfikowane np. przez bank, urząd skarbowy albo punkt potwierdzający. Dzięki temu urząd ma pewność, że po drugiej stronie ekranu jest konkretna, zidentyfikowana osoba, a nie ktoś podszywający się pod kogoś innego. W praktyce wygląda to tak, że logujesz się do serwisu typu ePUAP, mObywatel, PUE ZUS, e-Urząd Skarbowy właśnie przez profil zaufany (albo bank, który technicznie używa mechanizmu profilu zaufanego). Po zalogowaniu możesz złożyć wniosek o dowód osobisty, zgłosić działalność gospodarczą, sprawdzić punkty karne, wysłać pismo ogólne do urzędu, podpisać elektronicznie dokument urzędowy. Ten podpis nie jest „odręczny”, tylko elektroniczny, ale z punktu widzenia prawa jest wiążący, bo jest połączony z Twoim profilem zaufanym. Moim zdaniem to jest dobry przykład, jak powinno się robić bezpieczeństwo w usługach online: zamiast losowych danych typu imię i nazwisko, używa się centralnego systemu identyfikacji, opartego o silne uwierzytelnianie i protokoły szyfrowania. Dobre praktyki branżowe mówią jasno: autoryzacja do wrażliwych systemów (a takim jest system urzędowy) powinna być oparta na czymś więcej niż tylko dane, które każdy może znać, i powinna być powiązana z mechanizmami logowania dwuskładnikowego oraz zaufaną infrastrukturą państwową. Profil zaufany dokładnie to realizuje i dlatego jest wymagany do załatwiania większości spraw urzędowych online.