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: 30 czerwca 2026 15:35
  • Data zakończenia: 30 czerwca 2026 15:47

Egzamin zdany!

Wynik: 22/40 punktów (55,0%)

Wymagane minimum: 20 punktów (50%)

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

Jaki jest cel wykorzystania znacznika <i> w języku HTML?

A. określenia nagłówka w treści
B. zmiany kroju pisma na pochylony
C. określenia formularza
D. wstawienia obrazka
Znacznik <i> w języku HTML jest używany do oznaczania tekstu, który powinien być wyświetlany w kroju pisma pochyłym. Takie użycie jest zgodne ze standardami HTML, gdzie <i> zwykle wskazuje na tekst, który ma być wyróżniony w kontekście stylistycznym, na przykład w przypadku tytułów książek, nazw gatunków czy terminów technicznych. Z perspektywy semantycznej, HTML5 wprowadza większą elastyczność w definiowaniu znaczenia tekstu, co czyni <i> bardziej konwencjonalnym narzędziem niż w poprzednich wersjach. Warto zaznaczyć, że dla lepszej dostępności i SEO, często zaleca się użycie znacznika <em>, który nie tylko zmienia styl, ale także podkreśla znaczenie tekstu. Przykład zastosowania <i>: <i>„Wojna i pokój”</i> to książka autorstwa Lwa Tołstoja. Z perspektywy użytkowników i wyszukiwarek, ważne jest, aby znać różnice między tymi znacznikami, co pozwala na efektywniejsze tworzenie treści internetowych.

Pytanie 2

Aby wykonać przycisk na stronę internetową zgodnie z przedstawionym wzorem, w programie graficznym należy skorzystać z opcji:

Ilustracja do pytania
A. propagacja wartości
B. zniekształcenie i deformacja
C. wybór eliptyczny
D. zaokrąglenie narożników (prostokąt z zaokrąglonymi rogami)
Wzór przedstawia prostokątny przycisk z zaokrąglonymi rogami. Taki kształt rysuje się w programie graficznym narzędziem prostokąta z zaokrąglonymi rogami (albo zaokrąglając zaznaczenie o zadanym promieniu), co daje równe, gładkie narożniki zgodne z przykładem. Dlatego poprawna jest opcja zaokrąglenia narożników.

Pytanie 3

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

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

if (!$a)
    echo "?????????????";
A. Błąd w trakcie przetwarzania zapytania SQL
B. Błąd połączenia z serwerem SQL
C. Rekord został pomyślnie dodany do bazy
D. Wybrana baza danych nie istnieje
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 4

Jaki zestaw liczb zostanie wyświetlony w wyniku działania pętli napisanej w języku PHP?

$liczba = 10;
while ($liczba < 50) {
  echo "$liczba ";
  $liczba = $liczba + 5;
}
A. 0 5 10 15 20 25 30 35 40 45 50
B. 0 5 10 15 20 25 30 35 40 45
C. 10 15 20 25 30 35 40 45 50
D. 10 15 20 25 30 35 40 45
Prawidłowa odpowiedź to 10 15 20 25 30 35 40 45 ponieważ pętla while w języku PHP działa na zasadzie sprawdzania warunku przed każdą iteracją. W tym przypadku zmienna $liczba jest inicjalizowana wartością 10 a warunek w pętli sprawdza czy $liczba jest mniejsza niż 50. Wartość zmiennej jest wypisywana i następnie zwiększana o 5 w każdym kroku iteracyjnym. Pętla zakończy się gdy $liczba osiągnie wartość 50 lub większą. Dlatego ostatnią wypisaną wartością będzie 45 gdyż po dodaniu 5 zmienna $liczba wyniesie 50 i przestanie spełniać warunek pętli. Takie konstrukcje pętli są powszechne w programowaniu szczególnie gdy mamy do czynienia z iteracją po stałych przedziałach liczbowych. Stosowanie pętli while jest zalecane w przypadku gdy liczba iteracji nie jest z góry znana a jedynie zależy od spełnienia określonego warunku. Ważne jest by pamiętać o możliwości nieskończonej pętli jeśli warunek nigdy nie zostanie spełniony co może prowadzić do błędów wykonania programu. Praktycznym zastosowaniem takiej pętli jest iteracja po zbiorze danych którego rozmiar zależy od zewnętrznych czynników np danych wejściowych od użytkownika lub zawartości pliku.

Pytanie 5

W języku PHP zapisano fragment kodu. Plik cookie utworzony przy pomocy tego polecenia

setcookie("osoba", "Anna Kowalska", time()+(3600*24));
A. będzie przechowywany na serwerze przez jedną godzinę
B. będzie przechowywany na serwerze przez 24 godziny
C. zostanie usunięty po 24 godzinach od jego stworzenia
D. zostanie usunięty po jednej godzinie od momentu jego utworzenia
W języku PHP funkcja setcookie służy do ustawiania plików cookie w przeglądarce użytkownika. Trzeci parametr tej funkcji określa czas wygaśnięcia cookie w postaci znacznika czasowego UNIX co oznacza liczbę sekund od początku epoki UNIX (01.01.1970). W podanym kodzie użyto funkcji time która zwraca aktualny czas w sekundach i dodano do niego wartość 3600 pomnożoną przez 24. Oznacza to dodanie liczby sekund odpowiadającej jednemu pełnemu dniu (24 godziny x 3600 sekund na godzinę). Takie ustawienie skutkuje tym że plik cookie zostanie usunięty automatycznie z przeglądarki użytkownika po upływie dokładnie jednego dnia od jego stworzenia. Jest to zgodne z najlepszymi praktykami zarządzania sesjami i danymi użytkowników w aplikacjach internetowych ponieważ pozwala na kontrolę nad czasem przechowywania danych wrażliwych. Dzięki temu użytkownicy mogą być pewni że ich dane nie będą przechowywane dłużej niż to konieczne co wpływa na zwiększenie bezpieczeństwa i zaufania do aplikacji.

Pytanie 6

Który z poniższych typów plików NIE JEST używany do publikacji grafiki lub animacji na stronach www?

A. SWF
B. PNG
C. SVG
D. AIFF
AIFF (Audio Interchange File Format) to format plików dźwiękowych, który nie jest wykorzystywany do publikacji grafiki ani animacji na stronach internetowych. Jego głównym zastosowaniem jest przechowywanie wysokiej jakości dźwięku, dlatego znajdujemy go często w produkcjach audio i nagraniach muzycznych. W przeciwieństwie do formatów jak SVG (Scalable Vector Graphics), SWF (Shockwave Flash) czy PNG (Portable Network Graphics), które są przeznaczone do grafiki i animacji, AIFF nie jest odpowiedni do wizualizacji treści w sieci. Przykładowo, SVG jest często wykorzystywany do tworzenia skalowalnych grafik wektorowych, które są popularne w projektowaniu stron internetowych, a PNG jest formatem rastrowym, który świetnie sprawdza się w przypadku obrazów z przezroczystością. W kontekście publikacji internetowych, kluczowe jest stosowanie odpowiednich formatów, które zapewniają optymalizację i zgodność z różnymi przeglądarkami, a AIFF nie spełnia tych wymagań.

Pytanie 7

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 $a*$a/2; }
B. function licz($a) { echo $a*$a/2; }
C. function licz($a) { return $a/2; }
D. function licz($a) { echo $a/2; }
Niepoprawne odpowiedzi najczęściej wynikają z nieporozumień dotyczących działania funkcji w PHP. Na przykład, jeśli używasz 'echo' zamiast 'return', to funkcja nie oddaje wartości tam, gdzie jest wywołana. A to może być problematyczne, gdy naprawdę potrzebujemy tej wartości, jak na przykład do przypisania do zmiennej. Funkcje w stylu 'function licz($a) { echo $a/2; }' po prostu dzielą przez 2, a nie obliczają kwadratu, więc to nie spełnia wymagań pytania. Błędem jest mylenie 'echo' z 'return', bo to wprowadza zamieszanie i może prowadzić do trudności w naprawianiu błędów. Zrozumienie tej różnicy jest kluczowe, bo naprawdę pomaga w napisaniu czystego i modularnego kodu, co w programowaniu ma ogromne znaczenie.

Pytanie 8

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

int zao(float x) {
    return x+0.5;
}
A. 3.5
B. 3
C. 4.05
D. 4
Wartości zwracane przez funkcje w C++ mogą być mylące, gdy nie zrozumiemy, jak działa zaokrąglanie i operacje na liczbach zmiennoprzecinkowych. Rozważając odpowiedzi 3, 3.5 i 4.05, można zauważyć, że każda z tych odpowiedzi opiera się na błędnym zrozumieniu zastosowania funkcji zaofloat. Odpowiedź 3 wynika z błędu myślowego, który zakłada, że dodanie 0.5 do wartości 3.55 skutkuje zmniejszeniem wartości do najbliższej liczby całkowitej, co jest niezgodne z zasadami matematycznymi. Z kolei odpowiedź 3.5 może wydawać się logiczna dla kogoś, kto może pomyśleć, że dodanie 0.5 w jakimś sensie zmienia wartość do tej liczby, jednak w rzeczywistości, gdyby tak było, funkcja nie spełniałaby swojej podstawowej roli. Odpowiedź 4.05, mimo że jest poprawnym wynikiem dodania do 3.55 wartości 0.5, nie jest właściwą odpowiedzią w kontekście pytania, ponieważ nie uwzględnia zasady zaokrąglania do najbliższej liczby całkowitej. W praktyce programiści często napotykają podobne problemy i dlatego dobrym zwyczajem jest, aby jasno określać wymagania dotyczące wyników i stosować odpowiednie metody zaokrąglania, kiedy to konieczne, aby uniknąć nieporozumień.

Pytanie 9

Konstrukcja w języku SQL ALTER TABLE USA... służy do

A. nadpisania istniejącej tabeli USA
B. usunięcia tabeli USA
C. zmiany tabeli USA
D. stworzenia nowej tabeli USA
Istnieje kilka mitów oraz powszechnych nieporozumień dotyczących polecenia ALTER TABLE, które mogą prowadzić do błędnych wniosków. Na przykład, usunięcie tabeli nie jest możliwe za pomocą ALTER TABLE, ponieważ do tego celu służy osobne polecenie DROP TABLE, które całkowicie eliminuje tabelę oraz wszystkie przechowywane w niej dane. Użytkownicy często mylą też modyfikację tabeli z jej nadpisywaniem, co jest błędne, ponieważ ALTER TABLE modyfikuje istniejącą strukturę tabeli, a nie ją zastępuje. Z kolei tworzenie nowej tabeli odbywa się za pomocą polecenia CREATE TABLE, co jest kompletnie odmiennym działaniem i nie ma związku z ALTER TABLE. Ważne jest, aby zrozumieć, że ALTER TABLE nie zmienia semantyki danych ani nie wpływa na istniejące rekordy w sposób destrukcyjny, chyba że podejmie się decyzję o usunięciu kolumn, co oczywiście wiąże się z utratą danych. Typowe błędy myślowe, które prowadzą do złych interpretacji, wynikają z niepełnego zrozumienia definicji dostępnych poleceń SQL oraz ich funkcji. W związku z tym, gruntowne opanowanie podstawowych poleceń SQL oraz ich kontekstu jest kluczowe do skutecznego zarządzania danymi w systemach bazodanowych.

Pytanie 10

Aby wygodnie wprowadzać i edytować dane w bazie danych, można posłużyć się:

A. formularzem
B. filtrowaniem
C. raportem
D. kwerendą SELECT
Trzy pozostałe pojęcia dotyczą oglądania lub wyszukiwania danych, a nie ich zmiany. Raport przygotowuje dane do prezentacji i wydruku w czytelnej formie, ale jest tylko do odczytu. Filtrowanie pozwala zawęzić widok do wierszy spełniających warunek - ułatwia odnalezienie informacji, lecz niczego nie modyfikuje. Kwerenda SELECT pobiera dane z tabel i również ich nie edytuje (do zmian służą INSERT, UPDATE, DELETE). Wygodne wprowadzanie i edycję danych zapewnia formularz, który daje gotowe pola powiązane z kolumnami tabeli.

Pytanie 11

Który kod szesnastkowy oznacza kolor żółty (w RGB: czerwony + zielony)?

A.
#FF00FF
B.
#F0F0F0
C.
#00FFFF
D.
#FFFF00
Pozostałe kody dają inne barwy. #FF00FF to magenta (czerwony + niebieski). #00FFFF to cyjan (zielony + niebieski). #F0F0F0 to jasna szarość (równe, wysokie składowe). Żółty to #FFFF00.

Pytanie 12

Która z funkcji agregujących dostępnych w SQL służy do obliczania średniej z wartości znajdujących się w określonej kolumnie?

A. MIN
B. COUNT
C. AVG
D. SUM
Funkcja AVG w języku SQL jest wbudowaną funkcją agregującą, która służy do obliczania średniej wartości we wskazanej kolumnie. Oblicza ona średnią arytmetyczną z wartości liczbowych w danej kolumnie, co jest niezwykle przydatne w analizie danych. Na przykład, jeśli mamy tabelę z wynikami sprzedaży, możemy użyć zapytania SQL: SELECT AVG(sprzedaż) FROM tabela_sprzedaży; aby uzyskać średnią sprzedaż. Dobrą praktyką jest stosowanie tej funkcji w połączeniu z klauzulą GROUP BY, co pozwala na obliczenie średnich wartości w różnych grupach danych, na przykład średnia sprzedaż według kategorii produktowej. Przy stosowaniu funkcji AVG warto pamiętać, że ignoruje ona wartości NULL, co wpływa na wynik obliczeń. W kontekście analizy danych w SQL, znajomość takich funkcji jak AVG jest kluczowa dla efektywnego przetwarzania i analizy informacji, co stanowi fundament dobrego zarządzania danymi.

Pytanie 13

Jak umieścić komentarz w kodzie PHP?

A. /* ... */
B. /? ... ?/
C. <? ... ?>
D. <!-- ... -->
Wiele osób mogących mieć z początku problemy z właściwym umiejscowieniem komentarzy w kodzie PHP, często korzysta z niewłaściwych składni. Na przykład, odpowiedź <? ... ?> sugeruje, że komentarz można umieścić w specjalnych znacznikach PHP, co jest błędne. W rzeczywistości znaki te służą do otwierania i zamykania bloków kodu PHP, a nie do tworzenia komentarzy. Z kolei odpowiedź /? ... ?/ jest również niepoprawna, ponieważ nie istnieje w PHP żadna składnia komentarza oparta na tym systemie. Typowe błędy myślowe prowadzące do takich wniosków są związane z nieporozumieniem dotyczącym funkcji znaczników PHP. Inną nieprawidłową odpowiedzią jest <!-- ... -->, która jest używana w HTML do komentowania kodu, lecz nie ma zastosowania w PHP. Kluczowe jest zrozumienie, że każda technologia ma swoje własne zasady dotyczące kodowania oraz komentarzy, a mieszanie tych reguł może prowadzić do nieporozumień i błędów w kodzie. Dobre praktyki programistyczne jasno wskazują, że komentarze powinny być używane z umiarem i w odpowiednich miejscach, aby nie wprowadzać zamieszania zarówno w kodzie, jak i w jego interpretacji przez innych programistów.

Pytanie 14

Dla strony internetowej stworzono styl, który będzie stosowany tylko do wybranych znaczników, takich jak niektóre nagłówki oraz kilka akapitów. W tej sytuacji, aby przypisać styl do konkretnych znaczników, najodpowiedniejsze będzie użycie

Ilustracja do pytania
A. selektora akapitu
B. identyfikatora
C. pseudoklasy
D. klasy
Pseudoklasy w CSS są używane do stylizowania elementów w określonym stanie, np. :hover dla zmiany stylu po najechaniu myszą. Nie są odpowiednie do przypisywania unikalnych stylów do konkretnych elementów. Identyfikator w CSS, oznaczany przez #, jest używany do stylizowania jednego unikalnego elementu na stronie. Jego użycie jest ograniczone do jednego elementu, co jest zgodne z zasadą unikalności identyfikatorów w dokumencie HTML. Nie nadaje się do sytuacji, gdy ten sam styl ma być stosowany do wielu elementów, ponieważ zmuszałoby to do definiowania i przypisywania wielu unikalnych identyfikatorów do każdego z nich, co jest przeciwieństwem DRY (Don't Repeat Yourself). Selektor akapitu bezpośrednio odnosi się do wszystkich elementów danego typu, np. p dla wszystkich akapitów. Nie jest on elastyczny, gdy chcemy zastosować styl tylko do niektórych elementów danego typu. Klasy oferują większą elastyczność w zarządzaniu stylami wielu elementów, ponieważ mogą być stosowane do różnych typów elementów w różnych miejscach dokumentu HTML. Ponadto, klasy są bardziej czytelne i ułatwiają utrzymanie kodu, co jest zgodne z najlepszymi praktykami w programowaniu front-endowym. Użycie klas wspiera również lepszą strukturę i modularność kodu CSS, co jest istotne w kontekście pracy zespołowej oraz skalowalności projektu.

Pytanie 15

W systemie PHP złożono zapytanie SELECT do bazy przy pomocy funkcji mysqli_query. Jaką funkcję powinien wykorzystać użytkownik, aby ustalić liczbę rekordów, które zwróciło to zapytanie?

A. mysqli_fetch_row
B. mysqli_num_rows
C. mysqli_connect
D. mysqli_query
Wybór innych funkcji jako odpowiedzi na pytanie jest niezgodny z ich rzeczywistym przeznaczeniem w kontekście analizy wyników zapytań w PHP. Funkcje takie jak mysqli_fetch_row służą do pobierania pojedynczego wiersza z zestawu wyników i nie dostarczają informacji o łącznej liczbie rekordów. Użycie tej funkcji może prowadzić do błędnych wniosków, gdyż zamiast podać liczbę wyników, zwraca jedynie dane jednego wiersza. Innym przykładem jest mysqli_query, która jest odpowiedzialna za wykonanie zapytania, ale nie oferuje metody na określenie ilości zwróconych rekordów. Podobnie, mysqli_connect jest funkcją do nawiązywania połączenia z bazą danych, co jest zupełnie nieadekwatne w kontekście analizy wyników zapytań. Użytkownicy często mylą te funkcje, ponieważ wszystkie są częścią pakietu MySQLi, jednak każda z nich ma swoje specyficzne zastosowanie. Właściwe zrozumienie roli poszczególnych funkcji jest kluczowe dla efektywnej pracy z bazami danych w PHP. Ignorowanie tego może prowadzić do nieefektywnego kodu oraz problemów z wydajnością aplikacji. Dlatego ważne jest, aby przed przystąpieniem do pisania zapytań zrozumieć, jakie funkcje będą potrzebne i jakie dane chcemy uzyskać.

Pytanie 16

Tabela odlotów zawiera dane przedstawione na ilustracji. Wykonanie zapytania SQL spowoduje zwrócenie informacji:

SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%';
idsamoloty_idnr_rejsukierunekczasdzienstatus_lotu
11FR1646Neapol09:20:002019-07-25wystartowal
21FR1327ALICANTE09:10:002019-07-25Opóźniony 10 min
32W63425Warszawa09:45:002019-07-25odprawa
43LX5647Londyn LT10:03:002019-07-25odprawa
53LX5673Malta10:06:002019-07-25opoznienie 20 min
63LX5622Wieden10:13:002019-07-25
74LH9821Berlin10:16:002019-07-25
84LH9888Hamburg10:19:002019-07-25
A. 4; 5; 6; 7; 8
B. zbiór pusty
C. 3; 5; 8
D. 5; 8
Podczas analizy zapytania SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%' istotne jest zrozumienie działania operatora LIKE i warunków filtrujących w SQL. Warunek samoloty_id > 2 oznacza, że poszukujemy rekordów, gdzie wartość w kolumnie samoloty_id jest większa niż 2. Oznacza to, że rekordy z samoloty_id równym 1 lub 2 nie zostaną uwzględnione w wyniku zapytania. Drugi warunek kierunek LIKE '_a%' wykorzystuje operator LIKE, który umożliwia wyszukiwanie z użyciem symboli wieloznacznych. W tym przypadku znak podkreślenia '_' reprezentuje jeden dowolny znak, a wzorzec '_a%' oznacza, że w kolumnie kierunek szukamy wartości, które mają 'a' na drugim miejscu. Jest to specyficzne dopasowanie, które eliminuje wszelkie inne wzorce, które nie mają 'a' jako drugiego znaku. W tym kontekście błędne zrozumienie warunku LIKE może doprowadzić do niepoprawnego założenia, że szuka on dowolnego ciągu zawierającego literę 'a', co nie jest zgodne z rzeczywistością. Typowe błędy myślowe mogą wynikać z pomylenia znaku '%' z '_', gdzie pierwszy oznacza dowolną liczbę dowolnych znaków, a drugi tylko jeden dowolny znak. Takie nieporozumienia są powszechne, ale zrozumienie poprawnej składni i mechanizmu działania operatora LIKE jest kluczowe dla skutecznego wykorzystania tego narzędzia w SQL. Dodatkowo, nieuwzględnienie warunku samoloty_id > 2 prowadzi do niewłaściwego zrozumienia, które rekordy powinny zostać uwzględnione w końcowym wyniku zapytania. Takie sytuacje podkreślają znaczenie dokładnej analizy warunków i wzorców w zapytaniach SQL, aby uzyskać oczekiwane rezultaty bez błędów interpretacyjnych.

Pytanie 17

Analizując poniższy kod HTML, jak w przeglądarce zachowa się blok B względem bloku A?

<div>A</div>
<div style="margin-top: 20px">B</div>
A. bloki A i B będą nachodzić na siebie
B. zostanie ustawiony dolny margines bloku B
C. blok B będzie oddalony od bloku A o 20 px
D. blok A zostanie przesunięty w lewo o 20 px
Drugi <div> (blok B) ma w atrybucie style ustawione margin-top: 20px - to margines zewnętrzny po GÓRNEJ stronie. Ponieważ blok B leży pod blokiem A, ten 20-pikselowy margines tworzy odstęp nad B, odsuwając go w dół od A. Dlatego blok B będzie oddalony od bloku A o 20 px.

Pytanie 18

Które zdarzenie JavaScript zachodzi, gdy kursor myszy znajdzie się nad elementem, do którego jest przypisane?

A.
onmouseup
B.
onmouseout
C.
onmousedown
D.
onmouseover
Pozostałe zdarzenia zachodzą w innych sytuacjach. onmouseup jest wyzwalane przy zwolnieniu wciśniętego przycisku myszy, a onmousedown przy jego naciśnięciu - oba dotyczą kliknięcia, a nie samego najechania. onmouseout działa odwrotnie do szukanego: zachodzi, gdy kursor OPUSZCZA element. Najechanie kursorem na element obsługuje onmouseover, dlatego ta odpowiedź jest poprawna.

Pytanie 19

Zgodnie z zasadami ACID, odnoszącymi się do przeprowadzania transakcji, wymóg trwałości (ang. durability) wskazuje, że

A. w trakcie realizacji transakcji dane mogą być zmieniane przez inne transakcje
B. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od tego, co się wydarzy po jej zakończeniu
C. transakcja może w pewnych okolicznościach być rozdzielona na dwa niezależne etapy
D. w sytuacji naruszenia spójności bazy danych transakcja eliminuje tabele z kluczami obcymi
Wymóg trwałości (durability) w kontekście właściwości ACID oznacza, że po zatwierdzeniu transakcji, wszystkie zmiany dokonane na danych muszą być utrwalone w trwałym magazynie danych, a ich dostępność nie może być zagrożona przez awarie systemu, takie jak utrata zasilania czy awarie oprogramowania. Przykładem może być system bankowy, gdzie po wykonaniu operacji przelewu, saldo konta musi być natychmiastowo zaktualizowane i dostępne w systemie, niezależnie od tego, co wydarzy się później. W praktyce, wiele systemów zarządzania bazami danych, takich jak PostgreSQL czy MySQL, wykorzystuje mechanizmy logowania transakcji oraz techniki replikacji, aby zapewnić, że dane pozostaną spójne i dostępne nawet w obliczu kryzysów. Zgodność z zasadą trwałości jest kluczowa dla utrzymania zaufania użytkowników i stabilności operacyjnej systemów informacyjnych, co jest wspierane przez standardy takie jak ISO/IEC 27001 dotyczące zarządzania bezpieczeństwem informacji.

Pytanie 20

GRANT CREATE, ALTER ON sklep.* TO adam; Zakładając, że użytkownik adam nie dysponował wcześniej żadnymi uprawnieniami, to polecenie SQL przyzna mu prawa jedynie do

A. tworzenia oraz modyfikacji struktury wszystkich tabel w bazie sklep
B. wstawiania oraz modyfikacji danych w tabeli sklep
C. tworzenia oraz modyfikacji struktury w tabeli sklep
D. wstawiania oraz modyfikacji danych we wszystkich tabelach bazy sklep
Polecenie SQL 'GRANT CREATE, ALTER ON sklep.* TO adam;' przyznaje użytkownikowi adam prawa do tworzenia i modyfikowania struktury wszystkich tabel w bazie danych o nazwie 'sklep'. W kontekście zarządzania bazami danych, przyznawanie takich uprawnień jest kluczowe dla realizacji zadań związanych z projektowaniem i rozbudową bazy. Przykładowo, gdyby adam potrzebował dodać nową kolumnę do istniejącej tabeli lub utworzyć nową tabelę, mógłby to zrobić dzięki tym prawom. Z perspektywy bezpieczeństwa, nadawanie takich uprawnień powinna być starannie przemyślane, aby uniknąć nieautoryzowanych zmian w strukturze bazy. W praktyce, w sytuacjach, gdy wiele osób współpracuje nad projektem, zaleca się przyznawanie minimalnych uprawnień, które są niezbędne do wykonania określonych zadań. W związku z tym, wykorzystanie polecenia GRANT w sposób odpowiadający wymaganiom projektu jest najlepszą praktyką w zakresie administracji bazami danych.

Pytanie 21

Jak nazywa się model prostej bazy, w której wszystkie dane są w JEDNEJ tabeli?

A. jednorodnym
B. hierarchicznym
C. sieciowym
D. relacyjnym
Najprostszy model bazy, w którym wszystkie dane mieszczą się w JEDNEJ tabeli (bez powiązań), nazywa się jednorodnym (płaskim). Dlatego to model jednorodny.

Pytanie 22

Który protokół jest stosowany do przesyłania plików na serwer WWW?

A. DHCP
B. POP3
C. FTP
D. DNS
FTP, czyli File Transfer Protocol, to protokół używany do przesyłania plików między komputerami w sieci, zwłaszcza w kontekście serwerów WWW. Umożliwia on użytkownikom łatwe przesyłanie, pobieranie, a także zarządzanie plikami na serwerze. FTP działa na bazie modelu klient-serwer, gdzie klient nawiązuje połączenie z serwerem i może przesyłać pliki w obie strony. Protokół ten operuje na portach 20 i 21, co czyni go standardem w dziedzinie przesyłania plików. W praktyce, wiele aplikacji klienckich, takich jak FileZilla czy WinSCP, wykorzystuje FTP do zarządzania plikami na serwerach. FTP wspiera różne metody autoryzacji, w tym logowanie anonimowe, co umożliwia użytkownikom dostęp do publicznych zasobów. Warto również zaznaczyć, że istnieją rozszerzenia, takie jak FTPS czy SFTP, które oferują dodatkowe funkcje zabezpieczeń, umożliwiając szyfrowanie danych podczas transferu. W kontekście standardów, FTP jest definiowany w dokumentach RFC 959 oraz RFC 3659, które określają jego działanie oraz interakcje w sieci. Dzięki swojej wszechstronności i niezawodności, FTP pozostaje jednym z najpopularniejszych protokołów do przesyłania plików w Internecie.

Pytanie 23

Co oblicza funkcja agregująca MIN w SQL?

A. najmniejszą wartość w kolumnie wyniku
B. liczbę zwróconych wierszy
C. średnią wartości pól rekordu
D. długość tekstu w rekordach
Funkcja agregująca MIN zwraca NAJMNIEJSZĄ wartość z kolumny w wyniku zapytania - np. najniższą cenę czy najwcześniejszą datę. Dlatego MIN oblicza najmniejszą wartość w kolumnie.

Pytanie 24

W jakim celu tworzy się w tabeli klucz OBCY?

A. aby utworzyć relację (np. 1..n) z kluczem głównym innej tabeli
B. aby wiązać go z innymi kluczami obcymi tej samej tabeli
C. aby stworzyć formularz do wprowadzania danych
D. aby jednoznacznie identyfikować rekord w tabeli
Klucz OBCY tworzy się, aby ustanowić RELACJĘ między tabelami - wskazuje klucz główny innej tabeli (np. w relacji 1..n). Pilnuje też spójności powiązań. Dlatego klucz obcy służy do utworzenia relacji z kluczem głównym innej tabeli.

Pytanie 25

W języku JavaScript zamieszczony poniżej fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
wynik += tab[i];
}
A. dodanie stałej wartości do każdego elementu tablicy
B. policzenie sumy wszystkich elementów tablicy
C. wyświetlenie wszystkich elementów tablicy
D. wprowadzenie do każdego elementu tablicy bieżącej wartości zmiennej i
Rozważając różne odpowiedzi, można dostrzec pewne błędne założenia dotyczące funkcji pętli w analizowanym kodzie JavaScript. Pierwsza z opcji zakłada, że celem kodu jest wyświetlenie wszystkich elementów tablicy. W rzeczywistości jednak kod nie zawiera żadnych instrukcji, takich jak console.log(), które pozwoliłyby na wyświetlanie wartości elementów tablicy. To powszechny błąd polegający na myleniu iteracji pętli z operacjami wejścia/wyjścia. Kolejna możliwość sugeruje dodanie do każdego elementu tablicy stałej wartości. Aby osiągnąć taki efekt, kod musiałby bezpośrednio modyfikować wartości w tablicy, co wymagałoby przypisania nowych wartości do elementów tablicy. W przedstawionym kodzie nie ma jednak żadnej manipulacji wartościami tablicy, co wskazuje na niewłaściwe zrozumienie celu operacji wykonywanych na tablicach. Ostatnia możliwość zakłada, że każdemu elementowi tablicy przypisywana jest aktualna wartość zmiennej i. Taki efekt wymagałby przypisania wartości i do elementów tablicy, co nie ma miejsca w przedstawionym fragmencie kodu. Jest to często spotykany błąd polegający na myleniu indeksu pętli z operacjami przypisania. Każda z tych odpowiedzi opiera się na niepoprawnym zrozumieniu mechanizmów iteracji i operacji na tablicach w językach programowania takich jak JavaScript co może prowadzić do błędnych wniosków dotyczących działania kodu.

Pytanie 26

Tabela przedmioty ma pola ocena i uczenID. Która kwerenda policzy ŚREDNIĄ ocen ucznia o ID 7?

A.
COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7;
B.
SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7;
C.
SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;
D.
AVG SELECT ocena FROM przedmioty WHERE uczenID = 7;
Średnią wartości z kolumny liczy funkcja agregująca AVG. Zapis SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7; najpierw warunkiem WHERE wybiera oceny ucznia o ID 7, a potem AVG(ocena) je uśrednia. Dlatego ta kwerenda jest poprawna.

Pytanie 27

Do usuwania czego stosuje się w MySQL polecenie TRUNCATE TABLE?

A. kolumn
B. tabel
C. wierszy tabeli
D. baz danych
Pozostałe obiekty usuwają inne polecenia. Całą tabelę (ze strukturą) kasuje DROP TABLE, kolumnę - ALTER TABLE ... DROP COLUMN, a bazę - DROP DATABASE. TRUNCATE TABLE usuwa wyłącznie wiersze.

Pytanie 28

Została stworzona baza danych z tabelą podzespoły, która zawiera pola: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowanych od najniższej do najwyższej ceny, należałoby użyć kwerendy:

A. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC
B. SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoły ASC
C. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC
D. SELECT model FROM podzespoły WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC
Analizując niepoprawne odpowiedzi, można zauważyć kilka istotnych błędów koncepcyjnych, które prowadzą do błędnych wyników. W przypadku pierwszej z błędnych kwerend, użycie klauzuli ORDER BY cena DESC sprawia, że wyniki są sortowane od najdroższej do najtańszej, co jest sprzeczne z wymaganiem przedstawienia modeli w porządku rosnącym. Problem ten często wynika z błędnego zrozumienia celu sortowania, co może prowadzić do frustracji użytkowników poszukujących najkorzystniejszych cen. W innej z błędnych odpowiedzi, klauzula WHERE wykorzystuje operator OR zamiast AND, co skutkuje zwróceniem modeli RAM od różnych producentów, co jest niewłaściwe w kontekście zadania, które wymaga danych tylko od producenta Kingston. Ponadto, ostatnia odpowiedź zawiera również błąd w odniesieniu do źródła danych, wskazując na tabelę 'producent' zamiast 'podzespoły'. W SQL kluczowe jest zrozumienie struktury danych oraz logiczne formułowanie zapytań, aby uniknąć nieścisłości. Błędy te mogą wynikać z mylnego założenia, że każda zmiana w zapytaniu nie wpływa na jego integralność i wynik, co jest niebezpiecznym podejściem w praktyce programistycznej.

Pytanie 29

Zdefiniowanie klucza obcego jest niezbędne do utworzenia

A. transakcji.
B. relacji 1..1.
C. klucza podstawowego.
D. relacji 1..n.
W tym pytaniu łatwo się pomylić, bo wszystkie odpowiedzi zahaczają o tematykę baz danych, ale tylko jedna dotyczy faktycznego zastosowania klucza obcego. Klucz obcy w relacyjnej bazie danych służy do wiązania tabel ze sobą i pilnowania integralności referencyjnej. To oznacza, że jego główna rola to powiązanie rekordów: jeden rekord w tabeli nadrzędnej może mieć wiele powiązanych rekordów w tabeli podrzędnej. To jest właśnie relacja 1..n – najczęściej spotykana w normalnych systemach (np. jeden klient, wiele zamówień; jeden autor, wiele książek).
Częsty błąd polega na kojarzeniu klucza obcego z transakcjami. Transakcje w SQL (BEGIN, COMMIT, ROLLBACK) to zupełnie inny mechanizm – służą do zapewnienia atomowości, spójności, izolacji i trwałości operacji (tzw. ACID). Można mieć transakcje w bazie nawet wtedy, gdy w ogóle nie ma żadnych kluczy obcych. Klucz obcy nie jest wymagany do rozpoczęcia czy wykonania transakcji, to po prostu inna warstwa logiki.
Zdarza się też, że ktoś myli klucz obcy z kluczem podstawowym i myśli, że klucz obcy jest potrzebny do jego utworzenia. Jest dokładnie odwrotnie: najpierw definiuje się klucz podstawowy w tabeli nadrzędnej, a dopiero potem w innej tabeli tworzy się klucz obcy, który się do tego klucza podstawowego odwołuje. Klucz podstawowy identyfikuje jednoznacznie rekord w swojej tabeli, klucz obcy tylko wskazuje na ten rekord z innej tabeli.
Jeśli chodzi o relacje 1..1, to one również mogą być realizowane za pomocą kluczy obcych, ale pytanie używa słowa „niezbędne” i w kontekście typowych zastosowań oraz nauczania relacyjnych baz danych klucz obcy kojarzymy głównie z relacją 1..n. Relacja 1..1 jest rzadziej używana i zwykle wymaga dodatkowych ograniczeń (np. klucz obcy, który jest jednocześnie unikalny), więc to już bardziej specyficzny przypadek. Typowym, podręcznikowym i praktycznym zastosowaniem klucza obcego jest właśnie relacja jeden do wielu, i na to pytanie celuje.
Z mojego doświadczenia największy problem polega na tym, że uczniowie mieszają pojęcia: transakcje, klucze, relacje, wszystko wrzucają do jednego worka. Warto je rozdzielić: klucz podstawowy – identyfikacja rekordu, klucz obcy – powiązanie między tabelami (relacje, głównie 1..n), transakcje – kontrola przebiegu operacji w bazie. Jak się to poukłada w głowie, projektowanie schematu bazy danych staje się dużo prostsze i bardziej logiczne.

Pytanie 30

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku zdecydowano o podwyżce pensji dla wszystkich pracowników o 100 zł. Ta aktualizacja w bazie danych powinna mieć formę

A. UPDATE pensja SET +100
B. UPDATE pensja SET 100
C. UPDATE pracownicy SET pensja = 100
D. UPDATE pracownicy SET pensja = pensja + 100
W analizowanym kontekście występują różne niepoprawne podejścia do aktualizacji pensji pracowników. W pierwszym przypadku, 'UPDATE pensja SET 100;' jest syntaktycznie błędne, ponieważ aktualizacja powinna odnosić się do tabeli, a nie do pojedynczej kolumny oraz brak tu wskazania, jak ma wyglądać nowa wartość. Drugą niepoprawną opcją, 'UPDATE pracownicy SET pensja = 100;', jest niewłaściwa, ponieważ ustawia pensję wszystkich pracowników na stałą wartość 100 zł, co nie jest zgodne z założeniem, aby zwiększyć ich dotychczasowe pensje. Również 'UPDATE pensja SET +100;' jest błędne, ponieważ nie wskazuje, do której tabeli odnosi się operacja, a syntaktycznie pomija konkretne przypisanie. Takie podejścia mogą prowadzić do katastrofalnych skutków w bazach danych, takich jak utrata informacji lub niezamierzona zmiana danych. W praktyce bazy danych powinny być aktualizowane w sposób, który zapewnia integralność danych oraz ich spójność, co wymaga stosowania odpowiednich operacji matematycznych w kontekście kolumn, a nie stałych wartości. Zrozumienie tych zasad jest kluczowe dla uniknięcia typowych błędów w pracy z SQL i zapewnienia prawidłowego zarządzania informacjami.

Pytanie 31

W edytorze grafiki wektorowej stworzono przedstawiony kształt, który powstał z dwóch figur: trójkąta i koła. W celu stworzenia tego kształtu, po narysowaniu figur i odpowiednim ich ustawieniu, należy skorzystać z funkcji

Ilustracja do pytania
A. wykluczenia.
B. różnicy.
C. sumy.
D. rozdzielenia.
Dobrze, że wybrałeś odpowiedź 'Sumy'. W rzeczywistości, aby uzyskać efekt przedstawiony na zdjęciu w edytorze grafiki wektorowej, trzeba skorzystać z opcji 'Sumy'. Ta funkcja łączy dwie różne figury w jedną, co pozwala na tworzenie złożonych kształtów. W praktyce, po rysowaniu i odpowiednim ustawieniu figurek, funkcja 'Sumy' jest używana do ich połączenia, tworząc unikalny obiekt. Taka metoda jest często stosowana w przemyśle graficznym, zwłaszcza w projektowaniu logo, gdzie unikalne kształty są istotne. Jest to zgodne ze standardami i dobrymi praktykami w branży graficznej, które zalecają efektywne wykorzystanie narzędzi edytora grafiki wektorowej do tworzenia złożonych kształtów.

Pytanie 32

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

A. ```<u>``` oraz ```<sup>```
B. ```<b>``` oraz ```<i>```
C. ```<i>``` oraz ```<mark>```
D. ```<b>``` oraz ```<u>```
Znaczniki HTML <strong> oraz <em> są używane do podkreślenia ważności tekstu, przy czym <strong> wskazuje na silniejsze akcentowanie, a <em> na akcentowanie mniej intensywne, pełniące rolę stylizacji typograficznej. W kontekście formatowania, ich odpowiednikami są znaczniki <b> oraz <i>. Oznacznik <b> wprowadza tekst w pogrubieniu, co sygnalizuje jego ważność, ale nie ma semantycznego znaczenia, podczas gdy <i> oznacza kursywę, która jest często używana do podkreślenia tytułów, obcojęzycznych wyrazów czy terminów technicznych. W praktyce, użycie <strong> i <em> jest zgodne z zasadami semantycznego HTML, które mają na celu zrozumienie treści przez maszyny oraz poprawę dostępności, co ma fundamentalne znaczenie w projektowaniu stron internetowych. Warto także pamiętać, że stosowanie semantycznych znaczników wpływa na SEO, umożliwiając lepsze indeksowanie treści przez wyszukiwarki, a także poprawia doświadczenia osób korzystających z technologii asystujących. Przykładowo, użycie <strong> w nagłówkach lub kluczowych informacjach na stronie pozwala na lepsze zrozumienie struktury treści przez użytkowników oraz boty wyszukiwarek.

Pytanie 33

Która kwerenda wybierze z tabeli Uczniowie tylko osoby o imieniu „Aleksandra” urodzone PO 1998 roku?

A.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" OR rok_urodzenia < "1998";
B.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND 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";
Zadanie stawia dwa warunki, które muszą być spełnione JEDNOCZEŚNIE: imię „Aleksandra” oraz urodzenie po 1998 - takie połączenie zapewnia operator AND, a „po roku” to rok_urodzenia > "1998". Daje to SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia > "1998";. Dlatego ta kwerenda jest poprawna.

Pytanie 34

Którego polecenia SQL użyć, aby usunąć CAŁĄ tabelę (wraz ze strukturą)?

A.
DROP TABLE
B.
UNIQUE
C.
DELETE
D.
TRUNCATE TABLE
Aby usunąć CAŁĄ tabelę wraz ze strukturą, używa się DROP TABLE - kasuje definicję tabeli i wszystkie dane. Dlatego poprawne jest DROP TABLE.

Pytanie 35

W relacyjnych systemach baz danych, gdy dwie tabele są powiązane przez ich klucze główne, mamy do czynienia z relacją

A. n..n
B. 1..n
C. n..1
D. 1..1
Błędne odpowiedzi 1..n, n..1 oraz n..n wskazują na różne typy relacji, które nie odpowiadają sytuacji opisanej w pytaniu. Relacja 1..n sugeruje, że jeden rekord w pierwszej tabeli może być powiązany z wieloma rekordami w drugiej tabeli. Przykładem może być relacja między tabelą 'Klienci' i 'Zamówienia', gdzie każdy klient może mieć wiele zamówień. Tego typu relacja nie jest możliwa z kluczem głównym, ponieważ klucz główny jest unikalny dla każdego rekordu. Podobnie, relacja n..1 oznacza, że wiele rekordów w pierwszej tabeli odnosi się do jednego rekordu w drugiej. Może to być interpretowane w kontekście danych, gdzie wiele produktów może być przypisanych do jednego dostawcy. W kontekście kluczy głównych, to również jest niepoprawne, ponieważ klucz główny w jednej tabeli powinien jednoznacznie identyfikować każdy rekord. Natomiast relacja n..n, która oznacza wiele rekordów w obu tabelach, jest również błędna w tym przypadku. Przykładem może być relacja między 'Użytkownikami' i 'Grupami', gdzie użytkownicy mogą należeć do wielu grup, a grupy mogą mieć wielu użytkowników. Żaden z tych typów relacji nie bierze pod uwagę unikalnych powiązań, które można osiągnąć tylko poprzez relację 1..1. Często błędy te wynikają z niepełnego zrozumienia zasad normalizacji baz danych oraz specyficznych zastosowań kluczy głównych, co prowadzi do błędnych wniosków o strukturze danych.

Pytanie 36

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Przenikanie zdjęć.
C. Zwiększenie ostrości zdjęcia.
D. Zmiana jasności zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 37

Która funkcja PHP wczyta zawartość pliku do zmiennej (jako ciąg znaków)?

A.
file_get_contents()
B.
eof()
C.
get_file()
D.
fwrite()
Funkcja file_get_contents() wczytuje całą zawartość pliku do zmiennej jako jeden ciąg znaków - np. $tresc = file_get_contents("plik.txt");. Dlatego do odczytu pliku służy file_get_contents().

Pytanie 38

Sprawdzanie poprawności wypełnienia formularza, które ma przebiegać po stronie klienta, powinno być wykonane w języku

A. PHP
B. Ruby on Rails
C. JavaScript
D. CSS
Weryfikacja kompletności formularza po stronie przeglądarki jest kluczowym elementem interakcji użytkownika z aplikacją internetową. Do realizacji tego zadania najczęściej wykorzystuje się język JavaScript, który umożliwia dynamiczne manipulowanie strukturą HTML oraz reagowanie na zdarzenia użytkownika, takie jak kliknięcia czy wprowadzanie danych. Przykładem może być zdefiniowanie funkcji, która sprawdza, czy wszystkie wymagane pola formularza zostały uzupełnione przed jego wysłaniem. W tym celu można użyć zdarzenia 'submit', aby przechwycić moment wysłania formularza i przeprowadzić odpowiednie sprawdzenie. Standardy, takie jak W3C, zalecają stosowanie walidacji po stronie klienta, jako sposób na poprawę doświadczeń użytkownika i zmniejszenie obciążenia serwera. Przykład kodu JavaScript do walidacji formularza mógłby wyglądać następująco: function validateForm() { var x = document.forms["myForm"]["fname"].value; if (x == "") { alert("Imię musi być wypełnione"); return false; } }. Takie podejście nie tylko zwiększa użyteczność aplikacji, ale również pozwala na wczesne wykrywanie błędów, co może znacznie poprawić jakość danych przesyłanych do serwera.

Pytanie 39

Przedstawiony błąd, który pojawił się podczas interpretacji kodu PHP, może być spowodowany

Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\1\biuro.php on line 38
A. odwołaniem do niezadeklarowanej zmiennej
B. brakiem bazy danych o nazwie podanej w funkcji mysqli_connect
C. niepowodzeniem w wykonaniu kwerendy na bazie danych
D. próbą odwołania do nieistniejącego elementu tablicy
Brak bazy danych o nazwie wskazanej w funkcji mysqli_connect mógłby skutkować zupełnie innym rodzajem błędu związanym z połączeniem, a nie z dostępem do elementu tablicy. Taki problem zwykle objawia się jako błąd połączenia, wskazujący na niemożność odnalezienia bazy danych o podanej nazwie. Odwołanie się do niezadeklarowanej zmiennej w PHP skutkuje zazwyczaj błędem typu notice, który informuje, że zmienna nie była zainicjalizowana przed użyciem. Tego rodzaju błąd nie odnosi się bezpośrednio do tablic, lecz do zmiennych ogólnie. Dobra praktyka programistyczna nakazuje inicjalizację wszystkich zmiennych przed ich użyciem, co pomaga unikać takich komunikatów. Niepowodzenie wydania kwerendy na bazie danych mogłoby skutkować błędami dotyczącymi SQL, zwykle identyfikowanymi przez specyficzne komunikaty o błędach SQL zwracane przez serwer baz danych. Tego rodzaju problem jest ściśle związany z niewłaściwą konstrukcją zapytań SQL i logiką aplikacji, a nie z dostępem do elementów tablicy w PHP. Aby prawidłowo rozwiązywać takie problemy, ważne jest zrozumienie, w jaki sposób funkcje PHP współpracują z danymi i jak mogą być one obsługiwane, aby uniknąć błędów typu null w tablicach, co jest istotnym aspektem efektywnego programowania w PHP.

Pytanie 40

W podanym fragmencie zapytania w języku SQL, komenda SELECT jest używana do zwrócenia SELECT COUNT(wartosc) FROM …

A. średniej w kolumnie wartosc
B. średniej wartości z tabeli
C. summy w kolumnie wartosc
D. ilości wierszy
No, trochę jest tu pomyłka. Ludzie często mylą to zapytanie SELECT COUNT(wartosc) z sumowaniem wartości, co nie jest do końca poprawne. Funkcja COUNT nie sumuje wartości, ona tylko liczy, ile jest niepustych wierszy. Więc jeżeli ktoś twierdzi, że to daje średnią, to wprowadza w błąd – średnią liczymy z pomocą funkcji AVG, a nie COUNT. W kolumnie 'wartosc' mogą być różne liczby, a suma wartości nie ma wiele wspólnego z tym, ile jest wierszy. Dobrze jest pamiętać, że średnia to coś innego niż liczba wierszy, co jest ważne do zrozumienia, jak działają zapytania w SQL. Jeśli ktoś myli te funkcje, to może się zgubić w analizie danych. Więc ogólnie mówiąc, warto wiedzieć, czym różnią się COUNT, AVG i inne funkcje agregujące, bo to kluczowe do ogarnięcia pracy z bazami danych.