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: 22 kwietnia 2026 10:51
  • Data zakończenia: 22 kwietnia 2026 10:59

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Aby zoptymalizować operacje na bazie danych, należy stworzyć indeksy dla pól, które są często wyszukiwane lub sortowane?

A. dodać więzy integralności.
B. utworzyć indeks.
C. dodać klucz obcy.
D. stworzyć osobną tabelę przechowującą tylko te pola.
Indeksowanie to kluczowy mechanizm optymalizacji wydajności baz danych. Indeksy pozwalają na szybsze wyszukiwanie, sortowanie oraz filtrowanie danych, co znacząco poprawia czas reakcji na zapytania. Kiedy tworzymy indeks na kolumnach, które są często używane w klauzulach WHERE, ORDER BY lub JOIN, silnik bazy danych może szybciej zlokalizować potrzebne dane, minimalizując czas przeszukiwania. Na przykład, w bazie danych o dużej liczbie rekordów, wyszukiwanie konkretnego użytkownika bez indeksu może wymagać przeszukania całej tabeli, co jest czasochłonne. W przypadku dodania indeksu do kolumny 'username', zapytanie SELECT * FROM users WHERE username = 'janek' będzie mogło wykorzystać indeks, aby natychmiastowo znaleźć odpowiedni rekord. Zgodnie z dokumentacją SQL Server i MySQL, indeksowanie jest również zalecane w przypadku kolumn, które są często modyfikowane, ponieważ pozwala na utrzymanie wysokiej wydajności przy dużych zbiorach danych. Indeksy mogą być zarówno unikalne, jak i nieunikalne, a ich odpowiednie zaplanowanie jest kluczowe dla zachowania równowagi między szybkością przetwarzania a wydajnością operacji zapisu. Ostatecznie, optymalizacja bazy danych za pomocą indeksów to niezbędny krok dla każdej aplikacji wymagającej efektywnego zarządzania danymi.

Pytanie 2

Jakie języki programowania funkcjonują po stronie serwera?

A. Java, C#, Python, ActionScrip, PHP
B. C#, Python, Ruby, PHP, JavaScript
C. Java, C#, AJAX, Ruby, PHP
D. Java, C#, Python, Ruby, PHP
Języki programowania działające po stronie serwera odgrywają kluczową rolę w tworzeniu dynamicznych aplikacji internetowych, przetwarzaniu danych oraz zarządzaniu bazami danych. Java, C#, Python, Ruby i PHP to popularne języki, które są powszechnie wykorzystywane w backendzie. Java jest znana z jej przenośności i możliwości skalowania, co czyni ją idealnym wyborem dla dużych aplikacji internetowych oraz systemów korporacyjnych. C# z kolei, używany głównie w ekosystemie Microsoftu, jest silnie typowanym językiem, który pozwala na rozwijanie aplikacji w środowisku ASP.NET. Python zyskuje na popularności dzięki swojej prostocie i wszechstronności, a także dzięki frameworkom takim jak Django i Flask, które przyspieszają rozwój aplikacji. Ruby, zwłaszcza w kontekście frameworka Ruby on Rails, oferuje szybkie prototypowanie i tworzenie aplikacji webowych. PHP, mimo że jest starszym językiem, wciąż jest powszechnie używany w tworzeniu stron internetowych, w tym w systemach zarządzania treścią, takich jak WordPress. Te języki spełniają różne standardy branżowe i są dostosowane do różnych potrzeb projektów, co czyni je fundamentami współczesnego rozwoju oprogramowania.

Pytanie 3

Jakie są odpowiednie kroki w odpowiedniej kolejności, które należy podjąć, aby nawiązać współpracę pomiędzy aplikacją internetową po stronie serwera a bazą danych SQL?

A. wybór bazy, zapytanie do bazy, nawiązanie połączenia z serwerem baz danych, wyświetlenie na stronie WWW, zamknięcie połączenia
B. zapytanie do bazy, wybór bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
C. nawiązanie połączenia z serwerem baz danych, wybór bazy, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
D. wybór bazy danych, nawiązanie połączenia z serwerem baz danych, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
Aby nawiązać współpracę między aplikacją internetową a bazą danych SQL, niezbędne jest przestrzeganie odpowiedniej sekwencji kroków. Proces ten rozpoczyna się od nawiązania połączenia z serwerem baz danych, co jest kluczowe, ponieważ bez aktywnego połączenia aplikacja nie ma możliwości komunikacji z bazą. Następnie dokonujemy wyboru konkretnej bazy danych, z którą chcemy pracować. Jest to istotny krok, ponieważ w przypadku serwera mogą istnieć różne bazy, a aplikacja musi wiedzieć, z którą z nich ma się połączyć. Po dokonaniu wyboru bazy następuje wysłanie zapytania do bazy danych, które może być zapytaniem typu SELECT, INSERT, UPDATE, lub DELETE w zależności od potrzeb aplikacji. Po zrealizowaniu zapytania wyniki są przetwarzane i wyświetlane na stronie internetowej. Ostatnim krokiem jest zamknięcie połączenia z bazą danych, co jest ważne dla zarządzania zasobami, zapobiega to wyciekom pamięci i utrzymuje wydajność serwera. Te kroki są zgodne z ogólnymi standardami tworzenia aplikacji webowych i wzorcami projektowymi, jak na przykład architektura MVC, gdzie kontroler jest odpowiedzialny za zarządzanie komunikacją z bazą danych.

Pytanie 4

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

A. pobieranie danych z tabeli
B. usuwanie danych z tabeli
C. tworzenie nowych tabel
D. zmianę danych w 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

Jakiego znacznika używa się do definiowania listy definicji w kodzie HTML?

A. <abbr>
B. <dl>
C. <td>
D. <label>
Znacznik <dl> w HTML, oznaczający 'definition list', jest używany do tworzenia list definicyjnych, które składają się z pary elementów: definicji i terminów. W skład takiej struktury wchodzą dwa kluczowe znaczniki: <dt>, który definiuje termin, oraz <dd>, który dostarcza jego definicję. Użycie tego znacznika pozwala na semantyczne i czytelne przedstawienie informacji, co jest istotne zarówno dla użytkowników, jak i dla wyszukiwarek internetowych. Dobrze skonstruowana lista definicyjna zwiększa dostępność treści oraz poprawia SEO strony, gdyż ułatwia robotom indeksującym zrozumienie kontekstu informacji. Na przykład, jeśli stworzymy listę definicyjną dla terminów związanych z technologią, możemy użyć <dl> do przedstawienia pojęć jak 'HTML', 'CSS', 'JavaScript' oraz ich opisów. W ten sposób przedstawiamy skomplikowane informacje w zorganizowanej formie, co jest rekomendowane przez W3C w dokumentacji dotyczącej HTML5, gdzie podkreśla się znaczenie semantyki w tworzeniu stron internetowych.

Pytanie 6

W CSS zapisana reguła ```css p::first-line {font-size: 150%;} ``` wykorzystana na stronie z wieloma paragrafami, z których każdy składa się z kilku linijek, spowoduje, że

A. pierwsza linia każdego z paragrafów będzie miała większy rozmiar czcionki niż pozostałe linie
B. pierwszy paragraf na stronie będzie miał całą czcionkę powiększoną
C. cały tekst w paragrafie zostanie powiększony o 150%
D. pierwsza linia każdego z paragrafów będzie miała mniejszy rozmiar czcionki niż pozostałe linie
Zapis CSS p::first-line {font-size: 150%;} odnosi się do pseudoelementu ::first-line, który pozwala na stylizację tylko pierwszej linii tekstu w każdym paragrafie. W tym przypadku, gdy stosujemy font-size: 150%, oznacza to, że rozmiar czcionki pierwszej linii każdego paragrafu zostanie zwiększony o 50% w stosunku do domyślnego rozmiaru czcionki ustalonego w CSS. To oznacza, że pierwsza linia będzie wizualnie wyróżniać się na tle pozostałego tekstu, który pozostanie w standardowym rozmiarze czcionki. Stylizowanie pierwszej linii paragrafu jest przydatnym narzędziem w projektowaniu stron internetowych, ponieważ pozwala na zwrócenie uwagi czytelników na istotne fragmenty tekstu, co może wpływać na lepszą czytelność i odbiór treści. Dodatkowo, zgodnie z specyfikacją CSS, użycie pseudoelementów, takich jak ::first-line, jest jednym z sposobów na wprowadzenie estetycznych i funkcjonalnych zmian w tekście bez konieczności modyfikacji HTML. W praktyce, stosując ten styl, można uzyskać efekt, który poprawia hierarchię informacji w tekstach, co jest szczególnie ważne w dłuższych artykułach czy dokumentach.

Pytanie 7

Który z poniższych formatów plików graficznych wspiera przejrzystość?

A. NEF
B. JPG
C. PNG
D. BMP
Format PNG (Portable Network Graphics) jest jednym z najpopularniejszych formatów plików graficznych obsługujących przezroczystość. Jego główną zaletą jest możliwość zachowania kanału alfa, który umożliwia tworzenie obrazów z przezroczystymi elementami. PNG wykorzystuje bezstratną kompresję, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas zapisywania i otwierania pliku. Format ten jest szczególnie ceniony w aplikacjach internetowych, ponieważ pozwala na uzyskanie estetycznych efektów, takich jak cienie, przezroczystość i delikatne przejścia kolorów. Warto również zauważyć, że PNG obsługuje głębię kolorów do 48 bitów, co umożliwia uzyskanie bogatych i szczegółowych obrazów. Standard PNG został opracowany w 1996 roku jako alternatywa dla formatu GIF, który był ograniczony do 256 kolorów oraz nie obsługiwał przezroczystości w sposób, który byłby zadowalający dla projektantów. Dzięki swoim właściwościom, PNG jest szeroko stosowany w grafice komputerowej, w tym w tworzeniu logo, ikon oraz w elementach interfejsów użytkownika, a także w fotografii cyfrowej, gdzie zachowanie jakości jest kluczowe.

Pytanie 8

Tabela o nazwie naprawy zawiera kolumny klient oraz czyNaprawione. Jakie polecenie należy wykonać, aby usunąć te rekordy, w których wartość w kolumnie czyNaprawione jest prawdziwa?

A. DELETE klient FROM naprawy WHERE czyNaprawione= TRUE;
B. DELETE FROM naprawy;
C. DELETE naprawy WHERE czyNaprawione= TRUE;
D. DELETE FROM naprawy WHERE czyNaprawione= TRUE;
Inne odpowiedzi zawierają błędne podejścia do operacji usuwania rekordów z tabeli 'naprawy'. Odpowiedź 'DELETE FROM naprawy;' jest niepoprawna, ponieważ usuwa wszystkie rekordy z tabeli, co jest zdecydowanie niezalecane, chyba że celem jest całkowite opróżnienie tabeli. Niezastosowanie klauzuli WHERE w takim przypadku prowadzi do utraty wszystkich danych, co jest sprzeczne z zasadą minimalizacji utraty danych. Odpowiedź 'DELETE klient FROM naprawy WHERE czyNaprawione= TRUE;' również jest błędna. W SQL nie można używać wyrażenia 'DELETE klient FROM', ponieważ syntaktyka polecenia DELETE nie wymaga wskazania kolumn. Poprawna składnia to po prostu 'DELETE FROM nazwa_tabeli WHERE warunek'. Tego rodzaju błędy syntaktyczne mogą prowadzić do frustracji i problemów w pracy z bazami danych. Ponadto, odpowiedź 'DELETE naprawy WHERE czyNaprawione= TRUE;' jest niewłaściwa, ponieważ również nie zawiera wymaganej frazy 'FROM', co jest kluczowe w kontekście SQL. W SQL, precyzyjne zapisywanie poleceń jest kluczowe, a nieprawidłowe użycie składni prowadzi do błędów wykonania i może zniechęcać do efektywnego korzystania z baz danych. Dlatego ważne jest, aby podczas formułowania poleceń SQL zwracać uwagę na poprawność zarówno semantyczną, jak i syntaktyczną.

Pytanie 9

W języku PHP użyto funkcji is_int). Które z wymienionych wywołań tej funkcji zwróci wartość TRUE?

A. is_int(13.5)
B. is_int(NULL)
C. is_int("135")
D. is_int(135)
Wybór is_int(135) jako poprawnej odpowiedzi jest uzasadniony, ponieważ funkcja is_int w języku PHP służy do sprawdzania, czy zmienna jest typu całkowitego (integer). W tym przypadku 135 jest liczbą całkowitą, co oznacza, że funkcja zwróci wartość TRUE. Użycie is_int w praktyce jest przydatne, gdy chcemy upewnić się, że nasze dane wejściowe są odpowiedniego typu, co jest szczególnie ważne w aplikacjach, gdzie typ danych ma kluczowe znaczenie, na przykład w operacjach matematycznych czy przy interakcji z bazą danych. Dobrą praktyką jest zawsze walidowanie danych, aby uniknąć potencjalnych błędów i zapewnić stabilność aplikacji. Ponadto, w PHP typy są dynamiczne, co sprawia, że błędne typy danych mogą prowadzić do trudnych do zdiagnozowania błędów, dlatego stosowanie is_int może znacząco poprawić jakość kodu i jego bezpieczeństwo. Przykładowo, przed wykonaniem operacji arytmetycznych na wartościach przekazanych z formularza, warto sprawdzić, czy są one typu integer, aby zapobiec niepożądanym zachowaniom programu.

Pytanie 10

Jakie z poniższych warunków logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie 6, 203>?

A. (zm1 > 6) && (zm1 != 203)
B. (zm1 > 6) || (zm1 != 203)
C. (zm1 > 6) || (zm1 <= 203)
D. (zm1 > 6) && (zm1 <= 203)
Odpowiedź (zm1 > 6) && (zm1 <= 203) jest poprawna, ponieważ używa operatora logicznego AND (&&), co oznacza, że oba warunki muszą być spełnione, aby wyrażenie zwróciło wartość prawda (true). Zmienna zm1 musi być większa od 6 oraz jednocześnie mniejsza lub równa 203, co dokładnie definiuje przedział wartości. Takie podejście jest zgodne z najlepszymi praktykami programistycznymi, gdzie ważne jest precyzyjne określenie zakresu wartości. W zastosowaniach praktycznych, na przykład w walidacji danych użytkowników, możemy użyć tego wyrażenia do sprawdzenia, czy wiek wprowadzony przez użytkownika mieści się w dozwolonym zakresie. Warto zrozumieć, że korzystając z operatora AND, eliminujemy przypadki, w których zmienna zm1 byłaby na przykład równa 6 lub 203, co może być istotne w kontekście określonych ograniczeń biznesowych. W programowaniu ważne jest, aby warunki były jasno definiowane, co sprzyja lepszej czytelności kodu oraz minimalizuje ryzyko błędów.

Pytanie 11

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

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

Pytanie 12

Na ilustracji przedstawiono wybór formatu pliku do importu bazy danych. Który format powinien być wykorzystany, jeśli dane zostały wyeksportowane z programu Excel i zapisane jako tekst z użyciem przecinka do oddzielania wartości pól?

Ilustracja do pytania
A. CSV
B. SQL
C. XML
D. ESRI
Format CSV jest powszechnie używany do przechowywania danych tabelarycznych, które są eksportowane z programów takich jak Microsoft Excel. CSV, czyli Comma-Separated Values, wykorzystuje przecinek jako separator pól, co sprawia, że jest idealnym wyborem do importowania danych, które są zapisane w ten sposób. W praktyce, CSV jest niezwykle popularny ze względu na swoją prostotę i szeroką kompatybilność z różnymi systemami baz danych oraz narzędziami analitycznymi. CSV jest formatem tekstowym, co oznacza, że dane są zapisane w formacie, który jest łatwy do odczytania przez ludzi, a jednocześnie można go efektywnie przetwarzać programowo. W branży IT i analizie danych, CSV jest standardem ze względu na łatwość integracji i możliwość pracy z dużymi zestawami danych przy stosunkowo niskim zużyciu zasobów systemowych. Praktycznym przykładem zastosowania CSV jest importowanie listy klientów z programu Excel do systemu CRM. W takim przypadku eksportujemy dane z Excela w formacie CSV, a następnie importujemy je do bazy danych, co pozwala na szybkie i efektywne zarządzanie informacjami o klientach. CSV oferuje również możliwość łatwego manipulowania danymi za pomocą skryptów i narzędzi CLI, co czyni go elastycznym rozwiązaniem w wielu środowiskach IT.

Pytanie 13

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć następującego zapisu

A. p { text-spacing: 30px; }
B. p { line-height: 30px; }
C. p { text-indent: 30px; }
D. p { line-indent: 30px; }
Odpowiedź p { text-indent: 30px; } jest poprawna, ponieważ właściwość text-indent w CSS służy do definiowania wcięcia pierwszej linii tekstu w elemencie blokowym, takim jak akapit (p). Umożliwia to nadanie tekstowi estetycznego wyglądu oraz zwiększenie czytelności, szczególnie w dłuższych blokach tekstu. Wartość 30px oznacza, że pierwsza linia akapitu zostanie przesunięta o 30 pikseli w prawo względem pozostałych linii. Przykładowo, jeśli mamy długi akapit z tekstem, zastosowanie wcięcia może pomóc w wyodrębnieniu go wizualnie, co sprzyja lepszemu zrozumieniu zawartości przez użytkowników. Warto także dodać, że standardy CSS są regularnie aktualizowane, a stosowanie dobrych praktyk, takich jak odpowiednie formatowanie tekstu, ma kluczowe znaczenie w projektowaniu responsywnych i przyjaznych dla użytkownika stron internetowych. Wykorzystanie text-indent jest jedną z technik, które przyczyniają się do poprawy UX (User Experience).

Pytanie 14

Wskaż NIEPRAWIDŁOWE stwierdzenie dotyczące normalizacji dźwięku

A. W wyniku normalizacji następuje wyrównanie poziomu głośności całego nagrania
B. Opcja normalizacja znajduje się w menu programu do edycji dźwięku
C. Normalizacja polega na obniżeniu poziomu najgłośniejszej próbki w sygnale do ustalonej wartości, a następnie proporcjonalnym zwiększeniu głośności pozostałych części sygnału
D. Jeśli najgłośniejszy element dźwięku osiąga połowę skali, wszystko zostanie zwiększone razy dwa - tak, aby najgłośniejszy element dotarł do maksimum na skali
Odpowiedź jest prawidłowa, ponieważ proces normalizacji sygnału dźwiękowego faktycznie polega na dostosowywaniu głośności nagrania w taki sposób, aby najgłośniejszy fragment osiągał maksymalny poziom na skali. W praktyce, jeżeli najgłośniejszy element sygnału osiąga połowę skali, program do obróbki dźwięku zwiększa głośność wszystkich innych fragmentów, aby najgłośniejszy osiągnął pełną głośność. To działanie jest zgodne z powszechnie przyjętymi standardami normalizacji dźwięku, które zapewniają, że nagrania mają spójny poziom głośności, co jest istotne w produkcji audio, aby nie występowały nagłe zmiany głośności pomiędzy różnymi utworami. Normalizacja jest szczególnie przydatna w kontekście przygotowywania materiałów do publikacji, takich jak albumy muzyczne czy podcasty, gdzie istotne jest, by słuchacz nie musiał regulować głośności podczas odtwarzania różnych nagrań. Przykładem może być album muzyczny, gdzie różne utwory mogą mieć różne poziomy nagrania, a normalizacja pozwala na ich wyrównanie w celu uzyskania jednolitego doświadczenia słuchowego.

Pytanie 15

Aby obliczyć liczbę wszystkich wierszy w tabeli Koty, należy zastosować zapytanie:

A. SELECT COUNT(Koty) AS ROWNUM
B. SELECT COUNT(ROWNUM) FROM Koty
C. SELECT ROWNUM() FROM Koty
D. SELECT COUNT(*) FROM Koty
Poprawna odpowiedź to 'SELECT COUNT(*) FROM Koty', ponieważ to standardowy sposób zliczania wszystkich wierszy w tabeli w SQL. Funkcja COUNT(*) zlicza wszystkie wiersze, niezależnie od tego, czy zawierają wartości NULL, czy nie. Jest to najczęściej używana metoda w praktyce, ponieważ zapewnia dokładny wynik i jest także optymalizowana przez silnik baz danych, co czyni ją efektywną. Na przykład, jeśli mamy tabelę 'Koty' zawierającą różne dane o kotach, użycie tego polecenia zwróci dokładną liczbę kotów zapisanych w tej tabeli. Dobrym zwyczajem jest również korzystanie z aliasów lub konstruowania zapytań z dodatkowymi warunkami, co pozwala na bardziej złożoną analizę danych. Przy pracy z dużymi zbiorami danych, zrozumienie jak działa COUNT(*) i jego zastosowanie w kontekście innych funkcji agregujących jest kluczowe dla optymalizacji zapytań. Warto również pamiętać, że w SQL standardowym zliczanie wierszy bezpośrednio z tabeli jest znacznie bardziej efektywne i czytelne niż inne metody, co czyni tę praktykę najlepszą do stosowania w codziennej pracy z bazami danych.

Pytanie 16

Co robi funkcja napisana w języku JavaScript?

function fun1(f)
{
  if(f < 0)
    f = f * (-1);
  return f;
}
A. wypisanie wartości odwrotnej do f
B. zwrócenie wartości odwrotnej do f
C. wypisanie wartości bezwzględnej z f
D. zwrócenie wartości bezwzględnej z f
Funkcja, którą podałeś w JavaScript, ma za zadanie zwrócić wartość bezwzględną z podanego argumentu f. Sprawdza, czy f jest mniejsze od zera, a jeśli tak, to mnoży je przez -1, co w praktyce oznacza, że zmienia znak liczby na dodatni. Jeśli wartość jest już dodatnia, to nic się nie dzieje. To wszystko jest zgodne z tym, jak definiujemy wartość bezwzględną, bo ta zawsze jest równa lub większa od zera. Z mojego doświadczenia, wartości bezwzględne są przydatne w różnych dziedzinach, jak matematyka czy analiza danych, gdzie zależy nam na wartościach liczbowych bez względu na to, czy są dodatnie, czy ujemne. Warto też wspomnieć, że JavaScript ma wbudowaną funkcję Math.abs(), która robi to samo i jest to naprawdę dobry wybór, bo ułatwia zrozumienie kodu i zmniejsza ryzyko błędów. Tworzenie takiej funkcji, jak w Twoim zadaniu, to świetny sposób na lepsze poznanie działania języka i manipulowania danymi.

Pytanie 17

Kiedy zakończy się wykonanie poniższego fragmentu kodu w języku C/C++, do zmiennej zwanej zmienna2 zostanie przypisane:

...
int zmienna1 = 158;
int *zmienna2 = &zmienna1;
A. przypisany adres zmiennej o nazwie zmienna1
B. przypisana zamieniona na łańcuch wartość przechowywana w zmienna1
C. przypisana ta sama wartość, co przechowywana w zmienna1
D. przypisana liczba w kodzie binarnym odpowiadająca wartości przechowywanej w zmienna1
Odpowiedź jest prawidłowa, ponieważ w języku C/C++ symbol '&' używany przed nazwą zmiennej wskazuje na operator adresu, co oznacza, że zwraca adres w pamięci, pod którym przechowywana jest dana zmienna. W przedstawionym kodzie zmienna1 jest typu int i przechowuje wartość 158. Deklaracja int *zmienna2 oznacza, że zmienna2 jest wskaźnikiem na typ int. Przypisanie &zmienna1 do zmiennej2 powoduje, że zmienna2 przechowuje adres zmiennej1. Jest to podstawowa praktyka w programowaniu wskaźników, co umożliwia efektywne zarządzanie pamięcią, modyfikację danych w ich pierwotnym miejscu oraz tworzenie dynamicznych struktur danych jak listy czy drzewa. Wskaźniki są nieodłącznym elementem niskopoziomowego programowania, szczególnie w aplikacjach wymagających optymalizacji zasobów. Dobrą praktyką jest zawsze inicjalizować wskaźniki przed ich użyciem oraz unikać błędów typu odwołania do adresów NULL. Zrozumienie mechanizmu działania wskaźników jest kluczowe dla każdego programisty C/C++ i stanowi fundament dla zaawansowanych technik programistycznych.

Pytanie 18

Mamy do czynienia z tablicą o nazwie tab, która zawiera liczby całkowite różniące się od zera. Zawarty w języku PHP kod ma na celu:

foreach ($tab as &$liczba)
    $liczba = $liczba * (-1);
unset($liczba);
A. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
B. przekształcić elementy tablicy na wartości zapisane w zmiennej liczba
C. obliczyć wartość bezwzględną elementów tej tablicy
D. wyliczenie iloczynu wszystkich wartości w tablicy
Odpowiedź jest prawidłowa, ponieważ przedstawiony kod w języku PHP używa pętli foreach do iteracji po tablicy o nazwie tab. Dzięki zastosowaniu operatora & przed nazwą zmiennej $liczba, zmienna ta jest przekazywana przez referencję. Oznacza to, że każda modyfikacja dokonywana na zmiennej $liczba wpływa bezpośrednio na odpowiedni element tablicy. Wewnątrz pętli każda liczba w tablicy jest mnożona przez -1, co skutkuje zmianą jej znaku na przeciwny. W praktyce taka operacja jest powszechnie stosowana, gdy istnieje potrzeba szybkiej zmiany wszystkich wartości w strukturze danych na ich negatywne odpowiedniki, na przykład w algorytmach matematycznych lub finansowych. Istotnym aspektem jest również unikanie modyfikacji oryginalnych danych, co jest kluczowe w procesie przetwarzania danych. Po zakończeniu pętli unset($liczba) usuwa referencję, aby uniknąć niepożądanych efektów ubocznych. Takie podejście jest zgodne z dobrymi praktykami programowania, które kładą nacisk na zarządzanie pamięcią i poprawność danych.

Pytanie 19

W zaprezentowanym fragmencie kodu HTML zdefiniowano pole input, które można opisać jako

<input type="password" name="pole">
A. dopuszcza jedynie wprowadzanie wartości liczbowych
B. zawiera domyślny tekst „pole”
C. ukrywa znaki, które zostały do niego wprowadzone
D. pokazuje znaki, które zostały do niego wprowadzone
Pole input z atrybutem type="password" służy do wprowadzania danych, które powinny być ukryte przed wglądem osób trzecich, takich jak hasła. Wprowadzone znaki są zastępowane na ekranie innymi symbolami, najczęściej kropkami lub gwiazdkami, co zabezpiecza przed odczytem hasła przez osoby patrzące na ekran. Ten mechanizm jest standardem w aplikacjach webowych, dbającym o bezpieczeństwo użytkowników. W praktyce, pola typu password są używane w formularzach logowania oraz rejestracji, gdzie ochrona danych osobowych i wrażliwych jest priorytetem. Ważne jest również, aby takie pola były osadzone w bezpiecznych kontekstach, np. na stronach korzystających z protokołu HTTPS, co zapewnia szyfrowanie przesyłanych informacji. Ponadto, deweloperzy powinni stosować się do dobrych praktyk, takich jak implementacja mechanizmów zapobiegających atakom typu shoulder surfing poprzez odpowiednie umiejscowienie i stylowanie pól password. Warto również pamiętać o testowaniu funkcjonalności takich pól, aby upewnić się, że ukrywanie znaków działa prawidłowo na różnych urządzeniach i przeglądarkach, co jest kluczowe w zapewnieniu spójnego doświadczenia użytkownika oraz zachowania bezpieczeństwa.

Pytanie 20

W systemach bazodanowych, aby przedstawić dane, które spełniają określone kryteria, należy stworzyć

A. raport
B. formularz
C. relację
D. makropolecenie
Raport w kontekście baz danych to coś, co naprawdę pomaga w uporządkowanej prezentacji danych. Dzięki niemu możemy pokazać informacje w taki sposób, żeby było to zrozumiałe i zgodne z tym, czego potrzebujemy. Raporty to świetne narzędzie do zbierania danych, ich analizy i wizualizacji, co jest bardzo ważne w biznesie. Na przykład, można za ich pomocą stworzyć zestawienie sprzedaży za dany okres, porównać finanse różnych działów firmy albo sprawdzić, jak skuteczne były kampanie marketingowe. W praktyce często korzysta się z takich raportów w programach jak Microsoft Access, gdzie można wybrać źródło danych, odpowiednie pola i ustawić filtry. To wszystko po to, żeby stworzyć dokument, który jasno przedstawia wyniki analizy. Warto pamiętać, że tworzenie raportów powinno opierać się na dobrych zasadach, takich jak czytelność i estetyka, a także dostosowanie do potrzeb użytkownika, bo to naprawdę się liczy, jeśli chodzi o UX.

Pytanie 21

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

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

Pytanie 22

Które z pól są umieszczone w formularzu?





Studia podyplomowe Kurs

A. Textarea, Option, Input(Checkbox), Input(Checkbox), Input (Submit), Input(Reset)
B. Textarea, Select, Input(Radio), Input(Radio), Input(Reset), Input(Submit)
C. Input(Text), Select, Input(Radio), Input(Radio), Input (Submit), Input(Reset)
D. Input(Text), Input(Checkbox), Select, Select, Input(Submit), Input(Reset)
Twoja odpowiedź sugeruje pewne nieporozumienia co do typów pól używanych w formularzach html. Przykładowo, Textarea to pole wieloliniowego tekstu, które nie zostało użyte w tym formularzu. Podobnie, Element Option jest zazwyczaj używany wewnątrz elementu Select i nie jest samodzielnym polem formularza. Co więcej, Input(Checkbox) to pole wyboru, które pozwala na zaznaczenie wielu opcji. W tym formularzu, używane są przyciski wyboru (Input(Radio)), które są podobne, ale pozwalają tylko na wybór jednej opcji. Wreszcie, należy pamiętać, że nie wszystkie formularze muszą zawierać wszystkie typy pól. Różne typy pól są używane w zależności od tego, jakiego rodzaju informacje chcemy zebrać. Ważne jest, aby zrozumieć różnice między nimi i kiedy ich używać, aby stworzyć skuteczny formularz, który będzie łatwy do wypełnienia dla użytkowników i będzie zbierał potrzebne informacje.

Pytanie 23

W zamieszczonym przykładzie pseudoklasa hover sprawi, że styl pogrubiony będzie przypisany

a:hover { font-weight: bold; }
A. wszystkim odnośnikom nieodwiedzonym.
B. każdemu odnośnikowi niezależnie od aktualnego stanu.
C. odnośnikowi, w momencie kiedy najechał na niego kursor myszy.
D. wszystkim odnośnikom odwiedzonym.
Twoja odpowiedź jest prawidłowa. Pseudoklasa :hover w CSS jest używana do stylizacji elementów, na które najechał kursor myszy. Na przykład, jeżeli użyjemy stylu 'font-weight: bold;' z pseudoklasą :hover, tekst odnośnika stanie się pogrubiony tylko wtedy, kiedy na niego najedziemy kursorem. Jest to bardzo przydatne w interaktywnym designie strony internetowej, gdzie możemy w prosty sposób zasygnalizować użytkownikowi, że dany element jest aktywny lub interaktywny. Pamiętaj, że pseudoklasy w CSS są potężnym narzędziem, które pozwala nam na tworzenie zaawansowanych efektów bez konieczności użycia JavaScriptu. Znajomość i umiejętność wykorzystania pseudoklas jest zatem kluczową umiejętnością każdego front-end developera.

Pytanie 24

Dostępna jest tabela zatytułowana wycieczki, zawierająca kolumny nazwa, cena oraz miejsca (jako liczba dostępnych miejsc). Aby wyświetlić jedynie nazwy wycieczek, których cena jest poniżej 2000 złotych oraz posiadają co najmniej cztery dostępne miejsca, należy zastosować zapytanie

A. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
B. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
C. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
D. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
Zapytania, które nie były prawidłowe, operują na istotnych nieporozumieniach związanych z użyciem operatorów logicznych oraz z określeniem liczby wolnych miejsc. Przykłady te często wykorzystują operator OR, co prowadzi do sytuacji, w której jeden z warunków może być spełniony, a drugi nie. W szczególności, użycie operatora OR w kontekście zadań, które wymagają spełnienia obu warunków, prowadzi do nieprawidłowych wyników. Na przykład, zapytanie z OR zwróci wszystkie wycieczki, które mają cenę poniżej 2000 zł, niezależnie od tego, ile mają wolnych miejsc, co może skutkować wyświetleniem wycieczek, które w ogóle nie spełniają kryteriów dostępności. Dodatkowo, w jednym z zapytań zastosowano niewłaściwą wartość dla ilości wolnych miejsc - 'miejsca > 3' zamiast 'miejsca > 4', co również prowadzi do nieścisłości. Zmiana wartości progowej nie uwzględnia wymogu, by wycieczki miały przynajmniej cztery wolne miejsca, tym samym zmieniając sens zapytania. Kluczowym błędem jest zatem zrozumienie, że w kontekście filtrowania danych w bazie, zarówno operator AND, jak i precyzyjne określenie wartości granicznych są niezbędne dla uzyskania poprawnych i użytecznych wyników.

Pytanie 25

Do tabeli pracownicy wpisano rekordy. Co zostanie wyświetlone po uruchomieniu kwerendy SQL SELECT podanej poniżej?

SELECT SUM(pensja) FROM pracownicy WHERE pensja > 4000;
idimienazwiskopensja
1AnnaKowalska3400
2MonikaNowak1300
3EwelinaNowakowska2600
4AnnaPrzybylska4600
5MariaKowal2200
6EwaNowacka5400
A. Dwie wartości: 4600 i 5400, jako pensje pracowników wyższe niż 4000.
B. Wartość 5400, czyli najwyższa pensja pracownika.
C. Wartość 10000, czyli suma pensji pracownika o id=4 oraz o id=6.
D. Wartość 19500, czyli suma wszystkich pensji pracowników.
Niestety, twoja odpowiedź nie jest poprawna. W przypadku tej konkretnej kwerendy, została użyta funkcja agregująca SUM(), która zwraca sumę wartości dla określonego zestawu wierszy, nie jednak wartości indywidualne. Dlatego odpowiedź mówiąca o wyświetleniu dwóch wartości jako pensje pracowników wyższych niż 4000 jest niepoprawna - kwerenda agregująca nie zwróci wartości indywidualnych. Odpowiedź mówiąca o wyświetleniu sumy wszystkich pensji pracowników jest również błędna, ponieważ w kwerendzie jest zastosowany warunek WHERE, który ogranicza zestaw danych do tych, gdzie pensja przekracza 4000. Wyświetlenie najwyższej pensji pracownika również nie jest poprawne, ponieważ nie została użyta funkcja MAX, która zwraca najwyższą wartość w zestawie. Kluczowe jest zrozumienie, jak działają różne operatory i funkcje w SQL i kiedy ich używać. W tym przypadku funkcja SUM() zastosowana do kolumny 'pensja' zwraca sumę pensji dla pracowników, którzy zarabiają więcej niż 4000.

Pytanie 26

Jak można zaznaczyć komentarz w kodzie PHP?

A. <!-- …. -->
B. /* … */
C. /? … ?/
D. <? … ?>
Komentarze w kodzie PHP można umieszczać za pomocą znaków /* … */. Jest to standardowy sposób na dodawanie notatek, które są ignorowane przez interpreter PHP. Komentarze wieloliniowe są szczególnie przydatne w przypadku, gdy chcemy opisać większe fragmenty kodu lub wyłączyć sekcje kodu bez ich usuwania. Na przykład, możemy umieścić w komentarzach informacje o autorze, dacie powstania lub szczegóły dotyczące funkcjonalności danej funkcji. Dobrą praktyką jest również dokumentowanie ważnych informacji dotyczących zmiennych czy parametrów funkcji, co ułatwia przyszłą konserwację kodu. Warto pamiętać, że użycie komentarzy jest kluczowe w pracy zespołowej lub w projektach długoterminowych, gdzie zrozumienie kodu przez innych programistów może być kluczowe dla sukcesu projektu. Ponadto, stosowanie komentarzy zgodnie z dobrymi praktykami programowania zwiększa czytelność kodu i ułatwia jego późniejsze modyfikacje oraz debugowanie.

Pytanie 27

Jakie znaki <header>, <article>, <section>, <footer> są typowe dla tego języka?

A. HTML 4.01 Transitional
B. HTML 4.01 Strict
C. XHTML 1.1
D. HTML 5
Znaczniki <header>, <article>, <section>, <footer> są częścią specyfikacji HTML5, która wprowadziła bardziej semantyczne podejście do strukturyzacji dokumentów webowych. Te elementy umożliwiają programistom tworzenie bardziej przejrzystych i zrozumiałych dokumentów, zarówno dla ludzi, jak i dla maszyn. Na przykład, znacznik <header> definiuje nagłówek strony lub sekcji, <article> służy do oznaczania samodzielnych treści, które mogą być niezależnie dystrybuowane, <section> grupuje powiązane tematycznie elementy, a <footer> zawiera informacje o końcu strony lub sekcji. Użycie tych znaczników ma kluczowe znaczenie dla SEO, ponieważ wyszukiwarki mogą lepiej zrozumieć strukturę treści na stronie. Dodatkowo, zastosowanie tych elementów wspiera dostępność, ułatwiając nawigację osobom korzystającym z czytników ekranu. W praktyce, stosując te znaczniki, programiści tworzą bardziej uporządkowane i zrozumiałe strony, co jest zgodne z najlepszymi praktykami w branży.

Pytanie 28

W katalogu www znajdują się podkatalogi html oraz styles, w których umieszczone są pliki o rozszerzeniu html oraz pliki z rozszerzeniem css. Aby dołączyć styl.css do pliku HTML, należy zastosować

A. <link rel="Stylesheet" type="text/css" href="/style/styl.css" />
B. <link rel="Stylesheet" type="text/css" href="styl.css" />
C. <link rel="Stylesheet" type="text/css" href="../style/styl.css" />
D. <link rel=" Stylesheet" type="text/css" href="www/style/styl. css" />
Przy analizie pozostałych odpowiedzi można dostrzec pewne powszechne błędy w rozumieniu ścieżek do zasobów w dokumentach HTML. W pierwszej odpowiedzi, użycie ścieżki 'www/style/styl.css' sugeruje, że autor zakłada, że jest to pełna ścieżka dostępu, co jest mylące, ponieważ taka ścieżka nie jest względna w kontekście pliku HTML znajdującego się w folderze 'html'. Ponadto, użycie dużych liter w atrybucie 'rel' (np. 'Stylesheet') jest niepoprawne, ponieważ HTML jest językiem case-insensitive, lecz konwencjonalnie zaleca się używanie małych liter. Druga odpowiedź, wskazująca na '/style/styl.css', implikuje, że 'style' jest umiejscowione w katalogu głównym serwera, co również jest błędne w kontekście podanej struktury folderów. Takie podejście jest typowym błędem przy zrozumieniu relatywnych i bezwzględnych ścieżek URL. Ostatnia odpowiedź, 'styl.css', zakłada, że plik CSS znajduje się w tym samym folderze co plik HTML, co nie odpowiada rzeczywistości w przedstawionym układzie folderów. Wszyscy, którzy pracują nad projektami webowymi, muszą zrozumieć, jak ważne jest precyzyjne określenie lokalizacji zasobów, ponieważ błędy te mogą prowadzić do ładowania nieprawidłowych plików, co w efekcie negatywnie wpływa na wygląd i funkcjonalność strony. Wiedza na temat struktury folderów oraz umiejętność nawigacji po nich jest kluczowym elementem w pracy programisty.

Pytanie 29

Walidator W3C zgłosił błąd walidacji: Zakończony tag p został znaleziony, jednak były otwarte elementy. Który element kodu to dotyczy?

A. <p>Ala ma <b>kota</p></b>
B. <p>Ala ma <b>kota</b></p>
C. <p>Ala ma kota
D. <p>Ala ma kota</p>
Wybrana odpowiedź odnosi się do sytuacji, w której niepoprawnie zamknięto elementy HTML. W niniejszym przykładzie, tag <b> otwarty przed tagiem <p> jest niepoprawnie zamknięty w złą stronę. Poprawny kod HTML powinien najpierw zamknąć element <b>, zanim zamknie element <p>. Oznacza to, że powinien on wyglądać tak: <p>Ala ma <b>kota</b></p>. Standardy W3C, które dotyczą walidacji HTML, podkreślają znaczenie poprawnego zagnieżdżania elementów. Gdy nieprzestrzegamy tej zasady, pojawią się błędy walidacji, co może prowadzić do problemów z wyświetlaniem strony lub interpretacją przez przeglądarki. Zrozumienie zasad poprawnego zagnieżdżania elementów HTML jest kluczowe, aby tworzyć strony internetowe, które są zarówno semantyczne, jak i dostępne. Dlatego ważne jest, by zawsze zwracać uwagę na poprawną strukturę kodu HTML, co zwiększa jego wydajność i użyteczność.

Pytanie 30

Wskaż kod CSS odpowiadający układowi bloków 2 - 5, zakładając, że są one zbudowane w oparciu o przedstawiony kod HTML.

BLOK 1
BLOK 2BLOK 3BLOK 4
BLOK 5
<div id="pierwszy">BLOK 1</div>
<div id="drugi">BLOK 2</div>
<div id="trzeci">BLOK 3</div>
<div id="czwarty">BLOK 4</div>
<div id="piaty">BLOK 5</div>

Kod 1.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  clear: both;
  width: 30%;
}
Kod 2.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  float: left;
  width: 30%;
}
Kod 3.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
Kod 4.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
A. Kod 3.
B. Kod 4.
C. Kod 2.
D. Kod 1.
Brawo, twoja odpowiedź jest poprawna. Wybrałeś Kod 2, co jest zgodne z układem bloków na diagramie. Przy analizie kodu CSS, musimy zwrócić uwagę na różne aspekty, takie jak pozycja, szerokość i kolejność bloków. W tym przypadku, blok o id 'drugi' jest umieszczony po lewej stronie i zajmuje 40% szerokości, co jest zgodne z diagramem. Bloki 'trzeci' i 'czwarty' są odpowiednio po lewej i prawej stronie z szerokością 30%, a blok 'piąty' jest umieszczony na dole i zajmuje 30% szerokości. To wszystko odpowiada układowi bloków na diagramie. Kiedy tworzysz strony internetowe, ważne jest, aby zrozumieć i umieć manipulować kodem CSS, aby uzyskać pożądany układ strony. Pamiętaj, że praktyka i doświadczenie są kluczowe do zrozumienia jak kod CSS wpływa na układ i stylizację elementów strony.

Pytanie 31

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").style.background-color = "blue";
B. document.getElementById("jeden").background-color = "blue";
C. document.getElementById("jeden").style.color = "blue";
D. document.getElementById("jeden").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 32

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

A. Dokument został zapisany w wersji HTML 4
B. W dokumencie wszystkie tagi są zapisane wielkimi literami
C. Dokument został zapisany w wersji HTML 5
D. W dokumencie wymagane jest zamknięcie każdego taga, nawet samozamykającego
Wszystkie niepoprawne odpowiedzi opierają się na nieprawidłowych założeniach dotyczących definicji i funkcji deklaracji typu dokumentu (DOCTYPE). Odpowiedź sugerująca, że dokument został zapisany w HTML 4, ignoruje fakt, że HTML 5 jest wersją, która wprowadza wiele istotnych zmian oraz nowych elementów w porównaniu do starszych wersji. HTML 4 był szeroko stosowany, ale obecnie jest przestarzały, a jego zastosowanie nie jest zgodne z nowoczesnymi praktykami. Kolejna odpowiedź, która stwierdza, że wszystkie znaczniki w dokumencie muszą być zapisane wielkimi literami, jest błędna, ponieważ HTML jest językiem, który nie jest wrażliwy na wielkość liter. Znaczniki mogą być zapisywane zarówno małymi, jak i wielkimi literami, co jest zgodne z zasadami dobrych praktyk, które zalecają stosowanie małych liter dla większej czytelności. Wreszcie, stwierdzenie, że każdy znacznik musi być zamykany, jest również mylne, ponieważ HTML 5 wprowadza elementy samozamykające, takie jak <br> czy <img>, które nie wymagają zamknięcia. Zrozumienie tych różnic jest kluczowe dla efektywnego posługiwania się HTML i tworzenia poprawnych dokumentów webowych.

Pytanie 33

Jakim systemem do zarządzania wersjami oprogramowania jest

A. Eclipse
B. FileZilla
C. TotalCommander
D. GIT
TotalCommander, Eclipse i FileZilla to popularne narzędzia, które służą do innych celów w procesie tworzenia oprogramowania, ale nie są systemami kontroli wersji. TotalCommander jest menedżerem plików, który ułatwia nawigację i zarządzanie plikami na komputerze, jednak nie oferuje funkcji śledzenia zmian w kodzie czy współpracy zespołowej. Eclipse to zintegrowane środowisko programistyczne (IDE), które wspiera rozwój aplikacji, ale nie pełni roli systemu kontroli wersji, chociaż może korzystać z różnych systemów kontroli wersji za pomocą odpowiednich wtyczek. FileZilla to klient FTP, który umożliwia przesyłanie plików na serwery, co również nie ma związku z kontrolą wersji. Często mylnie przyjmuje się, że narzędzia związane z zarządzaniem plikami czy programowaniem mogą zastępować systemy kontroli wersji, co jest błędnym podejściem. Systemy kontroli wersji, takie jak GIT, są zaprojektowane z myślą o zarządzaniu zmianami w kodzie źródłowym, co jest kluczowe w nowoczesnym procesie wytwarzania oprogramowania. Ignorowanie tej specyfikacji i nieodróżnianie narzędzi do zarządzania plikami od systemów kontroli wersji może prowadzić do problemów w organizacji pracy zespołu oraz utraty wydajności w projektach.

Pytanie 34

Która z poniższych instrukcji jest równoważna z poleceniem switch w języku PHP?

switch ($liczba) {
    case 10:
    case 20: $liczba++; break;
    default: $liczba = 0;
}

Instrukcja 1.
if ($liczba==10)
    $liczba++;
else
    $liczba = 0;

Instrukcja 2.
if ($liczba==10 or $liczba==20)
    $liczba++;
else
    $liczba = 0;

Instrukcja 3.
if ($liczba==10 or $liczba==20)
    $liczba++;

Instrukcja 4.
if ($liczba==10 and $liczba==20)
    $liczba++;
else
    $liczba = 0;
A. Polecenie 4
B. Polecenie 3
C. Polecenie 1
D. Polecenie 2
Instrukcje warunkowe if-else są często używane w programowaniu do kontrolowania przepływu programu na podstawie wartości logicznych. W kontekście podanego pytania, istotne jest zrozumienie, jak różne operatory logiczne wpływają na działanie tych instrukcji. Instrukcja 1 zakłada, że zmienna $liczba musi być równa 10, by wykonać operację inkrementacji, co nie jest zgodne z oryginalnym kodem switch, ponieważ pomija wartość 20. Taka interpretacja mogłaby prowadzić do błędów w sytuacjach, gdzie obie wartości są dopuszczalne. Instrukcja 3 używa operatora or, co wydaje się poprawne, ale brak bloku else powoduje brak możliwości przypisania wartości 0 w sytuacjach, gdy $liczba nie wynosi 10 ani 20. To oznacza niekompletność logiczną i potencjalne błędy. Instrukcja 4 stosuje operator and, co wymaga, aby $liczba jednocześnie wynosiła 10 i 20, co jest logicznie niemożliwe w tym kontekście, prowadząc do nieprawidłowego działania. Taka nieprawidłowa logika może być wynikiem błędnego zrozumienia warunków logicznych, co jest częstym problemem wśród początkujących programistów. Zrozumienie różnic między tymi operatorami jest kluczowe dla tworzenia poprawnych i efektywnych konstrukcji warunkowych w dowolnym języku programowania, w tym w PHP. Poprawne użycie instrukcji if-else oraz operatorów logicznych jest fundamentem wielu aplikacji, a błędy mogą prowadzić do nieprzewidywalnego działania programu.

Pytanie 35

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 3
B. 7
C. 5
D. 15
Analizując pozostałe odpowiedzi, można zauważyć, że wszystkie one są wynikiem błędnego rozumienia działania algorytmu. Odpowiedź 3 wynika z mylnego założenia, że N po pierwszej iteracji to ostateczna wartość. Przy pierwszej iteracji N wynosi 3, ale w kolejnych iteracjach ulega dalszym modyfikacjom. Odpowiedź 5 może pochodzić z błędnego dodania 1 do wartości N po pierwszej iteracji, co prowadzi do niepełnego zrozumienia pętli. Wartość 7 jest wynikiem niepoprawnego obliczenia po drugiej iteracji, gdy Z wynosi 2, jednak nie uwzględnia trzeciej iteracji. Wszystkie te odpowiedzi ilustrują typowe błędy w logice algorytmicznej, gdzie użytkownicy nie śledzą zmian wartości zmiennych w kolejnych krokach pętli. Kluczowe jest zrozumienie, że każda iteracja pętli wpływa na wynik końcowy poprzez modyfikację zmiennych, co jest niezbędne w programowaniu. Często popełnianym błędem jest zatrzymywanie się na etapie, na którym zmienna wydaje się mieć odpowiednią wartość, co prowadzi do nieuwzględnienia kolejnych obliczeń. Efektywne programowanie wymaga pełnego zrozumienia logiki pętli, a także umiejętności przewidywania dalszych zmian w zmiennych.

Pytanie 36

Jakie polecenie należy zastosować, aby cofnąć uprawnienia przyznane użytkownikowi?

A. DROP PRIVILEGES
B. GRANT NO PRIVILEGES
C. REVOKE
D. REMOVE
Polecenie REVOKE jest standardowym poleceniem w systemach zarządzania bazami danych, które służy do odebrania wcześniej przyznanych uprawnień użytkownikowi. Używając tego polecenia, administrator może skutecznie kontrolować dostęp do różnych zasobów w bazie danych. Na przykład, jeśli użytkownik A otrzymał uprawnienia do edytowania danych w tabeli 'Zamówienia', a administrator postanowi, że użytkownik A nie powinien mieć już takich uprawnień, może użyć polecenia REVOKE, aby je odebrać. W praktyce użycie REVOKE wygląda następująco: "REVOKE UPDATE ON Zamówienia FROM 'użytkownikA'". Dzięki temu podejściu administratorzy mogą zapewnić, że dostęp do wrażliwych danych jest odpowiednio zarządzany i zgodny z zasadami bezpieczeństwa danych. Dobrą praktyką jest regularne przeglądanie przyznanych uprawnień i ich aktualizacja w zależności od zmieniających się potrzeb organizacji oraz polityki zarządzania dostępem.

Pytanie 37

W kodzie HTML stworzono link do strony internetowej. Aby otworzyć tę stronę w nowym oknie lub zakładce przeglądarki, należy dodać do definicji linku atrybut

<a href="http://google.com" >strona Google</a>
A. rel = "next"
B. rel = "external"
C. target = "_parent"
D. target = "_blank"
Atrybut target w języku HTML służy do określenia, w jaki sposób ma otworzyć się dokument, do którego prowadzi odnośnik. Użycie wartości '_blank' dla atrybutu target jest standardowym sposobem na otwarcie nowej strony w nowym oknie lub zakładce przeglądarki. Przykład zastosowania to: <a href="http://google.com" target="_blank">strona Google</a>. Jest to niezwykle przydatne w kontekście UX, ponieważ pozwala użytkownikom na łatwe porównanie informacji bez utraty dostępu do oryginalnej strony. Warto również zauważyć, że użycie tego atrybutu jest zgodne z najlepszymi praktykami w tworzeniu stron internetowych, gdyż umożliwia użytkownikom zachowanie kontekstu przeglądania. W HTML5 atrybut target pozostaje wspierany, co czyni go istotnym elementem w projektowaniu interfejsów użytkownika. Oprócz '_blank' istnieją inne wartości, takie jak '_self', '_parent' i '_top', które również spełniają różne funkcje w zależności od potrzeb nawigacyjnych w aplikacji webowej.

Pytanie 38

Aby na witrynie internetowej pokazać logo z przezroczystym tłem, należy użyć formatu

A. BMP
B. PNG
C. CDR
D. JPG
Wybór nieodpowiedniego formatu pliku do wyświetlania logo na stronie internetowej może prowadzić do wielu problemów wizualnych i technicznych. Format JPG (JPEG) jest popularnym wyborem dla zdjęć, jednak nie obsługuje przezroczystości. Użycie JPG do logo z przezroczystym tłem skutkuje tym, że tło zostanie zamienione na białe lub inny kolor, co może zakłócać harmonię wizualną strony. Z kolei format CDR (CorelDRAW) jest formatem wektorowym używanym głównie w profesjonalnym oprogramowaniu graficznym. Choć CDR świetnie nadaje się do projektowania, nie jest odpowiedni do użycia na stronie WWW, ponieważ przeglądarki internetowe nie obsługują tego formatu bezpośrednio. Ostatecznie, BMP (Bitmap) to format używany do przechowywania bitmap, ale charakteryzuje się dużymi rozmiarami plików i brakiem obsługi przezroczystości. Pliki BMP są mniej efektywne w sieci, ponieważ zajmują więcej miejsca, co spowalnia ładowanie strony. Wybór odpowiedniego formatu jest kluczowy dla zapewnienia estetyki i funkcjonalności witryny, więc ważne jest, aby zrozumieć różnice między formatami i ich zastosowania w praktyce. Prawidłowe podejście do wyboru formatu pliku umożliwia nie tylko zachowanie jakości grafiki, ale również poprawia doświadczenia użytkowników, co jest istotnym elementem każdej strategii projektowania stron internetowych.

Pytanie 39

Na serwerze MySQL do odebrania praw użytkownikowi służy polecenie

A. GRANT
B. REVOKE
C. CREATE
D. RENAME
Poprawna komenda do odebrania uprawnień użytkownikowi w MySQL to REVOKE i warto ją sobie dobrze zakodować w głowie, bo w administracji bazą używa się jej naprawdę często. Składnia w najprostszym wariancie wygląda np. tak: REVOKE SELECT, INSERT ON baza.tabela FROM 'user'@'localhost'; – tutaj odbierasz konkretne prawa (SELECT, INSERT) do wskazanej tabeli danemu użytkownikowi. Można też odebrać wszystkie uprawnienia: REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';, co jest przydatne, gdy chcesz „odciąć” konto od bazy, ale jeszcze go nie usuwać. Z mojego doświadczenia lepiej jest właśnie ograniczać i porządkować uprawnienia, niż od razu kasować użytkowników, bo często wracasz do tych kont np. w środowisku testowym. W MySQL cały mechanizm praw opiera się na parze GRANT/REVOKE: GRANT nadaje uprawnienia, REVOKE je odbiera. To jest zgodne z dobrymi praktykami bezpieczeństwa – minimalny dostęp, tylko tyle, ile jest faktycznie potrzebne (zasada least privilege). W realnych projektach webowych np. aplikacja PHP powinna mieć konto w MySQL z ściśle ograniczonym zakresem operacji, a gdy zmienia się rola aplikacji, zamiast tworzyć nowe konto „na pałę”, lepiej doprecyzować lub cofnąć stare uprawnienia właśnie przez REVOKE. Warto też pamiętać, że po większych zmianach praw dobrze jest wykonać FLUSH PRIVILEGES w starszych wersjach MySQL lub po modyfikacjach bezpośrednio w tabelach systemowych, chociaż standardowo przy GRANT/REVOKE nie jest to już konieczne. Moim zdaniem opanowanie REVOKE to podstawa świadomej administracji serwerem bazodanowym, szczególnie gdy mówimy o środowiskach produkcyjnych, gdzie każdy nadmiarowy przywilej może być potencjalnym zagrożeniem.

Pytanie 40

Której kwerendy SQL należy użyć, aby utworzyć tabelę samochod z atrybutami marka, model, cena, gdzie marka i model są typu tekstowego, natomiast cena jest liczbą rzeczywistą typu stałoprzecinkowego?

A. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena FLOAT);
B. CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));
C. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena DOUBLE);
D. CREATE TABLE samochod (marka INT(30), model INT(30), cena DECIMAL(2,15));
Poprawna kwerenda używa składni CREATE TABLE z listą kolumn i ich typów danych: CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));. To dokładnie odpowiada treści zadania. Atrybuty marka i model są typu tekstowego, więc zastosowano CHAR(30) – stałej długości łańcuch znaków. W praktyce w wielu projektach częściej używa się VARCHAR zamiast CHAR (bo oszczędza miejsce przy krótszych napisach), ale użycie CHAR(30) jest jak najbardziej poprawne i zgodne ze składnią SQL. Kluczowy jest tu typ ceny. W zadaniu jest mowa o liczbie rzeczywistej typu stałoprzecinkowego, czyli takiej, która przechowuje część ułamkową, ale w sposób dokładny, a nie przybliżony. Do tego właśnie służy DECIMAL(p,s) (lub NUMERIC), gdzie p to precyzja (łączna liczba cyfr), a s to skala (liczba cyfr po przecinku). DECIMAL(15,2) oznacza liczbę z maksymalnie 15 cyframi, z czego 2 po przecinku, czyli świetnie nadaje się np. do przechowywania cen w złotówkach i groszach: 1234567890123,45 mieści się w takim typie. To jest standardowa, dobra praktyka w systemach finansowych, sklepach internetowych, systemach magazynowych itp., bo unikamy błędów zaokrągleń charakterystycznych dla typów zmiennoprzecinkowych jak FLOAT czy DOUBLE. W realnych bazach danych (MySQL, PostgreSQL, SQL Server) kolumny z cenami, stawkami VAT, rabatami procentowymi prawie zawsze definiuje się właśnie jako DECIMAL z odpowiednią skalą, a nie jako typy binarne zmiennoprzecinkowe. Warto też zauważyć, że prawidłowa składnia CREATE TABLE nie używa słowa VALUES przy definiowaniu struktury tabeli – po nazwie tabeli od razu podajemy listę kolumn z typami, tak jak w wybranej odpowiedzi. Taka konstrukcja jest zgodna z SQL-92 i wspierana przez wszystkie popularne systemy bazodanowe.