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: 12 maja 2025 20:31
  • Data zakończenia: 12 maja 2025 20:43

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jakie jest zadanie funkcji PHP o nazwie mysql_select_db?

A. wyznaczyć bazę, z której będą pobierane informacje
B. pobrać dane z bazy danych na podstawie zapytania
C. nawiązać połączenie bazy danych z serwerem SQL
D. wyznaczyć tabelę, z której będą pobierane informacje
Funkcja PHP mysql_select_db() jest używana do wyboru aktywnej bazy danych w kontekście połączenia z serwerem MySQL. Jej głównym celem jest określenie, z której bazy danych będą pobierane dane podczas wykonywania zapytań SQL. Działa to w ten sposób, że po nawiązaniu połączenia z serwerem MySQL za pomocą funkcji mysql_connect(), musimy wskazać, którą bazę danych chcemy używać. Przykład użycia to: mysql_select_db('nazwa_bazy');. Jeśli baza danych o podanej nazwie istnieje, zostaje ustawiona jako aktywna i wszystkie subsequentne zapytania będą odnosiły się do tej bazy. Warto również zauważyć, że w nowszych wersjach PHP zaleca się korzystanie z rozszerzenia mysqli lub PDO, ponieważ mysql_select_db() oraz inne funkcje z rodziny mysql zostały usunięte w PHP 7. Standardy dotyczące korzystania z baz danych, takie jak SQL, wymagają, aby przed wykonaniem zapytania, zdefiniować bazę danych, co czyni mysql_select_db() kluczowym elementem zarządzania danymi.

Pytanie 2

Interpreter PHP zgłosi błąd i nie zrealizuje kodu, jeśli programista:

A. nie umieści średnika po wyrażeniu w instrukcji if, gdy po nim występuje sekcja else
B. będzie definiował zmienne w obrębie warunku
C. będzie pisać kod bez zastosowania wcięć
D. pobierze dane z formularza, w którym pole input pozostało puste
W przypadku pierwszej odpowiedzi dotyczącej pobierania wartości z formularza, należy zrozumieć, że PHP nie generuje błędu, nawet jeśli pole input nie zostało wypełnione. Wartość z pustego pola formularza zostanie przekazana jako pusty string, co nie prowadzi do błędu, ale wymaga dodatkowej walidacji. Niezapełnione pola mogą być zatem obsługiwane bez problemów. Drugą odpowiedzią jest kwestia wcięć w kodzie. Chociaż wcięcia poprawiają czytelność kodu, PHP nie wymaga ich stosowania, a brak wcięć nie spowoduje błędu wykonania, co jest mylącą koncepcją. Warto jednak podkreślić, że stosowanie wcięć jest dobrą praktyką, gdyż pozwala na lepsze zrozumienie struktury programu. Ostatnia odpowiedź dotycząca deklaracji zmiennych wewnątrz warunku również nie prowadzi do błędu interpretera. PHP pozwala na tworzenie zmiennych w dowolnym zakresie, w tym w instrukcjach warunkowych, co jest istotne dla elastyczności języka. Aby uniknąć błędnych wniosków, warto pamiętać, że błędy w PHP wynikają najczęściej z niepoprawnej składni lub niezgodności w konwencji użycia, a nie ze sposobu organizacji kodu w kontekście wcięć czy deklaracji zmiennych.

Pytanie 3

W stylu CSS utworzono klasę uzytkownik. Na stronie będą wyświetlane czcionką w kolorze niebieskim: p.uzytkownik { color: blue; }

A. akapitów, którym przypisano klasę uzytkownik.
B. wszystkie akapity.
C. wszystkie elementy w sekcji z przypisaną klasą uzytkownik.
D. jedynie elementy tekstowe takie jak

,

.

Odpowiedź, że paragrafy przypisane do klasy 'uzytkownik' będą miały niebieską czcionkę, jest jak najbardziej trafna. W CSS używamy kropki, żeby zdefiniować klasę, co oznacza, że styl dotyczy tylko tych elementów HTML, które mają tę klasę. Więc jeśli masz coś takiego w HTML jak

, to na pewno będzie to wyświetlane z niebieską czcionką, zgodnie z Twoją regułą CSS. Takie podejście super wspiera modularność i możliwość ponownego użycia kodu, co jest naprawdę ważne w tworzeniu stron. Dzięki klasom CSS łatwo da się ogarnąć styl w różnych miejscach w kodzie, a zmieniając kolor czcionki w pliku CSS, zmiana ta natychmiast zaktualizuje wszystkie elementy z tą klasą. Przykładowo, akapit

będzie miał niebieski kolor i to fajnie wpływa na spójność wizualną strony. Pamiętaj też, że klasy CSS można stosować nie tylko do akapitów, ale też do innych znaczników, co daje większą swobodę w stylizacji treści.


Pytanie 4

Który z elementów w sekcji head dokumentu HTML 5 jest obowiązkowy według walidatora HTML, a jego niedobór skutkuje błędem (error)?

A. meta
B. style
C. link
D. title
Znak „title” jest fundamentalnym elementem sekcji head dokumentu HTML, który ma kluczowe znaczenie dla jego poprawnego działania oraz dla doświadczeń użytkowników. Jego obecność jest niezbędna, ponieważ zapewnia tytuł strony, który jest wyświetlany na pasku tytułowym przeglądarki oraz w wynikach wyszukiwania. Tytuł powinien być krótki, ale jednocześnie informacyjny, co pozwala na łatwe zidentyfikowanie zawartości strony. Przykładowo, w przypadku bloga dotyczącego zdrowia, tytuł mógłby brzmieć „Porady zdrowotne – Jak dbać o zdrowie”. Ponadto, zgodnie z wytycznymi W3C, brak tego znacznika jest traktowany jako błąd, co oznacza, że strona nie będzie spełniać standardów HTML5. W praktyce, obecność tytułu wpływa również na SEO (optymalizację pod kątem wyszukiwarek), ponieważ wyszukiwarki często wykorzystują ten element do zrozumienia tematyki strony oraz jej rankingu. Dlatego dobór odpowiednich słów do tytułu jest równie ważny.

Pytanie 5

Zaprezentowano poniżej obsługę

if (!isset($_COOKIE[$nazwa]))
  echo "nie ustawiono!";
else
  echo "ustawiono: " . $_COOKIE[$nazwa];

A. zmiennych tekstowych
B. ciasteczek
C. sesji
D. bazy danych
Obsługa ciasteczek jest kluczowym elementem w zarządzaniu stanem w aplikacjach webowych. Ciasteczka, czyli małe pliki tekstowe przechowywane w przeglądarce użytkownika, pozwalają na śledzenie aktywności użytkownika między stronami i sesjami. W kodzie powyżej widzimy użycie globalnej tablicy PHP $_COOKIE do sprawdzania, czy ciasteczko o określonej nazwie zostało ustawione. Funkcja isset() sprawdza, czy zmienna jest zdefiniowana i nie jest null. Jeśli ciasteczko istnieje, jego wartość jest wyświetlana. Ciasteczka są powszechnie używane do zarządzania sesjami, personalizacji treści czy śledzenia zachowań użytkowników. W praktyce, zabezpieczenia są ważnym aspektem zarządzania ciasteczkami. Powinny być szyfrowane i oznaczone jako HttpOnly oraz Secure, aby zminimalizować ryzyko kradzieży informacji przez ataki XSS. Programiści powinni także stosować polityki prywatności zgodnie z regulacjami RODO, informując użytkowników o użyciu ciasteczek. Zrozumienie tych mechanizmów jest fundamentalne dla budowy bezpiecznych i funkcjonalnych aplikacji webowych.

Pytanie 6

Funkcja, która wywołuje samą siebie to

A. dziedziczenie
B. hermetyzacja
C. rekurencja
D. iteracja
Iteracja, hermetyzacja i dziedziczenie to pojęcia związane z programowaniem, ale nie odnoszą się do konceptu rekurencji. Iteracja to proces powtarzania zestawu instrukcji, aż do spełnienia określonego warunku. W przeciwieństwie do rekurencji, w iteracji nie zachodzi wywoływanie samej siebie, a raczej wykorzystuje się pętle, takie jak for czy while, aby przejść przez dane lub wykonywać operacje wielokrotnie. Hermetyzacja odnosi się do techniki programowania obiektowego, która polega na ukrywaniu wewnętrznych szczegółów implementacji obiektu i udostępnianiu jedynie niezbędnych interfejsów, co pozwala na zachowanie kontroli nad danymi i ich modyfikacjami. To z kolei wpływa na zwiększenie bezpieczeństwa oraz modularności kodu, ale nie ma związku z wywoływaniem funkcji samej siebie. Dziedziczenie to mechanizm, który umożliwia tworzenie nowych klas na podstawie już istniejących, dzieląc z nimi atrybuty oraz metody. Chociaż dziedziczenie jest fundamentalnym aspektem programowania obiektowego, nie dotyczy ono rekurencji ani sposobu, w jaki funkcje mogą się wywoływać. Każda z tych koncepcji ma swoje unikalne zastosowanie i znaczenie w programowaniu, ale są one odrębne od idei rekurencji.

Pytanie 7

Aby uniknąć występowania zduplikowanych wierszy w wyniku zapytania, należy zastosować klauzulę

A. LIMIT
B. DISTINCT
C. UNIQUE
D. ORDER BY
Klauzula DISTINCT w języku SQL służy do eliminacji zduplikowanych wierszy w wynikach zapytania. Umożliwia to uzyskanie unikalnych wartości z określonej kolumny lub zestawu kolumn, co jest niezwykle przydatne, gdy chcemy analizować dane, unikając powtórzeń, które mogą zniekształcić wyniki. Na przykład, jeżeli posiadamy tabelę 'Pracownicy' z kolumną 'Miasto', a chcemy otrzymać listę unikalnych miast, w których pracownicy są zatrudnieni, możemy użyć zapytania: SELECT DISTINCT Miasto FROM Pracownicy. Warto zaznaczyć, że stosowanie DISTINCT może wpływać na wydajność zapytania, szczególnie w przypadku dużych zbiorów danych, dlatego należy używać tej klauzuli z rozwagą. Dobrą praktyką jest również łączenie DISTINCT z innymi klauzulami, takimi jak WHERE, aby jeszcze bardziej precyzyjnie określić kryteria wyszukiwania. Używanie DISTINCT pomaga utrzymać integralność danych oraz poprawia jakość analiz, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi.

Pytanie 8

W bazie danych zrealizowano poniższe polecenia dotyczące uprawnień użytkownika adam
GRANT ALL PRMLEGES ON klienci TO adam
REN/OKE SELECT, INSERT, UPDATE ON klienci FROM adam

Po wykonaniu tych instrukcji użytkownik adam uzyska dostęp do

A. zmiany danych oraz przeglądania tabeli klienci
B. przeglądania tabeli klienci oraz dodawania do niej rekordów
C. usunięcia tabeli lub jej rekordów
D. tworzenia tabeli klienci i modyfikowania w niej danych
Odpowiedzi, które sugerują, że adam nie ma uprawnień do usunięcia tabeli lub jej rekordów, mogą wynikać z niepełnego zrozumienia pojęcia uprawnień w bazach danych. Przede wszystkim, użytkownik z uprawnieniami ALL PRIVILEGES zyskuje pełny zestaw możliwości, co obejmuje również prawo do usuwania danych. W związku z tym, stwierdzenie, że użytkownik może tylko aktualizować dane i przeglądać tabelę, jest błędne. Ponadto, nieprawidłowe twierdzenie, że adam może tworzyć tabelę klienci, jest także mylące, ponieważ przydzielone uprawnienia dotyczą już istniejącej tabeli, a nie tworzenia nowych struktur. Użytkownik przyznany ALL PRIVILEGES na konkretnej tabeli nie ma automatycznie możliwości tworzenia nowych tabel w bazie danych; wymaga to oddzielnego przydziału uprawnień. Kluczowym błędem w myśleniu jest założenie, że uprawnienia administracyjne dotyczą jedynie wstawiania i przeglądania danych, podczas gdy tak naprawdę obejmują one również usuwanie. W praktyce, zarządzając uprawnieniami, należy jasno zdefiniować, jakie konkretne działania są dozwolone, aby zapewnić bezpieczeństwo bazy danych oraz uniknąć nieautoryzowanych modyfikacji. Dobre praktyki w zarządzaniu użytkownikami wskazują na potrzebę ograniczonego dostępu, co może ułatwić kontrolę nad danymi i zachować ich integralność.

Pytanie 9

W SQL, po wykonaniu przedstawionych poleceń GRANT, prawo do edytowania struktury tabeli oraz jej usunięcia zostanie przyznane

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';

A. tylko Annie
B. Tomaszowi i Adamowi
C. Tomaszowi i Annie
D. Adamowi i Annie
SQL jest językiem służącym do zarządzania bazami danych a przydzielanie uprawnień jest kluczowym aspektem utrzymania ich bezpieczeństwa i integralności. W powyższym kontekście niepoprawne odpowiedzi wynikają z błędnego zrozumienia mechanizmu przydzielania uprawnień. W przypadku Tomasza polecenie GRANT SELECT INSERT UPDATE ON firmy odnosi się do uprawnień które nie obejmują zmiany struktury tabeli czy jej usuwania. SELECT INSERT i UPDATE to operacje które dotyczą przetwarzania danych wewnątrz tabeli a nie jej struktury. Podobnie przydzielenie uprawnień tylko Annie nie obejmowałoby pełnego zestawu uprawnień do wszystkich operacji które Adam otrzymuje poprzez GRANT ALL. W praktyce często spotyka się błędne założenie że przydzielenie wszystkich uprawnień jednemu użytkownikowi jest optymalnym rozwiązaniem jednak w rzeczywistości wiąże się to z potencjalnym ryzykiem związanym z bezpieczeństwem dlatego właściwe zarządzanie uprawnieniami wymaga głębokiego zrozumienia i przemyślanej strategii. Dzięki zrozumieniu różnicy między tymi uprawnieniami można lepiej planować bezpieczeństwo i zarządzanie dostępem do bazy danych w organizacji co jest zgodne z najlepszymi praktykami branżowymi.

Pytanie 10

Który z zaprezentowanych kodów HTML sformatuje tekst zgodnie z podanym wzorem? uwaga: słowo "stacji" jest napisane większą czcionką niż pozostałe wyrazy w tej linijce)

A.

Lokomotywa

Stoi nastacjilokomotywa ...

B.

Lokomotywa

Stoi nastacji lokomotywa ...

C.

Lokomotywa

Stoi nastacjilokomotywa ...

D.

Lokomotywa

Stoi nastacjilokomotywa ...

Odpowiedź 2 jest poprawna, ponieważ używa odpowiednich znaczników HTML do formatowania tekstu w sposób zgodny z zamierzonym wzorem. Znacznik

odpowiedzialny jest za nagłówek, co w tym przypadku w pełni oddaje intencję wyeksponowania słowa 'Lokomotywa'. Z kolei użyciedo otoczenia słowa 'stacji' powoduje, że tekst ten zostanie wyświetlony większą czcionką w porównaniu do reszty tekstu. To ważne, ponieważ zapewnia odpowiednią hierarchię wizualną, co jest zgodne z zasadami dostępności oraz dobrymi praktykami w projektowaniu stron internetowych. Warto zaznaczyć, że znaczniknie jest już zalecany w nowoczesnych standardach HTML5; raczej powinno się stosować CSS do stylizacji tekstu. Dla przykładu, można by użyć klasy CSS, aby określić rozmiar czcionki, co pozwala na lepszą kontrolę nad stylizacją i elastyczność w projektowaniu responsywnym.


Pytanie 11

Zaprezentowano kod dla tabeli 3x2. Jaką modyfikację należy wprowadzić w drugim wierszu, by tabela przypominała tę z obrazka, gdzie wiersz jest niewidoczny?

Ilustracja do pytania
A.
B.
C.
D.
Zastosowanie niewłaściwych właściwości CSS w tabelach może prowadzić do niezamierzonych efektów wizualnych i funkcjonalnych. 'Display: none' usunąłby wiersz z układu dokumentu, co skutkowałoby przesunięciem w górę wierszy poniżej. To podejście jest użyteczne, gdy element powinien być całkowicie usunięty z przestrzeni wizualnej i układu, ale nie spełniałoby celu przedstawionego w pytaniu, gdzie układ ma pozostać niezmieniony. Z kolei 'clear: none' jest właściwością CSS dotyczącą floatów, a nie widoczności, co oznacza, że nie miałoby żadnego wpływu na wyświetlanie wiersza tabeli. Jest to typowy błąd polegający na myleniu właściwości CSS w kontekście ukrywania elementów. Właściwość 'display: table-cell' jest stosowana dla elementów traktowanych jako komórki tabeli, co nie jest odpowiednie dla wierszy tabeli. Wybierając tę właściwość, użytkownik mógłby mylnie sądzić, że ma to wpływ na widoczność, podczas gdy w rzeczywistości zmienia jedynie sposób renderowania elementu. Prawidłowe rozumienie różnic między 'visibility' a 'display' jest kluczowe w tworzeniu przewidywalnych i stabilnych interfejsów użytkownika, co jest jednym z fundamentów dobrego projektowania front-endu. Wybór niewłaściwego podejścia do ukrywania elementów może prowadzić do niepożądanych zmian w interfejsie, co wpływa na użyteczność i estetykę strony.

Pytanie 12

Jaką relację typu uzyskuje się w wyniku powiązania kluczy głównych dwóch tabel?

A. wiele do wielu
B. jeden do jednego
C. jeden do wielu
D. wiele do jednego
Odpowiedź „jeden do jednego” jest poprawna, ponieważ relacja typu jeden do jednego oznacza, że każdy rekord w jednej tabeli jest powiązany z dokładnie jednym rekordem w drugiej tabeli. Tego rodzaju relacje są często wykorzystywane w sytuacjach, gdzie istnieje potrzeba rozdzielenia danych w celu zwiększenia organizacji lub wydajności, na przykład w przypadku wrażliwych informacji, które są przechowywane oddzielnie od podstawowych danych użytkowników. Praktycznym przykładem może być relacja między tabelą użytkowników a tabelą profili, gdzie każdy użytkownik ma dokładnie jeden profil. W dobrych praktykach projektowania baz danych, takie relacje są stosowane, aby zapewnić integralność danych oraz umożliwić skuteczne zarządzanie informacjami w systemach. Ponadto, stosowanie relacji jeden do jednego może pomóc w optymalizacji zapytań, ponieważ zminimalizowane jest ryzyko duplikacji danych, co przyczynia się do efektywniejszego przetwarzania operacji w bazach danych.

Pytanie 13

Parkowanie domeny to proces, który polega na

A. stworzeniu strefy domeny i wskazaniu serwerów DNS
B. zmianie właściciela domeny poprzez cesję
C. nabyciu nowej domeny
D. dodaniu aliasu CNAME dla domeny
Zakup nowej domeny nie jest tożsamy z parkowaniem domeny, ponieważ odnosi się do etapu, w którym użytkownik nabywa prawo do jej używania. Chociaż zakupienie domeny jest pierwszym krokiem do jej późniejszego używania, nie wiąże się bezpośrednio z jej parkowaniem. Wprowadzenie aliasu CNAME dla domeny również nie jest związane z parkowaniem. Alias CNAME jest używany do przekierowywania zapytań DNS z jednej domeny na inną i może być stosowany dopiero po skonfigurowaniu strefy. Zmiana abonenta domeny przez cesję dotyczy transferu praw do domeny, co również nie ma związku z jej parkowaniem. Właściwe parkowanie domeny polega na jej skonfigurowaniu w sposób umożliwiający jej zarządzanie, co nie jest realizowane przez same zakupy, aliasy czy cesje. Często mylenie tych koncepcji prowadzi do dezorientacji w zakresie zarządzania domenami. Aby prawidłowo parkować domenę, konieczne jest zrozumienie roli serwerów DNS oraz strefy domeny, co jest kluczowe dla przyszłego wykorzystania domeny w Internecie.

Pytanie 14

Funkcją przedstawionego kodu PHP będzie wypełnienie tablicy

Ilustracja do pytania
A. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
B. Kolejnymi liczbami od 0 do 9 i wypisanie ich
C. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
D. Kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
Kod w języku PHP użyty w pytaniu generuje tablicę o rozmiarze 10, wypełniając ją losowymi wartościami w zakresie od -100 do 100. Służy do tego funkcja rand(), która generuje liczby pseudolosowe. Następnie kod przechodzi przez każdą wartość tablicy przy użyciu pętli foreach i sprawdza czy wartość jest mniejsza od zera. Jeśli tak, wyświetla ją na ekranie za pomocą funkcji echo. To podejście pozwala na łatwe filtrowanie i wyświetlanie tylko tych wartości, które spełniają określone kryteria, co jest częstą praktyką w analizie danych. Przykładowe zastosowania tego rodzaju kodu można spotkać w systemach, które wymagają analizy danych statystycznych, takich jak badanie trendów w danych finansowych czy analizie wyników testów. Standardy programistyczne sugerują, aby kod był czytelny i dobrze udokumentowany, co zwiększa jego zrozumiałość i ułatwia późniejszą konserwację. Podczas pracy z funkcją rand() pamiętaj, że generowane liczby są pseudolosowe, co oznacza, że przy każdym uruchomieniu tego samego skryptu wyniki mogą się różnić. Prawidłowe użycie pętli i instrukcji warunkowych jest kluczowe w efektywnym przetwarzaniu danych w języku PHP.

Pytanie 15

Aby skutecznie stworzyć relację typu m…n, która będzie wolna od redundancji danych, konieczne jest

A. uporządkowanie przynajmniej jednej z tabel.
B. bezpośrednie połączenie kluczy podstawowych obu tabel.
C. zaprojektowanie tabeli pomocniczej.
D. bezpośrednie połączenie kluczy obcych z obu tabel.
Bezpośrednie połączenie kluczy obcych obu tabel w relacji m:n nie jest wystarczające, aby uniknąć redundancji danych. W rzeczywistości, klucze obce mają swoje zastosowanie w relacjach jeden do wielu, gdzie jedna z tabel zawiera odniesienia do drugiej. W przypadku relacji m:n, takie podejście prowadziłoby do powstania złożonych i nieczytelnych struktur, w których dane byłyby przetrzymywane wielokrotnie, co naruszałoby zasady normalizacji. Na przykład, gdybyśmy spróbowali bezpośrednio połączyć klucze obce studentów i kursów, każda kombinacja studenta i kursu byłaby wprowadzana do tej samej tabeli, co prowadziłoby do powielania informacji i wzrostu rozmiaru bazy danych bez rzeczywistej wartości. Ponadto, sortowanie jednej z tabel nie ma wpływu na strukturę relacji m:n; sortowanie jest operacją na poziomie zapytań, a nie na poziomie architektury bazy danych. Łączenie kluczy podstawowych także nie rozwiązuje problemu redundancji, ponieważ nie tworzy połączenia, które umożliwiłoby wielokrotne przypisanie tych samych elementów między tabelami. Właściwe podejście wymaga utworzenia tabeli pomocniczej, co jest powszechną praktyką w projektowaniu baz danych i zapewnia przejrzystość oraz efektywność operacyjną.

Pytanie 16

Ile razy powtórzy się pętla w JavaScript?

var x=1, i=0;
do{
    x*=3;
    i++;
}
while(x!=27);

A. 2 razy
B. 26 razy
C. 27 razy
D. 3 razy
W przedstawionym kodzie JavaScript, pętla do-while wykonuje się do momentu, gdy zmienna x nie jest równa 27. Zaczynając od wartości x równej 1, przy każdym przejściu przez pętlę zmienna x jest mnożona przez 3. Kolejno, x przyjmuje wartości: 3, 9, 27. Zatem pętla wykonuje się trzy razy, ponieważ dopiero po trzecim cyklu x osiąga wartość 27, co powoduje zakończenie pętli. Do-while zawsze wykonuje przynajmniej jedno przejście, niezależnie od warunku końcowego, dzięki czemu jest przydatna w sytuacjach, gdy operacja musi być przeprowadzona co najmniej raz. Dobrym przykładem wykorzystania tego mechanizmu jest oczekiwanie na spełnienie określonego warunku, np. uzyskanie poprawnej odpowiedzi od użytkownika. Warto zwrócić uwagę, że w przypadku operacji matematycznych wymagających określonej liczby iteracji, pętla do-while zapewnia prostotę i przejrzystość implementacji, zgodnie z dobrymi praktykami zapewniającymi łatwość w czytaniu i utrzymaniu kodu.

Pytanie 17

W tabeli pracownicy zdefiniowano klucz główny jako INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowano kolumny imie oraz nazwisko. W przypadku wykonania poniższej kwerendy SQL wprowadzającej dane, w której pominięto pole klucza, w bazie danych MySQL wystąpi

INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak');

A. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
B. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
C. błąd związany z nieprawidłową liczbą kolumn
D. ignorowanie polecenia, tabela nie ulegnie zmianie
Jak używasz polecenia INSERT w MySQL i masz klucz główny ustawiony jako AUTO_INCREMENT, to system sam zajmie się przydzieleniem nowej, unikalnej wartości dla tego klucza dla każdego nowego rekordu. Kiedy wprowadzasz dane o pracowniku, takie jak imię i nazwisko, to nie musisz martwić się o podawanie wartości klucza głównego. MySQL świetnie to rozumie i dodaje kolejny wolny numer. To jest zgodne z dobrymi praktykami w bazach danych, gdzie klucz główny musi być unikalny dla każdego rekordu, ale niekoniecznie musisz go podawać ręcznie, szczególnie gdy korzystasz z mechanizmu AUTO_INCREMENT. Weźmy na przykład tabelę zamówień – tam każdy nowy wpis automatycznie dostaje unikalny numer zamówienia, co eliminuje ryzyko błędów i ułatwia późniejsze śledzenie danych. Dzięki AUTO_INCREMENT wprowadzanie danych staje się dużo prostsze, a szansa na pomyłki przy manualnym wpisywaniu wartości klucza głównego znacznie maleje.

Pytanie 18

W języku CSS zdefiniowano następujące formatowanie:

 h1 i {color: red;}
Kolorem czerwonym zostanie zapisany

A. tylko tekst pochylony we wszystkich poziomach nagłówków.
B. tylko tekst pochylony nagłówka pierwszego stopnia.
C. cały tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu.
D. cały tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, niezależnie od tego, w którym miejscu strony się znajduje.
Pozostałe odpowiedzi zawierają nieprawidłowe założenia co do tego, jak działają selektory w CSS. Odpowiedź sugerująca, że czerwonym kolorem zostanie zapisany tylko tekst pochylony we wszystkich poziomach nagłówków, nie jest prawidłowa, ponieważ kod CSS h1 i {color: red;} wyraźnie określa, że reguła dotyczy tylko tekstu pochylonego () wewnątrz nagłówka pierwszego stopnia (

). Podobnie, odpowiedź mówiąca, że cały tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, niezależnie od tego w którym miejscu strony się znajduje, będzie czerwony, jest niepoprawna. Ta reguła CSS nie wpływa na cały tekst nagłówka pierwszego stopnia, ani na pochylony tekst w innych miejscach dokumentu. Wreszcie, odpowiedź sugerująca, że cały tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu będą czerwone, jest również nieprawidłowa, ponieważ jak wcześniej wspomniano, reguła dotyczy tylko tekstu pochylonego umieszczonego bezpośrednio w nagłówku pierwszego stopnia. Rozróżnienie między różnymi rodzajami selektorów i zrozumienie, jak są interpretowane przez przeglądarkę, to kluczowe umiejętności w codziennym kodowaniu CSS.


Pytanie 19

W systemie MySQL należy użyć polecenia REVOKE, aby odebrać użytkownikowi anna możliwość wprowadzania zmian tylko w definicji struktury bazy danych. Odpowiednie polecenie do zrealizowania tej operacji ma formę

A. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
B. REVOKE ALL ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
Wszystkie inne odpowiedzi są nieprawidłowe z kilku powodów. W pierwszej z nich, 'REVOKE ALL ON tabela1 FROM 'anna'@'localhost'', przyznawane są wszystkie uprawnienia, co jest sprzeczne z intencją odebrania tylko określonych praw. Użytkownicy powinni być ograniczani jedynie w tych obszarach, gdzie to konieczne. Z kolei odpowiedź 'REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'' zawiera 'UPDATE', co jest związane z danymi, a nie strukturą bazy, co również czyni ją niewłaściwą. Odmowa praw do aktualizacji danych nie jest odpowiednia w kontekście modyfikacji struktury bazy. Z kolei opcja 'REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'' ponownie nie odnosi się do struktury bazy, ponieważ odnosi się do manipulacji danymi, nie do struktury. Kluczowym błędem w tym kontekście jest mylenie uprawnień związanych z danymi z uprawnieniami związanymi ze strukturą bazy danych. W zarządzaniu uprawnieniami w MySQL istotne jest zrozumienie różnicy pomiędzy tymi kategoriami, aby skutecznie zabezpieczyć bazę danych. W praktyce dobrym podejściem jest wdrożenie zasady minimalnych uprawnień, co zmniejsza ryzyko nieautoryzowanych zmian w strukturze i danych bazy.

Pytanie 20

Ile razy zostanie wykonana zaprezentowana pętla w języku PHP, zakładając, że zmienna sterująca nie jest zmieniana wewnątrz pętli?

 for ($i = 0; $i <= 10; $i++) {
    // kod pętli
}

A. 0
B. Nieskończenie wiele
C. 10
D. 11
Nieprawidłowe odpowiedzi mogą wynikać z kilku błędnych założeń dotyczących działania pętli for. Jednym z częstszych błędów jest myślenie, że pętla for będzie iterować tylko do wartości 10, co skutkuje odpowiedzią 10. W rzeczywistości jednak warunek '$i <= 10' oznacza, że wartość 10 także jest wliczana do całkowitej liczby iteracji, przez co pętla będzie wykonana 11 razy. Z kolei odpowiedź sugerująca nieskończoną liczbę iteracji może pojawić się u osób, które nie zauważają, że zmienna $i jest inkrementowana w każdej iteracji. Warto również wspomnieć, że w przypadku początkowej wartości zmiennej $i wynoszącej 0 oraz braku modyfikacji tej zmiennej wewnątrz pętli nie może wystąpić sytuacja, w której pętla nie kończy się, co prowadzi do błędnego wniosku o 0 iteracjach. Kluczowe jest zrozumienie, jak struktura pętli for działa i jakie warunki wpływają na liczbę jej iteracji. Świadomość tych zasad jest niezbędna do pisania efektywnego i poprawnego kodu w PHP oraz innych językach programowania.

Pytanie 21

Zgodnie z zasadami ACID dotyczącymi przeprowadzania transakcji wymóg izolacji (ang. isolation) wskazuje, że

A. gdy dwie transakcje działają równocześnie, to zazwyczaj nie dostrzegają zmian wprowadzanych przez siebie
B. w sytuacji konfliktu z inną transakcją obie zmieniają te same dane równocześnie
C. po zrealizowaniu transakcji system bazy danych będzie zgodny
D. pod określonymi warunkami dane modyfikowane przez transakcję mogą być cofnięte
Izolacja (ang. isolation) jest jednym z kluczowych elementów właściwości ACID, które zapewniają niezawodność transakcji w systemach baz danych. Oznacza ona, że kiedy dwie lub więcej transakcji są wykonywane równolegle, nie powinny one wzajemnie wpływać na swoje wyniki. W praktyce oznacza to, że zmiany wprowadzone przez jedną transakcję nie są widoczne dla innych transakcji, dopóki nie zostaną one zatwierdzone (ang. commit). Przykładem może być sytuacja, w której jedna transakcja aktualizuje stan konta użytkownika, a druga transakcja odczytuje saldo tego konta. Dzięki właściwości izolacji, druga transakcja nie zobaczy zmian wprowadzonych przez pierwszą, co zapobiega niepożądanym efektom, takim jak odczytanie nieaktualnych danych. W praktycznych rozwiązaniach, takich jak bazy danych współczesnych systemów informatycznych, często stosuje się różne poziomy izolacji, takie jak Read Uncommitted, Read Committed, Repeatable Read czy Serializable, które pozwalają na dostosowanie stopnia izolacji do specyficznych wymagań aplikacji. Właściwe skonfigurowanie poziomu izolacji ma kluczowe znaczenie dla zachowania integralności danych oraz wydajności systemu.

Pytanie 22

Metainformacja "Description" zawarta w pliku HTML powinna zawierać ``````

A. listę kluczowych fraz używanych przez wyszukiwarki internetowe
B. informację o autorze strony
C. nazwę aplikacji, w której stworzono stronę
D. opis zawartości strony
Wybór niepoprawnych odpowiedzi wskazuje na nieporozumienie dotyczące funkcji metainformacji 'Description'. Informacja o autorze strony nie jest ujęta w tej sekcji; zamiast tego, powinna być umieszczona w metatagach takich jak 'author', które podają dane o osobie lub organizacji odpowiedzialnej za stronę. Wyszukiwarki nie korzystają z tej informacji przy indeksowaniu treści, co czyni ją nieistotną dla opisu strony. Również wykazy kluczowe, takie jak metatagi 'keywords', stały się przestarzałe w kontekście SEO; dzisiejsze algorytmy wyszukiwarek skupiają się na głębszym zrozumieniu treści, a nie na prostym wskaźniku słów kluczowych. Ostatnią kwestią jest nazwa programu, przy użyciu którego strona została stworzona. Tego rodzaju informacja jest zbędna i nie wpływa na zawartość strony ani jej ocenę w wyszukiwarkach. W praktyce, metainformacja 'Description' powinna jasno przedstawiać, co użytkownik znajdzie na stronie, a nie zawierać danych o autorze, słowach kluczowych czy narzędziach użytych do jej stworzenia.

Pytanie 23

Zawarty kod PHP nawiązuje połączenie z serwerem bazy danych. Jakie działania powinny być umieszczone w instrukcji warunkowej w miejscu trzech kropek?

A. Zamknięcie połączenia z bazą danych
B. Obsługa danych uzyskanych z bazy
C. Obsługa błędu połączenia
D. Informacja o udanym połączeniu z bazą
Zamknięcie bazy danych w kontekście nieudanego połączenia jest koncepcją, która nie ma sensu. Jeśli połączenie się nie uda, to nie ma nawet nawiązanej sesji, która mogłaby być zamknięta. Połączenie z bazą danych powinno być zamykane tylko w momencie, gdy zostało nawiązane i jest już niepotrzebne, a nie w przypadku, gdy wystąpił błąd w trakcie łączenia. Komunikat o pomyślnym połączeniu także nie ma zastosowania w tej sytuacji, ponieważ, skoro połączenie się nie udało, nie ma podstaw do informowania użytkownika o jego powodzeniu. Obsługa danych pobranych z bazy również nie ma miejsca, jeśli połączenie nie zostało ustanowione, co czyni te odpowiedzi błędnymi. Właściwe podejście w takich sytuacjach to zawsze najpierw sprawdzenie, czy połączenie zostało nawiązane, a następnie działania w przypadku usunięcia błędu. Ignorowanie tej zasady może prowadzić do nieprzewidzianych zachowań aplikacji, a nawet do wycieków danych lub awarii serwerów.

Pytanie 24

Formatem plików graficznych rastrowych z bezstratną kompresją jest

A. PNG
B. CDR
C. SVG
D. JNG
JNG (JPEG Network Graphics) to format zapisu obrazów zaprojektowany jako rozwinięcie formatu JPEG. Chociaż oferuje możliwość kompresji bezstratnej, jego zastosowanie jest ograniczone, a wsparcie w przeglądarkach internetowych jest niemal nieistniejące. JNG nie jest powszechnie akceptowany w aplikacjach graficznych, co sprawia, że nie jest popularnym wyborem dla projektów wymagających wysokiej jakości wizualnej. CDR to format plików stworzony przez CorelDRAW, który jest używany głównie do grafiki wektorowej, a nie rastrowej. Chociaż może zawierać obrazy rastrowe, jego głównym przeznaczeniem jest przechowywanie danych wektorowych, co czyni go nieodpowiednim formatem do przechowywania obrazów z kompresją bezstratną. CDR nie obsługuje również standardu kompresji bezstratnej, co negatywnie wpływa na jakość obrazu. SVG (Scalable Vector Graphics) to format oparty na XML, który służy do opisu grafiki wektorowej, a nie rastrowej. Mimo że SVG obsługuje przezroczystość i jest wszechstronny w kontekście zastosowań webowych, to nie jest formatem bezstratnym dla obrazów rastrowych, ponieważ jest z definicji przeznaczony do grafiki wektorowej. Jego działanie różni się znacząco od PNG, gdyż SVG nie kompresuje obrazów rastrowych, a zamiast tego korzysta z opisów wektorowych, co sprawia, że nie jest odpowiedni do kompresji bezstratnej obrazów rastrowych.

Pytanie 25

Ustalenie w języku CSS wartości background-attachment: scroll oznacza, że

A. obrazek tła będzie się powtarzać (kafelki)
B. tło witryny będzie przesuwane wraz z przewijaniem strony
C. obraz tła pojawi się w prawym górnym rogu witryny
D. tło witryny pozostanie nieruchome i nie będzie się przesuwać podczas przewijania strony
Odpowiedź 2 jest poprawna, ponieważ zdefiniowana przez właściwość CSS 'background-attachment: scroll' oznacza, że tło strony przewija się razem z zawartością strony. W praktyce oznacza to, że gdy użytkownik przewija stronę w dół lub w górę, tło porusza się w tym samym kierunku, co inne elementy na stronie. Ta właściwość jest szczególnie przydatna w sytuacjach, kiedy chcemy, aby tło było bardziej zintegrowane z treścią, dając bardziej dynamiczny efekt wizualny. Zastosowanie 'scroll' jest zgodne z zachowaniem większości stron internetowych, gdzie tło i zawartość poruszają się synchronizacyjnie. Dobrym przykładem może być użycie tła w postaci gradientu lub subtelnego obrazu, który nie odwraca uwagi od treści, a jednocześnie wprowadza estetyczny element do projektu. Warto pamiętać, że w przypadku większych projektów, właściwość ta powinna być używana z rozwagą, aby uniknąć nieczytelności tekstu na tle lub nadmiernego rozpraszania uwagi użytkowników. Dobrą praktyką jest również testowanie różnych ustawień tła na różnych urządzeniach, aby zapewnić spójne doświadczenie użytkownika.

Pytanie 26

Jakie wyrażenie w języku JavaScript określa komentarz jednoliniowy?

A. ?
B. #
C. //
D. /*
Odpowiedź '//', stosowana w języku JavaScript, jest poprawnym zapisem komentarza jednoliniowego. Komentarze jednowierszowe rozpoczynają się od podwójnego ukośnika, co oznacza, że wszystko, co znajduje się po tym znaku w danym wierszu, jest ignorowane przez interpreter. Używanie komentarzy jest kluczowe w procesie programowania, ponieważ pozwala na dodawanie notatek, które mogą wyjaśniać logikę kodu lub przypominać o jego funkcji innym programistom oraz przyszłemu ja. Na przykład, jeśli mamy kod odpowiedzialny za obliczenia, można dodać komentarz wyjaśniający, co dokładnie robi dany blok kodu, co ułatwia utrzymanie kodu i jego późniejsze modyfikacje. Komentarze są niezwykle ważne w kontekście dobrych praktyk programistycznych, takich jak DRY (Don't Repeat Yourself) oraz KISS (Keep It Simple, Stupid), pomagając w utrzymaniu przejrzystości i czytelności kodu. Standardy ECMAScript, na których oparty jest JavaScript, jasno definiują sposób użycia komentarzy, co czyni ich stosowanie nie tylko praktyką, ale również zgodnością z normami branżowymi.

Pytanie 27

Co oznacza jednostka ppi (pixels per inch)?

A. określa rozdzielczość obrazów rastrowych
B.
C. jest parametrem określającym rozdzielczość cyfrowych urządzeń wykonujących pomiary
D. określa rozdzielczości obrazów generowanych przez drukarki i plotery
Ppi, czyli pixels per inch, jest jednostką miary służącą do określania rozdzielczości obrazów rastrowych. W praktyce oznacza to, ile pikseli znajduje się na cal w obrazie. Wysoka wartość ppi wskazuje na dużą gęstość pikseli, co prowadzi do wyższej jakości obrazu, zwłaszcza w kontekście druku. Na przykład, obrazy o rozdzielczości 300 ppi są standardem w profesjonalnym druku fotograficznym, ponieważ zapewniają szczegółowość i ostrość, której oczekują klienci. W kontekście cyfrowym, ppi odgrywa kluczową rolę w określaniu jakości wyświetlania na ekranach komputerów, tabletów i smartfonów. Wartości ppi są również ważne przy projektowaniu grafiki, ponieważ różne media wymagają różnych gęstości pikseli dla optymalnej jakości. Standardy takie jak Adobe RGB czy sRGB mogą mieć różne zalecenia dotyczące ppi, co podkreśla znaczenie tej jednostki w branży kreatywnej.

Pytanie 28

W języku C do przedstawiania liczb zmiennoprzecinkowych używa się typu

A. int
B. double
C. bool
D. char
Typ `double` w języku C jest przeznaczony do reprezentacji liczb zmiennoprzecinkowych, co oznacza, że może on przechowywać zarówno liczby całkowite, jak i liczby z częścią dziesiętną. Jest on bardziej precyzyjny niż typ `float`, ponieważ zapewnia większy zakres wartości oraz dokładność, co jest kluczowe w zastosowaniach inżynieryjnych, naukowych oraz w obliczeniach finansowych. Przykładowo, w obliczeniach, które wymagają reprezentacji wartości takich jak 3.14159 (pi) lub 0.1, typ `double` pozwala na uniknięcie wielu problemów związanych z zaokrągleniami i precyzją. Standard C99 definiuje rozmiar dla typu `double` jako przynajmniej 64 bity, co oznacza, że może on przechowywać liczby o bardzo dużych lub bardzo małych wartościach, co jest istotne w kontekście obliczeń numerycznych. W praktyce programiści często używają `double` do obliczeń naukowych, a także w grafice komputerowej, gdzie precyzyjne ustalenie położenia punktów w przestrzeni jest niezbędne.

Pytanie 29

Tworząc tabelę produkty, należy dodać pole cena, które będzie odzwierciedlać koszt produktu. Jaki typ powinno mieć to pole?

A. DECIMAL(10, 2)
B. TINYTEXT
C. ENUM
D. INTEGER(11)
Wybór typów ENUM, INTEGER(11) i TINYTEXT dla pola przechowującego cenę produktu może prowadzić do istotnych problemów. ENUM to typ danych, który przechowuje zestaw z góry określonych wartości. Jest to użyteczne dla ograniczonego zestawu opcji, np. dla koloru lub statusu, ale nie nadaje się do przechowywania wartości liczbowych, takich jak ceny, które mogą być zmienne i nieprzewidywalne. Z kolei typ INTEGER(11) przechowuje jedynie liczby całkowite, co oznacza, że nie będzie w stanie reprezentować wartości z miejscami po przecinku. Cena zamówienia 19,99 PLN nie mogłaby być poprawnie zarejestrowana, co byłoby nieakceptowalne w kontekście aplikacji finansowych. TINYTEXT to typ przechowujący tekst, co w kontekście cen jest absolutnie nieodpowiednie, ponieważ nie zapewnia możliwości przechowywania wartości liczbowych, a także nie pozwala na wykonywanie kalkulacji arytmetycznych. Stąd wynika, że wybór tych typów jest oparty na nieporozumieniach dotyczących ich funkcjonalności i zastosowania, co może skutkować nieprawidłowym działaniem aplikacji oraz błędami w obliczeniach. Aby uniknąć takich błędów, ważne jest, by dobrze rozumieć, jakie typy danych są odpowiednie dla określonych zastosowań, a także znać zasady dobrego projektowania baz danych, które skupiają się na precyzyjnej reprezentacji danych oraz ich odpowiednim typie.

Pytanie 30

Który z protokołów umożliwia publikację strony internetowej na serwerze?

A. SMTP
B. FTP
C. ICMP
D. NNTP
FTP, czyli File Transfer Protocol, to taki standard, który pozwala na przesyłanie plików między komputerami w sieci. Jest to dość ważne, bo bez FTP nie moglibyśmy publikować stron w internecie. Dzięki temu protokołowi można wysyłać różne pliki, jak HTML, CSS, JavaScript czy nawet grafiki i filmy, na serwery WWW. Z perspektywy praktycznej, to przy publikacji nowej strony wchodzi w grę użycie klienta FTP, na przykład FileZilla. Łączysz się z serwerem, logujesz się swoimi danymi i przesyłasz pliki do odpowiednich folderów. No i nie zapomnij o portach - standardowy port dla FTP to 21. A jeśli zależy Ci na bezpieczeństwie, warto pomyśleć o SFTP albo FTPS, bo to też istotne w kontekście ochrony danych. Jak dla mnie, dobrze jest znać te praktyki, żeby nie martwić się o swoje pliki podczas przesyłania.

Pytanie 31

Które z poniższych stwierdzeń najlepiej charakteryzuje klasę Owoc zdefiniowaną w języku PHP, która jest pokazana w kodzie?

A. Zawiera dwa pola i jedną metodę, a pole nazwa ma zasięg widzialności ograniczony wyłącznie do metod klasy
B. Zawiera jedno pole i dwie metody, z których jedna ma ograniczony zasięg prywatny
C. Zawiera dwa pola oraz jeden konstruktor, obie pola mają zasięg widzialności ograniczony wyłącznie do metod klasy
D. Zawiera dwa pola i jedną metodę, a pole kolor ma zasięg widzialności ograniczony wyłącznie do metod klasy
Klasa Owoc rzeczywiście ma dwa pola: publiczne pole nazwa oraz prywatne pole kolor. Widoczność pola kolor ogranicza się do wnętrza klasy, co oznacza, że nie może być ono bezpośrednio dostępne z zewnątrz. Metoda set_nazwa jest jedyną zdefiniowaną metodą, która umożliwia modyfikację wartości pola nazwa. Przykładowo, można stworzyć nowy obiekt klasy Owoc i ustawić jego nazwę za pomocą tej metody: $owoc = new Owoc(); $owoc->set_nazwa('Jabłko');. Takie podejście ilustruje zasadę enkapsulacji, która jest jedną z podstaw programowania obiektowego, gdzie dane obiektu są chronione i dostępne tylko poprzez metody, co zwiększa bezpieczeństwo i integralność danych. Dobrą praktyką jest również stosowanie metod get i set do zarządzania wartościami pól, co ułatwia kontrolowanie dostępu i weryfikację danych.

Pytanie 32

Aby ułatwić dodawanie oraz modyfikowanie danych w tabeli, konieczne jest zdefiniowanie

A. filtru.
B. zapytania SELECT.
C. formularza.
D. sprawozdania.
Formularz jest istotnym narzędziem w bazach danych, które umożliwia użytkownikom łatwe wprowadzanie oraz edytowanie danych. Zapewnia on przejrzysty interfejs, który jest bardziej przyjazny dla użytkownika niż bezpośrednia interakcja z tabelą. Tworząc formularz, można dostosować pola do specyficznych danych, co pozwala na walidację wprowadzanych informacji oraz ich formatowanie, co czyni proces bardziej intuicyjnym. Na przykład, formularze mogą zawierać różne typy pól, takie jak pola tekstowe, rozwijane listy czy przyciski wyboru, co zwiększa elastyczność w wprowadzaniu danych. Ponadto, formularze mogą być powiązane z odpowiednimi tabelami w bazie danych, co umożliwia automatyczne przetwarzanie danych po ich wprowadzeniu. Dzięki zastosowaniu formularzy, organizacje mogą znacznie przyspieszyć proces zbierania danych oraz zminimalizować błędy, co jest szczególnie istotne w środowiskach wymagających dużej precyzji i efektywności. Programy takie jak Microsoft Access czy Google Forms oferują możliwości tworzenia formularzy, które są zgodne z najlepszymi praktykami w zakresie zbierania danych.

Pytanie 33

Aby za pomocą instrukcji SELECT uzyskać listę nazwisk osób mieszkających na osiedlu, przy czym nazwiska te nie mogą się powtarzać, należy sformułować zapytanie w następujący sposób

A. SELECT nazwisko FROM mieszkancy ORDER BY nazwisko
B. SELECT TOP 10 nazwisko FROM mieszkancy
C. SELECT DISTINCT nazwisko FROM mieszkancy
D. SELECT AVG(nazwisko) FROM mieszkancy
Odpowiedź "SELECT DISTINCT nazwisko FROM mieszkancy;" jest prawidłowa, ponieważ użycie klauzuli DISTINCT pozwala na wyświetlenie unikalnych wartości z kolumny 'nazwisko', eliminując wszelkie duplikaty. W praktyce jest to niezwykle przydatne, gdyż często zdarza się, że w bazach danych ta sama informacja może być wprowadzana wielokrotnie, co prowadzi do nieczytelnych raportów. Dzięki zastosowaniu klauzuli DISTINCT, możemy uzyskać czysty i zrozumiały zbiór danych, co jest zgodne z najlepszymi praktykami w analizie danych. Na przykład, w sytuacji, gdy chcemy uzyskać listę wszystkich nazwisk mieszkańców danego osiedla, DISTINCT pozwala na oszczędność czasu w późniejszej obróbce danych, eliminując potrzebę ręcznej filtracji wyników. Zastosowanie DISTINCT jest również standardem w wielu zapytaniach SQL, co czyni tę technikę fundamentalną w efektywnym zarządzaniu bazami danych oraz analizy informacji. Warto dodać, że klauzula DISTINCT może być używana z różnymi rodzajami danych, co pozwala na jej wszechstronność.

Pytanie 34

Używając polecenia BACKUP LOG w MS SQL Server, można

A. połączyć się z kopią zapasową
B. wykonać całkowitą kopię zapasową
C. wykonać kopię zapasową dziennika transakcji
D. przeglądać komunikaty wygenerowane w trakcie tworzenia kopii
Pierwsza odpowiedź sugeruje, że polecenie BACKUP LOG może być użyte do wykonania pełnej kopii bezpieczeństwa bazy danych. W rzeczywistości, pełna kopia bezpieczeństwa jest realizowana za pomocą polecenia BACKUP DATABASE, które zgrywa całą bazę danych, w tym wszystkie obiekty i dane. BACKUP LOG dotyczy jedynie dziennika transakcyjnego, co oznacza, że nie jest to odpowiednia odpowiedź. Druga odpowiedź sugeruje, że można zalogować się do kopii bezpieczeństwa, co jest konceptualnie niepoprawne. Kopie zapasowe są plikami, które można przywrócić, ale nie oferują bezpośredniego dostępu do bazy danych. Użytkownik nie może zalogować się do backupu, dopóki nie zostanie przywrócony do instancji SQL Server. Wreszcie, trzecia odpowiedź sugeruje, że BACKUP LOG pozwala na przeczytanie komunikatów wygenerowanych podczas tworzenia kopii. W rzeczywistości, przy tworzeniu kopii zapasowych, komunikaty są rejestrowane w logach serwera, a polecenie BACKUP LOG nie służy do ich przeglądania. Można je jednak monitorować przy pomocy narzędzi do zarządzania SQL Server lub poprzez odpowiednie zapytania do systemowych tabel logów. Dlatego wszystkie te odpowiedzi są błędne w kontekście polecenia BACKUP LOG.

Pytanie 35

Na ilustracji przedstawiono związek jeden do wielu. Łączy on

Ilustracja do pytania
A. klucz podstawowy id w tabeli z kluczem obcym rezyserzy_id w tabeli rezyserzy
B. klucz obcy rezyserzy_id w tabeli filmy z kluczem obcym id w tabeli rezyserzy
C. klucz podstawowy id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
D. klucz obcy rezyserzy_id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
Zrozumienie relacji między tabelami w bazach danych jest kluczowe dla efektywnego projektowania systemów opartych na danych. Relacja jeden do wielu oznacza, że jeden rekord w jednej tabeli może być związany z wieloma rekordami w innej. W kontekście tego pytania, kluczowym aspektem jest zrozumienie poprawnego powiązania kluczy. Pierwsze błędne podejście zakłada, że klucz podstawowy tabeli może być bezpośrednio związany z innym kluczem podstawowym. W rzeczywistości, takie połączenie nie tworzy relacji jeden do wielu, a raczej jeden do jednego, jeśli byłoby to możliwe. Drugie podejście sugeruje powiązanie dwóch kluczy obcych, co również jest niepoprawne, gdyż klucze obce wskazują na klucze podstawowe w celu zrozumienia struktury hierarchicznej. Kolejny błąd to powiązanie klucza podstawowego z kluczem podstawowym innej tabeli, co nie odzwierciedla rzeczywistej relacji między danymi w kontekście relacji jeden do wielu. Najczęstszym błędem w myśleniu jest niezrozumienie roli kluczy obcych, które są krytyczne dla tworzenia relacji jeden do wielu, ponieważ umożliwiają one nawiązywanie połączeń między różnymi tabelami przez wskazywanie unikalnych identyfikatorów w tabelach nadrzędnych. Zrozumienie i stosowanie tych zasad jest niezbędne dla profesjonalnego projektowania baz danych i zapewnienia ich integralności i spójności danych.

Pytanie 36

Jakiego znacznika używamy do definiowania list w HTML?

A.
    B.
    C.
    D.
      to znacznik w języku HTML, który definiuje nienumerowaną listę, co czyni go kluczowym elementem do strukturyzacji zawartości w dokumentach. Użycie
        pozwala na grupowanie powiązanych elementów, co zwiększa czytelność i dostępność treści. Zgodnie z zasadami semantycznego HTML, stosowanie list poprawia organizację informacji i ułatwia ich przetwarzanie przez maszyny, w tym wyszukiwarki internetowe. Przykład zastosowania: w sekcji strony internetowej przedstawiającej cechy produktu możemy użyć
          do wypisania jego zalet. Dobrym zwyczajem jest także dodawanie odpowiednich znaczników
        • dla poszczególnych elementów listy. Przykład:
          • Zaleta 1
          • Zaleta 2
          . Dzięki temu tworzony jest bardziej przejrzysty i strukturalny układ treści, co przekłada się na lepsze doświadczenia użytkownika oraz spełnia standardy W3C dotyczące semantyki HTML.

    Pytanie 37

    Jakiego protokołu należy użyć do przesyłania plików witryny internetowej na serwer hostingowy?

    A. FTP
    B. SMTP
    C. HTTP
    D. IRC
    Protokół FTP (File Transfer Protocol) jest standardowym rozwiązaniem służącym do transferu plików pomiędzy komputerami w sieci. Dzięki FTP użytkownicy mogą przesyłać pliki na serwer hostingowy, co jest kluczowym krokiem w procesie publikacji stron internetowych. Protokoły FTP działają w oparciu o model klient-serwer, gdzie klient łączy się z serwerem, aby przesłać lub pobrać dane. Przykładem praktycznego wykorzystania FTP jest wgrywanie plików HTML, CSS, obrazków oraz innych zasobów potrzebnych do działania strony. Warto również zwrócić uwagę na to, że FTP może działać w trybie pasywnym lub aktywnym, co jest istotne w kontekście zapory sieciowej i konfiguracji sieci. Istnieją również inne protokoły, takie jak SFTP (Secure File Transfer Protocol), które oferują dodatkowe zabezpieczenia, co czyni je preferowanym wyborem w sytuacjach, gdy bezpieczeństwo danych jest priorytetem. W praktyce, FTP jest szeroko stosowany w branży web developmentu, a znajomość tego protokołu jest niezbędna dla każdego, kto zajmuje się tworzeniem i zarządzaniem stronami internetowymi.

    Pytanie 38

    W języku JavaScript zapis ```x = przedmiot.nazwa();``` oznacza, że

    A. nazwa jest polem klasy przedmiot.
    B. zmienna x będzie przechowywać wynik działania metody nazwa.
    C. nazwa jest właściwością obiektu przedmiot.
    D. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
    Twoja odpowiedź jest niepoprawna. Wybierając opcję, że 'nazwa jest właściwością obiektu przedmiot' możesz mylić funkcje i właściwości. Właściwości to wartości przechowywane w obiekcie, natomiast metody to funkcje związane z obiektem. Jeśli zapis jest w formie 'przedmiot.nazwa();', to 'nazwa' jest metodą, a nie właściwością obiektu. Druga niepoprawna odpowiedź, 'nazwa jest polem klasy przedmiot', sugeruje, że JavaScript jest językiem typu klasowego, jak Java czy C#. W rzeczywistości, JavaScript jest językiem prototypowym, co oznacza, że nie ma klas. Zamiast tego, obiekty dziedziczą bezpośrednio od innych obiektów. Ostatnia niepoprawna odpowiedź, 'zmienna x będzie przechowywać wynik działania funkcji przedmiot', prawdopodobnie wynika z niezrozumienia różnicy między metodami a wolno stojącymi funkcjami. W JavaScript, funkcje są 'wolno stojące', co oznacza, że nie są związane z żadnym obiektem, podczas gdy metody są funkcjami zdefiniowanymi na obiekcie.

    Pytanie 39

    W języku PHP użyto funkcji is_int). Które z wymienionych wywołań tej funkcji zwróci wartość TRUE?

    A. is_int(13.5)
    B. is_int("135")
    C. is_int(135)
    D. is_int(NULL)
    Funkcje is_int w PHP są pomocne w określaniu, czy dana zmienna jest typu całkowitego, co jest szczególnie istotne w kontekście przetwarzania danych. Często spotykaną pomyłką jest przyjmowanie założenia, że wartości przekazane w postaci tekstowej, takie jak "135", są traktowane jako liczby całkowite. W rzeczywistości, gdy do funkcji is_int przekazujemy string, nawet jeśli zawiera on liczbę, PHP interpretuje tę wartość jako tekst, co skutkuje zwróceniem FALSE. Podobnie jest w przypadku NULL; is_int(NULL) również zwraca FALSE, ponieważ NULL nie jest liczbą, lecz specjalną wartością oznaczającą brak wartości. Innym częstym błędem myślowym jest mylenie typów danych w kontekście zmiennoprzecinkowym. Wartość 13.5 jest liczbą zmiennoprzecinkową, a nie całkowitą, dlatego is_int(13.5) również zwróci FALSE. Warto zdawać sobie sprawę, że PHP jest językiem o systemie typów dynamicznych, co oznacza, że typy danych mogą się zmieniać w trakcie wykonywania programu. Dlatego, aby uniknąć błędów, zaleca się stosowanie funkcji walidacyjnych, takich jak is_int, przed wykonaniem operacji, które są uzależnione od określonego typu zmiennej. Dbanie o poprawną walidację danych jest fundamentalnym krokiem w tworzeniu bezpiecznych i stabilnych aplikacji.

    Pytanie 40

    Zawartość kodu w języku HTML umieszczona w ramce ilustruje zestaw

    <ol>
    <li>Pierwszy</li>
    <li>Drugi</li>
    <li>Trzeci</li>
    </ol>

    A. wypunktowanej
    B. numerowanej
    C. skróconych
    D. linków
    Fragment kodu HTML używa tagu
      co oznacza listę numerowaną. Tag
        jest skrótem od ordered list i jest używany do tworzenia listy elementów, które są automatycznie numerowane przez przeglądarkę. Wewnątrz tego tagu znajdują się tagi
      1. , które oznaczają poszczególne elementy listy. Każdy z tych elementów będzie wyświetlany z kolejnym numerem w przeglądarce internetowej. Na przykład w przypadku zamieszczonego kodu HTML przeglądarka wyświetli listę z numerami 1 2 3 przed elementami Pierwszy Drugi Trzeci. Listy numerowane są użyteczne w sytuacjach gdy ważna jest kolejność elementów na przykład w instrukcjach krok po kroku lub rankingach. Tworzenie list numerowanych z użyciem
          jest zgodne ze standardami HTML i jest dobrym rozwiązaniem gdyż pozwala na łatwe zarządzanie kolejnością elementów bez konieczności ręcznego numerowania co redukuje ryzyko błędów i automatycznie aktualizuje numerację w przypadku dodania bądź usunięcia elementów z listy.