Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 12 maja 2026 14:54
  • Data zakończenia: 12 maja 2026 15:07

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

Wymagane minimum: 20 punktów (50%)

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

Jakiego typu w języku PHP można użyć do przechowywania wielu wartości z opcją ich indeksowania?

A. float
B. boolean
C. double
D. array
W PHP, jeśli chcesz przechowywać wiele wartości z możliwością ich indeksowania, to wybór pada na tablicę, czyli array. Tablice to naprawdę elastyczne struktury danych i mogą trzymać różne typy danych, takie jak liczby, teksty, obiekty, a nawet inne tablice. Fajną sprawą jest to, że możesz tworzyć tablice asocjacyjne, co oznacza, że przypisujesz wartości do konkretnych kluczy. Na przykład możesz stworzyć tablicę z imionami i numerami telefonów, jak w tym przykładzie: $contacts = array('Jan' => '123456789', 'Anna' => '987654321'). W PHP możesz łatwo dodawać i usuwać elementy, co jest super przydatne w programowaniu. A jakby tego było mało, tablice mogą być też wielowymiarowe, co sprawia, że idealnie nadają się do skomplikowanych danych, na przykład w bazach danych czy w aplikacjach webowych. Warto wiedzieć, że tablice w PHP są traktowane jako obiekty, więc masz dostęp do różnych funkcji, jak array_merge(), array_filter() czy array_map(). Dzięki nim manipulacja danymi staje się znacznie łatwiejsza. Tak więc odpowiedź 'array' to nie tylko dobry wybór, ale też kluczowa kwestia w programowaniu w PHP!

Pytanie 2

Użytkownik Jan będzie miał możliwość realizacji

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. wszystkie operacje na tabelach bazy dane oraz przekazywać prawa innym użytkownikom
B. wyłącznie operacje CREATE, ALTER, DROP na tabelach w bazie dane
C. wszystkie operacje na tabelach w bazie dane
D. tylko operacje manipulacji danymi oraz zmienić jedynie swoje uprawnienia
Niepoprawne odpowiedzi wynikają z nieporozumień dotyczących zakresu uprawnień, jakie mogą być przyznane użytkownikom w systemie baz danych. Ograniczanie możliwości Jan do jedynie operacji CREATE, ALTER, DROP na tabelach bazy danych jest błędne, ponieważ przyznanie ALL PRIVILEGES pozwala na znacznie szerszy zakres operacji, w tym manipulację danymi poprzez SELECT i INSERT. Warto zauważyć, że w kontekście baz danych, operacje związane z manipulowaniem danymi są kluczowe dla prawidłowego funkcjonowania aplikacji i utrzymania integralności danych. Twierdzenie, że Jan miałby jedynie możliwość zmiany własnych praw, jest również mylne, ponieważ uprawnienia ALL PRIVILEGES dają użytkownikowi kontrolę nad wszystkimi tabelami oraz możliwość nadawania uprawnień innym użytkownikom. Koncepcja ograniczenia uprawnień do jedynie manipulacji danymi nie uwzględnia pełnego potencjału, jaki niesie ze sobą przyznanie ALL PRIVILEGES, co prowadzi do nieefektywnego zarządzania bazą danych. Zrozumienie, jak działają uprawnienia w systemach baz danych, jest kluczowe dla bezpieczeństwa i prawidłowego zarządzania danymi, dlatego konieczne jest, aby administratorzy baz danych dokładnie analizowali zasady, według których przyznają uprawnienia użytkownikom.

Pytanie 3

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 "i skrypt" na niebieski
C. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
D. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
Przy analizie działania kodu przedstawionego w pytaniu istotne jest zrozumienie jak JavaScript oddziałuje z elementami DOM (Document Object Model). Istnieje powszechne nieporozumienie polegające na założeniu że funkcje JavaScript automatycznie działają na wszystkie elementy o podobnej treści. W rzeczywistości kod używa metody document.getElementById która jednoznacznie identyfikuje element na podstawie jego unikalnego Id. W omawianym przypadku odnosi się to do elementu paragrafu z identyfikatorem para1. Pozostałe fragmenty tekstu takie jak i skrypt nie są objęte tym działaniem gdyż nie są częścią identyfikowanego elementu. Popularnym błędem jest również zakładanie że przycisk zmienia swój własny kolor styli po naciśnięciu co w tym przypadku nie ma miejsca ponieważ kod bezpośrednio modyfikuje jedynie własności stylu określonego elementu przez jego Id. Warto zwrócić uwagę że dla złożonych manipulacji DOM w kontekście większych aplikacji webowych używa się bardziej zaawansowanych technik jak selektory CSS lub biblioteki takie jak jQuery które umożliwiają selekcję wielu elementów jednocześnie. Zrozumienie tych podstawowych zasad jest kluczowe dla poprawnego rozumienia i implementacji funkcji JavaScript w nowoczesnych aplikacjach webowych i zgodne z najlepszymi praktykami w branży.

Pytanie 4

Można wydać instrukcję transakcyjną ROLLBACK, aby

A. zatwierdzić transakcję
B. cofnąć transakcję po zastosowaniu instrukcji COMMIT
C. zatwierdzić jedynie wybrane modyfikacje transakcji
D. cofnąć działanie transakcji
Odpowiedź 2 jest poprawna, ponieważ instrukcja ROLLBACK jest używana w systemach zarządzania bazami danych, aby cofnąć wszystkie zmiany wprowadzone w bieżącej transakcji. ROLLBACK przywraca stan bazy danych do momentu sprzed rozpoczęcia transakcji, co jest niezwykle istotne w kontekście zapewnienia integralności danych. W sytuacjach, gdy transakcja kończy się błędem lub występują nieprzewidziane okoliczności, ROLLBACK umożliwia usunięcie wszystkich niepoprawnych lub niekompletnych operacji. Na przykład, podczas aktualizacji danych w bazie, jeśli część operacji zakończy się niepowodzeniem, a część nie, zastosowanie ROLLBACK pozwala na ochronę danych przed niespójnym stanem. W praktyce, ROLLBACK powinien być stosowany w ramach transakcji, co jest zgodne z zasadami ACID (Atomicity, Consistency, Isolation, Durability), które są kluczowe dla bezpieczeństwa i spójności operacji w bazach danych. Dobrą praktyką jest również testowanie scenariuszy, w których mogą wystąpić błędy, aby upewnić się, że ROLLBACK działa poprawnie w sytuacjach awaryjnych, co może pomóc w ochronie przed utratą danych oraz w utrzymaniu zaufania użytkowników względem systemu.

Pytanie 5

Która z reguł dotyczących sekcji w języku HTML jest poprawna?

A. W sekcji <head> można zdefiniować szablon strony przy użyciu znaczników <div>
B. W sekcji <head> mogą znajdować się znaczniki <meta>, <title>, <link>
C. W sekcji <head> nie można umieszczać kodu CSS, jedynie odwołanie do pliku CSS
D. W sekcji <head> umieszcza się część <body>
Wybór tej odpowiedzi jest słuszny, ponieważ w części <head> dokumentu HTML mogą występować różne znaczniki, które są kluczowe dla poprawnej struktury i funkcjonalności strony. Znaczniki <meta> służą do dostarczania danych o stronie, takich jak opis, słowa kluczowe czy informacje o autorze, co jest istotne dla SEO (optymalizacji pod kątem wyszukiwarek). Znacznik <title> definiuje tytuł strony, który jest wyświetlany w zakładkach przeglądarki oraz w wynikach wyszukiwania, co ma wpływ na wrażenia użytkowników oraz ich decyzje. Z kolei znacznik <link> jest używany do odwoływania się do zewnętrznych arkuszy stylów CSS, co pozwala na oddzielenie struktury HTML od stylizacji. Dobre praktyki wskazują, że umieszczanie CSS w <head> zamiast w <body> poprawia czas ładowania strony oraz zapewnia, że style są stosowane jeszcze przed renderowaniem zawartości, co wpływa na lepszą użyteczność i wygląd strony. Dobrze zorganizowana sekcja <head> może przyczynić się do lepszego pozycjonowania w wyszukiwarkach oraz poprawy doświadczeń użytkowników.

Pytanie 6

Jakie polecenie pozwala na dodanie kolumny zadaniekompletne do tabeli zadania?

A. CREATEINDEX zadania ADD COLUMN zadaniekompletne int
B. INSERT INTO zadania VALUES zadaniakompletne
C. ALTER TABLE zadania ADD COLUMN zadaniekompletne int
D. ADD COLUMN zadaniekompletne WITH zadania
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 7

W języku JavaScript funkcja getElementById() odnosi się do

A. elementu HTML o wskazanej nazwie klasy
B. elementu HTML o określonym id
C. zmiennej liczbowej
D. klasy zdefiniowanej w CSS
Metoda getElementById() jest jedną z najczęściej używanych funkcji w JavaScript, która pozwala na bezpośrednie odwołanie się do elementu DOM (Document Object Model) za pomocą atrybutu id. Gdy wywołujemy tę metodę, przekazujemy jej jako argument ciąg znaków odpowiadający wartości atrybutu id danego elementu HTML. Przykładowo, jeśli mamy znacznik `<div id='myDiv'></div>`, możemy uzyskać do niego dostęp za pomocą `document.getElementById('myDiv')`. Jest to bardzo efektywny sposób na manipulowanie elementami strony, umożliwiający m.in. zmianę ich zawartości, stylu czy atrybutów. Dzięki tej metodzie programiści mogą szybko i łatwo modyfikować interfejs użytkownika oraz reagować na zdarzenia, co jest zgodne z zasadami responsywnego projektowania i tworzenia dynamicznych aplikacji webowych. Warto również pamiętać, że użycie unikalnych identyfikatorów w HTML jest zgodne z dobrymi praktykami, ponieważ pozwala na łatwiejszą nawigację po strukturze dokumentu i unika konfliktów z innymi elementami.

Pytanie 8

var obj1 = {     czescUlamkowa: 10,     czescCalkowita: 20,     oblicz: function) {...} } Kod przedstawiony powyżej jest zapisany w języku JavaScript. W podanej definicji obiektu, metodą jest element o nazwie

A. oblicz
B. czescUlamkowa
C. czescCalkowita
D. obj1
Wiesz co? W definicji obiektu w JavaScript, metoda to po prostu funkcja, która jest przypisana do jakiegoś klucza w obiekcie. Mamy tutaj obiekt obj1, który ma dwie właściwości: czescUlamkowa i czescCalkowita, a do tego jedną metodę, czyli oblicz. Metody to taki ważny temat w programowaniu obiektowym, bo pozwalają manipulować danymi, które są w obiekcie. W naszym przypadku, ta metoda oblicz może robić różne obliczenia, na przykład sumować te nasze właściwości. Można ją zdefiniować tak: obj1.oblicz = function() { return this.czescUlamkowa + this.czescCalkowita; }. Kiedy potem wywołasz obj1.oblicz(), dostaniesz wynik 30. To jest właśnie to, jak metody działają na danych obiektów i czemu są niezastąpione, zwłaszcza w JavaScript czy ECMAScript.

Pytanie 9

Która lista jest interpretacją przedstawionego kodu?

<ol>
    <li>muzyka
        <ul>
            <li>Wpis1</li>
            <li>Wpis2</li>
        </ul>
    </li>
    <li>filmy
        <ul>
            <li>Wpis3</li>
            <li>Wpis4</li>
        </ul>
    </li>
</ol>
A. Lista uporządkowana z dwoma składnikami, z których każdy ma wewnętrzną listę nieuporządkowaną.
B. Lista uporządkowana z sześcioma następującymi elementami.
C. Lista uporządkowana z podpunktami zapisanymi w formie numeracji dziesiętnej (np. 1.1, 1.2).
D. Lista nieuporządkowana zawierająca wszystkie składniki, jeden za drugim.
Przedstawiony kod HTML jest przykładem zagnieżdżonych list uporządkowanych i nieuporządkowanych. Na poziomie głównym użyto listy uporządkowanej oznaczonej tagiem <ol> która tworzy listę numerowaną. Listy zagnieżdżone opisane są za pomocą tagu <ul> co oznacza listy nieuporządkowane punktowane. Wewnętrzna struktura kodu pokazuje jak zagnieżdżać listy aby tworzyć hierarchiczne struktury które są często stosowane na stronach internetowych do organizowania treści. Taka organizacja danych jest szczególnie przydatna w przypadku tworzenia menu rozwijanych lub katalogów. Aby zrozumieć prawidłowość tej struktury należy zapoznać się z zasadą zagnieżdżania elementów w HTML gdzie jeden element może zawierać inne w celu tworzenia bardziej złożonych układów. Popularnymi zastosowaniami są również generowanie drzew katalogów oraz nawigacji w witrynach. Standardy HTML sugerują takie podejście do strukturyzacji danych aby były one semantycznie poprawne a zarazem łatwe do odczytania przez przeglądarki internetowe co zwiększa ich dostępność i użyteczność. Praktyka ta jest zgodna z dobrymi praktykami projektowania webowego gdzie zrozumiałość kodu oraz jego struktura są kluczowe dla dalszego rozwoju czy utrzymania aplikacji.

Pytanie 10

Narzędzie zaprezentowane na ilustracji służy do

Ilustracja do pytania
A. walidacji kodu HTML i XHTML
B. sprawdzania zgodności witryny ze standardem HTML5
C. walidacji stylów CSS
D. debugowania strony internetowej
Walidacja kodu HTML i XHTML nie jest głównym celem narzędzia przedstawionego na ilustracji. Mimo że omawiana usługa W3C może wspierać analizę dokumentów HTML zawierających style CSS, jej podstawową funkcją jest analiza i walidacja samego CSS. Z kolei debugowanie strony internetowej to proces identyfikacji i usuwania błędów w kodzie, co wymaga użycia narzędzi takich jak przeglądarkowe narzędzia deweloperskie, np. Google Chrome DevTools, które oferują inspekcję DOM, monitorowanie działań sieciowych oraz debugowanie JavaScript. Narzędzie to nie sprawdza również zgodności witryny ze standardem HTML5, ponieważ koncentruje się wyłącznie na arkuszach stylów CSS. Walidacja pod kątem zgodności z HTML5 wymaga użycia innego narzędzia, takiego jak W3C Markup Validation Service, które analizuje składnię i strukturę kodu HTML. Wybór nieodpowiedniego narzędzia do walidacji może prowadzić do błędnych wniosków na temat jakości i zgodności kodu, co podkreśla znaczenie stosowania właściwych narzędzi do odpowiednich zadań.

Pytanie 11

Zakładając, że zmienna tablicowa $tab jest wypełniona liczbami naturalnymi, wynikiem programu będzie wypisanie

$liczba = $tab[0];
foreach ($tab as $element)
{
    if ($element > $liczba)
        $liczba = $element;
}
echo $liczba;
A. elementu tablicy, który jest równy wartości $tab[0].
B. tych elementów, które są większe od zmiennej $liczba.
C. najmniejszego elementu tablicy.
D. największego elementu tablicy.
Niektóre z błędnych odpowiedzi sugerują, że wynikiem programu będzie wypisanie najmniejszego elementu tablicy, tych elementów, które są większe od zmiennej $liczba, oraz elementu tablicy, który jest równy wartości $tab[0]. Te odpowiedzi są nieprawidłowe, ponieważ nie odzwierciedlają one prawidłowo działania programu. Program nie szuka najmniejszego elementu, ale największego. Nie ma również informacji, że program miałby wypisywać elementy większe od jakiejś konkretnej zmiennej - program porównuje wszystkie elementy tablicy z bieżącą największą znaną wartością, a nie z określoną z góry wartością. Odpowiedź sugerująca, że program wypisze wartość $tab[0] również jest nieprawidłowa, ponieważ wartość $tab[0] jest tylko początkową wartością do porównania, a nie koniecznie największym elementem tablicy.

Pytanie 12

Według zasad walidacji HTML5, właściwym zapisem dla znacznika hr jest

A. </ hr />
B. </ hr>
C. <hr>
D. </hr?>
Odpowiedź <hr> jest poprawna, ponieważ zgodnie z regułami HTML5, znacznik <hr> jest znakiem samodzielnym, co oznacza, że nie wymaga zamknięcia. Jest to element blokowy, który służy do wprowadzania poziomej linii w dokumencie, co często wykorzystuje się do rozdzielania sekcji treści. Standard HTML5 zezwala na użycie skróconej formy, a zatem <hr> jest wystarczające do oznaczenia poziomej linii. W praktyce, użycie tego znacznika jest istotne dla strukturyzacji dokumentów i poprawy ich czytelności. Dobrą praktyką jest również stosowanie odpowiednich atrybutów, takich jak 'class' czy 'id', co może ułatwić późniejsze stylizowanie za pomocą CSS. Warto pamiętać, że w HTML5, chociaż można używać atrybutów takich jak 'style' czy 'title', powinny one być stosowane odpowiedzialnie, aby nie zaburzać semantyki dokumentu. Ponadto, korzystanie z tego znacznika jest zgodne z WAI-ARIA, co wspiera dostępność aplikacji webowych.

Pytanie 13

Aby obraz w filmie zmieniał się gładko, liczba klatek (niezachodzących na siebie) w ciągu sekundy musi mieścić się przynajmniej w zakresie

A. 31 do 36 fps
B. 24 do 30 fps
C. 20 do 23 fps
D. 16 do 19 fps
Odpowiedź '24 do 30 fps' jest na miejscu, bo w tym zakresie klatki na sekundę zapewniają naprawdę płynny obraz w filmach. Standard to 24 fps, co uznaje się za minimalną liczbę klatek, aby widzowie widzieli ruch jako gładki, a nie poskakujący. W praktyce w telewizji oraz przy niektórych formatach wideo można spotkać się z 30 fps, co jeszcze bardziej poprawia wrażenia wizualne. Warto tu wspomnieć, że wiele produkcji, zwłaszcza animacji, trzyma się tych standardów. Na przykład, filmy animowane z 24 fps mają dobrą dynamikę, ale w transmisjach sportowych często korzysta się z 30 fps, żeby lepiej uchwycić szybko poruszające się obiekty. Ostatecznie, trzymanie się tych standardów w filmach i telewizji to klucz do dobrego odbioru wizualnego.

Pytanie 14

Na przedstawionym diagramie ER zapis FK1 oznacza

Ilustracja do pytania
A. klucz obcy.
B. relację 1:N.
C. relację 1:1.
D. klucz podstawowy.
Na diagramach ER oznaczenia typu FK1 zwykle odnoszą się do kluczy obcych, a nie do samej relacji ani do kluczy podstawowych. Łatwo się tu pomylić, bo obok tego symbolu widać też graficzne oznaczenie relacji 1:N między tabelami Klienci i Zamówienia, więc część osób automatycznie kojarzy podpis z typem połączenia. Tymczasem relacja 1:1 czy 1:N jest przedstawiana linią i odpowiednimi znacznikami przy końcach (kreska, „gałązki”, kółko), natomiast skróty PK i FK pojawiają się wewnątrz tabel i opisują role konkretnych kolumn. PK to primary key, czyli klucz podstawowy – unikalny identyfikator w danej tabeli. Na diagramie widać go przy NR_klienta w tabeli Klienci oraz przy ID_Zamówienia w tabeli Zamówienia. Oznaczenie FK1 przy NR_klienta w tabeli Zamówienia nie może więc oznaczać kolejnego klucza podstawowego ani samej relacji, tylko właśnie klucz obcy, który wskazuje na PK w innej tabeli. Częsty błąd polega na mieszaniu pojęć „relacja 1:N” z „kluczem obcym”. Relacja 1:N jest pojęciem konceptualnym: mówi, że jeden klient może mieć wiele zamówień. Klucz obcy to implementacja tej relacji w fizycznym modelu bazy: konkretna kolumna, która przechowuje wartość klucza podstawowego z drugiej tabeli. Innymi słowy, FK jest narzędziem, a 1:N opisem zależności. Kiedy ktoś interpretuje FK1 jako relację 1:1 albo 1:N, miesza warstwę symboliki linii z opisem kolumn. Dobra praktyka w projektowaniu baz danych i w narzędziach CASE jest taka, że PK i FK stoją zawsze przy nazwach atrybutów, a typ relacji rozczytujemy z grafiki między encjami, nie z tych skrótów. Zrozumienie tej różnicy jest kluczowe, bo potem w SQL dokładnie tak samo rozdzielamy definicję struktury tabel (PRIMARY KEY, FOREIGN KEY) od logicznej interpretacji, ile rekordów może być po każdej stronie relacji.

Pytanie 15

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. wyłącznie typu tekstowego.
B. klucza obcego.
C. wyłącznie typu logicznego.
D. klucza głównego.
Poprawna jest odpowiedź dotycząca klucza głównego, bo to właśnie pole (lub zestaw pól) oznaczone jako PRIMARY KEY w tabeli pełni rolę jednoznacznego identyfikatora rekordu. W praktyce oznacza to, że dla każdej krotki (wiersza) w tabeli wartość klucza głównego musi być unikalna i nie może być pusta (NULL). Systemy baz danych, takie jak MySQL, PostgreSQL, SQL Server czy Oracle, egzekwują te zasady automatycznie – jeśli spróbujesz wstawić drugi rekord z tą samą wartością klucza głównego, dostaniesz błąd naruszenia unikalności. Moim zdaniem to jedna z kluczowych zasad normalnego projektowania baz danych: zawsze projektujemy tabelę zaczynając od przemyślania klucza głównego. W aplikacjach webowych bardzo często używa się prostego klucza głównego typu liczbowego (np. INT AUTO_INCREMENT lub SERIAL), który jest technicznym identyfikatorem rekordu. Dzięki temu łatwo się odwołać do konkretnego użytkownika, zamówienia czy produktu po jego ID. Klucz główny jest też podstawą do definiowania kluczy obcych w innych tabelach – relacje typu 1:N czy N:M opierają się właśnie na odwołaniach do wartości PRIMARY KEY. Z mojego doświadczenia wynika, że stosowanie sztucznych (surrogate) kluczy głównych, zamiast kombinowania z wieloma polami naturalnymi, upraszcza później zapytania SQL, modyfikacje struktury i integrację z kodem w PHP czy JavaScript. W dobrze zaprojektowanej bazie danych każda tabela relacyjna powinna mieć jasno zdefiniowany klucz główny, bo bez tego trudno mówić o porządnym zarządzaniu danymi, spójności referencyjnej i wydajnym indeksowaniu.

Pytanie 16

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = mysqli_connect('localhost', 'root','','zwierzaki')
B. $polacz = db_connect('localhost', 'root','','zwierzaki')
C. $polacz = sql_connect('localhost', 'root','','zwierzaki')
D. $polacz = server_connect('localhost', 'root','','zwierzaki')
Odpowiedź $polacz = mysqli_connect('localhost', 'root','','zwierzaki'); jest poprawna, ponieważ używa funkcji mysqli_connect, która jest standardowym sposobem nawiązywania połączenia z bazą danych MySQL w PHP. Funkcja ta pozwala na określenie hosta, użytkownika, hasła oraz nazwy bazy danych, co jest niezbędne do skutecznego nawiązania połączenia. Mysqli jest rozszerzeniem PHP przeznaczonym do pracy z bazami danych MySQL, wprowadzającym nowe funkcjonalności w porównaniu do starszego mysql. Ponadto, mysqli_connect obsługuje zarówno połączenia proceduralne, jak i obiektowe, co daje programistom elastyczność w wyborze stylu programowania. Przykładowo, po poprawnym połączeniu, można wykonywać zapytania do bazy danych w sposób zorganizowany, co sprzyja tworzeniu aplikacji webowych. Należy również pamiętać o dobrych praktykach, takich jak użycie try-catch do obsługi błędów przy nawiązywaniu połączenia, co zapewnia stabilność i niezawodność aplikacji. Stosowanie mysqli jest obecnie zalecane w dokumentacji PHP, a także w praktyce branżowej.

Pytanie 17

W przedstawionej na rysunku relacji pole AutorID znajdujące się w tabeli ksiazki jest kluczem

Ilustracja do pytania
A. sztucznym.
B. kandydującym.
C. podstawowym.
D. obcym.
Pole AutorID w tabeli ksiazki jest klasycznym przykładem klucza obcego (foreign key) w relacyjnej bazie danych. Odwołuje się ono do pola IDAutor w tabeli autorzy, które jest kluczem podstawowym tej tabeli. Dzięki temu każda książka jest logicznie powiązana z konkretnym autorem, a baza danych może pilnować spójności referencyjnej. Innymi słowy: nie da się (a przynajmniej nie powinno się dać, jeśli relacje są poprawnie zdefiniowane) wstawić do ksiazki wartości AutorID, która nie istnieje w tabeli autorzy. W praktyce, w SQL definiuje się to np. tak: `AutorID INT CONSTRAINT FK_Ksiazki_Autorzy FOREIGN KEY REFERENCES autorzy(IDAutor)`. Moim zdaniem to jedno z najważniejszych pojęć w projektowaniu baz – bez kluczy obcych relacje między tabelami byłyby tylko „umowne”, a nie wymuszane przez silnik bazy. Klucz obcy zawsze wskazuje na klucz kandydujący, najczęściej na klucz podstawowy innej tabeli. Dzięki temu można łatwo wykonywać złączenia (JOIN): np. `SELECT Tytul, Imie, Nazwisko FROM ksiazki JOIN autorzy ON ksiazki.AutorID = autorzy.IDAutor;`. To jest dokładnie ten przypadek z rysunku: wiele książek może mieć tego samego autora, więc między autorzy a ksiazki mamy relację jeden‑do‑wielu, a pole AutorID jest po stronie „wiele” i pełni rolę klucza obcego. Dobre praktyki mówią też, żeby nazwy kluczy obcych jasno wskazywały, do czego się odnoszą (np. AutorID, Autor_Id), co tu również jest sensownie zrobione. W realnych systemach (biblioteki, księgarnie internetowe, systemy wydawnicze) dokładnie tak modeluje się powiązanie książka–autor: ID autora jako klucz podstawowy w tabeli autorzy i to samo ID jako klucz obcy w tabeli ksiazki.

Pytanie 18

W językach programowania o układzie strukturalnym, aby przechować dane o 50 uczniach (ich imionach, nazwiskach oraz średniej ocen), konieczne jest zastosowanie

A. struktury z 50 elementami o składowych typu tablicowego
B. klasy z 50 elementami typu tablicowego
C. tablicy z 50 elementami o składowych typu łańcuchowego
D. tablicy z 50 elementami o składowych strukturalnych
Wybór niewłaściwych podejść do przechowywania informacji o uczniach często wynika z nieporozumienia dotyczącego struktury danych i ich właściwego zastosowania. Tworzenie struktury 50 elementów o składowych typu tablicowego sugeruje, że każdy element byłby tablicą, co nie odpowiada rzeczywistej naturze danych. Tego rodzaju podejście nie tylko komplikuje dostęp do informacji, ale również zwiększa ryzyko błędów w zarządzaniu danymi. Z kolei użycie tablicy 50 elementów o składowych łańcuchowych ogranicza nas do prostych typów danych, takich jak ciągi znaków, co uniemożliwia przechowywanie średniej ocen, która wymagałaby użycia innego typu danych, co narusza zasady typizacji. W przypadku klasy z 50 elementami typu tablicowego, problemem jest, że klasa powinna być używana do modelowania złożonych obiektów z zachowaniem, co nie jest konieczne w tym przypadku. Te nieścisłości pokazują typowe błędy myślowe związane z projektowaniem struktur danych. Kluczowym elementem skutecznego programowania jest zrozumienie, jak najlepiej reprezentować i przechowywać złożone dane, a także znajomość odpowiednich struktur, które umożliwią efektywne operacje na tych danych.

Pytanie 19

W języku CSS stworzono określony styl. Sekcja sformatowana tym stylem będzie miała obramowanie o szerokości

div {
    border: solid 2px blue;
    margin: 20px;
}
A. 20 px oraz marginesy zewnętrzne tego obramowania
B. 2 px oraz marginesy wewnętrzne tego obramowania
C. 20 px oraz marginesy wewnętrzne tego obramowania
D. 2 px oraz marginesy zewnętrzne tego obramowania
Wybór odpowiedzi która nie uwzględnia prawidłowego połączenia właściwości border i margin prowadzi do błędnych założeń Odpowiedzi które sugerują że marginesy znajdują się wewnątrz obramowania są mylące ponieważ w CSS właściwość padding odpowiada za marginesy wewnętrzne natomiast margin dotyczy przestrzeni na zewnątrz obramowania Częstym błędem jest mylenie tych dwóch pojęć co prowadzi do niepoprawnego stylizowania elementów na stronie internetowej W przypadku definicji CSS przedstawionej na obrazku właściwość margin jest ustawiona na 20px co oznacza że do każdego z boków elementu dodawane jest 20 pikseli przestrzeni na zewnątrz jego obramowania Obramowanie samo w sobie ma 2 piksele grubości co precyzyjnie określa border 2px Próby rozumienia tej definicji w kategoriach wewnętrznych marginesów są błędne i wynikają z niepoprawnego zrozumienia struktury boksu w CSS Poprawne zrozumienie różnic między margin i padding jest kluczowe dla prawidłowego stosowania stylów CSS w praktyce projektowania stron internetowych oraz dla uzyskania estetycznych i funkcjonalnych układów które poprawiają doświadczenie użytkownika poprzez właściwe zarządzanie przestrzenią i separacją elementów

Pytanie 20

Z ilustracji można odczytać, że użytkownik bazy danych posiada uprawnienia do:

Ilustracja do pytania
A. wyświetlania, aktualizacji i usuwania danych.
B. wyświetlania, dodawania i usuwania danych.
C. wyświetlania, dodawania i aktualizacji danych.
D. dodawania, aktualizacji i usuwania danych.
Na ilustracji widać listę uprawnień do bazy danych w typowym narzędziu administracyjnym (bardzo podobne okno można spotkać np. w phpMyAdminie). Zaznaczone są pola SELECT, UPDATE i DELETE, a niezaznaczone INSERT oraz FILE. W praktyce oznacza to, że użytkownik może odczytywać dane (SELECT), modyfikować istniejące rekordy (UPDATE) oraz je usuwać (DELETE), ale nie ma prawa dodawać nowych wierszy (INSERT) ani operować na plikach na serwerze (FILE). Dlatego poprawna odpowiedź to: „wyświetlania, aktualizacji i usuwania danych”. SELECT odpowiada za wyświetlanie/odczyt danych, UPDATE za aktualizację rekordów, a DELETE za kasowanie danych w tabelach. W administracji bazą danych takie precyzyjne rozróżnienie uprawnień jest jedną z podstawowych dobrych praktyk bezpieczeństwa: użytkownik powinien mieć dokładnie takie prawa, jakich potrzebuje do pracy (zasada najmniejszych uprawnień – least privilege). Na przykład: typowy użytkownik aplikacji raportującej potrzebuje zwykle tylko SELECT, bo ma jedynie oglądać dane. Pracownik działu obsługi klienta może mieć SELECT i UPDATE, aby poprawiać błędne dane klientów, ale niekoniecznie DELETE, żeby przypadkiem nie usuwać rekordów. Z kolei konto techniczne używane przez skrypty migracyjne albo instalator systemu może mieć pełen zestaw: SELECT, INSERT, UPDATE, DELETE. Moim zdaniem warto od razu kojarzyć te nazwy z typowymi poleceniami SQL, bo później, przy pisaniu zapytań w kodzie (PHP, JavaScript z backendem, itp.), dokładnie te same słowa kluczowe pojawiają się w instrukcjach. Jeśli system pokazuje uprawnienia tak jak na obrazku, zawsze patrz najpierw, które checkboxy są zaznaczone, i od razu tłumacz je sobie na: odczyt, dodawanie, zmiana, usuwanie danych.

Pytanie 21

Wskaź poprawną formę kodowania polskich znaków w pliku HTML?

A. <meta charset="UTF-8">
B. <meta char set= "UTF-8">
C. <meta content='UTF8'>
D. <meta "content=UTF-8">
Odpowiedź <meta charset="UTF-8"> to strzał w dziesiątkę! To zgodny z nowoczesnymi standardami HTML sposób na określenie kodowania znaków w dokumencie. Dzięki temu, że używamy atrybutu 'charset' z wartością 'UTF-8', mówimy przeglądarkom, że tekst powinien być interpretowany według tego kodowania. UTF-8 jest super popularne, bo obsługuje wszystkie znaki w Unicode. To oznacza, że możemy pisać wszystkie polskie znaki diakrytyczne, czyli te jak ą, ć, ę, ł itd., bez obaw o błędy w wyświetlaniu. Jeśli wstawisz ten tag w sekcji <head> swojego dokumentu HTML, masz pewność, że strona będzie dobrze wyglądać w różnych przeglądarkach i na różnych urządzeniach. Dobrze jest umieszczać go na początku sekcji <head>, żeby uniknąć problemów z pokazywaniem treści. Co więcej, korzystanie z UTF-8 jest rekomendowane przez W3C, więc to naprawdę dobry wybór dla nowoczesnych aplikacji webowych.

Pytanie 22

W języku PHP znajduje się poniższa instrukcja pętli. Ile iteracji wykona ta pętla, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu i nie zastosowano instrukcji przerywającej pętlę typu break?

for ($i = 10; $i <= 100; $i += 10)
A. 10 iteracji
B. 9 iteracji
C. 100 iteracji
D. 11 iteracji
W przypadku błędnych odpowiedzi, najczęściej występującym błędem jest mylenie wartości granicznych i liczby iteracji pętli. Na przykład, jeśli ktoś uważa, że pętla wykona się tylko 9 razy, może to wynikać z niepoprawnego zrozumienia, jak działa operator porównania w instrukcji for. Wartości graniczne oraz sposób inkrementacji (tutaj $i += 10) powinny być dokładnie analizowane. Osoby, które odpowiedziały, że pętla wykona się 11 razy, mogą zakładać, że dolna granica nie jest wliczana w całkowitą liczbę wykonanych iteracji, co jest nieprawidłowe, gdyż w przypadku tego konkretnego kodu dolna granica jest uwzględniana. Ponadto, odpowiedź sugerująca, że pętla wykona się 100 razy ignoruje fakt, że zmienna $i nie może przekraczać 100. W praktyce, błędy te mogą prowadzić do poważnych problemów w logice aplikacji, a zrozumienie, jak dokładnie funkcjonują pętle w PHP, jest kluczowe dla efektywnego programowania. Prawidłowe podejście do analizy kodu, zrozumienia jego struktury i funkcji, jest niezbędne, aby uniknąć typowych pułapek w programowaniu oraz zapewnić, że napisany kod będzie wydajny i wolny od błędów.

Pytanie 23

W CSS zapis w postaci

 h1::first-letter {color: red;} 

spowoduje, że kolor czerwony zostanie zastosowany do

A. tekstu nagłówka w pierwszym stopniu
B. pierwszej litery nagłówka w drugim stopniu
C. pierwszej litery nagłówka w pierwszym stopniu
D. pierwszej linii akapitu
Zapis <span>h1::first-letter {color: red;} </span> jest w porządku, bo korzysta z pseudoelementu :first-letter, który działa na pierwszą literkę w nagłówku h1. To całkiem fajne, bo możemy w ten sposób stylizować tę pierwszą literę i nadać nagłówkom ciekawszy wygląd. Na przykład, jeśli mamy nagłówek h1 z napisem 'Witaj świecie', to dzięki temu kodowi, litera 'W' zrobi się czerwona. W CSS warto ogarnąć, że :first-letter działa tylko na bloki, takie jak nagłówki czy akapity, więc warto to mieć na uwadze, gdy coś stylizujemy. Używanie pseudoelementów to dobre podejście do tworzenia ładnych i funkcjonalnych interfejsów, a przy okazji daje nam większą kontrolę nad tym, jak wyglądają nasze elementy.

Pytanie 24

Zawarty blok ilustruje proces

Ilustracja do pytania
A. realizacji zadania w pętli
B. odczytu lub prezentacji danych
C. wykorzystania zdefiniowanej procedury lub funkcji
D. podjęcia decyzji
Romb w diagramach przepływu sterowania jest używany do reprezentacji podejmowania decyzji jest kluczowym elementem w programowaniu warunkowym Proces ten polega na ocenie wyrażenia logicznego które prowadzi do jednego z dwóch możliwych stanów prawda lub fałsz a następnie przepływu sterowania w kierunku odpowiedniego bloku kodu Praktyczne zastosowanie tego elementu można znaleźć w strukturach takich jak instrukcje if-else czy switch-case Stosowanie decyzji w kodzie jest niezbędne do tworzenia dynamicznych i interaktywnych aplikacji które reagują na różne sytuacje w czasie rzeczywistym Dodatkowo podejmowanie decyzji jest podstawą dla wdrażania algorytmów sztucznej inteligencji i uczenia maszynowego gdzie różne scenariusze są oceniane a odpowiednie decyzje podejmowane na podstawie wyników analizy danych W praktyce inżynierowie oprogramowania muszą zgodnie z dobrymi praktykami projektowymi dbać o to aby każda decyzja była dobrze zaprojektowana i zoptymalizowana nie tylko pod kątem poprawności logicznej ale także wydajności i czytelności kodu co ma kluczowe znaczenie dla utrzymania i rozwoju złożonych systemów informatycznych

Pytanie 25

Jaką właściwość należy zastosować w kodzie CSS, aby ustawić czcionkę Verdana?

A. font-name: Verdana;
B. font-weight: Verdana;
C. font-family: Verdana;
D. font-style: Verdana;
Aby ustawić czcionkę Verdana w CSS, musisz użyć właściwości 'font-family'. To taka właściwość, która pozwala na określenie czcionek stosowanych w twoim dokumencie. W tym przypadku, chodzi o 'Verdana'. Jak przeglądarka znajdzie tę czcionkę w systemie użytkownika, to ją użyje. Na przykład, taki kod CSS może wyglądać tak: 'body { font-family: Verdana; }'. Warto pamiętać, że dobrze jest podać też inne czcionki na wypadek, gdyby Verdana nie była dostępna. Można to zrobić, wpisując alternatywy, jak w 'font-family: Verdana, Arial, sans-serif;'. Wtedy, jeżeli 'Verdana' nie jest dostępna, przeglądarka przejdzie do 'Arial', a jak ta też nie, to sięgnie po jakąś standardową czcionkę bezszeryfową. Z moich doświadczeń wynika, że stosowanie właściwości 'font-family' jest kluczowe dla stylu strony, bo poprawia to czytelność i jej ogólny wygląd.

Pytanie 26

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć zapisu

A. p {line-height: 30px;}
B. p {text-spacing: 30px;}
C. p {text-indent: 30px;}
D. p {line-indent: 30px;}
Odpowiedź p {text-indent: 30px;} jest prawidłowa, ponieważ właściwość text-indent w CSS służy do określenia wcięcia pierwszej linii akapitu. Wartość 30px oznacza, że pierwsza linia każdego akapitu zostanie przesunięta o 30 pikseli w prawo, co jest często stosowaną praktyką w celu poprawy czytelności tekstu. Dobrą praktyką jest stosowanie wcięć w dłuższych tekstach, co pozwala na bardziej uporządkowane i estetyczne przedstawienie treści. Przykładem zastosowania może być wcięcie w blogach czy artykułach, gdzie struktura tekstu ma znaczenie dla odbiorcy. Warto pamiętać, że właściwość text-indent działa tylko na pierwszą linię akapitu, co oznacza, że kolejne linie pozostają w standardowej pozycji. Używanie text-indent jest zgodne z dobrymi praktykami projektowania stron internetowych, które podkreślają znaczenie czytelności i estetyki tekstu.

Pytanie 27

Ograniczanie dostępu do niektórych pól lub metod obiektów danej klasy, tak aby mogły być one wykorzystywane wyłącznie przez wewnętrzne metody tej klasy lub funkcje zaprzyjaźnione, to

A. dziedziczenie
B. polimorfizm
C. hermetyzacja
D. konkatenacja
Dziedziczenie to mechanizm, który pozwala na tworzenie nowych klas na podstawie już istniejących, co umożliwia ponowne wykorzystanie kodu i wprowadzanie hierarchii w projektach, jednak nie ma nic wspólnego z ukrywaniem pól i metod. W dziedziczeniu, klasy pochodne dziedziczą właściwości i metody klas bazowych, co sprawia, że możliwe jest ich wykorzystanie, a nie ukrycie. Kolejną koncepcją jest konkatenacja, która w kontekście programowania nie odnosi się do hermetyzacji, lecz do łączenia ciągów tekstowych, co nie ma zastosowania przy ukrywaniu danych w klasach. Polimorfizm natomiast to zdolność obiektów do przyjmowania wielu form, co jest związane z interfejsami i dziedziczeniem, ale również nie dotyczy hermetyzacji. Typowym błędem myślowym jest mylenie tych pojęć z hermetyzacją, ponieważ wszystkie one są fundamentami programowania obiektowego, lecz służą różnym celom. Zrozumienie tego rozróżnienia jest istotne dla prawidłowego stosowania technik programistycznych i wdrażania efektywnych rozwiązań w praktyce.

Pytanie 28

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

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

Pytanie 29

Dostępna jest tabela programisci, która zawiera pola: id, nick, ilosc_kodu, ocena. Pole ilosc_kodu wskazuje liczbę linii kodu stworzonych przez programistę w danym miesiącu. W celu obliczenia łącznej liczby linii kodu napisanych przez wszystkich programistów, należy zastosować poniższe polecenie

A. SELECT COUNT(programisci) FROM ilosc_kodu;
B. SELECT SUM(ocena) FROM ilosc_kodu;
C. SELECT MAX(ilosc_kodu) FROM programisci;
D. SELECT SUM(ilosc_kodu) FROM programisci;
Pierwsza z niepoprawnych odpowiedzi wykorzystuje funkcję SUM() w połączeniu z kolumną 'ocena', co jest błędne, ponieważ pole 'ocena' nie jest związane z liczbą linii kodu napisanych przez programistów. Ocena jest zazwyczaj stosowana do oceny jakości pracy, a nie do mierzenia ilości kodu. Kolejna odpowiedź, która sugeruje użycie COUNT() z kolumną 'ilosc_kodu', jest również niewłaściwa, ponieważ funkcja COUNT() zlicza wiersze, a nie sumuje wartości w kolumnie. Zatem, użycie COUNT() zwróciłoby liczbę programistów, a nie całkowitą liczbę linii kodu. Ostatnia z odpowiedzi wywołuje funkcję MAX() w relacji do kolumny 'ilosc_kodu', co również jest błędne w kontekście pytania. Funkcja MAX() zwraca najwyższą wartość w danej kolumnie, a nie sumę wszystkich wartości. Dlatego te odpowiedzi nie odpowiadają na pytanie o sumę linii kodu, a ich stosowanie prowadzi do błędnych wyników oraz może wprowadzać w błąd podczas analizy danych.

Pytanie 30

Który efekt został zaprezentowany na filmie?

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

Pytanie 31

W JavaScript utworzono obiekt. Jak zmienić wartość właściwości x tego obiektu w dalszej części kodu?

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. wsp.x = …
B. obiekt1::x = …
C. x = …
D. obiekt1.x = …
JavaScript to fajny język, który pozwala na pracę z obiektami, a właściwie to obiekty są jego podstawą. Chodzi o to, że można w nich przechowywać różne dane w formie par klucz-wartość. Gdy chcesz zmienić jakąś właściwość obiektu, używasz notacji kropkowej. To z pozoru proste, ale bardzo praktyczne. Po prostu wpisujesz nazwę obiektu, kropkę i nazwę właściwości, którą chcesz edytować. Na przykład mamy obiekt o nazwie obiekt1 i właściwość x. Żeby zmienić wartość x, piszesz obiekt1.x, a potem przypisujesz nową wartość. To wszystko jest zgodne z zasadami ECMAScript, które mówią, jak powinno się pracować z obiektami w JavaScript. Takie podejście jest nie tylko jasne, ale również umożliwia szybkie wskazanie, co dokładnie zmieniasz. W praktyce fajnie jest pokazać to na przykładzie, jak np. chcesz zaktualizować imię użytkownika w obiekcie, to robisz coś takiego: user.name = 'Jan'.

Pytanie 32

Który z akapitów został zapisany w wskazanym stylu, zakładając, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Efekt 4
B. Efekt 3
C. Efekt 2
D. Efekt 1
Odpowiedź Efekt 3 jest poprawna, ponieważ odzwierciedla wszystkie zadane style CSS. Styl zawiera padding 20px co oznacza, że wewnętrzna przestrzeń wokół tekstu w paragrafie powinna wynosić 20 pikseli. Daje to efekt przestrzeni pomiędzy tekstem a obramowaniem. Kolor tekstu został ustawiony na niebieski co powoduje, że sam tekst przyjmuje niebieską barwę. Parametr font-weight jest ustawiony na 900 co oznacza, że tekst powinien być bardzo pogrubiony. Obecnie jest to maksymalna wartość dla własności font-weight w standardzie CSS która powoduje, że tekst wygląda na bardzo wyrazisty i wyróżnia się na tle innych elementów. Dodatkowo border ustawiono na 1px solid co oznacza, że paragraf powinien mieć jednolitą linię o grubości jednego piksela otaczającą jego obszar. Wszystkie te style są poprawnie zastosowane w Efekcie 3 gdzie tekst jest niebieski bardzo pogrubiony z przestrzenią 20 pikseli do obramowania oraz otoczony cienką linią. Taki styl jest często wykorzystywany w projektach stron internetowych dla wyraźnego wyróżnienia ważnych sekcji co zgodne jest z dobrymi praktykami projektowania interfejsów użytkownika.

Pytanie 33

Jaką właściwość CSS należy zastosować, aby uzyskać linie przerywaną w obramowaniu?

Ilustracja do pytania
A. double
B. dotted
C. solid
D. dashed
Wybór właściwości takich jak solid double czy dotted dla stylu obramowania często wynika z niepełnego zrozumienia ich zastosowań Solid jest używane do tworzenia ciągłej linii co może być mylące gdy celem jest uzyskanie efektu linii przerywanej W kontekście projektowania stron internetowych solid jest bardziej dominujące i może przesuwać punkt ciężkości z treści na formatowanie co nie zawsze jest pożądane Double tworzy podwójną linię i choć może być stosowane w celu uzyskania bardziej wyrazistego efektu jego użycie w sytuacji gdy potrzebna jest subtelność jest nieodpowiednie Dotyczy to sytuacji gdzie wizualna przejrzystość i prostota są kluczowe Dotted tworzy linię z kropkami która różni się od dashed strukturą i wyglądem podczas gdy dashed używa kresek dotted sprawia wrażenie bardziej delikatnej i lekko chaotycznej linii co nie zawsze jest zgodne z zamierzonym stylem estetycznym Struktura dotted może być stosowana tam gdzie wymagana jest bardziej dekoracyjna linia Wybór właściwej właściwości jest kluczowy dla osiągnięcia zamierzonego efektu wizualnego i powinien być oparty na standardach projektowania stron internetowych które uwzględniają zarówno estetykę jak i funkcjonalność Zapewnienie spójności w użyciu stylów w całej witrynie jest również istotne dla zachowania profesjonalnego wyglądu i łatwości użytkowania takich jak rozpoznawalność interakcji i intuicyjność nawigacji poprzez odpowiednie oznaczenia CSS pozwala na szeroką personalizację co wymaga zrozumienia subtelnych różnic między różnymi wartościami stylów i ich odpowiednimi zastosowaniami w kontekście projektu

Pytanie 34

Aby uzyskać dane dotyczące środowiska, w którym działa serwer obsługujący PHP, należy użyć funkcji

A. php()
B. phpgetinfo()
C. phpinformation()
D. phpinfo()
Funkcja phpinfo() jest kluczowym narzędziem dla programistów i administratorów systemów, pozwalającym na uzyskanie szczegółowych informacji o środowisku PHP zainstalowanym na serwerze. Po jej wywołaniu otrzymujemy kompletny zestaw danych, który obejmuje wersję PHP, zainstalowane rozszerzenia, konfiguracje oraz informacje o serwerze, takie jak wersja serwera HTTP. Przykładowe użycie polega na umieszczeniu w skrypcie PHP linii <?php phpinfo(); ?>, co spowoduje wygenerowanie strony z informacjami, które mogą być przydatne w diagnostyce problemów lub podczas optymalizacji aplikacji. Funkcja ta jest zgodna ze standardami PHP i jest powszechnie stosowana w celu monitorowania środowiska pracy. Ważne jest, aby pamiętać, że udostępnianie wyników phpinfo() publicznie może stanowić zagrożenie dla bezpieczeństwa, dlatego zaleca się ograniczenie dostępu do tej informacji tylko do zaufanych użytkowników i środowisk deweloperskich. W kontekście rozwoju aplikacji, phpinfo() jest również pomocne przy identyfikacji dostępnych ustawień konfiguracyjnych oraz ich wartości, co jest nieocenione podczas procesu rozwoju i testowania.

Pytanie 35

Atrybut wskazujący na lokalizację pliku graficznego w znaczniku <img> to

A. href
B. alt
C. src
D. link
Atrybut 'src' (source) jest kluczowym elementem znacznika <img>, ponieważ wskazuje lokalizację pliku graficznego, który ma być wyświetlony na stronie internetowej. Użycie tego atrybutu jest niezbędne, aby przeglądarka mogła zlokalizować i załadować odpowiedni obraz. Na przykład, jeśli chcesz wyświetlić grafikę logo na stronie, możesz użyć znacznika <img src='logo.png'>, gdzie 'logo.png' jest ścieżką do pliku graficznego. Ważne jest, aby pamiętać o dokładnym podaniu ścieżki, która może być względna lub absolutna. Zgodnie z najlepszymi praktykami, ważne jest również użycie atrybutu 'alt', który opisuje obraz dla osób z problemami wzrokowymi oraz w przypadku, gdy obraz nie może być załadowany. Przestrzeganie standardów W3C w zakresie HTML zapewnia lepszą dostępność i użyteczność stron internetowych.

Pytanie 36

W semantycznym HTML odpowiednikiem elementu <b>, który nie tylko pogrubia tekst, ale także wskazuje na jego większe znaczenie, jest

A. <strong>
B. <mark>
C. <ins>
D. <em>
Znacznik <strong> w HTML semantycznym służy nie tylko do pogrubienia tekstu, ale także do wskazania, że dany fragment ma większe znaczenie w kontekście semantycznym. Zgodnie z zaleceniami W3C, użycie tego znacznika poprawia dostępność treści, ponieważ technologie wspomagające, takie jak czytniki ekranu, interpretują <strong> jako tekst o podwyższonej wadze, co może pomóc w lepszym zrozumieniu struktury dokumentu przez osoby z niepełnosprawnościami. Przykładem zastosowania może być podkreślenie ważnych informacji na stronie, takich jak zasady, ostrzeżenia czy kluczowe dane, które użytkownicy powinni zauważyć. W praktyce, stosowanie elementów semantycznych, takich jak <strong>, zamiast czysto stylistycznych, jest zgodne z zasadami budowania stron przyjaznych dla użytkowników i poprawia SEO, ponieważ wyszukiwarki mogą lepiej analizować kontekst treści. Warto pamiętać, że w przypadku użycia <strong>, nie zmienia to tylko sposobu wyświetlania, ale także wzbogaca znaczenie tekstu w kontekście całej strony.

Pytanie 37

Wskaż, jaki błąd walidacyjny zawiera przedstawiony fragment kodu w języku HTML 5.

<h6>CSS</h6>
<p>Kaskadowe arkusze stylów (<b>ang. <i>Cascading Style Sheets</b></i>)<br>to język służący ...</p>
A. Znacznik zamykający /b jest niezgodny z zasadą zagnieżdżania
B. Znacznik br nie powinien znajdować się wewnątrz znacznika p
C. Znacznik br nie został prawidłowo zamknięty
D. Znacznik h6 nie jest używany w HTML5
W analizowanym fragmencie kodu HTML, znacznik zamykający /b jest niezgodny z zasadą zagnieżdżania. W prawidłowej konstrukcji HTML, znaczniki powinny być zamykane w odwrotnej kolejności do ich otwierania — nazywa się to zasadą LIFO (Last In, First Out). W przedstawionym kodzie, znacznik <b> jest otwierany przed znacznikiem <i>, ale zamykany po nim, co jest błędem strukturalnym. Poprawny zapis powinien wyglądać tak: <b><i>Cascading Style Sheets</i></b>. Ważne jest, aby zawsze pamiętać o poprawnej strukturze dokumentu HTML, ponieważ nieprzestrzeganie tej zasady może prowadzić do nieprzewidywalnych wyników renderowania na różnych przeglądarkach. Zasada ta jest kluczowa w zapewnieniu, że znaczniki są zagnieżdżone poprawnie i że style oraz skrypty działają zgodnie z oczekiwaniami. Tego rodzaju błędy mogą również negatywnie wpływać na dostępność strony dla użytkowników korzystających z czytników ekranowych.

Pytanie 38

Który z obrazków ilustruje efekt działania podanego fragmentu kodu HTML?

Ilustracja do pytania
A. Obrazek C
B. Obrazek D
C. Obrazek B
D. Obrazek A
Prawidłowa odpowiedź to C ponieważ atrybut rowspan="2" w komórce oznacza że komórka ta zajmuje miejsce w dwóch wierszach. W kodzie HTML mamy tabelę z dwoma wierszami. W pierwszym wierszu znajdują się dwie komórki pierwsza z tekstem 'pierwszy' ma ustawiony rowspan na 2 co sprawia że zajmuje miejsce w obu wierszach tabeli. Druga komórka w pierwszym wierszu zawiera tekst 'drugi'. W drugim wierszu znajduje się jedna komórka z tekstem 'trzeci'. Taki układ powoduje że komórka z 'pierwszy' rozciąga się na wysokość dwóch wierszy a pozostałe komórki 'drugi' i 'trzeci' są obok siebie w pierwszym i drugim wierszu obok tej rozciągniętej komórki. Zastosowanie atrybutu rowspan to popularna technika w tworzeniu złożonych układów tabeli i pozwala na efektywne wykorzystanie przestrzeni układu. Jest to dobra praktyka stosowana w celu zachowania czytelności danych w tabelach na stronach internetowych a także pomagająca w poprawnym renderowaniu danych w czytnikach ekranu co wspiera dostępność strony WWW.

Pytanie 39

Aby uruchomić skrypt JavaScript, potrzebne jest oprogramowanie

A. serwera WWW
B. debuggera JavaScript
C. przeglądarki internetowej
D. serwera MySQL
Aby uruchomić skrypt JavaScript, niezbędne jest posiadanie przeglądarki internetowej, która obsługuje JavaScript. Przeglądarki takie jak Chrome, Firefox, Safari czy Edge zawierają silniki JavaScript, które interpretują i wykonują skrypty na stronach internetowych. Przykładowo, gdy użytkownik wchodzi na stronę internetową, która wykorzystuje JavaScript do dynamicznego ładowania treści lub interakcji z użytkownikiem, przeglądarka przetwarza skrypty w czasie rzeczywistym, co wpływa na doświadczenie użytkownika. Przeglądarki regularnie aktualizują swoje silniki, co przyczynia się do poprawy wydajności i bezpieczeństwa. Dodatkowo, korzystanie z narzędzi deweloperskich w przeglądarkach, takich jak konsola JavaScript, umożliwia programistom testowanie i debugowanie skryptów w łatwy sposób. W kontekście standardów webowych, JavaScript jest kluczowym elementem technologii front-end, współpracując z HTML i CSS, aby zapewnić interaktywność i responsywność stron internetowych. Warto również zauważyć, że niektóre frameworki, takie jak React czy Angular, również opierają się na JavaScript, co podkreśla jego znaczenie w nowoczesnym web developmencie.

Pytanie 40

Wskaż zdanie, które jest fałszywe w odniesieniu do poniższej definicji funkcji w języku C++?

void zamien(float &x, float &y) {
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}
A. Funkcja nie zwraca żadnej wartości
B. Funkcja zwraca wartość
C. Funkcja korzysta z parametrów przez referencję
D. Funkcja ma dwa argumenty
Jednym z typowych nieporozumień jest mylne interpretowanie funkcji deklarowanych z użyciem 'void'. Wbrew niektórym założeniom, taka funkcja nie zwraca żadnych wartości. Jej celem jest wykonanie pewnych operacji na danych wejściowych, często poprzez modyfikację ich wartości, jak w tym przypadku, gdzie funkcja dokonuje zamiany. Pojęcie zwracania wartości należy do funkcji o określonym typie zwracanym, takich jak 'int', 'float', itp. Zrozumienie różnicy między przekazywaniem przez wartość a przekazywaniem przez referencję jest kluczowe. W sytuacji, gdy parametry są przekazywane przez referencję, jak w omawianym przykładzie, funkcja ma bezpośredni dostęp do zmiennych zewnętrznych, umożliwiając ich modyfikację bez zwracania żadnej wartości. To podejście jest często stosowane w przypadku operacji na dużych strukturach danych, gdzie kopiowanie może być kosztowne. Niepoprawne założenie, że funkcja nie posiada parametrów lub że nie operuje na nich przez referencję, wynika z braku zrozumienia odnośnie technik efektywnego zarządzania pamięcią i zasobami w C++. Programowanie z użyciem referencji jest bardziej wydajne i pozwala na tworzenie kodu, który jest zarówno szybki, jak i czytelny. Ważne jest, aby nie mylić pojęcia parametrów funkcji z wartością zwrotną, ponieważ prowadzi to do błędnych założeń i niepoprawnego działania kodu w praktyce.