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: 21 kwietnia 2026 12:48
  • Data zakończenia: 21 kwietnia 2026 12:57

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

Przedstawiony kod języka PHP

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. jest błędny, nieznany operator =>
B. definiuje tablicę z sześcioma wartościami.
C. definiuje tablicę z trzema wartościami.
D. jest błędny, indeksami tablicy mogą być tylko liczby całkowite.
Dobra robota, wybrałeś właściwą odpowiedź! Ten kod PHP, który analizujesz, rzeczywiście ustawia tablicę asocjacyjną z trzema parami klucz-wartość. Tak naprawdę tablica asocjacyjna to coś w stylu tablicy, gdzie każdemu elementowi przypisujesz unikalny klucz zamiast numeru indeksu. No i ten operator '=>' to typowy element PHP, służy do przypisywania wartości kluczom w tablicach. W twoim przykładzie widzisz, że kluczami mogą być nie tylko liczby, ale też łańcuchy tekstowe. To naprawdę przydatne, szczególnie przy przechowywaniu informacji, które łatwo zidentyfikować – na przykład numery telefonów czy adresy e-mail. Pamiętaj, że w PHP tablica to jedna z podstawowych struktur danych. Może trzymać różne typy danych, takie jak liczby, teksty, obiekty czy inne tablice, a jej rozmiar może się zmieniać w trakcie działania programu.

Pytanie 2

Przykład zapytania SQL przedstawia instrukcję:

UPDATE katalog SET katalog.cena = [cena]*1.1;
A. dołączającej
B. usuwającej
C. aktualizującej
D. krzyżowej
Instrukcja SQL przedstawiona w pytaniu używa słowa kluczowego UPDATE co jest charakterystyczne dla kwerend aktualizujących. Komenda ta modyfikuje istniejące dane w tabeli poprawiając je zgodnie z podanymi kryteriami. W tym przykładzie wszystkie wartości w kolumnie cena tabeli katalog są zwiększane o 10 procent co jest typowym zastosowaniem instrukcji aktualizującej. W praktyce takie zmiany są niezbędne w przypadku modyfikacji cen produktów lub aktualizacji informacji biznesowych. Stosowanie kwerend aktualizujących wymaga zachowania szczególnej ostrożności aby nie naruszyć integralności danych. Dobre praktyki obejmują przygotowanie backupu danych przed wykonaniem operacji oraz przetestowanie kwerendy na mniejszym zbiorze danych w celu uniknięcia błędów. Aktualizacja danych to jedna z najczęstszych operacji w systemach bazodanowych dlatego zrozumienie mechanizmu działania kwerend SQL tego typu jest kluczowe dla efektywnego zarządzania danymi w każdej organizacji. SQL jako język deklaratywny umożliwia łatwe definiowanie co chcemy osiągnąć bez konieczności szczegółowego opisywania jak to zrobić co ułatwia pracę z dużymi i złożonymi zbiorami danych.

Pytanie 3

Kod

$liczba2 = &$liczba1;
wskazuje, że zmienna $liczba2 jest
A. negacją logiczną zmiennej $liczba1
B. wskaźnikiem do $liczba1
C. iloczynem logicznym ze zmienną $liczba1
D. referencją do $liczba1
Zmienna \$liczba2 jest referencją do zmiennej \$liczba1, co w języku PHP oznacza, że obie zmienne odwołują się do tego samego miejsca w pamięci. Dzięki temu każda zmiana wartości w jednej z nich automatycznie wpływa na drugą. Użycie referencji jest przydatne w sytuacjach, gdzie potrzebujemy pracować z dużymi strukturami danych bez tworzenia ich kopii, co pozwala na oszczędność pamięci i zwiększenie wydajności. Standardowym sposobem tworzenia referencji w PHP jest użycie operatora ampersand (&) przed nazwą zmiennej, co widzimy w przedstawionym kodzie. Dobre praktyki programistyczne sugerują stosowanie referencji w sposób przemyślany, aby uniknąć trudności w debugowaniu kodu, które mogą wynikać z nieoczekiwanych zmian wartości zmiennych. Referencje są również często wykorzystywane w funkcjach, aby przekazać zmienne przez referencję, co pozwala na modyfikację oryginalnych wartości przesyłanych argumentów."

Pytanie 4

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

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. tylko Annie
B. Adamowi i Annie
C. Tomaszowi i Adamowi
D. Tomaszowi i Annie
Odpowiedź Adamowi i Annie jest poprawna ponieważ polecenie GRANT w SQL służy do przydzielania określonych uprawnień użytkownikom. W zapytaniu GRANT ALL ON firmy TO 'adam'@'localhost' Adam otrzymuje wszystkie możliwe uprawnienia do tabeli co obejmuje również możliwość zmiany struktury tabeli poprzez ALTER oraz jej usuwania poprzez DROP. Z kolei Anna dzięki poleceniu GRANT ALTER CREATE DROP również uzyskuje te same dwa kluczowe uprawnienia dotyczące zmiany struktury i usuwania tabeli. Takie przydzielanie uprawnień jest zgodne z branżowymi standardami zapewniającymi elastyczność i bezpieczeństwo w zarządzaniu bazami danych. Praktyczne zastosowanie tych uprawnień umożliwia administratorom bazy danych delegowanie odpowiedzialności za różne aspekty zarządzania bazą innym użytkownikom co jest szczególnie przydatne w dużych zespołach. Ważne jest również aby zawsze monitorować i regularnie audytować przydzielone uprawnienia aby zapewnić że użytkownicy posiadają tylko te uprawnienia które są niezbędne do wykonywania ich zadań co jest zgodne z zasadą najmniejszych uprawnień w bezpieczeństwie IT.

Pytanie 5

Dla przedstawionego fragmentu dokumentu HTML:

<div class="menu"></div>
zdefiniowano formatowanie CSS selektora klasy "menu" tak, aby kolor tła bloku był zielony. Która definicja stylu CSS odpowiada temu formatowaniu?
A. #menu { background-color: rgb(0,255,0); }
B. menu { background-color: rgb(0,255,0); }
C. div.menu { background-color: green; }
D. div:menu { color: green; }
Podstawowy problem w niepoprawnych odpowiedziach wynika z mylenia różnych rodzajów selektorów CSS: typu, klasy i identyfikatora, a także pseudo-klas. W HTML mamy wyraźnie wskazany element `<div class="menu"></div>`. Atrybut `class` mówi wprost, że do stylowania należy użyć selektora klasy, czyli zapisu z kropką: `.menu` lub bardziej precyzyjnie `div.menu`. Użycie dwukropka w zapisie `div:menu` wygląda jak próba zastosowania pseudo-klasy, ale `menu` nie jest żadną standardową pseudo-klasą CSS. Pseudo-klasy to np. `:hover`, `:active`, `:first-child`. Przeglądarka taki selektor po prostu zignoruje, więc styl się nie zastosuje. Kolejnym typowym nieporozumieniem jest zamiana klasy na identyfikator. Znak `#` w CSS oznacza selektor id, więc `#menu` pasowałby do elementu `<div id="menu">`, a nie do `<div class="menu">`. Id i klasa to dwie różne rzeczy: id powinno być unikalne w całym dokumencie, a klasę można stosować wielokrotnie. W realnych projektach front-endowych mieszanie tych dwóch mechanizmów prowadzi do chaosu w kodzie i trudnych do wykrycia błędów, dlatego warto od początku rozróżniać `.` od `#` bardzo świadomie. Pojawia się też zapis `menu { background-color: rgb(0,255,0); }`. Taki selektor odnosi się do znacznika HTML o nazwie `menu`, czyli do `<menu>...</menu>`. Istnieje taki tag w HTML5, ale w pytaniu nie ma go w ogóle, jest zwykły `<div>`. Sam fakt, że klasa nazywa się „menu”, nie oznacza, że selektor typu `menu` będzie pasował. CSS nie „zgaduje” naszych intencji, tylko ściśle dopasowuje selektor do struktury dokumentu. To częsty błąd myślowy: patrzymy na nazwę klasy i podświadomie traktujemy ją jak nazwę znacznika. Moim zdaniem kluczowa lekcja z tego pytania jest taka: najpierw patrzymy na HTML i dokładnie identyfikujemy, czy mamy do czynienia z klasą (`class`), identyfikatorem (`id`), czy konkretnym tagiem (`div`, `p`, `nav` itd.). Dopiero potem dobieramy odpowiedni selektor CSS: `.` dla klasy, `#` dla id, samą nazwę znacznika dla selektora typu. Takie systematyczne podejście bardzo ułatwia dalszą pracę z arkuszami stylów i pomaga budować czytelne, skalowalne style zgodnie z dobrymi praktykami branżowymi.

Pytanie 6

Elementem wykorzystywanym w bazie danych do podsumowywania, prezentowania oraz drukowania danych jest

A. zestawienie
B. raport
C. formularz
D. zapytanie
Raport jest fundamentalnym obiektem w bazach danych, który służy do podsumowywania, analizowania i prezentowania danych w przystępny sposób. Jego kluczową funkcją jest umożliwienie użytkownikowi wygenerowania wyników na podstawie zgromadzonych informacji, co jest szczególnie istotne w kontekście podejmowania decyzji biznesowych. Raporty mogą być wykorzystywane do przedstawienia danych finansowych, wydajności operacyjnej czy analizy rynku. W dobrych praktykach zarządzania danymi raporty powinny być oparte na aktualnych i wiarygodnych danych, a ich struktura powinna być przemyślana, aby umożliwić łatwe zrozumienie wyników. Przykładem może być raport sprzedaży, który zbiera dane z transakcji i przedstawia je w formie graficznej, co ułatwia szybką analizę trendów. Ponadto, w nowoczesnych systemach raportowania wykorzystuje się technologie takie jak BI (Business Intelligence), które integrują dane z różnych źródeł, co znacznie podnosi wartość informacyjną generowanych raportów.

Pytanie 7

W języku CSS wprowadzone zostało następujące formatowanie: ```h1 i {color:red;}``` Kolor czerwony będzie stosowany do

A. tylko tekstu pochylonego nagłówka pierwszego poziomu
B. całego tekstu nagłówka pierwszego stopnia oraz całego tekstu pochylonego, niezależnie od lokalizacji na stronie
C. wyłącznie pochylonego tekstu w każdym rodzaju nagłówka
D. całego tekstu nagłówka pierwszego stopnia oraz tekstu pochylonego w akapicie
W języku CSS, zapis 'h1 i {color:red;}' wskazuje na regułę stylowania, która dotyczy elementów 'i' znajdujących się wewnątrz nagłówka pierwszego stopnia 'h1'. W związku z tym, tylko tekst, który jest oznaczone jako pochylony (italic) w obrębie h1, zostanie wyświetlony na czerwono. W CSS, selektor 'h1 i' jest przykładem selektora potomka, który działa na zasadzie dziedziczenia stylów przez elementy znajdujące się w danym kontekście. Przykładowo, skoro element 'i' jest bezpośrednio związany z 'h1', to tylko tekst w tym elemencie zyska czerwony kolor. W praktyce, jeśli w nagłówku pierwszego stopnia mamy tekst 'To jest nagłówek <i>pochylony</i>', to jedynie słowo 'pochylony' będzie czerwone, podczas gdy pozostała część nagłówka pozostanie w domyślnym kolorze. Tego typu stylizacje są zgodne z standardami CSS, które promują modularność i precyzyjność w określaniu stylów dla różnych elementów dokumentu.

Pytanie 8

Jakie imiona spełniają warunek klauzuli LIKE w poniższym zapytaniu: SELECT imię FROM mieszkańcy WHERE imię LIKE '_r%';?

A. Gerald, Jarosław, Marek, Tamara
B. Krzysztof, Krystyna, Romuald
C. Rafał, Rebeka, Renata, Roksana
D. Arieta, Krzysztof, Krystyna, Tristan
W przypadku innych odpowiedzi pojawia się kilka istotnych błędów interpretacyjnych związanych z wykorzystaniem klauzuli LIKE. Po pierwsze, w imionach takich jak 'Rafał', 'Rebeka', 'Renata', 'Roksana', choć wszystkie zawierają 'r', to nie znajdują się one na drugiej pozycji, co jest kluczowym kryterium w zapytaniu. Warto zaznaczyć, że znak podkreślenia (_) w klauzuli LIKE reprezentuje pojedynczy znak, a więc jego lokalizacja jest istotna. W kontekście imion 'Gerald', 'Jarosław', 'Marek', 'Tamara', imiona te nie mają 'r' na drugiej pozycji, co również czyni je nieprawidłowymi odpowiedziami. Typowym błędem jest ignorowanie lokalizacji znaków w wzorcach, co prowadzi do błędnych wniosków. Niektórzy mogą również błędnie skupić się na obecności litery 'r' gdziekolwiek w imieniu, co nie jest zgodne z tym, co wskazuje zapytanie. Zrozumienie zasadności klauzuli LIKE oraz umiejętność czytania i interpretacji wzorców jest kluczowe dla skutecznej pracy z bazami danych. Dlatego, aby unikać takich pomyłek, warto regularnie ćwiczyć zapytania SQL, a także zapoznawać się z dokumentacją techniczną baz danych.

Pytanie 9

W systemie baz danych MySQL komenda CREATE USER pozwala na

A. stworzenie nowego użytkownika
B. stworzenie użytkownika oraz przypisanie mu uprawnień do bazy
C. zmianę hasła dla już istniejącego użytkownika
D. zobaczenie danych o aktualnym użytkowniku
Polecenie CREATE USER w bazie danych MySQL jest kluczowym narzędziem do zarządzania użytkownikami w systemie zarządzania bazami danych. Jego podstawowym celem jest utworzenie nowego konta użytkownika, które pozwala na autoryzowany dostęp do różnych zasobów bazy danych. Użycie tego polecenia wiąże się z określeniem nazwy użytkownika oraz hasła, a także opcjonalnymi parametrami, takimi jak host, który określa, z jakiego adresu IP użytkownik może uzyskać dostęp do serwera. Przykładowe polecenie CREATE USER wygląda następująco: CREATE USER 'nazwa_użytkownika'@'host' IDENTIFIED BY 'hasło'; Po utworzeniu użytkownika można przypisać mu odpowiednie uprawnienia za pomocą polecenia GRANT, co pozwala na kontrolowanie, jakie operacje użytkownik może wykonywać na bazie danych. Dobrą praktyką jest regularne przeglądanie i aktualizacja uprawnień użytkowników, aby zapewnić bezpieczeństwo danych. Zgodnie z najlepszymi standardami bezpieczeństwa należy unikać nadawania zbyt szerokich uprawnień, co jest zgodne z zasadą najmniejszych uprawnień (principle of least privilege).

Pytanie 10

W języku SQL instrukcja INSERT INTO

A. wprowadza dane do tabeli
B. tworzy nową tabelę
C. dodaje kolumny do istniejącej tabeli
D. zmienia rekordy na zadaną wartość
Polecenie INSERT INTO w języku SQL jest używane do dodawania nowych danych do tabeli w bazie danych. Jego podstawowa składnia to: INSERT INTO nazwa_tabeli (kolumna1, kolumna2, ...) VALUES (wartość1, wartość2, ...). Dzięki temu poleceniu użytkownicy mogą wprowadzać nowe rekordy, co jest kluczowe w zarządzaniu danymi w relacyjnych bazach danych. Przykładowo, jeżeli mamy tabelę 'użytkownicy' z kolumnami 'imie', 'nazwisko' i 'wiek', możemy dodać nowego użytkownika za pomocą: INSERT INTO użytkownicy (imie, nazwisko, wiek) VALUES ('Jan', 'Kowalski', 30). Warto zauważyć, że polecenie to może być używane w kontekście transakcji, co pozwala na zachowanie integralności danych. Standard SQL, na którym opiera się wiele systemów zarządzania bazami danych, definiuje to polecenie jako fundamentalne w operacjach DML (Data Manipulation Language), co czyni je niezbędnym w każdej aplikacji, która wymaga wprowadzania danych do bazy.

Pytanie 11

Aby aplikacja PHP mogła nawiązać połączenie z bazą danych, konieczne jest najpierw użycie funkcji o nazwie

A. mysqli_select_db
B. mysqli_close
C. mysqli_create_db
D. mysqli_connect
Funkcja mysqli_connect jest kluczowym elementem w procesie komunikacji aplikacji PHP z bazą danych. Jej głównym zadaniem jest nawiązanie połączenia z serwerem MySQL, co jest niezbędne, zanim jakiekolwiek operacje na danych mogą zostać przeprowadzone. Wywołując tę funkcję, należy podać odpowiednie parametry: nazwę hosta (zazwyczaj 'localhost'), nazwę użytkownika, hasło oraz nazwę bazy danych, z którą chcemy pracować. Na przykład: $conn = mysqli_connect('localhost', 'user', 'password', 'database');. Dobrą praktyką jest również sprawdzenie, czy połączenie zostało nawiązane poprawnie, co można zrobić za pomocą odpowiednich warunków. W przypadku ewentualnych błędów podczas nawiązywania połączenia, funkcja ta zwraca wartość false, co umożliwia dalsze działania naprawcze. Dodatkowo, w kontekście bezpieczeństwa, warto stosować techniki takie jak przygotowywanie zapytań (prepared statements), aby zminimalizować ryzyko ataków typu SQL Injection. Właściwe nawiązanie połączenia z bazą danych jest fundamentem każdej aplikacji webowej opartej na PHP.

Pytanie 12

Obejrzyj tabelę mieszkań, która zawiera kolumny: adres, metraż, ile_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie:

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. metraż oraz cena tych mieszkań, które posiadają co najmniej 3 pokoje
B. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
C. wszystkie dane mieszkań, które mają co najmniej 3 pokoje
D. wszystkie informacje, z wyjątkiem adresu, dotyczące mieszkań z więcej niż 3 pokojami
Odpowiedź wskazująca na metraż oraz cenę mieszkań, które mają więcej niż 3 pokoje jest prawidłowa, ponieważ kwerenda SQL wykorzystuje operator '>', co oznacza, że wybrani będą tylko ci, którzy mają co najmniej 4 pokoje. W kontekście tabeli mieszkania, zapytanie SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3; efektywnie filtruje dane, aby zwrócić tylko kolumny metraż oraz cena dla mieszkań spełniających ten warunek. W praktyce, umiejętność pisania takich zapytań SQL jest kluczowa w pracy z bazami danych, gdzie często potrzebne jest zrozumienie struktury danych i umiejętność ich analizy. Przykładem zastosowania może być analiza rynku nieruchomości, gdzie deweloperzy mogą chcieć zbadać ceny mieszkań większych niż 3 pokoje, aby lepiej dostosować swoje oferty do potrzeb klientów. Warto również zaznaczyć, że takie zapytania powinny być pisane zgodnie z najlepszymi praktykami, takimi jak unikanie selekcji niepotrzebnych danych, co przyspiesza ich przetwarzanie oraz zmniejsza obciążenie bazy danych.

Pytanie 13

Relacja wiele-do-wielu w bazach danych występuje pomiędzy tabelami, gdy

A. jednemu wierszowi z tabeli A przysługuje wyłącznie jeden wiersz z tabeli B
B. jednemu wierszowi z tabeli A odpowiada wiele wierszy z tabeli B
C. wielu wierszom z tabeli A przypisany jest tylko jeden wiersz z tabeli B
D. wielu wierszom z tabeli A przyporządkowane są liczne wiersze z tabeli B
Odpowiedź, że wielu wierszom z tabeli A przypada wiele wierszy z tabeli B, jest jak najbardziej na miejscu. Wiesz, relacja wiele-do-wielu w bazach danych pojawia się, gdy jednemu rekordowi w jednej tabeli przypisanych jest kilka rekordów w drugiej. Na przykład w bazie danych uczelni mamy studentów (tabela A), którzy mogą zapisać się na różne kursy (tabela B), a jeden kurs może być realizowany przez różnych studentów. W praktyce, żeby to wszystko działało, tworzymy tabelę pośredniczącą, która łączy oba zestawy danych za pomocą kluczy obcych. Taki sposób daje sporo swobody w zarządzaniu danymi, bo łatwo można dodawać lub usuwać powiązania. Ważne jest też, aby zwrócić uwagę na zasady normalizacji baz danych, które pomagają unikać powielania danych i zapewniają, że wszystko jest spójne. Dobrze przemyślane relacje w bazie danych to podstawa, bo to one wpływają na wydajność i prostotę w zarządzaniu danymi.

Pytanie 14

Z tabeli mieszkancy trzeba wydobyć unikalne nazwy miast, w tym celu należy użyć wyrażenia SQL zawierającego klauzulę

A. DISTINCT
B. HAVING
C. UNIQUE
D. CHECK
Odpowiedź 'DISTINCT' jest prawidłowa, ponieważ klauzula ta w SQL służy do eliminacji duplikatów z wyników zapytania. Gdy chcemy uzyskać unikalne wartości z określonej kolumny, stosujemy 'SELECT DISTINCT nazwa_kolumny FROM nazwa_tabeli'. Na przykład, używając zapytania 'SELECT DISTINCT miasto FROM mieszkancy', otrzymamy jedynie unikalne nazwy miast bez powtórzeń. To podejście jest szczególnie przydatne w analizach, gdzie kluczowe jest posiadanie jedynie jednorazowych wartości, na przykład w raportach marketingowych czy badaniach demograficznych. W praktyce 'DISTINCT' powinno być używane z rozwagą, gdyż jego użycie może wpływać na wydajność zapytania, zwłaszcza w przypadku dużych zbiorów danych. Należy również pamiętać, że 'DISTINCT' dotyczy wszystkich kolumn w zapytaniu – jeśli wybierzemy więcej niż jedną kolumnę, to zduplikowane wiersze będą usuwane tylko wtedy, gdy wszystkie kolumny są identyczne. To sprawia, że 'DISTINCT' jest elastycznym narzędziem w SQL, pozwalającym na efektywne zarządzanie i przetwarzanie danych.

Pytanie 15

Jaki jest cel wykorzystania znacznika <i> w języku HTML?

A. określenia formularza
B. zmiany kroju pisma na pochylony
C. wstawienia obrazka
D. określenia nagłówka w treści
Znacznik <i> w języku HTML jest używany do oznaczania tekstu, który powinien być wyświetlany w kroju pisma pochyłym. Takie użycie jest zgodne ze standardami HTML, gdzie <i> zwykle wskazuje na tekst, który ma być wyróżniony w kontekście stylistycznym, na przykład w przypadku tytułów książek, nazw gatunków czy terminów technicznych. Z perspektywy semantycznej, HTML5 wprowadza większą elastyczność w definiowaniu znaczenia tekstu, co czyni <i> bardziej konwencjonalnym narzędziem niż w poprzednich wersjach. Warto zaznaczyć, że dla lepszej dostępności i SEO, często zaleca się użycie znacznika <em>, który nie tylko zmienia styl, ale także podkreśla znaczenie tekstu. Przykład zastosowania <i>: <i>„Wojna i pokój”</i> to książka autorstwa Lwa Tołstoja. Z perspektywy użytkowników i wyszukiwarek, ważne jest, aby znać różnice między tymi znacznikami, co pozwala na efektywniejsze tworzenie treści internetowych.

Pytanie 16

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. tr { background-color: Pink; }
D. td, th { background-color: Pink; }
W tym zadaniu chodzi o zrozumienie, jak działają selektory CSS oraz pseudo-klasy odpowiedzialne za interakcję z użytkownikiem. Jeśli efekt ma pojawiać się tylko wtedy, gdy użytkownik najedzie myszką na wiersz tabeli, to zwykłe ustawienie background-color bez pseudo-klasy nie spełni tego warunku. Deklaracja tr { background-color: Pink; } oznaczałaby, że wszystkie wiersze tabeli są cały czas różowe, niezależnie od tego, czy ktoś na nie najedzie, czy nie. To jest po prostu styl statyczny, bez żadnej reakcji na zdarzenia. Podobnie zapis td, th { background-color: Pink; } ustawia tło dla wszystkich komórek tabeli (zarówno nagłówkowych th, jak i zwykłych td) w sposób stały. Moim zdaniem to dość częsty błąd: ktoś kojarzy tabelę z komórkami i intuicyjnie styluje td/th, ale zapomina, że w pytaniu chodzi o efekt dynamiczny „po najechaniu”. W rezultacie otrzymujemy tabelę pokolorowaną na stałe, bez jakiejkolwiek interakcji, co jest sprzeczne z założeniem zadania i z typowym zachowaniem tabel w nowoczesnych interfejsach. Ciekawsza jest kwestia selektora tr:active { background-color: Pink; }. Pseudo-klasa :active oznacza element w momencie „aktywacji”, czyli najczęściej w chwili klikania (przytrzymania przycisku myszy). Efekt trwa bardzo krótko, tylko w czasie samego kliknięcia. To zupełnie inny scenariusz niż wygodne podświetlenie wiersza, które ma się utrzymywać, dopóki kursor jest nad elementem. Użycie :active prowadzi do efektu, który miga na ułamek sekundy i z punktu widzenia ergonomii jest praktycznie bezużyteczny w kontekście podświetlania wierszy. Typowy błąd myślowy przy takich pytaniach polega na myleniu różnych pseudo-klas: :hover, :active, :focus. W webdevie przyjęło się, że :hover służy do reakcji na najechanie myszką, :active do krótkiej reakcji na kliknięcie, a :focus do zaznaczenia elementu, który ma aktualnie fokus klawiatury. Standardy CSS i dobre praktyki projektowania interfejsów jasno wskazują, że do efektu „podświetl wiersz, gdy nad nim jestem” należy użyć właśnie :hover na odpowiednim elemencie, czyli w tym przypadku tr. Wszystkie pozostałe odpowiedzi ignorują tę zasadę albo stosują nie tę pseudo-klasę, co trzeba, przez co nie odzwierciedlają poprawnie zachowania pokazanego w materiale wideo.

Pytanie 17

Jaką wartość przyjmie zmienna a po wykonaniu poniższej sekwencji komend w PHP?

$a = 1;
$a++;
$a += 10;
--$a;
A. 12
B. 1
C. 11
D. 10
Zmienna a początkowo jest ustawiona na wartość 1. Instrukcja $a++ to postinkrementacja co oznacza że pierwotna wartość zmiennej a jest użyta w bieżącym wyrażeniu a dopiero potem zwiększana. Po wykonaniu tej instrukcji a staje się 2. Następnie $a += 10 zwiększa wartość o 10 co daje nam 12. Ostatecznie instrukcja --$a to predekrementacja co oznacza że zmniejsza wartość przed użyciem w wyrażeniu. W efekcie końcowym a wynosi 11. W praktyce zrozumienie różnic między inkrementacją a dekrementacją jest kluczowe dla efektywnego kodowania zwłaszcza przy operacjach na licznikach w pętlach. Dobre praktyki w programowaniu zalecają świadome stosowanie post- i preinkrementacji oraz zrozumienie jak te operacje wpływają na logikę programu. Umiejętność przewidywania efektów tych operacji jest jedną z podstawowych kompetencji programistycznych która znacząco wpływa na jakość i niezawodność tworzonego oprogramowania. Warto także zwrócić uwagę na zachowanie tych operatorów w różnych językach programowania ponieważ mimo pewnych podobieństw zachowanie może się różnić

Pytanie 18

Która z poniższych zasad NIE WPŁYNIE pozytywnie na poprawę czytelności kodu?

A. Nazwy zmiennych powinny odzwierciedlać ich funkcję
B. Warto dodawać komentarze w bardziej skomplikowanych fragmentach kodu
C. Kod powinien być tworzony bez wcięć oraz zbędnych enterów
D. Każda linia kodu powinna zawierać tylko jedną komendę
Odpowiedź, że kod powinien być napisany bez wcięć i zbędnych enterów, jest poprawna, ponieważ w rzeczywistości brak wcięć i odpowiedniego formatowania znacząco obniża czytelność kodu. Wcięcia są kluczowe w wielu językach programowania, takich jak Python, gdzie definiują one blok kodu. Dobrze sformatowany kod, który wykorzystuje wcięcia i puste linie, ułatwia zrozumienie struktury programu i jego logiki. Przykładowo, w kodzie Pythona, brak wcięć skutkuje błędami składniowymi. Standardy kodowania, takie jak PEP 8 dla Pythona, jasno wskazują, że stosowanie wcięć jest nie tylko zalecane, ale wręcz wymagane dla utrzymania przejrzystości. Dobrze sformatowany kod zwiększa również jego utrzymywalność, co jest kluczowe w pracy zespołowej, gdzie wiele osób może pracować nad tym samym projektem. W praktyce, programiści często korzystają z narzędzi automatyzujących formatowanie kodu, co dodatkowo podnosi jego jakość i czytelność.

Pytanie 19

W SQL, przy użyciu polecenia ALTER, można

A. stworzyć nową tabelę
B. dodać dane do tabeli
C. usunąć tabelę
D. zmienić strukturę tabeli
Odpowiedź jest poprawna, ponieważ polecenie ALTER w języku SQL służy do modyfikacji istniejącej struktury tabeli. Umożliwia ono wykonywanie różnych operacji, takich jak dodawanie nowych kolumn, zmiana typu danych istniejących kolumn, a także usuwanie kolumn. Przykładem użycia może być zmiana typu danych kolumny 'wiek' w tabeli 'Użytkownicy' z INTEGER na VARCHAR, co można osiągnąć za pomocą zapytania: ALTER TABLE Użytkownicy MODIFY COLUMN wiek VARCHAR(3). Zmiana struktury tabeli jest istotna w kontekście dostosowywania bazy danych do zmieniających się wymagań aplikacji i użytkowników, co jest kluczowe dla utrzymania jej elastyczności i wydajności. Warto również pamiętać, że modyfikacje struktury tabeli powinny być przeprowadzane z zachowaniem zasad bezpieczeństwa danych oraz odpowiednich procedur kontroli wersji, aby zminimalizować ryzyko utraty danych lub wprowadzenia błędów. Dzięki zrozumieniu i umiejętnemu stosowaniu polecenia ALTER, administratorzy baz danych mogą skuteczniej zarządzać strukturą i integralnością danych.

Pytanie 20

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

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

Pytanie 21

Określ złożoność obliczeniową algorytmu prostego (standardowego) wyszukiwania najmniejszej wartości w zestawie liczb?

A. O(n)
B. O(n2 )
C. O(n3 )
D. O(n!)
Algorytm naiwnego wyszukiwania minimum jest dość prosty, bo jego złożoność obliczeniowa to O(n). To znaczy, że im więcej mamy elementów w zbiorze, tym dłużej trwa jego działanie, ale w prosty sposób, czyli liniowo. W praktyce algorytm przeszukuje każdy element, porównując go z innymi, co jest dosyć klasyczne i używane w wielu podstawowych programach. Na przykład, gdy programujemy w Pythonie, możemy użyć pętli do przejścia przez listę, co sprawia, że łatwo to zrozumieć. W branży programistycznej często mówimy o tym w kontekście analizy złożoności obliczeniowej, co czyni go naprawdę istotnym tematem dla każdego programisty. Moim zdaniem, zrozumienie O(n) jest kluczowe, gdy chcemy optymalizować nasz kod i oceniać, jak nasze algorytmy radzą sobie z większymi zbiorami danych. To chyba jeden z podstawowych tematów w inżynierii oprogramowania i analizie danych.

Pytanie 22

Wskaż funkcję JavaScript, która umożliwia obliczenie połowy kwadratu liczby podanej jako argument.

A. function wynik(a) { return a/2+a/2; }
B. function wynik(a) { return 2*a/a; }
C. function wynik(a) { return a*a/2; }
D. function wynik(a) { return a*2/2; }
Funkcja 'wynik' w postaci 'function wynik(a) { return a*a/2; }' poprawnie oblicza połowę kwadratu liczby 'a', co można zapisać matematycznie jako (a^2)/2. Takie podejście jest zgodne z definicją funkcji w programowaniu, gdzie argument 'a' jest przekazywany jako parametr, a następnie wykorzystany w obliczeniach. Przykładowo, jeśli przekazalibyśmy liczbę 4, wynik funkcji wyniósłby (4*4)/2 = 8. W praktycznych zastosowaniach, takie obliczenia mogą być przydatne w różnych dziedzinach, jak grafika komputerowa, gdzie oblicza się pola powierzchni, czy inżynieria, gdzie analizuje się różne parametry techniczne. Użycie operatora mnożenia i dzielenia zapewnia, że wyniki są zgodne z oczekiwaniami matematycznymi, co jest zgodne z najlepszymi praktykami programistycznymi, polegającymi na precyzyjnym oddzieleniu operacji arytmetycznych i dbałości o czytelność kodu.

Pytanie 23

Znak <s> w HTML powoduje

A. migotanie tekstu
B. skreślenie tekstu
C. pochylenie tekstu
D. podkreślenie tekstu
Znaczniki HTML pełnią różne funkcje związane z formatowaniem tekstu, jednak nie każdy znacznik działa w sposób intuicyjny. Na przykład, wybór odpowiedzi dotyczącej pochylenia tekstu wskazuje na nieporozumienie w zakresie zastosowania znacznika. Tekst pochylony w HTML osiąga się za pomocą znacznika <em> lub <i>, które są przeznaczone do podkreślenia znaczenia lub wyróżnienia fragmentu tekstu. Odpowiedź sugerująca migotanie tekstu pokazuje braki w wiedzy o standardach HTML; w rzeczywistości nie ma takiego znacznika w HTML5, a efekt migotania jest niezalecany ze względu na problemy z dostępnością i użytecznością. Wreszcie, podkreślenie tekstu w HTML realizowane jest przy pomocy znacznika <u>, który jest zarezerwowany dla tekstu, który jest ważny lub w inny sposób wyróżniony, a nie dla przekreślenia. Zatem, w kontekście HTML, kluczowe jest zrozumienie przeznaczenia każdego znacznika, aby unikać nieporozumień i błędnych interpretacji, które mogą prowadzić do niewłaściwego formatowania oraz naruszenia zasad dostępności.

Pytanie 24

Jakie polecenie pozwala na zwiększenie wartości o jeden w kolumnie RokStudiów w tabeli Studenci dla uczniów, którzy są na roku 1÷4?

A. UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5
B. UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5
C. UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5
D. UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5
Odpowiedzi, które nie są zgodne z właściwą składnią i logiką SQL, prowadzą do nieprawidłowych aktualizacji w bazie danych. Pierwsze podejście, 'UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5;', jest błędne, ponieważ nie wykorzystuje poprawnej struktury polecenia UPDATE. W SQL należy określić kolumnę, która ma być zaktualizowana, a nie używać dodatkowego wyrażenia w sekcji FROM. Drugie podejście, 'UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5;', jest również niekompletne, ponieważ brakuje w nim informacji o nowej wartości, którą należy przypisać. W tym przypadku, SET wymaga zarówno kolumny, jak i nowej wartości. Z kolei trzecia odpowiedź, 'UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5;', nie jest zgodna z składnią SQL, jako że operator '++' nie jest uznawany w standardzie SQL. Błędy te często wynikają z niewłaściwego zrozumienia, jak działa aktualizacja danych w SQL, co może prowadzić do niepoprawnych lub nieefektywnych zapytań. Kluczowym elementem jest znajomość standardów SQL i praktyczne umiejętności ich stosowania w codziennych operacjach zarządzania danymi.

Pytanie 25

Zadanie przedstawione w ramce polecenia SQL ma na celu

Ilustracja do pytania
A. ustawić wartość kolumny id_klasy na 1 dla wszystkich wpisów w tabeli Uczen
B. zwiększyć wartość kolumny id_klasy o jeden dla wszystkich wpisów tabeli Uczen
C. ustawić wartość pola Uczen na 1
D. powiększyć wartość pola Uczen o jeden
Analizując podane odpowiedzi możemy dostrzec kilka błędnych koncepcji które warto omówić Zrozumienie działania polecenia SQL jest kluczowe dla jego poprawnego zastosowania Pierwsza odpowiedź sugeruje że polecenie ustawia wartość na 1 dla pola Uczen co jest błędne ponieważ nie ma w nim żadnej instrukcji wskazującej na ustawienie wartości na określoną liczbę zatem nie odnosi się do pola Uczen lecz do kolumny id_klasy Druga odpowiedź zakłada że wartość pola Uczen zostanie zwiększona o jeden co również jest błędne ponieważ w poleceniu SQL nie występuje żadne odniesienie do pola Uczen lecz jedynie do id_klasy Poprawne zrozumienie struktury tabeli oraz dokładne czytanie polecenia jest tu kluczowe Trzecia odpowiedź sugeruje że wszystkie wartości id_klasy zostaną ustawione na 1 co jest mylne ponieważ polecenie wyraźnie wskazuje na operację zwiększania wartości a nie ich ustawiania na stałą liczbę Typowe błędy myślowe wynikają tu z braku dokładnej analizy składni SQL oraz niepełnego zrozumienia celu operacji UPDATE który często stosuje się do manipulacji danymi w sposób zautomatyzowany i kontrolowany Uważna analiza i testowanie poleceń SQL w środowisku testowym przed wdrożeniem w środowisku produkcyjnym jest kluczowym elementem dobrych praktyk branżowych Pozwoli to uniknąć potencjalnych błędów oraz zapewnić poprawne działanie aplikacji zarządzających danymi

Pytanie 26

W systemie baz danych wykonano następujące operacje dotyczące uprawnień użytkownika adam: GRANT ALL PRIVILEGES ON klienci To adam REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam. Jakie prawa będzie miał użytkownik adam po zrealizowaniu tych operacji?

A. aktualizowania danych oraz przeglądania tabeli klienci
B. usunięcia tabeli lub jej danych
C. przeglądania tabeli klienci i dodawania do niej rekordów
D. tworzenia tabeli klienci oraz wprowadzania do niej danych
Odpowiedzi, które sugerują, że użytkownik adam ma inne prawa, są niepoprawne z technicznego punktu widzenia. Użytkownik ten nie może aktualizować danych ani przeglądać tabeli klienci, ponieważ prawa do aktualizacji i przeglądania zostały odebrane przez polecenie REVOKE. Oznacza to, że wszystkie operacje wymagające dostępu do odczytu oraz modyfikacji danych w tabeli klienci są dla niego zablokowane. Kolejna nieprawidłowa odpowiedź sugeruje, że adam ma prawo do tworzenia tabeli klienci, co jest również błędne, ponieważ w kontekście przyznanych uprawnień użytkownik nie uzyskał prawa do tworzenia nowych obiektów w bazie danych. Ostatecznie, odpowiedzi te nie uwzględniają, że konkretne działania, takie jak wstawianie nowych rekordów, są zablokowane przez REVOKE, co skutkuje brakiem możliwości dodawania danych do tabeli klienci. Wnioskując, użytkownik adam ma jedynie prawo do usuwania rekordów, a nie do przeglądania, aktualizowania czy tworzenia nowych tabel, co jest kluczowe przy zarządzaniu dostępem do baz danych.

Pytanie 27

Na ilustracji zaprezentowano koncepcję układu bloków strony internetowej. Przyjmując, że bloki są realizowane za pomocą znaczników sekcji, a szerokość jest określona tylko dla bloków 2, 3 oraz 4, ich stylowanie powinno uwzględniać właściwość

Ilustracja do pytania
A. float: left jedynie dla bloków 3 i 4 oraz clear: both dla bloku 2
B. clear: both dla wszystkich bloków
C. float: left dla wszystkich bloków
D. clear: both dla bloku 5 i float: left jedynie dla bloków 2, 3 oraz 4
Stosowanie float: left dla wszystkich bloków jest nieprawidłowe, ponieważ prowadziłoby do nieprzewidywalnego zachowania bloków 1 i 5, które powinny być pełnej szerokości strony. Użycie float: left dla bloku 1 oznaczałoby, że jego miejsce w układzie zależałoby od szerokości i pozycji innych pływających elementów. Podobnie blok 5 potrzebuje wyraźnej separacji od pływających elementów powyżej, co osiągamy dzięki clear: both. Użycie clear: both dla wszystkich bloków odwołuje się do nieprawidłowej koncepcji, ponieważ blokowałoby to pływanie, co jest kluczowe dla tworzenia układów wielokolumnowych. Clear: both zmusza element do rozpoczęcia pod pływającymi elementami, co oznacza, że bloki 2, 3 i 4 nie mogłyby być ustawione obok siebie, co nie spełnia wymagań projektu. Rozważenie float: left jedynie dla bloków 3 i 4 i clear: both dla bloku 2 zaburzyłoby logiczny ciąg layoutu ze względu na fizyczne blokowanie się bloków, co wywołałoby niepożądane przesunięcia i brak przewidywalności w wyświetlaniu. Zastosowanie float w celu tworzenia układów kolumnowych wymaga precyzyjnego zarządzania pływającymi elementami, a niepoprawne użycie właściwości clear może prowadzić do problemów z dostępnością i użytecznością strony. Dlatego właściwe zrozumienie tych koncepcji jest kluczowe w tworzeniu efektywnych i responsywnych projektów internetowych, zgodnych z oczekiwaniami użytkowników oraz standardami branżowymi.

Pytanie 28

Jak kwerenda SQL przedstawiona w ramce wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char(9);
A. Doda kolumnę plec ze znakowym typem danych o zmiennej długości 9
B. Zmieni typ danych kolumny plec na znakowy o stałej długości 9
C. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9
D. Doda kolumnę plec ze znakowym typem danych o stałej długości 9
Inne odpowiedzi, które podałeś, dotyczą różnych operacji SQL, które nie mają związku z tym, co robi ALTER TABLE pracownicy MODIFY plec char(9). Musisz zrozumieć, że różnica między CHAR a VARCHAR jest dość istotna. CHAR ma stałą długość, to znaczy, że każda wartość w kolumnie zawsze ma tę samą liczbę znaków, uzupełnianą spacjami. Z kolei VARCHAR przechowuje dane o zmiennej długości, co może oszczędzać miejsce, ale wymaga więcej uwagi w zarządzaniu długością. Dodatkowo, jeśli chciałbyś dodać nową kolumnę, musiałbyś użyć polecenia ADD, a nie MODIFY. Ta różnica między dodawaniem a modyfikowaniem często myli początkujących w projektowaniu baz danych. Z mojego doświadczenia, wybór odpowiedniego typu danych i operacji jest kluczowy, bo źle przypisane polecenie może prowadzić do problemów z aplikacjami i zarządzaniem danymi. Tak że kluczowe jest zrozumienie, jak działają te polecenia SQL, żeby dobrze projektować efektywne bazy danych.

Pytanie 29

Jak można usunąć ciasteczko o nazwie ciastko, korzystając z języka PHP?

A. unsetcookie("$ciastko");
B. deletecookie("ciastko");
C. setcookie("ciastko", "", time()-3600);
D. setcookie("$ciastko", "", 0);
Wszystkie pozostałe odpowiedzi zawierają błędy koncepcyjne, które uniemożliwiają skuteczne usunięcie ciasteczka. Przykładowo, deletecookie("ciastko") to niepoprawne podejście, ponieważ nie istnieje funkcja o takiej nazwie w standardowej bibliotece PHP. Użytkownicy mogą myśleć, że wystarczy wywołać funkcję, która usunie ciasteczko, jednak PHP wymaga korzystania z funkcji setcookie(), aby to osiągnąć. W przypadku setcookie("$ciastko", "", 0), użytkownik próbuje usunąć ciasteczko, ale błędnie ustawia czas wygaśnięcia na zero. Wartość zero nie jest interpretowana jako czas przeszły, co uniemożliwia przeglądarce uznanie ciasteczka za wygasłe. Ponadto, użycie zmiennej "$ciastko" zamiast bezpośredniego odniesienia do nazwy ciasteczka wprowadza dodatkowe zamieszanie. Ostatnia propozycja, unsetcookie("$ciastko"), również jest błędna, ponieważ nie istnieje funkcja unsetcookie() w PHP. Użytkownicy mogą mylnie przypuszczać, że funkcje do usuwania zmiennych i ciasteczek są sobie równe, jednak każda z nich ma swoje specyficzne zastosowanie i zachowanie. Kluczowym punktem w pracy z ciasteczkami jest zrozumienie, że celem jest ich usunięcie przez ustawienie daty wygaśnięcia w przeszłości, a nie przez wywoływanie nieistniejących funkcji.

Pytanie 30

W HTML zdefiniowano hiperłącze zawierające znak #. Co się wydarzy po kliknięciu na ten odsyłacz?

<a href="#dane"></a>
A. Otworzy się nowa karta przeglądarki o nazwie dane
B. Zostanie wskazany względny adres URL o nazwie dane
C. Strona przewinie się do elementu o id równym dane
D. Uruchomi się skrypt o nazwie dane
W HTML znacznik <a> to taki element, który tworzy hiperłącza. Dzięki nim możesz przeskakiwać po stronie lub między różnymi stronami. Atrybut href wskazuje, dokąd prowadzi to łącze. Jak widzisz, gdy href zaczyna się od #, to znaczy, że przeniesie Cię do konkretnego miejsca na tej samej stronie, które jest oznaczone atrybutem id. Czyli, jeśli masz href="#dane", to strona przewinie się do elementu z id="dane". To bardzo przydatna rzecz, szczególnie na długich stronach, bo zamiast przewijać wszystko, możesz od razu trafić do odpowiedniej sekcji. To zgodne z tymi sztywnymi zasadami W3C, które mówią o tym, że strony powinny być łatwe w obsłudze. Powinieneś też pamiętać, żeby zawsze sprawdzać, czy id, do którego się odnosisz, istnieje. Dzięki temu unikniesz problemów z nawigacją.

Pytanie 31

Aby prawidłowo udokumentować linię kodu w języku JavaScript, należy po znakach // wpisać komentarz.

x = Math.max(a, b, c); //
A. wybór losowej wartości ze zmiennych a, b i c
B. w zmiennej x minimalna wartość ze zmiennych a, b, c
C. nieprawidłowe dane.
D. w zmiennej x maksymalna wartość ze zmiennych a, b, c
Wybór odpowiedzi, która sugeruje inne wartości niż maksymalne, wskazuje na pewne błędne zrozumienie działania funkcji Math.max() w JavaScript. Funkcja ta nie generuje losowych wartości ani nie posługuje się pojęciem minimalnej wartości w kontekście porównania podanych argumentów. Przykład, który mówi o "wyborze losowej wartości", wprowadza chaos w logice programowania, ponieważ programy oparte na konkretnych funkcjach matematycznych, takich jak Math.max(), działają w oparciu o zdefiniowane zasady i algorytmy, a nie na losowych wyborach. Z kolei mylenie maksymalnej wartości z minimalną wskazuje na brak zrozumienia podstawowych koncepcji porównywania wartości, co jest fundamentem programowania. Istotne jest, aby każdy programista rozumiał różnicę pomiędzy maksymalnymi a minimalnymi wartościami oraz umiejętność korzystania z odpowiednich funkcji do ich obliczania. Takie nieprawidłowe zrozumienie może prowadzić do błędów w kodzie, co w kontekście większych projektów może skutkować poważnymi problemami z wydajnością i stabilnością aplikacji. Umiejętność klarownego definiowania, co każda linia kodu robi, jest kluczowa w pracy programisty i przyczynia się do sukcesu projektów programistycznych.

Pytanie 32

W CSS wartości: underline, overline, blink są powiązane z atrybutem

A. font-weight
B. font-style
C. text-decoration
D. text-style
Atrybut text-style to w zasadzie fikcja w CSS, bo takiego czegoś po prostu nie ma w specyfikacji. Owszem, CSS daje nam różne opcje do stylizacji tekstu, ale text-style to nie jest jedna z nich. Lepiej skupić się na text-decoration, font-style czy font-weight, bo to już są realne właściwości. Na przykład, font-style pozwala wybrać styl czcionki, jak normal, italic albo oblique, ale nie zrobisz tym efektów dekoracyjnych, takich jak podkreślenie czy nadkreslenie. Z kolei font-weight dotyczy grubości czcionki, ale też nie ma nic wspólnego z dekoracją tekstu. Wartości, które tam znajdziesz, jak normal, bold czy bolder, odnoszą się raczej do samego kroju pisma. Więc jeśli chodzi o dekorację, to musisz używać text-decoration, bo to właśnie do tego zostało stworzone, a inne właściwości mają zupełnie inne zastosowania.

Pytanie 33

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

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

Pytanie 34

Kod został napisany w języku JavaScript. W podanej definicji obiektu metodą jest element o nazwie.

var obj1 = {
  czescUlamkowa: 10,
  czescCalkowita: 20,
  oblicz: function() {.....}
}
A. oblicz
B. obj1
C. czescCalkowita
D. czescUlamkowa
W podanym kodzie JavaScript obiekt obj1 zawiera trzy elementy czescUlamkowa czescCalkowita i oblicz Istotnym aspektem definicji obiektów w JavaScript jest możliwość definiowania metod czyli funkcji będących częścią obiektu W podanym obiekcie metoda oblicz zdefiniowana jest jako funkcja przypisana do klucza o tej samej nazwie To właśnie odróżnia metodę od zwykłych właściwości obiektu czyli czescUlamkowa i czescCalkowita które są wartościami liczbowymi Metody w JavaScript są wykorzystywane do wykonywania operacji wewnątrz obiektu co pozwala na manipulację jego danymi i zachowaniami Przykładowo metoda oblicz może służyć do kalkulacji bazującej na innych właściwościach obiektu takich jak czescUlamkowa i czescCalkowita Definiując metody w obiektach uzyskujemy spójność i enkapsulację dzięki czemu obiekt może sam zarządzać swoimi danymi i operacjami Rozumienie metod w kontekście obiektów jest kluczowe zwłaszcza w paradygmacie programowania obiektowego gdzie obiekty mogą posiadać zarówno dane jak i funkcjonalności związane z tymi danymi

Pytanie 35

W trakcie weryfikacji stron internetowych nie analizuje się

A. funkcjonowania linków
B. zgodności z różnymi przeglądarkami
C. źródeł pochodzenia narzędzi edytorskich
D. błędów składniowych w kodzie
Walidacja stron internetowych jest procesem, który ma na celu zapewnienie, że strona internetowa jest poprawnie skonstruowana i zgodna z ustalonymi standardami, co z kolei wpływa na jej funkcjonalność oraz dostępność. W tym kontekście analiza błędów składni kodu jest kluczowa, ponieważ nieprawidłowa składnia może prowadzić do błędów renderingowych w przeglądarkach, co z kolei negatywnie wpływa na doświadczenia użytkowników. Podobnie, sprawdzanie działania linków jest istotne, ponieważ nieaktywe lub uszkodzone linki mogą prowadzić do frustracji użytkowników oraz wyniszczającego wpływu na SEO. Dodatkowo, zgodność z przeglądarkami jest fundamentalnym aspektem walidacji, gdyż różne przeglądarki mogą interpretować kod HTML i CSS w odmienny sposób. Zaniedbanie tych aspektów może skutkować problemami z wyświetlaniem strony czy jej funkcjonalnością. Typowym błędem myślowym, który prowadzi do niewłaściwych wniosków, jest przekonanie, że źródło narzędzi edytorskich - czy to komercyjne, czy open-source - ma bezpośredni wpływ na jakość kodu. Prawda jest taka, że to programista jest odpowiedzialny za jakość tworzonych rozwiązań, a nie samo narzędzie. Również, często myli się korzyści płynące z używania profesjonalnego edytora kodu z jego wpływem na proces walidacji, co prowadzi do niewłaściwego podejścia do oceny jakości strony internetowej.

Pytanie 36

Kiedy zestawi się relacją kluczy głównych dwie tabele, uzyskuje się relację o typie

A. wiele do wielu
B. jeden do wielu
C. jeden do jednego
D. wiele do jednego
Zrozumienie relacji między tabelami w bazach danych często prowadzi do nieporozumień związanych z typami połączeń. Odpowiedzi sugerujące relacje wiele do wielu, wiele do jednego czy nawet jeden do wielu są niepoprawne w kontekście tego pytania. Relacja wiele do wielu zakłada, że wiele rekordów z jednej tabeli może być powiązanych z wieloma rekordami z drugiej tabeli. Przykładem może być sytuacja, w której studenci zapisani są na wiele kursów, a kursy mogą mieć wielu studentów. Tego typu relacje wymagają dodatkowej tabeli łączącej, co komplikuje strukturę bazy. Relacja wiele do jednego sugeruje, że wiele rekordów w jednej tabeli może odnosić się do jednego rekordu w drugiej tabeli, co nie odpowiada na pytanie o połączenie z relacjami kluczy głównych. Natomiast relacja jeden do wielu oznacza, że jeden rekord w jednej tabeli może mieć wiele powiązanych rekordów w drugiej tabeli, co również nie jest zgodne z definicją relacji jeden do jednego. Często błędne interpretacje wynikają z niepełnego zrozumienia zasad relacyjnej teorii baz danych, co może prowadzić do nieefektywnego projektowania baz danych i problemów z integralnością danych. Kluczowe jest zrozumienie, że każda relacja powinna być definiowana w kontekście jej celu oraz struktury danych, co jest fundamentalne w dobrych praktykach w zakresie projektowania baz danych.

Pytanie 37

Algorytm porządkowania tablicy, który polega na wielokrotnym porównywaniu ze sobą par sąsiednich elementów oraz ich zamianie, gdy warunek jest spełniony, nosi nazwę sortowania

A. przez wybór
B. przez scalanie
C. bąbelkowym
D. szybkim
Odpowiedzi, które nie wskazują na sortowanie bąbelkowe, opierają się na innych algorytmach sortujących, które działają na zupełnie innych zasadach. Sortowanie przez wybór (selection sort) polega na iteracyjnym wybieraniu najmniejszego elementu z niesortowanej części tablicy i umieszczaniu go na początku. Chociaż wynik końcowy może być podobny, technika ta nie bazuje na porównywaniu dwóch sąsiadujących elementów jak w przypadku sortowania bąbelkowego. Co więcej, złożoność czasowa sortowania przez wybór również wynosi O(n^2), lecz jego działanie jest istotnie inne, co prowadzi do często mylnych interpretacji. Sortowanie szybkie (quick sort) to bardziej zaawansowana metoda, która dzieli tablicę na podtablice, a następnie sortuje je rekurencyjnie. Używa techniki dziel i rządź, dostarczając znacznie lepszej wydajności z przeciętną złożonością czasową O(n log n). W końcu, sortowanie przez scalanie (merge sort) również operuje na zasadzie dzielenia tablicy na mniejsze części, ale charakteryzuje się stabilnością i złożonością czasową O(n log n). Każdy z tych algorytmów ma swoje specyficzne zastosowania i wydajność, co jest kluczowe w kontekście wyboru odpowiedniej metody w zależności od wymagań projektu. Zrozumienie różnic między tymi algorytmami jest niezbędne, aby uniknąć błędnych wyborów w praktycznych zastosowaniach programistycznych.

Pytanie 38

Baza danych MySQL została uszkodzona. Które z poniższych działań NIE przyczyni się do jej naprawy?

A. Utworzenie nowej bazy oraz przeniesienie do niej tabeli
B. Przywrócenie bazy z kopii zapasowej
C. Zrealizowanie replikacji bazy danych
D. Wykonanie naprawy przy użyciu polecenia REPAIR
Wszystkie działania, które mają na celu naprawę uszkodzonej bazy danych, muszą być przemyślane i dostosowane do rzeczywistego stanu uszkodzenia. Odtworzenie bazy z kopii bezpieczeństwa jest jedną z najskuteczniejszych metod naprawy, ponieważ pozwala przywrócić dane do momentu ich ostatniego zabezpieczenia. Użycie polecenia REPAIR do naprawy uszkodzonych tabel może być skuteczną praktyką, jednak wymaga znajomości struktury tabel oraz potencjalnych konsekwencji błędów. Przeniesienie tabel do nowej bazy stanowi podejście, które może zwrócić uwagę na problemy z integracją danych, ale wiąże się z koniecznością dokładnego zrozumienia, jak były zorganizowane w pierwotnej bazie. Replikacja, jako technika, jest zaawansowanym rozwiązaniem, które skupia się na synchronizacji danych pomiędzy różnymi instancjami baz danych. W sytuacji uszkodzenia bazy, replikacja popełnia błąd, ponieważ sieje zamieszanie, kopiując problematyczne dane do innej lokalizacji, a nie naprawiając ich. To prowadzi do błędnego przekonania, że replikacja może być sposobem na ratunek, podczas gdy w rzeczywistości może jedynie pogłębić problem. Dlatego kluczowym elementem w procesie zarządzania bazami danych jest świadome podejście do awarii oraz znajomość dostępnych narzędzi i metod naprawy.

Pytanie 39

W jakim typie pliku powinno się zapisać zdjęcie, aby mogło być wyświetlane na stronie WWW z zachowaniem efektu przezroczystości?

A. JPG
B. PNG
C. BMP
D. CDR
Wybór formatu JPG (Joint Photographic Experts Group) do przechowywania obrazów na stronach internetowych nie jest odpowiedni, gdyż ten format nie obsługuje przezroczystości. JPG to format stratny, co oznacza, że przy kompresji traci część informacji o obrazie, co skutkuje obniżeniem jakości, zwłaszcza w przypadku obrazów z dużą ilością detali. Dla grafik wymagających przezroczystości, takich jak ikony czy logotypy, JPG nie sprawdzi się, ponieważ nie oferuje opcji przezroczystości, co prowadzi do nieestetycznych efektów, gdy tło obrazu nie pasuje do tła strony. BMP (Bitmap) z kolei jest formatem, który również nie obsługuje przezroczystości i zwykle generuje dużą objętość pliku, co sprawia, że jest mało praktyczny do użycia w sieci. Natomiast CDR (CorelDRAW) jest formatem plików wektorowych, który jest używany głównie w oprogramowaniu Corel, a nie w kontekście publikacji w internecie. Rozważanie tych formatów, w sytuacji gdy konieczne jest zachowanie przezroczystości, wskazuje na nieporozumienie dotyczące ich zastosowań oraz brak zrozumienia standardów dotyczących formatów graficznych. W rzeczywistości najlepszym rozwiązaniem dla obrazów z przezroczystością jest właśnie PNG, który dostarcza odpowiednich narzędzi do efektywnego i estetycznego wyświetlania grafiki w internecie.

Pytanie 40

W CSS zapisano stylizację ```css p > i {color: blue} ``` oznacza to, że kolorem niebieskim zostanie wyświetlony

A. cały tekst akapitu, niezależnie od jego stylizacji
B. pochylony tekst akapitu
C. wszystkie teksty nagłówków, niezależnie od formatowania
D. pogrubiony tekst akapitu
Wszystkie inne odpowiedzi są niepoprawne z kilku powodów. Izolowanie tekstu paragrafu jako całości w odpowiedzi sugeruje, że cała zawartość elementu <p> byłaby stylizowana na niebiesko, co jest błędne, ponieważ selektor CSS wskazuje na tylko konkretne elementy wewnątrz <p>, a nie na całe jego wnętrze. Tekst kursywy, oznaczony przez <i>, to specyficzna część tekstu, która jest stylizowana, a nie cały tekst paragrafu. Pogrubiony tekst, oznaczony przez <b>, również pozostanie w swoim standardowym stylu, ponieważ nie jest objęty regułą CSS. Druga odpowiedź, dotycząca całego tekstu nagłówków, również jest niepoprawna, ponieważ nagłówki, takie jak <h1>, <h2> itd., nie są w ogóle związane z tym selektorem CSS, który odnosi się wyłącznie do paragraficznych elementów <p> i ich dzieci. Wreszcie, idea, że pogrubiony tekst paragrafu miałby być zmieniony na niebieski, również nie znajduje potwierdzenia w definicji selektora. Selektor CSS, jak w tym przypadku, działa na podstawie hierarchii i struktury dokumentu, a nie na ogólnym formacie tekstu. Wyjaśniając te kwestie, możemy zrozumieć, jak działa kaskadowe stylowanie i jak precyzyjne są selektory w CSS, co jest kluczowe dla efektywnego projektowania stron internetowych.