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: 7 maja 2026 08:17
  • Data zakończenia: 7 maja 2026 08:31

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

W jaki sposób wykonanie podanej poniżej kwerendy SQL wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char9);
A. Zmieni typ danych kolumny plec na znakowy o stałej długości 9.
B. Doda kolumnę plec ze znakowym typem danych o zmiennej długości 9.
C. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9.
D. Doda kolumnę plec ze znakowym typem danych o stałej długości 9.
Wykonanie kwerendy SQL ALTER TABLE pracownicy MODIFY plec char(9) zmienia typ danych kolumny 'plec' w tabeli 'pracownicy' na typ znakowy o stałej długości wynoszącej 9 znaków. Oznacza to, że każda wartość w tej kolumnie może zajmować do 9 znaków, a system będzie rezerwować dokładnie tę ilość miejsca w bazie danych. Typ char jest używany, gdy znana jest maksymalna długość danych, co pozwala na bardziej efektywne zarządzanie pamięcią i skrócenie czasu dostępu do danych. Przykładem zastosowania tego typu danych może być, na przykład, przechowywanie informacji o płci, gdzie 'M' oznacza mężczyznę, a 'K' kobietę. Przed wprowadzeniem tej kwerendy ważne jest, aby upewnić się, że wszystkie istniejące dane w kolumnie plec są zgodne z nowym formatem, aby uniknąć potencjalnych problemów z utratą danych lub błędami podczas konwersji. Standardy SQL, takie jak ANSI SQL, definiują typy danych i operacje na nich, co zapewnia, że kwerendy są przenośne między różnymi systemami baz danych.

Pytanie 2

Na stronie internetowej znajduje się formularz, do którego trzeba zaprogramować następujące funkcje:
– walidacja: podczas wypełniania formularza na bieżąco jest kontrolowana poprawność danych
– przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze
Aby zrealizować tę funkcjonalność w możliwie najprostszy sposób, należy zapisać

A. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
B. walidację i przesyłanie danych w języku JavaScript
C. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
D. walidację i przesyłanie danych w języku PHP
Wybór walidacji i przesyłania danych w języku PHP jest nieefektywny w kontekście nowoczesnych aplikacji webowych. Język PHP jest używany głównie po stronie serwera i nie jest przeznaczony do walidacji danych w czasie rzeczywistym. Oczekiwanie na przesłanie formularza do serwera, aby uzyskać informację o błędach, prowadzi do nieprzyjemnych doświadczeń użytkowników. Użytkownik musi czekać na odpowiedź serwera, co może być czasochłonne i frustrujące. Ponadto, walidacja po stronie serwera może sprawić, że użytkownik straci wprowadzone dane, jeśli wystąpią błędy. To podejście nie tylko obniża użyteczność formularzy, ale także może prowadzić do większych obciążeń serwera, ponieważ każde wprowadzenie danych wymaga zaangażowania zasobów serwerowych. Implementując walidację w JavaScript, można natychmiast informować użytkownika o niewłaściwych danych, co nie tylko zaspokaja potrzeby użytkownika, ale także zmniejsza ilość niepotrzebnych zapytań do serwera. Ostatecznie, korzystanie z jednego języka do obu zadań jest sprzeczne z zasadą separacji obowiązków, co jest kluczowe w inżynierii oprogramowania. Zamiast tego, prawidłową praktyką jest wykorzystanie JavaScript do walidacji danych przed ich przesłaniem, co pozwala na znacznie bardziej responsywne i przyjazne dla użytkownika doświadczenia.

Pytanie 3

Instrukcja SQL przedstawiona w formie graficznej

ALTER TABLE 'miasta'
ADD 'kod' text;
A. dodaje do tabeli kolumnę o nazwie kod typu text
B. wprowadza do tabeli dwie kolumny o nazwach: kod i text
C. w tabeli miasta zmienia nazwę kolumny kod na nazwę text
D. zmienia nazwę tabeli miasta na nazwę kod
Polecenie ALTER TABLE w SQL to naprawdę przydatne narzędzie, które pozwala na modyfikowanie struktury tabeli w bazie danych. W Twoim przypadku dodajesz nową kolumnę o nazwie 'kod' typu text do tabeli 'miasta'. To słowo kluczowe ADD oznacza, że chcemy coś dorzucić do tej tabeli. Typ text jest fajny, bo jest używany do przechowywania różnych dłuższych tekstów, co sprawia, że idealnie nadaje się do takich danych jak opisy czy kody pocztowe. Pamiętaj, że przed robieniem zmian w tabelach warto pomyśleć, jak to wpłynie na całe działanie aplikacji i procesów w firmie. Na przykład, jeśli musisz przechować dodatkowe info o miastach, jak właśnie kody pocztowe, to dodanie tego jest super pomysłem. Znajomość ALTER TABLE jest mega przydatna w zarządzaniu bazami danych, bo pozwala na elastyczne dostosowanie tabel do zmieniających się potrzeb. To naprawdę może zwiększyć efektywność systemu, jeśli dobrze to ogarniesz.

Pytanie 4

Wskaż, który z poniższych jest poprawnym zapisem zmiennej w języku JavaScript.

A. const var-name = 10;
B. var 2nameVar = 10;
C. var $name@ = 10;
D. let variableName = 10;
W języku JavaScript deklaracja zmiennej przy użyciu słowa kluczowego <code>let</code> jest obecnie jedną z najczęściej stosowanych praktyk. Ma ona na celu stworzenie zmiennej o zasięgu blokowym, co oznacza, że zmienna jest dostępna tylko w obrębie bloku kodu, w którym została zadeklarowana. To podejście pozwala na bardziej elastyczne i bezpieczne zarządzanie zmiennymi w kodzie, minimalizując ryzyko błędów związanych z niezamierzonym nadpisywaniem wartości. Zmienna <code>variableName</code> jest poprawnie zapisana zgodnie z konwencjami JavaScript: zaczyna się od litery i składa się wyłącznie z liter oraz cyfr. Wartość 10 przypisana do tej zmiennej to liczba całkowita. Deklaracja <code>let</code> jest preferowana w stosunku do <code>var</code> z uwagi na lepsze zarządzanie zasięgiem i uniknięcie problemów związanych z hoistingiem. Ponadto, stosowanie jasnych i opisowych nazw zmiennych, jak <code>variableName</code>, jest dobrą praktyką programistyczną, ułatwiającą zrozumienie i utrzymanie kodu.

Pytanie 5

W dostępnej tabeli mieszkań znajdują się kolumny o nazwach: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie podanej kwerendy SQL SELECT spowoduje, że zostaną wyświetlone

Ilustracja do pytania
A. metraż oraz cena tych mieszkań, które mają co najmniej 3 pokoje
B. wszystkie informacje oprócz adresu tych mieszkań, które mają więcej niż 3 pokoje
C. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
D. wszystkie informacje dotyczące mieszkań, które mają co najmniej 3 pokoje
Kwerenda SQL SELECT metraz cena FROM mieszkania WHERE ile_pokoi 3 jest zapytaniem, które precyzyjnie określa zakres danych do wyświetlenia na podstawie warunku. Polecenie SELECT określa, które kolumny będą zwracane w wyniku kwerendy w tym przypadku metraz i cena. Dzięki temu uzyskujemy tylko te dane które są istotne w kontekście analizy efektywności lub porównania cen nieruchomości o określonym rozmiarze w ramach bazy danych. Użycie klauzuli WHERE ile_pokoi 3 definiuje dodatkowy filtr aby wyświetlane były jedynie te rekordy które spełniają podany warunek logiczny czyli ilość pokoi większą niż trzy. Jest to powszechnie stosowana praktyka w pracy z bazami danych pozwalająca na efektywne przetwarzanie i analizę dużych zbiorów danych poprzez ograniczenie zwracanych wyników do tych które są najbardziej istotne dla użytkownika. Takie podejście pozwala na optymalizację wydajności zapytań SQL co jest kluczowe w środowiskach produkcyjnych gdzie czas odpowiedzi i obciążenie serwera mają istotne znaczenie

Pytanie 6

W poniższym kodzie PHP wykonano operację na bazie danych. Której funkcji należy użyć, aby pobrać liczbę zmienionych w tabeli wierszy?

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje! Wybrałeś poprawną odpowiedź, która jest funkcją mysqli_affected_rows(). Ta funkcja jest specyficzna dla języka PHP i jest używana do zwracania liczby wierszy, które zostały zmienione, dodane lub usunięte przez ostatnie wywołanie funkcji mysqli_query() na serwerze MySQL. W kontekście operacji takich jak INSERT, UPDATE, REPLACE lub DELETE, mysqli_affected_rows() jest nieocenionym narzędziem do śledzenia ilości wykonanych zmian w bazie danych. Dlatego właśnie w przypadku przedstawionego pytania, gdzie w kodzie PHP wykonano operację UPDATE na bazie danych, idealnym rozwiązaniem jest użycie funkcji mysqli_affected_rows() do pobrania liczby zmienionych wierszy. Jest to kluczowe zrozumienie, aby efektywnie manipulować danymi w bazach danych MySQL za pomocą języka PHP.

Pytanie 7

W tabeli o nazwie pracownicy zdefiniowano klucz główny w typie INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowane zostały pola imie oraz nazwisko. W przypadku wykonania podanej kwerendy SQL, która dodaje dane i pomija pole klucza, w bazie danych MySQL nastąpi

INSERT INTO pracownicy (imie, nazwisko)
VALUES ('Anna', 'Nowak');
A. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
B. zignorowanie polecenia, tabela nie ulegnie zmianie
C. błąd związany z niewłaściwą liczbą pól
D. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przypadku tabeli z kluczem głównym typu INTEGER z atrybutem AUTO_INCREMENT, kiedy wprowadzamy nowy rekord i pomijamy pole klucza głównego, baza danych MySQL sama automatycznie przydziela kolejną wartość liczbową dla tego pola. AUTO_INCREMENT to mechanizm, który zapewnia, że każdemu nowemu rekordowi przypisana jest unikalna wartość klucza głównego, zaczynając od wartości początkowej, zwykle 1, i zwiększając ją o 1 z każdym nowym rekordem. Jest to niezwykle użyteczne w sytuacjach, gdy zależy nam na unikalności wartości kluczy głównych, co zapewnia integralność danych i unika konieczności ręcznego określania wartości klucza przy każdym nowym wpisie. Takie podejście jest zgodne ze standardami dobrych praktyk, ponieważ minimalizuje ryzyko błędów związanych z duplikacją danych. Przykładowo, jeśli do tabeli pracownicy dodajemy rekord z danymi pracownika, nie musimy się martwić o wartość identyfikatora, co znacznie upraszcza proces zarządzania danymi. Mechanizm AUTO_INCREMENT jest zatem kluczowy w kontekście zarządzania bazami danych, zapewniając automatyzację i integralność danych.

Pytanie 8

W tabeli pracownicy utworzono klucz główny typu INTEGER z atrybutami NOT NULL oraz AUTO-INCREMENT. Dodatkowo zdefiniowano pola imie oraz nazwisko. W przypadku użycia przedstawionej w ramce kwerendy SQL wprowadzającej dane, gdzie pominięto pole klucza, w bazie danych MySQL dojdzie do

Ilustracja do pytania
A. zignorowania polecenia, tabela nie ulegnie zmianie
B. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
C. błędu związane z nieprawidłową liczbą pól
D. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przypadku bazy danych MySQL, klucz główny zdefiniowany z atrybutem AUTO-INCREMENT pełni ważną funkcję automatycznego przydzielania unikalnych wartości liczbowych dla każdego nowego rekordu. Jest to szczególnie przydatne w dużych bazach danych, gdzie ręczne przypisywanie wartości klucza mogłoby prowadzić do błędów czy konfliktów. W przedstawionym przypadku, query SQL typu INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak'); pomija pole klucza głównego. Dzięki zastosowaniu AUTO-INCREMENT, MySQL automatycznie przydzieli nową wartość klucza głównego, która będzie kolejną w sekwencji, zapewniając integralność danych. Tego rodzaju mechanizm jest standardem w zarządzaniu relacyjną bazą danych, co pozwala na efektywne i bezpieczne operowanie danymi bez ryzyka wystąpienia błędów związanych z ręcznym zarządzaniem kluczami. Dobre praktyki sugerują, aby w takich przypadkach polegać na funkcji AUTO-INCREMENT, co nie tylko ułatwia pracę z bazą danych, ale również minimalizuje możliwość wystąpienia duplikatów czy niespójności w danych. To podejście jest szeroko stosowane w branży IT, szczególnie w przypadkach systemów wymagających dużego wolumenu danych.

Pytanie 9

Ile razy zostanie wykonany blok pętli napisanej w PHP, przy założeniu, że zmienna sterująca nie jest modyfikowana podczas działania pętli?

for($i=0; $i <=10; $i+=2) {
       . . . . . .
}
A. 0
B. 6
C. 10
D. 5

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 6 ponieważ pętla for w PHP rozpoczyna się od wartości początkowej zmiennej sterującej i inkrementuje ją zgodnie z określonym krokiem aż do momentu spełnienia warunku końcowego Przy początkowej wartości zmiennej i równej 0 i warunku i<=10 oraz kroku i+=2 pętla wykonuje się dla wartości i równych 0 2 4 6 8 i 10 co daje 6 iteracji W takich przypadkach ważne jest aby zrozumieć jak działają podstawowe elementy składni pętli for oraz jakie jest znaczenie warunku końcowego i kroku iteracji W praktyce taki sposób iteracji jest użyteczny w sytuacjach gdzie przetwarzamy dane w określonych odstępach Warto również zwrócić uwagę że dobra praktyka programistyczna zakłada czytelność kodu i stosowanie jasnych komentarzy zwłaszcza gdy pętla ma bardziej złożoną logikę Dzięki temu kod jest łatwiejszy do zrozumienia i utrzymania przez innych programistów co jest kluczowe w pracy zespołowej oraz długoterminowym rozwijaniu projektu

Pytanie 10

Jaką funkcję agregującą można zastosować, aby uzyskać ilość rekordów?

A. NUMBER
B. COUNT
C. SUM
D. AVG

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja agregująca COUNT jest używana w bazach danych do zwracania liczby rekordów spełniających określone kryteria. Jest to jedna z podstawowych funkcji agregujących, która pozwala na szybkie uzyskanie informacji o objętości danych w tabeli. Na przykład, w zapytaniu SQL, które ma na celu policzenie liczby wszystkich klientów w tabeli "klienci", możemy użyć: SELECT COUNT(*) FROM klienci. Zwróci to całkowitą liczbę rekordów. Funkcja COUNT może być również używana z warunkami, co pozwala na bardziej zaawansowane analizy, takie jak: SELECT COUNT(*) FROM klienci WHERE kraj = 'Polska', co policzy tylko tych klientów, którzy są z Polski. W praktyce, COUNT jest nieoceniony w raportowaniu i analizie danych, umożliwiając analitykom i programistom szybkie zrozumienie struktury danych. Dobra praktyka to zawsze stosować COUNT w kontekście grupowania danych przy użyciu klauzuli GROUP BY, co pozwala na uzyskanie liczby rekordów w poszczególnych grupach.

Pytanie 11

Które z wywołań funkcji PHP round() da wynik równy 1?

A. round(0.60)
B. round(-1.40)
C. round(0.29)
D. round(-4.60)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja round() w PHP zaokrągla liczbę do najbliższej wartości całkowitej. W przypadku wywołania round(0.60), wartość ta zostanie zaokrąglona do 1. Jest to zgodne z zachowaniem funkcji, która dąży do zaokrąglania liczb w kierunku najbliższej liczby całkowitej. Dla porównania, wartości bliskie 0.5 są zaokrąglane w górę, co w tym przypadku dotyczy liczby 0.60. W praktyce, zastosowanie funkcji round() jest szerokie i obejmuje wszelkie operacje wymagające precyzyjnego zaokrąglenia wartości, na przykład w obliczeniach finansowych, gdzie istotne jest zaokrąglanie do dwóch miejsc po przecinku, czy w aplikacjach naukowych obliczających wartości eksperymentalne. Warto pamiętać, że w zależności od wersji PHP, round() może przyjmować dodatkowy parametr, który określa liczbę miejsc po przecinku, co umożliwia jeszcze bardziej precyzyjne dostosowanie zaokrąglania do potrzeb konkretnego zastosowania.

Pytanie 12

W skrypcie JavaScript operatory: ||, && zaliczane są do kategorii operatorów

A. arytmetycznych
B. przypisania
C. logicznymi
D. bitowych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'logicznym' jest poprawna, ponieważ w języku JavaScript operatory || (logiczne OR) i && (logiczne AND) są klasyfikowane jako operatory logiczne. Te operatory służą do wykonywania operacji na wartościach logicznych (prawda/fałsz). Użycie operatora && powoduje, że wyrażenie zwraca prawdę tylko wtedy, gdy oba operandy są prawdziwe. Z kolei operator || zwraca prawdę, jeśli przynajmniej jeden operand jest prawdziwy. Przykładem ich zastosowania może być warunkowe wykonywanie kodu, np. w instrukcjach if, gdzie możemy sprawdzić, czy spełnione są określone warunki. Standardowe praktyki programistyczne zalecają używanie tych operatorów do efektywnego zarządzania logiką programów, co zwiększa ich czytelność i umożliwia łatwiejszą konserwację. Ważne jest także zrozumienie, że operatory te wykonują krótką ocenę (short-circuit evaluation), co oznacza, że ​​nie obliczają drugiego operandu, jeśli pierwszy już decyduje o wyniku. Dzięki tym właściwościom, operatory logiczne są kluczowym elementem wszelkich aplikacji programistycznych, które potrzebują podejmować decyzje w oparciu o różne warunki.

Pytanie 13

Jaką rolę pełni funkcja PHP o nazwie mysql_num_rows()?

A. zwraca ilość wierszy znajdujących się w rezultacie zapytania
B. numeruje rekordy w bazie danych
C. zwraca rekord o numerze podanym w argumencie funkcji
D. zwraca następny rekord z wynikami zapytania

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja mysql_num_rows() jest fundamentalnym narzędziem w interakcji z bazami danych w PHP, służącym do zwrócenia liczby wierszy w zestawie wyników zapytania. W kontekście programowania, jej zastosowanie jest kluczowe, gdy chcemy ocenić, czy zapytanie zwróciło jakiekolwiek dane. Przykładowo, jeśli wykonujemy zapytanie do bazy danych w celu pobrania listy użytkowników i chcemy sprawdzić, czy tabela zawiera jakiekolwiek rekordy, użycie mysql_num_rows() pozwala na łatwą i efektywną weryfikację. W praktyce, często łączy się tę funkcję z innymi, takimi jak mysql_query() w celu uzyskania wyników zapytania, a następnie sprawdzenia ich liczby. W związku z tym, dobre praktyki sugerują, aby po każdym zapytaniu, które może zwrócić wiele wyników, stosować tę funkcję do walidacji wyniku. Należy pamiętać, że mysql_num_rows() działa tylko na wynikach zapytań SELECT i nie jest użyteczna w przypadku innych typów operacji na bazach danych.

Pytanie 14

Która zasada dotyczy programowania strukturalnego? 

A. Dla powtarzających się sekwencji instrukcji należy tworzyć procedury i funkcje.
B. Nie można korzystać z instrukcji warunkowych if. 
C. W kodzie programu należy często korzystać z instrukcji skoku goto.
D. Można tworzyć obiekty składające się z pól i metod.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź dobrze oddaje jedną z kluczowych zasad programowania strukturalnego: jeśli w programie pojawiają się powtarzające się sekwencje instrukcji, należy je wydzielać do osobnych procedur i funkcji. Chodzi o to, żeby kod był podzielony na logiczne bloki, które coś konkretnego robią i można je wielokrotnie wywoływać. Z mojego doświadczenia to właśnie ten nawyk najmocniej odróżnia „klepanie kodu” od świadomego programowania. Programowanie strukturalne opiera się na trzech podstawowych strukturach sterujących: sekwencji, selekcji (if, switch) i iteracji (pętle). Z tych klocków buduje się całe algorytmy, bez potrzeby używania chaotycznych skoków typu goto. Funkcje i procedury są naturalnym rozszerzeniem tej idei: pozwalają zamknąć fragment algorytmu w jednym miejscu, nadać mu nazwę i parametry. W praktyce, gdy masz np. fragment kodu liczący średnią z tablicy, walidujący formularz lub generujący fragment HTML, nie powtarzasz go w dziesięciu miejscach, tylko robisz funkcję, np. validateForm(), calculateAverage(), renderMenu(). To podejście daje kilka konkretnych korzyści: po pierwsze, kod jest krótszy i czytelniejszy, bo zamiast ściany instrukcji widzisz wywołania dobrze nazwanych funkcji. Po drugie, łatwiej się go testuje i debugguje, bo możesz sprawdzać działanie pojedynczych procedur. Po trzecie, zmiany w logice wprowadzasz w jednym miejscu – mniejsze ryzyko, że coś przeoczysz. W praktyce wszystkie współczesne języki używane w web devie (C, PHP, JavaScript, Python i inne) promują takie podejście jako absolutny standard. Moim zdaniem, jeśli ktoś potrafi z każdego większego problemu „wyciągnąć” sensowne funkcje i procedury, to ma już bardzo solidny fundament pod dalszą naukę programowania, także obiektowego.

Pytanie 15

W kontekście CSS atrybut font-size może przyjmować wartości zgodnie z nazwami kluczowymi

A. tylko small, smaller, large, larger
B. wyłącznie small, medium, large
C. jedynie big oraz small
D. z zestawu xx-small, x-small, small, medium, large, x-large, xx-large

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W CSS mamy właściwość font-size, która przyjmuje różne wartości, takie jak xx-small, x-small, small, medium, large, x-large i xx-large. Te wszystkie opcje pozwalają na ładne i elastyczne projektowanie stron. Dzięki nim tekst będzie wyglądał dobrze na różnych urządzeniach i przeglądarkach. Na przykład, jak użyjesz 'large' dla nagłówka, to masz pewność, że będzie czytelny w każdej sytuacji. Warto też pamiętać, że korzystanie z jednostek względnych, jak em czy rem, w połączeniu z tymi słownikowymi to dobra praktyka, bo to ułatwi skalowanie i dostępność tekstu. Tak jak w tym przykładzie: h1 { font-size: large; }, gdzie nagłówek h1 będzie odpowiednio duży w porównaniu do reszty tekstu na stronie. Generalnie, te jednostki są zgodne z tym, co zaleca W3C, szczególnie jeśli chodzi o dostępność i responsywność stron internetowych.

Pytanie 16

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja switch w PHP służy do wykonywania różnych bloków kodu w zależności od wartości wyrażenia. W podanym przykładzie, jeśli zmienna $liczba wynosi 10 lub 20, zostanie zwiększona o 1. W przeciwnym razie $liczba zostanie ustawiona na 0. Instrukcja 2 używa warunku if z operatorem or, który sprawdza, czy $liczba jest równa 10 lub 20, co odpowiada logice w switch. Dzięki temu, mimo że struktura instrukcji if różni się od switch, logika działania jest identyczna. Praktycznie, użycie instrukcji if z operatorem or w takich sytuacjach jest czytelne i wydajne zwłaszcza jeśli mamy do czynienia z ograniczoną liczbą warunków. Warto zauważyć, że switch jest bardziej efektywny, gdy mamy wiele przypadków do sprawdzenia, ale if z operatorami logicznymi jest bardziej elastyczny, co czyni go przydatnym w różnorodnych scenariuszach programistycznych. Dobre praktyki wskazują na wybór struktury kontrolnej w zależności od złożoności i specyfiki problemu, co pozwala na optymalizację czytelności i utrzymania kodu.

Pytanie 17

Jakie wyrażenie należy umieścić w miejsce ??? w pętli napisanej w języku C++, aby na ekranie zostały wyświetlone wyłącznie elementy tablicy tab?

int tab[6];
for (int i = 0; ???; i++)
    cout << tab[i];
A. i >= 6
B. i < 6
C. i <= 6
D. i > 6

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór wyrażenia i < 6 jako warunku w pętli for jest poprawny, ponieważ tablica tab została zadeklarowana z sześcioma elementami, co oznacza, że indeksy tej tablicy wahają się od 0 do 5. W języku C++ indeksy tablic zaczynają się od zera, co jest standardową konwencją w wielu językach programowania, takich jak C, C++, Java czy Python. Dzięki zastosowaniu wyrażenia i < 6 w warunku pętli for, zapewniamy, że iteracja obejmuje wszystkie dopuszczalne indeksy tablicy, tj. 0, 1, 2, 3, 4 i 5. Jest to kluczowe dla uniknięcia błędów typu out-of-bounds, które mogą prowadzić do nieprzewidywalnego zachowania programu lub jego awarii. W praktyce, podczas pracy z tablicami, bardzo ważne jest upewnienie się, że indeksy używane w pętli mieszczą się w zakresie długości tablicy. Taki sposób iteracji jest zgodny z dobrymi praktykami programistycznymi, które kładą nacisk na bezpieczeństwo i niezawodność kodu. Ponadto, stosowanie wyraźnych warunków w pętlach poprawia czytelność kodu, co jest istotne w większych projektach, w których kod jest utrzymywany przez zespoły programistyczne.

Pytanie 18

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

A. System Zarządzania Bazą Danych (SZBD)
B. Obiektowy System Zarządzania Bazą Danych
C. Otwarty mechanizm komunikacji bazy danych
D. Klucz obcy

Brak odpowiedzi na to pytanie.

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

Zapytanie MySQL przedstawione poniżej ma na celu

ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL;
A. zmienić typ kolumny tytul w tabeli ksiazki
B. zmienić nazwę kolumny w tabeli ksiazki
C. usunąć kolumnę tytul z tabeli ksiazki
D. dodać kolumnę tytul do tabeli ksiazki

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie 'ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL;' służy do zmiany typu danych lub ograniczeń kolumny w istniejącej tabeli. W tym przypadku modyfikujemy kolumnę 'tytul' w tabeli 'ksiazki', zmieniając jej typ danych na VARCHAR(100) oraz ustawiając ograniczenie NOT NULL. Polecenie MODIFY jest używane w SQL do zmiany struktury kolumny, takiej jak typ danych, długość, czy też dodawanie ograniczeń. Praktyczne zastosowanie tego polecenia można znaleźć w sytuacjach, gdy oryginalna definicja kolumny jest niewystarczająca, np. zwiększenie długości pola tekstowego, aby pomieścić dłuższe wartości. Dobre praktyki przy modyfikacji kolumn obejmują dokładne zrozumienie zmian, które wprowadzasz, oraz testowanie ich w środowisku deweloperskim przed wdrożeniem na żywo. Ważne jest także rozważenie wpływu na istniejące dane oraz wydajność zapytań. Zmiana typu kolumny na VARCHAR z określoną długością jest szczególnie przydatna, gdy chcemy zminimalizować wykorzystanie pamięci w bazie danych.

Pytanie 20

Tablica tab[] jest wypełniona losowymi liczbami całkowitymi. Jaka będzie wartość zmiennej zm2 po wykonaniu poniższego fragmentu kodu?

int tab[10];
int zm1 = 0;
double zm2 = 0;

for (int i=0; i < 10; i++)
{
    zm1 = zm1 + tab[i];
}
zm2 = zm1 / 10;
A. Suma liczb od 1 do 10
B. Średnia geometryczna liczb od 0 do 9
C. Średnia arytmetyczna liczb z tablicy
D. Suma elementów z tablicy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym kodzie fajnie widać, jak oblicza się średnią arytmetyczną z liczb w tablicy tab[]. Na początku ustawiamy zmienne zm1 i zm2 na 0, co jest spoko, bo potem w pętli for dodajemy wszystkie liczby z tablicy do zm1. Gdy pętla się kończy, zm1 zbiera całą sumę liczb, a żeby dostać średnią, dzielimy ją przez 10, bo tyle mamy elementów. Wynik przypisujemy do zm2. To bardzo przydatny proces w programowaniu – średnie są często używane w analizie danych czy obliczeniach wyników. Pamiętaj jednak, żeby nie zapomnieć o możliwych błędach dzielenia przez zero. Dobrze jest sprawdzić, czy tablica nie jest pusta, aby uniknąć kłopotów. I jeszcze jedna rzecz – używanie typu double dla zmiennej zm2 to dobry pomysł, żeby średnia była dokładna, zwłaszcza gdy mowa o liczbach, które nie są całkowite. To wszystko jest zgodne z dobrymi praktykami w IT.

Pytanie 21

Rozdzielczość obrazów cyfrowych wyświetlanych na ekranie monitora wyrażona w liczbie pikseli na cal określa jednostka

A. dpi
B. spi
C. ppi
D. lpi

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to ppi, czyli pixels per inch. Ta jednostka opisuje, ile pikseli przypada na jeden cal długości ekranu i dotyczy konkretnie wyświetlaczy: monitorów, ekranów laptopów, smartfonów, tabletów. W praktyce ppi mówi o gęstości pikseli na ekranie, a więc o tym, jak „ostry” będzie obraz przy danej fizycznej wielkości wyświetlacza. Dwa monitory mogą mieć tę samą rozdzielczość w pikselach (np. 1920×1080), ale inne ppi, jeśli mają różne przekątne. Ten o mniejszej przekątnej będzie miał większe ppi, czyli obraz będzie wyglądał na bardziej szczegółowy. W projektowaniu grafiki na potrzeby WWW przyjmuje się, że kluczowa jest właśnie liczba pikseli w poziomie i pionie oraz fizyczne ppi ekranu użytkownika. Moim zdaniem warto pamiętać, że ppi dotyczy świata ekranów i interfejsów użytkownika, a nie druku. W wielu programach graficznych, gdy tworzysz layout strony, ikonę, element UI, ustawienie ppi pliku ma znaczenie głównie przy podglądzie na różnych urządzeniach, a nie dla samego kodu HTML/CSS. Przeglądarka i tak operuje na pikselach logicznych. Jednak przy projektowaniu responsywnym dobrze kojarzyć ppi z pojęciami takimi jak „retina” czy „HiDPI” – tam po prostu zwiększa się gęstość pikseli, dzięki czemu grafika wygląda ostrzej, ale wymaga to przygotowania obrazów w wyższej rozdzielczości. W branży przyjęło się mówić, że ppi to parametr urządzenia wyświetlającego, a nie pliku, i to jest bardzo zdrowe podejście przy pracy z grafiką na potrzeby stron WWW.

Pytanie 22

Które dane zostaną wybrane w wyniku działania kwerendy na przedstawionych rekordach?

SELECT id FROM samochody WHERE rocznik LIKE "2%4";
idmarkamodelrocznik
1FiatPunto2016
2FiatPunto2002
3FiatPunto2007
4OpelCorsa2016
5OpelAstra2003
6ToyotaCorolla2016
7ToyotaCorolla2014
8ToyotaYaris2004
A. Tylko identyfikator równy 8.
B. Wszystkie identyfikatory.
C. Identyfikatory równe 7 oraz 8.
D. Brak danych.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź wskazuje, że w wyniku działania kwerendy zostaną wybrane rekordy z id równymi 7 oraz 8, ponieważ oba te roczniki zaczynają się cyfrą 2 i kończą na 4, co spełnia warunek LIKE '2%4'. W SQL operator LIKE umożliwia wyszukiwanie wzorców w danych tekstowych i jest bardzo użyteczny w sytuacjach, gdy nieznana jest pełna wartość, a tylko jej część. W praktycznych aplikacjach, takich jak systemy zarządzania bazami danych, często stosuje się ten operator do filtrowania wyników na podstawie niepełnych informacji. Na przykład, jeżeli chciałbyś zidentyfikować wszystkie pojazdy z określonym rocznikiem, użycie LIKE może szybko zawęzić wyniki. Używanie tego operatora w połączeniu z innymi funkcjami SQL, jak GROUP BY czy JOIN, pozwala na kompozycję bardziej złożonych zapytań, co jest standardem w analityce danych.

Pytanie 23

Który atrybut należy dodać do znacznika <video>, aby wyciszyć dźwięk odtwarzanego w przeglądarce filmu?

<video>
    <source src="film.mp4" type="video/mp4">
</video>
A. muted
B. controls
C. autoplay
D. loop

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest poprawna. Atrybut 'muted' jest używany w znaczniku <video>, aby wyłączyć dźwięk dla filmu wyświetlanego w przeglądarce. Jest to sposób na sterowanie dźwiękiem bez konieczności korzystania z dodatkowych elementów kontrolujących odtwarzanie filmu. Jest to bardzo przydatne, gdy chcemy, aby film był odtwarzany w tle bez zakłócania użytkownika dźwiękiem, co jest często stosowane na stronach internetowych. Ważne jest to, że to atrybut 'muted' jest odpowiedzialny za początkowy stan dźwięku filmu, a nie za to, czy użytkownik będzie mógł go później włączyć. Dodatkowo, dobrą praktyką jest pozostawienie użytkownikowi możliwości sterowania dźwiękiem, nawet jeśli jest on domyślnie wyłączony, co można osiągnąć dodając atrybut 'controls'.

Pytanie 24

Jednym z atrybutów tabeli ksiazki jest pole czyWypozyczona, które może mieć dwie wartości: true lub false. Jaki typ danych będzie najbardziej odpowiedni dla tego pola?

A. VARCHAR(5)
B. CHAR
C. BOOLEAN
D. DOUBLE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'BOOLEAN' jest poprawna, ponieważ jest to typ danych, który idealnie odpowiada na potrzeby pola 'czyWypozyczona', które przyjmuje jedynie dwie wartości: true (prawda) oraz false (fałsz). W przypadku baz danych, typ BOOLEAN jest optymalny do reprezentowania stanów logicznych, co pozwala na efektywniejsze zarządzanie danymi oraz ich przetwarzanie. Przykładowo, w systemie zarządzania biblioteką, pole 'czyWypozyczona' może być używane do szybkiego filtrowania książek, które są aktualnie dostępne lub wypożyczone. Użycie typu BOOLEAN eliminuje potrzebę zbędnych konwersji typu, zwiększa czytelność kodu oraz ułatwia optymalizację zapytań SQL. W praktyce, stosowanie typu BOOLEAN jest zgodne z najlepszymi praktykami projektowania baz danych, które promują przejrzystość i zgodność z modelowaniem danych. Warto również zauważyć, że w niektórych systemach zarządzania bazami danych (np. PostgreSQL) typ BOOLEAN jest natywnie obsługiwany, co dodatkowo wpływa na wydajność operacji na danych.

Pytanie 25

Jaką metodę przesyłania danych za pomocą formularza do kodu PHP należy uznać za najbardziej bezpieczną dla poufnych informacji?

A. Metoda POST, przy użyciu protokołu HTTPS
B. Metoda GET, przy użyciu protokołu HTTP
C. Metoda POST, przy użyciu protokołu HTTP
D. Metoda GET, przy użyciu protokołu HTTPS

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda POST, za pomocą protokołu HTTPS jest najbezpieczniejszym sposobem przesyłania danych poufnych w formularzach internetowych. Główną zaletą metody POST jest to, że dane nie są widoczne w adresie URL, co redukuje ryzyko ich ujawnienia w przypadku zapisania historii przeglądania lub w logach serwera. Co więcej, HTTPS, czyli HTTP Secure, zapewnia dodatkową warstwę zabezpieczeń poprzez szyfrowanie danych przesyłanych pomiędzy klientem a serwerem. Dzięki temu, nawet jeśli dane zostaną przechwycone przez nieautoryzowany podmiot, będą one zaszyfrowane, co znacznie utrudnia ich odczytanie. Zastosowanie tej metody jest szczególnie kluczowe w przypadku formularzy wymagających wprowadzenia danych osobowych, informacji finansowych lub logowania do konta użytkownika. W praktyce, wiele współczesnych aplikacji internetowych wymaga stosowania POST i HTTPS jako standardu do przesyłania wrażliwych informacji, co jest zgodne z najlepszymi praktykami bezpieczeństwa oraz standardami branżowymi takim jak OWASP.

Pytanie 26

Linia kodu przedstawiona w PHP ma na celu

Ilustracja do pytania
A. ustalić wartość dla zmiennej $OSOBA
B. porównać dwa ciągi znaków
C. zdefiniować stałą o nazwie OSOBA
D. przypisać wartości do tablicy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku PHP funkcja define() służy do definiowania stałych które są wartościami niezmiennymi po zdefiniowaniu. W przykładzie define(OSOBA Anna Kowalska) definiujemy stałą o nazwie OSOBA z przypisaną wartością Anna Kowalska. Stałe są używane gdy potrzebujemy zagwarantować że dana wartość pozostanie niezmienna przez cały czas działania programu co jest kluczowe w zapewnieniu spójności i integralności danych. PHP odróżnia stałe wielkością liter więc zgodnie z konwencją stałe zapisuje się wielkimi literami dla lepszej czytelności. Funkcja ta jest często używana do definiowania wartości konfiguracyjnych takich jak ścieżki do plików czy dane dostępowe które nie powinny być zmieniane podczas wykonywania skryptu. Dzięki funkcji define() unikamy przypadkowego nadpisania istotnych wartości co jest jedną z dobrych praktyk programistycznych. Warto zaznaczyć że od PHP 7 istnieje możliwość definiowania stałych tablicowych co ułatwia organizację bardziej złożonych danych.

Pytanie 27

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

A. aside {float: left; }
B. nav { float: right; }
C. nav { float: right; } section { float: right; }
D. nav { float: left; } aside { float: left; }

Brak odpowiedzi na to pytanie.

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

Funkcja drzewo kontekstowe w edytorze WYSIWYG Adobe Dreamweaver ma na celu

A. stylizację tekstu za pomocą dostępnych znaczników
B. przygotowanie szablonu witryny internetowej
C. określenie kaskadowych arkuszy stylów przypisanych do strony
D. prezentowanie interaktywnej struktury drzewa HTML dla treści statycznych i dynamicznych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Drzewo kontekstowe w edytorze WYSIWYG Adobe Dreamweaver jest narzędziem, które umożliwia wizualne przedstawienie struktury HTML dokumentu. Użytkownicy mogą za jego pomocą łatwo nawigować po elementach strony, zarówno tych statycznych, jak i dynamicznych. Tego typu rozwiązanie jest nieocenione w procesie projektowania strony internetowej, ponieważ pozwala programistom na szybkie zrozumienie hierarchii elementów, co jest kluczowe dla efektywnego zarządzania kodem. Na przykład, podczas tworzenia złożonych stron internetowych z wieloma sekcjami, drzewa kontekstowe ułatwiają identyfikację i modyfikację poszczególnych komponentów, co może przyspieszyć proces tworzenia oraz debugowania. Dodatkowo, przestrzeganie dobrych praktyk, takich jak stosowanie semantycznych znaczników HTML i odpowiedniego formatowania kodu, może poprawić dostępność i SEO strony, co jest szczególnie ważne w kontekście konkurencji w internecie.

Pytanie 29

Aby uzyskać płynne przejścia obrazów w filmie, liczba klatek (niewchodzących w interakcję ze sobą) na sekundę powinna znajdować się w co najmniej takim zakresie

A. 31 - 36 fps
B. 20 - 23 fps
C. 16 - 19 fps
D. 24 - 30 fps

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 24 - 30 fps jest prawidłowa, ponieważ to właśnie w tym zakresie klatek na sekundę (fps) uzyskuje się płynność ruchu, która jest akceptowana w większości produkcji filmowych i telewizyjnych. Standard 24 fps jest powszechnie stosowany w kinematografii, ponieważ pozwala na naturalne odwzorowanie ruchu, a także jest zgodny z technologią filmową. W praktyce, filmy kręcone w tym standardzie mają charakterystyczną estetykę, która jest ceniona przez widzów. Dodatkowo, przy 30 fps można uzyskać płynniejsze efekty w produkcjach telewizyjnych, szczególnie w transmisjach na żywo i sportowych, gdzie dynamika ruchu jest kluczowa. Utrzymanie liczby klatek w tym zakresie zmniejsza ryzyko efektów stroboskopowych, które mogą wystąpić przy niższych liczbach klatek. Warto również dodać, że nowoczesne technologie filmowe i animacyjne często korzystają z wyższych wartości fps, jednak standardowe ramy dla klasycznych produkcji pozostają w tym zakresie, co czyni je uniwersalnym punktem odniesienia dla twórców.

Pytanie 30

W dokumencie HTML zdefiniowano pewne elementy w klasie o nazwie "nomargin". W celu przeprowadzenia operacji na tych elementach za pomocą języka JavaScript, można wykorzystać funkcję

A. getElement("nomargin")
B. getElementById("nomargin")
C. getElementsByTagName("nomargin")
D. getElementsByClassName("nomargin")

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja getElementsByClassName("nomargin") jest poprawnym sposobem na uzyskanie dostępu do elementów HTML przypisanych do klasy o nazwie 'nomargin'. Jest to metoda dostępna w obiekcie document, która zwraca kolekcję wszystkich elementów, które mają wskazaną klasę. W przeciwieństwie do getElementById, która zwraca pojedynczy element o podanym identyfikatorze, getElementsByClassName zwraca listę, co jest szczególnie przydatne, gdy mamy do czynienia z wieloma elementami oznaczonymi tą samą klasą. Przykładowo, jeśli mamy kilka divów z klasą 'nomargin', możemy w łatwy sposób iterować przez wszystkie z nich i stosować różne operacje, takie jak zmiana stylów czy dodawanie zdarzeń. Używanie tej metody jest zgodne z najlepszymi praktykami, ponieważ pozwala na selekcję grupy elementów, co z kolei wspiera modularność i łatwość zarządzania kodem. Warto również pamiętać, że w przypadku użycia tej metody, zmiany w DOM będą miały wpływ na wszystkie elementy, co może być przydatne w złożonych interfejsach użytkownika.

Pytanie 31

W języku PHP znak "//" wskazuje na

A. początek skryptu
B. operator alternatywny
C. początek komentarza jednoliniowego
D. operator dzielenia całkowitego

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku PHP znak '//' oznacza początek komentarza jednoliniowego. Komentarze w PHP są istotnym elementem kodu, pozwalającym programistom na dodawanie adnotacji, które nie wpływają na wykonywanie skryptu. Komentarze są niezwykle pomocne, gdyż umożliwiają wyjaśnienie złożonych fragmentów kodu, co ułatwia jego dalsze utrzymanie i rozwijanie. Dzięki używaniu '//', programista może opisać, co dany fragment kodu robi, dla siebie lub innych osób przeglądających kod w przyszłości. Przykład zastosowania: jeśli mamy kod 'echo "Hello World!";', możemy dodać komentarz wyjaśniający: '// Wyświetla tekst Hello World!'. Warto zaznaczyć, że PHP pozwala także na korzystanie z komentarzy wieloliniowych, które zaczynają się od '/**' i kończą na '*/'. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programistycznymi, które zalecają dokumentowanie kodu oraz poprawne jego komentowanie, co jest częścią standardów kodowania, takich jak PSR-1 oraz PSR-2, promujących czytelność i spójność w kodzie.

Pytanie 32

W języku HTML, aby połączyć w pionie dwie sąsiadujące komórki w kolumnie tabeli, należy użyć atrybutu

A. rowspan
B. colspan
C. cellpadding
D. cellspacing

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut rowspan w języku HTML jest kluczowy do scalania komórek tabeli w pionie, co oznacza, że pozwala na połączenie dwóch lub więcej komórek w jednej kolumnie w jedną, większą komórkę. Dzięki temu, można uzyskać bardziej przejrzysty i zorganizowany układ informacji w tabelach, zwłaszcza w przypadku danych, które są ze sobą powiązane. Na przykład, jeśli mamy tabelę, w której jeden z wierszy odnosi się do tytułu kategorii, a poniżej znajdują się różne elementy tej kategorii, użycie atrybutu rowspan w pierwszej komórce umożliwi jej rozszerzenie na kilka wierszy, co wizualnie połączy te dane. Standard HTML5 definiuje atrybut rowspan jako atrybut, który przyjmuje wartość liczbową, określającą liczbę wierszy, które mają zostać scalone. Przykładowy kod HTML mógłby wyglądać następująco: <table><tr><td rowspan='3'>Kategoria</td><td>Element 1</td></tr><tr><td>Element 2</td></tr><tr><td>Element 3</td></tr></table>, co w efekcie tworzy jedną komórkę o wysokości trzech wierszy oraz trzy osobne komórki w drugiej kolumnie. Użycie rowspan w praktyce jest nie tylko estetyczne, ale również poprawia czytelność danych, co jest niezmiernie ważne w interfejsach użytkownika.

Pytanie 33

Jaką wartość uzyska zmienna x po wykonaniu kodu PHP zaprezentowanego w ramce?

Ilustracja do pytania
A. Ilość wierszy dodanych do tabeli produkty
B. Ilość wierszy w tabeli produkty, gdzie pole status jest większe od zera
C. Ilość wierszy w bazie danych
D. Ilość wierszy przetworzonych przez zapytanie DELETE FROM

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przedstawionym kodzie PHP funkcja mysqli_affected_rows() jest używana do uzyskania liczby wierszy zmienionych przez ostatnie zapytanie MySQL. W tym przypadku zapytanie DELETE FROM produkty WHERE status < 0 próbuje usunąć wszystkie rekordy z tabeli produkty, których pole status ma wartość mniejszą od zera. Po wykonaniu tego zapytania funkcja mysqli_affected_rows($db) zwróci liczbę wierszy, które zostały rzeczywiście usunięte. To jest szczególnie przydatne w kontekście sprawdzania wpływu operacji na bazę danych i pozwala na dynamiczne podejmowanie decyzji w aplikacjach bazodanowych. Przykładowo, jeśli po usunięciu chcemy wykonać dodatkowe operacje tylko wtedy, gdy co najmniej jeden rekord został usunięty, możemy użyć tej funkcji. Zgodnie z dobrymi praktykami, korzystanie z mysqli_affected_rows() jest standardem, gdyż pozwala również na obsługę wyjątków i błędów bazy danych. Optymalizacja operacji DELETE poprzez precyzyjne filtrowanie w WHERE, jak w naszym przykładzie, jest kluczowa dla zachowania wydajności bazy danych szczególnie w dużych systemach produkcyjnych.

Pytanie 34

W formularzu, wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w pokazany sposób. Jaki typ będzie miała zmienna x?

var x = parseInt(a);
A. napisowy
B. NaN
C. zmiennoprzecinkowy
D. liczbowy, całkowity

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja parseInt() w JavaScript jest super przydatna, bo pozwala zamienić ciąg znaków na liczbę całkowitą. Jak masz zmienną a, która bierze dane z inputu typu number, to parseInt() łapie te liczby i wyrzuca wszystko, co nie jest cyfrą. Dzięki temu dostajesz liczby całkowite. Warto wiedzieć, że ta funkcja nie zaokrągla wyników, tylko obcina część dziesiętną. To świetna opcja, gdy potrzebujesz tylko całkowitych wartości. parseInt() dobrze działa w programowaniu – często wykorzystuje się go do walidacji i manipulacji liczbami. Z mojego doświadczenia, kiedy pracujesz z różnymi typami danych, musisz zadbać, żeby przekształcenia były na miejscu, bo to bardzo ważne dla aplikacji. Użycie parseInt() jest zgodne z zasadami ECMAScript, co oznacza, że działa w różnych środowiskach JavaScript. Przykładem dobrego zastosowania są aplikacje webowe, gdzie często potrzebujesz liczb całkowitych, na przykład w kalkulatorach czy formularzach z wyborem ilości produktów.

Pytanie 35

Który program komputerowy zamienia kod źródłowy, stworzony w danym języku programowania, na język zrozumiały dla komputera?

A. Środowisko programistyczne
B. Debugger
C. Edytor kodu źródłowego
D. Kompilator

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kompilator to program komputerowy, który przekształca kod źródłowy, napisany w konkretnym języku programowania, na język maszynowy, czyli zrozumiały dla procesora komputera. Proces ten polega na analizie kodu źródłowego, optymalizacji go oraz generowaniu odpowiedniego kodu maszynowego, który może być bezpośrednio wykonany przez komputer. Kompilatory są kluczowymi narzędziami w tworzeniu oprogramowania, ponieważ umożliwiają programistom pisanie kodu w bardziej zrozumiałych i wysokopoziomowych językach, takich jak C++, Java czy Python, które zostają następnie przekształcone w wydajny kod maszynowy. Przykłady popularnych kompilatorów to GCC dla języka C/C++, javac dla Javy oraz Clang, który jest nowoczesnym kompilatorem dla C, C++ i Objective-C. Warto również wspomnieć o standardach, takich jak ANSI C, które definiują zasady pisania kodu w języku C, a kompilatory implementują te zasady, aby zapewnić zgodność i przenośność kodu między różnymi systemami operacyjnymi i platformami sprzętowymi. Kompilatory mogą również oferować dodatkowe funkcje, takie jak analiza statyczna kodu czy generowanie dokumentacji, co czyni je nieocenionym narzędziem w każdym nowoczesnym środowisku programistycznym.

Pytanie 36

Która z czynności NIE WPŁYNIE na wielkość zajmowanej pamięci pliku graficznego?

A. Zmiana rozdzielczości obrazu
B. Skalowanie obrazu przy użyciu atrybutów HTML
C. Kompresja
D. Interpolacja

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Skalowanie obrazu za pomocą atrybutów HTML nie wpływa na rozmiar pliku graficznego, ponieważ ta operacja odbywa się po stronie klienta, w przeglądarce, a nie na samym pliku. Gdy obraz jest wyświetlany w HTML, atrybuty takie jak 'width' i 'height' mogą zmienić jego wizualny rozmiar na stronie, ale nie modyfikują samego pliku. W praktyce oznacza to, że niezależnie od tego, jak duży lub mały wyświetlany jest obraz, jego rzeczywisty rozmiar na dysku pozostaje niezmieniony. Dobrą praktyką w web designie jest stosowanie odpowiednich rozmiarów i formatów obrazów w zależności od kontekstu, co może poprawić szybkość ładowania strony i doświadczenie użytkownika. Warto również pamiętać, że zbyt duże obrazy mogą powodować dłuższy czas ładowania, co wpływa na SEO i oceny wydajności witryny. Dlatego zaleca się optymalizację obrazów przed ich dodaniem do strony, co jest bardziej efektywne niż poleganie na zmianie rozmiarów przez HTML.

Pytanie 37

tr:nth-child(even) {background-color: #F2F2F2;}
Zastosowane formatowanie selektora tr:nth-child(even) spowoduje:
A. wypełnienie szarym tłem nieparzystych wierszy tabeli.
B. wypełnienie szarym tłem parzystych wierszy tabeli.
C. oddzielenie wierszy nieparzystych od parzystych wierszem z szarym tłem.
D. wypełnienie wszystkich wierszy tabeli szarym tłem.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Selektor CSS tr:nth-child(even) oznacza dokładnie: wybierz wszystkie elementy <tr>, które są parzystymi dziećmi swojego rodzica, licząc od 1 w górę. W CSS funkcja nth-child() przyjmuje słowo kluczowe even dla elementów parzystych (2, 4, 6, …) i odd dla elementów nieparzystych (1, 3, 5, …). To jest zdefiniowane w specyfikacji CSS Selectors Level 3. W Twoim przykładzie even powoduje, że przeglądarka nadaje styl background-color: #F2F2F2; wszystkim parzystym wierszom tabeli, czyli 2., 4., 6. itd. wierszowi <tr>. Dzięki temu powstaje tzw. zebra-striping, czyli naprzemienne kolorowanie wierszy tabeli, bardzo często stosowane w interfejsach webowych, bo poprawia czytelność danych i ułatwia śledzenie wiersza wzrokiem. W praktyce używa się tego zwykle razem z drugim stylem, np. tr:nth-child(odd) { background-color: white; }, żeby wyraźnie rozróżnić wiersze. Warto też pamiętać, że nth-child() liczy wszystkie dzieci danego rodzica, a nie tylko te z określoną klasą, więc jeżeli w tabeli pojawią się np. wiersze nagłówkowe <tr> w <thead>, to selektor tr:nth-child(even) zastosowany globalnie może dać trochę inne efekty niż się spodziewasz. Dobrą praktyką jest zawężanie selektora, np. tbody tr:nth-child(even), żeby kolorowanie dotyczyło tylko części z danymi, bez nagłówków. Z mojego doświadczenia warto też używać kolorów o niewielkim kontraście, tak jak #F2F2F2, żeby nie męczyć wzroku użytkownika przy długich tabelach.

Pytanie 38

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

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

Brak odpowiedzi na to pytanie.

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

Pytanie 39

Jak wygląda prawidłowy zapis samozamykającego się znacznika w zgodzie ze standardem języka XHTML, który odpowiada za łamanie linii?

A. <br />
B. </ br>
C. <br> </br>
D. </br/>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź <br /> jest prawidłowym zapisem samozamykającego się znacznika w standardzie XHTML. XHTML, czyli eXtensible HyperText Markup Language, wymaga, aby znaczniki były poprawnie zamknięte. W przypadku znaczników, które nie mają zawartości, jak <br />, stosuje się specjalną składnię. Oznaczenie <br /> wskazuje na przełamanie linii w dokumencie HTML. Ważne jest, aby podać ukośnik przed zakończeniem znacznika, co jest zgodne z zasadami XHTML. Przykładowo, w dokumentach XHTML, prawidłowe użycie <br /> może wyglądać tak: <p>Tekst przed łamaniem linii.<br />Tekst po łamaniu linii.</p>. Przestrzeganie tych zasad zapewnia, że dokumenty będą poprawnie interpretowane przez przeglądarki oraz będą zgodne z standardami W3C, co jest kluczowe dla zachowania wysokiej jakości kodu oraz jego dostępności.

Pytanie 40

Polecenie w SQL GRANT ALL PRIVILEGES ON klienci TO pracownik ma na celu

A. cofnąć wszystkie uprawnienia pracownika do tabeli klienci
B. nadać wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
C. przenieść uprawnienia z grupy klienci na użytkownika pracownik
D. przyznać grupie klienci uprawnienia do tabeli pracownik

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik w języku SQL jest używane do nadawania wszystkich dostępnych uprawnień na określonej tabeli, w tym przypadku na tabeli klienci, użytkownikowi o nazwie pracownik. Dzięki temu, otrzymuje on pełną kontrolę nad danymi w tej tabeli, co obejmuje możliwość dodawania, modyfikowania oraz usuwania rekordów, a także zarządzania strukturą tabeli. Jako przykład, jeśli pracownik potrzebuje wprowadzać nowe informacje o klientach, usuwanie zbędnych danych lub edytowanie istniejących rekordów, nadanie mu wszystkich uprawnień jest kluczowe. Standardy SQL definiują sposób zarządzania uprawnieniami i pozwalają administratorom na precyzyjne kontrolowanie dostępu do danych. W praktyce, aby skorzystać z tego polecenia, użytkownik musi mieć odpowiednie uprawnienia do nadawania uprawnień innym użytkownikom. Warto również pamiętać o zasadzie najmniejszych uprawnień, która sugeruje, że użytkownik powinien otrzymać tylko te uprawnienia, które są niezbędne do wykonania jego zadań, co zwiększa bezpieczeństwo bazy danych.