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 2026 19:46
  • Data zakończenia: 12 maja 2026 20:03

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

W SQL po wykonaniu zapytania ALTER TABLE osoba DROP COLUMN grupa; co się stanie?

A. kolumna grupa zostanie usunięta
B. kolumna grupa zostanie dodana
C. nazwa kolumny zmieni się na grupa
D. nazwa tabeli zmieni się na grupa
No więc dobrze trafiłeś. To zapytanie SQL ALTER TABLE osoba DROP COLUMN grupa; jest używane do usunięcia kolumny 'grupa' z tabeli 'osoba'. To polecenie jest częścią SQL, który służy do zmieniania struktury tabel. Usunięcie kolumny może być fajne, gdy już nie jest potrzebna, albo jeśli wprowadzasz jakieś zmiany w danych. Na przykład, może się zdarzyć, że kolumna 'grupa' ma dane, które są już nieaktualne, bo zmieniłeś sposób klasyfikacji. A tak w ogóle, dobrze jest przed taką operacją zrobić kopię zapasową danych, bo usunięcie kolumny to trwała zmiana. To podejście jest powszechnie wykorzystywane w zarządzaniu bazami danych oraz w procesach ETL, gdzie ważne jest, by dane były dobrze zorganizowane.

Pytanie 2

Znaczniki HTML <strong> oraz <em>, które mają na celu podkreślenie istotności tekstu, pod względem formatowania odpowiadają znacznikom

A. <b> oraz <i>
B. <b> oraz <u>
C. <u> oraz <sup>
D. <i> oraz <mark>
Znaczniki HTML <strong> oraz <em> mają kluczowe znaczenie w kontekście semantyki i formatowania tekstu w dokumentach HTML. Znacznik <strong> wskazuje na tekst o zwiększonej ważności, co jest zgodne z jego domyślnym formatowaniem, które w większości przeglądarek wyświetla tekst pogrubiony. Z kolei znacznik <em> sugeruje tekst, który powinien być akcentowany w odpowiedni sposób, a jego domyślne formatowanie to kursywa. W związku z tym, ich odpowiednikami pod względem formatowania są znaczniki <b> oraz <i>. Znacznik <b> służy do pogrubienia tekstu, ale nie niesie ze sobą żadnej dodatkowej semantyki, natomiast <i> używany jest do kursywy bez wskazania na ważność. W praktyce, należy używać <strong> i <em> tam, gdzie semantyka jest kluczowa dla zrozumienia treści, a dodatkowe znaczenie przekłada się na lepsze pozycjonowanie w wyszukiwarkach oraz dostępność dla osób korzystających z technologii asystujących. Ważne jest, by przestrzegać dobrych praktyk webowych i stosować znaczniki semantyczne, co pozwoli na efektywne przekazywanie informacji zarówno użytkownikom, jak i robotom indeksującym.

Pytanie 3

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

A. Tabele, które zmieniły się w obecnej sesji
B. Tylko te tabele, które nie mogły być poprawnie zakończone
C. Tabele, które uległy zmianie od ostatniej kontroli lub nie zostały poprawnie zamknięte
D. Wyłącznie tabele odnoszące się do innych
Wybór odpowiedzi dotyczącej jedynie tabel, które nie zostały poprawnie zamknięte, nie uwzględnia pełnego zakresu zastosowania polecenia CHECK TABLE. To podejście ignoruje ważny aspekt, jakim jest monitorowanie wszelkich zmian, które miały miejsce od ostatniej inspekcji. Tabele mogą być zmieniane przez różne operacje, zarówno podczas aktualizacji, jak i w wyniku nieprawidłowego zakończenia sesji, co czyni istotnym ich kontrolowanie w szerszym ujęciu. Z kolei odpowiedź sugerująca, że tylko tabele referujące do innych powinny być sprawdzane, jest myląca, ponieważ takie ograniczenie do współzależności między tabelami nie odzwierciedla rzeczywistej natury problemów z integralnością danych. W praktyce, wszystkie tabele w bazie danych mogą wpływać na siebie nawzajem, a problemy w jednej tabeli mogą prowadzić do błędów w innych. Takie myślenie może prowadzić do zaniedbania, które naraża system na uszkodzenia, a nawet utratę danych. Właściwe podejście do zarządzania bazami danych powinno opierać się na całościowym przeglądzie stanu tabel, a nie na selektywnym podejściu, co może przyczynić się do nieefektywności i ryzyka utraty danych. Dlatego też skupienie się tylko na jednym aspekcie, takim jak niewłaściwe zamknięcie, jest niewystarczające dla zapewnienia integralności systemu.

Pytanie 4

Formatowanie CSS dla akapitu określa styl szarej ramki z następującymi właściwościami:

p {
    padding: 15px;
    border: 2px dotted gray;
}
A. Linia kropkowa; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
B. Linia ciągła; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
C. Linia ciągła; grubość 2 px; odległości poza ramką 15 px
D. Linia kreskowa; grubość 2 px; odległości poza ramką 15 px
Analizując błędne odpowiedzi, kluczowe jest zrozumienie, jakie są podstawowe różnice między różnymi stylami ramki oraz ich właściwościami. Niepoprawne odpowiedzi często mylą typ linii ramki z jej grubością i zastosowaniem paddingu. Na przykład, przy styli 'solid' mówimy o linii ciągłej, a nie kropkowej, co jest istotną różnicą w kontekście estetyki i funkcji wizualnej. Grubość 2 px jest poprawna w niektórych odpowiedziach, ale problematyczne są inne elementy, takie jak zrozumienie pojęcia 'marginesu'. Marginesy różnią się od paddingu, ponieważ margines to przestrzeń zewnętrzna oddzielająca elementy od siebie, podczas gdy padding odnosi się do przestrzeni wewnętrznej. Odpowiedzi, które sugerują, że marginesy znajdują się pomiędzy tekstem a ramką, fałszywie interpretują, jak elementy są rozmieszczone na stronie. To prowadzi do mylnych wniosków, ponieważ w rzeczywistości marginesy zewnętrzne nie wpływają na bezpośrednią odległość tekstu od ramki, co może skutkować błędami w projektowaniu i implementacji stron. Zrozumienie tych różnic jest niezbędne dla efektywnego wykorzystania CSS i unikania typowych pułapek w projektach webowych.

Pytanie 5

Na tabeli muzyka, przedstawionej na rysunku, zostało wykonane następujące zapytanie SQL. Jaki wynik zwróci ta kwerenda?

SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzeslaw Niemen2005Przyjdz W Taka Noc itd.
2IkonaStan Borys2014
3AerolitCzeslaw Niemen2017Winylowa reedycja płyty „Aerolit”.
4JourneyMikolaj Czechowski2013
A. pusty wynik
B. Czeslaw
C. Czeslaw, Niemen
D. Czeslaw, Czechowski
Niepoprawna odpowiedź wynika ze złego zrozumienia, jak działa operator LIKE w zapytaniach SQL. Operator LIKE jest używany do porównania wartości z określonym wzorcem. W naszym przypadku, wzorzec to 'C%w', gdzie '%' oznacza dowolne zero lub więcej znaków. Czyli szukamy wykonawców, których nazwy zaczynają się na 'C' i kończą na 'w'. Błędne odpowiedzi sugerują, że niezrozumienie polega na tym, że '%w' miałoby oznaczać 'wszystkie nazwy kończące się na w', co nie jest prawdą. W rzeczywistości, '%w' oznacza 'dowolne znaki, po których następuje litera w'. Dlatego, żadne z podanych wykonawców nie spełnia tego kryterium, a wynik zapytania jest pusty. To ważne, aby zrozumieć, jak działają wzorce w SQL, gdyż są one bardzo użyteczne przy wyszukiwaniu danych w bazie.

Pytanie 6

W instrukcji warunkowej języka JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w zakresie (0, 100), a wartość zmiennej b jest większa od zera. Taki warunek można zapisać w sposób następujący

A. if ((a>0 && a<100) || b<0)
B. if ((a>0 || a<100) && b>0)
C. if (a>0 && a<100 && b>0)
D. if (a>0 || a<100 || b<0)
Wybór odpowiedzi 'if (a>0 && a<100 && b>0)' jest prawidłowy, ponieważ precyzyjnie spełnia określone wymagania zawarte w pytaniu. Warunek ten sprawdza, czy zmienna 'a' mieści się w przedziale od 0 do 100 (wyłączając 0 i 100), a także potwierdza, że zmienna 'b' jest większa od zera. Operator '&&' (AND) jest kluczowy w tym przypadku, ponieważ wymaga spełnienia wszystkich zdefiniowanych warunków jednocześnie. Przykładowo, jeśli mamy zmienne 'a' równe 50 i 'b' równe 10, to warunek zostanie spełniony i kod wewnątrz instrukcji 'if' zostanie wykonany. Zastosowanie takich warunków jest powszechne w programowaniu, zwłaszcza w sytuacjach wymagających walidacji danych, gdzie musimy upewnić się, że wszystkie kryteria są spełnione przed kontynuowaniem dalszych operacji. Standardy kodowania zalecają wykorzystanie prostych i jednoznacznych instrukcji warunkowych, co przyczynia się do lepszej przejrzystości i utrzymywalności kodu. Stosując odpowiednią logikę w warunkach, minimalizujemy ryzyko wystąpienia błędów w logice aplikacji.

Pytanie 7

Która z czynności nie wpłynie na objętość zajmowanej pamięci pliku graficznego?

A. Kompresja
B. Zmiana rozmiaru obrazu przy użyciu atrybutów HTML
C. Interpolacja
D. Modyfikacja rozdzielczości obrazu
Zmiana rozdzielczości obrazu, kompresja oraz interpolacja to techniki, które zdecydowanie wpływają na rozmiar pliku graficznego. Zmiana rozdzielczości obrazu polega na modyfikacji liczby pikseli w obrazie, co bezpośrednio wpływa na jego wagę. Im większa rozdzielczość, tym więcej danych jest przechowywanych, co skutkuje większym plikiem. W praktyce, jeśli zredukujemy rozdzielczość obrazu, jego rozmiar pliku również zmaleje, co może być przydatne w kontekście optymalizacji stron internetowych. Kompresja to kolejny kluczowy proces, który może znacznie wpłynąć na rozmiar pliku. Polega ona na zmniejszeniu ilości danych w pliku graficznym, co może być realizowane bez widocznej utraty jakości. Istnieją różne metody kompresji, takie jak JPEG, PNG czy WebP, z których każda ma swoje zastosowania w zależności od rodzaju obrazu i wymagań projektu. Interpolacja, z kolei, to technika stosowana podczas zmiany rozmiaru obrazów, która polega na obliczaniu nowych wartości pikseli na podstawie istniejących. W procesie tym może dojść do degradacji jakości obrazu, co w przypadku niewłaściwego zastosowania prowadzi do niepożądanych efektów wizualnych. Zrozumienie, jak te techniki wpływają na pliki graficzne, jest kluczowe dla każdego twórcy treści, który pragnie optymalizować swoje zasoby i zapewniać użytkownikom jak najlepsze doświadczenia podczas przeglądania stron internetowych.

Pytanie 8

Aby właściwie przystosować stronę internetową dla osób niewidomych, należy przypisać wyświetlanym za pomocą znacznika img obrazom atrybut

A. style
B. text
C. alt
D. src
Atrybut 'alt' w znaczniku <img> to naprawdę ważny element, jeśli chodzi o dostępność stron internetowych dla osób niewidomych. Głównie chodzi o to, żeby zapewnić opis obrazka, który mogą zrozumieć technologie asystujące, tak jak czytniki ekranu. Dzięki temu, osoby niewidome mają możliwość dowiedzieć się, co znajduje się na zdjęciu. Na przykład, jeśli mamy zdjęcie czerwonego swetra w sklepie internetowym, to warto wpisać coś takiego jak 'Czerwony sweter z wełny' w tym atrybucie. To też pomaga w SEO, bo wyszukiwarki lubią takie opisy. W skrócie, dobrze jest stosować atrybut 'alt' przy każdym obrazie, by każdy użytkownik mógł zrozumieć treść strony.

Pytanie 9

Algorytm przedstawiony dla tablicy n-elementowej t[n] ma na celu obliczenie sumy:

// K1
i = 0; wynik = 0;
// K2
while i < n do
// K3
wynik = wynik + t[i];
// K4
i = i + 2;
// K5
wypisz(wynik);
A. co drugi element tablicy.
B. wszystkie elementy tablicy.
C. elementów tablicy, których wartości są nieparzyste.
D. n-elementów tablicy.
To właśnie jest sedno tego algorytmu – on faktycznie sumuje co drugi element tablicy. Spójrz na ten fragment: „i = i + 2;”. To kluczowa linia! Po każdym dodaniu elementu do sumy, indeks zwiększa się o dwa, a nie o jeden, jak bywa w klasycznym przeglądaniu tablicy. W praktyce oznacza to, że najpierw bierzemy element t[0], potem t[2], potem t[4] i tak dalej, aż do końca tablicy. Taki sposób iteracji często spotyka się w zadaniach, gdzie zależy nam na analizie tylko parzystych indeksów, np. kiedy chcemy oddzielić wartości z pozycji parzystych od nieparzystych albo przy optymalizacjach związanych z przetwarzaniem dużych zbiorów danych. Co ciekawe, podobna konstrukcja pojawia się w algorytmach, gdzie trzeba obrobić strumień danych fragmentami, np. podczas przeglądania jednej połowy tablicy lub w algorytmach filtrujących sygnały. Z mojego doświadczenia wynika, że taki schemat jest nie tylko szybki, ale też czytelny dla innych programistów. Dobre praktyki zalecają zawsze wyraźnie pokazywać, które elementy są brane pod uwagę w pętli – tutaj jest to bardzo klarowne. Można byłoby to jeszcze rozwinąć, np. obsługując sytuacje, gdzie tablica ma nieparzystą liczbę elementów, ale generalnie, jeśli potrzebujesz sumy co drugiego elementu – taki algorytm jest idealny.

Pytanie 10

Jaką szerokość zaplanowano dla treści strony, bazując na podanej definicji CSS?

body {
  border: 2px;
  height: 600px;
  width: 560px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
A. 600 px
B. 2 px
C. 560 px
D. 640 px
Gratulacje, udzieliłeś poprawnej odpowiedzi. W definicji CSS dla elementu body, szerokość ustawiono na 560 px. Właściwość box-sizing: border-box, gwarantuje, że szerokość ta obejmuje również obramowanie. Dlatego, w praktyce, szerokość strony pozostawiona na treść wynosi 560 px. Wartości te są bardzo ważne przy projektowaniu stron internetowych, szczególnie przy tworzeniu responsywnych layoutów, gdzie musimy precyzyjnie kontrolować szerokość i rozmieszczenie elementów. Pamiętaj, że wykorzystanie odpowiednich jednostek i precyzyjne definiowanie wymiarów jest kluczowe dla zachowania poprawnej struktury strony. Dobrym nawykiem jest również stosowanie właściwości box-sizing: border-box, która ułatwia kontrolę nad rozmiarem elementów, zwłaszcza przy komplikowanych układach strony.

Pytanie 11

Element

<meta charset="utf-8">
definiuje metadane dotyczące strony internetowej, odnosząc się do
A. słów kluczowych
B. opisu witryny
C. języka witryny
D. kodowania znaków
Ten element <meta charset="utf-8"> jest naprawdę ważny w nagłówku stron HTML, bo to on mówi przeglądarkom, jak odczytywać znaki w Twoim dokumencie. Dzięki temu tekst wyświetla się poprawnie na różnych urządzeniach. UTF-8 jest najbardziej popularnym kodowaniem, bo obsługuje niemal wszystkie znaki z różnych języków, co sprawia, że Twoja strona może być bardziej uniwersalna. Na przykład, jeśli masz tekst po polsku, to użycie UTF-8 upewnia się, że takie znaki jak ą czy ć będą prawidłowo pokazane. Właśnie dlatego warto stosować UTF-8, bo to, co zaleca W3C, jest bardzo sensowne - chodzi przecież o to, żeby strona była dostępna dla każdego, niezależnie od tego, z jakiego języka korzysta.

Pytanie 12

Poniżej przedstawiono sposób obsługi:

<?php
if (!isset($_COOKIE[$nazwa]))
    echo "nie ustawiono!";
else
    echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. zmiennych tekstowych
B. baz danych
C. ciasteczek
D. sesji
Kod PHP przedstawiony w pytaniu ilustruje użycie mechanizmu ciasteczek w przeglądarce. Ciasteczka to małe pliki tekstowe, które serwer umieszcza na komputerze użytkownika, aby przechowywać informacje między sesjami HTTP. W tym przypadku kod sprawdza, czy zmienna o nazwie $nazwa jest ustawiona w tablicy superglobalnej $_COOKIE. Jeśli ciasteczko o danej nazwie nie zostało ustawione, skrypt zwraca komunikat 'nie ustawiono!'. Gdy ciasteczko istnieje, wyświetlana jest jego wartość. Ciasteczka są powszechnie stosowane do śledzenia sesji użytkowników, przechowywania preferencji czy zachowania stanu zalogowania. Ważnym aspektem jest zrozumienie, że ciasteczka działają po stronie klienta i mogą być modyfikowane przez użytkownika, dlatego powinny być używane z ostrożnością i w połączeniu z innymi mechanizmami zabezpieczeń. Warto pamiętać, że ciasteczka mają ograniczenia co do wielkości i liczby, które mogą być przechowywane przez przeglądarkę. Implementacja ciasteczek powinna być zgodna z regulacjami dotyczącymi prywatności, takimi jak RODO, które nakładają obowiązek informowania użytkowników o ich używaniu oraz uzyskiwania zgody.

Pytanie 13

Który efekt został zaprezentowany na filmie?

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

Pytanie 14

Jaką instrukcję algorytmu ilustruje graficzna prezentacja bloku na zamieszczonym rysunku?

Ilustracja do pytania
A. n > 20
B. Wykonaj podprogram sortowania tablicy t
C. Wypisz n
D. n ← n + 5
Każda z niepoprawnych odpowiedzi wynika z błędnego rozpoznania typów bloków w diagramach przepływu. Instrukcje przypisania, takie jak n ← n + 5, są reprezentowane prostokątem i oznaczają operacje przetwarzania danych, gdzie zmienna jest modyfikowana zgodnie z określoną logiką. Ta operacja głównie pojawia się w kontekście pętli lub jako część większej sekwencji działań obliczeniowych, co jest użyteczne w algorytmach obliczeniowych i matematycznych, gdzie często modyfikujemy wartość zmiennych. Kolejny typ instrukcji, taki jak Wypisz n, jest reprezentowany przez blok wyjścia, który jest używany do komunikacji wyników algorytmu na zewnątrz. Jest to częste w raportowaniu lub debugowaniu programów, gdzie wynikiem działania algorytmu jest wyświetlenie informacji użytkownikowi. Podprogramy, takie jak sortowanie tablicy, oznaczają bloki procesów, które są reprezentowane prostokątem z podwójnymi liniami bocznymi i wskazują na wywołanie funkcji lub procedury. Takie konstrukcje są kluczowe w strukturalnym programowaniu, gdzie zadania są dekomponowane na mniejsze, zarządzalne jednostki, co prowadzi do lepszego zrozumienia i utrzymania kodu. Błędne rozpoznanie tych bloków prowadzi do nieprawidłowego zrozumienia struktury algorytmu, co może skutkować jego nieefektywnością lub błędami logicznymi w jego działaniu. Zrozumienie różnic między tymi blokami jest niezbędne do prawidłowego projektowania i implementacji algorytmów, co jest podstawą w wielu dziedzinach informatyki, takich jak inżynieria oprogramowania czy analiza danych. Dzięki temu można tworzyć efektywne i zrozumiałe rozwiązania, które spełniają wymagania użytkowników i normy branżowe.

Pytanie 15

Podczas zapisywania hasła użytkownika w serwisie WWW, na przykład w bankowości internetowej, aby zabezpieczyć je przed odczytaniem, zazwyczaj stosuje się funkcję

A. klucza
B. cyklometrycznych
C. mieszających
D. abstrakcyjnych
Użycie klucza do zabezpieczania haseł użytkowników jest standardową praktyką w dziedzinie bezpieczeństwa informatycznego. Klucz, który może być generowany na podstawie hasła lub stanowić odrębny, losowy ciąg znaków, jest stosowany w procesach szyfrowania. Dzięki temu, nawet jeśli dane hasło zostanie przechwycone, bez klucza nie jest możliwe jego odczytanie. W praktyce powszechnie wykorzystuje się algorytmy kryptograficzne, takie jak AES (Advanced Encryption Standard), które wymagają kluczy do szyfrowania i deszyfrowania informacji. W kontekście hasła użytkownika, stosuje się także techniki takie jak hashowanie, gdzie dane są przekształcane w unikalny skrót. Przykładem jest funkcja bcrypt, która nie tylko przechowuje hasło, ale i dodaje sól, co dodatkowo utrudnia ataki słownikowe. Takie podejście do zarządzania hasłami jest zgodne z najlepszymi praktykami, jak OWASP Password Storage Cheat Sheet, która zaleca unikanie przechowywania haseł w formie czystego tekstu oraz stosowanie silnych algorytmów kryptograficznych.

Pytanie 16

W języku PHP zmienna $a została przypisana do wartości 1. Wyrażenie $a === $b będzie miało wartość true, gdy zmienna $b będzie ustawiona na wartość

A. *1
B. 1 lub '1'
C. "1" lub '1'
D. '1'
Odpowiedzi, które sugerują różne typy danych, takie jak '1', 1 lub '1', oraz \"1\" lub '1', mogą prowadzić do nieporozumień wynikających z niepełnego rozumienia operatorów porównania w PHP. W przypadku operatora porównania identyczności (===), ważne jest, aby zarówno wartość, jak i typ zmiennej były zgodne. Porównanie 1 (liczba całkowita) z '1' (łańcuch znaków) zwróci false, ponieważ różnią się one typem. Typowe błędy myślowe, prowadzące do takiej pomyłki, mogą wynikać z braku zrozumienia, jak PHP obsługuje typy danych i konwersję typów. Warto zauważyć, że w innych językach programowania porównania mogą działać inaczej, co może prowadzić do zamieszania, szczególnie w kontekście programowania w PHP. Istotne jest, aby przy projektowaniu aplikacji zawsze stosować porównania identyczności, by uniknąć nieprzewidzianych problemów związanych z typami danych. Dobrą praktyką jest również eksploracja dokumentacji PHP oraz testowanie porównań w praktyce, co pozwala na głębsze zrozumienie działania języka. Właściwe podejście do typów danych oraz klarowne rozumienie operatorów porównania są kluczowymi elementami skutecznego programowania w PHP.

Pytanie 17

W języku HTML5 do wypełniania podpowiedzią kontrolki pola edycyjnego stosuje się atrybut

A. placeholder
B. required
C. pattern
D. autofocus
W tym pytaniu łatwo pomylić kilka atrybutów, bo wszystkie pojawiają się często przy polach formularzy, ale pełnią zupełnie inne funkcje. W HTML5 każdy z nich ma dość precyzyjnie określone znaczenie i przeglądarki zachowują się wobec nich w konkretny sposób. Atrybut "pattern" służy do walidacji danych po stronie przeglądarki, przy użyciu wyrażeń regularnych. Definiujemy w nim wzorzec, który wprowadzony tekst musi spełniać, np. pattern="[0-9]{3}-[0-9]{3}-[0-9]{3}" dla numeru telefonu. On nie wyświetla żadnej podpowiedzi, tylko sprawdza poprawność wpisu. Częsty błąd myślowy jest taki, że skoro mówimy o "wzorcu", to ktoś kojarzy to z przykładem, a to jednak bardziej mechanizm kontroli, nie wizualna instrukcja. "Required" to natomiast atrybut, który oznacza, że pole jest obowiązkowe. Jeżeli użytkownik spróbuje wysłać formularz bez jego wypełnienia, przeglądarka wyświetli komunikat o błędzie. Nie ma tu żadnej podpowiedzi w samym polu, to tylko informacja dla silnika walidacji formularzy HTML5. Wiele osób myli to z jakąś formą "sugestii", ale to zwykłe wymaganie techniczne: albo coś wpiszesz, albo formularz się nie wyśle. "Autofocus" określa, które pole ma automatycznie dostać fokus po załadowaniu strony. Przez to kursor pojawia się od razu w tym polu i użytkownik może zaczynać pisać bez klikania. To ułatwia obsługę formularzy, ale znowu – nie ma nic wspólnego z wyświetlaniem tekstu pomocniczego w środku kontrolki. To tylko kwestia wygody i kolejności interakcji. Podpowiedź widoczna wewnątrz pola edycyjnego, zanim użytkownik zacznie wpisywać dane, jest realizowana wyłącznie przez atrybut "placeholder". Jeśli więc szukamy atrybutu odpowiedzialnego właśnie za ten efekt wizualny, inne opcje są po prostu funkcjonalnie nietrafione, nawet jeśli też dotyczą formularzy.

Pytanie 18

Jak nazywa się komponent oznaczony znakiem zapytania w architekturze platformy .NET, który pozwala na tworzenie własnych aplikacji za pomocą frameworków oraz przekształcanie skompilowanego kodu pośredniego na kod maszynowy procesora zainstalowanego w systemie?

Ilustracja do pytania
A. Infrastruktura językowa (CLI)
B. Wspólne środowisko programistyczne (CLP)
C. Biblioteka klas bazowych (BCL)
D. Wspólne środowisko uruchomieniowe (CLR)
CLR, czyli wspólne środowisko uruchomieniowe, to naprawdę ważny element platformy .NET. Odpowiada za to, jak programy napisane w różnych językach, na przykład C# czy VB.NET, są wykonywane. Działa trochę jak tłumacz między aplikacjami a systemem operacyjnym. Dzięki niemu mamy różne fajne funkcje, jak zarządzanie pamięcią, obsługa wyjątków czy bezpieczeństwo typów. CLR przekształca kod pośredni (MSIL) na kod, który rozumie procesor, co jest super, bo pozwala na działanie aplikacji na różnych sprzętach. Dobrym przykładem zastosowania CLR są aplikacje ASP.NET, gdzie zajmuje się zarządzaniem pamięcią i wydajnością kodu. Co ważne, CLR wspiera różne dobre praktyki programistyczne, takie jak DRY (Don't Repeat Yourself) czy modularność, co sprawia, że kod jest bardziej czytelny i łatwiejszy do ponownego wykorzystania. Tak więc, CLR to fundament całej platformy .NET, który pozwala na tworzenie niezawodnych i skalowalnych aplikacji.

Pytanie 19

Jednym z rodzajów testów jednostkowych jest badanie ścieżek, które polega na

A. stworzeniu kilku zbiorów danych o analogicznym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testu
B. ustaleniu punktu startowego i końcowego oraz analizie możliwych tras pomiędzy tymi punktami
C. sprawdzaniu wartości granicznych zbioru danych
D. analizie obiektów pod kątem inicjalizacji oraz uwalniania pamięci
Analiza ścieżek jest ważnym podejściem w testowaniu jednostkowym, które polega na identyfikacji punktów początkowych i końcowych w programie oraz badaniu wszystkich możliwych dróg, jakie mogą prowadzić od jednego do drugiego. Jest to szczególnie istotne w kontekście testowania złożonych algorytmów i struktur danych, gdzie istnieje wiele warunków i ścieżek wykonania. Przykładem może być testowanie funkcji rekurencyjnych, gdzie kluczowe jest zrozumienie, jak funkcja przechodzi przez różne stany i jakie wyjścia uzyskuje. Standardy, takie jak IEEE 829, podkreślają znaczenie pokrycia testowego, które można osiągnąć poprzez analizę ścieżek. Dzięki temu można zminimalizować ryzyko błędów w kodzie, zwłaszcza w krytycznych aplikacjach, takich jak oprogramowanie medyczne czy systemy finansowe, gdzie błędy mogą prowadzić do poważnych konsekwencji.

Pytanie 20

Aby z tabeli Pracownicy wybrać tylko nazwiska kończące się na literę „i”, można zastosować następującą kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%";
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i";
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%";
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i;
Prawidłowa kwerenda SQL do wyszukania nazwisk pracowników, których ostatnią literą jest 'i', to 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. Operator LIKE w SQL jest używany do wyszukiwania wzorców w danych tekstowych. W tym przypadku symbol '%' przed literą 'i' oznacza, że przed 'i' może występować dowolna liczba znaków (w tym zero), co umożliwia znalezienie wszystkich nazwisk kończących się na tę literę. Przykładowe nazwiska, które mogą być zwrócone przez tę kwerendę to 'Kowalski', 'Nowak', czy 'Wiśniewski'. Zgodnie z standardem SQL, użycie podwójnych cudzysłowów dla wzorca jest właściwe w kontekście baz danych, jednak w wielu systemach baz danych, w tym MySQL, częściej stosuje się pojedyncze cudzysłowy. Warto także zauważyć, że technika ta jest przydatna przy pracy z bazami danych, gdyż umożliwia elastyczne wyszukiwanie informacji oraz jest szczególnie cenne w aplikacjach wymagających filtrowania danych według specyficznych kryteriów.

Pytanie 21

W języku JavaScript zapisano kod, którego wynikiem działania jest

var osoba = prompt("Podaj imię", "Adam");
A. wyświetlenie okna z polem edycyjnym, w którym jest wpisany domyślny tekst "Adam".
B. wyświetlenie okna z pustym polem edycyjnym.
C. bezpośrednie wpisanie do zmiennej osoba wartości "Adam".
D. pobranie z formularza wyświetlonego na stronie HTML imienia "Adam".
Niepoprawne odpowiedzi sugerują, że kod JavaScript może bezpośrednio wpisać wartość do zmiennej lub pobrać dane z formularza wyświetlanego na stronie HTML. Te rozumowania są jednak błędne. W JavaScript, aby przypisać wartość do zmiennej, musimy użyć operatora przypisania =, a nie metody prompt(). Metoda prompt() służy do wyświetlania okna dialogowego z polem tekstowym dla użytkownika, a nie do manipulowania danymi na stronie. Podobnie, pobieranie danych z formularza wymaga interakcji z DOM, a nie prostego użycia metody prompt(). W przypadku pustego pola edycyjnego, jest to możliwe tylko wtedy, gdy nie podamy drugiego argumentu do metody prompt(). W podanym kodzie drugi argument to 'Adam', co oznacza, że w polu edycyjnym domyślnie będzie wpisany tekst 'Adam'.

Pytanie 22

W skrypcie JavaScript deklaracja zmiennych ma miejsce

A. tylko gdy określimy typ zmiennej oraz jej nazwę
B. w chwili pierwszego użycia zmiennej
C. wyłącznie na początku skryptu
D. zawsze z poprzedzającym nazwą znakiem $
Wybór błędnych odpowiedzi wynika z nieporozumienia dotyczącego zasad deklaracji zmiennych w JavaScript. Wiele osób ma tendencję do myślenia, że zmienne muszą być deklarowane na początku skryptu, co jest niezgodne z elastycznością, jaką oferuje ten język. Deklaracja tylko na początku skryptu ogranicza kreatywność i elastyczność programisty, ponieważ w praktyce można tworzyć zmienne w dowolnym momencie, w zależności od logiki programu. Innym błędnym przekonaniem jest konieczność podawania typu zmiennej przed jej nazwą. W przeciwieństwie do języków silnie typowanych, takich jak Java czy C#, JavaScript jest językiem słabo typowanym, co oznacza, że typ zmiennej jest określany dynamicznie w momencie przypisania wartości. Przykładowo, można zdefiniować zmienną jako liczbę, a następnie przypisać do niej wartość typu tekstowego bez żadnych problemów. Kolejną mylną zasadą jest stwierdzenie, że każda zmienna musi zaczynać się od znaku $. W rzeczywistości, znaki te (jak $ i _) są dozwolone jako pierwsze znaki identyfikatorów, ale nie są wymagane. Takie nieporozumienia mogą prowadzić do nieefektywnego pisania kodu oraz wprowadzania niezamierzonych błędów. Zrozumienie tych zasad jest kluczowe dla prawidłowego korzystania z JavaScript, co pozwala na tworzenie lepszych, bardziej efektywnych aplikacji oraz unikanie typowych błędów i pułapek w programowaniu.

Pytanie 23

Kod przedstawiony poniżej został napisany w języku JavaScript. W zdefiniowanym obiekcie metoda to element o nazwie

 var obj1 = {
    czescUlamkowa: 10,
    czescCalkowita: 20,
    oblicz: function () { ... }
}
A. oblicz
B. czescUlamkowa
C. czescCalkowita
D. obj1
Odpowiedzi 'czescUlamkowa', 'obj1' oraz 'czescCalkowita' są niepoprawne, ponieważ nie są metodami w kontekście obiektu 'obj1'. 'czescUlamkowa' i 'czescCalkowita' to właściwości obiektu, które przechowują dane, ale nie wykonują żadnych operacji. W JavaScript, właściwości obiektów są parametrami, które mogą przechowywać wartości, jednak nie są to funkcje. Właściwości te mogą być wykorzystywane w metodach do przechowywania i manipulowania danymi, ale same w sobie nie wykonują żadnych obliczeń ani operacji. Odpowiedź 'obj1' odnosi się do samego obiektu, a nie do jego metod. W kontekście programowania obiektowego, obiekty są instancjami klas, które grupują ze sobą zarówno dane, jak i funkcjonalność, ale tylko metody można wywoływać w celu wykonania operacji. Typowym błędem myślowym jest mylenie pojęcia obiektu z pojęciem metody. Aby rozwiązać takie nieporozumienia, warto przyjąć podejście, w którym każda metoda jest rozumiana jako funkcjonalność obiektu, podczas gdy właściwości służą do przechowywania danych. Zrozumienie tej różnicy jest kluczowe, aby efektywnie korzystać z obiektowego modelu programowania w JavaScript.

Pytanie 24

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

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

Pytanie 25

Wbudowanym w pakiet XAMPP narzędziem służącym do zarządzania bazą danych jest

A. pgAdmin
B. phpMyAdmin
C. MySQL Workbench
D. SQLite
Poprawną odpowiedzią jest phpMyAdmin, bo to właśnie to narzędzie jest domyślnie zintegrowane z pakietem XAMPP jako panel do zarządzania bazą danych MySQL/MariaDB przez przeglądarkę. Po instalacji XAMPP masz zazwyczaj skrót „phpMyAdmin” w panelu kontrolnym, a samo narzędzie jest dostępne pod adresem typu http://localhost/phpmyadmin. Nie trzeba nic dodatkowo instalować ani konfigurować, poza uruchomieniem modułu Apache i MySQL/MariaDB w XAMPP. Z mojego doświadczenia to jest pierwsze miejsce, gdzie większość osób zaczyna przygodę z bazami danych w środowisku lokalnym. phpMyAdmin to aplikacja webowa napisana w PHP, która pozwala wykonywać większość typowych operacji administracyjnych na bazie: tworzenie i usuwanie baz danych, tworzenie tabel, modyfikacja struktury (typy pól, klucze główne, indeksy), wstawianie i edycja rekordów, eksport i import danych (np. pliki .sql), nadawanie uprawnień użytkownikom. Dla początkujących to ogromne ułatwienie, bo nie trzeba od razu pisać ręcznie długich zapytań SQL – wiele rzeczy da się „wyklikać”, a phpMyAdmin dodatkowo pokazuje, jakie zapytania SQL wygenerował. To jest fajny sposób, żeby stopniowo oswajać się ze składnią SQL. W dobrych praktykach pracy z XAMPP przyjmuje się, że w środowisku developerskim phpMyAdmin jest jak najbardziej ok. Można szybko tworzyć bazy testowe dla projektów PHP, WordPressa czy innych CMS-ów, robić eksport bazy z localhosta i import na serwer produkcyjny. Przy większych, profesjonalnych wdrożeniach często używa się bardziej zaawansowanych narzędzi lub linii komend, ale nawet wtedy phpMyAdmin zostaje jako wygodne narzędzie pomocnicze. Ważne jest tylko, żeby w środowisku produkcyjnym odpowiednio zabezpieczyć dostęp do phpMyAdmin (hasła, ograniczenia IP, dodatkowe uwierzytelnianie), bo domyślnie nie jest to narzędzie projektowane z myślą o wystawianiu „na świat” bez żadnych zabezpieczeń. W kontekście nauki programowania webowego i baz danych warto świadomie korzystać z phpMyAdmin: podglądać generowane zapytania SQL, ćwiczyć tworzenie relacji, kluczy obcych, backupów. To narzędzie jest na tyle popularne, że praktycznie w każdym hostingu współdzielonym znajdziesz bardzo podobny panel, więc umiejętność pracy z phpMyAdmin przydaje się później w realnych projektach komercyjnych.

Pytanie 26

Podano fragment kodu PHP, w którym znajduje się zadeklarowana zmienna typu tablica. Jakie imię zostanie wyświetlone po wykonaniu tego kodu?

Ilustracja do pytania
A. Krzysztof
B. Tomasz
C. Anna
D. Aleksandra
W prezentowanym kodzie PHP mamy do czynienia z tablicą indeksowaną. Tablica ta zawiera cztery elementy: 'Anna' 'Tomasz' 'Krzysztof' i 'Aleksandra'. W PHP tablice indeksowane są zerowane czyli pierwszy element znajduje się pod indeksem 0 drugi pod indeksem 1 i tak dalej. Dlatego jeśli chcemy uzyskać dostęp do trzeciego elementu tablicy musimy odwołać się do indeksu 2. W związku z tym wyrażenie echo $imiona[2] wypisze wartość 'Krzysztof'. Zrozumienie indeksowania tablic w PHP jest kluczowe zwłaszcza przy operacjach na dużych zbiorach danych. Poprawna praktyka programistyczna polega na dokładnym śledzeniu indeksów aby uniknąć błędów typu 'index out of range'. Warto również zwrócić uwagę na alternatywne sposoby deklaracji tablic w PHP np. za pomocą skróconej notacji [] co jest preferowane w nowszych wersjach PHP ze względu na czytelność i zwięzłość kodu. Takie podejście zgodne jest z dobrymi praktykami w programowaniu obiektowym oraz w przypadku tworzenia API gdzie struktury danych są często wykorzystywane w podobny sposób.

Pytanie 27

Jakie zapytanie pozwoli Administratorowi cofnąć uprawnienia do przeglądania oraz modyfikacji danych w bazie gazeta dla użytkownika redaktor?

A. GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';
B. REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';
C. REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
D. GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';
Wybór innych odpowiedzi prowadzi do nieporozumień dotyczących zarządzania uprawnieniami w bazach danych. Na przykład, REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost'; jest niewłaściwe, ponieważ ALTER nie jest związane z przeglądaniem ani aktualizowaniem danych, lecz z modyfikowaniem struktury bazy danych, co nie jest celem tego pytania. Użytkownik mógłby mylnie uznać, że ALTER jest potrzebne do zarządzania danymi, jednak w rzeczywistości dotyczy to jedynie zmiany tabel, kolumn czy indeksów. Podobnie, polecenie GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost'; jest całkowicie przeciwne do zamierzonego celu, ponieważ GRANT przyznaje uprawnienia, a nie je odbiera, co oznacza, że narusza zasadę, która miałaby zlikwidować dostęp do bazy danych. Ostatnia propozycja, GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost'; również jest fałszywa, ponieważ wprowadza dodatkowe uprawnienia, co może prowadzić do nieautoryzowanego dostępu do danych. Kluczowym błędem myślowym jest nieodróżnienie poleceń REVOKE i GRANT oraz nieznajomość różnicy między rodzajami uprawnień, co jest fundamentalne w zarządzaniu bezpieczeństwem danych.

Pytanie 28

Jakie słowo kluczowe w języku SQL należy zastosować, aby usunąć powtarzające się rekordy?

A. GROUP BY
B. ORDER BY
C. DISTINCT
D. LIKE
Słowo DISTINCT w SQL to taki sprytny sposób na pozbycie się duplikatów w wynikach zapytań. Jak robisz zapytanie SELECT, które zwraca różne wiersze, to dzięki DISTINCT dostaniesz tylko unikalne wartości w kolumnach, które wybierzesz. Na przykład, mając tabelę 'pracownicy' z kolumną 'miasto', jak użyjesz zapytania 'SELECT DISTINCT miasto FROM pracownicy;', to dostaniesz listę wszystkich miast, w których są pracownicy, a powtórzenia polecą w odstawkę. Warto pamiętać, że DISTINCT działa na całej kombinacji kolumn, które zwracasz. Jak dodasz więcej kolumn w zapytaniu, to SQL wyciągnie unikalne zestawienia tych kolumn. To naprawdę przydatne, zwłaszcza przy dużych zbiorach danych, gdzie duplikaty mogą namieszać w analizach i raportach. DISTINCT jest standardowym elementem w SQL i działa praktycznie w każdym systemie zarządzania bazami danych, jak MySQL czy PostgreSQL, co czyni to narzędzie mega uniwersalnym w codziennym grzebaniu w danych.

Pytanie 29

W CSS zapis w postaci ```h1::first-letter{color:red;}``` spowoduje, że kolor czerwony będzie dotyczył

A. pierwszej linii akapitu
B. tekstów nagłówka pierwszego poziomu
C. pierwszej litery nagłówka drugiego poziomu
D. pierwszej litery nagłówka pierwszego poziomu
Zapis CSS h1::first-letter {color: red;} odnosi się do selektora pseudo-elementu first-letter, który jest używany do stylizacji pierwszej litery bloku tekstowego w nagłówkach. W tym wypadku, gdy selektor jest zastosowany do elementu h1, oznacza to, że kolor pierwszej litery nagłówka pierwszego stopnia (h1) zostanie zmieniony na czerwony. Pseudo-element first-letter działa tylko dla elementów blokowych, takich jak nagłówki, akapity czy listy. W praktyce, jeśli w dokumencie HTML mamy element <h1> z tekstem, np. 'Witaj świecie', to wyłącznie litera 'W' zostanie wyświetlona w kolorze czerwonym. To podejście jest zgodne ze standardami CSS, które definiują pseudo-elementy jako specyficzne fragmenty dokumentu, które można stylizować niezależnie od reszty zawartości. Warto również zauważyć, że stosowanie takich selektorów pozwala na uzyskanie bardziej złożonych efektów wizualnych bez konieczności modyfikacji struktury HTML. Umożliwia to projektantom stron internetowych większą elastyczność i kontrolę nad estetyką treści.

Pytanie 30

W języku JavaScript funkcja document.getElementById(id) służy do

A. sprawdzania poprawności formularza z identyfikatorem id
B. pobierania danych z pola formularza i przypisania ich do zmiennej id
C. uzyskania odniesienia do pierwszego elementu HTML o wskazanym id
D. umieszczenia tekstu 'id' na stronie WWW
Zrozumienie funkcji document.getElementById(id) jest fundamentalne dla efektywnej pracy z DOM w JavaScript. Wiele błędnych odpowiedzi na to pytanie wynika z nieporozumień dotyczących podstawowych zasad działania tej metody. Propozycja, że metoda ta sprawdza poprawność formularza o identyfikatorze id, jest nieprawidłowa, ponieważ jej głównym celem nie jest walidacja danych, lecz lokalizacja elementu w dokumencie. Walidacja formularza zwykle realizowana jest za pomocą innych metod, takich jak event listeners, które reagują na interakcje użytkownika. Twierdzenie, że document.getElementById() pobiera dane z pola formularza i wstawia je do zmiennej id, jest także mylące, ponieważ id to atrybut, który wskazuje na element, a nie zmienną do przechowywania wartości. W rzeczywistości, jeśli chcielibyśmy uzyskać wartość pola formularza, musielibyśmy najpierw uzyskać odniesienie do tego elementu, a następnie odczytać jego wartość za pomocą np. element.value. Ostatnia nieprawidłowa koncepcja, czyli wstawienie tekstu o treści 'id' na stronie WWW, również jest błędna, gdyż metoda ta nie wstawia tekstu, a jedynie zwraca odniesienie do elementu. Wskazuje to na powszechne błędy myślowe, gdzie użytkownicy mylą funkcję szukania elementu z funkcjami manipulacji jego zawartością. Zrozumienie tych różnic jest kluczowe w nauce programowania w JavaScript.

Pytanie 31

W języku HTML stworzono odnośnik z symbolem #. Co się wydarzy po kliknięciu na podany link?

<a href="#dane">

A. Uruchomi się skrypt o nazwie dane
B. Zostanie użyty względny adres URL o nazwie dane
C. Otworzy się nowa karta przeglądarki zatytułowana dane
D. Strona przewinie się do elementu z id o nazwie dane
Pierwsza z niepoprawnych odpowiedzi sugeruje, że po kliknięciu w odsyłacz zostanie wywołany skrypt o nazwie 'dane'. To podejście jest nieprawidłowe, ponieważ odsyłacz w HTML ze znakiem # nie wywołuje żadnych skryptów. Hiperłącza z # są używane wyłącznie do nawigacji po stronie i nie mają związku z uruchamianiem skryptów. Druga odpowiedź wskazuje, że otworzy się osobna karta przeglądarki o nazwie 'dane', co również jest błędne. Hiperłącza zaczynające się od # nie prowadzą do nowych kart ani okien; zamiast tego zmieniają lokalizację w bieżącej karcie przeglądarki. Kolejna z niepoprawnych koncepcji sugeruje, że zostanie wybrany adres względny URL o nazwie 'dane'. Jednakże wykorzystanie # odnosi się do lokalizacji na tej samej stronie, a nie do adresów względnych. Warto zrozumieć, że adresy względne są używane do nawigacji pomiędzy różnymi stronami, a nie do lokalizacji na tej samej stronie. Typowym błędem myślowym w takich przypadkach jest mylenie funkcji hiperłączy z różnymi innymi mechanizmami, takimi jak skrypty, nowe karty czy adresy względne. Zrozumienie tych różnic jest kluczowe dla skutecznego projektowania stron internetowych oraz optymalizacji ich nawigacji.

Pytanie 32

Który składnik nie jest wymagany do instalacji i uruchomienia systemu CMS Joomla!?

A. baza danych
B. serwer WWW
C. platforma .NET
D. parser PHP
W pytaniu o wymagania systemowe dla Joomla! bardzo łatwo pomylić ogólne pojęcie „serwer” czy „platforma” z konkretnymi technologiami, które faktycznie są potrzebne. Joomla! to klasyczny CMS napisany w PHP, który działa w architekturze klient–serwer zgodnej z typowym modelem aplikacji webowych. Do poprawnego działania potrzebuje trzech filarów: serwera WWW, interpretera PHP oraz relacyjnej bazy danych. Serwer WWW, taki jak Apache czy Nginx, przyjmuje żądania HTTP z przeglądarki, obsługuje pliki statyczne i przekazuje żądania do skryptów PHP. Bez tego elementu użytkownik w ogóle nie byłby w stanie połączyć się z witryną. Parser (interpretator) PHP jest absolutnie kluczowy, bo cały kod Joomla! – logika logowania, panele administracyjne, generowanie treści, system szablonów – jest napisany właśnie w tym języku. To nie jest zwykły „dodatek”, tylko środowisko uruchomieniowe aplikacji. Baza danych z kolei przechowuje wszystkie dynamiczne dane: artykuły, użytkowników, uprawnienia, moduły, konfigurację. Bez bazy CMS przestałby być „systemem zarządzania treścią”, bo nie miałby gdzie tej treści trwale zapisywać. Częsty błąd myślowy polega na wrzucaniu do jednego worka wszystkich technologii serwerowych: skoro coś działa „na serwerze”, to może wymaga .NET, Javy, PHP – wszystko jedno. Tymczasem każdy CMS jest pisany w konkretnej technologii i wymaga zgodnego z nią środowiska. Joomla! nie wykorzystuje ASP.NET ani bibliotek .NET, więc platforma .NET nie jest jej potrzebna do niczego. Można mieć serwer z zainstalowanym .NET, ale jeśli nie ma tam PHP i odpowiedniej bazy danych, Joomla! i tak nie ruszy. Z mojego doświadczenia warto zawsze zaczynać od sprawdzenia, w jakim języku napisane jest dane oprogramowanie webowe i pod to dobierać stos serwerowy, zamiast zakładać, że każda aplikacja webowa wymaga .NET tylko dlatego, że kojarzy się on z „nowoczesnym” serwerem.

Pytanie 33

Wskaż definicję metody, którą należy wstawić w miejscu kropek, aby na stronie WWW wyświetlił się tekst: Jan Kowalski

<p id="wynik"></p>
<script type="text/javascript">
    var osoba = { nazwisko: "Kowalski", imie: "Jan" };
    …
    document.getElementById("wynik").innerHTML = osoba.dane();
</script>

osoba.dane = function() {
    return this.imie+" "+this.nazwisko;
};                 A.

dane() = function() {
    return this.imie+" "+this.nazwisko;
};                 B.

osoba.dane = function() {
    return imie+" "+nazwisko;
};                 C.

dane() = function {
    this.imie+" "+this.nazwisko;
};                 D.
A. A.
B. B.
C. C.
D. D.
Fajnie, że wybrałeś dobrą odpowiedź! Metoda 'dane' jest powiązana z obiektem 'osoba', co pozwala ci używać słowa kluczowego 'this', żeby odwołać się do 'imię' i 'nazwisko'. To naprawdę ważna zasada w programowaniu obiektowym. 'This' to taki klucz, dzięki któremu możesz wskazać, z którego obiektu korzystasz w danej chwili. W tym przypadku odnosisz się do obiektu 'osoba'. Wyobraź sobie, że tworzysz aplikację i chcesz pokazać informacje o użytkowników, na przykład na stronie profilu. Dzięki metodzie 'dane', która jest częścią obiektu 'osoba', możesz łatwo wyświetlić imię i nazwisko. O to chodzi w programowaniu!

Pytanie 34

Ikona przedstawiająca funkcję w edytorze grafiki rastrowej, znana jako „kubełek”, pozwala na

Ilustracja do pytania
A. pobranie wybranej barwy i ustawienie jej jako aktywnej
B. zmianę bieżących kolorów
C. wypełnienie obszaru, który został zaznaczony kolorem
D. wybór obszaru o identycznym kolorze
Narzędzie 'kubełek', często spotykane w edytorach grafiki rastrowej takich jak Adobe Photoshop czy GIMP, służy do wypełniania zaznaczonego obszaru kolorem. Jest to szczególnie przydatne w sytuacjach, gdy chcemy szybko zapełnić jednolitym kolorem duże powierzchnie, takie jak tła lub obiekty. Działa na zasadzie zalewania najbliższych pikseli wybranym kolorem, uwzględniając podobieństwo kolorów, co można regulować za pomocą opcji tolerancji. W praktyce, narzędzie to usprawnia proces tworzenia grafik, ponieważ eliminuje potrzebę ręcznego kolorowania każdego piksela. Dodatkowo 'kubełek' może być stosowany w połączeniu z różnymi trybami mieszania, co pozwala na uzyskanie bardziej zaawansowanych efektów wizualnych. Praca z 'kubełkiem' wymaga zrozumienia koncepcji warstw, ponieważ wypełnianie na konkretnej warstwie ma wpływ na finalny wygląd projektu. Wiedza o tym, jak skutecznie używać narzędzia 'kubełek', jest niezbędna dla każdego grafika cyfrowego, który chce pracować efektywnie i profesjonalnie, realizując projekty zgodnie z najlepszymi praktykami branżowymi.

Pytanie 35

Użycie znacznika <b> do pogrubienia tekstu może być również osiągnięte poprzez zastosowanie reguły CSS

A. text-weight
B. font-weight
C. font-size
D. text-size
Właściwość CSS 'font-weight' to naprawdę ważne narzędzie, które pozwala nam kontrolować grubość tekstu na stronie. Dzięki niemu możemy nie tylko pogrubić tekst, ale też ustawić różne inne wartości, jak 'normal', 'bold', 'bolder' oraz liczby od 100 do 900. To daje nam fajne możliwości w zakresie typografii. Na przykład, jak użyjesz zapisu CSS 'p { font-weight: bold; }', to wszystkie akapity na stronie będą się wyświetlały pogrubioną czcionką. Dobrze jest pamiętać, że korzystanie z 'font-weight' jest zgodne z najlepszymi praktykami, bo odseparowuje treść od stylizacji. Moim zdaniem dobrze jest ograniczać użycie znaczników HTML, takich jak <b>, do sytuacji, kiedy zależy nam na podkreśleniu ważności jakiejś treści. Projektując strony, musimy myśleć też o tym, jak strony będą odbierane przez użytkowników i jak będą dostępne. Dobre style mogą bardzo poprawić czytelność tekstu.

Pytanie 36

W stylach CSS, aby ustalić styl linii obramowania jako linię kreskową, należy zastosować wartość

A. dashed
B. groove
C. dotted
D. solid
W kontekście stylów CSS odpowiedzi, które zostały podane jako niepoprawne, mają swoje unikalne zastosowania, jednak nie spełniają kryteriów ustalenia stylu obramowania jako linii kreskowej. Wartość 'solid' definiuje obramowanie w postaci ciągłej linii, co czyni go najprostszym i najczęściej stosowanym stylem obramowania, ale nie wprowadza efektu przerywanego. Styl 'dotted' z kolei tworzy obramowanie złożone z pojedynczych kropek, co nadaje elementom subtelny wygląd, ale również nie tworzy linii kreskowej. Zastosowanie 'dotted' jest popularne w przypadku elementów, które mają być mniej dominujące, jednak nie jest to styl obramowania odpowiadający na potrzeby przerywanego wzoru. Ostatnia z odpowiedzi, 'groove', generuje efekt trójwymiarowego wgłębienia, co może być atrakcyjne wizualnie, ale nie ma nic wspólnego z przerywaną linią. 'Groove' jest zazwyczaj stosowane do podkreślenia hierarchii lub do uwydatnienia elementów na stronie, jednak nie spełnia warunku bycia linią kreskową. Podsumowując, wszystkie trzy odpowiedzi, mimo że są poprawnymi stylami obramowania w CSS, nie odpowiadają na zadane pytanie, ponieważ żadna z nich nie generuje efektu przerywanego, który jest kluczowy dla prawidłowej odpowiedzi na to zagadnienie.

Pytanie 37

Czym w relacyjnej bazie danych jest odpowiednik encji?

A. kolumna
B. wiersz
C. atrybut
D. tabela
No, odpowiedzi w formie wierszy, kolumn czy atrybutów nie oddają tego, co encja oznacza w relacyjnych bazach danych. Wiersz to niby pojedynczy rekord, ale nie pokazuje encji w pełni. Jakbyśmy uznali wiersz za encję, to moglibyśmy źle zrozumieć, że encja to tylko jeden zestaw danych, a nie cały zbiór rekordów. Kolumna z kolei definiuje atrybuty encji, ale sama nie oddaje encji w całości. Atrybuty są do opisu cech obiektów, ale to nie znaczy, że same w sobie pokazują ich zbiór. Ważne jest, żeby pojąć, że encja jako całość jest reprezentowana przez tabelę, a nie przez pojedyncze składniki jej struktury. W praktyce wiele osób myli te pojęcia, co rzadko prowadzi do efektywnego modelowania danych i może sprawiać problemy z integracją oraz wydajnością zapytań. Dlatego warto uczyć się o strukturze bazy danych, skupiając się na tym, jak różne elementy współdziałają, żeby tworzyć sensowną całość, która dobrze przechowuje i zarządza danymi.

Pytanie 38

W PHP użyto funkcji is_float(). Które z wymienionych wywołań tej funkcji zwróci wartość true?

A. is_float(NULL)
B. is_float(334)
C. is_float(3.34)
D. is_float('3,34')
W przypadku odpowiedzi is_float('3,34') oraz is_float(334) obie są nieprawidłowe z powodów związanych z typem danych. Pierwsza z nich przekazuje wartość jako ciąg znaków (string) z przecinkiem, co w PHP nie jest interpretowane jako liczba zmiennoprzecinkowa. PHP nie rozumie przecinka jako separatora dziesiętnego, co prowadzi do błędu w rozpoznawaniu typu. Wartości numeryczne powinny być podawane w formie, która jest zgodna z oczekiwaną konwencją, co w większości języków programowania, w tym PHP, wymaga kropki jako separatora dziesiętnego. Tak więc, is_float('3,34') zwróci false, ponieważ argument nie jest typu float. W przypadku is_float(334), wartość ta jest liczbą całkowitą (integer), co również nie spełnia kryteriów funkcji is_float(). W kontekście programowania, bywa, że programiści mylą różne typy danych i ich konwersje, co prowadzi do nieprawidłowych wniosków na temat typów. Ostatnia odpowiedź, is_float(NULL), również zwraca false, ponieważ NULL nie jest typem danych numerycznych. Użycie NULL często stosowane jest do reprezentowania braku wartości, co jest odrębnym stanem od jakiejkolwiek liczby. Zrozumienie różnicy między typami danych oraz odpowiednie ich użycie jest fundamentem efektywnego programowania i uniknięcia wielu błędów w aplikacjach.

Pytanie 39

Którą rozdzielczość należy ustawić w opcjach kodera, aby przygotować do publikacji film w rozdzielczości HD Ready?

A. 1920x1080
B. 720x480
C. 1280x720
D. 480x360
W tym pytaniu pułapka polega na tym, że wszystkie podane rozdzielczości są w jakiś sposób „znane”, ale tylko jedna odpowiada standardowi HD Ready. Bardzo często myli się ogólne pojęcie „HD” z konkretnymi rozdzielczościami, a jeszcze częściej patrzy się tylko na to, która liczba jest większa, zamiast na obowiązujące standardy branżowe. Rozdzielczość 480x360 to typowa niska rozdzielczość kojarzona raczej ze starym streamingiem internetowym, materiałami SD do podglądu lub bardzo lekkimi plikami do słabego łącza. Ma inne proporcje niż klasyczne 16:9 i nie spełnia żadnego współczesnego standardu HD. Obraz w takiej rozdzielczości będzie wyraźnie mniej ostry, szczególnie na większych ekranach – to raczej jakość zbliżona do starego YouTube sprzed wielu lat. 720x480 z kolei bywa mylone z HD, bo liczba „720” sugeruje HD, ale tu akurat chodzi o coś zupełnie innego. 720x480 to typowa rozdzielczość SD z systemu NTSC (DVD-Video, stare kamery cyfrowe), często w proporcjach 4:3 lub 16:9 osiąganych dopiero przez tzw. piksele nieskwadratowe (aspect ratio pikseli). Jest to nadal standard definition, nie high definition. To klasyczny przykład błędu: ktoś kojarzy 720p, widzi 720 w liczbie, i automatycznie uznaje, że to HD. Niestety tak to nie działa. Z kolei 1920x1080 to już Full HD, czyli 1080p lub 1080i, zależnie od sposobu skanowania. Technicznie jest to jak najbardziej HD, ale inny poziom – wyższy niż HD Ready. Jeśli w zadaniu albo w dokumentacji projektu jest wyraźnie napisane „HD Ready”, to ustawienie Full HD jest po prostu inne niż wymagane. Plik będzie cięższy, będzie wymagał wyższego bitrate’u, a w wielu zastosowaniach webowych będzie to niepotrzebne obciążenie serwera i łącza użytkownika. Typowym błędem jest myślenie: „im większa rozdzielczość, tym lepiej”, bez zastanowienia się nad wymaganiami, możliwościami odtwarzania i standardami sprzętu (telewizory HD Ready natywnie mają matryce 1366x768, więc 1280x720 jest dla nich naturalnym formatem). Dlatego w kontekście przygotowania materiału do publikacji, szczególnie na strony WWW i do prostego streamingu, warto kojarzyć trzy podstawowe poziomy: SD (np. 720x480), HD Ready (1280x720) i Full HD (1920x1080). Wtedy łatwiej uniknąć pomyłek i dobrać taką rozdzielczość, która jest zgodna z założeniami projektu i możliwościami odbiorców, zamiast kierować się tylko intuicją albo większą liczbą pikseli.

Pytanie 40

Wskaż zapytanie, które z tabeli klienci wybierze tylko nazwiska trzech najlepszych klientów, czyli tych, którzy mają najwięcej punktów na swoim koncie (pole całkowite punkty)?

A. SELECT nazwisko FROM klienci ORDER BY punkty DESC LIMIT 3
B. SELECT nazwisko FROM klienci ORDER BY nazwisko DESC LIMIT 3
C. SELECT LIMIT 3 nazwisko FROM klienci ORDER BY nazwisko DESC
D. SELECT nazwisko FROM klienci LIMIT 3
Wybór kwerendy SELECT nazwisko FROM klienci ORDER BY punkty DESC LIMIT 3 jest poprawny, ponieważ wykorzystuje klauzulę ORDER BY w celu posortowania wyników na podstawie kolumny 'punkty' w porządku malejącym. Dzięki temu, najpierw wyświetlone zostaną rekordy z najwyższą liczbą punktów. Zastosowanie LIMIT 3 oznacza, że z całej posortowanej listy, wybierane są jedynie trzy rekordy, co idealnie odpowiada wymaganiu znalezienia trzech najlepszych klientów. Takie podejście jest zgodne z dobrymi praktykami w programowaniu SQL, ponieważ pozwala na precyzyjne wydobycie danych z bazy, a także na efektywne zarządzanie wynikami zapytań. Przykład zastosowania to sytuacja, gdy firma chce nagrodzić swoich najlepszych klientów na podstawie ich aktywności, co może przyczynić się do zwiększenia ich lojalności. W kontekście analizy danych, zrozumienie, jak korzystać z klauzul ORDER BY i LIMIT, jest kluczowe dla optymalizacji zapytań oraz interpretacji wyników.