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: 11 kwietnia 2026 13:06
  • Data zakończenia: 11 kwietnia 2026 13:30

Egzamin zdany!

Wynik: 24/40 punktów (60,0%)

Wymagane minimum: 20 punktów (50%)

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

Określ rodzaj powiązania pomiędzy tabelami: Tabela1 oraz Tabela3

Ilustracja do pytania
A. Wiele do wielu
B. Jeden do wielu
C. Wiele do jednego
D. Jeden do jednego
Relacja wiele do wielu między tabelami Tabela1 i Tabela3 jest prawidłowym rozwiązaniem, ponieważ relacja ta umożliwia powiązanie wielu rekordów z jednej tabeli z wieloma rekordami z drugiej tabeli. W kontekście przedstawionego schematu baz danych, tabela Tabela1 przechowuje informacje o uczniach, podczas gdy Tabela3 zawiera dane o nauczycielach. Tabela2 pełni rolę tabeli pośredniej, zawierającej klucze obce, które łączą ID_Ucznia z ID_Nauczyciela za pomocą ID_Przedmiotu jako dodatkowego klucza. To podejście jest powszechnie stosowane w projektowaniu baz danych, aby zapewnić elastyczność i możliwość zaawansowanej analizy danych, np. którzy uczniowie mają zajęcia z jakimi nauczycielami. W praktyce takie rozwiązanie stosuje się w systemach edukacyjnych, gdzie każdy uczeń może uczęszczać na zajęcia prowadzone przez różnych nauczycieli, a każdy nauczyciel może prowadzić zajęcia dla wielu uczniów. Standardy projektowania relacyjnych baz danych, takie jak normalizacja, zalecają tego rodzaju architekturę, aby uniknąć redundancji danych i umożliwić efektywne zarządzanie złożonymi relacjami. Tabele pośrednie, takie jak Tabela2, są kluczowym elementem w tworzeniu relacji wiele do wielu, ponieważ umożliwiają mapowanie skomplikowanych powiązań w sposób technicznie poprawny i zrozumiały dla użytkowników systemu.

Pytanie 2

W języku PHP funkcja trim służy do

A. porównywania dwóch tekstów i wyświetlania ich wspólnej części
B. redukcji tekstu o liczbę znaków określoną w parametrze
C. podawania długości tekstu
D. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
Wybór niewłaściwej odpowiedzi może wynikać z pomylenia funkcji <i>trim</i> z innymi funkcjami w PHP, które pełnią różne role. Na przykład, porównywanie dwóch napisów i wypisywanie części wspólnej nie jest funkcjonalnością dostępną w <i>trim</i>, lecz w funkcjach takich jak <i>similar_text</i> lub używając operatorów porównania. Dodatkowo, funkcja <i>strlen</i> jest odpowiedzialna za podawanie długości napisu, co również nie ma związku z działaniem <i>trim</i>. Zmniejszanie napisu o wskazaną liczbę znaków można zrealizować za pomocą funkcji takich jak <i>substr</i>, a nie <i>trim</i>, która koncentruje się jedynie na usuwaniu nadmiarowych znaków z końców. Te pomyłki często wynikają z niepełnego zrozumienia funkcji dostępnych w PHP oraz ich specyfiki w kontekście obróbki tekstu. Aby uniknąć takich nieporozumień, warto dokładnie zapoznać się z dokumentacją PHP oraz zwracać uwagę na kontekst i zastosowanie każdej funkcji. Zrozumienie, jakie zadania są przeznaczone dla poszczególnych funkcji, jest kluczowe dla efektywnego programowania oraz unikania błędów w kodzie.

Pytanie 3

Które z poniższych oprogramowań nie jest systemem do zarządzania treścią (CMS)?

A. WordPress
B. Joomla
C. Apache
D. Mambo
Odpowiedź "Apache" jest prawidłowa, ponieważ Apache to serwer HTTP, który jest odpowiedzialny za obsługę i dostarczanie stron internetowych do przeglądarek użytkowników. Nie jest to system zarządzania treścią (CMS), który służy do tworzenia, edytowania i publikowania treści na stronach internetowych. Systemy takie jak Mambo, Joomla i WordPress to platformy CMS, które umożliwiają użytkownikom zarządzanie treściami w sposób intuicyjny i przyjazny dla użytkownika. Na przykład, WordPress, będący jednym z najpopularniejszych CMS-ów, oferuje bogaty ekosystem wtyczek oraz motywów, co pozwala na łatwe dostosowanie witryn do indywidualnych potrzeb. W kontekście branżowych standardów, stosowanie CMS-ów pozwala na skuteczniejsze zarządzanie treściami w witrynach, co jest zgodne z najlepszymi praktykami w zakresie tworzenia i utrzymania stron internetowych.

Pytanie 4

W którym z przedstawionych bloków powinien być umieszczony warunek pętli?

Ilustracja do pytania
A. Rys. D
B. Rys. A
C. Rys. C
D. Rys. B
Rysunek C przedstawia romb który w diagramach przepływu jest standardowo używany do reprezentowania decyzji lub warunków warunku pętli. Pętle w programowaniu są często oparte na warunkach które decydują o ich kontynuacji lub zakończeniu. Umiejscowienie warunku w rombie pozwala na wyrażenie warunku logicznego który może być testowany jako prawda lub fałsz co jest kluczowe dla działania pętli takich jak while czy for. Przykładem może być pętla while która kontynuuje swoje działanie tak długo jak warunek w rombie jest spełniony. W ten sposób romb ułatwia wizualne i logiczne śledzenie decyzji w algorytmie co jest zgodne z dobrymi praktykami programowania takimi jak przejrzystość i czytelność kodu. Użycie rombu zgodnie z konwencją diagramów przepływu poprawia także zrozumienie algorytmu przez innych programistów co zwiększa efektywność współpracy w zespołach deweloperskich. Stosowanie tego symbolu jest również wspierane przez standardy takie jak UML co czyni go uniwersalnym narzędziem w modelowaniu procesów.

Pytanie 5

Grafika, która ma być pokazana na stronie, powinna mieć transparentne tło. Podaj format pliku graficznego, w którym należy go zapisać.

A. BMP
B. PNG
C. JPEG
D. CDR
Format PNG (Portable Network Graphics) jest idealnym rozwiązaniem dla obrazów z przezroczystym tłem, ponieważ obsługuje kanał alpha, który umożliwia definiowanie przezroczystości poszczególnych pikseli. Dzięki temu, gdy obraz PNG jest umieszczany na różnym tle, zachowuje naturalny wygląd i nie wymaga dodatkowego dostosowywania, co jest szczególnie ważne w projektach graficznych, które wymagają elastyczności w prezentacji. Przykładowe zastosowania PNG obejmują ikony, logo oraz wszelkie grafiki, które muszą być nałożone na inne elementy wizualne bez widocznych krawędzi czy tła. W branży grafiki komputerowej oraz web designu, PNG stał się standardem dla materiałów wymagających wysokiej jakości obrazu z zachowaniem przezroczystości. Dobrą praktyką jest również stosowanie PNG w przypadku grafik, które zawierają tekst, ponieważ format ten nie wprowadza strat jakości, co może mieć miejsce w przypadku innych formatów kompresji. Warto również zaznaczyć, że PNG nie traci jakości przy wielokrotnym zapisywaniu, co czyni go preferowanym wyborem tam, gdzie jakość jest kluczowa.

Pytanie 6

Wskaź na właściwą sekwencję tworzenia aplikacji?

A. Specyfikacja wymagań, analiza potrzeb klienta, tworzenie, wdrażanie, testowanie
B. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, wdrażanie, testowanie
C. Tworzenie, analiza potrzeb klienta, specyfikacja wymagań, wdrażanie, testowanie
D. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, testowanie, wdrażanie
Nieprawidłowe odpowiedzi w kwestii kolejności tworzenia aplikacji bazują na błędnych założeniach dotyczących etapów procesu. W pierwszej z tych odpowiedzi, pominięcie analizy wymagań klienta na rzecz specyfikacji powoduje, że projekt może nie spełniać oczekiwań użytkowników, co prowadzi do nieefektywnego wykorzystania zasobów oraz czasu. Specyfikacja wymagań musi być tworzona na podstawie dokładnej analizy potrzeb, a nie odwrotnie. Kolejna odpowiedź zaczyna się od tworzenia aplikacji bez wcześniejszej analizy i specyfikacji, co jest nie tylko technicznie błędne, ale również wiąże się z ogromnym ryzykiem powstawania błędów w kodzie i funkcjonalności, które nie odpowiadają na realne potrzeby użytkowników. W ostatnim przypadku, pomimo że analiza wymagań oraz specyfikacja są na początku, przed wdrożeniem powinny być przeprowadzone testy, aby upewnić się, że produkt działa zgodnie z oczekiwaniami. Etap testowania jest niezbędny przed wdrożeniem, ponieważ pozwala na identyfikację i naprawę błędów, co jest kluczowe dla osiągnięcia wysokiej jakości końcowego produktu. Wszelkie zmiany w tej kolejności mogą prowadzić do kosztownych błędów oraz niezadowolenia użytkowników.

Pytanie 7

W skrypcie JavaScript deklaracja zmiennych ma miejsce

A. tylko gdy określimy typ zmiennej oraz jej nazwę
B. wyłącznie na początku skryptu
C. w chwili pierwszego użycia zmiennej
D. zawsze z poprzedzającym nazwą znakiem $
Wybór błędnych odpowiedzi wynika z nieporozumienia dotyczącego zasad deklaracji zmiennych w JavaScript. Wiele osób ma tendencję do myślenia, że zmienne muszą być deklarowane na początku skryptu, co jest niezgodne z elastycznością, jaką oferuje ten język. Deklaracja tylko na początku skryptu ogranicza kreatywność i elastyczność programisty, ponieważ w praktyce można tworzyć zmienne w dowolnym momencie, w zależności od logiki programu. Innym błędnym przekonaniem jest konieczność podawania typu zmiennej przed jej nazwą. W przeciwieństwie do języków silnie typowanych, takich jak Java czy C#, JavaScript jest językiem słabo typowanym, co oznacza, że typ zmiennej jest określany dynamicznie w momencie przypisania wartości. Przykładowo, można zdefiniować zmienną jako liczbę, a następnie przypisać do niej wartość typu tekstowego bez żadnych problemów. Kolejną mylną zasadą jest stwierdzenie, że każda zmienna musi zaczynać się od znaku $. W rzeczywistości, znaki te (jak $ i _) są dozwolone jako pierwsze znaki identyfikatorów, ale nie są wymagane. Takie nieporozumienia mogą prowadzić do nieefektywnego pisania kodu oraz wprowadzania niezamierzonych błędów. Zrozumienie tych zasad jest kluczowe dla prawidłowego korzystania z JavaScript, co pozwala na tworzenie lepszych, bardziej efektywnych aplikacji oraz unikanie typowych błędów i pułapek w programowaniu.

Pytanie 8

Aby stworzyć stronę internetową, która będzie odpowiadać załączonej ilustracji, konieczne jest użycie semantycznych znaczników sekcji w języku HTML5. Jakim znacznikiem należy określić sekcję menu?

A. aside
B. nav
C. div
D. header
Znacznik <div> jest często używany do ogólnego grupowania elementów w HTML, ale nie niesie ze sobą semantycznego znaczenia, co oznacza, że nie informuje technologii wspomagających ani wyszukiwarek o roli, jaką pełni zawartość. W kontekście semantycznego HTML5, poleganie na znaczniku <div> nie wykorzystuje potencjału nowych standardów, które poprawiają dostępność i strukturę dokumentów. Znacznik <aside> jest zwykle używany do grupowania treści pobocznej, takiej jak reklamy czy linki powiązane, dlatego nie jest on odpowiedni do definiowania sekcji menu. <header> jest z kolei stosowany do elementów nagłówkowych, takich jak tytuły stron czy sekcje wstępne, co również nie pasuje do kontekstu sekcji nawigacyjnej. Właściwe wykorzystanie semantycznych znaczników pomaga nie tylko w lepszej organizacji kodu, ale także wspiera dostępność oraz optymalizację SEO, co jest kluczowe w nowoczesnym projektowaniu stron internetowych.

Pytanie 9

W HTML-u atrybut shape w znaczniku area, który definiuje kształt obszaru, może przyjąć wartość

A. poly, square, circle
B. rect, triangle, circle
C. rect, square, circle
D. rect, poly, circle
Atrybut shape znacznika area w języku HTML jest wykorzystywany do określenia kształtu obszaru, który jest aktywny w mapie obrazów. Przyjmuje on wartości rect (prostokąt), poly (wielokąt) oraz circle (okrąg). Każda z tych wartości definiuje sposób, w jaki kształt obszaru jest interpretowany przez przeglądarkę. Na przykład, wartość 'rect' wymaga czterech parametrów, które określają lewy górny i prawy dolny róg prostokąta. W przypadku 'circle', musimy podać współrzędne środka oraz promień okręgu, a 'poly' wymaga podania współrzędnych wszystkich punktów wierzchołków wielokąta. Praktyczne zastosowanie atrybutu shape pozwala na tworzenie interaktywnych map obrazów, gdzie użytkownik może klikać w różne obszary, co zwiększa dostępność i użyteczność strony. Warto pamiętać, że korzystanie z map obrazów i odpowiedniego atrybutu shape powinno być zgodne z aktualnymi standardami W3C, co wpływa na poprawność i wydajność strony internetowej.

Pytanie 10

Podczas definiowania koloru w formacie RGBA, na przykład rgba(100, 40, 50, 0.2), ostatnia liczba odnosi się do

A. przezroczystości, gdzie 1 oznacza pełną przezroczystość, a 0 jej brak
B. saturacji barw RGB
C. przezroczystości, gdzie 0 oznacza pełną przezroczystość, a 1 jej brak
D. nasycenia koloru czarnego
Wybór wartości, które nie odnoszą się do przezroczystości, może prowadzić do nieporozumień w zakresie interpretacji koloru w grafice komputerowej. Nasycenie koloru czarnego lub saturacja barw RGB są terminami, które odnoszą się do intensywności koloru lub jego czystości, ale nie mają nic wspólnego z przezroczystością. Saturacja określa, jak bardzo dany kolor jest odległy od szarości; im wyższa saturacja, tym kolor jest bardziej intensywny. Wartości takie jak nasycenie i jasność są kluczowe w kontekście modelu HSL (Hue, Saturation, Lightness), który jest alternatywną metodą reprezentacji kolorów, ale nie mają zastosowania w notacji RGBA. Często występującym błędem w myśleniu jest mylenie przezroczystości z intensywnością koloru; należy pamiętać, że stopień przezroczystości dotyczy widoczności koloru na tle innych elementów, a nie jego czystości czy głębokości. Użycie niewłaściwych terminów w kontekście grafiki komputerowej może prowadzić do błędnych rozwiązań w procesie projektowania, dlatego tak ważne jest zrozumienie podstawowych pojęć związanych z kolorami oraz znajomość standardów i dobrych praktyk w branży.

Pytanie 11

Jakie dane zostaną pokazane w wyniku wykonania podanego zapytania SQL na 8 rekordach w tabeli zwierzeta?

SELECT imie FROM zwierzeta
WHERE rodzaj = 2
AND szczepienie = 2016;
idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
A. Anna Kowalska, Jan Nowak
B. Fafik, Brutus, Dika, Fuks
C. Figaro, Dika, Fuks
D. Dika, Fuks
W zapytaniu SQL określono, że chcemy wybrać kolumnę 'imie' z tabeli 'zwierzeta' dla rekordów, które spełniają dwa warunki: 'rodzaj' równa się 2 oraz 'szczepienie' równa się 2016. Analizując dane z tabeli, widzimy, że rekordy spełniające oba te kryteria to rekordy o ID 7 i 8, gdzie imiona to 'Dika' i 'Fuks'. Jest to poprawna odpowiedź, ponieważ jedynie te dwa rekordy mają 'rodzaj' równe 2 i 'szczepienie' równe 2016. Takie podejście do zapytań SQL jest zgodne z praktykami branżowymi, które uczą, by precyzyjnie definiować warunki filtrowania danych. Dzięki temu można efektywnie zarządzać danymi i uzyskiwać jedynie te informacje, które są istotne dla bieżącej analizy czy raportu. Warto zauważyć, że zastosowanie logicznej operacji 'AND' jest kluczowe, gdy chcemy, aby wszystkie określone warunki były spełnione jednocześnie. W różnych systemach baz danych, takich jak MySQL czy PostgreSQL, takie zapytania są powszechne i pomagają w utrzymaniu precyzyjnych i wydajnych operacji na danych.

Pytanie 12

Który z akapitów został sformatowany według podanego stylu, przy założeniu, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Efekt 2
B. Efekt 1
C. Efekt 3
D. Efekt 4
Wybór błędnej odpowiedzi może wynikać z niepełnego zrozumienia działania właściwości CSS które kontrolują wygląd elementów HTML W przypadku efektu 1 tekst jest pogrubiony ale kolor tła jest ciemny co nie odpowiada żadnej z właściwości podanych w stylu CSS Styl CSS zakłada jasne tło z niebieskim obramowaniem co nie jest odzwierciedlone w tym przykładzie Również tekst nie jest odpowiednio ułożony w środkowej przestrzeni jak to zakłada padding 20px Efekt 2 mimo że zawiera niebieski kolor tekstu i obramowanie ma bardzo cienką czcionkę bez odpowiedniego pogrubienia co jest wymagane przez font-weight 900 Ta niezgodność wskazuje na nieprawidłowe zastosowanie właściwości CSS Sytuacja z efektem 4 wygląda podobnie mimo że tekst jest pogrubiony obramowanie jest zbyt grube a tekst nie ma wystarczającej przestrzeni wokół niego co wskazuje na brak ustawienia padding na 20px Zrozumienie tych różnic pomaga w poprawnym stosowaniu stylów CSS w praktyce co jest kluczowe dla tworzenia spójnych i atrakcyjnych wizualnie projektów internetowych Kluczowe jest również testowanie i przeglądanie kodu aby upewnić się że wszystkie właściwości są odpowiednio zdefiniowane i zastosowane we właściwych kontekstach przy projektowaniu interfejsów użytkownika

Pytanie 13

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

A. phpgetinfo()
B. phpinformation()
C. phpinfo()
D. php()
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 14

Wskaż poprawne zdanie dotyczące poniższego polecenia. ```CREATE TABLE IF NOT EXISTS ADRES (ulica VARCHAR(70)) CHARACTER SET utf8); ```

A. Nie można dodawać do tabeli ulic, które zawierają polskie znaki w nazwie
B. IF NOT EXISTS używa się opcjonalnie, żeby potwierdzić, że taka tabela nie istnieje w bazie danych
C. Rekord tabeli nie może mieć wartości 3 MAJA
D. Klauzula CHARACTER SET utf8 jest wymagana
Klauzula IF NOT EXISTS w poleceniu CREATE TABLE jest używana do zapobiegania błędom, które mogą wystąpić, gdy próbujesz stworzyć tabelę, która już istnieje w danej bazie danych. Dzięki temu operatorowi, jeśli tabela o podanej nazwie już istnieje, polecenie nie zostanie wykonane, co pozwala na uniknięcie konfliktów oraz zbędnych błędów w aplikacji. Jest to szczególnie przydatne w sytuacjach, gdy skrypty są uruchamiane wielokrotnie, na przykład podczas aktualizacji lub migracji bazy danych. Użycie IF NOT EXISTS jest opcjonalne, ale zalecane dla poprawności i stabilności kodu SQL. Przykład praktyczny: można stworzyć tabelę 'klienci' z poleceniem 'CREATE TABLE IF NOT EXISTS klienci (id INT PRIMARY KEY, imie VARCHAR(100));', co zapobiega próbie utworzenia tabeli, która już istnieje. Zgodnie z standardami SQL, operator ten jest powszechnie akceptowany w większości systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL czy SQLite, co czyni go uniwersalnym rozwiązaniem w projektach opartych na bazach danych.

Pytanie 15

Wskaż polecenie do iteracji.

A. for
B. switch
C. throw
D. else
Instrukcja iteracyjna 'for' jest jednym z najczęściej używanych mechanizmów w programowaniu, umożliwiającym powtarzanie bloków kodu. Jej główną zaletą jest możliwość precyzyjnego określenia liczby powtórzeń, co czyni ją idealnym narzędziem do pracy z tablicami i kolekcjami danych. W skład składni instrukcji 'for' wchodzi inicjalizacja zmiennej, warunek kontynuacji oraz aktualizacja zmiennej, co pozwala na eleganckie i zrozumiałe pętle. Na przykład, w języku Python, zapis 'for i in range(5):' spowoduje wykonanie bloku kodu pięć razy, co jest przydatne przy iteracji przez indeksy tablicy. Standardy programowania, takie jak PEP 8 dla Pythona, podkreślają znaczenie czytelności kodu, a dobrze zorganizowane pętle 'for' przyczyniają się do utrzymania przejrzystości. Ponadto, instrukcje 'for' są również obecne w wielu innych językach, takich jak Java, C++ czy JavaScript, co czyni je uniwersalnym narzędziem w arsenale programisty.

Pytanie 16

Która z definicji funkcji w języku C++ przyjmuje parametr typu zmiennoprzecinkowego i zwraca wartość typu całkowitego?

A. void fun1(int a)
B. float fun1(void a)
C. int fun1(float a)
D. float fun1(int a)
Każda z błędnych odpowiedzi ilustruje typowe nieporozumienia związane z deklaracją funkcji w języku C++. Odpowiedź 'void fun1(int a);' nie spełnia wymogów, ponieważ zwraca typ 'void', co oznacza, że funkcja nie zwraca żadnej wartości. To podejście jest właściwe, gdy chcemy wykonać operacje, które nie wymagają zwracania wyniku, ale nie odpowiada na pytanie dotyczące zwracania wartości całkowitej. W przypadku 'float fun1(int a);', chociaż funkcja poprawnie przyjmuje argument całkowity, zwraca typ 'float', co jest sprzeczne z wymaganiem zwrotu wartości całkowitej. Kolejna odpowiedź 'float fun1(void a);' zawiera syntaktyczny błąd, ponieważ typ 'void' nie może być użyty jako typ parametru, co prowadzi do błędów kompilacji. W języku C++ każdy parametr musi mieć określony typ, a użycie 'void' jako typu parametru jest niepoprawne. Te nieprawidłowe odpowiedzi wskazują na brak zrozumienia podstawowych zasad typowania w C++, co jest kluczowe w kontekście projektowania funkcji. Istotne jest, aby przy tworzeniu funkcji dobrze zrozumieć, jakie typy danych są akceptowane i jakie wartości są oczekiwane jako wynik, aby uniknąć błędów w logice programu oraz poprawić jego wydajność i czytelność.

Pytanie 17

W bazie danych MYSQL znajduje się tabela z programami komputerowymi, która ma pola: nazwa, producent, rokWydania. Jak należy sformułować kwerendę SELECT, aby uzyskać wszystkie nazwy producentów bez powtórzeń?

A. SELECT producent FROM programy WHERE UNIQUE;
B. SELECT DISTINCT producent FROM programy;
C. SELECT UNIQUE producent FROM programy;
D. SELECT producent FROM programy WHERE producent NOT DUPLICATE;
Odpowiedź 'SELECT DISTINCT producent FROM programy;' jest w porządku. To dlatego, że kluczowe słowo DISTINCT działa tak, że zwraca tylko unikalne wartości z kolumny 'producent' w tabeli 'programy'. Jak są duże zbiory danych, to użycie DISTINCT naprawdę się przydaje, bo pozwala pozbyć się duplikatów i to później ułatwia analizę danych. Na przykład, kiedy w tabeli jest mnóstwo rekordów dla tego samego producenta, to DISTINCT zwróci tylko jeden wpis dla każdego z nich. Wiesz, to taka dobra praktyka w SQL, bo im mniej danych musisz przetwarzać, tym lepsza wydajność. I, co ciekawe, użycie DISTINCT nie obniża wydajności zapytania tak bardzo, jak niektórzy mogą myśleć, szczególnie w dobrze zindeksowanych tabelach. Warto to mieć na uwadze.

Pytanie 18

W języku PHP do zmiennej a wprowadzono tekst, w którym wielokrotnie występuje fraza Kowalski. Jakim poleceniem można jednocześnie zamienić wszystkie pojawienia się słowa Kowalski na słowo Nowak w zmiennej a?

A. $a = str_rep('Kowalski', 'Nowak', $a);
B. $a = str_replace('Nowak', 'Kowalski', $a);
C. $a = str_replace('Kowalski', 'Nowak', $a);
D. $a = str_replace('Nowak', 'Kowalski');
Odpowiedź $a = str_replace('Kowalski', 'Nowak', $a); jest poprawna, ponieważ wykorzystuje funkcję str_replace, która jest standardowym narzędziem w PHP do zamiany wszystkich wystąpień określonego ciągu znaków na inny w danym tekście. W tym przypadku zamieniamy słowo 'Kowalski' na 'Nowak' wewnątrz zmiennej $a. Funkcja str_replace działa w sposób, który jest zgodny z dobrymi praktykami programistycznymi, pozwalając na prostą i efektywną manipulację łańcuchami tekstowymi. Przykład zastosowania: jeśli $a = 'Jan Kowalski jest programistą. Kowalski ma doświadczenie.', to po wykonaniu powyższego polecenia zmienna $a stanie się 'Jan Nowak jest programistą. Nowak ma doświadczenie.'. Warto pamiętać, że str_replace jest wrażliwa na wielkość liter, co oznacza, że najlepiej stosować ją w kontekście, gdzie zapisy są jednolite. Dodatkowo, funkcja ta zwraca nowy łańcuch znaków, co oznacza, że oryginalna zmienna $a pozostaje niezmieniona, co jest zgodne z zasadami programowania funkcyjnego.

Pytanie 19

Jakie wyrażenie logiczne w języku PHP weryfikuje, czy zmienna1 znajduje się w przedziale jednostronnie domkniętym <-5, 10)?

A. $zmienna1 >= -5 || $zmienna1 < 10
B. $zmienna1 >= -5 && $zmienna1 < 10
C. $zmienna1 <= -5 && $zmienna1 < 10
D. $zmienna1 <= -5 || $zmienna1 < 10
Wyrażenie logiczne $zmienna1 >= -5 && $zmienna1 < 10 jest poprawne, ponieważ precyzyjnie określa przedział jednostronnie domknięty <-5, 10). W tym przypadku, aby zmienna1 należała do tego przedziału, musi być większa lub równa -5 oraz jednocześnie mniejsza od 10. To oznacza, że -5 jest włączone do przedziału, podczas gdy 10 już nie. W praktycznym użyciu tego wyrażenia, można je zastosować np. w walidacji danych wejściowych w formularzach, gdzie wartość powinna mieścić się w określonym zakresie. Dobre praktyki programistyczne sugerują, aby zawsze jasno określać zakresy wartości, aby unikać błędów logicznych, co jest szczególnie istotne w obszarze programowania warunkowego. Dodatkowo, proponowane wyrażenie jest również zgodne z zasadami czytelności kodu, ułatwiając jego późniejsze zrozumienie przez innych programistów.

Pytanie 20

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

A. tablicy z 50 elementami o składowych strukturalnych
B. klasy z 50 elementami typu tablicowego
C. struktury z 50 elementami o składowych typu tablicowego
D. tablicy z 50 elementami o składowych typu łańcuchowego
Wybór tablicy 50 elementów o składowych strukturalnych jest prawidłowy ze względu na potrzebę przechowywania złożonych danych o uczniach. W tym przypadku, każdy element tablicy powinien reprezentować jednego ucznia i zawierać jego imię, nazwisko oraz średnią ocen. Struktura danych, taka jak struktura, pozwala na grupowanie różnych typów danych w jeden obiekt, co jest zgodne z dobrymi praktykami programowania w językach strukturalnych. Przykładowo, w języku C można zadeklarować strukturę dla ucznia w następujący sposób: `struct Uczen { char imie[50]; char nazwisko[50]; float srednia; };`. Następnie można utworzyć tablicę 50 elementów tej struktury: `struct Uczen uczniowie[50];`. Stosowanie struktur w tym kontekście ułatwia zarządzanie danymi i zwiększa czytelność kodu, co jest szczególnie ważne w przypadku projektów wymagających łatwego dostępu do różnych atrybutów obiektów. Używanie dobrze zdefiniowanych struktur danych jest zgodne z zasadami programowania obiektowego, nawet w językach proceduralnych, i przyczynia się do lepszej organizacji kodu oraz jego skalowalności.

Pytanie 21

Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu funkcji

A. console.error()
B. console.count()
C. console.warn()
D. console.log()
Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym.

Pytanie 22

Kaskadowe arkusze stylów są tworzone w celu

A. zwiększenia szybkości ładowania grafiki na stronie internetowej
B. określenia metod formatowania elementów na stronie internetowej
C. ulepszenia nawigacji dla użytkownika
D. dodania na stronie internetowej treści tekstowych
Wybór odpowiedzi, które nie dotyczą głównego celu kaskadowych arkuszy stylów, pokazuje niepełne zrozumienie ich funkcji. Kaskadowe arkusze stylów nie są narzędziem do ułatwienia użytkownikowi nawigacji po stronie, ponieważ nawigacja jest głównie zrealizowana przez HTML oraz JavaScript, a CSS jej nie wspiera w kontekście strukturalnym. CSS wpływa na wygląd elementów, ale nie definiuje samej struktury nawigacyjnej. Z kolei CSS nie służy do dodawania treści tekstowych na stronach internetowych. Treści są wprowadzane poprzez HTML, a CSS jedynie stylizuje te elementy. Tworzenie interfejsu użytkownika to nie tylko kwestia estetyki, lecz także odpowiedniego zarządzania danymi i treściami, co jest zadaniem HTML. Jeśli chodzi o przyspieszanie wyświetlania grafiki, CSS nie jest odpowiedzialny za optymalizację czasu ładowania obrazów; ten aspekt leży w gestii technik takich jak kompresja obrazów, użycie odpowiednich formatów oraz technik lazy loading. CSS skupia się na stylizacji elementów, a nie na ich wydajności. W związku z powyższym, każda z tych odpowiedzi pomija kluczową funkcję CSS, jaką jest definiowanie stylów dla elementów, co jest jego głównym celem.

Pytanie 23

Jakie oznaczenie w języku PHP wskazuje na komentarz wieloliniowy?

A. //
B. /* */
C. #
D. <!-- -->
Istnieje wiele błędnych przekonań na temat różnych typów komentarzy w PHP, co może prowadzić do nieprawidłowych wniosków. Opcja // definiuje komentarze jednoliniowe, które są używane do dokumentowania pojedynczych linijek kodu i są ignorowane do końca danej linii. Ten typ komentarzy jest przydatny do krótkich notatek, ale nie nadaje się do bardziej skomplikowanych opisów, które wymagają kilku linii. Z kolei <!-- --> jest składnią HTML i nie jest akceptowany w PHP jako sposób definiowania komentarzy. Używanie tej składni w plikach PHP może prowadzić do nieprzewidywalnych błędów, szczególnie jeśli kod jest interpretowany w kontekście serwera. Ostatnia opcja, #, jest również poprawnym sposobem na definiowanie komentarzy jednoliniowych w PHP, ale nie spełnia wymagań dla komentarzy wieloliniowych, które można zdefiniować wyłącznie przy użyciu /* */. Dobrą praktyką jest stosowanie odpowiednich typów komentarzy w zależności od kontekstu, aby zapewnić przejrzystość i zrozumiałość kodu dla innych programistów. Ważne jest zrozumienie, jakie składnie są dozwolone w danym języku programowania, aby unikać potencjalnych błędów w kodzie oraz nieporozumień w zespole projektowym.

Pytanie 24

W programowaniu istnieje tylko jeden typ danych, który może przyjąć tylko dwie wartości. Jak nazywa się ten typ?

A. tablicowy
B. ciągowy
C. logiczy
D. znakowy
Wybór zmiennej łańcuchowej jako odpowiedzi jest błędny, ponieważ typ ten może przechowywać wiele różnych wartości w postaci sekwencji znaków. Łańcuchy znakowe są używane do reprezentacji tekstu, co czyni je znacznie bardziej złożonymi niż tylko dwie możliwości. Z kolei zmienna znakowa (char) również nie spełnia tego kryterium, gdyż pozwala na reprezentację pojedynczego znaku, a nie ogranicza się do dwóch specyficznych wartości. Typ tablicowy z kolei jest strukturą danych, która może przechowywać wiele elementów jednego typu, co również wykracza poza ograniczenia dwóch wartości. Typowe błędy myślowe prowadzące do takich wniosków to pomylenie typów danych z ich możliwościami przechowywania oraz funkcjami. Warto zrozumieć, że w programowaniu każdy typ zmiennej ma swoje specyficzne zastosowanie, a typ logiczny jest wyjątkowy w tym, że jego zastosowanie opiera się na prostocie i jednoznaczności w podejmowaniu decyzji. Zrozumienie tych różnic jest kluczem do efektywnego programowania oraz do tworzenia kodu, który jest nie tylko funkcjonalny, ale również łatwy do analizy i konserwacji w przyszłości.

Pytanie 25

W JavaScript metoda getElementById odnosi się do

A. klasy zdefiniowanej w CSS
B. znacznika HTML o wskazanym id
C. znacznika HTML o podanej nazwie klasy
D. zmiennej numerycznej
Metoda getElementById w JavaScript jest kluczowym narzędziem do interakcji z modelowaniem DOM (Document Object Model). Służy do uzyskiwania dostępu do pojedynczego elementu HTML na podstawie jego atrybutu id, co jest zgodne z zasadą unikalności identyfikatorów w dokumencie HTML. Dzięki temu programiści mogą stosunkowo łatwo manipulować pojedynczymi elementami, co jest istotne w dynamicznych aplikacjach internetowych. Przykładem zastosowania tej metody może być zmiana tekstu w elemencie <h1>, gdzie używamy getElementById('myHeader').innerHTML = 'Nowy nagłówek';. Zgodnie z dobrymi praktykami, powinno się unikać używania zduplikowanych id w dokumencie, aby zapewnić, że metoda ta zawsze zwraca jeden, a nie wiele elementów. Warto również pamiętać, że w przypadku braku elementu o podanym id, metoda zwróci null, co powinno być uwzględnione w logice aplikacji, aby uniknąć błędów. Użycie tej metody jest standardem w programowaniu JavaScript i stanowi fundament dla wielu bardziej zaawansowanych technik manipulacji DOM.

Pytanie 26

Dla celu strony internetowej stworzono grafikę rysunek.jpg o wymiarach: szerokość 200 px, wysokość 100 px. Aby zaprezentować tę grafikę jako miniaturę – pomniejszoną z zachowaniem proporcji, można użyć znacznika

A. <img src="/rysunek.png" style="width: 25px; height:50px;">
B. <img src="/rysunek.png">
C. <img src="/rysunek.png" style="width: 50px">
D. <img src="/rysunek.png" style="width: 25px; height:25px;">
Wybór innych opcji, takich jak <img src="/rysunek.png" style="width: 25px; height:50px;"> czy <img src="/rysunek.png" style="width: 25px; height:25px;"> prowadzi do nieproporcjonalnego wyświetlenia obrazu, co skutkuje jego zniekształceniem. Ustalenie zarówno szerokości, jak i wysokości w stylach CSS sprawia, że obrazek jest zmuszony do dopasowania się do tych wymiarów, co narusza jego naturalne proporcje. To podejście jest niezgodne z zaleceniami dotyczącymi responsywności, które sugerują, aby ograniczać się do jednego wymiaru, co pozwala drugiemu na automatyczne dostosowanie. Typowym błędem jest przyjęcie, że podanie obu wymiarów w pikselach zawsze przyniesie optymalny efekt wizualny, co jest mylące i może prowadzić do złego doświadczenia użytkownika. Zniekształcenie obrazów nie tylko obniża estetykę strony, ale także może wpływać na jej użyteczność oraz SEO. Dobrą praktyką jest również używanie atrybutów 'alt' w znacznikach obrazów, aby poprawić dostępność i SEO, co nie zostało uwzględnione w żadnej z opcji. Warto także zauważyć, że stosowanie odpowiednich formatów obrazów i ich optymalizacja pod względem rozmiaru pliku są kluczowe dla przyspieszenia ładowania strony.

Pytanie 27

Co należy zweryfikować przed wykonaniem kopii zapasowej bazy danych, aby było możliwe jej późniejsze odtworzenie w poprawny sposób?

A. prawa dostępu do serwera bazy danych
B. spójność bazy danych
C. możliwość udostępnienia bazy danych
D. poprawność składni zapytań
Zarządzanie bazą danych wymaga zrozumienia, że przed wykonaniem kopii bezpieczeństwa kluczowe jest zapewnienie, że baza danych jest spójna. Wybór odpowiedzi dotyczącej możliwość udostępnienia bazy danych wskazuje na niezrozumienie podstawowych zasad operacji na bazie danych. Udostępnienie bazy może wiązać się z ryzykiem w przypadku, gdy użytkownicy wprowadzają dane w czasie wykonywania kopii zapasowej, co może prowadzić do niespójności. Prawa dostępu do serwera bazy danych są istotne, ale bez upewnienia się, że dane są spójne, nawet najlepiej zabezpieczona baza może okazać się problematyczna podczas przywracania. Poprawność składni zapytań jest także ważna, jednak nie ma bezpośredniego wpływu na jakość kopii zapasowej, ponieważ może być temat dotyczący operacji wykonywanych na danych, a nie samego stanu bazy. Spójność danych zapewnia, że wszystkie zależności i relacje między danymi są nienaruszone, co jest kluczowe, aby móc polegać na kopii zapasowej jako wiarygodnym źródle danych. Przykładem błędnego rozumienia może być sytuacja, w której administrator baz danych, koncentrując się na dostępności, ignoruje mechanizmy zapewniające integralność danych, co prowadzi do nieprzewidzianych błędów przy próbie ich odtworzenia.

Pytanie 28

Określ rezultat działania skryptu napisanego w języku PHP ```PHP "Perl",14=>"PHP",20=>"Python",22=>"Pike"); asort($tablica); print("

");
print_r($tablica);
print("
"); ?> ```

Ilustracja do pytania
A. rys. D
B. rys. A
C. rys. B
D. rys. C
Niepoprawne odpowiedzi wynikają z błędnego rozumienia działania funkcji asort() w PHP. Funkcja ta sortuje tablicę według wartości, a nie kluczy, co oznacza, że wartości są uporządkowane alfabetycznie lub numerycznie w zależności od ich typu. W przypadku tablic asocjacyjnych klucze pozostają przypisane do swoich oryginalnych wartości co jest kluczowe dla utrzymania integralności danych. Błędne podejścia do sortowania często wynikają z założenia że sortowanie dotyczy kluczy co prowadzi do błędnych wyników. Innym typowym błędem jest założenie że sortowanie zmienia klucze na indeksy numeryczne co nie jest prawdą dla funkcji asort(). Wiedza o tym jak PHP traktuje typy danych i jak przeprowadza operacje sortowania jest niezbędna do efektywnego programowania w tym języku. Należy pamiętać że asort() różni się od sort() gdyż ta druga funkcja faktycznie zmienia klucze na indeksy numeryczne co może prowadzić do utraty istotnych danych identyfikacyjnych w tablicach asocjacyjnych.

Pytanie 29

Kod JavaScript aktywowany przez kliknięcie przycisku ma na celu ``` ```

A. pokazać obraz2.gif obok obraz1.gif
B. zmienić styl obrazu o id i1
C. zamienić obraz1.gif na obraz2.gif
D. ukryć obraz2.gif
Kod JavaScript w przedstawionym przykładzie został zaprogramowany w celu zamiany źródła obrazu na nowe po naciśnięciu przycisku. Gdy użytkownik kliknie na przycisk, wywołuje on funkcję, która zmienia atrybut 'src' elementu <img> z 'obraz1.gif' na 'obraz2.gif'. Jest to typowy sposób manipulacji elementami DOM w JavaScript, co jest fundamentalnym elementem programowania interakcji na stronach internetowych. Takie podejście jest zgodne z najlepszymi praktykami w zakresie programowania front-end, ponieważ pozwala na dynamiczne zmiany na stronie bez konieczności przeładowania całej strony. Przykładem praktycznego zastosowania może być użycie tego typu kodu w aplikacjach webowych, gdzie użytkownik może interaktywnie zmieniać widok, na przykład w galeriach zdjęć, grach przeglądarkowych czy aplikacjach do nauki. Zrozumienie tej techniki jest kluczowe dla każdego programisty front-end, ponieważ efektywne wykorzystanie JavaScript do manipulacji DOM jest jednym z podstawowych narzędzi w budowie nowoczesnych aplikacji webowych.

Pytanie 30

Wskaż, który paragraf jest sformatowany przy użyciu podanego stylu CSS:

p {
    font-family: serif;
    background-color: Teal;
    color: white;
    font-style: italic;
}
Ilustracja do pytania
A. Paragraf 4
B. Paragraf 3
C. Paragraf 2
D. Paragraf 1
Analizując poszczególne paragrafy można zauważyć różnice w ich formatowaniu które nie odpowiadają przedstawionemu stylowi CSS. Przykładowo paragraf 1 choć posiada ciemnozielone tło i biały tekst nie jest zapisany kursywą co jest jednym z kluczowych wymogów stylu font-style: italic. Kolejną różnicą jest użyta czcionka która nie odpowiada krojowi szeryfowemu font-family: serif. Paragraf 2 wykazuje jeszcze większe odstępstwa od stylu CSS. Jego tło jest białe co nie zgadza się z background-color: Teal a także tekst ma inny kolor niż White. Dodatkowo choć tekst jest kursywą to użyta czcionka nie jest szeryfowa. Paragraf 3 mimo że posiada ciemnozielone tło i biały tekst nie jest napisany kursywą co jest wymagane przez font-style: italic a także tekst jest pogrubiony co nie wynika z przedstawionego stylu CSS. Typowe błędy pojawiające się przy analizie stylów CSS wynikają często z nieprawidłowego zrozumienia właściwości oraz braku uwagi na szczegóły takie jak krój czcionki czy szczegółowe ustawienia kolorów tła i tekstu. Właściwe rozumienie specyfikacji CSS oraz umiejętność rozpoznawania subtelnych różnic w stylach jest kluczowa w projektowaniu stron internetowych zgodnych z najlepszymi praktykami branżowymi.

Pytanie 31

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. td, th { 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 32

Jak nazywa się element systemu zarządzania treścią, który jest bezpośrednio odpowiedzialny za wygląd strony internetowej?

A. Wtyczka w systemie WordPress lub dodatek w systemie Joomla!
B. Kokpit w systemie WordPress lub panel administracyjny w systemie Joomla!
C. Widżet w systemie WordPress lub moduł w systemie Joomla!
D. Motyw w systemie WordPress lub szablon w systemie Joomla!
Wybranie kokpitu w systemie WordPress lub panelu administracyjnego w systemie Joomla! jako kluczowego elementu odpowiedzialnego za wygląd witryny jest błędne, ponieważ te interfejsy służą przede wszystkim do zarządzania treścią i konfiguracji strony, a nie do jej wizualizacji. Kokpit WordPressa oraz panel Joomla! to narzędzia służące do dodawania, edytowania i organizowania treści, zarządzania użytkownikami oraz różnymi funkcjami witryny. Użytkownicy często mylą te dwa pojęcia, nie zdając sobie sprawy, że odpowiedzialność za estetykę witryny leży w zupełnie innym miejscu. Wtyczki i dodatki, jak sugerowane w kolejnej odpowiedzi, są narzędziami rozszerzającymi funkcjonalność serwisu, ale nie wpływają bezpośrednio na jego wygląd. Wtyczki mogą zmieniać sposób, w jaki treści są prezentowane, ale to motywy i szablony decydują o ich ostatecznym układzie wizualnym. Widżety i moduły, które również były wymienione w odpowiedziach, są elementami interfejsu, które mogą wpływać na rozmieszczenie zawartości w obrębie istniejącego motywu, ale nie są odpowiedzialne za podstawowy wygląd. W związku z tym błędne jest przypisywanie wyglądu witryny do narzędzi administracyjnych czy rozszerzeń, które w rzeczywistości pełnią inne funkcje. Zrozumienie różnicy pomiędzy tymi terminami jest kluczowe dla efektywnego zarządzania i projektowania stron internetowych.

Pytanie 33

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

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

Pytanie 34

Wynikiem działania poniższej pętli for w przedstawionym kodzie PHP jest wyświetlenie liczb:

<?php
   for($i=5;$i>1;$i-=2)
       echo ($i%2)." ";
?>
A. 1 0 1
B. 1 1
C. 1 0 1 0
D. 1 0
Poprawna odpowiedź to 1 1, ponieważ analizując przedstawioną pętlę for, zaczynamy od zmiennej $i, która ma wartość 5. Pętla będzie działać tak długo, jak wartość $i jest większa od 1. W każdym kroku $i jest zmniejszane o 2, co oznacza, że w kolejnych iteracjach przyjmuje wartości 5, 3, a następnie 1. Wartości te są poddawane operacji modulo 2. Operacja modulo zwraca resztę z dzielenia, która dla liczb nieparzystych (5 i 3) wynosi 1 oraz dla liczby parzystej (0) wynosi 0. Zatem, w pierwszej iteracji, $i = 5, 5 % 2 = 1, a w drugiej iteracji, $i = 3, 3 % 2 = 1. Ostatecznie, pętla nie wykonuje się, gdy $i = 1, ponieważ warunek $i > 1 nie jest już spełniony. W rezultacie, poprawnym wynikiem działania tego fragmentu kodu jest wyświetlenie dwóch wartości 1. Przykład zastosowania takiej konstrukcji można znaleźć w sytuacjach, w których chcemy przetworzyć kolekcję liczb i wyodrębnić ich parzystość lub nieparzystość, co jest powszechną operacją w programowaniu.

Pytanie 35

W tabeli psy znajdują się kolumny: imię, rasa, telefon_właściciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby znaleźć numery telefonów właścicieli psów, które zostały zaszczepione przed 2015 rokiem?

A. SELECT psy FROM rok_szczepienia < 2015
B. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia > 2015
C. SELECT imię, rasa FROM psy WHERE rok_szczepienia > 2015
D. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia < 2015
Wybór odpowiedzi, które nie są zgodne z wymaganiami pytania, zazwyczaj wynika z nieprawidłowego zrozumienia zarówno struktury zapytania SQL, jak i kontekstu problemu. Na przykład, pierwsza odpowiedź sugeruje użycie 'SELECT psy FROM rok_szczepienia < 2015', co jest błędne, ponieważ polecenie to nie zawiera kolumn, które chcemy wybrać, a także nieprawidłowo formułuje warunek. SQL wymaga, aby w klauzuli SELECT wskazać konkretne kolumny, a nie całą tabelę. Kolejna odpowiedź, wskazująca na 'SELECT imię, rasa FROM psy WHERE rok_szczepienia > 2015', jest również błędna, ponieważ zamiast telefonów właścicieli, wybiera dane dotyczące imion i ras psów oraz zawiera niewłaściwy warunek dotyczący roku szczepienia. Z kolei ostatnia odpowiedź zawiera błąd w interpretacji, wybierając telefony właścicieli psów, które były szczepione po 2015 roku, co jest sprzeczne z założeniem problemu. Tego typu błędy myślowe, jak pomylenie kryteriów wyboru lub wybór nieodpowiednich kolumn, mogą prowadzić do nieprawidłowych wyników w bazach danych. Aby skutecznie korzystać z SQL, kluczowe jest zrozumienie, jak funkcjonują podstawowe konstrukcje zapytań oraz jak poprawnie stosować warunki filtrowania w kontekście wymaganych rezultatów. Właściwe umiejscowienie warunków w klauzuli WHERE oraz precyzyjne definiowanie wybieranych kolumn to fundamenty, które każdy, kto pracuje z bazami danych, powinien opanować.

Pytanie 36

Jak można utworzyć kopię zapasową bazy danych MySQL?

A. agregowaniem danych
B. eksportowaniem bazy
C. importowaniem bazy
D. modyfikowaniem danych
Eksport bazy danych MySQL to proces, który pozwala na tworzenie kopii zapasowych danych znajdujących się w bazie. Narzędzie do eksportu, takie jak mysqldump, umożliwia nie tylko zapisanie danych w formacie SQL, ale także w innych formatach, takich jak CSV czy JSON. Eksport jest kluczowy w przypadku migracji danych pomiędzy różnymi środowiskami baz danych lub w sytuacji, gdy zachodzi potrzeba odzyskania danych po awarii. Proces ten można zautomatyzować, korzystając z harmonogramów zadań (cron), co zapewnia regularne tworzenie kopii zapasowych. Zgodnie z najlepszymi praktykami, zaleca się, aby eksportować bazy danych regularnie oraz przechowywać kopie zapasowe w bezpiecznych lokalizacjach, aby zminimalizować ryzyko utraty danych. Standardy takie jak ISO 27001 podkreślają znaczenie odpowiednich procedur zarządzania danymi, w tym tworzenia kopii zapasowych, co czyni eksportu kluczowym elementem strategii ochrony danych w organizacjach.

Pytanie 37

W języku JavaScript następujący zapis: var napis1 = new napisy); ma na celu

A. stworzenie instancji obiektu napis1 klasy napisy
B. wywołanie metody dla obiektu napisy
C. zadeklarowanie zmiennej napis1 oraz wywołanie funkcji, w której argumentem jest napis1
D. stworzenie nowej klasy napis1
W podanym kodzie JavaScript mamy do czynienia z próbą utworzenia obiektu klasy 'napisy'. Operacja 'new' w JavaScript jest używana do instancjowania obiektów z funkcji konstrukcyjnych, które pełnią rolę klas. Przykład działania: jeśli mamy zdefiniowaną funkcję konstrukcyjną 'function napisy() { this.text = ''; }', to użycie 'var napis1 = new napisy();' stworzy nowy obiekt 'napis1', który będzie posiadał właściwość 'text'. Warto zwrócić uwagę, że 'napisy' musi być zdefiniowane jako funkcja konstrukcyjna, aby mogło być użyte w kontekście 'new'. Zrozumienie tego mechanizmu jest kluczowe w programowaniu obiektowym w JavaScript, gdzie klasy i obiekty odgrywają fundamentalną rolę w organizacji kodu. Aby lepiej zrozumieć działanie tego fragmentu, warto zapoznać się z dokumentacją dotyczącą obiektów i funkcji w JavaScript, co znajduje się w standardzie ECMAScript. Przykładowy kod ilustrujący tworzenie obiektu mógłby wyglądać tak: 'var napis1 = new napisy(); console.log(napis1.text);'.

Pytanie 38

Kiedy należy użyć kwerendy SELECT DISTINCT, aby wybrać rekordy?

A. pogrupowane.
B. tak, aby w wskazanej kolumnie nie powtarzały się wartości.
C. obecne w bazie tylko raz.
D. uporządkowane w kolejności malejącej lub rosnącej.
Kwerenda SELECT DISTINCT jest używana w SQL do zwracania unikalnych rekordów z określonej kolumny lub kolumn. Głównym celem tej kwerendy jest eliminacja duplikatów z wyników zapytania, co jest szczególnie przydatne w sytuacjach, gdy interesuje nas uzyskanie listy unikalnych wartości, na przykład nazwisk pracowników w firmie, których można znaleźć w tabeli „Pracownicy”. Dzięki zastosowaniu DISTINCT, wynik zapytania dostarczy tylko różne nazwiska, eliminując powtarzające się wystąpienia. W kontekście dobrych praktyk w projektowaniu baz danych, korzystanie z DISTINCT pozwala na efektywniejsze analizowanie danych oraz lepsze zrozumienie struktury informacji w tabelach. Użycie SELECT DISTINCT może również pomóc w optymalizacji zapytań, szczególnie w rozbudowanych bazach danych, gdzie występowanie duplikatów może prowadzić do zafałszowania wyników analiz. Przykład praktyczny to zapytanie: SELECT DISTINCT kraj FROM Klienci, które zwróci wszystkie różne kraje, w których znajdują się klienci, co jest kluczowe w analizach geolokalizacyjnych.

Pytanie 39

Jakie jest polecenie SQL, które pozwala na usunięcie bazy danych o nazwie firma?

A. ALTER firma DROP DATABASE;
B. DROP DATABASE firma;
C. ALTER firma DROP;
D. DROP firma;
Odpowiedź 'DROP DATABASE firma;' jest poprawnym poleceniem SQL, które służy do usunięcia bazy danych o nazwie 'firma'. Używanie polecenia 'DROP DATABASE' jest standardową praktyką w SQL, która zapewnia usunięcie całej struktury bazy danych, łącznie z wszystkimi tabelami, widokami, procedurami składowanymi oraz danymi. Jest to istotne w kontekście zarządzania bazami danych, gdyż przed wykonaniem takiego polecenia zaleca się wykonanie kopii zapasowej, aby uniknąć utraty danych. W praktyce, administratorzy baz danych używają tego polecenia w sytuacjach, gdy zachodzi potrzeba całkowitego usunięcia bazy danych, np. w przypadku dekompozycji projektu, migracji do innej bazy lub po zakończeniu testów w środowisku deweloperskim. Standardy SQL, takie jak ANSI SQL, definiują 'DROP DATABASE' jako część zestawu operacji DDL (Data Definition Language), co podkreśla jego znaczenie w kontekście strukturalnym zarządzania danymi.

Pytanie 40

Wykres słupkowy należy zapisać w formacie rastrowym tak, aby jakość jego krawędzi była jak najlepsza, również dla dużego powiększenia, unikając efektu aliasingu. Do tego celu można zastosować format

A. SVG
B. CDR
C. JPEG
D. PNG
Wybierając PNG do zapisu wykresu słupkowego w formacie rastrowym, podjąłeś technicznie uzasadnioną decyzję. PNG to format grafiki rastrowej, który umożliwia zapis obrazów bezstratnie, co jest kluczowe, kiedy zależy nam na zachowaniu ostrych krawędzi – szczególnie przy wykresach, gdzie szczegółowość i czytelność mają pierwszorzędne znaczenie. W odróżnieniu od JPEG, PNG nie stosuje kompresji stratnej, przez co nie pojawiają się charakterystyczne rozmycia czy artefakty wokół linii i tekstów. Z mojego doświadczenia, jeśli chcesz potem wykres powiększać, PNG sprawdza się znakomicie – szczególnie przy plikach przygotowanych w wysokiej rozdzielczości (np. 300 dpi lub więcej). Co ważne, PNG obsługuje przezroczystość i bez problemu radzi sobie z płaskimi kolorami oraz prostymi gradientami, więc wyniki są bardzo przewidywalne. Warto wiedzieć, że format ten jest od lat szeroko akceptowany zarówno w druku, jak i na stronach internetowych. W branży najczęściej poleca się PNG do materiałów edukacyjnych, raportów czy prezentacji, gdy liczy się precyzja i wyrazistość. To taki standardowy wybór dla wszelkich diagramów, infografik czy schematów. Oczywiście, jeśli wykres byłby w pełni wektorowy, najlepszym wyjściem byłby SVG, ale jeśli ma być rastrowy – PNG jest bez dwóch zdań najlepszy. Nawet przy dużym powiększeniu krawędzie pozostają ostre, a efekt aliasingu praktycznie nie występuje, jeśli odpowiednio dobierzesz rozdzielczość wyjściową.