Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 23 kwietnia 2026 08:11
  • Data zakończenia: 23 kwietnia 2026 09:06

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

W języku PHP, podczas pracy z bazą danych MySQL, aby zakończyć sesję z bazą, powinno się użyć

A. mysqli_commit()
B. mysqli_rollback()
C. mysqli_exit( )
D. mysqli_close()
Odpowiedź 'mysqli_close()' jest poprawna, ponieważ ta funkcja służy do zamykania połączenia z bazą danych MySQL w PHP. Po zakończeniu operacji na bazie danych ważne jest, aby zwolnić zasoby, zwłaszcza w aplikacjach, które mogą otwierać wiele połączeń. Funkcja ta nie przyjmuje żadnych argumentów i jest niezwykle istotna, aby uniknąć wycieków pamięci oraz zapewnić, że wszystkie zasoby są odpowiednio zarządzane. Przykładowo, po zakończeniu wykonywania skryptu, który pobiera dane z bazy, można użyć mysqli_close($connection), gdzie $connection jest wcześniej utworzonym połączeniem. Zgodnie z najlepszymi praktykami programistycznymi, powinno się zamykać połączenia w momencie, gdy nie są już potrzebne. Należy również pamiętać, że pozostawienie otwartego połączenia może prowadzić do ograniczenia liczby dostępnych połączeń w serwerze MySQL, co w dłuższej perspektywie może wpływać na wydajność aplikacji.

Pytanie 2

Wykonanie zapytania SQL: DELETE FROM mieszkania WHERE status=1; spowoduje usunięcie

A. tabel, w których pole status ma wartość 1, z bazy danych mieszkania
B. tabeli mieszkania w bazie danych
C. pola o nazwie status w tabeli mieszkania
D. rekordów, gdzie pole status ma wartość 1, z tabeli mieszkania
Użycie kwerendy SQL: DELETE FROM mieszkania WHERE status=1; jest poprawne, ponieważ polecenie DELETE ma na celu usunięcie rekordów z określonej tabeli, w tym przypadku z tabeli mieszkania. Klauzula WHERE filtruje te rekordy, które mają wartość pola status równą 1. To podejście jest zgodne z zasadami zarządzania danymi, które sugerują, że operacje usuwania powinny być przeprowadzane z użyciem odpowiednich filtrów, aby zminimalizować ryzyko przypadkowego usunięcia niezamierzonych danych. Na przykład, jeśli w tabeli mieszkania mamy 1000 rekordów, a tylko 150 z nich ma status równy 1, to po wykonaniu tej kwerendy usunięte zostaną dokładnie te 150 rekordów, a pozostałe pozostaną nienaruszone. Dobrą praktyką jest również tworzenie kopii zapasowych danych przed wykonaniem operacji usuwania, aby móc je przywrócić w razie potrzeby. Kwerendy DELETE są niezwykle przydatne w zarządzaniu bazami danych, zwłaszcza w sytuacjach, gdzie wymagana jest aktualizacja danych lub usunięcie nieaktualnych informacji.

Pytanie 3

Na ilustracji przedstawiono konfigurację serwera Apache dla środowiska XAMPP. Pod jakim lokalnym adresem jest on dostępny?

Ilustracja do pytania
A. htdocs
B. 192.168.0.1:3306
C. localhost:80
D. 127.0.0.1:70
W tym zadaniu kluczowe jest zrozumienie różnicy między katalogiem serwera, adresem IP, nazwą hosta i numerem portu. W XAMPP-ie Apache udostępnia pliki z katalogu „htdocs”, ale ten katalog nie jest adresem, pod który łączy się przeglądarka. To tylko folder w systemie plików, fizyczna lokalizacja plików strony. Adres, którego używamy w pasku URL, zawsze składa się z protokołu (np. http), nazwy hosta lub adresu IP oraz opcjonalnie numeru portu. Dlatego wpisanie samego „htdocs” w przeglądarce nie ma sensu – to nie jest ani host, ani protokół. Częsty błąd polega na myleniu ścieżki na dysku z adresem URL. Kolejna pułapka to założenie, że Apache w XAMPP zawsze działa na domyślnym porcie 80, więc „localhost:80” będzie na pewno poprawny. W teorii HTTP faktycznie używa domyślnie portu 80, ale w praktyce w środowisku deweloperskim bardzo często port jest zmieniany, np. gdy port 80 jest zajęty przez inny proces. Na zrzucie ekranu w kolumnie „Port(s)” wyraźnie widać, że Apache nasłuchuje na porcie 70, więc użycie „localhost:80” wskazywałoby na inny port niż rzeczywiście skonfigurowany. To powoduje brak połączenia lub połączenie z zupełnie inną usługą. Podobnie adres „127.0.0.1:70” jest poprawną kombinacją hosta lokalnego i właściwego portu, ale przykład „127.0.0.1:70” w zadaniu jest właśnie tą właściwą odpowiedzią, a nie jej modyfikacją z innym portem. Z kolei „192.168.0.1:3306” to już zupełnie inna bajka: adres z puli prywatnej sieci LAN i port 3306, który standardowo jest używany przez serwer MySQL, a nie przez serwer WWW Apache. Taki adres może wskazywać na bazę danych, do której łączy się aplikacja, ale nie jest to adres, pod który użytkownik wchodzi w przeglądarce, żeby zobaczyć stronę. Typowy błąd myślowy polega tutaj na mieszaniu pojęć: katalogu dokumentów, portu HTTP, portu MySQL oraz lokalnego adresu IP. Dobra praktyka jest taka, żeby zawsze patrzeć w panelu XAMPP konkretnie na kolumnę „Port(s)” przy module Apache i na tej podstawie budować URL, np. http://127.0.0.1:port lub http://localhost:port. Dzięki temu unikasz zgadywania i szybko wychwytujesz, czy problem leży w złym porcie, czy gdzie indziej.

Pytanie 4

Implementując przedstawiony fragment algorytmu należy posłużyć się instrukcją

Ilustracja do pytania
A. break
B. while
C. for
D. if
Dobra robota! Trafiłeś z odpowiedzią - to 'if'. To, co analizowałeś, to struktura warunkowa. Używamy jej, żeby sprawdzić, czy coś się zgadza. W tym przypadku algorytm sprawdza, czy 'a' jest większe niż 'b'. Jeśli tak, to robi jedną rzecz, a jeśli nie, to robi coś innego. To klasyczne wykorzystanie 'if'. Takie instrukcje warunkowe są naprawdę ważne w programowaniu, bo umożliwiają tworzenie elastycznych algorytmów, które reagują na różne sytuacje. Dzięki nim nasze programy stają się bardziej dynamiczne i inteligentne.

Pytanie 5

W języku JavaScript stworzono fragment kodu. Po uruchomieniu skryptu zmienna x

<script>
  var x = 10;
  x++;
  console.log(x);
</script>
A. Będzie równa 11 i zostanie wypisana w oknie popup
B. Będzie równa 10 i zostanie wypisana w dokumencie HTML
C. Będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej
D. Będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej
W zaprezentowanym fragmencie kodu JavaScript zmienna x jest najpierw inicjalizowana wartością 10. Następnie operator inkrementacji x++ zwiększa tę wartość o 1, co skutkuje przypisaniem zmiennej wartości 11. Operator postinkrementacji w JavaScript działa w ten sposób że najpierw zwraca aktualną wartość zmiennej a następnie ją zwiększa. W tym przypadku operacja x++ skutkuje zwiększeniem wartości x do 11. W konsoli przeglądarki wywołanie console.log(x) powoduje wyświetlenie obecnej wartości zmiennej x która wynosi 11. Użycie console.log jest standardową praktyką debugowania w JavaScript i jedną z głównych metod wyświetlania informacji w środowisku przeglądarki. Konsole przeglądarek internetowych są potężnym narzędziem dla deweloperów front-endowych umożliwiającym interaktywną pracę z kodem monitorowanie błędów oraz wydajności aplikacji. Jako najlepsza praktyka zaleca się stosowanie console.log do tymczasowego debugowania i unikanie pozostawiania tych wywołań w produkcyjnych wersjach kodu co może prowadzić do zbędnego obciążenia aplikacji i ujawnienia niepotrzebnych informacji użytkownikom końcowym. Warto również wspomnieć że zmienne deklarowane za pomocą var mają zasięg funkcyjny co oznacza że są dostępne w całej funkcji w której zostały zadeklarowane.

Pytanie 6

Tabela o nazwie naprawy zawiera kolumny: klient, czyNaprawione. Jakie polecenie należy użyć, aby wykasować rekordy, w których pole czyNaprawione ma wartość prawdziwą?

A. DELETE FROM naprawy;
B. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
C. DELETE naprawy WHERE czyNaprawione = TRUE;
D. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
Poprawna odpowiedź to 'DELETE FROM naprawy WHERE czyNaprawione = TRUE;'. To polecenie SQL jest zgodne z syntaksą używaną do usuwania rekordów z tabeli, gdzie spełniony jest określony warunek. W tym przypadku, usuwamy wszystkie rekordy z tabeli 'naprawy', dla których pole 'czyNaprawione' ma wartość TRUE. Użycie słowa kluczowego 'FROM' jest niezbędne, aby wskazać, z której tabeli chcemy usunąć dane. Przykładowo, jeśli w tabeli 'naprawy' mamy wielu klientów, z którymi nie zostały jeszcze dokonane naprawy, a chcemy zachować tylko te, które zostały zakończone, takie polecenie jest idealne. W praktyce, stosowanie takich zapytań jest istotne, aby utrzymywać bazę danych w porządku i eliminować nieaktualne informacje. Ponadto, zgodnie z dobrymi praktykami, przed wykonaniem polecenia DELETE warto wykonać zapytanie SELECT z tym samym warunkiem, aby zobaczyć, które rekordy zostaną usunięte.

Pytanie 7

Obejrzyj tabelę mieszkań, która zawiera kolumny: adres, metraż, ile_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie:

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. wszystkie informacje, z wyjątkiem adresu, dotyczące mieszkań z więcej niż 3 pokojami
B. wszystkie dane mieszkań, które mają co najmniej 3 pokoje
C. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
D. metraż oraz cena tych mieszkań, które posiadają co najmniej 3 pokoje
Odpowiedź wskazująca na metraż oraz cenę mieszkań, które mają więcej niż 3 pokoje jest prawidłowa, ponieważ kwerenda SQL wykorzystuje operator '>', co oznacza, że wybrani będą tylko ci, którzy mają co najmniej 4 pokoje. W kontekście tabeli mieszkania, zapytanie SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3; efektywnie filtruje dane, aby zwrócić tylko kolumny metraż oraz cena dla mieszkań spełniających ten warunek. W praktyce, umiejętność pisania takich zapytań SQL jest kluczowa w pracy z bazami danych, gdzie często potrzebne jest zrozumienie struktury danych i umiejętność ich analizy. Przykładem zastosowania może być analiza rynku nieruchomości, gdzie deweloperzy mogą chcieć zbadać ceny mieszkań większych niż 3 pokoje, aby lepiej dostosować swoje oferty do potrzeb klientów. Warto również zaznaczyć, że takie zapytania powinny być pisane zgodnie z najlepszymi praktykami, takimi jak unikanie selekcji niepotrzebnych danych, co przyspiesza ich przetwarzanie oraz zmniejsza obciążenie bazy danych.

Pytanie 8

Jakiego rodzaju oprogramowanie narzędziowe jest wymagane, aby użytkownik mógł przeprowadzać operacje na zebranych danych?

A. Klucz obcy
B. System Zarządzania Bazą Danych (SZBD)
C. Otwarty mechanizm komunikacji bazy danych
D. Obiektowy System Zarządzania Bazą Danych
System Zarządzania Bazą Danych (SZBD) to kluczowy element w architekturze aplikacji, który umożliwia użytkownikom przechowywanie, modyfikowanie i zarządzanie danymi. Dzięki SZBD użytkownicy mogą wykonywać operacje takie jak dodawanie, usuwanie, modyfikacja danych oraz wykonywanie zapytań, co jest niezbędne w każdym systemie informacyjnym. Przykłady powszechnie stosowanych SZBD to MySQL, PostgreSQL oraz Oracle Database. W praktyce, SZBD obsługuje relacje między danymi, co pozwala na zapewnienie integralności i spójności danych. Dodatkowo, SZBD implementują standardy takie jak ACID (Atomicity, Consistency, Isolation, Durability), co jest gwarancją niezawodności transakcji. Aby efektywnie korzystać z SZBD, warto zapoznać się z językiem SQL, który jest standardem do komunikacji z bazą danych. W kontekście dobrych praktyk, umiejętność projektowania prawidłowej struktury bazy danych oraz znajomość zasad normalizacji danych są kluczowe dla optymalizacji wydajności aplikacji oraz minimalizacji ryzyka błędów danych.

Pytanie 9

Na ilustracji pokazano relację jeden do wielu. Łączy ona

Ilustracja do pytania
A. klucz obcy rezyserzy_id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
B. klucz podstawowy id tabeli filmy z kluczem obcym rezyserzy_id tabeli rezyserzy
C. klucz obcy rezyserzy_id tabeli filmy z kluczem obcym id tabeli rezyserzy
D. klucz podstawowy id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
W kontekście relacji jeden do wielu w bazach danych często dochodzi do nieporozumień związanych z błędnym przypisaniem kluczy. Klucz podstawowy w jednej tabeli nigdy nie może być kluczem obcym w innej relacji tego typu, ponieważ klucz podstawowy musi być unikalny i jednoznacznie identyfikować rekord w swojej tabeli. Podobne błędy pojawiają się przy przypisywaniu klucza obcego jako odnoszącego się do innego klucza obcego, co nie jest prawidłowym podejściem, ponieważ klucz obcy powinien odnosić się do klucza podstawowego w innej tabeli, aby zapewnić integralność referencyjną. Klucz obcy nie może być kluczem podstawowym w relacji jeden do wielu, ponieważ naruszałoby to zasadę unikalności wymaganej dla klucza podstawowego. Częstym błędem jest także mylenie kierunku relacji, co prowadzi do projektowania niepraktycznych struktur danych, które są trudne do zarządzania i skalowania. Prawidłowe zastosowanie kluczy obcych i podstawowych oraz zrozumienie ich roli w strukturze bazy danych stanowi fundament dla efektywnego modelowania danych, co jest zgodne z najlepszymi praktykami w projektowaniu systemów zarządzania relacyjnymi bazami danych. Kluczowe jest, aby projektanci baz danych byli świadomi tych zasad i potrafili je stosować w praktyce, aby uniknąć problemów z integralnością danych i późniejszymi trudnościami przy ich modyfikacji lub rozszerzaniu struktury bazy danych. Poprawne zrozumienie relacji między tabelami oraz ich implementacja jest niezbędna dla utrzymania spójności i wydajności systemów bazodanowych w długim okresie użytkowania.

Pytanie 10

Na podstawie tabeli Towar zrealizowano poniższe zapytanie SQL: ```SELECT nazwa_towaru FROM `Towar` WHERE cena_katalogowa < 65 ORDER BY waga DESC``` Jaki będzie rezultat tej operacji?

Ilustracja do pytania
A. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
B. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
C. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
D. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
Zapytanie SQL selekcjonuje towary z tabeli Towar, których cena katalogowa jest mniejsza niż 65, a następnie sortuje wyniki malejąco według wagi. Dzięki temu otrzymujemy listę towarów uporządkowaną od najcięższego do najlżejszego, a jednocześnie wykluczamy towary, które nie spełniają kryterium ceny. W podanym zestawie danych znajdują się cztery towary spełniające warunek cenowy: Papier ksero A4, Zeszyt A5, Zeszyt A5 w linie i Kredki 24 kolory. Spośród tych towarów najcięższy jest Papier ksero A4 (2.3), następnie Kredki 24 kolory (0.3), Zeszyt A5 (0.13), a najlżejszy jest Zeszyt A5 w linie (0.12). Kolejność wyników odpowiada zatem prawidłowej odpowiedzi numer 3. W praktyce umiejętność tworzenia zapytań SQL z warunkami filtrowania i sortowania jest niezwykle istotna w analizie danych, umożliwiając precyzyjne wyodrębnienie potrzebnych informacji z dużych zbiorów danych. Dobrym standardem jest zawsze testowanie zapytań na przykładowych danych, aby potwierdzić poprawność wyników przed ich zastosowaniem w środowisku produkcyjnym.

Pytanie 11

W języku PHP, aby uzyskać dostęp do pliku dane.txt w trybie tylko do odczytu i odczytać jego zawartość, należy użyć funkcji:

A. fopen("dane.txt", "r") oraz fputs()
B. fopen("dane.txt", "w") oraz fgets()
C. fopen("dane.txt", "w") oraz fputs()
D. fopen("dane.txt", "r") oraz fgets()
Odpowiedź fopen("dane.txt", "r") oraz fgets() jest poprawna, ponieważ zastosowanie funkcji fopen z parametrem 'r' otwiera plik w trybie do odczytu. Funkcja fgets służy do odczytywania pojedynczej linii z pliku, co idealnie odpowiada potrzebie pobrania zawartości z pliku dane.txt. Przykładowe użycie tej pary funkcji może wyglądać tak: $handle = fopen('dane.txt', 'r'); if ($handle) { while (($line = fgets($handle)) !== false) { echo $line; } fclose($handle); } Warto również zauważyć, że przy pracy z plikami w PHP zaleca się zawsze sprawdzanie, czy plik został poprawnie otwarty, aby uniknąć błędów w czasie wykonania. Dobre praktyki obejmują także zamykanie pliku po jego użyciu, co pomaga w zarządzaniu zasobami systemowymi. Dodatkowo, w przypadku błędów, można wykorzystać funkcję error_reporting(), aby monitorować błędy i ostrzeżenia, co jest niezbędne w profesjonalnym rozwoju aplikacji webowych w PHP.

Pytanie 12

W dokumencie XHTML znajduje się fragment kodu, w którym występuje błąd walidacyjny. Co jest przyczyną tego błędu?

Ilustracja do pytania
A. Znaczniki powinny być pisane dużymi literami
B. Nie ma nagłówka szóstego poziomu
C. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
D. Znacznik <br> musi być zamknięty
Wybór odpowiedzi, że nie istnieje nagłówek szóstego stopnia, jest błędny, ponieważ w specyfikacji XHTML nagłówek szóstego stopnia <h6> jest jak najbardziej dopuszczalny i służy do oznaczania najmniej ważnych nagłówków, w hierarchii od <h1> do <h6>. Pisanie znaczników wielkimi literami nie jest wymogiem XHTML. Chociaż XHTML jest wrażliwy na wielkość liter, co oznacza, że nazwy znaczników i atrybutów muszą być pisane małymi literami, odpowiedź sugerująca, że tylko wielkie litery są poprawne, jest błędna. Użycie <b> jako zagnieżdżonego w <p> jest standardową praktyką i jest zgodne z normami XHTML, ponieważ <b> służy do pogrubienia tekstu wewnątrz elementu blokowego, jakim jest <p>. Problem z tą odpowiedzią polega na błędnym zrozumieniu struktury HTML, gdzie zagnieżdżanie elementów inline w elementach blokowych jest dozwolone. Ważnym aspektem jest umiejętność rozpoznania, które elementy są inline, a które blokowe, i jak mogą być poprawnie zagnieżdżane w kontekście specyfikacji XHTML. Poprawne zrozumienie tych zasad pomaga w tworzeniu wydajniejszych i bardziej zgodnych dokumentów internetowych.

Pytanie 13

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: left; } aside { float: left; }
B. nav { float: right; }
C. nav { float: right; } section { float: right; }
D. aside {float: left; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 14

Jaką wartość zwróci 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
Wartości 3, 5 oraz 7 są wynikiem błędnej interpretacji działania algorytmu. Często zdarza się, że osoby podchodzące do analizy pętli zapominają o kluczowej roli każdej iteracji oraz o tym, jak zmieniają się wartości zmiennych wewnątrz pętli. W przypadku odpowiedzi 3, można by pomyśleć, że program wyliczy wartość N po pierwszej iteracji, co jest niewłaściwe, ponieważ algorytm kontynuuje swoje działanie do momentu, aż Z osiągnie wartość 3. Odpowiedź 5 wynika z błędnego założenia, że algorytm kończy się po drugiej iteracji, co również jest mylne, ponieważ algorytm jest zaprojektowany do wykonania trzech iteracji. Z kolei wartość 7 może wydawać się logiczna po drugiej iteracji, jednak jest to kolejny przypadek niewłaściwego zrozumienia działania pętli. Kluczowym błędem myślowym jest niezdolność do dostrzegania, że zmienne są aktualizowane w każdej iteracji, a algorytm nie kończy się na pierwszej, czy drugiej, ale działa do momentu spełnienia warunku dla Z. Zrozumienie tego mechanizmu jest niezbędne w programowaniu, szczególnie podczas pracy z algorytmami iteracyjnymi, gdzie każda zmiana zmiennych wpływa na dalszy przebieg programu.

Pytanie 15

Parametr face elementu <font> jest używany do wskazania

A. rozmiaru czcionki
B. koloru czcionki
C. nazwa czcionki
D. efektów czcionki
Parametr face znacznika <font> w HTML definiuje konkretną nazwę czcionki, która ma być używana do wyświetlania tekstu. Umożliwia to projektantom stron internetowych precyzyjne określenie, jak tekst będzie wyglądał, co jest istotne dla estetyki oraz czytelności strony. W praktyce, zamiast stosować ogólne czcionki systemowe, projektanci mogą wskazać konkretne nazwy czcionek, jak 'Arial', 'Verdana' czy 'Times New Roman', aby osiągnąć zamierzony efekt wizualny. Warto jednak pamiętać, że stosowanie znacznika <font> oraz jego atrybutu face jest już przestarzałe, a w nowoczesnym kodowaniu lepiej jest korzystać z CSS, gdzie właściwość 'font-family' pełni tę samą funkcję, ale z większą elastycznością i lepszym wsparciem dla różnych urządzeń. Przykładowo, zamiast <font face='Arial'>Tekst</font>, w CSS można użyć: <style> p { font-family: Arial; } </style>. Z perspektywy dobrych praktyk, zaleca się używanie CSS do stylizacji tekstu, co pozwala na lepszą separację treści od prezentacji oraz łatwiejsze zarządzanie stylami w całym dokumencie.

Pytanie 16

Jakie słowo kluczowe w języku SQL należy zastosować, aby usunąć powtarzające się rekordy?

A. ORDER BY
B. DISTINCT
C. LIKE
D. GROUP BY
Słowo DISTINCT w SQL to taki sprytny sposób na pozbycie się duplikatów w wynikach zapytań. Jak robisz zapytanie SELECT, które zwraca różne wiersze, to dzięki DISTINCT dostaniesz tylko unikalne wartości w kolumnach, które wybierzesz. Na przykład, mając tabelę 'pracownicy' z kolumną 'miasto', jak użyjesz zapytania 'SELECT DISTINCT miasto FROM pracownicy;', to dostaniesz listę wszystkich miast, w których są pracownicy, a powtórzenia polecą w odstawkę. Warto pamiętać, że DISTINCT działa na całej kombinacji kolumn, które zwracasz. Jak dodasz więcej kolumn w zapytaniu, to SQL wyciągnie unikalne zestawienia tych kolumn. To naprawdę przydatne, zwłaszcza przy dużych zbiorach danych, gdzie duplikaty mogą namieszać w analizach i raportach. DISTINCT jest standardowym elementem w SQL i działa praktycznie w każdym systemie zarządzania bazami danych, jak MySQL czy PostgreSQL, co czyni to narzędzie mega uniwersalnym w codziennym grzebaniu w danych.

Pytanie 17

Określ właściwą sekwencję stylów CSS, biorąc pod uwagę ich priorytet w formatowaniu elementów strony WWW?

A. Styl wewnętrzny, Styl zewnętrzny, Rozciąganie stylu
B. Rozciąganie stylu, Styl zewnętrzny, Styl lokalny
C. Styl lokalny, Styl wewnętrzny, Styl zewnętrzny
D. Styl zewnętrzny, Wydzielone bloki, Styl lokalny
Wskazana odpowiedź, czyli Lokalny, Wewnętrzny, Zewnętrzny, jest zgodna z zasadami kaskadowego stylu arkuszy CSS. Istotą kaskadowości jest to, że style są stosowane według określonej hierarchii. Style lokalne (wbudowane) mają najwyższy priorytet, co oznacza, że jeśli na danym elemencie zastosowano styl lokalny, to zdominuje on wszelkie inne style. Przykład użycia stylu lokalnego to nadanie koloru tła dla konkretnego przycisku poprzez atrybut 'style': <button style='background-color: red;'>Przycisk</button>. W przypadku, gdy nie ma stylu lokalnego, przetwarzany jest styl wewnętrzny, który można zdefiniować w sekcji <style> w nagłówku dokumentu HTML. Na przykład: <style>p { color: blue; }</style> sprawi, że wszystkie akapity będą miały niebieski kolor. Dopiero na końcu brane są pod uwagę style zewnętrzne, które są definiowane w osobnych plikach CSS, na przykład: <link rel='stylesheet' href='style.css'>. Dlatego znajomość tej hierarchii jest kluczowa dla skutecznego tworzenia stylów, co przekłada się na lepsze zarządzanie wyglądem strony oraz unikanie konfliktów stylów. Warto również pamiętać o zasadzie „specyficzności”, która dodatkowo komplikuje temat, ponieważ style mogą mieć różny priorytet w zależności od ich specyfikacji.

Pytanie 18

W notacji szesnastkowej kolor zielony reprezentowany jest jako #008000. Jaką wartość przyjmuje on w notacji RGB?

A. rgb(0, 160, 0)
B. rgb(0, 100, 0)
C. rgb(0, 80, 0)
D. rgb(0, 128, 0)
Wartość koloru zielonego w notacji szesnastkowej #008000 odpowiada w notacji RGB wartości rgb(0, 128, 0). W tym systemie kolorów każda składowa koloru (czerwony, zielony, niebieski) jest reprezentowana jako liczba całkowita w przedziale od 0 do 255, co odpowiada 8-bitowym wartościom. W przypadku koloru zielonego, składowa czerwonego ma wartość 0, składowa zielonego 128, a składowa niebieskiego także 0. W praktyce, RGB jest powszechnie stosowane w projektowaniu graficznym, programowaniu oraz w tworzeniu stron internetowych, gdzie kolory są definiowane w taki sposób, aby zapewnić szeroką gamę odcieni. Wartości RGB mogą być wykorzystywane w CSS do stylizacji elementów, co pozwala na precyzyjne odwzorowanie zamierzonych kolorów oraz estetyki. Stosując standardy webowe, umiejętność konwersji między różnymi formatami kolorów jest niezbędna, zwłaszcza w kontekście zapewnienia spójności wizualnej na różnych urządzeniach i platformach.

Pytanie 19

W dołączonym fragmencie kodu CSS kolor został przedstawiony w formie

Ilustracja do pytania
A. szesnastkowej
B. HSL
C. dziesiętnej
D. CMYK
Dziesiętna reprezentacja kolorów nie jest standardowym sposobem definiowania barw w CSS. System dziesiętny jest używany głównie w kontekście programowania dla wartości liczbowych, nie dla kolorów, które wymagają specyficznego formatu takiego jak szesnastkowy. CMYK to przestrzeń kolorów stosowana w druku, która opisuje kolory poprzez określanie procentowego udziału cyjanu, magenty, żółtego i czarnego. CMYK nie jest obsługiwany przez CSS, ponieważ jest przeznaczony do innego rodzaju mediów. Z kolei HSL (Hue, Saturation, Lightness) to bardziej intuicyjny sposób definiowania kolorów niż RGB, ponieważ operuje na odcieniu, nasyceniu i jasności. HSL jest stosowany w CSS, jednak w analizowanym przykładzie mamy do czynienia z wartością szesnastkową, co wyklucza HSL jako prawidłową odpowiedź. Typowym błędem jest niezrozumienie różnic w zastosowaniu tych różnych modeli kolorów oraz ich przeznaczenia w kontekście projektowania stron internetowych, co może prowadzić do niepoprawnej interpretacji ich użycia w CSS. Ważne jest zrozumienie, że różne formaty mają swoje miejsce w zależności od medium i kontekstu użycia, a nieznajomość tych różnic prowadzi do błędnych wniosków i zastosowań w praktyce projektowej. Właściwe zastosowanie formatów kolorów jest kluczowe dla efektywnego stylizowania i tworzenia estetycznych oraz funkcjonalnych interfejsów użytkownika w sieci.

Pytanie 20

Określ rezultat wykonania skryptu stworzonego w języku PHP

Ilustracja do pytania
A. C
B. B
C. D
D. A
Odpowiedzi B, C i D są niepoprawne z kilku powodów związanych z błędnym zrozumieniem działania funkcji asort() w PHP. Po pierwsze, funkcja ta sortuje tablicę według wartości w porządku rosnącym, ale co ważne, zachowuje oryginalne klucze. Odpowiedź B ukazuje tablicę z kluczami zresetowanymi do wartości całkowitych, co wskazuje na zastosowanie innej funkcji sortującej jak sort() zamiast asort(). Taki wynik wskazuje brak zrozumienia kluczowej cechy asort(), która jest istotna w pracy z tablicami asocjacyjnymi, gdzie zachowanie kluczy jest konieczne do prawidłowego odwzorowania danych. W odpowiedzi C klucze są także zresetowane, a wartości są w niewłaściwej kolejności, co mogłoby sugerować użycie sort() na tablicy o zmienionym indeksowaniu. Odpowiedź D pokazuje tablicę posortowaną poprawnie, ale w niewłaściwej kolejności, co sugeruje błędne użycie funkcji sortującej, być może zakładające odwrotną kolejność lub błędne przypisanie wartości. Kluczowe jest zrozumienie, jak różne funkcje sortujące w PHP wpływają na klucze i wartości tablic, aby unikać takich błędów i poprawnie wykorzystywać funkcje jak asort() do manipulacji danymi w kontekście ich praktycznego zastosowania, jak konfigurowanie ustawień czy analiza danych, gdzie zachowanie oryginalnych kluczy jest kluczowe. Niewłaściwe zastosowanie może prowadzić do błędnych interpretacji danych i problemów z zachowaniem integralności aplikacji.

Pytanie 21

Grafik chce przekształcić bez utraty jakości obraz formatu JPEG w format PNG w ten sposób, żeby wszędzie tam, gdzie w pierwotnym obrazie jest kolor biały, w obrazie docelowym była przezroczystość. Aby to zrobić, powinien

A. zaimportować obraz do edytora grafiki wektorowej.
B. zmniejszyć rozdzielczość obrazu.
C. przekształcić obraz w odcienie szarości.
D. dodać kanał alfa.
Prawidłowa odpowiedź wynika z samej idei przezroczystości w grafice rastrowej. Żeby w PNG jakikolwiek piksel mógł być przezroczysty, obraz musi mieć kanał alfa, czyli dodatkową składową opisującą stopień przeźroczystości (opacity) dla każdego piksela. Standardowe RGB ma trzy kanały: R (czerwony), G (zielony), B (niebieski). Format PNG bardzo często używa wariantu RGBA, gdzie A (alpha) definiuje, na ile piksel jest widoczny: 0 oznacza całkowitą przezroczystość, 255 (albo 1.0 przy wartościach zmiennoprzecinkowych) pełną nieprzezroczystość. Dopiero po dodaniu kanału alfa można w programie graficznym zaznaczyć wszystkie białe obszary i ustawić im wartość alfa na 0. To właśnie realizuje wymaganie: „tam gdzie biały – ma być przezroczystość”. Z mojego doświadczenia w pracy z grafiką na potrzeby WWW, typowy workflow wygląda tak: otwierasz JPEG w edytorze rastrowym (np. GIMP, Photoshop, Krita), konwertujesz obraz do trybu z kanałem alfa (w Photoshopie: „Layer > New > Layer from Background” i „Add Layer Mask” albo „Add Alpha Channel” w GIMP-ie), następnie za pomocą narzędzia zaznaczania koloru (Magic Wand / Select by Color) wybierasz białe fragmenty i je usuwasz lub zmniejszasz im krycie. Dopiero potem zapisujesz jako PNG, który natywnie wspiera przezroczystość zgodnie ze specyfikacją formatu. Ważne też, że przy takim przekształceniu nie zwiększasz strat kompresji, bo PNG jest formatem bezstratnym. Straty są już w JPEG-u i ich się nie cofnie, ale samo przejście do PNG z kanałem alfa nie pogorszy jakości bardziej. W praktyce to jest standardowa procedura przygotowania ikon, logotypów i elementów UI na strony WWW, gdzie tło strony „prześwituje” przez przezroczyste fragmenty grafiki.

Pytanie 22

Podczas walidacji strony napotkano błąd. Co to oznacza?

Ilustracja do pytania
A. określenie kodowania znaków musi być zapisane bez użycia myślników
B. znacznik meta nie zawiera atrybutu charset
C. w atrybucie charset dopuszczalna jest wyłącznie wartość "utf-8"
D. oznaczenie ISO-8859-2 jest nieprawidłowe
Podczas walidacji strony często spotykany błąd może dotyczyć niepoprawnego kodowania znaków co jest kluczowe dla poprawnego wyświetlania treści w różnych językach. Oznaczenie ISO-8859-2 choć istnieje i jest stosowane dla niektórych kodowań środkowoeuropejskich nie jest zalecane w nowoczesnych standardach webowych. Właściwym podejściem jest stosowanie UTF-8 które jest bardziej uniwersalne i wspierane przez współczesne przeglądarki. Twierdzenie że w znaczniku meta nie występuje atrybut charset jest błędne ponieważ jest to jeden z podstawowych elementów definiujących jak przeglądarka powinna interpretować znaki na stronie internetowej. Użycie tego atrybutu jest kluczowe dla uniknięcia problemów z wyświetlaniem znaków specjalnych. Kolejna koncepcja że w atrybucie charset jest dozwolona wyłącznie wartość utf-8 jest prawidłowa ale wymaga zrozumienia że jest to jedynie zalecenie zgodne z HTML5 które zapewnia największą kompatybilność i elastyczność. Natomiast oznaczenie kodowania znaków bez myślników nie jest standardem przyjętym w żadnej popularnej specyfikacji co oznacza że takie podejście jest błędne. W praktyce zawsze warto sięgać po zalecane rozwiązania zapewniające poprawność i kompatybilność treści webowych. Użycie niepoprawnego kodowania może prowadzić do błędów w interpretacji i wyświetlaniu stron co jest szczególnie istotne w kontekście międzynarodowych aplikacji i stron internetowych. Współczesne standardy bezpieczeństwa i dostępności stron internetowych jednoznacznie wskazują że stosowanie UTF-8 jest najlepszą praktyką pozwalającą unikać wielu problematycznych sytuacji w międzynarodowym środowisku internetowym. Dążenie do zgodności z tym standardem jest nie tylko rekomendowane ale wręcz wymagane w kontekście tworzenia profesjonalnych i dostępnych stron internetowych. To podejście gwarantuje że treści będą prawidłowo odczytywane przez przeglądarki na całym świecie.

Pytanie 23

Funkcja PHP var_dump() wyświetla informację na temat zmiennej: jej typ i wartość. Wynikiem dla przedstawionego fragmentu kodu jest:

$x = 59.85;
var_dump($x);
A. array(2) { [0]=> int(59) [1]=> int(85) }
B. int(59)
C. string(5) "59.85"
D. float(59.85)
Gratulacje, Twoja odpowiedź jest poprawna! W poprawnej odpowiedzi, wartość zmiennej $x była 59.85, co jest liczbą zmiennoprzecinkową, a więc typem tej zmiennej jest float. Funkcja PHP var_dump() służy do wyświetlania informacji o zmiennej, w tym jej typu i wartości. Zatem wynikiem jej wykonania dla zmiennej $x inicjowanej wartością 59.85 jest float(59.85). To jest jeden z przykładów, gdzie rozumienie typów danych w PHP jest kluczowe. Zrozumienie typu float pozwoli Ci na prawidłową manipulację danymi, co jest niezwykle ważne w programowaniu. Jest to szczególnie istotne, gdy porównujesz różne wartości lub przekształcasz jedne typy danych w inne. Pamiętaj, że PHP jest językiem o słabej typizacji, co oznacza, że konwersja typów może nastąpić automatycznie w niektórych kontekstach, więc zawsze warto wiedzieć, jakiego typu jest dana zmienna.

Pytanie 24

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia klienta z serwerem oraz umożliwia wymianę danych bez konieczności przeładowania całej strony WWW?

A. XML
B. AJAX
C. PHP
D. VBScript
Wybór odpowiedzi nieprawidłowych, takich jak PHP, XML czy VBScript, wskazuje na częste nieporozumienia dotyczące funkcji oraz zastosowania tych technologii w kontekście komunikacji klient-serwer. PHP to język skryptowy wykorzystywany głównie do generowania dynamicznej treści na serwerze. Chociaż PHP może być używane do obsługi żądań z AJAX, samo w sobie nie zapewnia asynchroniczności ani nie umożliwia komunikacji bez przeładowania strony. XML, mimo że jest formatem danych, nie jest techniką komunikacyjną. Może być wykorzystywane w AJAX jako format przesyłania danych, ale nie jest to jego główne zastosowanie. VBScript to język skryptowy, który jest przestarzały i nie jest odpowiedni do nowoczesnych aplikacji internetowych. Wybierając te odpowiedzi, można popaść w błąd, sądząc, że różne technologie mają podobne zastosowania, co prowadzi do nieporozumień dotyczących struktury aplikacji internetowych. Ważne jest zrozumienie roli, jaką różne technologie odgrywają w architekturze aplikacji, aby właściwie wykorzystywać ich możliwości w praktyce.

Pytanie 25

Które zapytanie MySQL należy użyć, aby usunąć jedynie pracowników, którzy zarabiają nie mniej niż 500 i nie więcej niż 1000 zł oraz ich miejsce pracy zawiera frazę tx

A. DELETE FROM pracownicy WHERE pensja IN (500,1000) AND miejsce_pracy LIKE '*tx*';
B. DELETE FROM pracownicy WHERE pensja > 500 AND pensja < 1000 AND miejsce_pracy LIKE '%tx%';
C. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';
D. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 OR miejsce_pracy LIKE '%tx%';
Poprawne jest zapytanie: DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';. Słowo kluczowe BETWEEN w SQL oznacza przedział domknięty, czyli w tym przypadku usuwani będą pracownicy, którzy zarabiają co najmniej 500 i jednocześnie nie więcej niż 1000 zł. To dokładnie odpowiada treści zadania, bez żadnych niedomówień na granicach zakresu. Gdybyśmy użyli > i <, to wartości 500 i 1000 zostałyby wykluczone, co w tym zadaniu byłoby niezgodne z wymaganiem. Drugi warunek korzysta z operatora LIKE wraz z maską '%tx%'. Wzorzec z procentami z obu stron oznacza: znajdź wszystkie wiersze, gdzie ciąg znaków „tx” występuje gdziekolwiek w tekście kolumny miejsce_pracy – na początku, w środku albo na końcu. W MySQL znak % jest standardowym symbolem wieloznacznym (wildcard) dla dowolnego ciągu znaków, a nie gwiazdka *, dlatego zapis z % jest poprawny i zgodny z dokumentacją. Spójnik AND jest tu kluczowy, bo warunek mówi wyraźnie: usuwamy tylko tych pracowników, którzy spełniają jednocześnie oba kryteria – zarówno zakres pensji, jak i fragment tekstu w miejscu pracy. W praktyce takie zapytanie stosuje się np. przy porządkowaniu danych testowych: można szybko usunąć sztuczne rekordy z określonego przedziału płac i z wybranych lokalizacji. Moim zdaniem warto wyrabiać sobie nawyk bardzo precyzyjnego formułowania warunków logicznych (AND/OR) i zawsze sprawdzać, czy zakres jest domknięty czy otwarty. Dobrą praktyką jest też najpierw wykonać SELECT z tym samym WHERE, zobaczyć jakie rekordy zostaną naruszone, a dopiero potem odpalać DELETE – szczególnie na produkcyjnej bazie, bo tam pomyłki bywają bolesne.

Pytanie 26

Kod umieszczony w ramce spowoduje wyświetlenie liczb

Ilustracja do pytania
A. 2 4 6 8
B. 1 2 3 4 5 6 7 8 9 10
C. 2 4 6 8 10
D. 1 3 5 7 9
Prawidłowa odpowiedź to 2 4 6 8 10 co wynika z działania przedstawionego kodu PHP. Pętla for rozpoczyna się od wartości zmiennej x równej 1 i zwiększa ją o jeden przy każdej iteracji aż do osiągnięcia wartości 10 włącznie. Instrukcja if($x % 2 != 0) continue oznacza że dla każdej nieparzystej liczby x wykonanie reszty kodu pętli jest pomijane i kontynuowane jest od kolejnej iteracji. Oznacza to że tylko liczby parzyste są wypisywane na ekranie co zgadza się z przedstawioną odpowiedzią. W praktyce taka konstrukcja jest używana do filtrowania danych gdzie chcemy przetwarzać tylko określone warunki. Stosowanie operatora modulo % jest standardową techniką do sprawdzania podzielności liczb co jest często wykorzystywane w programowaniu np. do selekcji danych lub w algorytmach kryptograficznych. Dobrą praktyką jest również używanie instrukcji continue gdy chcemy zminimalizować zagnieżdżenie kodu i poprawić jego czytelność poprzez eliminację zbędnych bloków else. Użycie pętli for z takim warunkiem pozwala na efektywne przetwarzanie dużych zbiorów danych co jest kluczowe w aplikacjach wymagających wysokiej wydajności.

Pytanie 27

W języku HTML, aby uzyskać następujący efekt formatowania
pogrubiony pochylony lub w górnym indeksie
należy zapisać kod:

A. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
B. <i>pogrubiony </i><b>pochylony </b>lub w <sub>górnym indeksie</sub>
C. <b>pogrubiony <i>pochylony</i></b> lub w <sup>górnym indeksie</sup>
D. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
Odpowiedź, w której użyłeś znaczników <b> i <i> w odpowiednich miejscach, jest całkiem dobra. Znak <b> jest świetny do pogrubiania tekstu, co przydaje się, gdy chcesz podkreślić coś ważnego. Natomiast <i> pozwala na pochylanie tekstu, co dodaje mu charakteru i może sugerować cytaty czy tytuły. Co ciekawe, znacznik <sup> stosujemy, gdy chcemy pokazać górny indeks, np. przy potęgach czy jednostkach miar. Przykład takiego użycia byłby taki: <b>Waga</b> <i>w kilogramach</i> wynosi <sup>2</sup> dla dwóch jednostek. Jak widać, stosowanie HTML w odpowiedni sposób pozwala robić czytelne i estetyczne prezentacje, co jest zgodne z dobrymi praktykami w web designie oraz standardami W3C. Warto też pamiętać, że dobrze dobrane znaczniki mają znaczenie nie tylko wizualne, ale także pomagają w indeksowaniu treści przez wyszukiwarki, co z kolei wpływa na SEO.

Pytanie 28

Aby skutecznie zrealizować algorytm znajdujący największą wartość spośród trzech podanych liczb a, b oraz c, wystarczy zastosować

A. dwa warunki
B. pięć zmiennych
C. dwie tablice
D. jedną pętlę
Aby znaleźć największą z trzech liczb a, b i c, stosując dwa warunki, można wykorzystać porównania. Pierwszym krokiem jest porównanie a i b, aby ustalić, która z tych liczb jest większa. Następnie porównujemy wynik z c. To podejście jest efektywne, ponieważ wymaga jedynie dwóch porównań (warunków) do określenia największej liczby z trzech. Taka metoda jest nie tylko prosta, ale również zgodna z dobrymi praktykami programowania, które stawiają na wydajność i czytelność kodu. Przykładowy kod w języku Python może wyglądać następująco: python max_value = a if b > max_value: max_value = b if c > max_value: max_value = c Warto zwrócić uwagę, że bardziej złożone metody, takie jak stosowanie pętli czy tablic, są niepotrzebne w tym przypadku i mogą wprowadzać niepotrzebną złożoność do kodu. W codziennym programowaniu dążymy do minimalizowania liczby operacji, aby zwiększyć wydajność, szczególnie w sytuacjach, gdy mamy ograniczone zasoby obliczeniowe. Ponadto, rozważając stosowanie algorytmów, które można łatwo zrozumieć, wspieramy przyszłą konserwację i rozwój oprogramowania.

Pytanie 29

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. pokazuje znaki, które zostały do niego wprowadzone
C. ukrywa znaki, które zostały do niego wprowadzone
D. zawiera domyślny tekst „pole”
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 30

W CSS zapis selektora p > i { color: red;} wskazuje, że kolorem czerwonym zostanie zdefiniowany

A. wszelki tekst w znaczniku <p> lub wszelki tekst w znaczniku <i>
B. wszelki tekst w znaczniku <p>, z wyjątkiem tych w znaczniku <i>
C. tylko ten tekst w znaczniku <p>, który posiada klasę o nazwie i
D. tylko ten tekst w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
Zapis selektora p > i w CSS oznacza, że styl zostanie zastosowany jedynie do znaczników <i>, które są bezpośrednimi dziećmi znacznika <p>. W praktyce oznacza to, że jeśli w dokumencie HTML mamy strukturę, gdzie znacznik <i> znajduje się bezpośrednio wewnątrz <p>, tekst w tym <i> zostanie sformatowany na czerwono. Takie podejście do stylizacji jest zgodne z zasadami kaskadowego arkusza stylów, gdzie selektory mogą precyzyjnie określać, które elementy mają być stylizowane. Użycie operatora > jest dobrym przykładem zastosowania selektorów potomków w CSS, co pozwala na bardziej precyzyjne i efektywne zarządzanie stylami. Dobrą praktyką jest unikanie nadmiernej hierarchii w selektorach, co może prowadzić do złożonych i trudnych do utrzymania arkuszy stylów. W związku z tym, zrozumienie działania selektorów jest kluczowe dla efektywnego korzystania z CSS.

Pytanie 31

W zaprezentowanym fragmencie dokumentu HTML ustalono stylowanie CSS dla selektora klasy "menu", aby kolor tła tego elementu był zielony. Które z poniższych określeń stylu CSS odpowiada temu stylowaniu?

<div class="menu"></div>
A. menu { background-color: rgb(0,255,0); }
B. #menu { background-color: rgb(0,255,0); }
C. div.menu { background-color: green; }
D. div:menu { color: green; }
Odpowiedź div.menu { background-color: green; } jest prawidłowa, ponieważ odnosi się do selektora klasy w języku CSS. W HTML, atrybut class jest używany do przypisywania elementom jednej lub wielu klas, które mogą być następnie stylizowane w CSS. Selektor klasy jest definiowany przez poprzedzenie nazwy klasy kropką, co pozwala na stylizację wszystkich elementów używających tej klasy. W przypadku selektora div.menu, stylizacja dotyczy wszystkich elementów div z klasą menu. Użycie właściwości background-color z wartością green ustawia zielone tło dla zdefiniowanego elementu. Taki sposób definiowania stylów jest zgodny z dobrymi praktykami, które zalecają użycie klas do stylizacji wielokrotnego użytku w celu zwiększenia elastyczności i czytelności kodu. Ponadto używanie nazw klas i odpowiednich selektorów pozwala na łatwe zarządzanie stylistyką większych projektów, co jest kluczowe w rozwoju współczesnych stron internetowych. Warto zauważyć, że stosowanie klas zamiast identyfikatorów jest bardziej elastyczne, ponieważ jedna klasa może być przypisana do wielu elementów, podczas gdy identyfikator musi być unikalny w całym dokumencie.

Pytanie 32

Jakie polecenie SQL zmieni w tabeli tab wartość w kolumnie kol z Ania na Zosia?

A. ALTER TABLE tab CHANGE kol = 'Zosia' kol = 'Ania'
B. UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia'
C. ALTER TABLE tab CHANGE kol = 'Ania' kol = 'Zosia'
D. UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania'
Podane odpowiedzi, które nie wykorzystują odpowiedniej składni SQL lub koncepcji manipulacji danymi, są błędne. Na przykład, aktualizacja wartości 'Ania' na 'Zosia' za pomocą polecenia UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia' nie tylko nie osiągnie zamierzonego celu, ale również wprowadzi w błąd. W rzeczywistości, polecenie to nie zmieni żadnych danych, ponieważ nie ma rekordów, w których kolumna 'kol' zawierałaby wartość 'Zosia', a polecenie próbuje ustawić ją na 'Ania'. Z kolei użycie ALTER TABLE do zmiany wartości w kolumnie jest całkowicie niewłaściwe, ponieważ to polecenie służy do zmiany struktury tabeli, a nie danych w niej zawartych. Alteracja struktury bazy danych jest fundamentalnie różna od aktualizacji wartości w wierszach. Zrozumienie różnicy między tymi dwoma typami operacji jest kluczowe dla efektywnego zarządzania bazami danych. Typowe błędy myślowe obejmują mylenie operacji na danych z operacjami na strukturze bazy danych, co prowadzi do nieefektywnego i błędnego kodowania. Warto także zwrócić uwagę na zapewnienie integralności danych i stosowanie właściwych kryteriów, aby uniknąć przypadkowych modyfikacji lub usunięć danych.

Pytanie 33

Zidentyfikuj poprawnie zbudowany warunek w języku PHP, który sprawdza brak połączenia z bazą MySQL.

A. if {mysql_connect_errno()}{}
B. if (mysql_connect_error())()
C. if {mysqli_connect_error()}{}
D. if (mysqli_connect_errno()){}
No, odpowiedzi, które wybrałeś, mają sporo błędów. Na przykład, 'if (mysql_connect_error())()' jest źle napisane, bo masz tu podwójne nawiasy, a powinny być pojedyncze. 'if {mysql_connect_errno(){}}' i 'if {mysqli_connect_error()}' używają klamr, gdzie powinny być nawiasy okrągłe, bo w PHP warunki muszą być w nawiasach. Te stare funkcje, takie jak 'mysql_connect_error()' czy 'mysql_connect_errno()', to już przeżytek, zostały usunięte w PHP 7.0. Teraz, wybierając 'mysqli', zapewniasz sobie lepsze bezpieczeństwo i działanie aplikacji. To jest kluczowe, żeby zrozumieć, jak poprawnie pisać kod, bo bez tego ciężko osiągniesz sukces w programowaniu w PHP.

Pytanie 34

W języku JavaScript funkcja getElementById() odnosi się do

A. klasy zdefiniowanej w CSS
B. elementu HTML o określonym id
C. elementu HTML o wskazanej nazwie klasy
D. zmiennej liczbowej
Metoda getElementById() jest jedną z najczęściej używanych funkcji w JavaScript, która pozwala na bezpośrednie odwołanie się do elementu DOM (Document Object Model) za pomocą atrybutu id. Gdy wywołujemy tę metodę, przekazujemy jej jako argument ciąg znaków odpowiadający wartości atrybutu id danego elementu HTML. Przykładowo, jeśli mamy znacznik `<div id='myDiv'></div>`, możemy uzyskać do niego dostęp za pomocą `document.getElementById('myDiv')`. Jest to bardzo efektywny sposób na manipulowanie elementami strony, umożliwiający m.in. zmianę ich zawartości, stylu czy atrybutów. Dzięki tej metodzie programiści mogą szybko i łatwo modyfikować interfejs użytkownika oraz reagować na zdarzenia, co jest zgodne z zasadami responsywnego projektowania i tworzenia dynamicznych aplikacji webowych. Warto również pamiętać, że użycie unikalnych identyfikatorów w HTML jest zgodne z dobrymi praktykami, ponieważ pozwala na łatwiejszą nawigację po strukturze dokumentu i unika konfliktów z innymi elementami.

Pytanie 35

Jakie źródło danych może posłużyć do stworzenia raportu?

A. projekt raportu
B. etykieta
C. zapytanie ALTER
D. zapytanie SELECT
Odpowiedź 4: zapytania SELECT są naprawdę ważne, bo pozwalają na ściąganie konkretnych danych z bazy. To tak jakbyś miał klucz do swojej bazy informacji. Możemy dzięki nim stworzyć różne raporty, na przykład sprzedaży, wybierając dane z tabeli i filtrując je według daty, produktu czy regionu. Warto pamiętać o używaniu klauzuli WHERE, bo dzięki temu nie dostajemy zbędnych wyników, tylko to, co naprawdę nas interesuje. To, co fajne w zapytaniach SELECT, to że możemy łączyć różne tabele z użyciem JOIN, co pozwala na jeszcze bardziej skomplikowane raporty. Z mojego doświadczenia, umiejętność tworzenia zapytań SELECT i ich optymalizacja są kluczowe w analizie danych, a to pomaga w lepszym podejmowaniu decyzji w biznesie.

Pytanie 36

Skrypt w JavaScript, który obsługuje wynagrodzenia pracowników, powinien stworzyć raport dla tych, którzy są zatrudnieni na umowę o pracę oraz otrzymują wynagrodzenie w przedziale domkniętym od 4000 do
4500 zł. Jaki warunek należy zastosować do wygenerowania raportu?

A. umowa == 'praca' || (pensja >= 4000 && pensja <= 4500)
B. umowa == 'praca' && (pensja >= 4000 || pensja <= 4500)
C. umowa == 'praca' && (pensja >= 4000 && pensja <= 4500)
D. umowa == 'praca' || (pensja >= 4000 || pensja <= 4500)
Odpowiedź umowa == 'praca' && (pensja >= 4000 && pensja <= 4500) jest poprawna, ponieważ precyzyjnie określa warunki, jakie muszą być spełnione, aby wygenerować raport. Warunek umowa == 'praca' zapewnia, że analizujemy tylko pracowników zatrudnionych na umowę o pracę, co jest kluczowe w kontekście raportowania. Dodatkowo zastosowanie operatora logicznego '&&' w połączeniu z zakresowym sprawdzeniem pensji (pensja >= 4000 && pensja <= 4500) skutkuje tym, że raport zostanie wygenerowany wyłącznie dla pracowników, których pensja mieści się w ścisłym przedziale od 4000 do 4500 zł. To podejście jest zgodne z dobrymi praktykami programistycznymi, gdzie ważne jest, aby warunki były ściśle zdefiniowane, co pozwala uniknąć nieporozumień i błędów w danych. Przykładowo, jeżeli stworzymy funkcję generującą raport, możemy ją łatwo zaimplementować w systemie hr, co pozwoli na automatyzację procesów związanych z płacami oraz raportowaniem, a także zwiększy przejrzystość i precyzję w zarządzaniu danymi finansowymi.

Pytanie 37

W bazie danych znajduje się tabela o nazwie pracownicy z kolumnami: nazwisko, imię, pensja, wiek. Jak powinna wyglądać składnia polecenia do obliczenia średniej pensji pracowników?

A. select VAR (pracownicy) into pensja
B. select VAR (pensja) from nazwisko
C. select AVG (pensja) from pracownicy
D. select AVG (nazwisko) into pensja
Poprawna odpowiedź, czyli polecenie 'select AVG (pensja) from pracownicy', wykorzystuje funkcję agregującą AVG, która jest standardowo stosowana w SQL do obliczania średniej wartości w kolumnie. W tym przypadku, polecenie to oblicza średnią pensję pracowników zapisanych w tabeli 'pracownicy'. Użycie funkcji AVG jest zgodne z dobrymi praktykami SQL, które zalecają stosowanie odpowiednich funkcji agregujących w celu efektywnego przetwarzania danych. Wartości w kolumnie 'pensja' są analizowane, a wynik zwraca jedną wartość — średnią pensję, co jest niezwykle użyteczne w kontekście raportowania czy analizy wynagrodzeń. Przykładowo, jeśli tabela zawiera pensje 3000, 4000 i 5000, funkcja AVG zwróci 4000. Tego rodzaju zapytania są powszechnie stosowane w raportach kadrowych oraz podczas analizy budżetu w organizacjach, co czyni je niezbędnym elementem wiedzy dla analityków danych oraz programistów baz danych.

Pytanie 38

W SQL warunek ten odpowiada warunkowi liczba >= 10 AND liczba <= 100?

A. NOT (liczba < 10 AND liczba > 100)
B. liczba IN (10, 100)
C. liczba LIKE '10%'
D. liczba BETWEEN 10 AND 100
Odpowiedź 'liczba BETWEEN 10 AND 100' jest prawidłowa, ponieważ odpowiada warunkowi, który sprawdza, czy wartość zmiennej 'liczba' mieści się w przedziale od 10 do 100, włączając oba końce. W SQL konstrukcja 'BETWEEN' jest preferowana, ponieważ jest bardziej czytelna i zrozumiała dla programistów, co sprzyja utrzymaniu kodu. Przykładowe zapytanie SQL używające tego warunku mogłoby wyglądać tak: 'SELECT * FROM tabela WHERE liczba BETWEEN 10 AND 100;'. Zastosowanie 'BETWEEN' unika potencjalnych błędów związanych z używaniem operatorów porównawczych i zapewnia, że obie granice przedziału są respektowane. W praktyce, korzystanie z 'BETWEEN' w zapytaniach SQL jest zgodne z dobrymi praktykami programowania, gdyż poprawia czytelność i ułatwia analizę kodu. Dodatkowo, warto zauważyć, że 'BETWEEN' działa również z datami, co czyni go uniwersalnym narzędziem w SQL.

Pytanie 39

W przedstawionej definicji typu wyliczeniowego w języku C++ enumerator CZWARTEK będzie miał wartość równą

Ilustracja do pytania
A. napisowi "CZWARTEK"
B. liczbie 4
C. liczbie 1
D. napisowi 'CZWARTEK'
W języku C++ typ wyliczeniowy (enum) pozwala na definiowanie grupy nazwanych stałych całkowitych. W przedstawionej definicji enum dni {PONIEDZIAŁEK = 1, WTOREK, ŚRODA, CZWARTEK, PIĄTEK, SOBOTA, NIEDZIELA}; inicjalizacja PONIEDZIAŁEK na 1 powoduje, że kolejne wyliczane wartości są automatycznie zwiększane o 1. Oznacza to, że wartość dla WTOREK wynosi 2, ŚRODA to 3, a CZWARTEK automatycznie staje się równy 4. Takie podejście jest powszechnie stosowane w programowaniu do reprezentowania dyskretnych zestawów wartości, co ułatwia interpretację kodu i minimalizuje ryzyko błędów. W praktyce typy wyliczeniowe są używane do przechowywania dni tygodnia, stanów maszyn oraz innych uporządkowanych kolekcji. Są zgodne ze standardem C++ i odgrywają istotną rolę w tworzeniu czytelnego i efektywnego kodu. Ich zaletą jest możliwość łatwej manipulacji wartościami oraz zwiększenie czytelności kodu dzięki użyciu przyjaznych nazw zamiast surowych wartości liczbowych.

Pytanie 40

Jaki będzie efekt wykonania poniższego kodu JavaScript?

var akapit = document.createElement("p");
document.body.appendChild(akapit);
A. Pokazanie okna dialogowego z napisem akapit
B. Wstawienie akapitu na szczycie strony
C. Dodanie akapitu na końcu strony
D. Skasowanie akapitu ze strony
Kod JavaScript przedstawiony w pytaniu tworzy nowy element paragrafu HTML za pomocą metody document.createElement("p") i dodaje go na koniec elementu body strony za pomocą metody appendChild(). Dlatego poprawna odpowiedź to dodanie akapitu na koniec strony. Tworzenie elementów dynamicznie w JavaScript to kluczowa funkcja umożliwiająca manipulację modelem DOM (Document Object Model) co jest podstawą dynamicznego interfejsu użytkownika. Przykłady zastosowań obejmują dodawanie nowych elementów do listy rozwijanej formularza aktualizację zawartości strony bez konieczności jej przeładowywania czy dodawanie interaktywnych komponentów. Zgodnie z dobrymi praktykami warto pamiętać o konieczności optymalizacji operacji na DOM ponieważ mogą być kosztowne obliczeniowo. Efektywne zarządzanie drzewem DOM wymaga także znajomości innych metod takich jak insertBefore czy replaceChild które pozwalają na bardziej zaawansowane manipulacje struktury dokumentu. Przy projektowaniu dynamicznych aplikacji webowych należy zawsze pamiętać o zachowaniu dostępności i semantyki HTML co jest istotne z punktu widzenia SEO i użyteczności strony.