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: 10 sierpnia 2026 14:38
  • Data zakończenia: 10 sierpnia 2026 15:01

Egzamin zdany!

Wynik: 31/40 punktów (77,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

Funkcję mysqli_num_rows() w PHP można wywołać po wykonaniu zapytania:

A.
DELETE
B.
UPDATE
C.
INSERT
D.
SELECT
Funkcja mysqli_num_rows() zwraca liczbę wierszy w zbiorze wynikowym i ma sens tylko wtedy, gdy zapytanie taki zbiór zwraca - czyli po SELECT (lub np. SHOW). Przekazuje się jej wynik zapytania, np. $w = mysqli_query($db, "SELECT * FROM klienci"); $ile = mysqli_num_rows($w);. Dla zapytań modyfikujących dane liczbę zmienionych wierszy podaje inna funkcja - mysqli_affected_rows(). Dlatego mysqli_num_rows() stosuje się po zapytaniu SELECT.

Pytanie 2

Jaką wartość w systemie RGB uzyskamy dla koloru zapisanego w kodzie heksadecymalnym: #1510FE?

A. rgb(21,16,255)
B. rgb(15,10,FE)
C. rgb(21,16,254)
D. rgb(21,16,FE)
Odpowiedź rgb(21,16,254) jest poprawna, ponieważ kolor zapisany w systemie heksadecymalnym #1510FE można rozłożyć na składowe RGB. W kodzie heksadecymalnym każdy z trzech kolorów (czerwony, zielony, niebieski) jest reprezentowany przez dwie cyfry. W przypadku #1510FE, pierwsze dwie cyfry (15) odnoszą się do wartości czerwonej, drugie dwie (10) do wartości zielonej, a ostatnie dwie (FE) do wartości niebieskiej. Te wartości musimy przeliczyć na system dziesiętny: czerwony to 21 (15 w systemie szesnastkowym to 21 w dziesiętnym), zielony to 16 (10 w szesnastkowym to 16 w dziesiętnym), a niebieski to 254 (FE w szesnastkowym to 254 w dziesiętnym). Tak więc końcowy wynik to rgb(21,16,254). W praktyce, znajomość konwersji kolorów jest kluczowa w projektowaniu graficznym, stron internetowych oraz aplikacji, gdzie precyzyjne odwzorowanie kolorów jest niezbędne dla uzyskania poprawnej estetyki i spójności wizualnej. Warto zaznaczyć, że standardy takie jak sRGB są powszechnie stosowane do definiowania kolorów w cyfrowych mediach, co zapewnia zgodność i przewidywalność w różnych urządzeniach wyświetlających te kolory.

Pytanie 3

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

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

for (int i=0; i < 10; i++)
{
    zm1 = zm1 + tab[i];
}
zm2 = zm1 / 10;
A. Średnia arytmetyczna liczb z tablicy
B. Suma liczb od 1 do 10
C. Średnia geometryczna liczb od 0 do 9
D. Suma elementów z tablicy
W tym kodzie jest trochę do zrozumienia, zwłaszcza w kontekście pętli for i operacji matematycznych. Mylisz się, myśląc, że zm2 to średnia geometryczna liczb od 0 do 9, bo w tym kodzie nie ma ani mnożenia, ani pierwiastkowania, które są konieczne do obliczenia średniej geometrycznej. Zmienna zm2 odnosi się do liczb w tablicy tab[], a nie do tych od 0 do 9. Ponadto, twierdzenie, że zm2 to suma liczb od 1 do 10, jest błędne, bo kod nie operuje na takich liczbach. Sumowanie dotyczy tylko wartości w tablicy. Mylna jest też informacja, że zm2 to suma z tablicy – to zm1 przechowuje tę sumę, a zm2 to średnia po podzieleniu przez 10. Błędy takie mogą wynikać z braku zrozumienia działania pętli i operacji matematyk. Ważne, żeby zawsze śledzić, co się dzieje z danymi w kodzie i jakie operacje są wykonywane, bo to klucz do rozwiązywania problemów w programowaniu. Warto dokładnie zrozumieć strukturę kodu i rolę zmiennych, aby unikać błędów logicznych.

Pytanie 4

W HTML formularzu użyto elementu <input>. Pole, które się pojawi, ma pozwalać na wprowadzenie maksymalnie

<input type="password" size="30" maxlength="20">
A. 30 znaków, które będą widoczne podczas wpisywania
B. 20 znaków, które będą widoczne w trakcie wprowadzania
C. 20 znaków, które nie będą widoczne w polu tekstowym
D. 30 znaków, które nie będą widoczne w polu tekstowym
Znacznik <input type="password"> w HTML jest rzeczywiście super ważny. Umożliwia on użytkownikom wpisywanie haseł, a to, co najfajniejsze, to że znaki są ukryte, więc nikt nie zobaczy, co piszesz. Atrybut maxlength="20" jest tutaj pomocny, bo ogranicza liczbę znaków do 20, co jest praktyczne - zbyt długie hasła ciężko zapamiętać, a krótkie mogą być niebezpieczne. Natomiast size="30" to tylko kwestia szerokości pola, więc nie wpływa na ilość znaków, które można wpisać. Generalnie, dobrze jest trzymać się tych ograniczeń, bo to pomaga w projektowaniu formularzy i utrzymywaniu porządku w interfejsie. Z mojej perspektywy, znajomość tych atrybutów jest naprawdę przydatna przy tworzeniu stron, bo można lepiej zrozumieć, jak to wszystko działa.

Pytanie 5

Cechą formatu PNG jest:

A. bezstratna kompresja
B. brak obsługi kanału alfa
C. obsługa animacji
D. reprezentacja grafiki wektorowej
PNG to rastrowy format graficzny z kompresją bezstratną - przy zapisie nie traci jakości, więc dobrze nadaje się do grafik, logo i zrzutów ekranu z ostrymi krawędziami. Obsługuje też kanał alfa, czyli przezroczystość. Nie zapisuje natomiast animacji (do tego służy GIF) i nie jest formatem wektorowym. Dlatego cechą PNG jest bezstratna kompresja.

Pytanie 6

W zaprezentowanym schemacie bazy danych o nazwie biblioteka, składniki: czytelnik, wypożyczenie oraz książka są

Ilustracja do pytania
A. polami
B. atrybutami
C. krotkami
D. encjami
W kontekście modelowania danych w relacyjnych bazach danych istotne jest rozróżnienie między encjami a innymi pojęciami. Pola w bazach danych zazwyczaj odnoszą się do pojedynczych jednostek danych w obrębie kolumn tabeli reprezentujących atrybuty encji. Atrybuty to cechy opisujące encje takie jak imię czy nazwisko w przypadku encji czytelnik. Natomiast krotki często określają pojedynczy rekord czyli wiersz w tabeli który jest instancją encji. Błędne jest przypisywanie czytelnik wypozyczenie i ksiazka do kategorii pól ponieważ w modelowaniu danych pola są najmniejszymi jednostkami danych które nie reprezentują obiektów realnego świata lecz ich właściwości. Podobnie błędem jest klasyfikowanie ich jako atrybuty ponieważ atrybuty opisują encje a nie są nimi. Traktowanie tych elementów jako krotek również jest nieprawidłowe gdyż krotki to konkretne instancje danych a nie typy obiektów które chcemy modelować. Typowy błąd myślowy polega na myleniu poziomu abstrakcji czyli traktowaniu encji które są wysokopoziomowymi konceptami jak atrybuty czy krotki które są bardziej szczegółowymi jednostkami w strukturze danych. Zrozumienie tych różnic jest kluczowe dla efektywnego projektowania i implementacji baz danych oraz uniknięcia problemów związanych z redundancją czy nieefektywnością w przetwarzaniu informacji

Pytanie 7

Funkcją języka PHP tworzącą ciasteczko (cookie) jest:

A.
addcookie()
B.
setcookie()
C.
createcookie()
D.
echocookie()
Ciasteczko tworzy w PHP funkcja setcookie(), np. setcookie("jezyk", "pl", time()+3600) ustawia cookie o nazwie „jezyk”, wartości „pl” i ważności godzinę. Wysyła ją serwer w nagłówku odpowiedzi, dlatego setcookie() musi zostać wywołana PRZED jakimkolwiek wypisaniem treści strony. Przy kolejnych żądaniach przeglądarka odsyła ciasteczko, a odczytuje się je z tablicy $_COOKIE. Dlatego do utworzenia ciasteczka służy setcookie().

Pytanie 8

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

A. rozmiaru czcionki
B. koloru czcionki
C. efektów czcionki
D. nazwa czcionki
Pierwsza z niepoprawnych odpowiedzi sugeruje, że parametr face służy do określenia barwy czcionki. Jest to błędne, ponieważ kolor tekstu w HTML ustala się za pomocą innego parametru – 'color'. Możemy na przykład użyć znacznika <font color='red'>tekst</font>, aby ustawić kolor tekstu na czerwony. Parametr face nie ma związku z kolorystyką, a jego jedynym celem jest określenie konkretnej czcionki, co jest kluczowe dla typografii na stronach internetowych. Kolejna niepoprawna odpowiedź wskazuje na efekty czcionki, co również jest mylące. Efekty takie jak pogrubienie, kursywa czy podkreślenie są osiągane dzięki zastosowaniu odpowiednich stylów CSS lub atrybutów w tagach HTML, takich jak <b>, <i>, czy <u>. Parametr face nie wprowadza żadnych efektów, a jedynie wskazuje, jaką czcionkę należy zastosować. Ostatnia niepoprawna odpowiedź odnosi się do wielkości czcionki, co również jest nieprawidłowe. W HTML rozmiar czcionki ustala się za pomocą atrybutu 'size' w tagu <font>, co jest znacznie bardziej ograniczone i mniej elastyczne niż nowoczesne podejścia z CSS. W CSS możemy zdefiniować rozmiar czcionki za pomocą właściwości 'font-size', co umożliwia precyzyjne dostosowanie wielkości tekstu, a także łatwą zmianę przez wykorzystanie jednostek względnych. Podsumowując, niepoprawne odpowiedzi mylą się co do funkcji parametru face, który nie ma związku z kolorem, efektami czy wielkością czcionki.

Pytanie 9

Jakim sposobem można w języku PHP dokumentować blok komentarza składający się z wielu linii?

A. //
B. #
C. /* */
D. <!-- -->
W języku PHP oprócz bloku komentarza /* */ istnieją inne metody, które jednak nie są przeznaczone do tworzenia komentarzy wieloliniowych. Użycie // pozwala na komentowanie jedynie pojedynczych linii kodu, co może być mylące dla osób, które szukają sposobu na dodawanie dłuższych opisów. Kiedy stosujemy ten styl, każda linia, którą chcemy skomentować, musi być poprzedzona tymi znakami, co znacząco ogranicza możliwości dokumentacji w kodzie. Podobnie sytuacja wygląda w przypadku znaku #, który również działa jedynie na poziomie pojedynczych linii. Te podejścia mogą prowadzić do nieefektywności, zwłaszcza w bardziej złożonych projektach, gdzie jasne i zwięzłe komentarze są kluczowe dla utrzymania zrozumiałości kodu. Alternatywnie, użycie <!-- --> jest związane z HTML i nie jest poprawne w kontekście PHP, ponieważ nie jest uznawane za standardowy sposób komentowania w tym języku. Dlatego istotne jest, aby programiści stosowali odpowiednie metody zgodne z konwencjami PHP, aby uniknąć nieporozumień oraz zapewnić, że dokumentacja kodu będzie użyteczna i łatwo dostępna dla innych twórców. Błędem jest zatem stosowanie nieodpowiednich znaków do komentowania, co może prowadzić do nieczytelności oraz trudności w utrzymaniu kodu.

Pytanie 10

Jaką wartość w formacie RGB będzie miała barwa oznaczona kodem heksadecymalnym: #1510FE?

A. rgb(21, 16, 254)
B. rgb(21, 16, FE)
C. rgb(15, 10, FE)
D. rgb(21, 16, 255)
Odpowiedź rgb(21, 16, 254) jest dobra, bo te wartości RGB pochodzą z kodu heksadecymalnego #1510FE. W tym kodzie każda para cyfr pokazuje, jak mocno świeci dany kolor: od 00, co oznacza brak koloru, do FF, gdzie mamy pełną intensywność. W naszym przypadku, pierwsza para '15' to kolor czerwony, '10' to zielony, a 'FE' to niebieski. Jak to przeliczymy na dziesiętny, to '15' daje nam 21, '10' daje 16, a 'FE' to 254. I stąd mamy rgb(21, 16, 254). Te wartości są super przydatne, na przykład przy tworzeniu stylów CSS, gdzie kolory są podstawą. Warto ogarnąć, jak przerabiać kolory z jednego formatu na drugi – to naprawdę pomaga w projektowaniu grafiki i stron www.

Pytanie 11

W przedstawionej na rysunku relacji pole AutorID znajdujące się w tabeli ksiazki jest kluczem

Ilustracja do pytania
A. podstawowym.
B. obcym.
C. kandydującym.
D. sztucznym.
Pole AutorID w tabeli ksiazki jest klasycznym przykładem klucza obcego (foreign key) w relacyjnej bazie danych. Odwołuje się ono do pola IDAutor w tabeli autorzy, które jest kluczem podstawowym tej tabeli. Dzięki temu każda książka jest logicznie powiązana z konkretnym autorem, a baza danych może pilnować spójności referencyjnej. Innymi słowy: nie da się (a przynajmniej nie powinno się dać, jeśli relacje są poprawnie zdefiniowane) wstawić do ksiazki wartości AutorID, która nie istnieje w tabeli autorzy. W praktyce, w SQL definiuje się to np. tak: `AutorID INT CONSTRAINT FK_Ksiazki_Autorzy FOREIGN KEY REFERENCES autorzy(IDAutor)`. Moim zdaniem to jedno z najważniejszych pojęć w projektowaniu baz – bez kluczy obcych relacje między tabelami byłyby tylko „umowne”, a nie wymuszane przez silnik bazy. Klucz obcy zawsze wskazuje na klucz kandydujący, najczęściej na klucz podstawowy innej tabeli. Dzięki temu można łatwo wykonywać złączenia (JOIN): np. `SELECT Tytul, Imie, Nazwisko FROM ksiazki JOIN autorzy ON ksiazki.AutorID = autorzy.IDAutor;`. To jest dokładnie ten przypadek z rysunku: wiele książek może mieć tego samego autora, więc między autorzy a ksiazki mamy relację jeden‑do‑wielu, a pole AutorID jest po stronie „wiele” i pełni rolę klucza obcego. Dobre praktyki mówią też, żeby nazwy kluczy obcych jasno wskazywały, do czego się odnoszą (np. AutorID, Autor_Id), co tu również jest sensownie zrobione. W realnych systemach (biblioteki, księgarnie internetowe, systemy wydawnicze) dokładnie tak modeluje się powiązanie książka–autor: ID autora jako klucz podstawowy w tabeli autorzy i to samo ID jako klucz obcy w tabeli ksiazki.

Pytanie 12

Plik cookie utworzony przedstawionym poleceniem PHP:

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. wygaśnie po jednej dobie od jego utworzenia.
B. będzie przechowywany na serwerze przez jedną godzinę.
C. będzie przechowywany na serwerze przez jedną dobę.
D. wygaśnie po jednej godzinie od jego utworzenia.
Kod z funkcją setcookie() w PHP bardzo często myli się z mechanizmami przechowywania danych po stronie serwera, dlatego łatwo tu o błędne skojarzenia. W tym przykładzie kluczowe są dwie rzeczy: po pierwsze, gdzie fizycznie przechowywane jest cookie, a po drugie, w jakiej jednostce podajemy czas. Ciasteczka HTTP są zawsze przechowywane po stronie klienta, czyli w przeglądarce użytkownika, w jej lokalnym magazynie. Serwer jedynie informuje przeglądarkę, jaki ma być czas życia takiego wpisu, wysyłając odpowiedni nagłówek Set-Cookie z datą wygaśnięcia. Stąd pomysł, że cookie „będzie przechowywane na serwerze” jest po prostu nietrafiony – serwer nie ma osobnego magazynu na ciasteczka użytkowników, on tylko je odczytuje z nagłówków przychodzących żądań i ewentualnie ustawia nowe. Druga częsta pomyłka dotyczy samego czasu. Funkcja time() zwraca aktualny timestamp w sekundach od 1.01.1970, a w wyrażeniu 3600 * 24 wyliczana jest liczba sekund w jednej dobie. Jeśli ktoś pobieżnie spojrzy na zapis, może skojarzyć 3600 z godziną i założyć, że cookie jest ważne tylko godzinę, ignorując mnożenie przez 24. To typowy błąd „czytania po łebkach” kodu. Tymczasem przeglądarka dostaje konkretny moment w przyszłości, przesunięty o 86400 sekund, i do tej chwili będzie wysyłać cookie przy każdym żądaniu do odpowiedniej domeny i ścieżki. Warto też pamiętać, że samo istnienie cookie nie oznacza trwałego przechowywania danych po stronie serwera. Dane z ciasteczka trafiają na serwer dopiero, gdy przeglądarka wyśle je w nagłówku HTTP. Dlatego planując logikę aplikacji, trzeba jasno rozróżniać dane sesyjne na serwerze (np. w $_SESSION) od danych w cookie, które użytkownik może modyfikować po swojej stronie i które wygasają dokładnie według tego timestampu, jaki podamy w setcookie().

Pytanie 13

Jakie oprogramowanie służy do obróbki dźwięku?

A. Audacity
B. RealPlayer
C. Brasero
D. Winamp
Audacity jest wszechstronnym, darmowym programem typu open source, który służy do edycji dźwięku. Jego funkcjonalność obejmuje nagrywanie, edytowanie i przetwarzanie dźwięku w różnych formatach. Program ten jest często wykorzystywany przez muzyków, podcasterów oraz profesjonalistów zajmujących się dźwiękiem, co czyni go niezwykle popularnym w branży. Audacity obsługuje wiele efektów dźwiękowych, takich jak kompresja, reverb oraz equalizacja, co pozwala na zaawansowaną obróbkę nagrań. Dzięki intuicyjnemu interfejsowi użytkownika, użytkownicy mogą łatwo nawigować w programie oraz korzystać z funkcji takich jak wielościeżkowe nagrywanie i edytowanie. Warto również wspomnieć, że Audacity działa na różnych systemach operacyjnych, w tym Windows, macOS oraz Linux, co zapewnia dostępność dla szerszego kręgu użytkowników. Użytkownicy mogą również korzystać z dodatkowych wtyczek, które rozszerzają możliwości programu, co jest zgodne z najlepszymi praktykami w branży, gdzie elastyczność i rozszerzalność oprogramowania są kluczowe dla profesjonalnych zastosowań.

Pytanie 14

.format1 {
    …
}
W CSS określono wspólne style dla pewnej grupy elementów. Użycie takich stylów w kodzie HTML odbywa się za pomocą atrybutu:
A. class = "format1"
B. style = "format1"
C. div = "format1"
D. id = "format1"
Użycie atrybutu class w języku HTML do formatowania grupy znaczników jest zgodne z najlepszymi praktykami web developmentu. Atrybut class pozwala na zastosowanie tej samej definicji stylu CSS do wielu elementów, co jest efektywne i utrzymuje porządek w kodzie. Umożliwia to również łatwą zmianę wyglądu strony poprzez modyfikację tylko jednej definicji CSS zamiast ręcznego edytowania stylów każdego z elementów z osobna. Dzięki takiemu podejściu, programista może szybko aktualizować wygląd całej strony lub jej części bez ryzyka, że pominięte zostaną pojedyncze elementy. Ponadto użycie klas jest zgodne ze standardami W3C, co zapewnia kompatybilność i poprawne renderowanie w różnych przeglądarkach. Praktycznym przykładem zastosowania jest stronie, gdzie wszystkie elementy z klasą .format1 będą miały jednolity wygląd, na przykład wszystkie przyciski na stronie mogą mieć jednakowy kolor i styl. Pozwala to na tworzenie spójnych interakcji użytkownika i ułatwia przyszłą rozbudowę strony o dodatkowe funkcje.

Pytanie 15

Której funkcji PHP użyć, aby WYSŁAĆ zapytanie SELECT do bazy MySQL?

A.
mysqli_query
B.
mysqli_num_rows
C.
mysqli_connect
D.
mysqli_fetch_row
Samo połączenie z bazą nic jeszcze nie pobiera - treść zapytania trzeba do niej WYSŁAĆ, a robi to mysqli_query($polaczenie, $sql). Dla SELECT zwraca obiekt wyniku, po którym potem iterujesz, np. $w = mysqli_query($db, "SELECT * FROM uczniowie");. Ta sama funkcja wysyła też INSERT, UPDATE czy DELETE. Zapamiętaj: „query” = zapytanie - to funkcja, która faktycznie przekazuje SQL do serwera.

Pytanie 16

W tabeli uczniowie (kolumny: imie, nazwisko, klasa) wszyscy uczniowie klas 1-5 przeszli do następnej klasy. Które polecenie zwiększy wartość w kolumnie klasa o 1?

A.
UPDATE nazwisko, imie SET klasa = klasa + 1
B.
UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5
C.
SELECT uczniowie WHERE klasa BETWEEN 1 AND 5
D.
SELECT nazwisko, imie FROM uczniowie
Do zmiany istniejących danych służy UPDATE: po nazwie tabeli podaje się SET z nowymi wartościami, a WHERE ogranicza zakres zmian. Aby podnieść klasę o 1 tylko uczniom klas 1-5, zapisuje się UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5. Dlatego poprawne jest to polecenie UPDATE.

Pytanie 17

Którego znacznika użyć, aby utworzyć pole hasła (tekst maskowany kropkami)?

A.
<form input type="password">
B.
<input name="password">
C.
<input type="password">
D.
<form="password" type="password">
Pole hasła (maskujące wpisywany tekst) tworzy <input type="password"> - atrybut type decyduje o rodzaju pola. Dlatego poprawny jest <input type="password">.

Pytanie 18

Którego typu danych w MySQL należy użyć, aby w jednym polu zapisać datę i czas?

A.
DATE
B.
BOOLEAN
C.
YEAR
D.
TIMESTAMP
Aby w jednym polu zapisać datę wraz z godziną, w MySQL używa się typu TIMESTAMP (albo DATETIME) - przechowuje on rok, miesiąc, dzień, godzinę, minutę i sekundę. TIMESTAMP bywa wykorzystywany do automatycznego znacznika czasu utworzenia lub modyfikacji rekordu (np. z DEFAULT CURRENT_TIMESTAMP). Spośród podanych opcji to właśnie on łączy datę i czas, dlatego jest poprawny.

Pytanie 19

Zapis w języku JavaScript:

x = przedmiot.nazwa();
wskazuje, że
A. Zmienna x będzie przechowywać rezultat działania funkcji przedmiot.
B. nazwa jest polem w klasie przedmiot.
C. nazwa stanowi właściwość obiektu przedmiot.
D. Zmienna x będzie przechowywać rezultat wykonania metody nazwa.
W kodzie JavaScript zapis x = przedmiot.nazwa(); oznacza, że zmienna x będzie przechowywać wynik działania metody nazwa, która jest zdefiniowana w obiekcie przedmiot. W JavaScript metody są funkcjami przypisanymi do obiektów, co oznacza, że mogą one operować na danych wewnątrz tych obiektów. Przykładem może być klasa 'Osoba', która ma metodę 'pobierzImie', zwracającą imię danej osoby. W wywołaniu 'let imie = osoba.pobierzImie();', zmienna imie przechowa wynik działania tej metody. Dobrą praktyką jest, aby metody były odpowiedzialne za operacje związane z danymi, które przechowują, co zwiększa modularność i czytelność kodu. W kontekście standardów programowania, zachowanie to wspiera zasady OOP (programowania obiektowego), umożliwiając enkapsulację oraz ponowne wykorzystanie kodu. Dobrze zdefiniowane metody zwiększają spójność i ułatwiają testowanie jednostkowe. W efekcie, zawsze warto dążyć do klarownego definiowania metod w obiektach, aby poprawić jakość i efektywność pisania kodu.

Pytanie 20

Co stanie się z polem, dla którego w CREATE TABLE użyto klauzuli PRIMARY KEY?

A. stanie się kluczem podstawowym (głównym)
B. stanie się kluczem obcym
C. stanie się indeksem klucza
D. stanie się indeksem unikalnym
Klauzula PRIMARY KEY w CREATE TABLE sprawia, że dane pole staje się kluczem PODSTAWOWYM (głównym) tabeli - jednoznacznie identyfikuje każdy wiersz, więc musi być unikalne i niepuste. Przy okazji baza tworzy dla niego unikalny indeks. Zapamiętaj: PRIMARY KEY = „to pole identyfikuje rekord”.

Pytanie 21

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

A.
#00FFFF
B.
#F0F0F0
C.
#FF00FF
D.
#FFFF00
W modelu RGB żółty powstaje z pełnej czerwonej i pełnej zielonej, bez niebieskiej - czyli #FFFF00 (FF czerwony, FF zielony, 00 niebieski). To addytywne mieszanie świateł: czerwone + zielone światło daje żółte. Zapamiętaj: żółty = R i G na maksa, B na zero.

Pytanie 22

Która operacja NIE zmieni rozmiaru (wagi) pliku graficznego?

A. kompresja
B. interpolacja
C. zmiana rozmiaru WYŚWIETLANIA obrazu atrybutami HTML
D. zmiana rozdzielczości obrazu
Atrybuty HTML (np. width, height) zmieniają tylko ROZMIAR WYŚWIETLANIA obrazu w przeglądarce - plik na serwerze pozostaje ten sam, więc jego waga się nie zmienia. To dlatego „zmniejszenie” obrazka atrybutem nie przyspiesza ładowania. Dlatego wagi pliku nie zmieni skalowanie atrybutami HTML.

Pytanie 23

Celem testów wydajnościowych jest ocena

A. poziomu spełnienia wymagań dotyczących wydajności przez system bądź moduł
B. możliwości oprogramowania do funkcjonowania w warunkach błędnej pracy sprzętu
C. możliwości oprogramowania do funkcjonowania w warunkach niewłaściwej pracy systemu
D. sekwencji zdarzeń, w której prawdopodobieństwo wystąpienia każdego zdarzenia zależy wyłącznie od wyniku zdarzenia poprzedniego
Odpowiedzi sugerujące, że testy wydajnościowe mają na celu sprawdzenie ciągu zdarzeń, w którym prawdopodobieństwo każdego zdarzenia zależy jedynie od wyniku poprzedniego, dotyczą zupełnie innej dziedziny – statystyki i teorii prawdopodobieństwa. W kontekście testów wydajnościowych mówimy o analizie zachowania systemu w odpowiedzi na obciążenie, a nie o modelowaniu zdarzeń losowych. Kolejne koncepcje, takie jak zdolność oprogramowania do działania w warunkach wadliwej pracy systemu lub sprzętu, odnoszą się do testów odpornościowych i awaryjnych, a nie do testów wydajnościowych. Testy te mają na celu zbadanie, jak system reaguje na sytuacje awaryjne, jednak nie są one bezpośrednio związane z oceną jego wydajności. Te nieporozumienia mogą wynikać z mylnego założenia, że testy wydajnościowe obejmują wszystkie aspekty funkcjonalności systemu, podczas gdy w rzeczywistości koncentrują się one na specyficznych wymaganiach dotyczących szybkości i efektywności działania. Właściwe rozumienie testów wydajnościowych jako narzędzia do pomiaru i optymalizacji wydajności systemu jest kluczowe dla zapewnienia jego sukcesu na rynku. Każda z tych nieprawidłowych odpowiedzi prowadzi do niedosłownego zrozumienia celów i metodologii stosowanych w testach wydajnościowych, co może skutkować poważnymi błędami w procesie wytwarzania oprogramowania.

Pytanie 24

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. grupowania.
C. części wspólnej.
D. wykluczenia.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 25

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL pozwala na

A. odebranie uprawnień danemu użytkownikowi
B. przyznawanie uprawnień z użyciem ustalonego schematu
C. usunięcie użytkownika z bazy danych
D. przyznawanie praw do tabeli
Polecenie REVOKE SELECT ON w języku SQL jest używane do odbierania uprawnień do wykonywania operacji SELECT na określonej tabeli lub widoku dla konkretnego użytkownika lub grupy użytkowników. W przypadku użycia tej komendy, administrator bazy danych lub właściciel obiektu wskazuje, że dany użytkownik nie ma już prawa do odczytu danych z określonej tabeli, co skutkuje zablokowaniem dostępu do informacji w tej tabeli. Przykładowo, jeśli mamy tabelę 'Pracownicy' i użytkownika 'JanKowalski', polecenie REVOKE SELECT ON Pracownicy FROM JanKowalski skutkuje tym, że Jan Kowalski nie będzie mógł wykonywać zapytań typu SELECT na tej tabeli. Ważne jest, aby zrozumieć, że polecenie to nie usuwa użytkownika z bazy danych ani nie zmienia struktury bazy, a jedynie modyfikuje uprawnienia dostępu. W kontekście SQL, standardy takie jak ANSI SQL definiują sposób, w jaki uprawnienia mogą być przyznawane i odbierane, co sprawia, że umiejętność zarządzania uprawnieniami jest niezbędna dla każdego administrującego bazą danych.

Pytanie 26

Znacznik <strong> tekst</strong> w HTML będzie ukazywany przez przeglądarkę w identyczny sposób, jak znacznik

A. <big>tekst</big>
B. <b>tekst</b>
C. <h1>tekst</h1>
D. <sub>tekst</sub>
Znacznik <strong> w języku HTML jest używany do oznaczania tekstu, który ma być wyświetlany w sposób wyróżniony, co sugeruje jego większe znaczenie, natomiast znacznik <b> jest używany tylko do pogrubienia tekstu, bez dodatkowego kontekstu semantycznego. Oba znaczniki są wizualnie identyczne w większości przeglądarek, co powoduje, że można je stosować zamiennie w niektórych przypadkach. Jednakże, zgodnie z najnowszymi standardami HTML, zaleca się używanie <strong> dla tekstu, który ma większe znaczenie, ponieważ to pomaga w SEO i dostępności. Na przykład, tekst umieszczony w znaczniku <strong> może być lepiej interpretowany przez technologie wspomagające, takie jak czytniki ekranu, co czyni go bardziej dostępnym dla osób z niepełnosprawnościami. Przykład użycia: <strong>ważne informacje</strong> w odróżnieniu od <b>ważne informacje</b>, gdzie znaczenie semantyczne jest pominięte. Dlatego, mimo że wizualnie nie widać różnicy, semantyka HTML jest kluczowym aspektem, który wpływa na sposób, w jaki treść jest interpretowana i przetwarzana przez różnorodne systemy.

Pytanie 27

Przedstawione zapytanie SELECT wykonane na tabeli przechowującej dane o uczestnikach konkursu ma za zadanie wybrać

SELECT MAX(wiek) - MIN(wiek) FROM uczestnicy;
A. minimalny oraz maksymalny wiek uczestników.
B. różnicę wieku pomiędzy najstarszym i najmłodszym uczestnikiem.
C. średnią arytmetyczną wieku uczestników.
D. liczbę najstarszych uczestników.
Gratulacje, ta odpowiedź jest poprawna. Zapytanie SQL używa funkcji agregujących MAX i MIN do określenia maksymalnej i minimalnej wartości wieku w tabeli uczestników. Użycie tych funkcji umożliwia nam zidentyfikowanie najstarszego i najmłodszego uczestnika. Następnie, zapytanie oblicza różnicę między tymi wartościami, co odpowiada różnicy wieku między najstarszym i najmłodszym uczestnikiem. To jest standardowe podejście w SQL do wykonywania tego typu zapytań. W praktyce, takie zapytania są często używane w analizie danych do określania różnorodności danych, takiej jak zakres wieku uczestników w danym konkursie. Pamiętaj, że funkcje agregujące w SQL, takie jak MAX i MIN, są niezwykle przydatne w analizie danych, umożliwiając nam podsumowanie i analizę dużych zbiorów danych.

Pytanie 28

Element lub grupa elementów, która w jednoznaczny sposób identyfikuje każdy pojedynczy rekord w tabeli w bazie danych, nazywa się kluczem

A. podstawowy
B. inkrementacyjny
C. przestawny
D. obcy
Klucz inkrementacyjny to termin, który może być mylnie stosowany w kontekście kluczy podstawowych. Choć klucz podstawowy może być inkrementacyjny, co oznacza, że jego wartość rośnie w miarę dodawania nowych rekordów, nie jest to jego jedyna możliwa forma. Klucz podstawowy może być również złożony z kilku pól (klucz złożony) lub oparty na wartościach, które nie są inkrementowane. Z kolei klucz przestawny (ang. pivot key) to termin nieznany w klasycznej terminologii baz danych; nie odnosi się on do identyfikacji wierszy, a raczej do organizacji danych w tabelach przestawnych, które służą do agregacji danych. Klucz obcy (ang. foreign key) jest innym pojęciem, oznaczającym pole, które wskazuje na klucz podstawowy w innej tabeli i służy do zapewnienia powiązań między danymi, ale nie identyfikuje ono pojedynczych rekordów w danej tabeli. Typowe błędy w rozumieniu tych pojęć to mylenie ich ról oraz funkcji, co prowadzi do niewłaściwego projektowania baz danych, w którym integralność oraz relacje pomiędzy danymi są niewłaściwie zaimplementowane. Kluczowe jest, aby zrozumieć, że klucz podstawowy jest podstawowym komponentem dla każdej tabeli, a inne typy kluczy pełnią różne funkcje w kontekście relacji między danymi.

Pytanie 29

W języku PHP zmienna typu float może przyjmować wartości

A. wartości logiczne
B. wartości nieliczbowe
C. jedynie liczby całkowite
D. wartości zmiennoprzecinkowe
W języku PHP zmienne typu float są używane do reprezentowania liczb zmiennoprzecinkowych, co oznacza, że mogą przechowywać zarówno wartości całkowite, jak i wartości z częścią ułamkową. Typ float w PHP jest szczególnie przydatny w sytuacjach, gdzie precyzyjne obliczenia są niezbędne, na przykład w aplikacjach finansowych, gdzie obliczenia z użyciem pieniędzy wymagają uwzględnienia centów. W praktyce, operacje na zmiennych typu float mogą obejmować dodawanie, odejmowanie, mnożenie oraz dzielenie. Warto również zauważyć, że PHP obsługuje zarówno liczby w formacie dziesiętnym, jak i w notacji naukowej. Dobrą praktyką jest używanie funkcji takich jak round() do zaokrąglania wyników obliczeń zmiennoprzecinkowych, aby uniknąć problemów z precyzją, które mogą występować w wyniku ograniczeń reprezentacji liczb zmiennoprzecinkowych w pamięci komputera. W dokumentacji PHP, typ float jest jasno zdefiniowany jako liczba zmiennoprzecinkowa, co podkreśla jego kluczową rolę w różnych zastosowaniach programistycznych. Zrozumienie tego typu zmiennych jest fundamentem dla efektywnego programowania w PHP.

Pytanie 30

Jaką cechę pola w tabeli należy ustalić, aby pole mogło przyjmować wyłącznie dane składające się z cyfr?

Ogólne
Rozmiar pola255
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. Maskę wprowadzania
B. Regułę sprawdzania poprawności
C. Tagi inteligentne
D. Wartość domyślną
Tagi inteligentne to narzędzie, które można znaleźć w dokumentach czy w systemach do zarządzania danymi. Służą do automatycznego rozpoznawania danych, na przykład dat czy adresów, ale nie mają możliwości ograniczania wprowadzanych danych pod kątem ich formatu, jak na przykład cyfry. Reguły sprawdzania poprawności dane na poziomie tabeli, co oznacza, że można sprawdzać, czy spełniają pewne kryteria przy zapisywaniu. To działa, ale jest bardziej ogólne i nie zastąpi maski wprowadzania, bo te działają w czasie rzeczywistym. Z kolei wartość domyślna to coś, co automatycznie wprowadza dane w polu, jeśli użytkownik nic nie poda. To może być przydatne, gdy jakieś pole zawsze powinno mieć określoną wartość, chyba że użytkownik zadecyduje inaczej. Tylko że wartość domyślna nie reguluje, jakie dane mogą być wpisywane, co jest właśnie wymagane w pytaniu o ograniczenie danych do cyfr. Często myślimy, że wartość domyślna lub reguły mogą kontrolować format danych na bieżąco, ale to jest rola maski wprowadzania, która działa w momencie, gdy piszemy, więc chroni integralność już na etapie wprowadzania danych.

Pytanie 31

W języku JavaScript trzeba zapisać warunek, który będzie prawdziwy, gdy zmienna a będzie jakąkolwiek liczbą naturalną dodatnią (bez 0) lub zmienna b przyjmie wartość z zamkniętego przedziału od 10 do 100. Wyrażenie logiczne w tym warunku ma formę

A. (a>0) && ((b>=10) || (b<=100))
B. (a>0) && ((b>=10) && (b<=100))
C. (a>0) || ((b>=10) && (b<=100))
D. (a>0) || ((b>=10) || (b<=100))
Warunek zapisany w języku JavaScript jako (a>0) || ((b>=10) && (b<=100)) jest poprawny, ponieważ spełnia wymagania dotyczące sprawdzenia, czy zmienna a jest liczbą naturalną dodatnią oraz czy zmienna b mieści się w przedziale od 10 do 100. Wyrażenie logiczne wykorzystuje operator || (alternatywa), który zwraca true, jeśli przynajmniej jeden z warunków jest spełniony. Warunek a>0 zapewnia, że zmienna a jest większa od zera, co jest zgodne z definicją liczb naturalnych dodatnich. Z kolei wyrażenie (b>=10) && (b<=100) sprawdza, czy zmienna b jest w zadanym przedziale, co jest zgodne z wymaganiami. Wartości graniczne 10 i 100 są uwzględnione dzięki operatorowi && (konjunkcja), który wymaga, aby oba warunki były prawdziwe, aby całe wyrażenie zwróciło true. W praktyce, takie podejście można wykorzystać w różnych kontekstach, np. walidacji danych wejściowych w formularzach internetowych, gdzie kluczowe jest zapewnienie, że użytkownik wprowadza poprawne wartości. Tego rodzaju wyrażenia logiczne są fundamentem programowania w JavaScript, umożliwiając tworzenie bardziej złożonych logik aplikacji. Zgodnie z dokumentacją ECMAScript, użycie operatorów logicznych jest standardowym sposobem na przetwarzanie warunków w programowaniu.

Pytanie 32

Który z poniższych zapisów w HTML określa kodowanie znaków stosowane w dokumencie?

A. <charset="UTF-8">
B. <encoding="UTF-8">
C. <meta charset="UTF-8">
D. <meta encoding="UTF-8">
Zapis <meta charset="UTF-8"> jest prawidłową deklaracją kodowania znaków w dokumencie HTML. Element <meta> jest używany w sekcji <head> dokumentu i pozwala na zdefiniowanie różnych metadanych, w tym kodowania znaków. Użycie "UTF-8" jako wartości dla atrybutu charset oznacza, że dokument będzie używał kodowania Unicode, które jest standardem preferowanym w sieci. Dzięki temu, dokumenty mogą poprawnie wyświetlać znaki z różnych języków, co jest kluczowe w zglobalizowanym świecie internetu. Przykładem zastosowania tego zapisu może być strona internetowa, która zawiera teksty w wielu językach, co wymaga wsparcia dla różnorodnych znaków diakrytycznych i symboli. Warto również podkreślić, że zgodnie z zasadami dobrych praktyk, zawsze powinno się definiować kodowanie znaków w dokumencie HTML, aby uniknąć problemów z wyświetlaniem treści, co może negatywnie wpłynąć na doświadczenia użytkowników oraz SEO strony.

Pytanie 33

W jakim formacie zostanie wyświetlona data po uruchomieniu poniższego kodu?

<?php
    echo date('l, dS F Y');
?>
A. 10, Monday July 2017
B. Monday, 10 July 2017
C. Monday, 10th July 2017
D. Monday, 10th July 17
Twoja odpowiedź jest prawidłowa. Kod PHP wyświetli datę w formacie 'Monday, 10th July 2017', ponieważ używa funkcji date() z odpowiednimi parametrami formatowania. Parametr 'l' zwraca pełną nazwę dnia tygodnia, 'd' zwraca dzień miesiąca z zerem wiodącym, 'S' dodaje angielski sufiks liczby porządkowej do dnia miesiąca, 'F' zwraca pełną nazwę miesiąca, a 'Y' zwraca pełny rok. To jest standardowy sposób formatowania daty w PHP i jest zgodny z dobrymi praktykami programowania. Pozwala na czytelne i zrozumiałe wyświetlanie daty dla użytkowników końcowych. Dobrze jest pamiętać o tych konwencjach, ponieważ różne systemy mogą wymagać różnych formatów daty. Zrozumienie, jak korzystać z funkcji date() w PHP, pozwoli Ci na elastyczne i efektywne manipulowanie danymi daty.

Pytanie 34

Co robi funkcja przedstawiona w kodzie JavaScript?

function tekst() {
var h = location.hostname;
document.getElementById("info").innerHTML = h;
}
A. wyświetlić w elemencie o id = "info" nazwę hosta, z którego pochodzi wyświetlona strona
B. pokazać na przycisku lokalizację hosta, a po jego naciśnięciu umożliwić przejście do określonej lokalizacji
C. wyświetlić w elemencie o id = "info" adres hosta wskazany przez pierwszy odnośnik
D. umożliwić przejście do wskazanej lokalizacji hosta
Prawidłowa odpowiedź wskazuje, że kod JavaScript wywołuje metodę location.hostname, która zwraca nazwę hosta aktualnie odwiedzanej strony. Hostname jest częścią obiektu Location, który reprezentuje bieżący URL dokumentu. Kod przypisuje wynik tej metody do zmiennej h, a następnie ustawia innerHTML elementu o id info na wartość tej zmiennej. Dzięki takim operacjom, kod efektywnie wyświetla nazwę hosta w elemencie o konkretnym identyfikatorze na stronie HTML. Jest to częsta technika używana w aplikacjach webowych, gdzie istotne jest dynamiczne wyświetlanie informacji o aktualnym połączeniu. Znajomość obiektu Location oraz jego właściwości, takich jak hostname, to podstawowa umiejętność w pracy z językiem JavaScript, szczególnie w kontekście manipulacji DOM. Takie podejście jest zgodne z dobrymi praktykami, gdyż unika bezpośredniego wpisywania danych w kodzie, co zwiększa elastyczność i ułatwia utrzymanie aplikacji.

Pytanie 35

W CSS wartości: underline, overline, line-through oraz blink odnoszą się do właściwości

A. font-decoration
B. text-align
C. font-style
D. text-decoration
W języku CSS właściwość text-decoration służy do definiowania stylów dekoracji tekstu. Wartości takie jak underline (podkreślenie), overline (nadkreślenie), line-through (przekreślenie) oraz blink (miganie) są częścią tej właściwości i umożliwiają programistom kontrolowanie, jak tekst jest prezentowany na stronie internetowej. Wartość underline, na przykład, jest powszechnie używana w linkach, aby wskazać, że są one klikalne. Przykład zastosowania: 'text-decoration: underline;' zastosowany w stylach CSS dla elementu <a> sprawia, że tekst linku jest podkreślony. Overline może być używane do dodawania linii nad tekstem, co może być przydatne w kontekście nagłówków lub wyróżnień. Wartość line-through jest często stosowana w przypadku prezentowania informacji o promocjach, gdzie oryginalna cena jest przekreślona. Wartość blink, choć nie jest już szeroko wspierana, mogła być używana w przeszłości do tworzenia efektu migania tekstu. Wszystkie te dekoracje są zdefiniowane w standardzie CSS, co czyni text-decoration kluczową właściwością w stylizacji tekstu w dokumentach HTML.

Pytanie 36

W CSS wprowadzono formatowanie

p > i {color: blue} 

Co oznacza, że tekst zapisany będzie w kolorze niebieskim

A. cały tekst akapitu bez względu na jego formatowanie
B. cały tekst nagłówków bez względu na ich formatowanie
C. pogrubiony tekst akapitu
D. pochylony tekst akapitu
W podanym przypadku, zapis CSS <code>p > i {color: blue}</code> odnosi się do selektora, który aplikuje kolor niebieski do elementu <code><i></code> znajdującego się bezpośrednio wewnątrz elementu <code><p></code>. Oznacza to, że tylko tekst, który jest otoczony znacznikiem <code><i></code> w danym paragrafie, zostanie wyróżniony kolorem niebieskim. Ten sposób selekcji jest zgodny z zasadą kaskadowości i specyficzności CSS, co jest kluczowym elementem w zarządzaniu stylem dokumentów HTML. W praktyce, używanie takich selektorów pozwala na precyzyjne formatowanie tekstu w obrębie większych struktur, co jest szczególnie ważne w skomplikowanych projektach webowych. Dobrym przykładem zastosowania tego stylu może być sytuacja, gdy chcemy wyróżnić cytaty lub słowa kluczowe w tekście paragrafu, stosując odpowiednie znaczniki HTML oraz style CSS, co zwiększa czytelność i estetykę treści.

Pytanie 37

Czynność polegająca na przetworzeniu grafiki rastrowej na wektorową to:

A. wektoryzacja
B. rasteryzacja
C. skalowanie
D. kadrowanie
Wektoryzacja (trasowanie) to proces zamiany grafiki rastrowej, złożonej z pikseli, na grafikę wektorową opisaną krzywymi i kształtami. Efekt można potem dowolnie skalować bez utraty jakości - przydatne np. przy przygotowaniu logo z pikselowego szkicu. Operacją odwrotną jest rasteryzacja. Dlatego zamiana rastra na wektor to wektoryzacja.

Pytanie 38

Podaj definicję metody, którą trzeba umieścić w miejscu kropek, aby na stronie WWW pojawił się tekst: Jan Kowalski

Ilustracja do pytania
A. A
B. B
C. D
D. C
Pozostałe odpowiedzi zawierają błędy związane z niepoprawnym użyciem kontekstu this lub niekompletną definicją funkcji. W opcji B metoda dane została zdefiniowana jako funkcja globalna, co powoduje, że this nie odnosi się do obiektu osoba, ale do obiektu globalnego, co uniemożliwia poprawne odwołanie się do właściwości imie i nazwisko. To prowadzi do błędnych lub niezdefiniowanych wyników, ponieważ this w tym kontekście nie zawiera oczekiwanych właściwości. Opcja C nie używa słowa kluczowego this, co oznacza, że zmienne imie i nazwisko są traktowane jako zmienne globalne, a nie właściwości obiektu osoba. Jeżeli takie zmienne globalne nie istnieją, powoduje to błąd w wykonaniu, ponieważ kod próbuje odwołać się do niezdefiniowanych zmiennych. W opcji D użycie funkcji bez return powoduje, że metoda dane nie zwraca żadnej wartości, co skutkuje przypisaniem undefined do innerHTML, co jest oczywistym błędem w kontekście oczekiwanego wyświetlenia tekstu. Wszystkie te błędne podejścia wynikają z niepoprawnego zarządzania kontekstem obiektowym w JavaScript, co podkreśla znaczenie zrozumienia wiązania dynamicznego słowa kluczowego this i dobrych praktyk w projektowaniu metod obiektowych w JavaScript. Kluczowym aspektem jest zapewnienie, że metody mają dostęp do właściwości obiektu, w ramach którego zostały zdefiniowane, co jest osiągane przez poprawne użycie this w kontekście metody wewnętrznej obiektu.

Pytanie 39

Aby zaktualizować maksymalną długość kolumny imie w tabeli klienci do 30 znaków, należy zastosować w języku SQL poniższy kod

A. ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);
B. CHANGE TABLE klienci MODIFY imie CHAR(30);
C. CHANGE TABLE klienci TO COLUMN imie SET CHAR(30);
D. ALTER TABLE klienci CHANGE imie TEXT;
Odpowiedź ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30) jest poprawna, ponieważ w SQL polecenie ALTER TABLE służy do modyfikacji struktury istniejącej tabeli. W tym przypadku zmieniamy długość pola 'imie' w tabeli 'klienci'. Typ danych VARCHAR (zmienna długość) jest odpowiedni dla pól, które mogą przechowywać tekst o różnej długości, a określenie 30 oznacza, że maksymalna długość tego pola będzie wynosić 30 znaków. Używanie VARCHAR zamiast CHAR jest dobrą praktyką w przypadku, gdy długość danych jest zmienna, co pozwala na oszczędność miejsca w bazie danych. Przykładowo, jeśli tabela przechowuje imiona, które w większości będą krótsze niż 30 znaków, zastosowanie VARCHAR skutkuje mniejszym zużyciem miejsca w porównaniu do CHAR, który zawsze rezerwuje tę samą ilość miejsca. Warto również pamiętać, że przy modyfikowaniu tabeli w SQL należy zachować ostrożność, aby uniknąć utraty danych, szczególnie jeśli zmieniamy typ danych lub długość pola już zawierającego dane.

Pytanie 40

Z jaką bazą danych nawiązuje połączenie funkcja pg_connect w PHP?

A. MS Access
B. MySQL
C. PostgreSQL
D. MS SQL
Funkcja pg_connect() nawiązuje w PHP połączenie z bazą PostgreSQL - prefiks pg_ to skrót od „PostgreSQL”, tak jak mysqli_ wskazuje na MySQL. Każdy system bazodanowy ma w PHP własny zestaw funkcji. Zapamiętaj: po prefiksie funkcji poznasz, z jaką bazą pracujesz.