Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 10 sierpnia 2026 19:12
  • Data zakończenia: 10 sierpnia 2026 19:45

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

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. określa tablicę zawierającą sześć wartości
B. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
C. definiuje tablicę z trzema wartościami
D. jest niepoprawny, nieznany operator =>
W tym przypadku mówimy o tablicach w PHP, które są podstawą zarządzania danymi w tym języku. Jednak stwierdzenie, że tablice asocjacyjne mogą mieć tylko klucze liczbowe, to nieprawda. W rzeczywistości klucze asocjacyjne mogą być wszelkimi wartościami skalarnymi, a najczęściej używa się ciągów znaków dla lepszej czytelności kodu. Operator '=>' w PHP jest powszechnie stosowany do przypisywania wartości do kluczy tablic asocjacyjnych, co jest totalnie normalne. Wydaje mi się, że błędne rozumienie tego operatora może pochodzić z braku praktyki z PHP albo z mieszania z innymi językami. Przykład zawiera trzy pary klucz-wartość, więc twierdzenie, że definiuje sześć wartości, jest grube nieporozumienie. Zrozumienie, jak PHP działa z tablicami, jest kluczowe, zwłaszcza w aplikacjach webowych, bo tablice są mega przydatne do przetwarzania danych. Dlatego warto przyłożyć się do analizowania struktury tych tablic, co pomoże unikać błędów w projektach.

Pytanie 2

Aby wstawić w napisie (zmiennej typu string) złamanie linii, należy użyć znaku:

A.
\b
B.
\t
C.
\n
D.
\\
Sekwencja \n to tak zwany znak nowej linii (newline). W napisie ukośnik wsteczny rozpoczyna sekwencję sterującą, a litera po nim określa jej znaczenie - \n oznacza przejście do nowej linii. Dzięki temu można formatować wieloliniowy tekst zapisany w jednej zmiennej, bez fizycznego entera w kodzie. To powszechna konwencja w wielu językach (m.in. JavaScript, PHP, C). Dlatego do złamania linii w napisie służy właśnie \n.

Pytanie 3

Który z poniższych obrazów został sformatowany przy użyciu zaprezentowanego stylu CSS?

Ilustracja do pytania
A. A
B. D
C. B
D. C
Odpowiedź A jest prawidłowa, ponieważ zastosowane style CSS dokładnie odzwierciedlają podany kod. Styl img { padding: 5px; border: 1px solid grey; border-radius: 10px; } oznacza, że obrazek otrzymuje wewnętrzny margines o wartości 5 pikseli, szary, jednopikselowy, ciągły obramowanie oraz zaokrąglenie narożników o promieniu 10 pikseli. Efektem tego jest estetyczny wygląd, który umożliwia lepszą prezentację treści graficznych w projektach webowych. Padding pozwala na uzyskanie równowagi wizualnej, natomiast border-radius zapewnia miękkość krawędzi, co jest często stosowane w nowoczesnym web designie. Praktycznym zastosowaniem takich stylów jest m.in. tworzenie kart wizualnych na stronach internetowych, gdzie estetyka i czytelność są kluczowe. Dobrym przykładem jest stosowanie tych technik w responsywnych projektach, gdzie obrazy muszą dobrze współgrać z różnymi elementami interfejsu użytkownika. CSS umożliwia tworzenie atrakcyjnych wizualnie stron, które przyciągają uwagę i poprawiają interakcję użytkownika z treścią.

Pytanie 4

W CSS zdefiniowano regułę

input:focus { background-color: LightGreen; }
Kiedy pole edycyjne będzie miało jasnozielone tło?
A. jeśli to pierwsze wystąpienie tego elementu w dokumencie
B. po kliknięciu w nie, gdy jest aktywne do wpisywania tekstu
C. gdy zostanie najechane kursorem (bez kliknięcia)
D. w każdej sytuacji
:focus nie odnosi się do pierwszego wystąpienia elementu ani nie działa „w każdej sytuacji”. Reakcja na samo najechanie kursorem (bez kliknięcia) to :hover, a nie :focus. Jasnozielone tło pojawi się, gdy pole stanie się aktywne do wpisywania tekstu.

Pytanie 5

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

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

Pytanie 6

tr:nth-child(even) {background-color: #F2F2F2;}
Zastosowane formatowanie selektora tr:nth-child(even) spowoduje:
A. wypełnienie szarym tłem parzystych wierszy tabeli.
B. wypełnienie wszystkich wierszy tabeli szarym tłem.
C. oddzielenie wierszy nieparzystych od parzystych wierszem z szarym tłem.
D. wypełnienie szarym tłem nieparzystych wierszy tabeli.
W tym zadaniu kluczowe jest zrozumienie, jak dokładnie działa funkcja nth-child() w CSS oraz co oznaczają słowa kluczowe even i odd. Wiele osób intuicyjnie myli te pojęcia i zakłada, że selektor zadziała trochę „magicznie”, np. tylko na wybrane elementy, albo że numeracja zaczyna się od zera. Tymczasem przeglądarka liczy dzieci danego elementu rodzica od 1 w górę, w kolejności ich występowania w drzewie DOM. Słowo kluczowe even oznacza wszystkie elementy o indeksach parzystych: 2, 4, 6, 8 itd. Dlatego tr:nth-child(even) nie może oznaczać wypełnienia nieparzystych wierszy tabeli – do tego służyłby selektor tr:nth-child(odd). Pomylenie even z odd to bardzo typowy błąd, zwłaszcza na początku nauki CSS, bo nazwy są krótkie i łatwo je skojarzyć odwrotnie, niż trzeba. Kolejne nieporozumienie to przekonanie, że nth-child(even) obejmuje wszystkie wiersze tabeli. Gdyby chodziło o wszystkie wiersze <tr>, wystarczyłby prosty selektor tr bez nth-child. Funkcja nth-child() zawsze wybiera tylko pewien podzbiór dzieci, zgodnie z podanym wzorem, więc mówienie, że styl z taką funkcją dotyczy wszystkich elementów, jest po prostu sprzeczne z definicją tej konstrukcji w specyfikacji CSS. Pojawia się też czasem myśl, że taka reguła ma jakiś „separujący” charakter, czyli że wstawia wizualny wiersz oddzielający nieparzyste i parzyste rekordy. CSS nie dodaje nowych elementów do DOM, on tylko styluje te, które już istnieją. tr:nth-child(even) nie tworzy żadnego dodatkowego wiersza, nie wstawia separatorów, po prostu zmienia tło wybranych istniejących wierszy, zgodnie z parzystością ich indeksu. W praktyce, jeśli chcemy mieć efekt wyraźnego rozdzielenia wierszy, używa się obramowań (border), cieni lub właśnie naprzemiennego kolorowania, ale zawsze w ramach istniejących <tr>. Dobrym nawykiem jest też pamiętanie, że nth-child() liczy wszystkie dzieci danego rodzica, więc jeśli w tabeli mamy thead, tbody i tfoot, to często stosuje się selektor tbody tr:nth-child(even), żeby uniknąć nieoczekiwanych przesunięć numeracji przez nagłówki. Zrozumienie tej zasady bardzo ułatwia późniejsze korzystanie z bardziej złożonych wzorów nth-child, jak np. 2n+1 czy 3n.

Pytanie 7

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. wyłącznie typu tekstowego.
B. klucza głównego.
C. wyłącznie typu logicznego.
D. klucza obcego.
W tym zagadnieniu łatwo pomylić różne typy pól i ich role w bazie danych, szczególnie gdy ktoś dopiero zaczyna przygodę z SQL i projektowaniem relacyjnych baz danych. Jednoznaczny identyfikator rekordu to takie pole, które pozwala bez żadnych wątpliwości wskazać dokładnie jeden wiersz w tabeli. W standardzie relacyjnych baz danych tę rolę pełni klucz główny, oznaczany jako PRIMARY KEY. Klucz obcy jest często mylony z kluczem głównym, bo też dotyczy identyfikatorów, ale jego zadanie jest inne. Foreign key służy do tworzenia powiązań między tabelami – przechowuje wartości klucza głównego z innej tabeli. Sam w sobie nie musi być unikalny, wręcz przeciwnie, w relacji 1:N zwykle powtarza się wiele razy. Dlatego nie może być uznany za jednoznaczny identyfikator rekordu w swojej tabeli. Gdybyśmy próbowali identyfikować rekordy po kluczu obcym, szybko okazałoby się, że wiele wierszy ma tę samą wartość i nie da się wskazać jednego, konkretnego. Kolejny typ błędnego rozumowania to przekonanie, że o byciu identyfikatorem decyduje typ danych, np. logiczny albo tekstowy. Typ logiczny (BOOLEAN, TINYINT(1) itp.) ma zwykle tylko dwie możliwe wartości: true/false, 0/1. Nietrudno zauważyć, że w dowolnej realnej tabeli więcej niż dwa rekordy nie będzie mogło mieć unikalnej wartości takiego pola, więc nie da się w ten sposób jednoznacznie identyfikować wierszy. Typ tekstowy też sam w sobie niczego nie gwarantuje. Można mieć kolumnę VARCHAR z e-mailem użytkownika, ale jeśli nie nałożymy ograniczenia unikalności i nie oznaczymy jej jako klucz główny, baza danych nie będzie pilnowała, by wartości się nie powtarzały. Częsty błąd myślowy polega na tym, że skoro w praktyce „zazwyczaj” coś jest unikalne (np. PESEL, e-mail), to ktoś zakłada, że to automatycznie jest klucz główny. Tymczasem dopiero formalne zadeklarowanie PRIMARY KEY (ewentualnie UNIQUE + NOT NULL, ale to już bardziej obejście) nadaje kolumnie rolę jednoznacznego identyfikatora w sensie technicznym. Dlatego nie typ danych, nie to czy pole wygląda na ważne, tylko jego definicja jako klucza głównego w strukturze tabeli decyduje o tym, że identyfikuje rekord jednoznacznie.

Pytanie 8

Z jakich elementów składa się tabela generowana przez poniższy kod?

<table border="1">
<tr>
<td> 1 </td>
<td> 2 </td>
</tr>
</table>
A. dwóch wierszy oraz jednej kolumny
B. dwóch wierszy i dwóch kolumn
C. jednego wiersza oraz jednej kolumny
D. jednego wiersza oraz dwóch kolumn
Podstawowe zrozumienie struktury HTML jest kluczowe do prawidłowego interpretowania kodu tabeli. Zrozumienie ilości wierszy i kolumn wymaga analizy znaczników <tr> i <td>. Często popełniany błąd polega na myleniu ilości wierszy i kolumn z ilością znaczników <td> w jednym <tr>. Znacznik <tr> definiuje wiersz w tabeli, a każdy <td> wewnątrz <tr> to oddzielna kolumna. W przedstawionym przykładzie mamy jeden wiersz z dwoma kolumnami, co jest podstawową konfiguracją tabeli. Mylenie tej koncepcji z dwoma wierszami lub inną liczbą kolumn jest często wynikiem niepełnej analizy struktury kodu. Warto zwrócić uwagę na semantykę HTML, która jest istotna z punktu widzenia dostępności i SEO. Stosowanie tabeli powinno być ograniczone do prezentacji danych tabularycznych, a nie jako narzędzie do ogólnej struktury strony, co jest niezgodne z nowoczesnymi standardami. Poznanie i zrozumienie tych zasad jest niezbędne dla efektywnego tworzenia stron internetowych i unikania typowych błędów w kodzie HTML. W przypadku tworzenia bardziej złożonych układów, zaleca się korzystanie z CSS Grid lub Flexboxa, które oferują większą elastyczność i kontrolę nad wyglądem strony.

Pytanie 9

Podczas przygotowywania grafiki do umieszczenia na stronie internetowej konieczne jest wycięcie tylko pewnego fragmentu. Jak nazywa się ta czynność?

A. zmiana rozmiaru.
B. odwracanie obrazu.
C. kadrowanie.
D. łączanie warstw.
Kadrowanie to taka technika, która pomaga nam lepiej uchwycić to, co najważniejsze w obrazie. Wycinając niektóre fragmenty grafiki, skupiamy uwagę na tym, co naprawdę się liczy. Dobrze jest to mieć na uwadze, zwłaszcza przy zdjęciach portretowych, gdzie chcemy, żeby wzrok przyciągała twarz modela, a nie jakieś niepotrzebne tło. Kiedy kadrujemy, warto pamiętać o takich zasadach jak zasada trzecich, bo to pomaga zrobić fajną kompozycję. Można to robić w wielu programach graficznych, jak na przykład Adobe Photoshop czy GIMP. Tak w ogóle, dobrze jest dbać o proporcje i rozdzielczość, żeby obraz nie stracił na jakości. Gadżetem kadrowania można się też posługiwać w projektowaniu stron www, bo odpowiednie wybory graficzne poprawiają estetykę i funkcjonalność strony.

Pytanie 10

W HTML, aby utworzyć hiperłącze, które otworzy się w nowej karcie przeglądarki, należy użyć atrybutu

A. rel = "external"
B. target = "_blank"
C. target = "_new"
D. rel = "prev"
Atrybut target="_blank" to standard w HTML, który pozwala otwierać linki w nowej karcie przeglądarki. W praktyce jest to bardzo popularne rozwiązanie, bo dzięki temu użytkownik może sobie przeglądać stronę, a jednocześnie otworzyć coś nowego. Działa to tak, że jeśli dodasz ten atrybut do linku, przeglądarka po prostu otworzy go w nowej karcie lub oknie - to już zależy od ustawień. To naprawdę przydaje się, gdy linkujesz do dokumentacji, stron zewnętrznych albo mediów społecznościowych, gdzie chcesz, żeby użytkownik nie musiał zamykać tego, co aktualnie ogląda. Ale uwaga! Trzeba z tym atrybutem uważać i stosować go z głową, bo czasem lepiej dać użytkownikowi wybór, czy chce otworzyć link w nowej karcie, czy nie, żeby nie czuł się zdezorientowany.

Pytanie 11

Pole insert_id zdefiniowane w bibliotece MySQLi języka PHP może być wykorzystane do

A. uzyskania id ostatnio dodanego wiersza
B. uzyskania pierwszego dostępnego indeksu bazy, tak, aby można było pod nim wstawić nowe dane
C. pobrania najwyższego indeksu bazy, aby po jego zwiększeniu wstawić pod niego dane
D. otrzymania kodu błędu, gdy wstawienie wiersza się nie powiodło
Pole insert_id w bibliotece MySQLi języka PHP jest niezwykle przydatne w kontekście zarządzania danymi w bazach danych. Głównym celem tego pola jest umożliwienie programistom uzyskania identyfikatora (ID) ostatnio wstawionego wiersza do bazy danych. Ta funkcjonalność jest kluczowa, gdyż wiele aplikacji wymaga odniesienia do nowo dodanych rekordów, szczególnie w sytuacjach, gdy w tabelach stosowane są klucze główne typu AUTO_INCREMENT. Przykładowo, po dodaniu rekordu do tabeli użytkowników, programista może użyć funkcji mysqli_insert_id(), aby pobrać ID tego rekordu i wykorzystać je do dalszych operacji, takich jak dodawanie powiązanych danych w innej tabeli. Tego typu mechanizmy są zgodne z najlepszymi praktykami w zakresie zarządzania danymi, zapewniając spójność i bezpieczeństwo operacji na bazach danych. Warto także pamiętać, że poprawne zarządzanie ID pozwala uniknąć problemów z duplikacją i zapewnia, że aplikacja może dynamicznie dopasowywać swoje czynności do aktualnych danych.

Pytanie 12

Przedstawiony błąd, który pojawił się podczas interpretacji kodu PHP, może być spowodowany

Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\1\biuro.php on line 38
A. brakiem bazy danych o nazwie podanej w funkcji mysqli_connect
B. odwołaniem do niezadeklarowanej zmiennej
C. niepowodzeniem w wykonaniu kwerendy na bazie danych
D. próbą odwołania do nieistniejącego elementu tablicy
Próba odwołania się do nieistniejącego elementu tablicy w języku PHP jest częstym źródłem błędów. Komunikat błędu wskazuje, że program próbował uzyskać dostęp do wartości w tablicy, która była typu null, czyli nie istniała. Dzieje się tak zazwyczaj, gdy indeks lub klucz, do którego próbujemy się odwołać, nie został wcześniej zainicjalizowany lub zawiera pustą wartość. Aby uniknąć takich błędów, dobrą praktyką jest zawsze sprawdzanie, czy dany indeks istnieje w tablicy przed próbą jego użycia. Można to zrobić za pomocą funkcji isset() lub array_key_exists(). Przykład poprawnego podejścia: jeżeli chcemy uzyskać dostęp do elementu tablicy $tablica['klucz'], najpierw możemy sprawdzić if(isset($tablica['klucz'])). Taka weryfikacja pozwala na unikanie błędów wykonawczych i zapewnia większą stabilność i niezawodność kodu. W kontekście większych aplikacji, gdzie dane są często przetwarzane dynamicznie, takie podejście znacząco zwiększa odporność na błędy, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 13

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(FF, 0, E0)
B. rgb(255, 0, 128)
C. rgb(255, 0, 224)
D. rgb(F, 0, E0)
Zapis #FF00E0 to klasyczny przykład koloru w notacji szesnastkowej, używanej w CSS i ogólnie w webdesignie. Cały haczyk polega na tym, że te literki i cyfry nie są traktowane jako tekst, tylko jako liczby w systemie o podstawie 16. Każde dwa znaki odpowiadają jednej składowej koloru: czerwonej, zielonej i niebieskiej. Czyli mamy strukturę: #RRGGBB. W tym konkretnym przypadku RR = FF, GG = 00, BB = E0.

Częsty błąd polega na traktowaniu tych liter dosłownie, jak w odpowiedziach typu rgb(F, 0, E0) czy rgb(FF, 0, E0). W zapisie rgb() wartości muszą być liczbami dziesiętnymi z zakresu 0–255, a nie ciągami znaków. Przeglądarka oczekuje tam konkretnych wartości natężenia składowych, a nie kodu szesnastkowego. FF to nie symbol, tylko liczba w systemie hex. Żeby ją poprawnie zinterpretować, trzeba przeliczyć ją na system dziesiętny: F to 15, więc FF = 15×16 + 15 = 255. Podobnie z E0: E to 14, więc E0 = 14×16 + 0 = 224. Z mojego doświadczenia to przeliczanie jest źródłem wielu pomyłek, szczególnie na początku nauki.

Inny typowy błąd myślowy to zgadywanie wartości na oko, jak w odpowiedzi rgb(255, 0, 128). Ktoś widzi intensywny kolor, więc daje maksymalny czerwony i jakąś średnią wartość niebieskiego. Problem w tym, że hex E0 to wcale nie jest 128, tylko 224, czyli dużo bliżej maksimum 255 niż środka skali. Takie „strzelanie” bez przeliczenia łamie spójność pomiędzy zapisem hex a rgb i prowadzi do zupełnie innego koloru niż zamierzony.

Dobra praktyka w branży jest taka, żeby zawsze pamiętać: zapis hex to trzy liczby 0–255 zapisane w bazie 16, a rgb() to te same liczby zapisane normalnie, po ludzku, w systemie dziesiętnym. Jeżeli pojawiają się litery A–F, to znaczy, że mamy do czynienia z systemem szesnastkowym i trzeba je potraktować jak cyfry 10–15, a nie jako jakiś tekst. To niby drobiazg, ale w pracy front-endowca albo grafika webowego ma ogromne znaczenie, bo precyzja kolorów jest kluczowa dla spójności całego projektu graficznego.

Pytanie 14

Skrypt strony internetowej stworzony w PHP

A. może być uruchomiony bez wsparcia serwera WWW
B. jest realizowany po stronie serwera
C. jest przetwarzany na tych samych zasadach co JavaScript
D. jest realizowany po stronie klienta
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 15

Aby wprowadzić rekord do tabeli Pracownicy, jakie polecenie SQL należy zastosować?

A. INSERT INTO Pracownicy (imie, nazwisko) VALUES (Jan, Kowalski);
B. INSERT (Jan, Kowalski) INTO Pracownicy;
C. INSERT VALUES (Jan, Kowalski) INTO Pracownicy;
D. INSERT VALUES Pracownicy INTO (Jan, Kowalski);
Odpowiedź 'INSERT INTO Pracownicy (imie, nazwisko) VALUES (Jan, Kowalski);' jest poprawna, ponieważ jest zgodna z ogólną składnią polecenia SQL do dodawania danych do tabeli. W składni tej najpierw wskazujemy, do której tabeli chcemy wprowadzić dane, używając frazy 'INSERT INTO', a następnie w nawiasach podajemy nazwy kolumn, do których mają być wprowadzone wartości. Wartości te umieszczamy po słowie kluczowym 'VALUES', również w nawiasach. Takie podejście jest zgodne z normami SQL i zapewnia, że dane będą poprawnie wstawione. Przykładem praktycznym może być dodanie nowego pracownika do bazy danych firmy, co jest kluczowym elementem zarządzania informacjami o pracownikach. Prawidłowa składnia pozwala również na łatwe wprowadzenie wielu rekordów jednocześnie, co jest efektywne w dużych systemach baz danych. Ponadto, użycie poprawnej składni ułatwia przyszłe modyfikacje oraz optymalizację zapytań, co jest istotne w kontekście dobrą praktyką w programowaniu baz danych.

Pytanie 16

Jakie będzie działanie po naciśnięciu przycisku oznaczonego jako "niebieski", który uruchamia podany kod JavaScript?

<p id="para1">Przykładowy tekst</p><p> i skrypt</p>
<button onClick="changeColor('blue');">niebieski</button>

<script type="text/javascript">
function changeColor(newColor)
{
var elem = document.getElementById("para1");
elem.style.color = newColor;
}
</script>
A. Zmiana barwy przycisku na niebieski
B. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
C. Zmiana koloru tekstu "i skrypt" na niebieski
D. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
Kod JavaScript przedstawiony w pytaniu definiuje funkcję changeColor która przyjmuje jeden argument newColor. Po wywołaniu funkcji przez kliknięcie przycisku funkcja ta używa metody document.getElementById aby pobrać element o identyfikatorze para1. Identyfikator ten jest przypisany do pierwszego elementu paragrafu zawierającego tekst Przykładowy tekst. Następnie w ramach tego elementu zmieniany jest kolor tekstu poprzez przypisanie newColor do właściwości style.color. W omawianym przypadku newColor przyjmuje wartość blue co oznacza że tekst Przykładowy tekst zmieni kolor na niebieski. Warto podkreślić że manipulacja DOM przy użyciu JavaScript jest powszechnie stosowaną techniką w tworzeniu dynamicznych interfejsów użytkownika. Używanie metod takich jak getElementById jest standardem ze względu na ich prostotę oraz efektywność w selekcji elementów HTML. W praktycznych zastosowaniach warto również pamiętać o zgodności ze standardami W3C oraz o możliwościach rozszerzenia za pomocą bibliotek takich jak jQuery które oferują jeszcze bardziej zaawansowane opcje manipulacji DOM.

Pytanie 17

W języku HTML, aby uzyskać następujący efekt formatowania
pogrubiony pochylony lub w górnym indeksie
należy zapisać kod:

A. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
B. <i>pogrubiony </i><b>pochylony </b>lub w <sub>górnym indeksie</sub>
C. <b>pogrubiony <i>pochylony</i></b> lub w <sup>górnym indeksie</sup>
D. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
Odpowiedź, w której użyłeś znaczników <b> i <i> w odpowiednich miejscach, jest całkiem dobra. Znak <b> jest świetny do pogrubiania tekstu, co przydaje się, gdy chcesz podkreślić coś ważnego. Natomiast <i> pozwala na pochylanie tekstu, co dodaje mu charakteru i może sugerować cytaty czy tytuły. Co ciekawe, znacznik <sup> stosujemy, gdy chcemy pokazać górny indeks, np. przy potęgach czy jednostkach miar. Przykład takiego użycia byłby taki: <b>Waga</b> <i>w kilogramach</i> wynosi <sup>2</sup> dla dwóch jednostek. Jak widać, stosowanie HTML w odpowiedni sposób pozwala robić czytelne i estetyczne prezentacje, co jest zgodne z dobrymi praktykami w web designie oraz standardami W3C. Warto też pamiętać, że dobrze dobrane znaczniki mają znaczenie nie tylko wizualne, ale także pomagają w indeksowaniu treści przez wyszukiwarki, co z kolei wpływa na SEO.

Pytanie 18

Jakie polecenie pozwala na dodanie kolumny zadaniekompletne do tabeli zadania?

A. INSERT INTO zadania VALUES zadaniakompletne
B. ALTER TABLE zadania ADD COLUMN zadaniekompletne int
C. ADD COLUMN zadaniekompletne WITH zadania
D. CREATEINDEX zadania ADD COLUMN zadaniekompletne int
Odpowiedź 'ALTER TABLE zadania ADD COLUMN zadaniekompletne int' jest rzeczywiście na miejscu. To polecenie ALTER TABLE to standardowy sposób na zmiany w tabelach w SQL. Dzięki niemu możemy dodawać, usuwać czy zmieniać kolumny, a także wprowadzać różne ograniczenia. W tym przypadku dodajemy nową kolumnę 'zadaniekompletne', która będzie przyjmować wartości całkowite (int). Fajnym przykładem zastosowania tego polecenia może być śledzenie postępu zadań w projekcie. Kolumna 'zadaniekompletne' mogłaby oznaczać, czy zadanie jest skończone (np. 0 dla nieukończonego, 1 dla ukończonego). Zawsze warto pomyśleć o tym, jak takie zmiany mogą wpłynąć na istniejące dane oraz aplikacje korzystające z tej tabeli, żeby nie narazić się na różne problemy z danymi.

Pytanie 19

Aby w tabeli praca, tworzonej w SQL, dodać warunek w kolumnie stawka, który nakazuje przyjmowanie dodatnich wartości rzeczywistych mniejszych niż 50, należy zastosować zapis

A. ... stawka float CHECK(stawka IN (0, 50.00))
B. ... stawka float CHECK(stawka>0 AND stawka<50.00)
C. ... stawka float CHECK(stawka>0 OR stawka<50.00)
D. ... stawka float CHECK(stawka BETWEEN 0 AND 50.00)
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator IN, który nie jest odpowiedni dla tego przypadku. Operator IN służy do sprawdzania, czy wartość znajduje się w zbiorze dozwolonych wartości. W kontekście stawki, nie ma sensu ograniczać się tylko do wartości 0 i 50.00, ponieważ chcemy, by 'stawka' mogła przyjmować wiele wartości w przedziale od 0 do 50, a nie tylko te dwa. Kolejna odpowiedź stosuje operator OR, co prowadzi do błędnej interpretacji wymagań. Użycie OR oznacza, że 'stawka' mogłaby być większa od 0 lub mniejsza od 50, co w efekcie pozwalałoby na wprowadzenie wartości, które nie spełniają założonego kryterium, takich jak liczby ujemne. Ostatnia z odpowiedzi używa operatora BETWEEN, który również nie jest odpowiedni, ponieważ tworzy zakres od 0 do 50, co nie spełnia warunku, że stawka musi być większa od 0. Zatem, wszystkie trzy odpowiedzi nie zapewniają poprawnej weryfikacji danych w kolumnie 'stawka' w tabeli SQL, co jest kluczowe dla utrzymania jakości i integralności danych.

Pytanie 20

Jak określa się proces przedstawiania informacji zawartych w dokumencie elektronicznym w formie odpowiedniej dla konkretnego środowiska?

A. Mapowanie
B. Rasteryzacja
C. Renderowanie
D. Teksturowanie
Mapowanie to proces związany z przypisywaniem wartości z jednego systemu do innego, często w kontekście baz danych lub geolokalizacji, ale nie odnosi się bezpośrednio do transformacji danych w formę wizualną. Rasteryzacja to technika przekształcania obrazów wektorowych na obrazy rastrowe, co jest jedynie etapem w renderowaniu, a nie samodzielnym procesem. Teksturowanie to proces nakładania tekstur na powierzchnie obiektów 3D, co również jest aspektem renderowania, ale nie obejmuje całości procesu przedstawienia dokumentów elektronicznych. Często zdarza się pomylić te pojęcia, ponieważ wszystkie dotyczą przetwarzania danych, jednak ich zastosowania są różne. Zrozumienie różnic między tymi terminami jest kluczowe dla efektywnej komunikacji w dziedzinie technologii cyfrowych. Wnioskując, kluczowym błędem jest mylenie renderowania z innymi technikami przetwarzania danych, co może prowadzić do nieprawidłowego stosowania technologii w projektach, a także do nieporozumień w zespole projektowym. W związku z tym, właściwe rozpoznawanie i stosowanie terminologii technicznej jest niezbędne do skutecznego zarządzania projektami oraz do osiągania zamierzonych rezultatów w branży IT.

Pytanie 21

Aby uzyskać dane z tabeli pracownicy dotyczące jedynie osób, które ukończyły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy WHERE wiek > 25
B. SELECT * FROM pracownicy AND wiek > 25
C. SELECT * FROM pracownicy OR wiek > 25
D. SELECT * FROM wiek WHERE pracownicy > 25
Aby wyświetlić rekordy z tabeli pracownicy, które dotyczą pracowników powyżej 26 roku życia, należy zastosować odpowiednie zapytanie SQL. Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > 25;'. W tym przypadku, klauzula WHERE filtruje wyniki, zapewniając, że tylko ci pracownicy, którzy mają więcej niż 25 lat, zostaną zwróceni. Warto zauważyć, że w SQL operator '>' oznacza, że zwracane będą tylko rekordy, dla których warunek jest spełniony. Ponadto, wybranie wszystkich kolumn poprzez SELECT * jest powszechną praktyką, gdyż pozwala na uzyskanie pełnych informacji o pracownikach, bez konieczności wskazywania poszczególnych kolumn. Jest to zgodne z zasadami użycia SQL, gdzie operacje na danych są wykonywane poprzez polecenia definiujące wybrane tabele i warunki. Przykład zastosowania tego zapytania może być użyty w aplikacjach biznesowych, gdzie analiza wieku pracowników jest niezbędna do podejmowania decyzji kadrowych, a także w raportach dotyczących zatrudnienia. Takie zapytanie jest fundamentalne dla zarządzania danymi w relacyjnych bazach danych.

Pytanie 22

Podany fragment kodu PHP ma na celu wstawienie wartości z zmiennych $a, $b, $c do bazy danych, w tabeli dane. Tabela ta składa się z czterech kolumn, z których pierwsza to autoinkrementowany klucz podstawowy. Które z zapytań powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A. ```SELECT '$a', '$b', '$c' FROM dane;```
B. ```INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');```
C. ```SELECT NULL, '$a', '$b', '$c' FROM dane;```
D. ```INSERT INTO dane VALUES ('$a', '$b', '$c');```
Odpowiedzi, które zaczynają się od polecenia SELECT, są błędne, ponieważ nie mają na celu wstawienia nowych danych do tabeli. SELECT jest używane do pobierania danych z bazy danych, a nie do ich dodawania. Polecenie "SELECT '$a', '$b', '$c' FROM dane;" jedynie wyciąga dane, nie wprowadza żadnych zmian w tabeli, co nie spełnia wymagań zadania. Również "SELECT NULL, '$a', '$b', '$c' FROM dane;" działa podobnie, wciąż pozostając w zakresie odczytu danych, a nie ich dodawania. Dwa pierwsze polecenia nie tylko nie są związane z wstawianiem danych, ale również mogą wprowadzać użytkownika w błąd, sugerując, że ich celem jest modyfikacja bazy. Kolejna odpowiedź "INSERT INTO dane VALUES ('$a', '$b', '$c');" jest błędna, ponieważ nie uwzględnia klucza głównego, który powinien być autoinkrementowany. Przekazanie NULL jako pierwszego argumentu jest kluczowe, ponieważ pozwala bazie danych na zarządzanie identyfikatorem. Typowe błędy myślowe obejmują pomylenie operacji wstawiania z operacjami odczytu oraz nieprawidłowe przypuszczenie, że można pominąć kolumny kluczy głównych w zapytaniach wstawiających.

Pytanie 23

Która deklaracja w C++ pasuje do funkcji ZWRACAJĄCEJ wynik potęgowania i przyjmującej dwa argumenty (liczbę x i wykładnik w)?

A.
int potega(int x, int w);
B.
int potega(int x);
C.
void potega(int x, int w, int wynik);
D.
void potega(int x, int w);
int potega(int x) przyjmuje tylko jeden argument, a potrzebne są dwa. Deklaracje z void nic nie ZWRACAJĄ, więc nie pasują do funkcji zwracającej wynik. Wariant z trzema argumentami dokłada zbędny parametr zamiast zwracać wynik. Pasuje int potega(int x, int w);.

Pytanie 24

Selektor CSS a:link {color:red} użyty w kaskadowych arkuszach stylów określa

A. identyfikator
B. pseudoelement
C. klasę
D. pseudoklasę
Zdecydowanie coś poszło nie tak w Twojej odpowiedzi, bo wygląda na to, że nie do końca rozumiesz podstawowe pojęcia związane z CSS. Klasy i identyfikatory, używane do grupowania elementów i nadawania im stylów, to zupełnie inna sprawa niż pseudoklasy. Klasy w CSS definiujesz przez kropkę, jak na przykład .nazwa-klasy, a pseudoklasy zawsze zaczynają się od dwukropka. Klasy są super do stylizacji większej grupy elementów, podczas gdy identyfikatory są unikalne i służą do stylizacji pojedynczych elementów, zaczynają się od hasha (#). Pseudoelementy, które mogą być mylone z pseudoklasami, pomagają stylizować tylko część elementów, jak na przykład ::before lub ::after, co pozwala na dodawanie treści przed lub po danym elemencie. Rozróżnienie tych pojęć jest naprawdę kluczowe, gdy chcesz dobrze zrozumieć CSS. Często zdarza się, że ludzie mylą te pojęcia, co prowadzi do chaosu przy stylizacji stron. Żeby uniknąć tych nieporozumień, warto przejrzeć dokumentację CSS i trochę poćwiczyć z różnymi selektorami. Z mojej perspektywy, jest to najlepszy sposób, by zrozumieć jak to wszystko działa i jakie są różnice między tymi pojęciami.

Pytanie 25

W którym pliku konfiguracyjnym serwera Apache ustawia się przekierowanie 301 (z jednego URL na inny)?

A.
configuration.php
B.
apacheConf
C.
conf.php
D.
.htaccess
Pozostałe nazwy nie są plikami konfiguracji Apache. conf.php i configuration.php to pliki PHP (np. konfiguracja aplikacji), a „apacheConf” nie istnieje. Przekierowania definiuje .htaccess.

Pytanie 26

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetli dane dla konkretnego zestawu informacji z tej tabeli, zawierający tylko te komputery, które mają co najmniej 8 GB pamięci RAM oraz procesor Intel, można wykorzystać zapytanie:

A. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec<8
B. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec>=8
C. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8
D. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec<8
Aby stworzyć kwerendę, która wyświetli wszystkie komputery w tabeli 'komputery', spełniające określone warunki, musimy użyć odpowiednich operatorów logicznych oraz porównań. W tym przypadku chcemy uzyskać sprzęt, którego procesor to 'Intel' oraz pamięć RAM wynosi co najmniej 8 GB. Kluczowym elementem jest tutaj użycie operatora 'AND', który zapewnia, że muszą być spełnione oba warunki jednocześnie. Kwerenda 'SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8;' w pełni odpowiada tym wymaganiom. Operator 'AND' jest istotny, ponieważ bez niego moglibyśmy otrzymać komputery z procesorem Intel, ale z pamięcią RAM mniejszą niż 8 GB, co jest sprzeczne z naszym celem. Tego rodzaju zapytania są powszechne w analizie danych i często wykorzystywane w raportowaniu i wizualizacji danych. Odpowiednia struktura kwerendy zapewnia, że wyniki będą precyzyjne i zgodne z oczekiwaniami użytkowników, co jest kluczowe w zarządzaniu bazami danych oraz w tworzeniu systemów informacyjnych dla sklepów komputerowych.

Pytanie 27

Dokument HTML określa akapit oraz obrazek. Aby obrazek był wyświetlany przez przeglądarkę w tej samej linii co akapit po jego lewej stronie, należy w stylu CSS obrazka uwzględnić właściwość

A. alt: left;
B. align: left;
C. float: left;
D. style: left;
Wybór opcji align: left; nie jest na topie i nie jest zgodny z aktualnymi standardami CSS. To atrybut, który kiedyś używano w HTML do tabel, a nie do stylizacji obrazów. Użycie align nie poprawi układu rysunku w akapicie, więc może to być mylące, bo efekt wizualny nie będzie taki, jakiego byśmy oczekiwali. W CSS style powinny być oddzielone od struktury HTML, a stare atrybuty raczej zaśmiecają kod i utrudniają pracę innym programistom. Podobnie z style: left; – to w ogóle nie jest właściwa deklaracja w CSS. Nie ma takiej właściwości, więc to też czyni tę odpowiedź błędną. Używanie atrybutów, które w ogóle nie mają sensu w CSS, może prowadzić do zamieszania i problemów z utrzymaniem kodu. A alt: left; odnosi się do atrybutu alt w tagu img, który jest używany do opisu zawartości obrazu, ale nie ma wpływu na jego rozmieszczenie. W praktyce, żeby dobrze rozmieścić elementy, trzeba naprawdę zrozumieć, jak działają właściwości CSS i ich zastosowanie, aby unikać błędów i poprawić semantykę strony.

Pytanie 28

W dokumencie HTML umieszczono tekst sformatowany określonym stylem. Aby dodać do tego tekstu kilka słów sformatowanych innym stylem, należy użyć znacznika

A. <section>
B. <span>
C. <hr>
D. <table>
<span> jest znacznikiem HTML, który służy do stosowania stylów CSS do określonych fragmentów tekstu w obrębie bloków HTML. Umożliwia on formatowanie tekstu w bardziej lokalny sposób, co jest niezwykle przydatne, gdy chcemy wyróżnić niektóre słowa lub frazy w dłuższym akapicie. W odróżnieniu od znaczników takich jak <div>, które są stosowane do większych sekcji, <span> działa na poziomie inline, co oznacza, że nie wprowadza nowego bloku w układzie strony. Przykład użycia tej etykiety może wyglądać następująco: <p>W tym akapicie <span style='color:red;'>ważne słowo</span> jest wyróżnione kolorem czerwonym.</p>. Dzięki temu możemy łatwo zastosować różnorodne style, takie jak zmiana koloru czcionki, czcionki, tła lub nawet dodawanie efektów animacyjnych do konkretnego fragmentu tekstu. Zgodnie z standardami W3C, <span> jest zalecanym sposobem na selektywne formatowanie tekstu, co czyni go niezwykle praktycznym narzędziem w tworzeniu elastycznych i atrakcyjnych wizualnie stron internetowych.

Pytanie 29

Jakie skutki wywoła poniższy fragment kodu w języku JavaScript?

n = "Napis1"; s = n.length;
A. Przypisze zmiennej s część napisu ze zmiennej n o długości określonej przez zmienną length
B. Przypisze zmiennej s wartość odpowiadającą długości tekstu w zmiennej n
C. Przypisze wartość zmiennej n do zmiennej s
D. Wyświetli liczbę znaków napisu z zmiennej n
Odpowiedzi 1, 2 oraz 4 są niepoprawne z różnych powodów, co wskazuje na nieporozumienia w zakresie działania właściwości length w JavaScript. W przypadku pierwszej odpowiedzi, twierdzenie, że zmienna n zostanie przypisana do zmiennej s, jest błędne. Wartości zmiennych są przypisywane, a nie same zmienne. Odpowiedź ta ignoruje fakt, że w kodzie następuje użycie operatora przypisania, co skutkuje przekazaniem wartości długości napisu. W kontekście drugiej odpowiedzi, należy podkreślić, że chociaż skrypt nie wyświetla bezpośrednio długości napisu, to długość jest przypisana do zmiennej s, co jest kluczowe dla dalszego użycia tej wartości. Ostatnia odpowiedź, mówiąca o przypisaniu fragmentu napisu o określonej długości, jest również myląca, ponieważ length dotyczy całkowitej liczby znaków w napisie, a nie jego fragmentu. Programiści często mylą funkcjonalności związane z długością łańcuchów znakowych z metodami, które pozwalają na wyodrębnienie części tekstu, takimi jak substring lub slice. Zrozumienie różnicy między tymi operacjami jest istotne dla efektywnego programowania i pracy z danymi tekstowymi.

Pytanie 30

Jak nazywa się technika sortowania, która polega na podziale zbioru na n przedziałów o równej długości, gdzie przeprowadza się sortowanie, a następnie analizuje i prezentuje posortowane elementy z tych przedziałów?

A. Sortowanie bąbelkowe
B. Sortowanie szybkie
C. Sortowanie kubełkowe
D. Sortowanie przez wybór
Sortowanie szybkie (ang. quicksort) jest algorytmem typu „dziel i zwyciężaj”, który działa poprzez wybór tzw. pivota i podział danych na mniejsze podzbiory, które są sortowane rekurencyjnie. Choć jest to jedna z najszybszych metod sortowania w praktyce, nie polega na podziale na kubełki, co czyni ją nieodpowiednią odpowiedzią na postawione pytanie. Sortowanie bąbelkowe (ang. bubble sort) natomiast, to algorytm, który porównuje sąsiadujące ze sobą elementy i wymienia je, jeśli są w złej kolejności. Jest to metoda mało efektywna, szczególnie dla dużych zbiorów danych, i nie ma zastosowania w kontekście podziału na przedziały. Z kolei sortowanie przez wybór (ang. selection sort) działa poprzez znajdowanie minimalnego (lub maksymalnego) elementu w zbiorze i przenoszenie go na początek, co również nie związane jest z koncepcją kubełków. Typowym błędem myślowym jest mylenie różnych metod sortowania, co często wynika z nieznajomości ich specyfiki i zasad działania. Różne algorytmy mają swoje unikalne cechy i zastosowania, a ich wybór powinien być oparty na charakterystyce danych oraz wymagań dotyczących wydajności, co jest kluczowe w praktycznych zastosowaniach informatycznych.

Pytanie 31

Wskaż blok, który jest sformatowany zgodnie z podanym stylem CSS.

background: linear-gradient(to right, LightBlue, DarkBlue);
Ilustracja do pytania
A. Blok 2
B. Blok 1
C. Blok 4
D. Blok 3
Blok 2 jest poprawną odpowiedzią ponieważ wykorzystuje styl CSS background linear-gradient(to right LightBlue DarkBlue) co oznacza że gradient kolorów rozciąga się od lewej do prawej strony elementu CSS linear-gradient pozwala na tworzenie gładkich przejść między kolorami co jest popularną techniką w projektowaniu stron internetowych Styl ten dodaje wizualnej atrakcyjności i może być użyty w różnych częściach witryny takich jak przyciski nagłówki czy tła sekcji Właściwość gradientu pozwala na zastosowanie wielu kolorów i kontrolowanie ich punktów początkowych i końcowych co zwiększa elastyczność projektowania Ponadto gradienty są wspierane przez wszystkie nowoczesne przeglądarki co czyni je doskonałym wyborem dla responsywnych stron internetowych Wykorzystanie gradientów zamiast obrazów tła pomaga także w optymalizacji strony zmniejszając czas ładowania co jest zgodne z najlepszymi praktykami branżowymi i wpływa pozytywnie na doświadczenie użytkownika CSS oferuje również inne typy gradientów takie jak radial-gradient i conic-gradient które mogą być używane w zależności od potrzeb projektowych

Pytanie 32

Które wyrażenie w C++ sprawdza, czy liczba jest TRZYCYFROWĄ wartością PARZYSTĄ?

A.
liczba % 2 == 0 && liczba > 99 && liczba < 999
B.
liczba % 2 == 0 || liczba > 99 || liczba < 999
C.
liczba % 2 == 0 && (liczba > 99 || liczba < 999)
D.
liczba % 2 == 0 || (liczba > 99 && liczba < 999)
Liczba trzycyfrowa to wartość z przedziału od 100 do 999, czyli liczba > 99 && liczba < 999 (lub równoważnie >= 100 && <= 999), a parzysta to liczba % 2 == 0. Wszystkie warunki muszą zachodzić naraz, więc łączy je &&. Dlatego poprawne jest liczba % 2 == 0 && liczba > 99 && liczba < 999.

Pytanie 33

W pliku konfiguracyjnym serwera Apache httpd.conf linia kodu Listen 120 oznacza

A. maksymalną liczbę jednoczesnych połączeń z sieci do serwera.
B. jeden z numerów kodu błędu odpowiedzi HTTP.
C. czwarty oktet adresu IP serwera.
D. numer portu, na którym nasłuchuje serwer.
Wpis „Listen 120” w pliku httpd.conf informuje serwer Apache, na jakim porcie ma nasłuchiwać przychodzących połączeń TCP. W praktyce oznacza to: jeżeli ktoś wchodzi na serwer, to ich przeglądarka łączy się z adresem IP serwera właśnie na ten numer portu. Standardowo HTTP działa na porcie 80, HTTPS na 443, ale w konfiguracji można ustawić dowolny inny port, np. 8080, 8000 czy właśnie 120. Dzięki dyrektywie Listen Apache „wiąże się” (binduje) z wybranym portem i zaczyna tam czekać na żądania HTTP. To jest podstawowy element konfiguracji warstwy sieciowej serwera WWW. W środowiskach produkcyjnych najczęściej stosuje się Listen 80 i Listen 443, czasem dodatkowe porty dla paneli administracyjnych, środowisk testowych albo aplikacji działających równolegle. Warto też wiedzieć, że można podać razem adres IP i port, np. Listen 192.168.0.10:80, wtedy Apache nasłuchuje tylko na konkretnym interfejsie sieciowym, co jest dobrą praktyką bezpieczeństwa, bo ogranicza ekspozycję usług. W nowoczesnych konfiguracjach często występuje kilka dyrektyw Listen, gdy serwer obsługuje wiele adresów IP lub protokołów. Z mojego doświadczenia porządek w portach i świadome używanie Listen bardzo ułatwia diagnostykę problemów typu „serwer nie odpowiada” czy konflikty z innymi usługami (np. innym serwerem WWW albo kontenerem Docker) działającymi na tej samej maszynie.

Pytanie 34

W przedstawionej definicji typu wyliczeniowego w języku C++ enumerator CZWARTEK będzie miał wartość równą

Ilustracja do pytania
A. liczbie 1
B. napisowi 'CZWARTEK'
C. napisowi "CZWARTEK"
D. liczbie 4
W języku C++ typ wyliczeniowy (enum) pozwala na definiowanie grupy nazwanych stałych całkowitych. W przedstawionej definicji enum dni {PONIEDZIAŁEK = 1, WTOREK, ŚRODA, CZWARTEK, PIĄTEK, SOBOTA, NIEDZIELA}; inicjalizacja PONIEDZIAŁEK na 1 powoduje, że kolejne wyliczane wartości są automatycznie zwiększane o 1. Oznacza to, że wartość dla WTOREK wynosi 2, ŚRODA to 3, a CZWARTEK automatycznie staje się równy 4. Takie podejście jest powszechnie stosowane w programowaniu do reprezentowania dyskretnych zestawów wartości, co ułatwia interpretację kodu i minimalizuje ryzyko błędów. W praktyce typy wyliczeniowe są używane do przechowywania dni tygodnia, stanów maszyn oraz innych uporządkowanych kolekcji. Są zgodne ze standardem C++ i odgrywają istotną rolę w tworzeniu czytelnego i efektywnego kodu. Ich zaletą jest możliwość łatwej manipulacji wartościami oraz zwiększenie czytelności kodu dzięki użyciu przyjaznych nazw zamiast surowych wartości liczbowych.

Pytanie 35

W celu zmiany struktury tabeli w systemie MySQL trzeba wykonać polecenie

A. UPDATE
B. GRANT
C. INSERT INTO
D. ALTER TABLE
Odpowiedź 'ALTER TABLE' to strzał w dziesiątkę, bo to właśnie to polecenie w MySQL pozwala na zmiany w strukturze tabeli w bazach danych. Gdy używamy 'ALTER TABLE', możemy dodawać nowe kolumny, usuwać te, które już nie są potrzebne, albo zmieniać typ danych w kolumnach. Przykładowo, jeśli chcemy dodać kolumnę 'wiek' do tabeli 'pracownicy', używamy: ALTER TABLE pracownicy ADD COLUMN wiek INT;. A żeby usunąć kolumnę 'adres', wystarczy: ALTER TABLE pracownicy DROP COLUMN adres;. Pamiętaj przy tym, żeby zawsze sprawdzić, czy te zmiany nie będą miały negatywnego wpływu na dane oraz czy mamy odpowiednie uprawnienia. Osobiście uważam, że warto robić kopie zapasowe przed większymi zmianami, bo to może uratować skórę, gdy coś pójdzie nie tak. Dobry sposób na to, by być pewnym siebie w pracy z bazami danych, to dobrze poznać 'ALTER TABLE' i jego możliwości.

Pytanie 36

<?php
setcookie('egzamin', '24', time() + 60);
?>
Na podstawie przedstawionego kodu PHP wskaż, ile wynosi czas ważności ustawionego ciasteczka?
A. 1 minuta.
B. 24 godziny.
C. 1 godzina.
D. 24 doby.
Ten fragment kodu PHP jest dobrym przykładem, jak łatwo pomylić się przy interpretowaniu czasu życia ciasteczka. Wiele osób widząc wartość '24' w nazwie albo w wartości ciasteczka automatycznie kojarzy to z 24 godzinami czy 24 dobami. Tymczasem w ogóle nie ma to znaczenia dla czasu ważności. O tym, jak długo cookie będzie żyło, decyduje wyłącznie trzeci parametr funkcji setcookie(), czyli tutaj: time() + 60. Funkcja time() zwraca aktualny czas w sekundach, a liczba 60 to po prostu 60 sekund. Nie ma tu żadnej „magii” powiązanej z liczbą 24.
Częsty błąd polega na tym, że ktoś myśli kategoriami: godziny, dni, a nie sekund. W PHP czas wygaśnięcia w setcookie musi być podany jako konkretny znacznik czasowy UNIX, więc programista musi sam przeliczyć sobie minuty czy godziny na sekundy. Jeśli ktoś pomyśli, że 60 to np. 60 minut, to w praktyce pomyli się dokładnie 60 razy. Podobnie założenie, że skoro wartość ciasteczka to '24', to ciasteczko będzie ważne 24 godziny lub 24 doby, wynika z mieszania znaczenia logicznego danych z mechanizmem technicznym ich przechowywania. Wartość '24' to po prostu tekst przechowywany w cookie, bez żadnego automatycznego powiązania z czasem.
Z mojego doświadczenia takie pomyłki biorą się też z porównywania do innych technologii, gdzie czas ustawia się np. w minutach. W PHP (i generalnie w mechanizmie UNIX time) wszystko liczymy w sekundach. Dlatego dobre praktyki mówią, żeby zawsze jawnie pisać wyrażenia typu 60 * 60 (godzina), 60 * 60 * 24 (doba), zamiast samego „3600” czy „86400”, bo to od razu sugeruje, o jaką jednostkę chodzi i ogranicza ryzyko złej interpretacji. Jeżeli programista nie rozumie tej konwencji, będzie projektował mechanizmy sesji, logowania czy koszyków zakupów z błędnymi czasami życia ciasteczek, co może prowadzić do irytujących sytuacji dla użytkownika, a nawet do problemów z bezpieczeństwem (np. zbyt długie przechowywanie wrażliwych informacji). Dlatego tak ważne jest, żeby przy każdym użyciu setcookie() świadomie przeliczać czas na sekundy i nie sugerować się nazwą ani wartością samego ciasteczka.

Pytanie 37

W języku JavaScript stworzono funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Jak powinno wyglądać prawidłowe wywołanie tej funkcji oraz uzyskanie jej wyniku?

A. var wynik=liczba_max(a,b,c);
B. liczba_max(a,b,c);
C. liczba_max(a,b,c)=wynik;
D. liczba_max(a,b,c,wynik);
Odpowiedź "var wynik=liczba_max(a,b,c);" jest poprawna, ponieważ w ten sposób prawidłowo wywołujemy funkcję liczba_max, przekazując do niej trzy argumenty: a, b oraz c. Funkcja ta ma na celu zwrócenie maksymalnej wartości z przekazanych liczb, więc przypisanie jej wyniku do zmiennej wynik jest logicznym krokiem. W języku JavaScript, operator przypisania (=) pozwala na zdefiniowanie zmiennych, co w tym przypadku oznacza, że zmienna wynik będzie zawierać wartość zwróconą przez funkcję. Wartością tą jest największa liczba spośród a, b i c. Zastosowanie takiego podejścia jest zgodne z koncepcją programowania funkcjonalnego, gdzie funkcje są traktowane jako „pierwszej klasy obywateli”, co oznacza, że można je przypisywać do zmiennych. Dobrą praktyką w programowaniu jest również używanie czytelnych nazw zmiennych oraz funkcji, co ułatwia zrozumienie kodu przez inne osoby. Dodatkowo, warto zwrócić uwagę na typy danych przekazywanych do funkcji, aby uniknąć nieprzewidzianych błędów podczas obliczeń.

Pytanie 38

Jakie będzie wynikowe wyjście po uruchomieniu tego skryptu PHP?

<?php
$kolory = array("czarny", "zielony", "niebieski", "biały");
rsort($kolory);
$ile = count($kolory);
for($x = 0; $x < $ile; $x++)
{
  echo $kolory[$x].", ";
}
?>
A. zielony, niebieski, czarny, biały
B. czarny, zielony, niebieski, biały
C. biały, czarny, niebieski, zielony
D. biały, niebieski, zielony, czarny
W przypadku podanego skryptu PHP błędne odpowiedzi wynikają z niewłaściwej interpretacji działania funkcji rsort(). Zadaniem tej funkcji jest sortowanie elementów tablicy w porządku malejącym na podstawie wartości ASCII pierwszego znaku każdego elementu. Jeśli przyjrzymy się tablicy zawierającej słowa czarny zielony niebieski biały funkcja rsort() ułoży je w odwrotnej kolejności alfabetycznej zaczynając od słów których pierwsze litery mają wyższą wartość ASCII. Typowym błędem może być niezrozumienie że rsort() działa na całych wartościach łańcuchów a nie tylko na pierwszych literach. Należy również pamiętać że funkcje sortujące takie jak rsort() nie zwracają nowej tablicy lecz modyfikują istniejącą co czasem może prowadzić do niepoprawnych założeń dotyczących oryginalnych danych. Innym częstym błędem jest zakładanie że rsort() zachowuje porządek elementów o tej samej wartości początkowej co nie jest prawdą jeśli dwa elementy miałyby tę samą pierwszą literę rsort() może zmienić ich kolejność względem siebie. Właściwe zrozumienie działania funkcji sortujących w PHP jest niezbędne aby uniknąć błędów logicznych i zapewnić że nasze aplikacje działają zgodnie z oczekiwaniami.

Pytanie 39

Aby wykonać usunięcie wszystkich zapisów z tabeli, konieczne jest użycie kwerendy

A. ALTER COLUMN
B. INSERT INTO
C. TRUNCATE TABLE
D. CREATE COLUMN
Odpowiedź 'TRUNCATE TABLE' jest poprawna, ponieważ ta kwerenda służy do usuwania wszystkich rekordów z tabeli w bazach danych SQL. W przeciwieństwie do kwerendy 'DELETE', która usuwa rekordy jeden po drugim i może być stosowana z warunkiem, 'TRUNCATE TABLE' działa na poziomie strony i usuwa wszystkie wiersze za jednym razem, co czyni ją znacznie bardziej wydajną, szczególnie w przypadku dużych zbiorów danych. Gdy wykonujemy 'TRUNCATE TABLE', wszystkie dane są usuwane, a struktura tabeli pozostaje nienaruszona, co oznacza, że możemy natychmiast dodawać nowe dane do tej samej tabeli. Ponadto, użycie 'TRUNCATE TABLE' resetuje wszelkie generatory tożsamości (IDENTITY) w tabeli. W praktyce ta metoda jest często wykorzystywana w scenariuszach, gdzie potrzebne jest szybkie zresetowanie danych w tabeli, na przykład w aplikacjach testowych lub podczas czyszczenia danych w hurtowniach danych. Warto pamiętać, że 'TRUNCATE' nie można zastosować, jeśli tabela jest powiązana z innymi tabelami przez klucze obce, co jest zgodne z zasadami integralności referencyjnej w bazach danych.

Pytanie 40

Do jakich liczb odnosi się typ int?

A. stałoprzecinkowych
B. całkowitych
C. naturalnych
D. zmiennoprzecinkowych
Typ int przechowuje liczby CAŁKOWITE - dodatnie, ujemne i zero, bez części ułamkowej (np. -3, 0, 42). Dlatego int odnosi się do liczb całkowitych.