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: 28 kwietnia 2026 11:54
  • Data zakończenia: 28 kwietnia 2026 12:24

Egzamin niezdany

Wynik: 17/40 punktów (42,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Aby w tabeli praca, tworzonej w języku SQL, dodać do kolumny stawka warunek, który wymusza, aby przyjmowane były jedynie wartości dodatnie, a jednocześnie mniejsze niż 50, należy zastosować zapis

A. … stawka foat CHECK (stawka IN (0, 50.00))
B. … stawka foat CHECK (stawka BETWEEN 0 AND 50.00)
C. … stawka foat CHECK (stawka>0 OR stawka<50.00)
D. … stawka foat CHECK (stawka>0 AND stawka<50.00)
Wybór odpowiedzi, która nie spełnia założonych warunków, może wynikać z nieprawidłowego zrozumienia logiki operatorów oraz zasadności stosowania warunków CHECK w SQL. Na przykład, zapis '… stawka foat CHECK (stawka BETWEEN 0 AND 50.00)' jest niewłaściwy, ponieważ warunek ten dopuszcza wartość równą zeru, która nie jest wartością dodatnią. Umożliwienie zerowych wartości może prowadzić do sytuacji, w której w tabeli znajdą się dane niezgodne z założeniem, że 'stawka' ma być wartością dodatnią. Podobnie, zapis '… stawka foat CHECK (stawka>0 OR stawka<50.00)' również jest błędny, ponieważ logiczne połączenie za pomocą operatora OR wprowadza możliwość, że 'stawka' może być większa od zera i jednocześnie większa lub równa 50, co jest sprzeczne z naszym celem. Z kolei użycie '… stawka foat CHECK (stawka IN (0, 50.00))' jest nieodpowiednie, ponieważ operator IN sprawdza, czy wartość 'stawka' znajduje się w specyficznej liście wartości, a w tym przypadku znowu dopuszcza zera i wartości graniczne, które nie powinny być zaakceptowane. Tego rodzaju błędy myślowe prowadzą do niepoprawnych założeń w projektowaniu bazy danych, które z kolei mogą skutkować problemami z jakością danych oraz ich późniejszą analizą. Dlatego kluczowe jest zrozumienie, jak właściwie formułować warunki walidacji, aby zapewnić spójność i integralność danych.

Pytanie 2

Aby skutecznie stworzyć relację typu m…n, która będzie wolna od redundancji danych, konieczne jest

A. zaprojektowanie tabeli pomocniczej.
B. bezpośrednie połączenie kluczy podstawowych obu tabel.
C. bezpośrednie połączenie kluczy obcych z obu tabel.
D. uporządkowanie przynajmniej jednej z tabel.
Bezpośrednie połączenie kluczy obcych obu tabel w relacji m:n nie jest wystarczające, aby uniknąć redundancji danych. W rzeczywistości, klucze obce mają swoje zastosowanie w relacjach jeden do wielu, gdzie jedna z tabel zawiera odniesienia do drugiej. W przypadku relacji m:n, takie podejście prowadziłoby do powstania złożonych i nieczytelnych struktur, w których dane byłyby przetrzymywane wielokrotnie, co naruszałoby zasady normalizacji. Na przykład, gdybyśmy spróbowali bezpośrednio połączyć klucze obce studentów i kursów, każda kombinacja studenta i kursu byłaby wprowadzana do tej samej tabeli, co prowadziłoby do powielania informacji i wzrostu rozmiaru bazy danych bez rzeczywistej wartości. Ponadto, sortowanie jednej z tabel nie ma wpływu na strukturę relacji m:n; sortowanie jest operacją na poziomie zapytań, a nie na poziomie architektury bazy danych. Łączenie kluczy podstawowych także nie rozwiązuje problemu redundancji, ponieważ nie tworzy połączenia, które umożliwiłoby wielokrotne przypisanie tych samych elementów między tabelami. Właściwe podejście wymaga utworzenia tabeli pomocniczej, co jest powszechną praktyką w projektowaniu baz danych i zapewnia przejrzystość oraz efektywność operacyjną.

Pytanie 3

Jakie pojęcia są wykorzystywane do opisu interfejsu użytkownika serwisu internetowego?

A. Szkic strony, mapa witryny, diagram przepływu informacji
B. Przetwarzanie danych, system zarządzania treścią, projektowanie informacji
C. Przyciski, menu, interakcja użytkownika z aplikacją
D. Wysyłanie zapytań do bazy, skrypty PHP
Wybór odpowiedzi związanej z "Szkicem strony, diagramem witryny, diagramem przepływu informacji" wskazuje na pewne nieporozumienie dotyczące definicji interfejsu użytkownika. Szkice i diagramy są narzędziami służącymi do planowania i wizualizacji struktury i funkcji strony internetowej, ale same w sobie nie definiują, co stanowi interfejs użytkownika. Te pojęcia dotyczą bardziej fazy projektowania i architektury informacji, co jest istotne, ale nie odnosi się do interakcji z użytkownikiem. Podobnie, odpowiedzi związane z "wysyłaniem kwerend do bazy" oraz "skryptami PHP" również nie definiują interfejsu użytkownika. Te elementy dotyczą backendu, czyli serwera i logiki aplikacji, które są oddzielone od bezpośredniego doświadczenia użytkownika. Często pojawia się mylne założenie, że wszystkie aspekty technologii webowej są ze sobą powiązane, jednak istotne jest rozróżnienie pomiędzy frontendem a backendem. Właściwe zrozumienie tych ról jest kluczowe dla efektywnego projektowania stron internetowych, gdzie interfejs użytkownika odgrywa fundamentalną rolę w osiąganiu zamierzonych celów użytkownika i organizacji. Właściwa separacja tych koncepcji jest istotna dla efektywności procesu projektowania i tworzenia stron internetowych.

Pytanie 4

Aby stworzyć poprawną kopię zapasową bazy danych, która będzie mogła zostać później przywrócona, należy najpierw sprawdzić

A. poprawność składni zapytań
B. spójność bazy
C. uprawnienia dostępu do serwera bazy danych
D. możliwość udostępnienia bazy danych
Sprawdzanie możliwości udostępniania bazy danych jest ważne, ale nie ma bezpośredniego wpływu na jakość i integralność samej kopii bezpieczeństwa. Może to dotyczyć kwestii użytkowników i ról, jednak nawet przy poprawnym udostępnieniu, jeżeli dane są niespójne, kopia może być bezużyteczna. Prawa dostępu do serwera bazy danych, choć istotne z punktu widzenia bezpieczeństwa, również nie wpływają na jakość danych. Użytkownik mógłby mieć pełne prawa dostępu, ale to nie gwarantuje, że baza danych jest poprawna i gotowa do stworzenia kopii zapasowej. Poprawność składni zapytań to kolejny aspekt ważny dla efektywnego działania bazy danych, jednak w kontekście wykonywania kopii zapasowej, nie odnosi się bezpośrednio do spójności danych. Nawet poprawnie sformułowane zapytania mogą prowadzić do błędnych wyników, jeśli dane w bazie są w złym stanie. Dlatego też, żadne z wymienionych zagadnień nie zastąpi konieczności sprawdzenia spójności bazy jako kluczowego elementu przed wykonaniem kopii bezpieczeństwa.

Pytanie 5

Który element blokowy języka HTML5 jest przeznaczony do umieszczenia w nim nawigacji witryny? 

A. main
B. aside
C. nav
D. header
Poprawnie wskazany został element <nav>, który w HTML5 jest semantycznym kontenerem przeznaczonym specjalnie na nawigację. Według specyfikacji HTML Living Standard element <nav> służy do grupowania głównych bloków odsyłaczy nawigacyjnych, takich jak menu główne, menu w stopce, menu kategorii czy paginacja. Przeglądarki, czytniki ekranu i różne narzędzia asystujące rozpoznają ten znacznik jako obszar nawigacyjny, co bardzo poprawia dostępność (accessibility) strony. Z mojego doświadczenia, gdy struktura jest zrobiona semantycznie, screen readery potrafią jednym skrótem klawiaturowym przeskoczyć do nawigacji, co jest ogromnym ułatwieniem dla użytkowników niewidomych. W praktyce w <nav> umieszczamy listy linków, najczęściej w postaci <ul><li><a>…</a></li></ul>. Przykładowo: <nav><ul><li><a href="/">Strona główna</a></li><li><a href="/oferta">Oferta</a></li><li><a href="/kontakt">Kontakt</a></li></ul></nav>. Taka konstrukcja jest zgodna z dobrymi praktykami front-endu: semantyczny HTML, czytelna struktura, łatwiejsze stylowanie w CSS i prostsza nawigacja w JavaScript. Co ważne, <nav> nie jest zwykłym divem – jego nazwa od razu mówi, do czego służy, co ułatwia pracę całego zespołu projektowego. W projektach komercyjnych często stosuje się kilka bloków <nav> na jednej stronie: główne menu w headerze, dodatkowe menu w stopce, czasem boczne menu kategorii. Standardy W3C dopuszczają to, pod warunkiem że te sekcje rzeczywiście służą do nawigowania. Dobrym zwyczajem jest nie umieszczać w <nav> pojedynczych przypadkowych linków w tekście artykułu – ten znacznik jest przewidziany dla istotnych struktur nawigacyjnych, a nie dla zwykłych hiperłączy w treści. Dzięki temu kod HTML pozostaje przejrzysty, łatwiej go walidować i utrzymywać w większych projektach.

Pytanie 6

W języku JavaScript rezultat działania instrukcji zmienna1 –= 1; będzie identyczny jak wynik instrukcji

A. zmienna1++;
B. zmienia1 = zmienna1 - 0;
C. zmienna1 === zmienna1 - 1;
D. zmienna1––;
W analizowanych odpowiedziach pojawiają się różne nieprawidłowe koncepcje. Pierwsza z nich, 'zmienna1 === zmienna1 - 1;', jest błędna, ponieważ porównuje dwie wartości, a nie aktualizuje zmiennej. Ten zapis stwierdza, czy 'zmienna1' jest równa 'zmienna1 - 1', co nie ma związku z dekrementacją, a jedynie sprawdza warunek. Kolejna odpowiedź, 'zmienna1++;', jest również niepoprawna. Operator '++' to operator inkrementacji, który zwiększa wartość zmiennej o 1, a więc całkowicie zaprzecza intencji dekrementacji. Zastosowanie tego operatora zamiast dekrementacji prowadziłoby do zwiększenia wartości 'zmienna1', co jest sprzeczne z założeniem pytania. Ostatnia odpowiedź, 'zmienia1 = zmienna1 - 0;', jest błędna z dwóch powodów: użycie 'zmienia1' sugeruje błąd typograficzny, a sama operacja 'zmienna1 - 0' nie wpłynie na wartość zmiennej, co jest niezgodne z zamiarem jej obniżenia. Powszechnym błędem w programowaniu jest mylenie operatorów oraz nieznajomość ich właściwości, co może prowadzić do poważnych błędów w kodzie. Właściwe rozumienie funkcji operatorów przypisania oraz ich skróconych form jest kluczowe dla efektywnego programowania w JavaScript.

Pytanie 7

Na podstawie jakiego parametru oraz z ilu tabel zostaną zwrócone wiersze w wyniku przedstawionego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis
WHERE producent.nr_id = hurtownia.nr_id
AND producent.wyrob_id = serwis.wyrob_id
AND hurtownia.nr_id = sklep.nr_id
AND sklep.nr_id = serwis.nr_id
AND producent.nr_id = 1;
A. Na podstawie parametru wyrob_id wyłącznie z trzech tabel
B. Na podstawie parametru nr_id wyłącznie z trzech tabel
C. Na podstawie parametru wyrob_id ze wszystkich tabel
D. Na podstawie parametru nr_id ze wszystkich tabel
Zapytanie SQL używa parametru nr_id jako kluczowego elementu łączącego cztery tabele producent hurtownia sklep oraz serwis Dzięki temu zapytanie zwraca wiersze dla wszystkich tych tabel gdzie istnieje wspólna wartość nr_id W praktyce klucz taki jak nr_id jest używany do tworzenia relacji pomiędzy różnymi tabelami co jest podstawą w relacyjnych bazach danych Użycie tego samego klucza w zapytaniu umożliwia efektywne łączenie danych i jest zgodne z zasadami normalizacji danych która zmniejsza redundancję i poprawia integralność danych Praktycznym przykładem może być analiza danych sprzedażowych gdzie nr_id reprezentuje unikalny identyfikator zamówienia łączący dane producenta dystrybutora sklepu i serwisu W ten sposób można uzyskać pełny widok na procesy biznesowe we wszystkich etapach cyklu życia produktu Zachowanie tej struktury relacyjnej pozwala na szybkie i dokładne analizy co jest kluczowe w podejmowaniu decyzji biznesowych

Pytanie 8

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
B. wszystkie operacje na tabelach bazy dane.
C. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
D. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
Prawidłowo zauważyłeś, że użytkownikowi Jan przypisano wszystkie uprawnienia (GRANT ALL PRIVILEGES) na bazie danych o nazwie 'dane.*'. Przyznanie pełnych uprawnień obejmuje możliwość tworzenia, modyfikowania, usuwania tabel, jak również manipulowania danymi w tych tabelach. W praktyce oznacza to, że Jan ma pełną kontrolę nad bazą danych. Jest to możliwe dzięki konstrukcji GRANT, która jest standardem w zarządzaniu uprawnieniami w relacyjnych bazach danych. Pozwala ona na precyzyjne definiowanie, jakie operacje może wykonywać dany użytkownik. Taka granularna kontrola jest kluczowa dla bezpieczeństwa systemów bazodanowych. Pamiętaj, że nadawanie pełnych uprawnień jest odpowiednie jedynie w sytuacjach, gdy użytkownik jest całkowicie zaufany - w innym przypadku, powinno się ograniczyć uprawnienia do tych, które są niezbędne do wykonania pewnych zadań.

Pytanie 9

W języku JavaScript funkcja document.getElementById() ma na celu

A. sprawdzić poprawność formularza z identyfikatorem id
B. umieścić tekst o treści 'id' na stronie internetowej
C. pobrać dane z pola formularza i zapisać je do zmiennej id
D. zwrócić odnośnik do pierwszego elementu HTML o określonym id
Odpowiedzi, które nie zostały uznane za poprawne, zawierają nieprawidłowe interpretacje funkcji document.getElementById(). Pierwsza z nich sugeruje, że metoda ta wstawia tekst na stronie o treści 'id'. W rzeczywistości, metoda ta nie ma na celu wyświetlania lub wstawiania tekstu na stronę, lecz zwraca referencję do elementu z określonym id, co oznacza, że operacje na zawartości elementu muszą być wykonane oddzielnie poprzez inną metodę, np. innerHTML. Kolejna odpowiedź sugeruje, że metoda sprawdza poprawność formularza. Zgadza się, że walidacja formularzy jest kluczowym aspektem zarządzania danymi użytkowników, ale document.getElementById() nie przeprowadza walidacji, a jedynie umożliwia dostęp do elementów formularza, co można wykorzystać do walidacji, ale nie jest to jej pierwotna funkcja. Ostatnia z podanych odpowiedzi stwierdza, że metoda pobiera dane z pola formularza i wstawia je do zmiennej. Również jest to mylna interpretacja, ponieważ document.getElementById() nie przetwarza ani nie przechowuje danych, a jedynie pozwala na dostęp do elementu, z którego dane mogą być później pobrane przy użyciu odpowiednich właściwości, takich jak value w przypadku pól formularzy. Wszystkie te odpowiedzi wskazują na zrozumienie metody jako narzędzia do wstawiania lub walidacji danych, co jest niezgodne z faktycznym działaniem tej metody.

Pytanie 10

Instrukcja w języku JavaScript

var napis1 = new napisy();
ma na celu
A. wykonanie metody obiektu napisy
B. stworzenie nowej klasy napis1
C. stworzenie obiektu napis1 z klasy napisy
D. zadeklarowanie zmiennej napis1 oraz uruchomienie funkcji, która przyjmuje jako argument napis1
Niepoprawne odpowiedzi bazują na powszechnych nieporozumieniach dotyczących podstaw programowania w JavaScript. Wywołanie metody obiektu napisów nie może być zrealizowane w sposób przedstawiony w pytaniu, ponieważ fragment "var napis1 = new napisy();" nie wskazuje na jakiekolwiek metody, a jedynie na tworzenie nowego obiektu. Istnieje różnica między deklarowaniem obiektu a wywoływaniem jego metod. Również nie ma możliwości, aby zadeklarować zmienną napis1 i jednocześnie wywołać funkcję z jej argumentem w tym kontekście, gdyż zapis ten nie zawiera żadnych funkcji. Kolejna koncepcja dotycząca utworzenia nowej klasy jest błędna, ponieważ "var napis1 = new napisy();" nie tworzy klasy, a instancję obiektu. W praktyce, typowe błędy myślowe związane z tymi odpowiedziami wynikają z mylenia instancji obiektu z definicją klasy. Użytkownicy mogą myśleć, że przypisanie "new napisy()" tworzy klasę, podczas gdy tak naprawdę ta operacja tworzy nowy obiekt z dostępem do metod i właściwości zdefiniowanych w klasie napisy. Ważne jest zrozumienie, że klasy w JavaScript muszą być zdefiniowane wcześniej, aby można było tworzyć ich instancje, co stanowi kluczowy element programowania obiektowego.

Pytanie 11

W kontekście baz danych, co oznacza termin atrybut?

A. związek między dwoma lub większą liczbą danych
B. element składający się z charakterystyk opisanych przez kolumny
C. wpis w tabeli, który zawiera informacje dotyczące pojedynczego egzemplarza elementu
D. nazwa kolumny w tabeli, która określa konkretną cechę
Twoje odpowiedzi są trochę mylne, bo opierają się na niepoprawnych założeniach o strukturze baz danych. Na przykład, mówienie, że atrybut to obiekt składający się z cech nie jest precyzyjne – atrybut to raczej konkretna kolumna w tabeli. Kolumny to zbiory atrybutów, a nie obiekty. W dodatku, myślenie, że atrybut to jakieś połączenie danych, nie oddaje rzeczywistej definicji atrybutu. Atrybuty to pojedyncze jednostki danych, a nie relacje między różnymi danymi. Relacje tworzy się z pomocą kluczy obcych, nie samych atrybutów. Na koniec, mówienie, że atrybut to rekord tabeli, który zawiera dane o jednym obiekcie, jest błędne. Rekordy to całe instancje, podczas gdy atrybuty to tylko ich elementy. Zrozumienie tego jest naprawdę istotne, żeby dobrze pracować z bazami danych i uniknąć problemów w projektowaniu, co potem wpływa na wydajność i użyteczność bazy.

Pytanie 12

Polecenie DBCC CHECKDB 'sklepAGD', Repair_fast) w systemie MS SQL Server

A. potwierdzi spójność bazy danych i utworzy kopię zapasową
B. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
C. zweryfikuje spójność danej tabeli
D. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
Odpowiedzi sugerujące, że polecenie DBCC CHECKDB sprawdza spójność jedynie określonej tabeli są nieprecyzyjne, ponieważ w rzeczywistości działa na całej bazie danych. Choć istnieje możliwość sprawdzania poszczególnych tabel za pomocą innych poleceń, DBCC CHECKDB jest narzędziem, które analizuje całą strukturę bazy danych wraz z jej indeksami i danymi. Twierdzenie, że to polecenie jedynie sprawdza spójność bazy danych oraz wykonuje kopię bezpieczeństwa, jest mylące. DBCC CHECKDB nie tworzy kopii zapasowych, a jego głównym celem jest identyfikacja i raportowanie błędów, co jest kluczowe w kontekście utrzymania zdrowia bazy danych. Użytkownicy mogą zatem błędnie zakładać, że polecenie zapewnia automatyczną naprawę danych, co w rzeczywistości wymaga zastosowania dodatkowych opcji naprawy, takich jak Repair_fast lub Repair_rebuild. Ponadto, niektóre odpowiedzi wskazują na naprawę uszkodzonych rekordów, co nie jest precyzyjne, ponieważ DBCC CHECKDB zajmuje się głównie naprawą indeksów oraz strukturalnych problemów w bazie danych, a nie pojedynczych rekordów. Rzetelne zrozumienie tych różnic jest kluczowe dla skutecznego zarządzania bazą danych i unikania nieporozumień dotyczących działania narzędzi diagnostycznych w MS SQL Server.

Pytanie 13

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:active { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 14

W relacyjnych bazach danych encja jest przedstawiana przez

A. tabelę.
B. relację.
C. kwerendę.
D. rekord.
Nieprawidłowe odpowiedzi wskazują na pewne nieporozumienia dotyczące definicji podstawowych elementów relacyjnych baz danych. Rekord, chociaż jest istotnym składnikiem tabeli, nie reprezentuje encji, lecz pojedynczą instancję encji. Mylne jest również utożsamianie tabeli z relacją, ponieważ relacja w kontekście teorii zbiorów odnosi się do zbioru krotek, podczas gdy tabela jest fizycznym i trwałym przedstawieniem tychże zbiorów w bazie danych. Kwerenda natomiast to instrukcja używana do uzyskiwania danych z bazy danych, a nie do ich reprezentacji. To podejście do zrozumienia modeli relacyjnych może prowadzić do błędnych wniosków w projektowaniu baz danych. Dla przykładu, nieumiejętność rozróżnienia między tabelą a rekordem może skutkować niewłaściwym modelowaniem danych, co wpłynie negatywnie na wydajność i integralność bazy danych. Warto zwrócić uwagę na znaczenie właściwego stosowania terminologii oraz zrozumienie struktury danych w relacyjnych bazach danych, co jest kluczowe dla efektywnego zarządzania danymi i ich relacjami.

Pytanie 15

Aby dołączyć kod zawarty w pliku zewnętrznym do skryptu PHP, należy użyć funkcji

A. str_replace()
B. isset()
C. include()
D. strlen()
Prawidłowa funkcja to include(), bo właśnie ona służy w PHP do dołączania kodu z zewnętrznego pliku do aktualnie wykonywanego skryptu. Mechanizm jest prosty: interpreter PHP w miejscu wywołania include() wstawia zawartość wskazanego pliku tak, jakby ten kod fizycznie znajdował się w tym miejscu. Dzięki temu można dzielić aplikację na mniejsze moduły, np. osobny plik z nagłówkiem strony (header.php), stopką (footer.php), plikiem z funkcjami (functions.php) czy konfiguracją (config.php). W praktyce bardzo często spotyka się konstrukcje typu: include 'config.php'; albo include 'partials/header.php';. Moim zdaniem to jedna z podstawowych rzeczy, które trzeba opanować przy pracy z PHP, bo bez tego szybko robi się bałagan w kodzie. Warto wiedzieć, że istnieje też require(), które działa podobnie, ale przy błędzie (np. brak pliku) zatrzymuje skrypt, podczas gdy include() tylko zgłasza ostrzeżenie i próbuje lecieć dalej. Z punktu widzenia dobrych praktyk przy ważnych plikach (np. konfiguracja bazy danych) używa się częściej require_once, żeby mieć pewność, że plik został załadowany dokładnie raz i że bez niego aplikacja nie ruszy. Include() przydaje się tam, gdzie dołączany plik nie jest aż tak krytyczny, albo gdy zależnie od logiki ładujemy różne fragmenty layoutu. W nowocześniejszych projektach często stosuje się autoloading klas (np. przez Composer), ale mechanizm include/require nadal jest fundamentem i działa pod spodem. Warto też pilnować ścieżek względnych i bezwzględnych – dobrą praktyką jest bazowanie na __DIR__ lub ścieżkach konfigurowalnych, żeby uniknąć problemów po przeniesieniu projektu na inny serwer.

Pytanie 16

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest widoczne na zamieszczonym rysunku?

Ilustracja do pytania
A. WordPress
B. MediaWiki
C. Drupal
D. Joomla!
Joomla! to popularny system zarządzania treścią CMS który jest szeroko stosowany do tworzenia stron internetowych aplikacji online i portali. Dzięki swojej elastyczności Joomla! jest wybierany przez wiele firm i organizacji do zarządzania treścią online. System ten charakteryzuje się modułową architekturą która umożliwia łatwe rozszerzanie jego funkcjonalności za pomocą komponentów modułów i wtyczek. Jednym z głównych atutów Joomla! jest intuicyjny interfejs użytkownika który umożliwia zarządzanie treścią bez potrzeby głębokiej wiedzy technicznej. Dodatkowo Joomla! wspiera wiele języków co czyni go idealnym wyborem dla międzynarodowych organizacji. Warto również zaznaczyć że Joomla! jest open-source co oznacza że jest rozwijany przez społeczność programistów z całego świata którzy regularnie aktualizują i ulepszają oprogramowanie. Wybranie Joomla! jako CMS pozwala na korzystanie z dużej liczby szablonów i dodatków które umożliwiają personalizację witryny zgodnie z wymaganiami klienta. Dzięki solidnej bazie użytkowników i deweloperów Joomla! oferuje wsparcie techniczne i dokumentację która ułatwia rozwiązywanie problemów. W praktyce Joomla! jest wykorzystywany przez różnorodne witryny od małych blogów po rozbudowane platformy e-commerce co potwierdza jego wszechstronność i skuteczność.

Pytanie 17

Podano tabelę ksiazki z kolumnami: tytul, autor (w formacie tekstowym), cena (w formacie liczbowym). Aby zapytanie SELECT zwracało jedynie tytuły, dla których cena jest niższa niż 50zł, należy użyć:

A. SELECT * FROM ksiazki WHERE cena < 50
B. SELECT tytul FROM ksiazki WHERE cena < 50
C. SELECT tytul FROM ksiazki WHERE cena > '50 zł'
D. SELECT ksiazki FROM tytul WHERE cena < '50 zł'
Odpowiedź 'SELECT tytul FROM ksiazki WHERE cena < 50;' jest poprawna, ponieważ precyzyjnie formułuje zapytanie w języku SQL, które ma na celu wyodrębnienie z tabeli 'ksiazki' tylko tych tytułów, których cena jest niższa niż 50. W tym przypadku użycie operatora porównania '<' skutkuje filtracją danych według określonego kryterium. Jest to zgodne z dobrą praktyką w programowaniu baz danych, ponieważ pozwala uzyskać potrzebne informacje w sposób efektywny i zrozumiały. Przykładem praktycznego zastosowania może być stworzenie raportu dla księgarni, która chce zobaczyć, które książki są w sprzedaży w przystępnej cenie. Zwracając tylko potrzebne kolumny (tytuł), minimalizujesz ilość przesyłanych danych, co jest ważne w kontekście wydajności i szybkości działania aplikacji korzystających z bazy danych. Dodatkowo, unikanie podawania ceny w formacie tekstowym (np. '50 zł') jest zgodne z zasadami dobrego projektowania baz danych, które zalecają stosowanie odpowiednich typów danych, co w tym przypadku oznacza liczbę bez jednostki walutowej.

Pytanie 18

Gdzie w dokumencie HTML powinien być umieszczony wewnętrzny arkusz stylów?

A. W skrypcie dołączonym do dokumentu
B. W obrębie znacznika, którego dotyczy styl
C. W sekcji nagłówkowej dokumentu
D. W sekcji treści strony
Umieszczanie wewnętrznego arkusza stylów w ciele strony jest niepoprawną praktyką, ponieważ skutkuje opóźnieniem w załadowaniu i renderowaniu CSS. Przeglądarki interpretują HTML od góry do dołu, co oznacza, że style zdefiniowane w ciele strony mogą nie być zastosowane, zanim przeglądarka dotrze do odpowiedniego miejsca, co prowadzi do niepożądanego efektu wizualnego, nazywanego 'flash of unstyled content' (FOUC). Kolejnym błędnym podejściem jest umieszczanie arkusza stylów wewnątrz skryptu dołączonego do strony. Takie działanie jest sprzeczne z semantyką HTML i może powodować trudności w utrzymaniu oraz błędy w interpretacji przez przeglądarki. Skrypty powinny być odpowiedzialne za logikę i interaktywność, natomiast arkusze stylów powinny być wyraźnie oddzielone jako elementy zarządzające wyglądem. Ostatnia niepoprawna odpowiedź dotyczy umieszczania stylów wewnątrz znacznika, którego styl dotyczy. Choć technicznie jest to możliwe, nie jest to zalecana praktyka, ponieważ wprowadza chaos w strukturze dokumentu HTML i utrudnia jego późniejsze modyfikacje. Tego rodzaju podejście prowadzi do problemów z zarządzaniem kodem i obniża jego przejrzystość, szczególnie w większych projektach, gdzie lepszym rozwiązaniem jest stosowanie dedykowanych arkuszy stylów.

Pytanie 19

Który z poniższych formatów nie umożliwia zapisu plików animowanych?

A. SWF
B. ACE
C. GIF
D. SVG
Format ACE, czyli ACompressor, jest formatem archiwizacji, który nie obsługuje animacji. Jego głównym celem jest kompresowanie i archiwizowanie danych, co sprawia, że nie jest zaprojektowany do przechowywania animacji w formie graficznej. W przeciwieństwie do formatów takich jak GIF, SWF, czy SVG, które są używane do tworzenia animowanych obrazów, ACE nie ma odpowiednich struktur ani standardów do reprezentacji ruchu czy zmieniających się scen. Przykładowo, GIF jest popularnym formatem, który pozwala na tworzenie prostych animacji przez wielokrotne odtwarzanie serii statycznych obrazów. SWF jest natomiast formatem stworzonym przez Adobe, który umożliwia interaktywność oraz animacje w aplikacjach internetowych. SVG, z kolei, jest formatem wektorowym, który obsługuje animacje za pomocą JavaScript i CSS. Przykładem użycia ACE może być archiwizacja plików tekstowych lub binarnych na dyskach twardych, co czyni go narzędziem do zarządzania danymi, a nie do tworzenia animacji.

Pytanie 20

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
Odpowiedź 2 px oraz marginesy na zewnątrz tego obramowania jest prawidłowa ponieważ w definicji stylu CSS ustawiono właściwość border z wartością solid 2px blue co oznacza że element będzie miał obramowanie o grubości 2 pikseli z niebieskim kolorem Dodatkowo użyto właściwości margin z wartością 20px co wskazuje że element ma margines zewnętrzny o szerokości 20 pikseli na każdej stronie Właściwość margin w CSS odnosi się zawsze do przestrzeni na zewnątrz granic elementu co odróżnia ją od padding który dotyczy marginesu wewnętrznego Praktyczne zastosowanie takiego stylu można znaleźć w projektach gdzie projektant chce oddzielić elementy od siebie zachowując równomierne odstępy W ten sposób można tworzyć przejrzyste i estetyczne układy na stronach internetowych Zastosowanie border pozwala również na wizualne wyróżnienie elementów co jest często wykorzystywane w interfejsach użytkownika aby podkreślić ważne informacje Dobrą praktyką jest używanie takich stylizacji aby poprawić czytelność i funkcjonalność strony poprzez jasne rozgraniczenie sekcji oraz zapewnienie odpowiednich odstępów między nimi zgodnie z zasadami UX

Pytanie 21

Język HTML oferuje nagłówki, które służą do tworzenia hierarchii zawartości. Te nagłówki występują wyłącznie w zakresie

A. h1 - h8
B. h1 - h10
C. h1 - h6
D. h1 - h4
Odpowiedź h1 - h6 jest poprawna, ponieważ w języku HTML nagłówki są definiowane w ramach sześciu poziomów, od h1 do h6. Nagłówki te pełnią kluczową rolę w organizacji treści na stronie internetowej, umożliwiając tworzenie hierarchii oraz struktury dokumentu. h1 jest najważniejszym nagłówkiem i powinien być używany do oznaczania głównego tytułu strony, podczas gdy h2, h3, h4, h5 i h6 służą do tworzenia podtytułów i hierarchii treści w miarę potrzeby. Na przykład, nagłówek h2 może być użyty do oznaczenia sekcji podrzędnej w stosunku do h1, a h3 do następnej sekcji podrzędnej. Takie zrozumienie hierarchii nagłówków jest istotne z punktu widzenia SEO, ponieważ wyszukiwarki korzystają z tych struktur do indeksowania treści. Dobrze zorganizowane nagłówki poprawiają również dostępność strony, co jest zgodne z najlepszymi praktykami webowymi, a także ułatwiają nawigację użytkownikom, zarówno ludziom, jak i robotom wyszukiwarek.

Pytanie 22

Jaką funkcję pełni program debugger?

A. badania kodu źródłowego w celu wykrycia błędów składniowych
B. analizy działającego programu w celu wykrycia błędów
C. przekładania kodu napisanego w języku wyższego poziomu na język maszynowy
D. interpretacji kodu w ramach wirtualnej maszyny Java
Debugger jest narzędziem, które pozwala na analizowanie i monitorowanie działania programów w trakcie ich wykonywania. Jego głównym celem jest lokalizacja błędów, co jest kluczowe w procesie programowania. Umożliwia on programiście śledzenie wartości zmiennych, monitorowanie stanu aplikacji oraz identyfikowanie momentów, w których występują błędy. Dobre praktyki wskazują, że regularne korzystanie z debuggersów w procesie developmentu przyczynia się do wczesnego wykrywania problemów, co z kolei redukuje koszty i czas potrzebny na naprawę. Na przykład, w przypadku aplikacji webowych, debugger może pomóc w analizie, dlaczego dany fragment kodu nie działa tak, jak oczekiwano, umożliwiając programiście zatrzymanie wykonania w konkretnym punkcie oraz sprawdzenie stanu aplikacji. Współczesne środowiska programistyczne, takie jak Visual Studio czy IntelliJ IDEA, oferują rozbudowane funkcje debugowania, które są nieocenione w codziennej pracy programisty.

Pytanie 23

Aby poprawnie udokumentować poniższą linię kodu, trzeba po znakach // dodać komentarz: ```document.getElementById("napis").innerHTML = Date(); //```

A. wyświetlenie daty i czasu w elemencie o id = napis
B. zmiana stylizacji atrybutu innerHTML
C. wyświetlenie tekstu "Date()" w elemencie o id = napis
D. błędne informacje
Odpowiedzi takie jak 'wyświetlenie tekstu "Date()" w znaczniku o id = napis' oraz 'zmiana stylu atrybutu innerHTML' zawierają pewne nieporozumienia dotyczące działania JavaScript. Pierwsza z tych odpowiedzi sugeruje, że kod wyświetli tekst 'Date()', co jest błędne, ponieważ funkcja 'Date()' jest wywoływana, a nie traktowana jako tekst. W rezultacie, zamiast tego, otrzymujemy obiekt daty, który jest przetwarzany i konwertowany na ciąg tekstowy przedstawiający aktualną datę i czas. Ponadto, odpowiedź mówiąca o 'zmianie stylu atrybutu innerHTML' wprowadza w błąd, ponieważ 'innerHTML' nie jest używane do zmiany stylów CSS, ale do manipulacji zawartością HTML. Atrybut 'innerHTML' odpowiada za zawartość wewnętrzną elementu, a nie za jego stylizację. Typowe błędy myślowe prowadzące do takich niepoprawnych konkluzji obejmują mylenie funkcji, które zwracają wartości, z tekstami literalnymi oraz niepełne zrozumienie różnicy między manipulacją treścią a stylami CSS. Aby uniknąć tych nieporozumień, ważne jest, aby zawsze dokładnie analizować, co dany fragment kodu robi i jakie są jego skutki w kontekście całej aplikacji.

Pytanie 24

Które z poniższych poleceń pozwala na dodanie kolumny zadanie_kompletne do tabeli zadania?

A. ALTER TABLE zadania ADD COLUMN zadanie_kompletne int
B. INSERT INTO zadania VALUES zadanie_kompletne
C. CREATE INDEX zadania ADD COLUMN zadanie_kompletne int
D. ADD COLUMN zadanie_kompletne WITH zadania
Dodanie kolumny do istniejącej tabeli w relacyjnej bazie danych może być realizowane za pomocą polecenia ALTER TABLE. To polecenie jest standardem SQL i jest wspierane przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, Oracle czy Microsoft SQL Server. W przypadku zapytania 'ALTER TABLE zadania ADD COLUMN zadanie_kompletne int', polecenie to modyfikuje strukturę tabeli 'zadania', dodając nową kolumnę o nazwie 'zadanie_kompletne', która będzie przechowywać dane typu całkowitego (int). Praktycznym przykładem zastosowania tego polecenia może być system zarządzania projektami, w którym chcemy śledzić status zadań. Po dodaniu tej kolumny, możemy wprowadzać wartości 0 lub 1, które mogą reprezentować, czy zadanie zostało ukończone, czy nie. Użycie ALTER TABLE jest niezbędne, gdyż inne polecenia, takie jak CREATE INDEX czy INSERT INTO, służą do innych celów, takich jak tworzenie indeksów lub wstawianie danych, a nie do modyfikacji struktury tabeli. W praktyce, aby upewnić się, że zmiany są zgodne z wymaganiami systemu, zaleca się zawsze wykonanie kopii zapasowej bazy danych przed przeprowadzeniem operacji na strukturze tabeli.

Pytanie 25

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości dla bloków: 1, 2,
3, 4 (blok 5 nie ma ustawionej szerokości), powinno zawierać właściwość

Ilustracja do pytania
A. clear: both dla wszystkich bloków.
B. float: left dla wszystkich bloków.
C. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
D. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
Twoja odpowiedź nie jest poprawna, ale nie przejmuj się, błąd może wynikać z niepełnego zrozumienia zastosowania właściwości 'float' i 'clear' w CSS. Zastosowanie 'float: left' dla wszystkich bloków nie jest dobrym pomysłem, ponieważ spowoduje to, że wszystkie bloki będą się starały zmieścić w jednym rzędzie, co jest niezgodne z założonym układem. Podobnie, dodawanie 'clear: both' do wszystkich bloków też nie jest poprawne, ponieważ spowoduje to, że wszystkie bloki będą wyświetlane jeden pod drugim, zamiast obok siebie. Właściwość 'clear' powinna być stosowana do bloków, które chcemy wyświetlić poniżej innych bloków, natomiast 'float: left' powinien być stosowany do bloków, które chcemy wyświetlić obok siebie. Pamiętaj, że zrozumienie tych właściwości i umiejętność ich stosowania jest kluczowe dla tworzenia efektywnych i atrakcyjnych layoutów stron internetowych.

Pytanie 26

Zgodnie z zasadami ACID, odnoszącymi się do przeprowadzania transakcji, wymóg trwałości (ang. durability) wskazuje, że

A. w sytuacji naruszenia spójności bazy danych transakcja eliminuje tabele z kluczami obcymi
B. w trakcie realizacji transakcji dane mogą być zmieniane przez inne transakcje
C. transakcja może w pewnych okolicznościach być rozdzielona na dwa niezależne etapy
D. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od tego, co się wydarzy po jej zakończeniu
Wszystkie przedstawione alternatywy nie oddają właściwego znaczenia wymogu trwałości w kontekście ACID. Modyfikowanie danych przez inne transakcje w trakcie trwania jednej transakcji narusza zasadę atomowości, co prowadzi do nieprzewidywalnych stanów danych. Właściwa izolacja transakcji jest niezbędna, aby zapewnić, że jedna transakcja nie wpływa na wyniki innej, co jest kluczowym aspektem stabilności systemu. Ponadto, usunięcie tabel z kluczami obcymi w przypadku naruszenia spójności bazy danych nie jest związane z zasadą trwałości. Tego rodzaju działanie może prowadzić do poważnych problemów z integralnością danych, ponieważ usuwanie tabel nie rozwiązuje problemów spójności, lecz je pogłębia. Dodatkowo, podział transakcji na dwa niezależne etapy może wprowadzać niepożądane skutki, takie jak niespójność danych, co jest sprzeczne z zasadą trwałości. Kluczowym elementem, który łączy wszystkie te błędne koncepcje, jest brak zrozumienia, że trwałość gwarantuje, że zatwierdzone zmiany są permanentne i zabezpieczone przed jakimikolwiek nieprzewidzianymi okolicznościami. Korzystanie z solidnych mechanizmów trwałości, takich jak transakcyjne logowanie i backupy, jest niezbędne, aby zrealizować wszystkie aspekty ACID, a tym samym zapewnić odpowiednią jakość i bezpieczeństwo danych w systemach informacyjnych.

Pytanie 27

Jakie skutki wywoła poniższy fragment kodu w języku JavaScript? ```n = "Napis1"; s = n.length;```

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

Pytanie 28

W edytorze grafiki rastrowej funkcja „dodaj kanał alfa” umożliwia

A. powiększenie głębi ostrości obrazu
B. ustawienie prawidłowego balansu bieli
C. wyostrzenie krawędzi obrazu
D. wprowadzenie warstwy z przezroczystością
Dodanie kanału alfa w edytorze grafiki rastrowej to w zasadzie otworzenie drzwi do pracy z przezroczystością w obrazie. Kanał alfa jest dodatkową składową pikseli, która oprócz wartości RGB określa też poziom przejrzystości danego fragmentu grafiki. Moim zdaniem, to jeden z kluczowych elementów, jeśli chcesz przygotować grafikę do profesjonalnych zastosowań, np. do webdesignu, gier czy produkcji materiałów do druku z efektem nakładania. Standardowym przykładem jest sytuacja, gdy przygotowujesz logo i zależy Ci, żeby tło było przezroczyste – wtedy bez kanału alfa ani rusz. W praktyce, po dodaniu kanału alfa możesz wymazywać fragmenty lub stosować selektywne przezroczystości, co daje mnóstwo kreatywnych możliwości. To taka podstawa, bez której ciężko wyobrazić sobie pracę z warstwami, maskami czy efektami blendingu. Z mojego doświadczenia, osoby zaczynające pracę z grafiką często nie zdają sobie sprawy, jak ważne jest świadome zarządzanie przezroczystością – a kanał alfa właśnie to umożliwia. Nawet w najpopularniejszych formatach plików, jak PNG, obsługa kanału alfa jest już praktycznie standardem branżowym. Warto też wiedzieć, że w formatach takich jak JPEG tego nie uzyskasz, bo nie obsługują przezroczystości. Tak więc, jeśli planujesz pracę z grafiką wielowarstwową, przygotowywanie sprite’ów czy nowoczesnych UI, kanał alfa to absolutna podstawa, nie tylko bajer.

Pytanie 29

W języku PHP znak "//" wskazuje na

A. operator alternatywny
B. początek skryptu
C. operator dzielenia całkowitego
D. początek komentarza jednoliniowego
Pojęcia zawarte w trzech niepoprawnych odpowiedziach nie są poprawne w kontekście użycia znaku '//' w PHP. Pierwsza odpowiedź sugeruje, że znak ten oznacza początek skryptu. W rzeczywistości, skrypt PHP rozpoczyna się od tagu otwierającego '<?php', a nie od komentarza. Znak '//' nie ma nic wspólnego z inicjacją skryptu, jego rola jest ograniczona tylko do umożliwienia dodawania komentarzy. Druga odpowiedź wskazuje na operator alternatywny. W PHP nie istnieje operator alternatywny oznaczany przez '//' - operator alternatywny jest używany w kontekście konstrukcji kontrolnych, takich jak if, i nie ma z komentarzami nic wspólnego. Ostatnia odpowiedź odnosi się do operatora dzielenia całkowitego, co jest również nieprawdziwe. W PHP operator dzielenia całkowitego to 'intdiv()', a nie '//' - ten symbol używany jest do wprowadzania komentarzy. Zrozumienie tych różnic jest kluczowe dla efektywnego programowania w PHP i uniknięcia błędów w kodzie.

Pytanie 30

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

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

Pytanie 31

Podczas walidacji witryn internetowych nie analizuje się

A. działania hiperlinków
B. źródła pochodzenia narzędzi edycyjnych
C. zgodności z różnymi przeglądarkami
D. błędów w składni kodu
Nieprawidłowe odpowiedzi na to pytanie koncentrują się na aspektach, które są kluczowe w procesie walidacji stron internetowych, a które są niestety różnie interpretowane. Zgodność z przeglądarkami jest jednym z najważniejszych elementów, które należy brać pod uwagę, aby zapewnić, że strona działa prawidłowo na różnych platformach. W dzisiejszym zróżnicowanym ekosystemie przeglądarek, od Chrome po Firefox i Safari, walidacja pod kątem zgodności jest niezbędna dla maksymalizacji zasięgu i użyteczności strony. Działania linków również nie mogą być pomijane; badanie, czy wszystkie odnośniki działają, jest kluczowe dla doświadczeń użytkowników i SEO. Martwe linki mogą znacząco obniżyć jakość strony i wpłynąć na jej ranking w wyszukiwarkach. Walidacja błędów składni kodu to kolejny istotny krok, który zapewnia, że strona jest zbudowana zgodnie z obowiązującymi standardami, co pomaga uniknąć problemów z renderowaniem treści. Niezrozumienie, że źródło narzędzi edytorskich nie wpływa na te techniczne aspekty, prowadzi do błędnych wniosków i może skutkować tworzeniem stron, które nie są w pełni funkcjonalne ani zgodne z wymaganiami użytkowników.

Pytanie 32

Które z poniższych stwierdzeń dotyczy grafiki wektorowej?

A. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych
B. Służy do zapisu cyfrowych zdjęć
C. Zawiera przedstawienie obrazu przy użyciu siatki składającej się z kolorowych pikseli ustawionych w pionie i poziomie na monitorze komputera, drukarce lub innym urządzeniu wyjściowym
D. Może być zapisywana w formacie JPG lub PNG
Grafika wektorowa to technika tworzenia i zapisywania obrazów przy użyciu figur geometrycznych, takich jak punkty, linie, krzywe i wielokąty, które są definiowane za pomocą równań matematycznych. W przeciwieństwie do grafiki rastrowej, która jest oparta na siatce pikseli, grafika wektorowa jest skalowalna bez utraty jakości, co oznacza, że obrazy mogą być powiększane lub pomniejszane bez widocznych zniekształceń. Przykłady formatów plików dla grafiki wektorowej to SVG (Scalable Vector Graphics) i AI (Adobe Illustrator). Umożliwia to zastosowanie w różnych dziedzinach, takich jak projektowanie logo, ilustracje, animacje i drukowanie, gdzie wymagana jest wysoka jakość i precyzja. Grafika wektorowa jest często preferowana w projektach wymagających dużej elastyczności, ponieważ zmiana wymiarów obiektu nie wiąże się z koniecznością ponownego rysowania lub retuszowania obrazu. Standardy takie jak W3C dla SVG definiują, jak powinny być tworzone i wyświetlane grafiki wektorowe w sieci, co zapewnia ich uniwersalność i zgodność z różnymi urządzeniami.

Pytanie 33

W programie Microsoft Access metodą zabezpieczającą dostęp do danych związanych z tabelą oraz kwerendą jest

A. użycie makr
B. przydzielenie uprawnień
C. nałożenie limitów przestrzeni dyskowej
D. ustalanie przestrzeni tabel
Stosowanie makr w Microsoft Access to funkcjonalność, która umożliwia automatyzację procesów, ale nie stanowi bezpośredniego mechanizmu zabezpieczeń dostępu do danych. Makra pozwalają na tworzenie sekwencji działań, które ułatwiają użytkownikom interakcję z bazą danych, lecz ich użycie nie ma na celu ograniczenia dostępu do określonych zasobów. Z kolei określanie przestrzeni tabel dotyczy zarządzania strukturą bazy danych, a nie zabezpieczeń. Przestrzeń tabel odnosi się do alokacji pamięci dla danych i nie wpływa na kontrolę dostępu, co czyni tę odpowiedź nieadekwatną w kontekście pytania. Wprowadzenie limitów przestrzeni dyskowej również nie jest metodą zabezpieczającą dostęp do danych, ale raczej sposobem na zarządzanie zasobami serwera bazy danych. Limity te mogą mieć znaczenie w kontekście zarządzania kosztami operacyjnymi, jednak nie mają zastosowania w ochronie danych przed nieautoryzowanym dostępem. Dlatego przypisanie uprawnień stanowi istotny element polityki bezpieczeństwa, podczas gdy pozostałe odpowiedzi są mniej związane z tematem zabezpieczenia dostępu do danych.

Pytanie 34

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

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

Pytanie 35

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

A. n .. n
B. 1 .. n
C. 1 .. 1
D. n .. 1
Relacje 1 .. n, n .. 1 oraz n .. n wskazują na bardziej złożone powiązania między tabelami w relacyjnych bazach danych, które nie są adekwatne w kontekście kluczy głównych. W przypadku relacji 1 .. n, jeden rekord w tabeli A może mieć wiele odpowiadających mu rekordów w tabeli B, co prowadzi do sytuacji, w której dane są powielane w tabeli B. Typowym błędem jest mylenie sytuacji, w której każdy rekord w tabeli A jest powiązany z wieloma rekordami w tabeli B, co prowadzi do wniosku o relacji 1 .. n. Z kolei relacja n .. 1 oznacza, że wiele rekordów w tabeli A odpowiada jednemu rekordowi w tabeli B, co również nie jest zgodne z definicją relacji 1 .. 1. Co więcej, relacja n .. n sugeruje, że wiele rekordów w tabeli A może być powiązanych z wieloma rekordami w tabeli B, co prowadzi do dużej złożoności i trudności w utrzymaniu integralności danych w bazie. Zrozumienie tych konceptów jest kluczowe dla modelowania danych, dlatego ważne jest, aby unikać nadmiernego uproszczenia lub generalizacji relacji, co często prowadzi do błędnych wniosków w projektowaniu bazy danych.

Pytanie 36

Wskaż fragment kodu CSS, który odpowiada układowi bloków 2 - 5, zakładając, że są one oparte na poniższym kodzie HTML.

Ilustracja do pytania
A. C
B. A
C. D
D. B
Niepoprawne odpowiedzi często wynikają z błędnego zrozumienia działania właściwości float oraz szerokości elementów w układzie blokowym. Float jest potężnym narzędziem które pozwala na pływające rozmieszczenie elementów ale wymaga precyzyjnego planowania aby uniknąć niepożądanych efektów takich jak elementy wychodzące poza przewidywane miejsca. Przy wyborze błędnych odpowiedzi można zauważyć że nieodpowiednie użycie float może prowadzić do nieprawidłowego wyświetlania bloków. Na przykład brak odpowiedniego ustawienia float left lub right dla niektórych bloków może skutkować ich przesunięciem poza zamierzony układ. Dodatkowo nieprawidłowe zarządzanie szerokością bloków może spowodować że układ przekroczy dostępny obszar wyświetlania co szczególnie jest problematyczne w responsywnym projektowaniu stron. Typowym błędem jest również brak uwzględnienia clearfix co może prowadzić do nieprawidłowego przepływu kolejnych elementów w układzie. Zrozumienie jak float wpływa na otaczające elementy oraz jak kontrolować szerokość i przepływ elementów jest kluczowe w tworzeniu stabilnych i przewidywalnych układów stron internetowych. Poprawne zastosowanie tych zasad jest kluczowe dla zgodnego z dobrymi praktykami projektowania stron które są nie tylko estetyczne ale i funkcjonalne w różnych kontekstach urządzeń i środowisk użytkownika.

Pytanie 37

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. czescCalkowita
C. obj1
D. czescUlamkowa
W kontekście analizy obiektu obj1 w JavaScript każdy z elementów pełni specyficzną rolę co determinuje jego klasyfikację Zacznijmy od czescCalkowita i czescUlamkowa są to klasyczne właściwości obiektu które przechowują wartości liczbowe Tego typu właściwości są używane do przechowywania danych które mogą być później wykorzystywane przez inne elementy obiektu lub zewnętrzne funkcje Zadaniem tych właściwości nie jest wykonywanie jakichkolwiek operacji lecz jedynie przechowywanie i udostępnianie przypisanych im wartości Kolejnym elementem jest obj1 który nie jest właściwością obiektu lecz samym obiektem w którym te właściwości i metoda oblicz są zdefiniowane Często błędnie można sądzić że nazwa obiektu może być traktowana jako metoda jednak w rzeczywistości obiekt jest strukturą zawierającą dane i operacje a nie samą operacją Zrozumienie różnicy między nazwą obiektu a jego składnikami jest kluczowe dla efektywnego programowania w JavaScript Wreszcie najważniejsze jest rozpoznanie co czyni z elementu metodę Właśnie oblicz jest przykładem metody ponieważ jest funkcją przypisaną do właściwości obiektu co umożliwia wykonywanie operacji na danych zawartych w tym obiekcie Tego typu konstrukcja sprzyja organizacji kodu i jego ponownemu użyciu co jest jedną z fundamentalnych zasad programowania obiektowego W związku z tym zrozumienie czym jest metoda i jak funkcjonuje w kontekście obiektu jest niezbędne dla poprawnego projektowania aplikacji i wykorzystania możliwości języka JavaScript

Pytanie 38

Przemiana kodu źródłowego wykonanego przez programistę w zrozumiały dla maszyny kod maszynowy to

A. kompilowanie
B. wykonywanie
C. wdrażanie
D. analizowanie błędów
Kompilowanie to kluczowy proces w inżynierii oprogramowania, który polega na przekształceniu kodu źródłowego napisanego w języku wysokiego poziomu (takim jak C++, Java czy Python) na kod maszynowy zrozumiały dla komputera. Proces ten jest krytyczny, ponieważ komputery nie są w stanie interpretować kodu źródłowego bezpośrednio. Kompilator przeprowadza analizę syntaktyczną i semantyczną kodu, optymalizuje go, a następnie generuje kod maszynowy. W praktyce, kompilacja pozwala na wykrycie błędów w kodzie przed jego uruchomieniem, co jest zgodne z najlepszymi praktykami programistycznymi. Kompilatory często oferują dodatkowe narzędzia, takie jak debugery, które umożliwiają programistom śledzenie błędów w kodzie. W kontekście dużych projektów, dobrym podejściem jest również wykorzystanie systemów CI/CD, które automatyzują proces kompilacji i testowania, co znacząco przyspiesza cykl rozwoju oprogramowania oraz zwiększa jego jakość.

Pytanie 39

Funkcja mysqli_num_rows() w PHP może być używana po wcześniejszym wykonaniu zapytania

A. INSERT
B. DELETE
C. SELECT
D. UPDATE
Wybór odpowiedzi, która wskazuje na kwerendy INSERT, DELETE lub UPDATE, jest związany z nieporozumieniem dotyczących funkcji mysqli_num_rows(). Te typy kwerend mają na celu modyfikację danych w bazie, a nie ich pobieranie. Kwerenda INSERT służy do dodawania nowych rekordów, DELETE do usuwania istniejących, a UPDATE do zmiany już przechowywanych danych. Żadna z tych operacji nie generuje zbioru wyników, który mógłby być analizowany pod kątem liczby zwróconych wierszy. Mówiąc prościej, mysqli_num_rows() nie ma zastosowania w kontekście modyfikacji danych, ponieważ funkcja ta jest zaprojektowana do pracy z wynikami zapytań SELECT. Typowym błędem myślowym jest założenie, że każda kwerenda zwraca wynik, co prowadzi do mylnego wniosku, że można używać mysqli_num_rows() w przypadku operacji INSERT, DELETE czy UPDATE. Aby zrozumieć, jak prawidłowo korzystać z funkcji, warto zapoznać się z dokumentacją PHP oraz najlepszymi praktykami pracy z bazami danych, które podkreślają znaczenie stosowania odpowiednich funkcji w odpowiednich kontekstach. Skupienie się na tym, jakie zapytania generują wyniki, a jakie je modyfikują, jest kluczowe dla każdego programisty pracującego z bazami danych.

Pytanie 40

Jak określa się podzbiór strukturalnego języka zapytań, który dotyczy formułowania zapytań do bazy danych przy użyciu polecenia SELECT?

A. SQL DQL (ang. Data Query Language)
B. SQL DCL (ang. Data Control Language)
C. SQL DML (ang. Data Manipulation Language)
D. SQL DDL (ang. Data Definition Language)
SQL DQL (Data Query Language) to podzbiór języka SQL, który koncentruje się na formułowaniu zapytań do baz danych w celu pobierania danych. Jego głównym elementem jest polecenie SELECT, które umożliwia użytkownikom wybieranie specyficznych danych z tabel oraz ich przetwarzanie w różnorodny sposób, w tym filtrowanie, sortowanie i łączenie danych z różnych źródeł. Przykładem zastosowania DQL jest zapytanie typu 'SELECT * FROM employees WHERE department = 'Sales';', które zwraca wszystkich pracowników z działu sprzedaży. DQL jest kluczowym elementem w analizie danych oraz raportowaniu, co sprawia, że znajomość tego podzbioru jest niezbędna dla analityków danych oraz programistów. Zrozumienie i umiejętność korzystania z DQL pozwala na efektywne wykorzystanie baz danych w praktycznych zastosowaniach biznesowych, takich jak generowanie raportów, analiza trendów oraz wspieranie decyzji strategicznych. Standardy SQL określają dobre praktyki związane z tworzeniem zapytań, co pozwala na zachowanie wydajności i czytelności kodu.