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: 22 kwietnia 2026 14:35
  • Data zakończenia: 22 kwietnia 2026 14:52

Egzamin zdany!

Wynik: 33/40 punktów (82,5%)

Wymagane minimum: 20 punktów (50%)

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

Który atrybut należy wstawić w miejsce kropek, aby przeglądarka wyświetliła komunikat o błędzie w przypadku kliknięcia przycisku "Zapisz" bez wypełnionego pola nazwisko?

<form action="/skrypt.php" method="post">
  <input type="text" name="nazwisko" ...>
  <input type="submit" value="Zapisz">
</form>
A. disable
B. pattern
C. checked
D. required
Poprawną odpowiedzią jest atrybut „required”. Ten atrybut jest częścią wbudowanego mechanizmu walidacji formularzy HTML5 po stronie przeglądarki. Jeśli dodasz go do pola typu input, textarea czy select, przeglądarka automatycznie sprawdzi, czy użytkownik coś tam wpisał lub wybrał, zanim pozwoli wysłać formularz. W naszym przykładzie: <input type="text" name="nazwisko" required> sprawi, że kliknięcie przycisku „Zapisz” bez wypełnionego nazwiska wywoła komunikat błędu i formularz nie zostanie wysłany. To działa bez żadnego JavaScriptu i bez dodatkowego kodu po stronie serwera. Moim zdaniem warto pamiętać, że „required” to nie tylko wygoda, ale też dobra praktyka UX – użytkownik od razu widzi, czego brakuje, a nie dopiero po przeładowaniu strony. Standard HTML5 jasno opisuje ten atrybut jako tzw. boolean attribute, czyli taki, który samą swoją obecnością w znaczniku włącza daną funkcję. Nie trzeba pisać required="required", chociaż przeglądarka i tak to zrozumie. W praktyce używa się go bardzo często w formularzach rejestracji, logowania, zamówień: imię, nazwisko, e‑mail, hasło – wszędzie tam, gdzie pole jest obowiązkowe. Dobrze jest łączyć required z innymi atrybutami walidacyjnymi, np. type="email" czy pattern, żeby od razu kontrolować nie tylko to, czy coś wpisano, ale też czy ma poprawny format. Mimo wszystko, nawet przy użyciu required, nigdy nie wolno rezygnować z walidacji po stronie serwera, bo walidacja w przeglądarce może być wyłączona albo ominięta. Required traktuj jako pierwszą linię obrony i wygodne wsparcie dla użytkownika, a nie jedyne zabezpieczenie.

Pytanie 2

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: right; }
B. aside {float: left; }
C. nav { float: left; } aside { float: left; }
D. nav { float: right; } section { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 3

Dla tablicy n-elementowej o nazwie t[n], algorytm, zapisany w formie kroków, ma za zadanie obliczenie sumy

Ilustracja do pytania
A. n-elementów tablicy
B. sumy wszystkich elementów tablicy
C. sumy tych elementów tablicy, których wartości są nieparzyste
D. co drugiego elementu tablicy
Algorytm, który masz na zdjęciu, ma na celu sumowanie co drugiego elementu w tablicy. Na początku ustalamy zmienne i=0 oraz wynik=0. Używamy pętli while, żeby przejść przez tablicę, a zmienna i zwiększa się o 2 za każdym razem, więc idealnie nadaje się do zbierania co drugiego elementu. W kroku K3 dodajemy aktualny element tablicy do zmiennej wynik, co w praktyce oznacza, że sumujemy elementy, które są na parzystych indeksach (czyli te z miejsc 0, 2, 4 i tak dalej). Takie podejście jest dosyć popularne, kiedy musimy wyodrębniać fragmenty danych z większej tablicy. Można to wykorzystać w różnych sytuacjach, gdzie liczy się efektywność, jak na przykład przy przetwarzaniu dużych zbiorów danych. Dzięki temu zmniejszamy złożoność obliczeniową i lepiej zarządzamy pamięcią. W branży często doradza się unikanie niepotrzebnych iteracji i skupianie się na mądrym projektowaniu algorytmów, co zdecydowanie prowadzi do lepszego kodu.

Pytanie 4

Na stronie internetowej zdefiniowano styl, który ma być stosowany tylko do określonych znaczników (takich jak niektóre nagłówki i wybrane akapity). W takim kontekście, aby przypisać styl do konkretnych elementów, najlepiej jest użyć

{ text-align: right; }
A. identyfikatora
B. seletora akapitu
C. pseudoklasy
D. klasy
Klasa w CSS jest jednym z najczęściej stosowanych mechanizmów do nadawania stylów elementom HTML na stronach internetowych Kiedy chcemy przypisać styl do kilku konkretnych znaczników które niekoniecznie są tego samego typu użycie klasy jest najlepszym rozwiązaniem Klasy są definiowane w arkuszu stylów przy użyciu kropki przed nazwą klasy na przykład .myClass Następnie można je przypisać do dowolnego elementu HTML dodając atrybut class w znaczniku elementu Co ważne jeden element może mieć przypisane wiele klas co umożliwia bardzo elastyczne zarządzanie stylami Na przykład jeżeli chcemy aby określone nagłówki i akapity miały ten sam kolor tła możemy stworzyć klasę .highlight i przypisać ją zarówno do nagłówków jak i akapitów Klasy są fundamentalnym elementem wykorzystywanym w CSS i są wspierane przez wszystkie przeglądarki zgodnie ze standardami W3C Dzięki nim możemy pisać czytelny i efektywny kod który jest łatwy w utrzymaniu i skalowalny Klasy pozwalają na wielokrotne użycie tego samego zestawu stylów co znacząco ułatwia modyfikację wyglądu strony

Pytanie 5

Jakie właściwości języka CSS mogą mieć wartości: underline, overline, line-through?

A. text-decoration
B. font-style
C. font-weight
D. text-style
Odpowiedź 'text-decoration' jest poprawna, ponieważ właściwość ta jest używana w CSS do stylizacji tekstu, a jej wartości mogą obejmować 'underline', 'overline' i 'line-through'. Właściwość 'text-decoration' umożliwia dodawanie dekoracji do tekstu, co jest szczególnie przydatne w przypadku podkreślania, przekreślania tekstu czy dodawania linii nad tekstem. Przykład zastosowania: aby podkreślić tekst, można użyć reguły CSS: `p { text-decoration: underline; }`. Dzięki temu wszystkie akapity na stronie będą miały podkreślony tekst. Warto również zauważyć, że w ramach standardów CSS3, właściwość ta zyskała dodatkowe wartości, takie jak 'none' czy 'blink', co jeszcze bardziej rozszerza jej funkcjonalność. W praktyce, 'text-decoration' jest często stosowane w projektach webowych, aby poprawić czytelność i estetykę treści. Dobrą praktyką jest jednak używanie tej właściwości w umiarkowany sposób, aby nie przytłoczyć użytkownika zbyt wieloma dekoracjami, co mogłoby wpłynąć na ogólną użyteczność strony.

Pytanie 6

Podczas obróbki dźwięku, aby eliminować niepożądane dźwięki wynikające z niskiej jakości mikrofonu, należy użyć narzędzia

A. usuwania szumów
B. obwiedni
C. wyciszenia
D. echa
Usuwanie szumów to kluczowa technika w przetwarzaniu dźwięku, pozwalająca na eliminację niepożądanych dźwięków, które mogą zakłócać jakość nagrania. Techniki te opierają się na analizie sygnału i identyfikacji częstotliwości, które nie są związane z pożądanym dźwiękiem. Narzędzia do usuwania szumów często wykorzystują algorytmy takie jak filtrowanie adaptacyjne, które dostosowują się do zmieniającego się środowiska akustycznego. Przykładem zastosowania usuwania szumów jest nagrywanie podcastów, gdzie tło dźwiękowe, takie jak hałas uliczny, jest usuwane, co pozwala na uzyskanie czystego i profesjonalnego brzmienia. Przy użyciu oprogramowania takiego jak Audacity czy Adobe Audition, użytkownicy mogą przeprowadzić analizę spektralną, aby zidentyfikować i usunąć niepożądane częstotliwości. Standardy dotyczące przetwarzania dźwięku, takie jak ITU-R BS.1387, podkreślają znaczenie eliminacji szumów dla poprawy jakości słyszalności i wrażeń akustycznych. W ten sposób usuwanie szumów nie tylko poprawia jakość dźwięku, ale także zwiększa zrozumiałość mowy i klarowność nagrań.

Pytanie 7

Formularz przesyła informacje do pliku skrypt.php po naciśnięciu przycisku oznaczonego jako "WYŚLIJ". Wskaż właściwą definicję formularza.

Ilustracja do pytania
A. Skrypt 4
B. Skrypt 1
C. Skrypt 2
D. Skrypt 3
W formularzu HTML do wysłania danych do określonego skryptu należy użyć atrybutu action w znaczniku form co określa adres URL do którego zostaną przesłane dane. Ponadto kluczowy jest atrybut type elementu input który powinien być ustawiony na submit aby umożliwić wysłanie danych po naciśnięciu przycisku. Skrypt 4 jest poprawny ponieważ zawiera zarówno poprawną definicję action="skrypt.php" jak i właściwe określenie typu przycisku jako submit. Taka konstrukcja jest zgodna ze standardami HTML5 i jest powszechnie stosowana w tworzeniu interaktywnych formularzy internetowych. Poprawne wysyłanie formularzy jest kluczowe w wielu aplikacjach webowych szczególnie w kontekście przesyłania danych użytkownika do serwera gdzie mogą być one przetwarzane lub przechowywane. Przy projektowaniu formularza ważne jest również uwzględnienie bezpieczeństwa danych używając metod takich jak POST zamiast GET co zapobiega wyciekom danych w adresie URL. Dobre praktyki obejmują także walidację po stronie klienta oraz serwera aby upewnić się że przesyłane informacje spełniają wymagane kryteria co minimalizuje ryzyko błędów i potencjalnych ataków."

Pytanie 8

Jakie jest zastosowanie zapytania z klauzulą JOIN?

A. pozyskać dane z dwóch tabel, które są ze sobą powiązane
B. określić klucz obcy dla tabeli
C. uzyskać wynik tylko z jednej tabeli
D. wywołać funkcję agregującą
Zapytania z klauzulą JOIN są fundamentalnym narzędziem w relacyjnych bazach danych, umożliwiającym łączenie danych z różnych tabel na podstawie określonych warunków. Klauzula JOIN pozwala na uzyskanie wyników, które są wynikiem relacji między tabelami, co jest kluczowe w przypadku, gdy dane są rozproszone w różnych miejscach. Na przykład, w przypadku bazy danych e-commerce, możemy mieć jedną tabelę z informacjami o klientach i inną z zamówieniami. Używając JOIN, możemy połączyć te dwie tabele, aby uzyskać pełen obraz zamówień dokonanych przez konkretnego klienta. W praktyce, korzystanie z JOIN jest zgodne z zasadami normalizacji bazy danych, co przyczynia się do efektywnego zarządzania danymi i minimalizowania redundancji. Przy właściwym zastosowaniu, JOIN może również poprawić wydajność zapytań, limitując ilość danych do przesłania, kiedy to tylko niezbędne informacje są łączone w jeden wynik. To podejście jest zgodne z najlepszymi praktykami w inżynierii oprogramowania oraz zarządzaniu danymi.

Pytanie 9

W języku C, aby zdefiniować stałą, należy zastosować

A. const
B. #const
C. #INCLUDE
D. static
W języku C, aby zadeklarować stałą, używamy słowa kluczowego 'const'. Oznaczenie zmiennej jako stałej z użyciem 'const' informuje kompilator, że wartość tej zmiennej nie może być zmieniana po jej inicjalizacji. Jest to istotne, ponieważ pozwala na większą kontrolę nad danymi w programie oraz może przyczynić się do zwiększenia bezpieczeństwa kodu. Na przykład, jeśli zadeklarujemy stałą długość tablicy jako 'const int length = 10;', kompilator zablokuje wszelkie próby zmiany tej wartości w późniejszej części programu. Dzięki temu, możemy uniknąć wielu błędów logicznych. Ponadto stosowanie stałych zwiększa czytelność kodu, ponieważ zamiast magicznych liczb w kodzie, używamy nazw, które jasno określają, co dana wartość reprezentuje. Warto również pamiętać, że stałe mogą być używane w różnych kontekstach, w tym przy definiowaniu parametrów funkcji, co pozwala na lepszą organizację i zarządzanie kodem. Praktyka używania 'const' jest zgodna z dobrymi praktykami programowania, które zalecają minimalizowanie zmienności danych tam, gdzie to możliwe.

Pytanie 10

W którym z poniższych przykładów walidacja fragmentu kodu CSS zakończy się sukcesem?

A. p { font-weight:bold; }
B. p { text-size:bold; }
C. <p style="font-style:bold;">
D. <p style="font-size:bold;">
Odpowiedź p { font-weight:bold; } jest poprawna, ponieważ jest zgodna z obowiązującą składnią CSS. W tym przypadku użyto selektora typu, który odnosi się do wszystkich elementów <p> w dokumencie HTML, a właściwość font-weight umożliwia ustawienie grubości czcionki. Wartością 'bold' informujemy przeglądarkę, aby wyświetliła tekst w pogrubionej formie, co jest częstą praktyką w stylizacji tekstu. Stosowanie selektorów typu w CSS pozwala na efektywne zarządzanie stylami w całym dokumencie, zatem jest to zgodne z najlepszymi praktykami projektowania stron internetowych. Przykładowo, w celu nadania pogrubienia wszystkim nagłówkom w dokumencie, można by użyć: h1, h2, h3 { font-weight: bold; }. Zastosowanie takiej reguły pozwala na łatwe i szybkie wprowadzenie zmian w stylu dokumentu, co jest kluczowe w kontekście responsywnego projektowania i modernizacji stron. Dobre praktyki wskazują, aby unikać inline styles (stylów wewnętrznych) na rzecz zewnętrznych arkuszy stylów, co poprawia przejrzystość i utrzymanie kodu.

Pytanie 11

Wskaż zapis stylu CSS, który formatuje punktor listy numerowanej na wielkie cyfry rzymskie oraz listy punktowanej na kwadraty?

A. ol { list-style-type: square; } ul { list-style-type: upper-roman; }
B. ol { list-style-type: upper-roman; } ul { list-style-type: square; }
C. ol { list-style-type: disc; } ul { list-style-type: upper-alpha; }
D. ol { list-style-type: upper-alpha; } ul { list-style-type: disc; }
Odpowiedź jest poprawna, ponieważ styl CSS `ol { list-style-type: upper-roman; }` ustawia numerację dla listy uporządkowanej na wielkie cyfry rzymskie, co jest zgodne z wymaganiami. Użycie `ul { list-style-type: square; }` definiuje styl dla listy nieuporządkowanej, gdzie punkty są przedstawiane jako kwadraty. Stylizacja list w CSS jest kluczowa dla estetyki i czytelności dokumentu, a korzystanie z różnych typów markerów dla różnych rodzajów list potrafi znacząco poprawić organizację treści. Przykładem zastosowania może być dokumentacja techniczna, gdzie numery rzymskie używane są do oznaczania sekcji głównych, a kwadratowe punkty do podpunktów. Tego rodzaju stylizacja jest zgodna z dobrymi praktykami w projektowaniu stron internetowych, które wymaga dobrego zrozumienia CSS i jego właściwości. Ponadto, CSS pozwala na elastyczne dostosowywanie stylów, co jest istotne w kontekście responsywności i dostępności stron.

Pytanie 12

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 LIMIT 3
B. SELECT nazwisko FROM klienci ORDER BY punkty DESC LIMIT 3
C. SELECT LIMIT 3 nazwisko FROM klienci ORDER BY nazwisko DESC
D. SELECT nazwisko FROM klienci ORDER BY nazwisko DESC 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.

Pytanie 13

Zamieszczone poniżej zapytanie SQL przyznaje uprawnienie SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla konta root na serwerze sprzedawca
B. do wszystkich tabel w bazie danych hurtownia
C. do wszystkich kolumn w tabeli hurtownia
D. dla konta root na serwerze localhost
Wybór opcji, która sugeruje, że polecenie nadaje dostęp do wszystkich pól w tabeli hurtownia, jest mylny, ponieważ w SQL uprawnienia są przyznawane na poziomie tabeli, a nie pól. W SQL nie możemy przyznać uprawnień do pojedynczych kolumn w taki sposób, jak sugeruje ta odpowiedź; wyjątkiem są bardziej szczegółowe polecenia, w których można określić kolumny, ale nie w kontekście polecenia GRANT z użyciem znaku <code>*</code>. Innym błędnym wnioskiem jest stwierdzenie, że polecenie dotyczy użytkownika root. Polecenie wskazuje, że uprawnienia są przyznawane użytkownikowi 'sprzedawca' na localhost, a nie użytkownikowi root, który jest administratorem systemu baz danych. Takie nieporozumienia mogą wynikać z nieznajomości struktury użytkowników w MySQL oraz sposobu, w jaki działają uprawnienia. Ważne jest zrozumienie, że w kontekście bezpieczeństwa bazy danych, przyznawanie uprawnień powinno być przemyślane, aby unikać nieautoryzowanego dostępu oraz ograniczać dostęp do danych tylko do tych użytkowników, którzy rzeczywiście go potrzebują. Dbanie o bezpieczeństwo danych w bazie danych jest kluczowe, a niewłaściwe przyznawanie uprawnień może prowadzić do poważnych naruszeń bezpieczeństwa.

Pytanie 14

Jakie typy danych w języku C++ służą do reprezentacji liczb zmiennoprzecinkowych?

A. float, double
B. double, short
C. float, long
D. double, bool
Odpowiedź 'float, double' jest poprawna, ponieważ w języku C++ to właśnie te dwa typy danych są używane do reprezentacji liczb rzeczywistych. Typ 'float' (zmienna pojedynczej precyzji) przechowuje liczby rzeczywiste w formacie zmiennoprzecinkowym, co oznacza, że może reprezentować liczby z częściami dziesiętnymi, ale z ograniczoną precyzją – zazwyczaj do 7 miejsc znaczących. Z kolei typ 'double' (zmienna podwójnej precyzji) oferuje znacznie większą precyzję, umożliwiając reprezentację do 15 miejsc znaczących. Stosowanie tych typów jest kluczowe w kontekście obliczeń naukowych, inżynieryjnych oraz wszędzie tam, gdzie precyzyjne operacje na liczbach rzeczywistych są niezbędne, na przykład w obliczeniach dotyczących grafiki komputerowej czy symulacji fizycznych. C++ przestrzega standardów IEEE 754 dla reprezentacji liczb zmiennoprzecinkowych, co sprawia, że te typy danych są zgodne z innymi językami programowania i technologiami. Dlatego wybór 'float' i 'double' jest zgodny z najlepszymi praktykami programistycznymi, które priorytetowo traktują zarówno wydajność, jak i dokładność obliczeń.

Pytanie 15

Jaką wartość przyjmie zmienna po wykonaniu poniższego fragmentu kodu w JavaScript?

var w=0;
var i=1;
for (i = 1; i < 50; i++)
{
    if (i%2 == 0)
        w += i;
}
A. liczbom naturalnym, które są nieparzyste i mniejsze od 50
B. suma wszystkich naturalnych liczb nieparzystych, które są większe od 50
C. suma naturalnych liczb parzystych, które są mniejsze od 50
D. liczbie naturalnych liczb parzystych większych od 50
Kod przedstawiony w pytaniu jest fragmentem programu JavaScript, który ma za zadanie zsumować wszystkie liczby parzyste mniejsze od 50. Początkowo zmienna w jest ustawiona na 0 i reprezentuje sumę, którą będziemy obliczać. Pętla for zaczyna się od i=1 i iteruje do i<50 zwiększając wartość i o 1 w każdej iteracji. Wewnątrz pętli znajduje się instrukcja warunkowa if, która sprawdza, czy liczba i jest parzysta, co oznacza, że jej reszta z dzielenia przez 2 wynosi 0. Jeśli warunek jest spełniony, liczba i jest dodawana do zmiennej w. W efekcie po zakończeniu pętli zmienna w zawiera sumę wszystkich parzystych liczb mniejszych niż 50. Przykładem praktycznego zastosowania takiego algorytmu może być sytuacja, w której musimy szybko obliczyć sumę określonego zbioru liczb spełniających dane kryterium, co jest częste w analizie danych lub generowaniu raportów. Konstrukcje takie jak pętla for i operator modulo są podstawowymi narzędziami w programowaniu, pozwalającymi na efektywne przetwarzanie danych i automatyzację złożonych operacji obliczeniowych, co jest zgodne z dobrymi praktykami w branży IT.

Pytanie 16

W JavaScript, aby wyodrębnić fragment tekstu pomiędzy wskazanymi indeksami, powinno się zastosować metodę

A. slice()
B. replace()
C. trim()
D. concat()
Metoda slice() w języku JavaScript jest kluczowym narzędziem do wydobywania fragmentów ciągów tekstowych. Umożliwia wyodrębnienie podciągu na podstawie określonych indeksów początkowego i końcowego. Przykładowo, jeśli mamy napis 'JavaScript' i chcemy uzyskać 'Script', możemy użyć slice(4, 10). Indeks początkowy jest wliczany, a końcowy jest wykluczany, co zapewnia elastyczność w manipulacji ciągami. Metoda slice() nie modyfikuje oryginalnego ciągu, co jest zgodne z zasadą immutability w funkcjonalnym programowaniu, zwiększając bezpieczeństwo danych. Metoda ta obsługuje również ujemne indeksy, co pozwala na łatwe wyodrębnianie fragmentów z końca napisu. Warto pamiętać, że slice() jest preferowana, gdyż jest bardziej czytelna i intuicyjna w porównaniu z innymi metodami do manipulacji tekstem, jak substr() czy substring().

Pytanie 17

Hermetyzacja to zasada programowania obiektowego, która wskazuje, że

A. typy pól w klasach i obiektach mogą być zmieniane dynamicznie w zależności od przypisywanych danych.
B. klasy i obiekty mogą dzielić się funkcjonalnością.
C. pola oraz metody, które są używane wyłącznie przez daną klasę lub obiekt, są ograniczane zasięgiem private lub protected.
D. klasy i obiekty mogą mieć zdefiniowane metody wirtualne, które są realizowane w klasach lub obiektach pochodnych.
Pierwsza z zaproponowanych odpowiedzi, dotycząca współdzielenia funkcjonalności przez klasy i obiekty, odnosi się bardziej do dziedziczenia i polimorfizmu, a nie hermetyzacji. W programowaniu obiektowym, dziedziczenie pozwala klasom na wykorzystanie metod i właściwości innych klas, co nie jest bezpośrednio związane z hermetyzacją, która koncentruje się na ograniczaniu dostępu do wewnętrznych komponentów obiektu. Kolejna odpowiedź, mówiąca o metodach wirtualnych, dotyczy koncepcji polimorfizmu, gdzie klasy dziedziczą po sobie i mogą nadpisywać metody. Choć jest to istotny element programowania obiektowego, nie ma związku z hermetyzacją, która skupia się na prywatności danych wewnętrznych. Ostatnia odpowiedź, dotycząca dynamicznej zmiany typów pól w klasach, odnosi się do dynamicznego typowania, co również nie jest związane z hermetyzacją. Hermetyzacja koncentruje się na bezpieczeństwie i izolacji danych, a zmiana typów pól dotyczy raczej sposobu przechowywania danych i ich przetwarzania w czasie działania programu. Te niepoprawne odpowiedzi pokazują różnorodność koncepcji w programowaniu obiektowym, ale żadna z nich nie odnosi się bezpośrednio do istoty hermetyzacji.

Pytanie 18

Który z atrybutów obrazu jest niezbędny w znaczniku

<img src="nowa_lektura.jpg" ...>
aby ułatwić korzystanie ze strony użytkownikom z niepełnosprawnością narządu wzroku?
A. align="middle"
B. alt="technik informatyk"
C. usemap="#lekturamap"
D. "height="42" width="42"
Prawidłowy atrybut to alt="technik informatyk", bo właśnie atrybut alt opisuje treść lub funkcję obrazu i jest kluczowy dla dostępności (accessibility). Czytniki ekranu, z których korzystają osoby niewidome lub słabowidzące, nie „widzą” grafiki – one odczytują tekst alternatywny. Jeśli alt jest dobrze uzupełniony, użytkownik wie, co przedstawia obraz, albo jaką pełni funkcję (np. przycisk, link, ikona). Bez tego opisowego tekstu obraz jest dla takiej osoby po prostu pustym miejscem na stronie. Z punktu widzenia standardów W3C i WCAG jest to jedna z absolutnie podstawowych dobrych praktyk. W wytycznych WCAG 2.x masz wprost zapisane, że treści nietekstowe muszą mieć tekst alternatywny. W praktyce: dla zdjęcia osoby można dać alt="Nauczyciel programowania przy komputerze", dla logo firmy alt="Logo firmy X" (albo pusty alt, jeśli logo jest tylko dekoracją, ale wtedy ważne są inne konteksty), dla przycisku w formie ikonki lupy alt="Szukaj". Moim zdaniem w realnych projektach najczęstszy błąd to wrzucanie przypadkowych tekstów w alt albo zostawianie go pustego, bo „przecież widać na obrazku”. Właśnie w takich sytuacjach użytkownik z niepełnosprawnością jest totalnie wykluczony. Dobrze opisany alt pomaga też, gdy grafika się nie załaduje (słaby internet, błąd ścieżki), bo przeglądarka wyświetli tekst zamiast obrazka. Warto też pamiętać, żeby nie powtarzać w alt tego, co już widać w podpisie bezpośrednio obok, tylko raczej go uzupełnić. W skrócie: alt jest obowiązkowy z punktu widzenia dostępności i jakościowo napisany tekst alternatywny to znak profesjonalnie zrobionej strony WWW.

Pytanie 19

W języku JavaScript obiekt typu array jest wykorzystywany do przechowywania

A. wielu wartości dowolnego typu.
B. wielu wartości wyłącznie liczbowych.
C. wielu wartości lub funkcji.
D. wielu wartości wyłącznie tekstowych.
Obiekt typu array w języku JavaScript jest strukturą danych, która służy do przechowywania wielu wartości dowolnego typu. Można w nim przechowywać liczby, napisy, obiekty, a nawet inne tablice. Dzięki temu arrays są niezwykle elastyczne i użyteczne w tworzeniu aplikacji. W JavaScript tablice są dynamiczne, co oznacza, że można do nich dodawać nowe elementy w trakcie działania programu za pomocą metod takich jak push() i unshift(). Przykład użycia tablicy: let fruits = ['jabłko', 'banan', 42, {color: 'zielony'}, [1, 2, 3]]; w tym przykładzie tablica fruits przechowuje różne typy danych, w tym napisy, liczbę, obiekt oraz inną tablicę. Warto również zauważyć, że tablice w JavaScript są obiektami, co pozwala na wykorzystanie różnych metod i właściwości typowych dla obiektów. Dokumentacja ECMAScript jasno określa zasady działania tablic, co potwierdza ich funkcjonalność jako kolekcji wartości. Warto zrozumieć, że tablice nie są ograniczone do przechowywania jednego typu danych, co czyni je idealnym narzędziem do zarządzania złożonymi zbiorami informacji.

Pytanie 20

Który kod HTML spowoduje identyczne formatowanie jak przedstawione na obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML


  1. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>

  2. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>

  3. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania</i> tekstu w HTML</p>

  4. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>

A. Odpowiedź A
B. Odpowiedź C
C. Odpowiedź D
D. Odpowiedź B
Wybór odpowiedzi C jest trafny, bo stosujesz odpowiednie znaczniki HTML, aby osiągnąć zamierzony efekt formatowania. Przykład świetnie pokazuje, jak używać znaczników <i> i <b>, które służą do pochylania i pogrubiania tekstu. Znak <p> to z kolei paragraf, który odseparowuje tekst i zaczyna nową linię. Tutaj znacznik <i> przed słowem 'paragrafie' sprawia, że jest ono kursywą, a <b> wokół 'zobaczysz' wyróżnia go na pogrubionym tle. To takie podstawowe zasady HTML, które pokazują, jak można różne style formatowania łączyć, żeby uczynić treści bardziej estetycznymi i przyjemnymi do czytania. Warto pamiętać o odpowiednim używaniu znaczników, bo to nie tylko poprawia wygląd, ale też dostępność treści, co jest ważne dla osób korzystających z czytników ekranu. Z mojego doświadczenia, im lepiej rozumiesz te zasady, tym łatwiej tworzyć strony, które będą dobrze odbierane przez użytkowników.

Pytanie 21

Na podstawie przypisania wartości do zmiennych zapisanych w języku PHP można stwierdzić, że

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. zmienna1 i zmienna2 są tego samego typu.
B. Wszystkie zmienne są tego samego typu.
C. zmienna1 i zmienna3 są tego samego typu.
D. zmienna2 i zmienna3 są tego samego typu.
Gratulacje! Wybrałeś poprawną odpowiedź, czyli zmienna2 i zmienna3 są tych samych typów. W kodzie PHP wartość zmiennej1 była liczbą całkowitą (int), natomiast wartość zmiennej2 była ciągiem znaków (string). Zmienna3 natomiast była wynikiem rzutowania zmiennej1 na typ string. Stąd wynika, że zmienna2 i zmienna3 są obie typu string. Rzutowanie to operacja konwersji jednego typu danych na inny, co jest powszechną praktyką w programowaniu. Używane jest, na przykład, kiedy chcemy porównać dwa różne typy danych lub chcemy je połączyć. Pamiętaj jednak, że PHP jest językiem o dynamicznych typach, co oznacza, że typ zmiennej może ulec zmianie w trakcie wykonania skryptu. Dlatego zawsze warto mieć na uwadze typy zmiennych, z którymi pracujesz.

Pytanie 22

Organizacja społeczna, która skupia pracowników i ma na celu nadzorowanie warunków pracy oraz ochronę ich praw i interesów zawodowych, to

A. komisja BHP
B. Straż Pożarna
C. związek zawodowy
D. kierownik zakładu
Związek zawodowy to organizacja społeczna, która zrzesza pracowników w celu obrony ich praw oraz reprezentowania ich interesów zawodowych. Głównym zadaniem związków zawodowych jest monitorowanie warunków pracy i walka o poprawę sytuacji w miejscu zatrudnienia, co jest kluczowe w kontekście ochrony praw pracowniczych. Przykłady działań związków zawodowych obejmują negocjacje zbiorowych umów pracy, które mogą regulować wynagrodzenia, czas pracy oraz inne istotne aspekty zatrudnienia. Związki zawodowe mają również na celu wspieranie pracowników w sytuacjach konfliktowych z pracodawcą, co może obejmować mediacje czy nawet strajki w przypadku naruszeń ich praw. Działalność związków zawodowych opiera się na Kodeksie pracy oraz przepisach prawa dotyczących związków zawodowych, co zapewnia im legitymację prawną do działania. Warto także zauważyć, że związki zawodowe są istotnym elementem demokratycznych systemów pracy, promując dialog społeczny i współpracę z pracodawcami oraz rządem w celu osiągnięcia korzystnych warunków dla wszystkich stron.

Pytanie 23

Wskaż poprawną definicję stylu CSS dla przycisku typu submit o właściwościach: czarny kolor tła, brak obramowania, marginesy wewnętrzne 5 px.

input[type=submit] {
  background-color: #000000;
  border: none;
  padding: 5px;
}                         A.

input[type=submit] {
  background-color: #ffffff;
  border: none;
  padding: 5px;
}                         B.

input=submit {
  background-color: #000000;
  border: none;
  margin: 5px;
}                         C.

input=submit {
  background-color: #000000;
  border: 0px;
  margin: 5px;
}                         D.
A. A.
B. B.
C. C.
D. D.
Dobrze! Wybrałeś prawidłową odpowiedź. Odpowiedź A jest poprawna, ponieważ to styl CSS dla przycisku typu submit spełnia wszystkie podane wymagania. Wygląda to mniej więcej tak: 'input[type='submit'] { background-color: black; border: none; padding: 5px; }'. 'input[type='submit']' to selektor, który wskazuje elementy wejściowe o typie 'submit'. Następnie, wewnątrz nawiasów klamrowych, mamy trzy deklaracje. 'background-color: black;' określa, że przycisk ma czarne tło. 'border: none;' usuwa wszelkie obramowanie. 'padding: 5px;' ustawia marginesy wewnętrzne na 5 pikseli. Pisanie czystego i efektywnego kodu CSS jest kluczową umiejętnością dla każdego doświadczonego dewelopera front-endu. Dobrze napisane style CSS mogą znacznie poprawić wydajność strony internetowej i ułatwić jej utrzymanie.

Pytanie 24

W dokumentacji języka PHP znajduje się informacja dotycząca jednej z jego funkcji:
„Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.”.
Zgodnie z tą informacją użycie tej funkcji jest:

A. dostępne w wersjach PHP od 5.5.0 do 7.0.0 (włącznie) i niedostępne w innych wersjach.
B. niemożliwe w wersjach PHP 5.5.0 lub starszych i dostępne dopiero od wersji 7.0.0.
C. niezalecane w wersji PHP 5.5.0 i dostępne od wersji 7.0.0.
D. przestarzałe od wersji PHP 5.5.0 i całkowicie usunięte w wersji 7.0.0.
Komunikat z dokumentacji PHP „Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.” oznacza dwa różne stany w cyklu życia funkcji/rozszerzenia. „Deprecated” od wersji 5.5.0 znaczy, że funkcja nadal działa, ale jej użycie jest oficjalnie niezalecane. Silnik PHP może generować ostrzeżenia (E_DEPRECATED), a autorzy języka jasno sugerują, żeby migrować kod na nowsze, wspierane rozwiązania. „Removed w PHP 7.0.0” oznacza, że od tej wersji funkcja po prostu nie istnieje – próba jej użycia skończy się błędem typu „undefined function” lub „undefined extension”. Z mojego doświadczenia wynika, że taki status to sygnał alarmowy dla programisty: w nowych projektach nie używamy funkcji oznaczonych jako deprecated, a w istniejących aplikacjach planujemy refaktoryzację, zanim wejdziemy na wyższą wersję PHP. Dobrym przykładem jest stare rozszerzenie mysql_* – od PHP 5.5 było oznaczone jako przestarzałe, a w PHP 7 zostało usunięte i trzeba było przejść na mysqli lub PDO. W praktyce, gdy widzisz w dokumentacji „deprecated od wersji X”, powinieneś: sprawdzić zalecaną alternatywę, włączyć raportowanie błędów i ostrzeżeń na środowisku developerskim, usunąć stopniowo wszystkie wywołania danej funkcji. Branżową dobrą praktyką jest też testowanie aplikacji na docelowej wersji PHP przed aktualizacją produkcji, żeby właśnie takie usunięte funkcje wyłapać automatycznie w logach lub podczas testów jednostkowych. Twoja odpowiedź dokładnie to odczytała: od 5.5 funkcja jest przestarzała (deprecated), a w 7.0 całkowicie znika z języka.

Pytanie 25

Fragment formularza zaprezentowany powyżej został przetworzony w skrypcie PHP. Wskaż poprawny sposób pobierania wartości z pola edycyjnego.

Ilustracja do pytania
A. name = $_GET[imie]
B. name = GET['imie']
C. $name = $_POST['imie']
D. $name = $POST['Imię']
Prawidłowe pobranie wartości z formularza przesłanego metodą POST w języku PHP wymaga użycia globalnej tablicy asocjacyjnej $_POST. W kontekście tego pytania, zmienna $name zostaje przypisana wartości wprowadzonej do pola edycyjnego o nazwie imie. Kluczowym aspektem jest zrozumienie różnic między metodami GET i POST w HTTP. Metoda POST jest często preferowana do przesyłania danych formularzy, ponieważ umożliwia przesyłanie większych ilości danych i oferuje większe bezpieczeństwo, ponieważ dane nie są widoczne w adresie URL. Użycie $_POST['imie'] jest zgodne z dobrymi praktykami, a także zgodne z zasadami bezpieczeństwa takimi jak sanitizacja danych wejściowych i walidacja. Przykładowo można użyć filtrów: $name = filter_input(INPUT_POST 'imie' FILTER_SANITIZE_STRING); co zapobiega wstrzyknięciom kodu. Takie podejście jest zgodne z najlepszymi praktykami programowania w PHP i zapewnia bezpieczeństwo oraz niezawodność aplikacji. Zrozumienie tych mechanizmów jest kluczowe w tworzeniu bezpiecznych i efektywnych aplikacji webowych.

Pytanie 26

Aby przekształcić obraz w formacie PNG tak, by jego tło stało się przezroczyste, wymagane jest

A. ulepszenie nasycenia kolorów.
B. dodanie kanału alfa.
C. odpowiednie przycięcie.
D. zapisanie go w formacie BMP.
Dodanie kanału alfa do obrazu w formacie PNG jest kluczowe dla uzyskania przezroczystego tła. Kanał alfa to dodatkowa warstwa informacji w obrazie, która definiuje przezroczystość każdego piksela. Dzięki niemu, obrazy PNG mogą przechowywać informacje o tym, które części obrazu są całkowicie przezroczyste, częściowo przezroczyste lub całkowicie nieprzezroczyste. To oznacza, że stosując kanał alfa, możemy tworzyć złożone efekty wizualne, takie jak cienie czy gradienty, które są nieosiągalne w formatach nieobsługujących przezroczystości, jak JPEG. W praktyce, dodanie kanału alfa można zrealizować w programach graficznych, takich jak Adobe Photoshop czy GIMP, za pomocą opcji 'Dodaj kanał alfa' w menu warstw. Umożliwia to edytowanie tła obrazu, eliminację niepożądanych elementów oraz integrację z różnymi tłem w dokumentach i stronach internetowych, co jest szczególnie istotne w projektowaniu graficznym i web designie. Zatem, znajomość obsługi kanału alfa oraz umiejętność pracy z formatem PNG są niezbędne dla profesjonalnych grafików w nowoczesnym środowisku projektowym.

Pytanie 27

Kod```SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)```wybiera

A. imiona, numery PESEL oraz wiek osób w wieku dokładnie 18 lub 30 lat
B. imiona, numery PESEL oraz wiek osób mieszczących się w przedziale od 18 do 30 lat
C. imiona, nazwiska oraz numery PESEL osób, które mają mniej niż 18 lat
D. imiona, numery PESEL oraz wiek osób, które mają więcej niż 30 lat
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL `SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)` w sposób precyzyjny selekcjonuje dane tylko dla osób, których wiek wynosi dokładnie 18 lub 30 lat. Użycie operatora `IN` pozwala na wskazanie konkretnych wartości, które nas interesują, w tym przypadku są to dwa liczby: 18 i 30. Takie podejście jest zgodne z najlepszymi praktykami w tworzeniu zapytań SQL, gdyż umożliwia efektywne filtrowanie danych i minimalizowanie obciążenia bazy danych poprzez ograniczenie ilości przetwarzanych rekordów. W kontekście aplikacji, które wymagają analizy danych demograficznych, na przykład w systemach monitorujących wiek klientów, tego typu zapytania są niezwykle przydatne. Pozwalają na szybkie wyciąganie informacji potrzebnych do podejmowania decyzji, jak na przykład dostosowywanie ofert marketingowych do określonych grup wiekowych. Przykładowo, w instytucji finansowej analiza wieku klientów może być kluczowa w tworzeniu ofert produktów kredytowych skierowanych do osób młodych oraz do tych w średnim wieku, co pozwala na lepsze zrozumienie i zaspokojenie ich potrzeb.

Pytanie 28

W ramce przedstawiono kod JavaScript z błędem logicznym. Program powinien wypisywać informację, czy liczby są sobie równe, czy nie, lecz nie wykonuje tego. Wskaż odpowiedź, która dotyczy błędu.

var x=5;
var y=3;
if(x=y) document.getElementById("demo").innerHTML='zmienne są równe';
else    document.getElementById("demo").innerHTML='zmienne się różnią';
A. Zawartość sekcji if oraz else powinna być zamieniona miejscami
B. Zmienne zostały zadeklarowane w niewłaściwy sposób
C. Brak średnika przed klauzulą else
D. W klauzuli if użyto przypisania zamiast porównania
W analizowanym kodzie JavaScript występuje błąd związany z użyciem operatora przypisania zamiast operatora porównania w klauzuli if. W języku JavaScript do porównania dwóch wartości używa się operatora '===' lub '=='. Operator '=' to operator przypisania, który przypisuje wartość z prawej strony do zmiennej po lewej stronie. W kontekście warunków if, należy użyć operatora porównania, aby ocenić, czy dwie zmienne są równe. W poprawnej wersji kodu, linia if x = y powinna być zmieniona na if (x === y). Dodatkowo, warto pamiętać o umieszczeniu wartości porównawanych w nawiasach, co zwiększa czytelność i poprawność kodu. Przykład prawidłowego kodu to: var x = 5; var y = 3; if (x === y) { document.getElementById('demo').innerHTML = 'zmienne są równe'; } else { document.getElementById('demo').innerHTML = 'zmienne się różnią'; }. Taki zapis zapewnia, że program poprawnie zidentyfikuje różnicę między zmiennymi x i y i odpowiednio wyświetli komunikat.

Pytanie 29

Który z opisów komentarza odzwierciedla działanie funkcji zdefiniowanej w języku PHP ```function fun1($a, $b) { if($a > $b) return $a; elseif($b > $a) return $b; else return -1; }```?

A. /* Funkcja zwraca niższą wartość spośród dwóch podanych, w przypadku równości zwraca -1 */
B. /* Funkcja zwraca niższą wartość spośród dwóch podanych, w przypadku równości zwraca wartość $a */
C. /* Funkcja zwraca wyższą wartość spośród dwóch podanych, w przypadku równości zwraca -1 */
D. /* Funkcja zwraca wyższą wartość spośród dwóch podanych, w przypadku równości zwraca wartość $a */
Funkcja `fun1` w języku PHP ma na celu porównanie dwóch wartości przekazanych jako argumenty `$a` i `$b`. Zastosowana logika w funkcji jest jasna: jeśli `$a` jest większe od `$b`, funkcja zwraca wartość `$a`; jeśli `$b` jest większe, zwraca wartość `$b`. W przypadku, gdy obie wartości są równe, funkcja zwraca -1, co jasno wskazuje na brak różnicy między tymi wartościami. Takie podejście jest zgodne z dobrymi praktykami programistycznymi, ponieważ funkcje powinny być jednoznaczne i przewidywalne w swoim działaniu. Wykorzystanie zwracania wartości -1 jako wskaźnika równości jest ciekawym rozwiązaniem, które może być przydatne w dalszej logice aplikacji, gdzie różne kody zwrotne mogą reprezentować różne stany. W praktycznych zastosowaniach taka funkcja mogłaby być używana w algorytmach sortujących lub w analizach danych, gdzie potrzeba porównania wartości jest powszechna. Dobrą praktyką jest także dokumentowanie funkcji, aby inni programiści mogli łatwo zrozumieć jej działanie i zastosowanie.

Pytanie 30

Skrypt strony internetowej stworzony w PHP

A. jest przetwarzany na tych samych zasadach co JavaScript
B. jest realizowany po stronie klienta
C. jest realizowany po stronie serwera
D. może być uruchomiony bez wsparcia serwera WWW
Kod strony WWW napisanej w języku PHP jest wykonywany po stronie serwera, co oznacza, że cały proces przetwarzania kodu zachodzi na serwerze, zanim strona zostanie wysłana do przeglądarki użytkownika. PHP jest językiem skryptowym, który generuje dynamiczne treści oraz może wchodzić w interakcje z bazami danych, co czyni go niezwykle efektywnym narzędziem do tworzenia aplikacji webowych. Przykładowo, gdy użytkownik wysyła formularz, skrypt PHP na serwerze może przetworzyć dane, a następnie wygenerować odpowiednią stronę HTML, która jest następnie przesyłana do klienta. Dodatkowo, PHP wspiera różne standardy, takie jak RESTful API, co pozwala na łatwe integrowanie z innymi systemami oraz aplikacjami. Warto także zauważyć, że PHP ma szeroką gamę frameworków, takich jak Laravel czy Symfony, które jeszcze bardziej ułatwiają rozwój aplikacji webowych poprzez dostarczanie gotowych rozwiązań oraz najlepszych praktyk. Z tego względu, znajomość PHP oraz jego działania po stronie serwera jest kluczowa dla każdego dewelopera webowego, który pragnie tworzyć nowoczesne i efektywne aplikacje.

Pytanie 31

Wskaż przycisk sformatowany przedstawionym stylem CSS.

#przycisk {
    background-color: white;
    padding: 10px;
    border-width: 2px;
    border-bottom-style: dashed;
}



Przycisk 1

Przycisk 2

Przycisk 3

Przycisk 4
A. Przycisk 1
B. Przycisk 2
C. Przycisk 3
D. Przycisk 4
Niestety, twoja odpowiedź nie była prawidłowa. Wybór innego przycisku niż Przycisk 2 sugeruje, że mogłeś nie do końca zrozumieć, jak działa selekcja i stylizacja elementów za pomocą CSS. Białe tło, odstęp wewnętrzny 10 pikseli, szerokość obramowania 2 piksele oraz przerywana dolna krawędź obramowania są elementami, które zostały ustawione w stylach CSS dla przycisku 2. Pozostałe przyciski miały inne cechy, które nie były zgodne z opisanym stylem CSS. Przy niewłaściwym wyborze przycisku lub innego elementu do stylizacji, strona może nie wyglądać zgodnie z zamierzeniem, co może negatywnie wpłynąć na doświadczenie użytkownika. Dlatego ważne jest, aby zrozumieć, jak działa selekcja i stylizacja CSS. Pamiętaj, że zrozumienie CSS to klucz do tworzenia atrakcyjnych i funkcjonalnych projektów webowych.

Pytanie 32

Kwerenda ALTER TABLE artykuly MODIFY cena float ma na celu wykonanie modyfikacji w tabeli artykuly?

A. wprowadzić kolumnę cena o typie float, o ile jeszcze nie istnieje
B. usunąć kolumnę cena, która jest typu float
C. zmienić nazwę kolumny cena na float
D. zmienić typ na float dla kolumny cena
Kwerenda ALTER TABLE artykuly MODIFY cena float ma na celu zmianę typu kolumny 'cena' w tabeli 'artykuly' na typ float. Typ float jest używany do przechowywania liczb zmiennoprzecinkowych, co jest szczególnie przydatne w przypadku cen, które mogą mieć ułamkowe wartości. Przykładem zastosowania tej kwerendy może być sytuacja, w której początkowo kolumna 'cena' była zdefiniowana jako typ integer, co ograniczałoby możliwość przechowywania wartości takich jak 19.99. Zmiana typu na float pozwala na większą precyzję, co jest zgodne z najlepszymi praktykami w zarządzaniu danymi finansowymi. Ważne jest, aby przed zmianą typu kolumny upewnić się, że wszystkie istniejące dane są zgodne z nowym typem, aby uniknąć błędów konwersji. Ostatecznie, korzystając z tego polecenia, dbamy o integralność danych oraz ich prawidłowe reprezentowanie, co jest kluczowe w każdej aplikacji związanej z zarządzaniem danymi.

Pytanie 33

W SQL wykorzystywanym przez system baz danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
B. Zabrania wprowadzenia wartości NULL
C. Jest stosowany wyłącznie w przypadku kolumn liczbowych
D. Wymusza unikalne nazwy kolumn w tabeli
Istnieje kilka powszechnych nieporozumień dotyczących atrybutu UNIQUE w kontekście relacyjnych baz danych, które mogą prowadzić do błędnych wniosków. Przede wszystkim, twierdzenie, że atrybut UNIQUE wymusza unikatowe nazwy pól tabeli, jest nieprecyzyjne. UNIKATOWOŚĆ odnosi się do wartości przechowywanych w kolumnie, a nie do nazw kolumn. W rzeczywistości, nowa kolumna nie może mieć takiej samej nazwy jak istniejąca kolumna w tej samej tabeli, co jest regułą odzwierciedlającą strukturalne ograniczenia bazy danych, ale nie ma to związku z atrybutem UNIQUE. Ponadto, atrybut ten nie blokuje możliwości wpisania wartości NULL w kolumnach. W MySQL, kolumna z atrybutem UNIQUE może zawierać wiele wartości NULL, ponieważ NULL jest traktowane jako wartość nieokreślona i nie jest uważane za duplikat. Dlatego stwierdzenie, że UNIQUE blokuje możliwość wpisania wartości NULL, jest mylące. Co więcej, atrybut UNIQUE nie jest ograniczony tylko do pól liczbowych; może być zastosowany do dowolnego typu danych, w tym tekstowych czy datowych. Stosowanie UNIQUE w zbiorach danych, które nie wymagają unikalności, może prowadzić do zbędnych błędów i komplikacji podczas wprowadzania danych. Dlatego ważne jest, aby zrozumieć, że atrybut ten odnosi się do wartości w kolumnach, a nie do ich typów czy nazw, co jest kluczowe dla efektywnego projektowania baz danych.

Pytanie 34

Jakie zdarzenie należy wykorzystać, aby funkcja JavaScript była aktywowana za każdym razem, gdy użytkownik wprowadza jakikolwiek znak w polu tekstowym?

A. onclick
B. onmouseout
C. onkeydown
D. onload
Funkcja JavaScript, która ma być wywoływana za każdym razem, gdy użytkownik wpisuje dowolny znak do pola edycji, powinna korzystać ze zdarzenia 'onkeydown'. Zdarzenie to jest wywoływane w momencie naciśnięcia klawisza, co oznacza, że natychmiast odzwierciedla zmiany wprowadzone przez użytkownika. Dzięki temu możemy w czasie rzeczywistym reagować na dane wprowadzane przez użytkownika, co jest niezwykle przydatne w aplikacjach interaktywnych. Przykładowo, jeśli mamy pole tekstowe, w którym użytkownik wprowadza swoje imię, możemy użyć zdarzenia 'onkeydown', aby sprawdzić, czy imię nie jest za krótkie lub nie zawiera niedozwolonych znaków. Można to zrealizować w następujący sposób: <input type='text' onkeydown='myFunction()'>. Standardy W3C definiują zdarzenia klawiaturowe jako kluczowy element interakcji użytkownika z aplikacjami webowymi, co czyni 'onkeydown' bardzo istotnym w kontekście UX/UI.

Pytanie 35

Aby ustalić wysokość grafiki wyświetlanej na stronie internetowej, należy użyć właściwości CSS o nazwie

A. padding
B. margin
C. height
D. width
Odpowiedź 'height' jest prawidłowa, ponieważ właściwość CSS o tej nazwie bezpośrednio określa wysokość elementu na stronie internetowej. Używając 'height', możemy zdefiniować wartość w pikselach, procentach lub innych jednostkach miary, co pozwala na precyzyjne dostosowanie wyglądu elementów do wymagań projektu. Na przykład, zdefiniowanie wysokości obrazka jako 'height: 200px;' sprawi, że obrazek zawsze będzie miał 200 pikseli wysokości, niezależnie od jego oryginalnych wymiarów. Dobrą praktyką jest również używanie wartości procentowych, które pozwalają na responsywne projektowanie, dostosowujące się do różnych rozmiarów ekranu. Ponadto, warto wspomnieć o zastosowaniu 'min-height' i 'max-height', które umożliwiają kontrolowanie minimalnych i maksymalnych wymiarów elementów, co jest pomocne w tworzeniu elastycznych i estetycznych układów stron. Ponadto, definiując wysokość obrazków, warto pamiętać o zachowaniu proporcji poprzez odpowiednie użycie również właściwości 'width'.

Pytanie 36

Które z przedstawionych usług są niezbędne w celu udostępnienia strony internetowej pod adresem https://zawodowe.edu.pl?

A. SMTP, FTP
B. DNS, serwer WWW, certyfikat SSL
C. serwer WWW, SMTP, POP3
D. DNS, FTP
Poprawnie wybrałeś zestaw usług, które są faktycznie niezbędne, żeby strona działała pod adresem https://zawodowe.edu.pl. Po pierwsze DNS – bez tej usługi użytkownik musiałby wpisywać w przeglądarce adres IP serwera, a nie przyjazną nazwę domenową. Serwer DNS przechowuje rekordy, np. typu A lub AAAA, które mapują nazwę „zawodowe.edu.pl” na konkretny adres IP. W praktyce konfigurujesz to u rejestratora domeny albo w panelu hostingowym i dopiero wtedy domena zaczyna „wskazywać” na serwer WWW. Drugi element to serwer WWW (HTTP/HTTPS), czyli oprogramowanie typu Apache, Nginx, LiteSpeed czy IIS, które obsługuje żądania HTTP od przeglądarki, zwraca pliki HTML, CSS, JS, grafiki i generuje odpowiedzi dynamiczne (np. z PHP). Bez działającego serwera WWW sama domena byłaby bezużyteczna – przeglądarka po prostu nie miałaby skąd pobrać treści strony. Trzeci składnik, często niedoceniany, to certyfikat SSL/TLS. Ponieważ adres zaczyna się od https://, połączenie musi być szyfrowane zgodnie ze standardem TLS. Certyfikat SSL potwierdza tożsamość serwera i umożliwia nawiązanie bezpiecznego kanału komunikacyjnego (szyfrowanie, integralność, uwierzytelnienie). W praktyce oznacza to brak ostrzeżeń w przeglądarce typu „Połączenie nie jest bezpieczne” oraz spełnienie aktualnych wymogów bezpieczeństwa i RODO, szczególnie jeśli na stronie są formularze logowania czy kontaktowe. Dobre praktyki branżowe mówią dziś jasno: każda strona z logowaniem, danymi użytkowników, a tak naprawdę praktycznie każda publiczna witryna powinna działać wyłącznie w HTTPS, najlepiej z automatycznym odnowieniem certyfikatu (np. Let’s Encrypt). Moim zdaniem warto od razu przyzwyczajać się do poprawnej konfiguracji: DNS ustawiony na właściwe rekordy, serwer WWW skonfigurowany pod daną domenę (VirtualHost/ServerName) oraz poprawnie zainstalowany certyfikat SSL z przekierowaniem z HTTP na HTTPS.

Pytanie 37

W tabeli samochody w bazie danych, pole kolor może przyjmować jedynie wartości zdefiniowane w słowniku lakier. Jaką kwerendę należy wykorzystać, aby ustanowić relację między tabelami samochody a lakier?

A. ALTER TABLE samochody ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
B. ALTER TABLE samochody ADD FOREIGN KEY kolor REFERENCES lakier;
C. ALTER TABLE samochody ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
D. ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
Pierwsza z niepoprawnych odpowiedzi próbuje dodać klucz obcy do kolumny 'kolor', ale brakuje w niej określenia, którego atrybutu z tabeli 'lakier' używamy. Wartości 'kolor' muszą odnosić się do konkretnego identyfikatora z tabeli 'lakier', a tym identyfikatorem jest 'lakierId'. Bez tego precyzyjnego odniesienia, kwerenda nie będzie mogła zostać wykonana. Druga odpowiedź, mimo że poprawnie odnosi się do właściwego pola, używa błędnej składni. W kontekście SQL klucz obcy musi być zdefiniowany poprzez wskazanie kolumny, do której odnosi się klucz główny w innej tabeli, co w przypadku tej odpowiedzi jest pominięte przy użyciu zewnętrznej referencji do kolumny 'lakierId'. Trzecia odpowiedź jest błędna, ponieważ odnosi się do kolumny 'barwa', która nie istnieje w tabeli 'samochody', co sprawia, że kwerenda jest niepoprawna. Ostatecznie, czwarta odpowiedź, która próbuje użyć kolumny 'barwa' i odnosić się do kolumny 'kolor', jest niepoprawna, ponieważ również nie wskazuje na prawidłową kolumnę w tabeli 'lakier'. W związku z tym, wszystkie te odpowiedzi nie spełniają wymagań do prawidłowego zdefiniowania klucza obcego w bazie danych.

Pytanie 38

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

A. 1 .. 1
B. n .. n
C. 1 .. n
D. n .. 1
Odpowiedź 1 .. 1 jest prawidłowa, ponieważ opisuje relację, w której każdemu rekordowi w jednej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli. Taka relacja jest często wykorzystywana w systemach baz danych, gdzie klucz główny jednej tabeli jest jednocześnie kluczem obcym w drugiej tabeli. Przykładem może być relacja między tabelą 'Użytkownicy' a tabelą 'Profile', gdzie każdy użytkownik ma dokładnie jeden profil, a każdy profil jest przypisany do jednego użytkownika. W kontekście standardów baz danych, relacje 1 .. 1 pomagają w eliminacji redundancji danych i zapewniają integralność danych. Dobrą praktyką jest stosowanie takich relacji w sytuacjach, gdy dane mogą być logicznie podzielone, ale nie powinny być powielane. Inne podejścia, jak relacje 1 .. n czy n .. n, mogą prowadzić do większej złożoności w modelowaniu danych oraz potencjalnych problemów z integralnością danych, dlatego stosowanie relacji 1 .. 1 jest korzystne dla przejrzystości i efektywności struktury bazy danych.

Pytanie 39

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. kanał alpha
B. gradient okrągły
C. gradient liniowy
D. zmianę intensywności kolorów
Zmiana nasycenia odnosi się do modyfikacji intensywności barwy co wpływa na żywość kolorów w obrazie ale nie tworzy efektu płynnego przejścia jak gradient. Jest użyteczna w poprawianiu wyglądu zdjęć gdzie chce się podkreślić lub stonować barwy lecz nie daje efektu gradientowego. Kanał alpha z kolei to komponent definiujący przezroczystość pikseli w obrazie. Manipulacja kanałem alpha jest kluczowa w tworzeniu efektów przeźroczystości i maskowania ale nie jest związana z tworzeniem przejść kolorystycznych. Gradient kołowy natomiast to efekt przejścia kolorów od środka na zewnątrz w formie okręgu co zupełnie różni się od gradientu liniowego który działa w linii prostej. Gradienty kołowe są stosowane w sytuacjach gdy wymagane jest centralne skupienie uwagi jak w przypadku projektowania ikon lub tła gdzie ważna jest symetria. Typowym błędem jest mylenie podstawowych funkcji narzędzi graficznych dlatego zrozumienie ich specyfiki i zastosowania w praktyce jest kluczowe dla profesjonalnego projektowania wizualnego. Właściwe wykorzystanie narzędzi graficznych oparte jest na znajomości ich możliwości oraz ograniczeń co prowadzi do efektywnego tworzenia wysokiej jakości projektów graficznych zgodnych ze standardami branżowymi.

Pytanie 40

Które wartości będą przechowywane w zmiennych po wykonaniu przedstawionej pętli języka PHP?

$i = 20;    $a = 0;
while($i) {
  $a += 2;
  $i--;
}
A. a = 20, i = 20
B. a = 40, i = 0
C. a = 0, i = 20
D. a = 40, i = 20
Odpowiedź jest poprawna, ponieważ zrozumienie jak działa pętla w języku PHP jest kluczowe dla efektywnej pracy z tym językiem. W tym przypadku mamy do czynienia z pętlą, która zaczyna się od wartości i = 20 i w każdej iteracji zmniejsza wartość i o 1, aż dojdzie do 0, kończąc pętlę. Zmienna 'a' jest zwiększana o 2 w każdej iteracji, co daje nam finalną wartość a = 40 po 20 iteracjach. To jest kluczowe dla zrozumienia, jak zmienne są aktualizowane i przechowywane w pętli PHP. Przykład ten pokazuje, jak można wykorzystać pętle do wykonywania powtarzalnych operacji na danych, co jest podstawowym elementem programowania. Pamiętaj, że zrozumienie, jak działa pętla, jest kluczowe do tworzenia efektywnych i wydajnych programów, nie tylko w PHP, ale w każdym języku programowania.