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: 29 kwietnia 2026 10:53
  • Data zakończenia: 29 kwietnia 2026 11:08

Egzamin zdany!

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

Jak należy prawidłowo udokumentować wzorcowanie pola nazwa we fragmencie kodu JavaScript?

function validateForm(Form)
{
reg=/^\[1-9\]*[A-ZŻŹĘĄĆŚÓŁŃ]{1}[a-zżźćńółęąś]{2,}$/;
wyn = Form.nazwa.value.match(reg);
if (wyn == null) {
    alert("Proszę podać poprawną nazwę");
    return false;
}
return true;
}
A. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
B. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
C. /* Pole nazwa musi składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i dwóch małych liter. */
D. /* Pole nazwa powinno składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
Weryfikacja pola nazwa przy użyciu wyrażeń regularnych w aplikacji JavaScript jest kluczowym elementem zapewnienia integralności danych wejściowych. Niektóre przedstawione opcje zawierają błędne założenia na temat porządku i wymogów składniowych wzorca. Przykładowo, nieprawidłowe jest założenie, że jedynie dowolny ciąg cyfr (bez zer) wystarczy, ponieważ kod wyraźnie wymaga, aby po cyfrach nastąpiła jedna duża litera, a następnie minimum dwie małe litery. Niezrozumienie tego może prowadzić do błędnych założeń dotyczących logiki walidacji. Niedokładne opisy wzorca mogą prowadzić do błędów w implementacji, co może skutkować działaniem niezgodnym z oczekiwaniami. Ponadto, dobre praktyki programistyczne zawsze sugerują, aby dokumentacja była dokładna i odzwierciedlała rzeczywiste wymagania kodu, co w tym przypadku oznacza precyzyjne określenie kolejności i wymogów dotyczących znaków. Niewłaściwe rozumienie wyrażeń regularnych może również prowadzić do błędów bezpieczeństwa, takich jak podatność na wstrzykiwanie danych, dlatego kluczowe jest poprawne udokumentowanie wzorca, aby zapewnić bezpieczne przetwarzanie danych użytkowników.

Pytanie 2

Jaką wartość zwróci zapytanie z ramki wykonane na pokazanej tabeli? ```SELECT COUNT(DISTINCT wykonawca) FROM muzyka;```

Ilustracja do pytania
A. 4
B. 3
C. 1
D. 0
Przy analizie zapytania SQL SELECT COUNTDISTINCT wykonawca) FROM muzyka; kluczowe jest zrozumienie funkcji COUNTDISTINCT. Ta funkcja zlicza unikalne wartości w określonej kolumnie co oznacza że nie uwzględnia powtórzeń. W analizowanym przypadku jesteśmy zainteresowani unikalnymi wykonawcami. Tabela zawiera czterech wykonawców ale Czesław Niemen pojawia się dwukrotnie co prowadzi do trzech unikalnych wpisów: Czesław Niemen Stan Borys i Mikołaj Czechowski. Częstym błędem jest nieuwzględnianie powtórzeń co prowadzi do błędnego założenia że liczba unikalnych wpisów jest równa ogólnej liczbie rekordów. Innym powszechnym nieporozumieniem jest różnica między funkcją COUNT a COUNTDISTINCT. Funkcja COUNT zlicza wszystkie wystąpienia w kolumnie niezależnie od powtórzeń co w tym przypadku dałoby wynik 4. Zrozumienie tych subtelności jest kluczowe dla poprawnego analizowania danych i tworzenia precyzyjnych raportów. Poprawne użycie COUNTDISTINCT odzwierciedla również dobrą praktykę w optymalizacji zapytań SQL szczególnie w kontekście dużych zbiorów danych gdzie wydajność jest kluczowa.

Pytanie 3

W celu uzyskania efektu widocznego na rysunku, w kodzie HTML, należy umieścić znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. name
B. dfn
C. alt
D. title
Wybrałeś niepoprawną odpowiedź. Przeanalizujmy inne opcje. 'alt' to atrybut używany w znacznikach obrazów (&lt;img&gt;) w HTML, służy do dostarczania tekstu alternatywnego, który jest wyświetlany, gdy obraz nie może być załadowany. 'dfn' to znacznik HTML używany do zdefiniowania terminu, ale nie ma on żadnej roli w określaniu skrótów. 'name' to atrybut używany w różnych znacznikach HTML, takich jak &lt;input&gt;, &lt;form&gt;, &lt;map&gt;, &lt;meta&gt;, &lt;param&gt; oraz &lt;button&gt;, ale nie jest związany ze znacznikami skrótów. W HTML, atrybutem używanym wraz ze znacznikiem skrótu &lt;abbr&gt; jest 'title', który dostarcza pełną formę skrótu. Proszę pamiętać o tej informacji na przyszłość.

Pytanie 4

<form>
  <input type="email" id="addr" required>
  <input type="submit" value="Zapisz">
</form>
Na podstawie przedstawionego kodu formularza HTML można powiedzieć, że pole edycyjne:
A. nie może być puste i wymaga wpisania tekstu ze znakiem @.
B. może być puste.
C. nie powinno zawierać znaków numerycznych.
D. wymaga wpisania jedynie znaków alfanumerycznych.
W tym fragmencie kodu HTML masz dwa bardzo ważne atrybuty: type="email" oraz required. To właśnie one razem powodują, że poprawna jest odpowiedź, że pole nie może być puste i wymaga wpisania tekstu ze znakiem @. Atrybut required oznacza, że pole jest obowiązkowe. Przeglądarka, zgodnie ze specyfikacją HTML5, nie pozwoli wysłać formularza, dopóki pole nie będzie wypełnione. Użytkownik kliknie przycisk „Zapisz”, a formularz po prostu się nie wyśle – pojawi się komunikat walidacyjny po stronie przeglądarki. To jest tzw. walidacja po stronie klienta, domyślnie wbudowana w HTML. Z kolei type="email" uruchamia specjalny mechanizm sprawdzania formatu wpisanego tekstu. Przeglądarka sprawdza, czy ciąg znaków wygląda jak adres e‑mail: musi zawierać co najmniej znak @ i jakąś część przed i po nim. To nie jest super zaawansowana walidacja, ale wystarcza jako pierwszy filtr, np. "[email protected]" przejdzie, a "jan.domena.pl" już nie. Moim zdaniem to bardzo wygodne, bo nie trzeba od razu pisać własnego JavaScriptu tylko po to, żeby odsiać oczywiste błędy. W praktyce w aplikacjach webowych zwykle łączy się tę prostą walidację HTML5 z dodatkowymi sprawdzeniami po stronie serwera (np. w PHP czy w innym backendzie), bo dane z formularza zawsze trzeba traktować z ograniczonym zaufaniem. Dobrym nawykiem jest też dodanie atrybutu name, np. name="email", żeby serwer mógł poprawnie odebrać wartość pola. Warto też wiedzieć, że niektóre przeglądarki mobilne, gdy widzą type="email", podpowiadają użytkownikowi specjalną klawiaturę z łatwym dostępem do znaku @ i kropki, co realnie poprawia wygodę wpisywania adresu. To taki mały szczegół, ale w profesjonalnych projektach UX ma znaczenie. Podsumowując: required blokuje puste wysłanie formularza, a type="email" wymusza poprawny, podstawowy format adresu ze znakiem @ – dokładnie to opisuje poprawna odpowiedź.

Pytanie 5

Tabela programy zawiera kolumny: nazwa_programu, nazwa_producenta, rok_wydania. Jak należy zapisać kwerendę SELECT, aby uzyskać wszystkie unikalne nazwy producentów?

A. SELECT nazwa_producenta FROM programy WHERE nazwa_producenta NOT DUPLICATE
B. SELECT DISTINCT nazwa_producenta FROM programy
C. SELECT nazwa_producenta FROM programy WHERE UNIQUE
D. SELECT UNIQUE nazwa_producenta FROM programy
Odpowiedzi, które wykorzystują terminologię niezgodną ze standardami SQL, prowadzą do błędnych wniosków. W przypadku użycia słowa kluczowego UNIQUE, które nie jest używane w kontekście kwerendy SELECT, użytkownicy mogą błędnie sądzić, że powiązanie z tym terminem umożliwia pozyskanie unikalnych wartości. W rzeczywistości UNIQUE jest używane w kontekście ograniczeń (constraints) w definiowaniu tabeli, a nie w zapytaniach. To podejście może prowadzić do zrozumienia, że istnieje sposób na wykorzystanie tego słowa kluczowego w zapytaniach, co jest mylące. Z kolei propozycje, które odwołują się do frazy WHERE z dodatkowymi warunkami, jak UNIQUE czy NOT DUPLICATE, są również niepoprawne, ponieważ nie są to poprawne składniowo konstrukcje w SQL. Klauzula WHERE służy do filtrowania wyników na podstawie określonych warunków, ale nie ma możliwości zastosowania przy niej unikalnych filtrów w taki sposób. Tego rodzaju nieporozumienia mogą prowadzić do niepoprawnych wyników i frustracji w pracy z bazami danych, dlatego niezwykle ważne jest, aby dokładnie zapoznawać się z dokumentacją i standardami języka SQL, aby unikać takich pułapek. Właściwe zrozumienie terminologii i składni jest kluczowe w efektywnym zarządzaniu danymi.

Pytanie 6

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Krzywe.
B. Barwienie.
C. Inwersja.
D. Progowanie.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 7

W tabeli artykuly przeprowadzono poniższe operacje związane z uprawnieniami użytkownika jan.

GRANT ALL PRIVILEGES ON artykuły TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan

Jakie będą uprawnienia użytkownika jan po wykonaniu tych operacji?

A. aktualizowania informacji oraz przeglądania tabeli
B. przeglądania tabeli
C. tworzenia tabel oraz ich zapełniania danymi
D. tworzenia tabeli oraz aktualizowania danych w niej
Odpowiedź "tworzenia tabeli i wypełniania jej danymi" jest poprawna, ponieważ po wykonaniu polecenia GRANT ALL PRIVILEGES ON artykuły TO jan, użytkownik jan zyskuje pełnię praw do bazy danych, co obejmuje możliwość tworzenia nowych tabel oraz wypełniania ich danymi. Takie uprawnienia są niezbędne, jeśli jan ma zająć się rozwijaniem struktury bazy danych w kontekście projektów lub aplikacji. W praktyce, przydzielanie takich uprawnień powinno być starannie przemyślane w kontekście bezpieczeństwa. W dobrych praktykach zarządzania bazami danych stosuje się zasadę najmniejszych uprawnień, co oznacza, że użytkownicy powinni mieć tylko te prawa, które są im niezbędne do wykonywania ich zadań. Dzięki temu minimalizuje się ryzyko przypadkowego lub celowego usunięcia danych. W przypadku jana, jego pełne uprawnienia do artykułów pozwolą mu wprowadzać dane nie tylko do istniejących tabel, ale także tworzyć nowe struktury, co jest kluczowe w dynamicznych środowiskach, gdzie wymagane są częste zmiany.

Pytanie 8

Wykorzystanie definicji stylu CSS spowoduje, że nagłówki drugiego poziomu będą się wyświetlać

h2 {
    text-decoration: overline;
    font-style: italic;
    line-height: 60px;
}
A. czcionką standardową, z linią pod tekstem, odległość między znakami wynosi 60 px
B. czcionką standardową, z linią nad tekstem, wysokość wiersza wynosi 60 px
C. czcionką kursywną, z linią nad tekstem, wysokość wiersza wynosi 60 px
D. czcionką kursywną, z linią pod tekstem, wysokość wiersza wynosi 60 px
Nieprawidłowe koncepcje w pozostałych odpowiedziach wynikają z błędnego zrozumienia zastosowania właściwości CSS. Pierwsza odpowiedź sugeruje użycie czcionki podstawowej z linią pod tekstem oraz odległością między znakami wynoszącą 60 px, co nie odpowiada żadnej z zastosowanych właściwości w definicji CSS. Często myli się pojęcia line-height z letter-spacing, które odpowiada za odstępy między znakami. Właściwe zastosowanie tych właściwości jest kluczowe dla poprawnej prezentacji tekstu. Trzecia odpowiedź także jest błędna, ponieważ zamiast właściwości czcionki pochylonej mowa jest o podstawowej, co nie jest zgodne z font-style: italic. Również text-decoration: overline jest zamieniona na linię nad tekstem, co jest poprawne, jednak brak pochylonej czcionki czyni tę odpowiedź niekompletną. Czwarta odpowiedź ponownie myli właściwości, ponieważ choć zawiera pochyloną czcionkę, to proponuje linię pod tekstem zamiast nad nim. To pokazuje częsty błąd w interpretacji właściwości text-decoration. Zrozumienie, jak każda z tych właściwości wpływa na ostateczny wygląd nagłówków, jest kluczowe dla efektywnego stylizowania stron internetowych. Właściwe użycie takich atrybutów jest zgodne z dobrymi praktykami projektowania stron, które kładą nacisk na spójność i estetykę wizualną w połączeniu z funkcjonalnością. Dlatego znajomość tych szczegółów i ich poprawne zastosowanie jest niezmiernie ważne w pracy projektanta stron internetowych.

Pytanie 9

Jaką maksymalną liczbę znaczników &lt;td&gt; można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, która nie zawiera złączeń między komórkami oraz wiersza nagłówkowego?

A. 12
B. 3
C. 9
D. 6
Wybór innych odpowiedzi może wynikać z niepoprawnego rozumienia struktury tabeli lub zasadności użycia znaczników &lt;td&gt;. Odpowiedź 3, sugerująca 6 znaczników, pomija fakt, że każda kolumna powinna zawierać wszystkie wiersze, co w przypadku trzech wierszy prowadzi do stwierdzenia, że maksymalna liczba komórek powinna być znacznie wyższa. Natomiast odpowiedź 12 może wynikać z błędnego założenia, że każda komórka może być użyta wielokrotnie, co jednak narusza zasady HTML, które zakładają jednoznaczne przypisanie danych do danej komórki. Dlatego, aby uzyskać poprawną liczbę znaczników &lt;td&gt;, należy pomnożyć liczbę kolumn przez liczbę wierszy. W tym przypadku mamy trzy kolumny i trzy wiersze, więc całkowita liczba znaczników &lt;td&gt; wynosi 9. Kluczowe jest zrozumienie, że znaczniki &lt;td&gt; są przeznaczone wyłącznie do umieszczania danych w tabeli, a zasady ich użycia są ściśle określone w standardach HTML. W praktyce, błędy takie jak zbyt niska lub zbyt wysoka liczba znaczników mogą prowadzić do niepoprawnych wyświetleń tabeli oraz utrudniać użytkownikom dostęp do danych. Aby uniknąć podobnych nieporozumień, zawsze warto stosować się do dobrze zdefiniowanych zasad projektowania tabel w HTML.

Pytanie 10

Jakie polecenie należy zastosować, aby wysłać dane przy pomocy funkcji mysqli_query() w skrypcie PHP, który dodaje informacje z formularza umieszczonego na stronie internetowej do bazy danych?

A. ALTER
B. INSERT INTO
C. SELECT
D. UPDATE
Odpowiedź 'INSERT INTO' jest poprawna, ponieważ jest to standardowa kwerenda SQL używana do wstawiania nowych rekordów do tabel w bazie danych. W kontekście PHP i funkcji mysqli_query(), wstawianie danych z formularza zazwyczaj obejmuje przygotowanie kwerendy, która zawiera instrukcję INSERT INTO wraz z nazwą tabeli oraz danymi, które mają zostać dodane. Na przykład, jeśli mamy formularz z polami 'imie' i 'nazwisko', kwerenda mogłaby wyglądać następująco: 'INSERT INTO uzytkownicy (imie, nazwisko) VALUES (?, ?)'. Użycie znaków zapytania (?) jest zgodne z najlepszymi praktykami, ponieważ pozwala na bezpieczne wprowadzenie danych, chroniąc aplikację przed atakami SQL Injection. Dobrą praktyką jest również używanie PDO lub MySQLi z przygotowanymi zapytaniami, co zwiększa bezpieczeństwo oraz efektywność kodu. W ten sposób można skutecznie wstawiać dane do bazy danych, zachowując przy tym standardy programistyczne.

Pytanie 11

W języku PHP zamieszczono fragment kodu. Plik cookie utworzony przez to polecenie

setcookie("osoba", "Anna Kowalska", time()+(3600*24));
A. zostanie usunięty po jednym dniu od jego utworzenia
B. zostanie usunięty po jednej godzinie od jego utworzenia
C. będzie przechowywany na serwerze przez jedną godzinę
D. będzie przechowywany na serwerze przez jeden dzień
Niepoprawne odpowiedzi na to pytanie opierają się na nieprawidłowym rozumieniu działania funkcji setcookie w PHP, a także na błędnej interpretacji czasu przechowywania plików cookie. Odpowiedzi sugerujące, że plik cookie będzie przechowywany przez jeden dzień lub jedną godzinę, są oparte na mylnych założeniach dotyczących obliczeń czasowych. Czas przechowywania ciasteczka jest określany przez wartość przekazywaną do funkcji setcookie, a w tym przypadku maksymalny czas wynosi 24 godzin. Błędne stwierdzenia mogą wynikać z mylnego założenia, że funkcja time() i dodatkowe sekundy nie są prawidłowo sumowane. Ważne jest, aby zrozumieć, że ciasteczka nie są przechowywane na serwerze, lecz w przeglądarkach użytkowników, co oznacza, że dostępność ich danych zależy od ustawień przeglądarki oraz polityki prywatności. Typowym błędem jest również mylenie pojęć związanych z czasem przechowywania – ciasteczka nie są usuwane w momencie wygaśnięcia, ale po upływie ustalonego czasu, co wyklucza możliwość poprawnych odpowiedzi, które sugerowałyby krótszy okres ich przechowywania. Kluczowym aspektem w pracy z ciasteczkami jest znajomość ich parametrów i ich wpływu na interakcję użytkownika z aplikacją, co może mieć duże znaczenie w kontekście zarządzania sesjami oraz personalizacją doświadczeń użytkownika.

Pytanie 12

Aby utworzyć tabelę w systemie baz danych, należy użyć polecenia SQL

A. CREATE TABLE
B. NEW TABLE
C. PLUS TABLE
D. ADD TABLE
Aby utworzyć tabelę w bazie danych, należy użyć polecenia SQL 'CREATE TABLE', które jest standardową komendą w SQL (Structured Query Language) służącą do definiowania struktury tabeli. Polecenie to pozwala na określenie nazw kolumn, ich typów danych oraz opcji, takich jak klucze główne czy unikalność wartości. Przykładowe użycie tego polecenia wygląda następująco: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50))'. Dzięki temu tworzymy tabelę o nazwie 'pracownicy' z trzema kolumnami: 'id', 'imie' i 'nazwisko'. Używanie polecenia 'CREATE TABLE' jest zgodne z normami SQL, co zapewnia jego przenośność między różnymi systemami zarządzania bazami danych. Dobrą praktyką jest także definiowanie ograniczeń, takich jak 'NOT NULL', aby zapewnić integralność danych. Również istotne jest zrozumienie, że polecenie to jest tylko jednym z wielu w SQL, które umożliwia manipulację danymi w relacyjnych bazach danych.

Pytanie 13

W JavaScript utworzono obiekt. Jak zmienić wartość właściwości x tego obiektu w dalszej części kodu?

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. wsp.x = …
B. obiekt1.x = …
C. x = …
D. obiekt1::x = …
JavaScript to fajny język, który pozwala na pracę z obiektami, a właściwie to obiekty są jego podstawą. Chodzi o to, że można w nich przechowywać różne dane w formie par klucz-wartość. Gdy chcesz zmienić jakąś właściwość obiektu, używasz notacji kropkowej. To z pozoru proste, ale bardzo praktyczne. Po prostu wpisujesz nazwę obiektu, kropkę i nazwę właściwości, którą chcesz edytować. Na przykład mamy obiekt o nazwie obiekt1 i właściwość x. Żeby zmienić wartość x, piszesz obiekt1.x, a potem przypisujesz nową wartość. To wszystko jest zgodne z zasadami ECMAScript, które mówią, jak powinno się pracować z obiektami w JavaScript. Takie podejście jest nie tylko jasne, ale również umożliwia szybkie wskazanie, co dokładnie zmieniasz. W praktyce fajnie jest pokazać to na przykładzie, jak np. chcesz zaktualizować imię użytkownika w obiekcie, to robisz coś takiego: user.name = 'Jan'.

Pytanie 14

Który z poniższych sposobów wyświetlania tekstu nie jest określony w języku JavaScript?

A. Funkcja window.alert()
B. Funkcja MessageBox()
C. Właściwość innerHTML
D. Metoda document.write()
Niestety, wszystkie trzy odpowiedzi, które zaznaczyłeś, są poprawne w JavaScript i mają swoje własne zastosowania. Własność innerHTML to jedna z najpopularniejszych metod do modyfikacji zawartości HTML. Umożliwia ona dodawanie nowych wartości do elementów, co pozwala na dynamiczne zmienianie treści strony bez przeładowania jej. Technicznie, innerHTML można używać w każdym elemencie HTML i akceptuje zarówno tekst, jak i poprawny kod HTML. Metoda window.alert() to prosta funkcja, dzięki której można pokazać komunikat w oknie przeglądarki, co bywa przydatne w różnych sytuacjach, na przykład do potwierdzania działań lub informowania o błędach. Te metody są dość podstawowe, ale ich wykorzystanie w aplikacjach webowych może być ograniczone przez kwestie estetyki oraz doświadczenia użytkownika. Natomiast document.write() to starsza technika, która pozwala na wypisywanie treści w trakcie ładowania strony. Choć dziś nie jest zbyt często używana w nowoczesnych praktykach, można ją jeszcze spotkać w prostych skryptach czy materiałach edukacyjnych. Warto jednak wiedzieć, że w dzisiejszym programowaniu lepiej korzystać z metod manipulacji DOM, jak document.createElement(), czy używać frameworków jak React czy Vue.js, które oferują bardziej rozbudowane podejście do zarządzania zawartością stron.

Pytanie 15

Jak można zaznaczyć komentarz w kodzie PHP?

A. /? … ?/
B. <!-- …. -->
C. <? … ?>
D. /* … */
W kontekście komentarzy w kodzie PHP, wiele osób może się mylić co do sposobów ich implementacji. Odpowiedzi sugerujące użycie znaku <? … ?> oraz /? … ?/ są błędne, ponieważ te konstrukcje nie są przeznaczone do tworzenia komentarzy. Pierwsza z nich to otwierająca i zamykająca tagi PHP, które są używane do wprowadzenia kodu PHP w plikach, natomiast druga nie jest standardowym zapisem i nie ma zastosowania w języku PHP. Odpowiedź wskazująca na użycie <!-- …. --> również jest myląca, ponieważ taki zapis jest typowy dla języka HTML, a nie PHP. Komentarze w PHP mają na celu poprawę czytelności kodu, ale niepoprawne użycie formatowania komentarzy może prowadzić do nieporozumień i błędów w interpretacji kodu. Używanie znaków, które nie odpowiadają standardowym praktykom, może skutkować problemami w działaniu aplikacji, ponieważ interpreter PHP nie będzie w stanie zrozumieć, że próbujemy umieścić komentarz. Dlatego ważne jest, aby znać odpowiednie konwencje dotyczące komentarzy i stosować je zgodnie ze standardami branżowymi, aby unikać takich pomyłek.

Pytanie 16

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

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

Pytanie 17

W języku PHP instrukcja foreach jest rodzajem

A. pętli, niezależnie od rodzaju zmiennej
B. pętli, przeznaczonej wyłącznie dla elementów tablicy
C. instrukcji wyboru, dla elementów tablicy
D. instrukcji warunkowej, niezależnie od typu zmiennej
Trochę mylne jest stwierdzenie, że <i>foreach</i> to pętla, która może działać na każdej zmiennej. W rzeczywistości <i>foreach</i> jest ściśle związana z tablicami. Jak spróbujesz użyć jej na zmiennej, która nie jest tablicą, to dostaniesz błąd. I nie ma co mówić, że <i>foreach</i> to instrukcja warunkowa, bo to też nieprawda. Instrukcje warunkowe, jak <i>if</i>, podejmują decyzje, a <i>foreach</i> jest do tego, żeby iterować. I to, co ktoś napisał o pętli wyboru, też wprowadza w błąd. Pętle jak <i>for</i> czy <i>while</i> powtarzają kod na podstawie warunków, a <i>foreach</i> to po prostu iteracja po elementach tablicy. Tak że tu ważne jest, żeby nie mylić pętli iteracyjnych z warunkowymi oraz rozumieć, gdzie można używać <i>foreach</i>, bo jak się tego nie zrozumie, to mogą być problemy w programowaniu w PHP i można nie wykorzystać dostępnych narzędzi jak trzeba.

Pytanie 18

Zgodnie z zasadami ACID, które odnoszą się do realizacji transakcji, wymóg trwałości (ang. durability) oznacza, że

A. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od wydarzeń, które nastąpią po jej zakończeniu
B. w trakcie wykonywania transakcji dane mogą być zmieniane przez inne transakcje
C. w przypadku naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi
D. transakcja może w pewnych okolicznościach być podzielona na dwa niezależne etapy
Wybranie odpowiedzi, że w przypadku naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi, nie jest zbyt mądre. Usuwanie tabel mogłoby naprawdę zaszkodzić strukturze danych i doprowadzić do poważnych problemów. Spójność baz danych to jeden z elementów ACID, ale to nie znaczy, że w razie kłopotów można po prostu rzucać się na tabele. W kontekście trwałości (durability) warto unikać działań, które mogą skutkować utratą danych. Zauważyłem też, że druga opcja sugeruje, że dane mogą być zmieniane przez inne transakcje w trakcie trwania jednej. To jest naruszenie zasady izolacji, która mówi, że każda transakcja powinna działać niezależnie. Zmiany równocześnie mogą prowadzić do chaosu, a zasady ACID starają się temu zapobiegać. Co do podziału transakcji na dwa etapy, to też jest niezgodne z zasadami ACID, zwłaszcza w kontekście trwałości i izolacji. Takie coś może tylko skomplikować sprawę i doprowadzić do niespójności. Dlatego, żeby dobrze zarządzać transakcjami w bazach danych, trzeba naprawdę zrozumieć zasady ACID i wdrażać strategie, które pomogą unikać błędów i zapewnić porządek.

Pytanie 19

Które spośród poniższych zdań dotyczących definicji funkcji umieszczonej w ramce jest prawidłowe?

function czytajImie(){
var imie=null;
do{
imie=prompt("podaj imie: ");
if(imie.length<3) alert("wprowadzony tekst jest niepoprawny");
}while(imie.length<3);
}
A. Tekst będzie odczytywany do chwili, gdy podana zostanie liczba większa niż 3
B. Wczytywanie tekstu zakończy się, gdy tekst będzie się składał przynajmniej z 3 znaków
C. Pętla wykona się tylko jeden raz
D. Funkcja zawiera pętlę, która powtarza się 3 razy
Prawidłowa odpowiedź odnosi się do warunku zakończenia pętli do while w języku JavaScript. Pętla ta wykonuje się co najmniej raz, ponieważ najpierw wykonuje blok kodu, a dopiero potem sprawdza warunek. W tym przypadku, użytkownik jest proszony o wprowadzenie tekstu reprezentującego imię. Instrukcja if sprawdza, czy wprowadzone imię ma mniej niż 3 znaki. Jeśli tak, pojawia się komunikat, że tekst jest nieprawidłowy, a pętla ponownie prosi o podanie imienia. Proces ten powtarza się, dopóki użytkownik nie wprowadzi imienia o długości co najmniej 3 znaków. Jest to typowa technika walidacji danych wejściowych, zapewniająca, że użytkownik wprowadzi wartości spełniające określone kryteria. Taki sposób walidacji jest stosowany w aplikacjach wymagających dokładności danych wejściowych, zwłaszcza w formularzach internetowych, gdzie poprawność danych jest kluczowa. Praktyka ta pomaga w zapewnieniu, że dane są kompletne i zgodne z wymaganiami biznesowymi, co jest istotne w programowaniu front-end.

Pytanie 20

Aby uzyskać dane z formularza HTML bez ich widoczności w adresie URL, powinno się użyć

A. metody POST
B. wyłącznie funkcji z biblioteki PDO
C. metody GET
D. samych kontrolek bez zastosowania formularza
Zastosowanie metody GET do przesyłania danych z formularza HTML wiąże się z istotnymi ograniczeniami, które mogą prowadzić do niepożądanych konsekwencji, zwłaszcza w kontekście bezpieczeństwa. Metoda GET przesyła dane jako część adresu URL, co oznacza, że wszystkie informacje są widoczne dla użytkowników oraz mogą być łatwo zapisane w historii przeglądarki. W rezultacie, w przypadku przesyłania wrażliwych danych, takich jak numery kart kredytowych, hasła czy dane osobowe, narażamy się na ryzyko ich wycieku i wykorzystania przez osoby trzecie. Ponadto, metoda GET ogranicza ilość danych, które mogą być przesyłane, co w praktyce może uniemożliwić przesłanie większych formularzy. Może to prowadzić do błędów w aplikacji lub konieczności wprowadzenia dodatkowych sztuczek, takich jak dzielenie danych na mniejsze części. Użycie samych kontrolek bez formularza również nie jest odpowiednie, ponieważ nie pozwala na strukturalne przesyłanie danych, a tym samym utrudnia zarządzanie danymi, które powinny być zorganizowane w sposób logiczny. Na koniec, ograniczenie się do korzystania z funkcji z biblioteki PDO nie ma związku z metodą przesyłania danych z formularzy HTML – PDO jest narzędziem do pracy z bazą danych, a nie do przesyłania danych z formularzy. Właściwe metody przesyłania danych powinny być zgodne z najlepszymi praktykami branżowymi, które podkreślają znaczenie bezpieczeństwa i integralności danych.

Pytanie 21

Które z tabel będą poddane weryfikacji zgodnie z przedstawionym poleceniem? ```CHECK TABLE pracownicy CHANGED;```

A. Wyłącznie tabele odnoszące się do innych
B. Tabele, które zmieniły się w obecnej sesji
C. Tabele, które uległy zmianie od ostatniej kontroli lub nie zostały poprawnie zamknięte
D. Tylko te tabele, które nie mogły być poprawnie zakończone
Polecenie CHECK TABLE pracownicy CHANGED jest używane w systemach zarządzania bazami danych, aby sprawdzić stan tabeli 'pracownicy' w kontekście jej integralności i ewentualnych zmian, które miały miejsce od ostatniej kontroli. Poprawna odpowiedź odnosi się do przypadków, kiedy tabela mogła być zmieniona lub nie została prawidłowo zamknięta podczas ostatnich operacji, co może prowadzić do uszkodzenia danych lub naruszeń integralności. W praktyce, administratorzy baz danych często wykorzystują to polecenie jako część rutynowych procedur konserwacyjnych, aby zapewnić, że wszystkie tabele są w dobrym stanie. W przypadku dużych systemów z wieloma użytkownikami lub złożonymi transakcjami, regularne sprawdzanie tabel może zapobiec poważnym problemom w przyszłości. Dobre praktyki w zakresie zarządzania bazami danych obejmują również monitorowanie zmian oraz tworzenie kopii zapasowych przed dużymi operacjami, co wspiera bezpieczeństwo i integralność danych.

Pytanie 22

Które z poniższych formatowań nie jest zapisane w języku CSS?

A. Fragment pliku strona.html: <style> body {background-color: yellow;} </style>
B. Fragment pliku formatowanie.css: body {background-color: yellow;}
C. Fragment pliku strona.html: <body style="background-color:yellow;">
D. Fragment pliku strona.html: <body bgcolor="yellow">
Fragment <body bgcolor="yellow"> nie jest wyrażony w języku CSS, lecz w przestarzałym atrybucie HTML, który został uznany za niezalecany w nowoczesnych praktykach webowych. CSS (Cascading Style Sheets) to język służący do stylizacji dokumentów HTML i definiuje wizualne aspekty strony internetowej niezależnie od jej struktury. Atrybut 'bgcolor' był popularny w starszych wersjach HTML, jednak obecnie powinno się go unikać z uwagi na separację treści od prezentacji. Zastosowanie CSS w stylach wewnętrznych lub zewnętrznych, takich jak body {background-color: yellow;} pozwala na bardziej elastyczne i wydajne zarządzanie stylami strony. Warto również zauważyć, że zgodnie z aktualnymi standardami W3C, zaleca się używanie CSS do stylizacji, co pozwala na lepszą responsywność i łatwiejsze utrzymanie kodu. Przykłady zastosowania CSS w praktyce pokazują, jak można w prosty sposób zmieniać wygląd elementów na stronie, co jest kluczowe w nowoczesnym web designie, zwłaszcza w kontekście tworzenia stron mobilnych.

Pytanie 23

Która z list jest interpretacją podanego kodu?

Ilustracja do pytania
A. Rys. C
B. Rys. D
C. Rys. B
D. Rys. A
Kod HTML zawiera uporządkowaną listę ol z dwoma głównymi elementami muzyka i filmy Każdy z tych elementów ma zagnieżdżoną listę nieuporządkowaną ul z odpowiednimi wpisami W HTML użycie listy ol oznacza że elementy główne będą numerowane Kolejność elementów w kodzie muzyka a następnie filmy jest zgodna z ilustracją C gdzie każdy element nadrzędny zawiera swoją własną zagnieżdżoną listę nieuporządkowaną ul Prawidłowe zagnieżdżanie list jest kluczowe dla struktury semantycznej dokumentu HTML co ma znaczenie dla SEO i dostępności Dobrym przykładem praktyki jest używanie odpowiednich znaczników aby zachować logiczną hierarchię Użycie ol i ul w odpowiednich miejscach pozwala na lepsze zrozumienie i interpretację treści przez przeglądarki i czytniki ekranowe Zapewnienie poprawnej struktury list pomaga również w utrzymaniu porządku w kodzie i lepszym zarządzaniu stylem za pomocą CSS

Pytanie 24

Utworzono bazę danych z tabelą mieszkańcy, która zawiera pola: nazwisko, imię oraz miasto. Następnie przygotowano poniższe zapytanie do bazy:
SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Kraków';
Wskaż zapytanie, które zwróci takie same dane.

A. SELECT nazwisko, imie FROM mieszkańcy AS 'Poznań' OR 'Kraków';
B. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków';
C. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';
D. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto HAVING 'Poznań' OR 'Kraków';
Wybór odpowiedzi SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków' jest prawidłowy, ponieważ wykorzystuje operator logiczny OR, który umożliwia filtrowanie danych z tabeli mieszkańcy na podstawie wartości w polu miasto. To zapytanie zwraca wszystkich mieszkańców, którzy są z Poznania lub Krakowa, co odpowiada wymaganiom postawionym w pytaniu. Warto zauważyć, że taka konstrukcja jest efektywna, ponieważ nie używa złożonych zapytań ani nie tworzy zbiorów, które następnie muszą być łączone. Operator OR jest powszechnie stosowany w SQL do łączenia wielu warunków, co czyni go łatwym w użyciu. Dodatkowo, zgodnie z dobrymi praktykami baz danych, unikanie zbędnych operacji, jak UNION, gdy wystarczy proste OR, zwiększa wydajność i czytelność zapytań. Przykładowe zastosowanie tego zapytania może mieć miejsce w aplikacjach, które potrzebują zidentyfikować użytkowników z konkretnego regionu, co jest istotne w przypadku personalizacji treści lub promocji regionalnych.

Pytanie 25

Aby zdefiniować pole w klasie, do którego dostęp mają wyłącznie metody tej klasy i które nie jest dostępne dla klas dziedziczących, należy zastosować kwalifikator dostępu

A. private
B. protected
C. published
D. public
Kwalifikator dostępu 'private' jest kluczowy w programowaniu obiektowym, ponieważ pozwala na ukrycie szczegółów implementacji klasy przed innymi klasami. Deklarując pole klasy jako 'private', zapewniamy, że dostęp do niego mają jedynie metody tej samej klasy, co zwiększa enkapsulację i bezpieczeństwo danych. Na przykład, w języku Java, pole 'private' może być używane do przechowywania stanu obiektu, który nie powinien być bezpośrednio modyfikowany przez inne klasy. Korzystanie z getterów i setterów to jedna z najlepszych praktyk, która pozwala na kontrolowanie dostępu i modyfikacji prywatnych pól. Dzięki temu można wprowadzać dodatkową logikę przy pobieraniu lub ustawianiu wartości, co jest zgodne z zasadą pojedynczej odpowiedzialności. W standardach projektowania oprogramowania, takich jak SOLID, podkreśla się znaczenie ograniczania widoczności pól, co prowadzi do bardziej elastycznej i łatwiejszej w utrzymaniu architektury oprogramowania.

Pytanie 26

Fragment kodu w języku JavaScript realizujący dodawanie dwóch liczb ma poniższą postać. Aby dodawanie wykonane było po kliknięciu przycisku o nazwie "dodaj", należy w wykropkowane miejsce wstawić

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
….
<script type=text/javascript>
function dodaj()
{
    // ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onclick="return oblicz()">dodaj</button>
B. <button onselect="return dodaj()">oblicz</button>
C. <button onselect="return dodaj()">dodaj</button>
D. <button onclick="return dodaj()">dodaj</button>
Wybór niewłaściwej odpowiedzi sugeruje pewne nieporozumienie związane z obsługą zdarzeń w JavaScript i jak są one wywoływane w kontekście przycisków. Wszystkie pozostałe odpowiedzi używają zdarzenia 'onselect' lub wywołują nieistniejącą funkcję 'oblicz'. Zdarzenie 'onselect' jest wyzwalane, gdy użytkownik zaznacza tekst w elemencie, co jest nieodpowiednie dla przycisku. Innymi słowy, 'onselect' nie jest odpowiednim zdarzeniem do obsługi kliknięcia przycisku. Co więcej, wywołanie funkcji 'oblicz' jest błędem, ponieważ nie istnieje taka funkcja zdefiniowana w skrypcie. Ta myląca odpowiedź może wynikać z niezrozumienia, jak zdarzenia są obsługiwane w JavaScript i jakie zdarzenia są odpowiednie dla różnych elementów. Zasada ta jest zgodna z dobrymi praktykami programowania, które zalecają używanie odpowiednich zdarzeń dla różnych elementów i typów interakcji użytkownika.

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. liczbę najstarszych uczestników.
C. różnicę wieku pomiędzy najstarszym i najmłodszym uczestnikiem.
D. średnią arytmetyczną wieku uczestników.
Niestety, podane odpowiedzi nie są poprawne. Zapytanie SQL, które zostało przedstawione, korzysta z funkcji agregujących MAX i MIN, by znaleźć maksymalną i minimalną wartość wieku, a następnie oblicza różnicę między nimi. Taka operacja nie daje nam informacji o minimalnym i maksymalnym wieku uczestników (odpowiedź #1), nie oblicza również średniej arytmetycznej wieku uczestników (odpowiedź #3), ani nie zwraca liczby najstarszych uczestników (odpowiedź #4). W każdym z tych przypadków, zapytanie musiałoby być sformułowane w inny sposób. Na przykład, do obliczenia średniego wieku uczestników, użylibyśmy funkcji AVG. Dlatego ważne jest zrozumienie, jak działają różne funkcje agregujące w SQL i jakie informacje mogą dostarczyć, aby poprawnie interpretować wyniki zapytań SQL. Pamiętaj, że błędne zrozumienie tego, co robi dane zapytanie SQL, może prowadzić do niepoprawnej interpretacji danych, co w konsekwencji może prowadzić do błędnych decyzji biznesowych lub analitycznych.

Pytanie 28

Co robi funkcja napisana w języku JavaScript?

function fun1(f)
{
  if(f < 0)
    f = f * (-1);
  return f;
}
A. wypisanie wartości bezwzględnej z f
B. zwrócenie wartości odwrotnej do f
C. zwrócenie wartości bezwzględnej z f
D. wypisanie wartości odwrotnej do f
Funkcja, którą podałeś w JavaScript, ma za zadanie zwrócić wartość bezwzględną z podanego argumentu f. Sprawdza, czy f jest mniejsze od zera, a jeśli tak, to mnoży je przez -1, co w praktyce oznacza, że zmienia znak liczby na dodatni. Jeśli wartość jest już dodatnia, to nic się nie dzieje. To wszystko jest zgodne z tym, jak definiujemy wartość bezwzględną, bo ta zawsze jest równa lub większa od zera. Z mojego doświadczenia, wartości bezwzględne są przydatne w różnych dziedzinach, jak matematyka czy analiza danych, gdzie zależy nam na wartościach liczbowych bez względu na to, czy są dodatnie, czy ujemne. Warto też wspomnieć, że JavaScript ma wbudowaną funkcję Math.abs(), która robi to samo i jest to naprawdę dobry wybór, bo ułatwia zrozumienie kodu i zmniejsza ryzyko błędów. Tworzenie takiej funkcji, jak w Twoim zadaniu, to świetny sposób na lepsze poznanie działania języka i manipulowania danymi.

Pytanie 29

W celu modyfikacji danych w bazie danych można wykorzystać

A. raportem
B. kwerendą SELECT
C. filtrowaniem
D. formularzem
Formularz jest kluczowym narzędziem do edytowania danych w bazach danych, ponieważ umożliwia użytkownikom interakcję z danymi w sposób przyjazny i zrozumiały. Stosując formularze, można łatwo wprowadzać, modyfikować i usuwać informacje w bazie, co jest szczególnie ważne w aplikacjach typu CRUD (Create, Read, Update, Delete). W kontekście baz danych, formularze są często zintegrowane z systemami zarządzania bazami danych (DBMS), co pozwala na walidację danych wprowadzanych przez użytkowników i zabezpieczenie przed błędami. Przykładem zastosowania formularzy może być system zarządzania klientami, gdzie pracownik wprowadza dane klientów za pomocą formularza, co automatycznie aktualizuje odpowiednie tabele w bazie danych. Właściwe projektowanie formularzy uwzględnia zasady UX/UI, co zwiększa efektywność użytkowników i zmniejsza ryzyko pomyłek. Ponadto, formularze mogą być wspierane przez zaawansowane technologie, takie jak AJAX, które umożliwiają dynamiczne aktualizacje danych bez konieczności przeładowania strony.

Pytanie 30

W SQL, aby dodać kolumnę rozmiar typu znakowego o maksymalnej długości 20 znaków do tabeli Towar, należy wykonać następujące polecenie

A. ALTER TABLE Towar ADD rozmiar varchar(20)
B. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
D. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
Aby dodać nową kolumnę do istniejącej tabeli w bazie danych SQL, właściwe jest użycie polecenia ALTER TABLE z opcją ADD. W tym przypadku, aby dodać kolumnę 'rozmiar' typu varchar o maksymalnej długości 20 znaków do tabeli 'Towar', należy napisać: ALTER TABLE Towar ADD rozmiar varchar(20). Typ danych varchar (zmienny znak) jest często stosowany do przechowywania tekstu o zmiennej długości, co czyni go idealnym do przechowywania informacji takich jak rozmiary, nazwy czy opisy. Zachowanie maksymalnej długości kolumny do 20 znaków zapewnia, że żadne dane nie przekroczą ustalonego limitu, co z kolei może pomóc w utrzymaniu integralności danych. Dodatkowo, standard SQL definiuje ALTER TABLE jako polecenie do modyfikacji istniejących obiektów w bazie danych, co czyni go kluczowym narzędziem dla administratorów baz danych. Przykładowo, po dodaniu kolumny można zaktualizować istniejące rekordy, aby wprowadzić odpowiednie dane do nowej kolumny. Warto również zaznaczyć, że różne systemy zarządzania bazami danych (DBMS) mogą mieć swoje specyficzne rozszerzenia, ale powyższa składnia jest zgodna z SQL ANSI.

Pytanie 31

Jaką wartość zwróci funkcja empty($a); w języku PHP, gdy zmienna $a będzie miała wartość 0?

A. FALSE
B. NULL
C. TRUE
D. 0
Wartości 0 i NULL nie są uznawane za tożsame. W przypadku zwrócenia FALSE z funkcji empty(), można byłoby pomyśleć, że 0 jest uważane za wartość pełną, co jest błędnym wnioskiem. 0 w kontekście PHP jest interpretowane jako wartość, która jest pusta, co prowadzi do nieporozumień w stosowaniu tej funkcji. Odpowiedź sugerująca, że funkcja zwróci 0, nie uwzględnia faktu, że empty() nie zwraca wartości liczbowej, lecz logiczną reprezentację pustoty. Podobnie, NULL to inna kategoria wartości, oznaczająca brak wartości. Przyjmowanie NULL jako zwracanej wartości przez empty() jest błędne, ponieważ ta funkcja nie zwraca NULL, a jedynie TRUE lub FALSE w zależności od tego, czy zmienna jest pusta. Odpowiedź sugerująca TRUE jako wynik działa zgodnie z logiką PHP, a błędne wnioski mogą wynikać z braku zrozumienia, jak PHP interpretuje różne typy danych. W praktyce warto unikać takich nieporozumień, stosując dokładne definicje typów i rozumiejąc, jak funkcje manipulują tymi typami.

Pytanie 32

Na ilustracji pokazano tabelę z połączonymi komórkami. Jakie atrybuty scalania zastosowano, aby uzyskać ten efekt?

Ilustracja do pytania
A. rowspan w drugim wierszu i pierwszej komórce oraz colspan w trzecim wierszu, trzeciej komórce
B. colspan w drugim wierszu i pierwszej komórce oraz rowspan w trzecim wierszu, trzeciej komórce
C. colspan w drugim wierszu we wszystkich trzech komórkach oraz rowspan w trzecim wierszu ostatniej komórce
D. colspan w drugim wierszu i pierwszej komórce oraz rowspan w trzecim wierszu i czwartym wierszu
Niepoprawne odpowiedzi wynikają z błędnego przypisania atrybutów colspan i rowspan w tabeli HTML. Rozważając zastosowanie rowspan w drugim wierszu i pierwszej komórce, błędnie zakłada się, że komórka ta miałaby rozciągać się na kilka wierszy, co nie jest prawdą dla przedstawionego układu. Zastosowanie colspan w trzecim wierszu i trzeciej komórce również jest nieprawidłowe, gdyż komórki te nie są rozciągane poziomo na kilka kolumn. Kolejne błędne przypisanie to colspan we wszystkich trzech komórkach drugiego wiersza - w rzeczywistości tylko jedna z komórek wymaga takiego scalania, aby uzyskać pokazany efekt. Podobnie, użycie rowspan w czwartym wierszu nie znajduje zastosowania w załączonym obrazie, gdzie komórki są jednolicie rozmieszczone. Takie błędy w zrozumieniu mechaniki tabel HTML mogą wynikać z braku doświadczenia z praktycznym zastosowaniem tych atrybutów. Ważne jest, aby dokładnie analizować strukturę tabel i zrozumieć specyfikę ich projektowania, co pozwala na poprawne i efektywne wykorzystanie dostępnych narzędzi. Edukacja w zakresie semantyki HTML i praktyczne ćwiczenia mogą znacznie poprawić umiejętność tworzenia i zarządzania złożonymi układami tabelarycznymi na stronach internetowych, a także przyczynić się do lepszej dostępności i responsywności stron.

Pytanie 33

Aby poprawnie skomentować linię kodu w języku JavaScript, należy po znakach // wprowadzić komentarz x = Math.max(a,b,c); //

A. w zmiennej x maksymalna wartość ze zmiennych a, b, c
B. w zmiennej x minimalna wartość ze zmiennych a, b, c
C. nieprawidłowe dane
D. wybór wartości maksymalnej spośród zmiennych a, b oraz c
W analizowanych odpowiedziach znajdują się stwierdzenia, które nie oddają rzeczywistego działania funkcji wykorzystywanej w tej linii kodu. Stwierdzenie dotyczące wyboru losowej wartości ze zmiennych a, b i c jest błędne, ponieważ funkcja Math.max nie dokonuje wyboru losowego, ale precyzyjnie analizuje wartości i zwraca największą z nich. Takie myślenie może prowadzić do poważnych nieporozumień w kontekście programowania, gdzie deterministyczne wyniki są kluczowe. Inne z kolei stwierdzenie, że w zmiennej x znajduje się minimalna wartość ze zmiennych a, b, c, jest całkowicie sprzeczne z logiką funkcji Math.max, która z definicji nakazuje jej zwracać maksymalną, a nie minimalną wartość. Użytkownik, bazując na tym błędnym rozumowaniu, mógłby wprowadzić niepoprawne dane do dalszego przetwarzania. Natomiast ostatnia błędna odpowiedź sugerująca, że zmienna x zawiera maksymalną wartość bez uwzględnienia kontekstu, jest niepoprawna w tym sensie, że nie precyzuje, iż funkcja Math.max porównuje konkretnie wartości a, b i c. Aby uniknąć takich nieporozumień, ważne jest zrozumienie mechanizmu działania wbudowanych funkcji w JavaScript oraz ich zastosowania w praktyce.

Pytanie 34

Język JavaScrypt umożliwia obsługę

A. wysyłania ciastek z identycznymi informacjami do wielu klientów strony
B. funkcji wirtualnych
C. klas abstrakcyjnych
D. obiektów DOM
Obsługa funkcji wirtualnych nie jest częścią języka JavaScript, ponieważ ten język nie obsługuje typów i mechanizmów programowania obiektowego w sposób, w jaki robią to inne języki, takie jak C++ czy Java. JavaScript nie posiada koncepcji 'wirtualnych funkcji', które są charakterystyczne dla języków, które implementują mechanizmy dziedziczenia oparte na klasach. W JavaScript, programowanie obiektowe opiera się na prototypach, co oznacza, że obiekty mogą dziedziczyć właściwości i metody bez użycia wirtualnych funkcji, co czyni to pojęcie nieadekwatnym w kontekście tego języka. Ponadto, klasa abstrakcyjna jest także pojęciem, które jest źle zrozumiane w kontekście JavaScript. W rzeczywistości, JavaScript nie wspiera klas abstrakcyjnych w tradycyjnym sensie znanym z języków statycznie typowanych. Wprowadzenie klas w ECMAScript 6 dodało nową składnię, ale nie zmieniło fundamentalnej natury języka. JavaScript nie wymusza implementacji metod w klasach pochodnych, co jest kluczowym aspektem klas abstrakcyjnych. Wreszcie, kwestia wysyłania ciastek z tą samą informacją do wielu klientów stron internetowych odnosi się bardziej do mechanizmów serwerowych i zarządzania sesjami niż do samego języka JavaScript. JavaScript działa głównie po stronie klienta, a ciasteczka są zarządzane przez przeglądarki internetowe, gdzie mogą być ustalane przez skrypty, ale samo wysyłanie ciasteczek do klientów nie jest bezpośrednio związane z jego funkcjonalnością. Te aspekty techniczne ukazują, dlaczego podane odpowiedzi nie są poprawne w kontekście pytania o obsługę JavaScript.

Pytanie 35

Uprawnienia obiektowe, przyznawane użytkownikom serwera bazy danych, mogą umożliwiać lub uniemożliwiać

A. zmienianie ról oraz kont użytkowników
B. realizowanie czynności, takich jak tworzenie kopii zapasowej
C. wykonywanie operacji na bazie, takich jak wstawianie lub modyfikowanie danych
D. dziedziczenie uprawnień
Uprawnienia obiektowe w systemach zarządzania bazami danych (DBMS) są kluczowym elementem bezpieczeństwa oraz zarządzania dostępem do danych. Pozwalają one na kontrolowanie, kto i w jaki sposób może korzystać z zasobów bazy danych. Odpowiedź dotycząca wykonywania operacji na bazie, takich jak wstawianie lub modyfikowanie danych, jest poprawna, ponieważ uprawnienia te bezpośrednio odnoszą się do możliwości modyfikacji danych, co jest fundamentem działania aplikacji bazodanowych. Na przykład, użytkownik z odpowiednimi uprawnieniami może dodawać nowe rekordy do tabeli za pomocą instrukcji SQL INSERT lub modyfikować istniejące dane za pomocą UPDATE. W kontekście standardów, takie jak SQL-92 oraz nowsze wersje, definiują uprawnienia, które mogą być przyznawane użytkownikom na poziomie obiektów, co pozwala na granularne zarządzanie dostępem. W praktyce, administratorzy baz danych muszą starannie przydzielać te uprawnienia, aby zapewnić integralność i bezpieczeństwo danych w systemie, co jest niezbędne do efektywnego zarządzania informacjami.

Pytanie 36

W przedstawionej regule CSS: h1 {color: blue} h1 symbolizuje

A. wartość
B. selektor
C. deklarację
D. klasę
W podanej regule CSS, h1 {color: blue}, h1 jest selektorem, który identyfikuje elementy HTML, na które ma być zastosowany styl. Selektory są kluczowym elementem w CSS, ponieważ pozwalają na precyzyjne określenie, do których elementów stosować dane style. W tym przypadku h1 wskazuje na wszystkie nagłówki pierwszego poziomu w dokumentach HTML. Używając selektora h1, możemy na przykład zmienić kolor wszystkich tytułów na niebieski, co jest istotne dla poprawy estetyki i czytelności strony. Dobrą praktyką jest stosowanie odpowiednich selektorów, aby unikać niepotrzebnej redundancji w kodzie, co przyczynia się do lepszej wydajności ładowania strony. Zrozumienie selektorów CSS jest niezbędne do efektywnego stylizowania stron internetowych i jest zgodne z najlepszymi standardami w branży, takimi jak W3C. Na przykład, możemy również używać selektorów klas lub identyfikatorów, aby stosować różne style do konkretnych elementów, co pozwala na większą elastyczność i kontrolę nad wyglądem strony.

Pytanie 37

Kaskadowe arkusze stylów są tworzone w celu

A. ulepszenia nawigacji dla użytkownika
B. dodania na stronie internetowej treści tekstowych
C. zwiększenia szybkości ładowania grafiki na stronie internetowej
D. określenia metod formatowania elementów na stronie internetowej
Kaskadowe arkusze stylów (CSS) są kluczowym elementem w projektowaniu stron internetowych, ponieważ umożliwiają one definiowanie sposobu formatowania i prezentacji elementów na stronie. CSS pozwala na oddzielenie treści od formy, co oznacza, że programiści mogą skupić się na tworzeniu struktury dokumentu HTML, podczas gdy stylistyka i układ są kontrolowane przez arkusze stylów. Przykładem zastosowania CSS jest stylizacja nagłówków, paragrafów czy list, gdzie można dostosować czcionki, kolory, marginesy oraz inne właściwości wizualne. Dzięki użyciu selektorów i reguł CSS, twórcy stron mają pełną kontrolę nad tym, jak każdy element będzie wyglądał, co pozwala na tworzenie responsywnych i estetycznych interfejsów. Ponadto, CSS obsługuje kaskadowość, co oznacza, że reguły mogą być dziedziczone i nadpisywane, co zwiększa elastyczność i wydajność procesu stylizacji. Warto również zwrócić uwagę na standardy W3C, które definiują najlepsze praktyki i zalecenia dotyczące użycia CSS, co przyczynia się do poprawy dostępności i zgodności stron internetowych.

Pytanie 38

W posiadanej tabeli zwanej przedmioty, która zawiera kolumny ocena oraz uczenID, aby wyliczyć średnią ocen dla ucznia z ID równym 7, należy użyć zapytania

A. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7
B. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7
C. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7
D. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7
Odpowiedź 'SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;' jest poprawna, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią ocen dla wszystkich wpisów w tabeli 'przedmioty', gdzie 'uczenID' jest równy 7. W SQL funkcje agregujące są niezwykle przydatne do analizy danych, pozwalając na uzyskanie statystyk dotyczących zbiorów danych. Użycie klauzuli WHERE pozwala na filtrowanie danych do tych, które dotyczą konkretnego ucznia, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi. Na przykład, w praktycznych zastosowaniach, może to być użyte do generowania raportów dotyczących wyników ucznia w określonym przedziale czasowym lub w porównaniu do innych uczniów. Warto również zauważyć, że poprawna konstrukcja zapytania SQL jest kluczowa dla utrzymania integralności i wydajności bazy danych, co podkreśla znaczenie płynnego zapisu zapytań. Takie umiejętności są nieocenione w pracy z bazami danych oraz w kontekście analizy danych w różnych dziedzinach.

Pytanie 39

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości dla bloków: 1, 2,
3, 4 (blok 5 nie ma ustawionej szerokości), powinno zawierać właściwość

Ilustracja do pytania
A. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
B. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
C. clear: both dla wszystkich bloków.
D. float: left dla wszystkich bloków.
Twoja odpowiedź nie jest poprawna, ale nie przejmuj się, błąd może wynikać z niepełnego zrozumienia zastosowania właściwości 'float' i 'clear' w CSS. Zastosowanie 'float: left' dla wszystkich bloków nie jest dobrym pomysłem, ponieważ spowoduje to, że wszystkie bloki będą się starały zmieścić w jednym rzędzie, co jest niezgodne z założonym układem. Podobnie, dodawanie 'clear: both' do wszystkich bloków też nie jest poprawne, ponieważ spowoduje to, że wszystkie bloki będą wyświetlane jeden pod drugim, zamiast obok siebie. Właściwość 'clear' powinna być stosowana do bloków, które chcemy wyświetlić poniżej innych bloków, natomiast 'float: left' powinien być stosowany do bloków, które chcemy wyświetlić obok siebie. Pamiętaj, że zrozumienie tych właściwości i umiejętność ich stosowania jest kluczowe dla tworzenia efektywnych i atrakcyjnych layoutów stron internetowych.

Pytanie 40

Instrukcją równoważną funkcjonalnie do przedstawionej instrukcji JavaScript jest

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
Kod 1.
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}
Kod 2.
while (i < 100)
  document.write(i + ' ');
Kod 3.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}
Kod 4.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}
A. Kod 2.
B. Kod 3.
C. Kod 1.
D. Kod 4.
Gratulacje! Wybrałeś poprawną odpowiedź, która jest Kodem 3. Pętla for prezentowana na obrazku inicjuje zmienną i na 0, a następnie sprawdza warunek i < 100, wykonuje instrukcje w pętli for i zwiększa i o 10 za każdą iteracją. To jest standardowe zachowanie dla pętli for w języku programowania JavaScript. Kod 3 jest równoważny funkcjonalnie z pętlą for, ponieważ również inicjuje zmienną i na 0, a następnie w pętli while sprawdza warunek (i < 100), wykonuje instrukcje w pętli i zwiększa i o 10 w każdej iteracji. Zrozumienie różnych rodzajów pętli i ich równoważności jest kluczowe dla skutecznego programowania, ponieważ pozwala na optymalizację kodu i poprawę jego czytelności. Dobrą praktyką jest zrozumienie, kiedy używać różnych typów pętli w zależności od specyficznych wymagań danego problemu programistycznego.