Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 27 kwietnia 2026 14:22
  • Data zakończenia: 27 kwietnia 2026 14:34

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

Wymagane minimum: 20 punktów (50%)

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

Który atrybut należy wstawić w miejsce kropek, aby przeglądarka wyświetliła komunikat o błędzie w przypadku kliknięcia przycisku "Zapisz" bez wypełnionego pola nazwisko?

<form action="/skrypt.php" method="post">
  <input type="text" name="nazwisko" ...>
  <input type="submit" value="Zapisz">
</form>
A. disable
B. checked
C. required
D. pattern
Poprawną odpowiedzią jest atrybut „required”. Ten atrybut jest częścią wbudowanego mechanizmu walidacji formularzy HTML5 po stronie przeglądarki. Jeśli dodasz go do pola typu input, textarea czy select, przeglądarka automatycznie sprawdzi, czy użytkownik coś tam wpisał lub wybrał, zanim pozwoli wysłać formularz. W naszym przykładzie: <input type="text" name="nazwisko" required> sprawi, że kliknięcie przycisku „Zapisz” bez wypełnionego nazwiska wywoła komunikat błędu i formularz nie zostanie wysłany. To działa bez żadnego JavaScriptu i bez dodatkowego kodu po stronie serwera. Moim zdaniem warto pamiętać, że „required” to nie tylko wygoda, ale też dobra praktyka UX – użytkownik od razu widzi, czego brakuje, a nie dopiero po przeładowaniu strony. Standard HTML5 jasno opisuje ten atrybut jako tzw. boolean attribute, czyli taki, który samą swoją obecnością w znaczniku włącza daną funkcję. Nie trzeba pisać required="required", chociaż przeglądarka i tak to zrozumie. W praktyce używa się go bardzo często w formularzach rejestracji, logowania, zamówień: imię, nazwisko, e‑mail, hasło – wszędzie tam, gdzie pole jest obowiązkowe. Dobrze jest łączyć required z innymi atrybutami walidacyjnymi, np. type="email" czy pattern, żeby od razu kontrolować nie tylko to, czy coś wpisano, ale też czy ma poprawny format. Mimo wszystko, nawet przy użyciu required, nigdy nie wolno rezygnować z walidacji po stronie serwera, bo walidacja w przeglądarce może być wyłączona albo ominięta. Required traktuj jako pierwszą linię obrony i wygodne wsparcie dla użytkownika, a nie jedyne zabezpieczenie.

Pytanie 2

Jakie formatowanie obramowania jest zgodne ze stylem border-style: dotted solid;?

Ilustracja do pytania
A. Formatowanie 3
B. Formatowanie 4
C. Formatowanie 1
D. Formatowanie 2
Obramowanie w CSS może mieć różne style, które wpływają na estetykę i funkcjonalność projektów webowych. Styl „dotted” oznacza kropkowane obramowanie, które nadaje elementom lekkość i subtelność. Z kolei „solid” oznacza jednolite, ciągłe obramowanie, zapewniające wyraźną separację. W przypadku mieszanych stylów, jak „border-style: dotted solid;”, mamy kombinację, która często stosowana jest dla efektu wizualnego, gdzie różne krawędzie mają różny charakter. Obramowanie typu „dashed” jest mylące dla „dotted”, ponieważ oba są przerywane, ale „dashed” jest bardziej surowe i strukturalne, używane, gdy potrzeba mniej subtelnych, lecz nadal nie ciągłych obramowań. Natomiast styl „double” jest złożony z dwóch linii równoległych, co tworzy elegancki, ale wyrazisty efekt, używany w celach dekoracyjnych. Typowym błędem jest nieodróżnianie tych stylów, co prowadzi do niezamierzonych efektów wizualnych. W praktyce, wybór stylu obramowania powinien być świadomy i dostosowany do kontekstu użytkowego oraz estetycznego, co ma kluczowe znaczenie w projektowaniu stron internetowych zgodnie z zasadami user experience.

Pytanie 3

Kompresja bezstratna pliku graficznego zapewnia

A. oryginalną jakość grafiki
B. mniejszą ilość warstw
C. rozmiar większy niż w oryginale
D. wyższą jakość
Kompresja bezstratna pliku graficznego to technika, która pozwala na zmniejszenie rozmiaru pliku graficznego bez utraty jakichkolwiek informacji wizualnych. Oznacza to, że po procesie kompresji, obraz zachowuje swoją pierwotną jakość, a wszystkie detale, kolory i tekstury pozostają nienaruszone. Przykładami formatów wykorzystujących kompresję bezstratną są PNG (Portable Network Graphics) oraz TIFF (Tagged Image File Format). W przypadku PNG, algorytm kompresji, znany jako DEFLATE, pozwala na efektywne zmniejszenie rozmiaru pliku poprzez usuwanie nadmiarowych danych bez wpływu na jakość obrazu. Kompresja bezstratna jest szczególnie ważna w dziedzinach, gdzie jakość grafiki ma kluczowe znaczenie, na przykład w druku, gdzie jakiekolwiek zniekształcenia mogłyby wpłynąć na finalny efekt. Umożliwia ona również edytowanie obrazów bez obawy o degradację jakości, co jest istotne w pracy z grafiką komputerową oraz fotografią. Dzięki temu technologia ta zyskuje na popularności wśród grafików i profesjonalistów zajmujących się obróbką zdjęć.

Pytanie 4

W języku C++ funkcja, która zwraca rezultat potęgowania i operuje na dwóch argumentach: liczbie x oraz wykładniku w, powinna mieć taką deklarację

A. void potega(int x, int w);
B. int potega(int x, int w);
C. void potega(int x, int w, int wynik);
D. int potega(int x);
Przyjrzyjmy się tym nieprawidłowym odpowiedziom. 'int potega(int x);' to trochę za mało, bo brakuje drugiego argumentu, czyli wykładnika, który jest niezbędny do potęgowania. Potęgowanie potrzebuje obu elementów: podstawy i wykładnika, więc jeżeli jeden z nich wypadnie, to funkcja będzie niekompletna. Odpowiedź 'void potega(int x, int w);' również jest błędna, bo mówi, że funkcja nie zwraca żadnej wartości. W kontekście potęgowania, każdy by oczekiwał uzyskać konkretny wynik. Jak funkcja nic nie zwraca, to można mieć spore problemy z dalszym przetwarzaniem. Co do 'void potega(int x, int w, int wynik);' - dodawanie dodatkowego argumentu niepotrzebnie komplikuje sprawę. Bywa, że można przekazywać argumenty przez referencję, ale w prostym potęgowaniu to po prostu zbędne. Dużo osób nie zdaje sobie sprawy, jak ważne jest, żeby funkcje miały jasno określony interfejs. Dobre funkcje powinny dokładnie określać, co biorą i co zwracają, wtedy łatwiej je używać i integrować w innych częściach programów.

Pytanie 5

W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której zmienne a i b są większe od zera, przy czym zmienna b nie przekracza wartości 100. Taki warunek powinien być zapisany w następujący sposób:

A. if (a>0 || b> 0 || b > 100) ...
B. if (a>0 || (b> 0 && b<100)) ...
C. if (a > 0 && b > 0 && b < 100) ...
D. if (a > 0 && b > 0 || b > 100) ...
Warunek zapisany jako 'if (a > 0 && b > 0 && b < 100)' jest prawidłowy, ponieważ spełnia wszystkie wymagane kryteria. Składnia tego wyrażenia logicznego wskazuje, że zarówno zmienna 'a' musi być większa od zera, jak i zmienna 'b' musi być większa od zera oraz mniejsza od 100. Użycie operatora '&&' (AND) oznacza, że wszystkie warunki muszą być spełnione, aby blok kodu wewnątrz instrukcji 'if' został wykonany. To jest zgodne z najlepszymi praktykami programowania, które zalecają, aby warunki były wyraźnie zdefiniowane i logicznie powiązane, aby uniknąć nieporozumień i błędów. W praktycznych zastosowaniach, jeśli chcemy np. przyznać użytkownikowi dostęp do systemu tylko wtedy, gdy spełnione są konkretne kryteria, takie podejście zapewnia, że nasze instrukcje są wykonywane tylko w odpowiednich okolicznościach. Dodatkowo, definiując precyzyjnie nasze warunki, zwiększamy czytelność kodu, co jest kluczowe w projektach zespołowych, gdzie wiele osób może pracować nad tym samym kodem.

Pytanie 6

W skrypcie JavaScript, aby uzyskać dane od użytkownika, można wykorzystać okno wyświetlane przez funkcję

A. prompt()
B. documet.write()
C. alert()
D. confirm()
Funkcja prompt() w JavaScript jest specjalnie zaprojektowana do pobierania danych od użytkownika i wyświetlania okna dialogowego, które pozwala wprowadzić tekst. W przeciwieństwie do alert(), który jedynie wyświetla informacje, prompt() umożliwia użytkownikowi wprowadzenie danych, które mogą być później wykorzystane w kodzie. Na przykład, można zainicjować zmienną i przypisać do niej wartość wprowadzaną przez użytkownika: var imie = prompt('Podaj swoje imię:');. Tego rodzaju interakcje są niezwykle ważne w dynamicznych aplikacjach internetowych, gdzie potrzeba elastyczności i użytkownika jako aktywnego uczestnika w procesie. Dobrą praktyką jest zapewnienie, że zapytania są jasne i zrozumiałe, a także, że walidujemy dane wejściowe, aby uniknąć błędów. Warto również mieć na uwadze, że z uwagi na estetykę i funkcjonalność, w nowoczesnym podejściu do interakcji użytkownika, lepszym rozwiązaniem mogą być formularze HTML z JavaScript, które oferują większą kontrolę nad danymi i lepsze możliwości stylizacji."

Pytanie 7

W PHP w konstrukcji switch konieczne jest użycie

A. konstrukcji switch(wyrażenie)
B. instrukcji default
C. instrukcji break po każdym przypadku case
D. przynajmniej dwóch instrukcji case
Poprawna odpowiedź to konstrukcja switch(wyrażenie), ponieważ jest to podstawowy element składniowy w języku PHP. Instrukcja switch jest używana do porównywania wartości wyrażenia z różnymi wartościami case. W przypadku znalezienia dopasowania, wykonywana jest odpowiednia sekcja kodu. Ważne jest, aby zrozumieć, że samo utworzenie konstrukcji switch bez podania wyrażenia nie ma sensu, ponieważ nie istnieje wartość, którą można porównać. Przykład zastosowania konstrukcji switch może wyglądać następująco: switch($day) { case 'Monday': echo 'Poniedziałek'; break; case 'Tuesday': echo 'Wtorek'; break; default: echo 'Inny dzień'; }. Użycie instrukcji default jest opcjonalne, a także nie jest konieczne posiadanie przynajmniej dwóch case, aby konstrukcja była poprawna. Zastosowanie switch jest często bardziej czytelne i zorganizowane niż wiele zagnieżdżonych instrukcji if-else, co jest zgodne z najlepszymi praktykami programistycznymi, poprawiającymi zarówno zrozumiałość, jak i konserwację kodu.

Pytanie 8

Aby włączyć zewnętrzny skrypt JavaScript o nazwie skrypt.js, konieczne jest umieszczenie w kodzie HTML

A. <link rel="JavaScript" type="js" href="/skrypt.js" />
B. <link rel="script" href="/skrypt.js" />
C. <script> skrypt.js </script>
D. <script src="/skrypt.js"></script>
Poprawna odpowiedź to <script src="/skrypt.js"></script>. Wykorzystanie atrybutu src w tagu <script> to standardowa metoda do ładowania zewnętrznych skryptów JavaScript w HTML. Dzięki temu przeglądarka wie, żeby pobrać i uruchomić kod z pliku skrypt.js. To z kolei pozwala na lepszą organizację, bo możemy używać tego samego skryptu w różnych miejscach projektu. No i w praktyce, to przynosi dużo korzyści, jak łatwiejsze utrzymanie czy debugowanie aplikacji. Jak mamy porządnie zorganizowany kod, to strona się szybciej ładuje, a przeglądarka może buforować te skrypty. Na koniec warto dodać, że dobrze osadzone skrypty wpływają też pozytywnie na SEO, bo wyszukiwarki lubią strony, które są zorganizowane i zoptymalizowane. Warto pamiętać, żeby umieszczać tagi <script> na końcu dokumentu HTML, zaraz przed zamknięciem tagu </body>, bo to pozwala na szybsze wyświetlanie zawartości.

Pytanie 9

Baza danych zawiera tabelę artykuły z kolumnami: nazwa, typ, producent, cena. Aby wypisać wszystkie nazwy artykułów jedynie typu pralka, których cena mieści się w zakresie od 1000 PLN do 1500 PLN, należy użyć zapytania

A. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
B. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
C. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
D. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje polecenie SQL w odpowiedni sposób, aby wybrać nazwy artykułów, które spełniają określone kryteria. Słowo kluczowe 'BETWEEN' jest używane do określenia wartości w przedziale, co w tym przypadku oznacza, że cena artykułów musi mieścić się między 1000 a 1500 PLN. W połączeniu z warunkiem 'AND' zapewnia, że tylko te artykuły, które są typu 'pralka' i mają cenę w podanym przedziale, zostaną wyświetlone. W praktyce takie zapytanie jest niezwykle użyteczne w kontekście e-commerce, gdzie często przeprowadza się filtrowanie produktów według określonych parametrów. Dobrą praktyką w programowaniu SQL jest również używanie podwójnych cudzysłowów dla wartości tekstowych, co jest zgodne z niektórymi standardami SQL, chociaż w wielu systemach baz danych akceptowane są również pojedyncze cudzysłowy. Przykłady zastosowania tego zapytania można znaleźć w systemach zarządzania zapasami, gdzie potrzebne jest szybkie generowanie list produktów spełniających specyficzne wymagania klientów.

Pytanie 10

Jaką treść komunikatu należy umieścić w kodzie PHP zamiast znaków zapytania?

$a = mysql_connect('localhost', 'adam', 'mojeHaslo');

if (!$a)
    echo "?????????????";
A. Wybrana baza danych nie istnieje
B. Błąd połączenia z serwerem SQL
C. Błąd w trakcie przetwarzania zapytania SQL
D. Rekord został pomyślnie dodany do bazy
Poprawna odpowiedź 'Błąd połączenia z serwerem SQL' jest właściwa, ponieważ funkcja mysql_connect() służy do nawiązywania połączenia z serwerem bazy danych MySQL. Jeśli połączenie nie powiedzie się, zwraca false. W takiej sytuacji należy poinformować użytkownika o nieudanym połączeniu. Jest to kluczowe w debugowaniu i zapewnianiu użytkownikowi zrozumiałych komunikatów błędów. W praktyce, połączenie z bazą danych jest podstawowym krokiem w wielu aplikacjach internetowych, a jego poprawna obsługa to standardowa praktyka branżowa. Współczesne podejście wymaga także użycia rozszerzenia mysqli lub PDO zamiast przestarzałej funkcji mysql_connect(). Jest to zalecane ze względu na lepsze wsparcie bezpieczeństwa i wydajności. Użycie funkcji mysqli_connect() pozwala na obsługę zarówno błędów połączenia, jak i zapytań SQL w sposób bardziej elastyczny i bezpieczny.

Pytanie 11

W języku SQL, aby usunąć wszystkie rekordy z tabeli, nie eliminując jej samej, można skorzystać z polecenia

A. DROP
B. UPDATE
C. TRUNCATE
D. ALTER
Polecenie TRUNCATE w języku SQL jest używane do usunięcia wszystkich danych z tabeli w sposób szybki i efektywny, bez potrzeby usuwania samej tabeli. TRUNCATE działa na poziomie struktury bazy danych, co oznacza, że nie zapisuje informacji o usuniętych rekordach w dzienniku transakcji, co czyni operację znacznie szybszą w porównaniu do innych metod, takich jak DELETE. W praktyce, gdy chcesz zresetować tabelę do stanu pustego, TRUNCATE jest najlepszym wyborem. Przykładem zastosowania może być sytuacja, gdy tabela tymczasowa zawiera dane, które nie są już potrzebne po zakończeniu procesu przetwarzania. W takim przypadku użycie polecenia TRUNCATE pozwala na szybkie usunięcie wszystkich rekordów, a sama struktura tabeli pozostaje nienaruszona do przyszłego użycia. Dobrą praktyką jest również stosowanie TRUNCATE w sytuacjach, gdzie nie potrzebujemy zachować historii operacji na danych, co zwiększa wydajność bazy danych. Zgodnie z zaleceniami standardów SQL, TRUNCATE jest bardziej odpowiednie do operacji na dużych zbiorach danych, gdyż minimalizuje czas operacji i obciążenie systemu.

Pytanie 12

Tabele: Studenci, Zapisy, Zajecia są powiązane relacją. Aby wybrać jedynie nazwiska studentów oraz odpowiadające im idZajecia dla studentów z grupy 15, należy wydać kwerendę

Ilustracja do pytania
A. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy WHERE grupa= 15;
B. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE grupa = 15;
C. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idZajecia WHERE grupa = 15;
D. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta;
W tej odpowiedzi zostało wszystko zrobione zgodnie z zasadami projektowania relacyjnych baz danych oraz praktyk SQL. Użycie JOIN zamiast starego stylu łączenia tabel przez przecinek i warunek WHERE to nie tylko kwestia czytelności, ale już od dawna standard branżowy. JOIN jasno pokazuje, na jakiej zasadzie łączą się tabele, w tym wypadku Studenci i Zapisy – łączymy po id studenta, bo tylko w taki sposób faktycznie powiążemy konkretne osoby z ich zapisami na zajęcia. WHERE grupa = 15 dodatkowo ogranicza wynik do tej konkretnej grupy studentów, co jest bardzo powszechną praktyką filtrowania wyników w zapytaniach. Przy bardziej złożonych systemach, gdzie mamy dużo relacji, taki zapis jest czytelny i łatwy do modyfikacji. Z mojego doświadczenia, jeżeli ktoś pracuje z większą ilością danych, czy nawet pisze bardziej skomplikowane raporty, to dokładnie taki zapis – z wyraźnie określonym JOIN-em i selekcją kolumn – bardzo ułatwia życie. Warto też pamiętać, że w praktyce biznesowej często chcemy wyciągnąć konkretną informację o użytkownikach lub powiązanych encjach, a nie wszystko naraz. W tym zadaniu to właśnie połączenie po idStudenta i selekcja po grupie daje najprecyzyjniejszy i najczystszy rezultat, zgodny i z logiką, i praktyką codziennej pracy z bazami danych.

Pytanie 13

Wskaż polecenie, które działa identycznie jak instrukcja while w PHP.

$x = 0;
while($x < 5) {
    echo "$x,";
    $x++;
}

Instrukcja 1
for ($x=0; $x<5; $x++) {
    echo "$x,";
    $x++;
}

Instrukcja 2
for ($x=0; $x<5; $x+=2) {
    echo "$x,";
    $x++;
}

Instrukcja 3

for ($x=0; $x<5; $x++) {
    echo "$x,";
}

Instrukcja 4
for ($x=1; $x<=5; $x++) {
    echo "$x,";
}
A. Instrukcja 4
B. Instrukcja 1
C. Instrukcja 2
D. Instrukcja 3
Instrukcja 3 jest funkcjonalnie równoważna podanej instrukcji while w języku PHP. W obu przypadkach pętla zaczyna się z wartością zmiennej x równej 0 i kontynuuje dopóki x jest mniejsze od 5. W każdej iteracji zmienna x jest zwiększana o 1. Wyrażenie warunkowe w pętli for to x<5 co odpowiada warunkowi while $x<5. Część inicjalizacyjna for ustawia zmienną na 0 co jest zgodne z inicjalizacją przed pętlą while. Instrukcje zawarte w pętli wykonują te same operacje wyświetlania wartości x i inkrementacji. W praktyce stosowanie pętli for może być korzystne dla czytelności gdyż wszystkie elementy sterujące pętlą są zgrupowane w jednej linii co ułatwia zrozumienie jej działania. Jest to zgodne z dobrymi praktykami programistycznymi które promują klarowność kodu. Instrukcje for są często wykorzystywane w sytuacjach gdy liczba iteracji jest z góry znana co czyni je bardziej intuicyjnymi w takich przypadkach.

Pytanie 14

Który z poniższych kodów HTML odpowiada przedstawionej tabeli? Dla uproszczenia pominięto zapis dotyczący stylu obramowania tabeli oraz komórek?

Ilustracja do pytania
A. Rys. B
B. Rys. A
C. Rys. D
D. Rys. C
Poprawna odpowiedź to Rys. B ponieważ wykorzystuje atrybut rowspan="2" który łączy dwie komórki w pierwszej kolumnie w jeden wiersz Koncepcja rowspan umożliwia efektywne zarządzanie strukturą danych w tabeli HTML pozwalając na oszczędność miejsca i uniknięcie zduplikowanych komórek W praktyce rowspan jest niezwykle przydatny w projektach gdzie dane muszą być prezentowane w sposób zorganizowany i czytelny Dobre zrozumienie tego atrybutu jest kluczowe w tworzeniu responsywnych i estetycznych stron internetowych Zastosowanie rowspan zgodne jest ze standardami W3C co czyni kod bardziej zgodnym z wieloma przeglądarkami i urządzeniami Warto również pamiętać że prawidłowe użycie atrybutów takich jak rowspan poprawia dostępność strony co jest ważnym aspektem współczesnego projektowania stron internetowych Wiedza o tym jak zarządzać strukturą tabel i używać odpowiednich atrybutów wpływa na lepsze doświadczenie użytkownika Jest to również istotne w kontekście SEO gdyż poprawna semantyka HTML może wpłynąć na lepsze indeksowanie witryny przez wyszukiwarki

Pytanie 15

W bazie danych znajduje się tabela uczniowie, która ma kolumny: imie, nazwisko i klasa. Jakie polecenie SQL należy użyć, aby uzyskać imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko='M%';
B. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
Poprawne polecenie SQL to 'SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';'. Operator LIKE jest kluczowym elementem języka SQL, który pozwala na wyszukiwanie danych zgodnych z określonym wzorem, gdzie '%' oznacza dowolny ciąg znaków. Użycie tego operatora jest zgodne z najlepszymi praktykami w zakresie wyszukiwania danych w relacyjnych bazach danych, umożliwiając elastyczne filtrowanie wyników. W kontekście tego zapytania, operator LIKE skutecznie identyfikuje wszystkie nazwiska, które zaczynają się na literę 'M', co jest szczególnie przydatne w sytuacjach wymagających poszukiwania danych spełniających określone kryteria. Przykładem zastosowania tego zapytania może być generowanie raportów dla nauczycieli, którzy chcą zobaczyć listę uczniów w określonej klasie. Dodatkowo, warto pamiętać, że w przypadku wielu baz danych, operator LIKE jest również wrażliwy na wielkość liter, dlatego warto dostosować zapytanie w zależności od kontekstu, w jakim pracujemy.

Pytanie 16

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

A. zwraca rekord o numerze podanym w argumencie funkcji
B. zwraca następny rekord z wynikami zapytania
C. zwraca ilość wierszy znajdujących się w rezultacie zapytania
D. numeruje rekordy w bazie danych
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 17

Przedstawiony kod języka PHP

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. jest błędny, nieznany operator =>
B. definiuje tablicę z trzema wartościami.
C. jest błędny, indeksami tablicy mogą być tylko liczby całkowite.
D. definiuje tablicę z sześcioma wartościami.
Dobra robota, wybrałeś właściwą odpowiedź! Ten kod PHP, który analizujesz, rzeczywiście ustawia tablicę asocjacyjną z trzema parami klucz-wartość. Tak naprawdę tablica asocjacyjna to coś w stylu tablicy, gdzie każdemu elementowi przypisujesz unikalny klucz zamiast numeru indeksu. No i ten operator '=>' to typowy element PHP, służy do przypisywania wartości kluczom w tablicach. W twoim przykładzie widzisz, że kluczami mogą być nie tylko liczby, ale też łańcuchy tekstowe. To naprawdę przydatne, szczególnie przy przechowywaniu informacji, które łatwo zidentyfikować – na przykład numery telefonów czy adresy e-mail. Pamiętaj, że w PHP tablica to jedna z podstawowych struktur danych. Może trzymać różne typy danych, takie jak liczby, teksty, obiekty czy inne tablice, a jej rozmiar może się zmieniać w trakcie działania programu.

Pytanie 18

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
B. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
C. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
D. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
Odpowiedź WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000 jest poprawna, ponieważ precyzyjnie definiuje warunki, które muszą być spełnione, aby zwrócić odpowiednich pracowników. Klauzula WHERE jest fundamentalnym elementem zapytań SQL, który pozwala na filtrację wyników na podstawie określonych kryteriów. W tym przypadku, warunek 'kierownik = true' zapewnia, że tylko pracownicy pełniący rolę kierowników zostaną uwzględnieni w wynikach. Dodatkowo, użycie operatorów porównania '>' oraz '<=' dla pensji umożliwia dokładne zdefiniowanie przedziału, w którym pensja musi się mieścić. W praktyce, w kontekście baz danych, taka filtracja pozwala na efektywne zarządzanie danymi oraz generowanie raportów zgodnych z wymaganiami analizy. Stosowanie tego typu warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami, gdyż umożliwia precyzyjne i wydajne wyszukiwanie danych, co jest kluczowe w zarządzaniu informacjami w złożonych systemach bazodanowych.

Pytanie 19

Które z pól edycyjnych zostało wystylizowane według poniższego wzoru, zakładając, że pozostałe atrybuty pola mają wartości domyślne, a użytkownik wpisał imię Krzysztof w przeglądarce?

input {
    padding: 10px;
    background-color: Teal;
    color: white;
    border: none;
    border-radius: 7px;
}
Ilustracja do pytania
A. Pole 1
B. Pole 2
C. Pole 4
D. Pole 3
Pole 1 mimo że prezentuje tekst w większym prostokątnym formacie nie ma charakterystycznego zaokrąglenia krawędzi które jest kluczowe dla podanego stylu CSS Zaokrąglenie krawędzi border-radius 7px to istotna część stylu która wpływa na wizualne odczucie przyjazności i nowoczesności interfejsu użytkownika dodatkowo kolor tekstu w Polu 1 wydaje się niezgodny z podanym stylem ponieważ biel tekstu jest priorytetyzowana dla kontrastu na ciemnym tle Pole 3 z kolei choć posiada pewien stopień zaokrąglenia nie spełnia wymagań pełnego zaokrąglenia 7px a także jego kolorystyka może różnić się od poprawnie zastosowanego tła Teal i białego tekstu co może prowadzić do problemów z czytelnością Pole 4 mimo że może wydawać się odpowiednie pod względem kształtu ma bardziej wyraziste obramowanie które jest sprzeczne z właściwością border none celem którego jest usunięcie widocznych linii obramowania Kluczowym elementem przy stylizacji jest spójna implementacja wszystkich właściwości CSS co oznacza że brak jednego z nich jak zaokrąglenie czy kolor tekstu może znacząco wpłynąć na końcowy odbiór i funkcjonalność elementu wizualnego Właściwe zrozumienie i stosowanie stylów CSS jest podstawą tworzenia atrakcyjnych i funkcjonalnych interfejsów które są jednocześnie estetyczne i ergonomiczne w użytkowaniu

Pytanie 20

Zadanie przedstawione w ramce polecenia SQL ma na celu

Ilustracja do pytania
A. ustawić wartość pola Uczen na 1
B. ustawić wartość kolumny id_klasy na 1 dla wszystkich wpisów w tabeli Uczen
C. powiększyć wartość pola Uczen o jeden
D. zwiększyć wartość kolumny id_klasy o jeden dla wszystkich wpisów tabeli Uczen
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1 ma na celu zwiększenie wartości kolumny id_klasy o jeden dla każdego rekordu w tabeli Uczen Jest to typowa operacja w bazach danych gdy chcemy przeprowadzić masową aktualizację wartości w konkretnym polu W tym przypadku kolumna id_klasy jest modyfikowana tak aby każda jej wartość została zwiększona o jeden Jest to szczególnie przydatne w scenariuszach gdzie wartości identyfikatorów czy indeksów muszą być zwiększone ze względu na zmiany struktury danych lub w celu dostosowania do nowych wymagań Możliwość masowej aktualizacji danych jest jednym z głównych powodów dla których SQL jest tak potężnym narzędziem w zarządzaniu bazami danych Operacje tego typu wymagają jednak ostrożności aby uniknąć niepożądanych zmian które mogą wpływać na integralność danych Dlatego też dobre praktyki branżowe zalecają zawsze wykonywanie kopii zapasowych danych przed przeprowadzeniem tego typu operacji oraz dokładne sprawdzenie logiki biznesowej która za nimi stoi Zwrócenie uwagi na wydajność oraz potencjalne blokady przy jednoczesnym dostępie do bazy to również kluczowe aspekty o których należy pamiętać w środowiskach produkcyjnych

Pytanie 21

Jakie polecenie pozwala na zwiększenie wartości o jeden w polu RokStudiów w tabeli Studenci dla tych studentów, którzy są na roku 1÷4?

A. UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5
B. UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5
C. UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5
D. UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5
Odpowiedź 'UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5;' jest poprawna, ponieważ stosuje właściwą składnię SQL do aktualizacji wartości w kolumnie RokStudiow w tabeli Studenci. Użycie słowa kluczowego 'SET' pozwala na przypisanie nowej wartości do atrybutu, a 'WHERE RokStudiow < 5' zapewnia, że tylko studenci z rokiem studiów od 1 do 4 zostaną zaktualizowani. Przykładowo, jeśli mamy studentów na roku 1, 2, 3 oraz 4, po wykonaniu tego polecenia ich rok studiów wzrośnie o 1, co jest zgodne z praktyką zwiększania roku studiów po zakończeniu danego etapu edukacji. W kontekście dobrych praktyk w programowaniu, warto również dbać o to, aby zapytania były jasne i zrozumiałe, a operacje aktualizacji mogły być łatwo śledzone i analizowane w przyszłości. Odpowiednie użycie komentarzy oraz testowanie zapytań w warunkach niskiego obciążenia bazy danych przed ich wdrożeniem w środowisku produkcyjnym to kluczowe aspekty zapewnienia bezpieczeństwa i integralności danych.

Pytanie 22

Aby ustawić tło na stronie www należy użyć polecenia

A. <bgcolor=""></bgcolor>
B. <background=""></background>
C. <body bgcolor=""></body>
D. <body background=""></body>
Wszystkie inne odpowiedzi zawierają błędy i nie są zgodne z aktualnymi standardami HTML. Użycie znacznika <background> jest niewłaściwe, ponieważ taki znacznik nie istnieje w HTML; w związku z tym nie ma możliwości jego zastosowania w dokumentach HTML. Co więcej, atrybut <bgcolor> występuje tylko w kontekście znacznika <body> i nie może być używany jako samodzielny element. W przypadku użycia <body background=''> sytuacja jest podobna. Atrybut background był stosowany w starszych wersjach HTML do określenia obrazu tła, co również jest przestarzałe, ponieważ CSS oferuje znacznie bardziej elastyczne opcje. Używanie <body background='url(obrazu.jpg)'> może wciąż działać w niektórych przeglądarkach, ale nie jest to polecana praktyka. Ostatecznie, użycie <bgcolor> jest także ograniczone, ponieważ nie można nim ustawić tła w postaci obrazów czy gradientów, co jest możliwe przy użyciu CSS. Dlatego warto przyjąć nowoczesne podejście do stylizacji stron internetowych, opierając się na CSS, co jest zgodne z aktualnymi standardami i praktykami w branży.

Pytanie 23

Poniżej przedstawiono fragment kodu języka HTML. Jest on definicją listy:

<ol>
  <li>punkt 1</li>    <li>punkt 2</li>
  <ul>
    <li>podpunkt1</li>
    <ul>    <li>podpunkt2</li>  <li>podpunkt3</li>  </ul>
  </ul>
  <li>punkt3</li>
</ol>

A.

  1. punkt 1
  2. punkt 2
    • podpunkt1
    • podpunkt2
    • podpunkt3
  3. punkt3

B.

  1. punkt 1
  2. punkt 2
  3. punkt3
    • podpunkt1
    • podpunkt2
    • podpunkt3

C.

  1. punkt 1
  2. punkt 2
    • podpunkt1
      • podpunkt2
      • podpunkt3
  3. punkt3

D.

  • punkt 1
  • punkt 2
    1. podpunkt1
      • podpunkt2
      • podpunkt3
  • punkt3
A. C.
B. A.
C. B.
D. D.
Gratulacje, poprawnie zinterpretowałeś fragment kodu HTML przedstawiający definicję listy. W tym kodzie widzimy listę numerowaną (<ol>), która zawiera trzy elementy listy (<li>). Szczególnością prezentowanej struktury jest fakt, że drugi element listy zawiera zagnieżdżoną listę nieuporządkowaną (<ul>) z trzema podpunktami. Zgodność odpowiedzi C z przedstawionym kodem wynika z faktu, że punkt 2 prezentuje podpunkty oznaczone kropkami, co jest charakterystyczne dla listy nieuporządkowanej. Tego typu struktura jest często stosowana na stronach internetowych do prezentacji hierarchii informacji, na przykład menu nawigacyjnego czy spisu treści. Pamiętaj, że umiejętność czytania i zrozumienia kodu HTML jest kluczowa dla każdego, kto planuje pracować z technologiami webowymi i to pytanie to doskonały przykład na to, jak te umiejętności mogą być sprawdzane.

Pytanie 24

Która z wymienionych funkcji sortowania w języku PHP służy do sortowania tablicy asocjacyjnej według kluczy?

A. asort()
B. rsort()
C. ksort()
D. sort()
Funkcja ksort() w języku PHP jest dedykowana do sortowania tablic asocjacyjnych według ich kluczy. Dzięki zastosowaniu tej funkcji, tablica zostaje uporządkowana w sposób rosnący, co jest szczególnie przydatne, gdy potrzebujemy danych w zorganizowanej formie lub gdy chcemy prezentować je użytkownikowi w logicznej kolejności. Przykładowo, jeśli mamy tablicę asocjacyjną, gdzie klucze reprezentują nazwy produktów, a wartości to ich ceny, użycie ksort() pozwoli nam posortować produkty alfabetycznie. Dobrą praktyką jest stosowanie ksort() w projektach, gdzie istotna jest czytelność i przejrzystość danych, co może mieć wpływ na UX (User Experience) aplikacji. Warto również pamiętać, że jeśli tablica zawiera różne typy kluczy, to sortowanie może prowadzić do nieoczekiwanych wyników. Z tego względu, ksort() jest najlepszym wyborem, gdyż spełnia wymagania standardów sortowania oraz zapewnia zgodność z dobrymi praktykami programistycznymi.

Pytanie 25

Aby zweryfikować konfigurację w pliku php.ini, można uruchomić skrypt PHP, który zawiera zapis

A. <?php phpinfo(); ?>
B. <?php ini_set(); ?>
C. <?php phpcredits(); ?>
D. <?php echo phpversion(); ?>
Odpowiedź <?php phpinfo(); ?> jest poprawna, ponieważ funkcja phpinfo() generuje szczegółowy raport na temat konfiguracji PHP, w tym informacje o zainstalowanych rozszerzeniach, wersji PHP, oraz ustawieniach w pliku php.ini. W praktyce, ta funkcja jest niezwykle przydatna przy diagnozowaniu problemów związanych z konfiguracją serwera, ponieważ dostarcza pełen wgląd w aktualne ustawienia środowiska, co pozwala na szybkie zidentyfikowanie ewentualnych niezgodności. Przykładem zastosowania może być sytuacja, w której programista chce sprawdzić, czy określone rozszerzenie PHP jest aktywne lub jakie są wartości domyślne dla różnych dyrektyw, takich jak memory_limit czy upload_max_filesize. Dobrą praktyką w sytuacjach produkcyjnych jest ograniczenie dostępu do skryptów wywołujących phpinfo(), aby nie ujawniać wrażliwych informacji o serwerze osobom nieupoważnionym. Myśląc o bezpieczeństwie aplikacji, warto usunąć takie skrypty po zakończeniu diagnostyki.

Pytanie 26

Aby umożliwić wybór kilku opcji jednocześnie w rozwijanej liście formularza HTML, należy dodać atrybut do znacznika select

Ilustracja do pytania
A. size
B. multiple
C. disabled
D. value
Atrybut size określa, ile opcji w pole listy rozwijalnej będzie widocznych, ale to nie umożliwia zaznaczenia wielu opcji naraz. Użytkownik wciąż może wybrać tylko jedną wartość, a zmiana rozmiaru może wprowadzać w błąd co do tego, jak działa lista. Atrybut value jest z kolei używany w znaczniku option, żeby określić wartość, która trafi na serwer po zaznaczeniu danej opcji, ale zmiana value nie wpływa na wybór wielu opcji. Często ludzie sądzą, że manipulacja tymi wartościami w znaczniku option coś zmienia, ale to błędne. Atrybut disabled sprawia, że lista staje się nieaktywna i użytkownik nie może zaznaczyć żadnych opcji. To ma sens, gdy niektóre opcje są wyłączone. Jak wrzucisz disabled do select, to blokuje całą interakcję i nie da się wybrać wielu opcji. Wybór odpowiednich atrybutów w HTML wymaga zrozumienia, jak to działa, żeby formularze były intuicyjne i faktycznie działały jak trzeba.

Pytanie 27

Aby osiągnąć efekt przedstawiony na ilustracji, w kodzie HTML należy zastosować znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. dfn
B. title
C. alt
D. name
Znacznik <abbr> w HTML służy do opisywania skrótów i akronimów. Atrybut title jest kluczowy, ponieważ dostarcza rozwinięcie skrótu jako podpowiedź tekstową, która pojawia się, gdy użytkownik najedzie kursorem na element. Jest to zgodne z dobrymi praktykami dostępności, umożliwiając użytkownikom lepsze zrozumienie treści. Przykładowo, kod <abbr title='inżynier'>inz.</abbr> spowoduje, że po najechaniu kursorem na skrót 'inz.', pojawi się rozwinięcie 'inżynier'. Takie podejście jest szczególnie istotne w przypadku dokumentów technicznych czy naukowych, gdzie użycie skrótów jest powszechne a pełne rozwinięcie może być niezbędne dla pełnego zrozumienia treści. Atrybut title jest również używany w innych znacznikach HTML, np. <img> do opisania obrazów, co wzbogaca semantykę strony. Zastosowanie <abbr> z atrybutem title wspiera również działanie technologii wspomagających, takich jak czytniki ekranowe, które mogą odczytać pełne rozwinięcie skrótu, podnosząc poziom dostępności strony.

Pytanie 28

Po przeprowadzeniu walidacji dokumentu HTML pojawił się błąd przedstawiony na zrzucie. Jak można go usunąć?

Ilustracja do pytania
A. w znaczniku img zmienić nazwę atrybutu src na alt
B. w znaczniku img zmienić nazwę atrybutu src na href
C. dodać atrybut alt do grafiki
D. zmienić zapis </h1> na <h1>
W znaczniku img atrybut src jest niezbędny do określenia źródła obrazka a zmiana jego nazwy na href jest nieprawidłowa. Atrybut href jest używany w tagach a do wskazywania lokalizacji linku a nie w przypadku obrazów. Zamiana src na alt całkowicie zmieniłaby funkcję znacznika uniemożliwiając ładowanie obrazka. Sama zmiana nazw atrybutów nie rozwiązuje problemu związanego z brakiem opisu alternatywnego. Natomiast ostatnia opcja dotycząca zamiany </h1> na <h1> odnosi się do struktury nagłówka HTML a nie ma związku z problemem z obrazkiem. Poprawne oznaczanie struktury dokumentu za pomocą nagłówków jest kluczowe dla semantyki i dostępności jednak nie likwiduje błędu związanego z atrybutem alt. Każdy z tych błędnych pomysłów wynika z niezrozumienia roli atrybutów w HTML oraz ich wpływu na dostępność i SEO. Poprawne stosowanie atrybutów to podstawa dobrych praktyk kodowania i niezbędny element tworzenia dostępnych stron. Warto zaznaczyć że alt to nie tylko standard ale również wyraz dbałości o użytkowników i ich doświadczenia na stronie. Błędne rozumienie tych koncepcji prowadzi do nieskutecznego lub wadliwego kodu który nie spełnia wymogów współczesnych aplikacji webowych. Poprawa jakości kodu poprzez zrozumienie jego struktury i funkcjonalności jest kluczowa dla każdego specjalisty z branży IT.

Pytanie 29

Gdzie należy umieścić znacznik meta w języku HTML?

A. między znacznikami paragrafu
B. w stopce strony internetowej
C. w sekcji nagłówkowej strony internetowej
D. między znacznikami body
Znacznik meta w języku HTML jest kluczowym elementem, który powinien być umieszczony w części nagłówkowej (head) dokumentu. Znaczniki meta służą do definiowania różnych informacji o stronie, takich jak zestaw znaków, opis, słowa kluczowe, autor oraz inne istotne dane, które nie są bezpośrednio wyświetlane na stronie. Przykładowo, znacznik meta z atrybutem 'charset' informuje przeglądarki, w jaki sposób interpretować znaki na stronie, co jest szczególnie ważne dla prawidłowego wyświetlania treści w różnych językach. Standardy HTML5 zalecają umieszczanie znaczników meta w nagłówku, aby umożliwić optymalizację SEO, co zwiększa widoczność strony w wynikach wyszukiwania. Dobrą praktyką jest również dodanie opisu strony przy pomocy znacznika meta 'description', co pozwala wyszukiwarkom na lepsze zrozumienie tematyki strony oraz zwiększa klikalność w wynikach wyszukiwania.

Pytanie 30

Która z funkcji zdefiniowanych w języku PHP zwraca jako wynik połowę kwadratu wartości podanej jako argument?

A. function licz($a) {return echo $a*$a/2;}
B. function licz($a) {echo $a*$a/2;}
C. function licz($a) {echo $a/2;}
D. function licz($a) {return echo $a/2;}
Poprawna odpowiedź to function licz($a) {return $a*$a/2;}. Funkcja ta zwraca połowę kwadratu wartości przekazanej jako argument. Analizując zdefiniowaną funkcję, dostrzegamy, że mnożenie wartości '$a' przez siebie ($a*$a) generuje kwadrat tej wartości, a następnie dzielenie przez 2 skutkuje uzyskaniem połowy tego kwadratu. Zamiast używać 'echo', które wyświetla wynik bezpośrednio, stosujemy 'return', które zwraca wartość do miejsca wywołania funkcji, co jest zgodne z najlepszymi praktykami programowania w PHP. Zwracanie wartości umożliwia późniejsze wykorzystanie jej w innych operacjach, co jest kluczowe w bardziej złożonych programach. Przykład zastosowania tej funkcji może wyglądać następująco: $wynik = licz(4); echo $wynik; Wynik to 8, co jest połową kwadratu liczby 4 (16/2=8). Standardy PHP zalecają używanie 'return' w sytuacjach, w których chcemy uzyskać wartość z funkcji, co sprawia, że kod jest bardziej modularny i łatwiejszy w utrzymaniu.

Pytanie 31

W języku SQL, aby z tabeli Uczniowie wyodrębnić rekordy dotyczące wyłącznie uczennic o imieniu "Aleksandra", które przyszły na świat po roku "1998", należy sformułować zapytanie

A. SELECT * FROM Uczniowie WHERE imie="Aleksandra" AND rok_urodzenia > "1998"
B. SELECT * FROM Uczniowie WHERE imie="Aleksandra" OR rok_urodzenia > "1998"
C. SELECT * FROM Uczniowie WHERE imie="Aleksandra" AND rok_urodzenia < "1998"
D. SELECT * FROM Uczniowie WHERE imie ="Aleksandra" OR rok_urodzenia < "1998"
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje operator logiczny AND, aby jednocześnie spełnić dwa kryteria: imię uczennicy musi być równe 'Aleksandra', a rok urodzenia musi być większy niż 1998. Użycie AND zapewnia, że tylko te rekordy, które spełniają obydwa warunki, zostaną zwrócone, co jest zgodne z wymaganiami zadania. W praktyce, takie zapytanie mogłoby być użyte w systemie edukacyjnym do generowania raportów dla nauczycieli, aby zidentyfikować i analizować uczennice o konkretnych cechach. Stosowanie operatora AND jest zgodne z dobrymi praktykami w SQL, które preferują precyzyjne określenie warunków w zapytaniach. Warto również zauważyć, że w bazach danych, zapewnienie poprawności danych i odpowiednich filtrów na poziomie zapytań jest kluczowe, aby uniknąć błędnych analiz oraz zapewnić, że wyciągane informacje są rzetelne i użyteczne w kontekście podejmowania decyzji.

Pytanie 32

Aby dostosować dźwięk do określonego poziomu głośności, należy zastosować efekt

A. wyciszenia
B. normalizacji
C. podbicia basów
D. usuwania szumów
Wyciszenie, jako efekt audio, ma na celu redukcję głośności sygnału do zera lub do wartości znacznie niższej niż oryginalna. Użycie wyciszenia do dopasowania dźwięku do poziomu głośności jest błędne, ponieważ nie zachowuje ono dynamiki nagrania i może prowadzić do utraty ważnych szczegółów w dźwięku. Z kolei podbicie basów jest techniką, która zwiększa poziom niskich częstotliwości, co może powodować, że dźwięk w całości staje się zbyt głośny, a niekoniecznie dopasowany do pożądanego poziomu głośności. Usuwanie szumów koncentruje się na redukcji niepożądanych dźwięków tła, co nie wpływa bezpośrednio na ogólny poziom głośności nagrania. Często myśląc o dźwięku, użytkownicy mylą działania mające na celu poprawę jakości audio z tymi, które służą do dostosowania głośności. Ważne jest zrozumienie, że dopasowanie poziomu głośności wymaga złożonego przetwarzania sygnału, które uwzględnia nie tylko maksymalne poziomy, ale także percepcję głośności przez ludzki słuch, co jest kluczowe w profesjonalnej obróbce audio.

Pytanie 33

Język JavaScript wspiera

A. abstrakcyjne klasy
B. obiekty DOM
C. wysyłanie ciastek z identycznymi informacjami do wielu użytkowników strony
D. funkcje wirtualne
Wybór jednej z pozostałych opcji może wynikać z nieporozumienia dotyczącego podstawowych koncepcji programowania w JavaScript. Funkcje wirtualne, które są bardziej charakterystyczne dla języków programowania obiektowego, takich jak C++ czy Java, nie mają zastosowania w JavaScript, który nie wspiera klasycznej hierarchii klas w taki sposób, jak te języki. W JavaScript funkcje są obiektami, a prototypowe dziedziczenie jest kluczowym mechanizmem, co często prowadzi do mylnej interpretacji koncepcji klas abstrakcyjnych. JavaScript nie definiuje klas abstrakcyjnych w tradycyjnym sensie, chociaż od ES6 wprowadzono wsparcie dla klas. Co więcej, idea wysyłania ciastek z tą samą informacją do wielu klientów nie jest bezpośrednio związana z językiem JavaScript, lecz z mechanizmami serwerowymi oraz strukturyzowaniem danych w aplikacjach webowych. Często popełniane błędy myślowe dotyczą zrozumienia ról różnych technologii webowych i ich interakcji. JavaScript działa głównie po stronie klienta, a jego integracja z serwerami odbywa się zazwyczaj za pomocą protokołu HTTP, w którym ciasteczka są jednym z wielu elementów zarządzania stanem użytkownika. Zrozumienie roli DOM w kontekście JavaScript jest kluczowe do tworzenia efektywnych i interaktywnych aplikacji, co podkreśla znaczenie tej koncepcji w codziennym programowaniu.

Pytanie 34

Kolor wyrażony w modelu RGB(255, 0, 0) to

A. zielony.
B. czerwony.
C. niebieski.
D. żółty.
Wybór błędnych odpowiedzi wynika z nieporozumienia dotyczącego sposobu, w jaki model RGB reprezentuje kolory. Odpowiedzi wskazujące, że barwa ta jest niebieska lub zielona, są całkowicie nieprawidłowe, ponieważ w modelu RGB wartości dla tych kolorów wynoszą 0. Niebieski kolor w modelu RGB osiąga maksymalne natężenie, gdy jego wartość wynosi 255, a inne kolory są odpowiednio niższe, co nie ma miejsca w przypadku RGB(255, 0, 0). W przypadku zielonego koloru analogicznie, również jego wartość powinna wynosić 255, aby uzyskać czystą barwę, co znowu nie znajduje zastosowania w analizowanej barwie. Odpowiedź sugerująca, że kolor ten jest żółty, również jest błędna, ponieważ żółty w modelu RGB powstaje w wyniku równoczesnej obecności czerwonego i zielonego (np. RGB(255, 255, 0)). Typowym błędem myślowym może być błędne łączenie kolorów oraz ich wartości; użytkownicy często mylą pojęcia związane z modelami kolorów, nie zdając sobie sprawy, że każdy z kanałów RGB działa w oparciu o swoje własne natężenie. Dlatego niezwykle istotne jest zrozumienie, jak modele kolorów są konstruowane i jakie wartości odpowiadają poszczególnym barwom, aby uniknąć takich pomyłek w przyszłości.

Pytanie 35

Jakie polecenie wydane w terminalu systemu operacyjnego, które zawiera w swojej składni opcję --repair, pozwala na naprawę bazy danych?

A. mysqlcheck
B. truncate
C. create
D. mysqldump
Truncate to polecenie, które służy do szybkiego usuwania wszystkich wierszy z tabeli, a nie do naprawy bazy danych. Często mylone jest z usuwaniem danych, jednak nie wykonuje ono operacji naprawczych ani nie zdejmuje blokad związanych z integralnością danych. Mysqldump to z kolei narzędzie do tworzenia kopii zapasowych baz danych, które eksportuje dane do postaci pliku, ale również nie ma możliwości naprawy istniejących błędów w danych czy strukturze tabel. Create to komenda używana do tworzenia nowych tabel lub baz danych, jednak nie ma zastosowania w kontekście naprawy już istniejących obiektów. Typowym błędem myślowym jest przypisywanie funkcji, które są dedykowane do zarządzania danymi, do operacji naprawczych, co może prowadzić do utraty danych lub niewłaściwego postępowania z bazą. Kluczowym aspektem w zarządzaniu bazami danych jest znajomość właściwych narzędzi i ich zastosowań, co pozwala na skuteczne i bezpieczne zarządzanie danymi. Użycie niewłaściwych poleceń w kontekście zarządzania bazami danych może prowadzić do problemów z dostępnością, a nawet do uszkodzenia danych, dlatego istotne jest, aby dobrze rozumieć funkcje narzędzi, które się wykorzystuje.

Pytanie 36

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr:active { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 37

Jaką kwerendę w bazie MariaDB należy zastosować, aby wybrać artykuły z cenami mieszczącymi się w zakresie obustronnie domkniętym <10, 20>?

A. SELECT * FROM Artykuly WHERE Cena IN (10, 20)
B. SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20
C. SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%
D. SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20
W przypadku pierwszej odpowiedzi, użycie operatora IN do wybrania artykułów o cenach 10 i 20 nie jest trafne, ponieważ IN służy do sprawdzania równości z konkretnymi wartościami, a nie do definiowania przedziałów. Wartości 10 i 20 są tylko skrajne, a nie wszystkie wartości pomiędzy nimi. Druga odpowiedź posługuje się operatorami porównawczymi > i <, co wyklucza wartości graniczne – 10 i 20 nie zostaną uwzględnione, co jest sprzeczne z intencją pytania o przedział domknięty. W codziennej pracy z SQL istotne jest, aby zrozumieć różnicę pomiędzy operatorami porównawczymi a operatorami definiującymi przedziały wartości. Ostatnia odpowiedź z użyciem LIKE jest całkowicie nieadekwatna w kontekście zapytania o ceny, ponieważ LIKE jest przeznaczony do porównywania wzorców w typach danych tekstowych, a nie numerycznych. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, to brak zrozumienia różnicy między operatorami, co skutkuje błędnym doborem metod w procesie analizy danych. Aby uniknąć tych pułapek, warto zapoznać się ze standardowymi praktykami SQL oraz ciągle doskonalić swoje umiejętności w zakresie kwerend.

Pytanie 38

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

A. if {mysqli_connect_error()}{}
B. if (mysql_connect_error())()
C. if {mysql_connect_errno()}{}
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 39

W SQL polecenie INSERT INTO służy do

A. tworzenia nowej tabeli
B. zmiany rekordów na wskazaną wartość
C. wprowadzania nowych pól do tabeli
D. dodawania danych do tabeli
Wprowadzenie do polecenia INSERT INTO często prowadzi do nieporozumień, szczególnie w kontekście funkcji, jakie pełni w SQL. Nieodpowiednie rozumienie tego polecenia może skutkować błędami w projektowaniu baz danych oraz w wykonywaniu operacji na danych. Na przykład, stwierdzenie, że INSERT INTO aktualizuje rekordy, jest nieprecyzyjne. W rzeczywistości, do aktualizacji istniejących danych używa się polecenia UPDATE, które zmienia wartości w określonych rekordach na podstawie podanych kryteriów. Ponadto, w SQL nie można dodawać nowych pól do tabeli za pomocą INSERT INTO; do tego służy polecenie ALTER TABLE. To ostatnie jest niezbędne, gdyż pozwala na modyfikację struktury tabeli, co jest kluczowe w przypadku zmieniających się wymagań aplikacji. Podobnie, stwierdzenie, że INSERT INTO dodaje tabelę, jest również błędne, ponieważ do tego używa się polecenia CREATE TABLE. Ważne jest, aby zrozumieć, że różne polecenia SQL mają swoje specyficzne zastosowania i nie można ich ze sobą mylić. Typowe błędy myślowe w tym zakresie mogą wynikać z nieznajomości języka SQL lub z braku zrozumienia różnicy pomiędzy operacjami na danych a operacjami na strukturze bazy danych. Zrozumienie tych podstawowych różnic jest kluczowe dla efektywnego zarządzania danymi oraz dla poprawnego projektowania baz danych.

Pytanie 40

Aby przyznać użytkownikowi prawa do tabel w bazie danych, powinno się użyć polecenia

A. REVOKE
B. GRANT
C. CREATE
D. SELECT
Polecenie GRANT jest kluczowym elementem zarządzania uprawnieniami w systemach baz danych, takich jak MySQL, PostgreSQL czy Oracle. Umożliwia ono administratorom nadawanie określonych uprawnień użytkownikom lub rolom, co jest niezbędne do zapewnienia bezpieczeństwa danych oraz kontroli dostępu. Przykładowo, aby umożliwić użytkownikowi o nazwie 'Jan' dostęp do tabeli 'Klienci', można użyć polecenia: GRANT SELECT ON Klienci TO Jan; co przyznaje użytkownikowi prawo do odczytu danych z tej tabeli. Z perspektywy dobrych praktyk, zaleca się stosowanie minimalnych uprawnień, co oznacza, że użytkownik powinien mieć przyznane tylko te uprawnienia, które są mu niezbędne do wykonywania swoich zadań. Dzięki temu można zredukować ryzyko nieautoryzowanego dostępu do wrażliwych informacji. Dodatkowo, operacja GRANT może być stosowana w połączeniu z innymi poleceniami, takimi jak REVOKE, które służy do odbierania wcześniej nadanych uprawnień, co stanowi integralną część zarządzania bezpieczeństwem w bazach danych.