Wyniki egzaminu

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

Egzamin niezdany

Wynik: 10/40 punktów (25,0%)

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

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

Ilustracja do pytania
A. Wiele do wielu
B. Jeden do jednego
C. Jeden do wielu
D. Wiele do jednego
Zrozumienie typów relacji w bazach danych jest kluczowym aspektem projektowania efektywnych i zrównoważonych systemów informatycznych. Jednym z najczęstszych błędów jest mylenie relacji wiele do wielu z innymi rodzajami relacji, takimi jak jeden do wielu lub jeden do jednego. Relacja jeden do wielu oznacza, że jeden rekord w jednej tabeli jest powiązany z wieloma rekordami w innej tabeli, co w przypadku Tabela1 i Tabela3 nie jest stosowne, ponieważ wymagałoby to bezpośredniego połączenia między tymi tabelami bez użycia tabeli pośredniej. Z kolei relacja jeden do jednego implikuje, że każdy rekord w jednej tabeli odpowiada dokładnie jednemu rekordowi w drugiej tabeli, co ogranicza elastyczność danych i nie pasuje do struktur gdzie występuje wiele powiązań, jak w przypadku szkół, gdzie wielu uczniów może mieć zajęcia z tym samym nauczycielem. Wreszcie, relacja wiele do jednego jest odwrotnością relacji jeden do wielu, gdzie wiele rekordów w jednej tabeli odpowiada jednemu rekordowi w drugiej tabeli, co również nie znajduje odzwierciedlenia w przedstawionym schemacie, jako że nie opisuje wzajemnych powiązań uczniów i nauczycieli. Zrozumienie i prawidłowe zastosowanie relacji wiele do wielu eliminuje redundancję danych i umożliwia efektywne przechowywanie oraz przetwarzanie informacji w systemach zarządzania bazami danych. Kluczem do sukcesu jest tutaj wykorzystanie tabel pośrednich do prawidłowego mapowania powiązań między tabelami, co jest standardem w dobrych praktykach projektowania baz danych.

Pytanie 2

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: left; } aside { float: left; }
B. aside {float: left; }
C. nav { float: right; } section { float: right; }
D. nav { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 3

W przedstawionej regule CSS ```h1 {color : blue}``` h1 reprezentuje

A. deklarację
B. klasę
C. selektor
D. wartość
Wybierając błędną odpowiedź odnośnie reguły CSS `h1 {color: blue}`, można zauważyć, że czasami nie rozumiemy dobrze podstawowych terminów w CSS. Deklaracja to nie tylko selektor, ale wszystkie właściwości i wartości, które zmieniają dany element. Przykład `blue` to tylko kolor, nie jest selektorem. Klasa to inny rodzaj selektora, który zaczyna się od kropki i pozwala stylizować wiele elementów naraz, a nie tylko pojedyncze tagi HTML. Problemem często jest mylenie tych pojęć i nieznajomość ich definicji w CSS. Musisz wiedzieć, że selektory wskazują, do jakich elementów stosujemy style, a inne rzeczy, jak klasy czy różne wartości, mają inne zadania. Lepiej zrozumieć te różnice, bo to podstawa, żeby efektywnie pracować z CSS i tworzyć strony www. Fajnie byłoby także poczytać dokumentację CSS, żeby lepiej poznać różne selektory i ich zastosowanie w stylizacji.

Pytanie 4

Czy automatyczna weryfikacja właściciela witryny dostępnej przez protokół HTTPS jest możliwa dzięki

A. danym whois
B. kluczom prywatnym
C. informacjom kontaktowym na stronie
D. certyfikatowi SSL
Wybór niepoprawnych odpowiedzi można wytłumaczyć poprzez zrozumienie, jak działa weryfikacja właściciela strony internetowej. Dane kontaktowe na stronie mogą być przydatne dla użytkowników, ale nie mają one żadnego wpływu na automatyczną weryfikację tożsamości właściciela domeny przez protokół HTTPS. Oferowanie takich danych może zwiększyć zaufanie użytkowników, jednak nie jest to standardowy sposób potwierdzania tożsamości. Klucze prywatne są elementem kryptografii używanym w procesie szyfrowania danych, ale same w sobie nie służą do weryfikacji właściciela strony. Klucz prywatny jest używany do podpisywania cyfrowego certyfikatu, a jego posiadanie przez właściciela witryny jest jednym z warunków uzyskania certyfikatu SSL, ale nie zastępuje automatycznej weryfikacji. Dane whois, chociaż mogą zawierać informacje o właścicielu domeny, są publicznie dostępne i nie są używane w procesie weryfikacji HTTPS. Właściciele stron mogą zarejestrować swoje domeny z fikcyjnymi danymi kontaktowymi, co czyni je mało wiarygodnym źródłem informacji o rzeczywistym właścicielu. Dlatego wszystkie te odpowiedzi nie są związane z procesem automatycznej weryfikacji, który opiera się na certyfikatach SSL.

Pytanie 5

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

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

Pytanie 6

W języku Javascript obiekt typu array służy do przechowywania

A. wielu wartości tylko liczbowych
B. wielu wartości różnego rodzaju
C. wielu wartości tylko tekstowych
D. wielu wartości lub funkcji
Obiekt typu array w języku JavaScript jest niezwykle elastycznym narzędziem, które pozwala na przechowywanie wielu wartości dowolnego typu. Arrays mogą zawierać liczby, stringi, obiekty, a nawet inne tablice, w ramach jednego zbioru. Taka struktura danych jest bardzo przydatna w programowaniu, szczególnie w kontekście pracy z danymi, gdyż umożliwia tworzenie kolekcji o zmiennej długości, które można łatwo przetwarzać. Na przykład, w aplikacjach webowych można wykorzystać tablice do grupowania danych z formularzy lub przechowywania wyników zapytań do bazy danych. Dzięki metody takim jak .push(), .pop() czy .map(), programiści mogą łatwo manipulować danymi w tablicach. Ważnym aspektem jest również to, że tablice są obiektami w JavaScript, co oznacza, że można do nich przypisywać dodatkowe właściwości i metody, zwiększając ich funkcjonalność. Przykładem zaawansowanego zastosowania tablic jest wykorzystanie ich do implementacji algorytmów, takich jak sortowanie czy przeszukiwanie danych. Zgodnie z dokumentacją MDN, tablice w JavaScript są dynamiczne, co oznacza, że ich rozmiar może być dostosowywany w czasie działania programu, co czyni je bardzo wszechstronnym narzędziem w pracy programisty.

Pytanie 7

Czy automatyczna weryfikacja właściciela witryny korzystającej z protokołu HTTPS jest możliwa dzięki

A. danym kontaktowym zamieszczonym na stronie
B. certyfikatowi SSL
C. prywatnym kluczom
D. informacjom whois
Wybór kluczy prywatnych jako odpowiedzi na pytanie o automatyczną weryfikację właściciela strony jest mylący, ponieważ klucze te stanowią część infrastruktury kryptograficznej, ale nie są instrumentem do weryfikacji tożsamości właściciela serwisu. Klucz prywatny jest używany do szyfrowania i podpisywania danych, co jest krytyczne dla bezpieczeństwa komunikacji, ale sam w sobie nie jest narzędziem do potwierdzania, że dany serwis internetowy należy do konkretnego właściciela. Z drugiej strony, dane WHOIS są publicznie dostępnymi informacjami o rejestracji domeny, które mogą zawierać informacje o właścicielu, jednak nie są one weryfikowane w czasie rzeczywistym przez protokoły związane z HTTPS. To oznacza, że mogą być one nieaktualne lub niepoprawne, co czyni je niewystarczającymi do potwierdzenia tożsamości witryny. Odpowiedzi dotyczące danych kontaktowych na stronie również nie odpowiadają na pytanie o automatyczną weryfikację, ponieważ takie dane mogą być łatwo manipulowane lub niedokładne. W kontekście dobrych praktyk i standardów branżowych, kluczowym narzędziem do zagwarantowania integralności oraz autentyczności serwisu jest certyfikat SSL, który przeprowadza rygorystyczne procesy weryfikacyjne przed jego wydaniem, zapewniając w ten sposób realną ochronę dla użytkowników i właścicieli witryn. Izolując kwestie techniczne, automatyczna weryfikacja właściciela strony, która opiera się na zaufanych certyfikatach, jest fundamentalnym elementem budowania bezpieczeństwa w sieci.

Pytanie 8

W CSS jednostką miary, która jest wyrażona w punktach edytorskich, oznaczana jest symbolem

A. em
B. pt
C. in
D. px
Jednostki 'em', 'px' oraz 'in' nie są związane z punktami edytorskimi, co czyni je nieodpowiednimi w tym kontekście. 'em' jest jednostką miary, która jest zależna od rozmiaru czcionki elementu nadrzędnego. To oznacza, że wartość '1em' odpowiada rozmiarowi czcionki zastosowanemu w danym kontekście. Używanie 'em' jest korzystne w przypadku responsywnego projektowania, ponieważ pozwala na skalowanie elementów w zależności od rozmiaru tekstu. Z kolei 'px', czyli piksel, to jednostka miary, która jest niezależna od rozmiaru czcionki i oznacza stałą wartość wyrażoną w pikselach. W świecie web designu, 'px' jest często preferowane ze względu na swoją przewidywalność i prostotę. Ostatnią z jednostek, 'in', oznacza cale i jest rzadko wykorzystywana w CSS, ponieważ jest bardziej związana z drukiem i rzadko stosowana w kontekście nawigacji webowej. W kontekście druku takie jednostki jak 'in' mogą być użyteczne, jednak w projektowaniu stron internetowych ich zastosowanie jest ograniczone. Każda z wymienionych jednostek ma swoje zastosowanie, ale nie można ich stosować zamiennie z 'pt', która jest jednoznacznie związana z punktami edytorskimi.

Pytanie 9

W formularzu umieszczono kontrolki do podania imienia oraz nazwiska. Który z atrybutów odpowiada za wyświetlanie sugestii w polu kontrolki, która znika, gdy użytkownik zaczyna wpisywanie wartości?

<label for="imie">Imię: </label> 
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. title
B. value
C. placeholder
D. for
Wybór atrybutów takich jak "for", "title" czy "value" w miejsce "placeholder" odzwierciedla powszechne nieporozumienia dotyczące roli różnych atrybutów w HTML. Atrybut "for" jest używany w tagu <label> do powiązania etykiety z odpowiednią kontrolką, co wspomaga dostępność, ale nie ma wpływu na to, co dzieje się w polu tekstowym. Użycie "title" również jest mylne; ten atrybut dostarcza dodatkowe informacje o elemencie poprzez dymek podpowiedzi, jednak nie wpływa na zachowanie wprowadzenia w formularzu. Atrybut "value" z kolei określa wartość domyślną pola, co również nie jest związane z podpowiedzią, ponieważ ta informacja pozostaje widoczna, nawet gdy użytkownik nie zacznie wpisywać danych. Prawidłowe zrozumienie funkcji tych atrybutów jest kluczowe dla tworzenia efektywnych i przyjaznych użytkownikowi formularzy. W wielu przypadkach, nieprawidłowe użycie tych atrybutów prowadzi do zamieszania i frustracji użytkowników, co podkreśla znaczenie znajomości standardów i dobrych praktyk w projektowaniu interfejsów. Warto również pamiętać, że dobry projekt formularza nie tylko ułatwia wprowadzanie danych, ale także wpływa na ogólne wrażenia użytkownika z korzystania z aplikacji lub strony internetowej.

Pytanie 10

Jak nazywa się metoda tworząca obiekt w języku PHP?

A. __create
B. __construct
C. __new
D. __open
Odpowiedzi, które nie są poprawne, nie odnoszą się do właściwego sposobu definiowania konstruktorów w PHP. Wyrażenie __new sugeruje mechanizm związany z tworzeniem instancji obiektów, jednak nie jest ono używane jako konstruktor. W PHP __new jest używane w kontekście wzorców projektowych, ale nie jest to metoda konstrukcyjna, lecz metodą statyczną związaną z prototypowaniem obiektów, co wykracza poza standardowy sposób inicjalizacji obiektów. Z kolei __open oraz __create nie są metodami rozpoznawanymi przez PHP jako mające jakiekolwiek znaczenie w kontekście konstruktorów. __open mogłoby sugerować otwarcie zasobu, co nie ma związku z inicjalizacją obiektu klasy, a __create jest nieodpowiednim terminem, gdyż PHP nie definiuje żadnej metody o takiej nazwie. Użycie tych nazw w kontekście konstruktorów wprowadza zamieszanie i może prowadzić do błędów w kodzie oraz nieporozumień dotyczących działania obiektów. Właściwe użycie __construct jako konstruktorów w PHP jest kluczowe dla zapewnienia prawidłowego działania aplikacji, a niewłaściwe nazewnictwo może prowadzić do problemów technicznych i ograniczeń funkcjonalnych.

Pytanie 11

Program debugger służy do

A. analizy wykonywanego programu w celu lokalizacji błędów.
B. interpretacji kodu w wirtualnej maszynie Java.
C. tłumaczenia kodu zapisanego językiem wyższego poziomu na język maszynowy.
D. analizy kodu źródłowego w celu odnalezienia błędów składniowych.
W tym pytaniu łatwo się pomylić, bo kilka pojęć brzmi podobnie, ale dotyczy zupełnie innych narzędzi. Debugger nie służy ani do interpretacji kodu, ani do kompilacji, ani do sprawdzania samej składni. To narzędzie do analizy programu w trakcie jego działania. Czyli nie patrzymy tylko na kod źródłowy, ale na to, jak program faktycznie się wykonuje krok po kroku. Interpretacja kodu w wirtualnej maszynie Java to zadanie interpretera/JVM. Maszyna wirtualna Javy pobiera bajtkod (plik .class) i go wykonuje, optymalizuje, czasem kompiluje JIT-em do kodu maszynowego. To zupełnie inna warstwa niż debugowanie. Debugger może się podłączyć do JVM, ale sam z siebie nie interpretuje kodu. To typowe pomylenie roli środowiska uruchomieniowego z narzędziem diagnostycznym. Analiza kodu źródłowego w celu znalezienia błędów składniowych też nie jest zadaniem debuggera. Błędy składniowe wychwytuje kompilator albo linter, ewentualnie statyczna analiza kodu. Debugger działa dopiero, gdy program się kompiluje i da się go uruchomić. Jeśli są błędy składni, program w ogóle nie wystartuje, więc nie ma co debugować. Częsty błąd myślowy jest taki, że „narzędzie do błędów” musi ogarniać wszystkie rodzaje błędów. W praktyce dzieli się to na: składniowe (kompilator), logiczne i wykonania (debugger), a także problemy jakościowe (analiza statyczna, testy). Tłumaczenie kodu z języka wysokiego poziomu na maszynowy to z kolei klasyczna rola kompilatora. Kompilator generuje kod wynikowy (np. plik .exe czy .class), a debugger ten gotowy program tylko obserwuje i steruje jego wykonaniem. Moim zdaniem warto jasno rozdzielić te pojęcia: kompilator kompiluje, interpreter wykonuje, a debugger pomaga nam zrozumieć i naprawić działający program, śledząc jego zachowanie, zmienne i przepływ sterowania. To pomaga unikać mieszania narzędzi, co później bardzo ułatwia naukę bardziej zaawansowanych technologii.

Pytanie 12

Jaką czynność należy wykonać przed przystąpieniem do tworzenia kopii zapasowej danych w bazie MySQL?

A. określenie systemu kodowania znaków w bazie
B. weryfikacja, czy baza działa wystarczająco efektywnie
C. przyznanie uprawnień do przeglądania bazy dla Administratora
D. sprawdzenie integralności bazy oraz ewentualna jej naprawa
Zdefiniowanie systemu kodowania znaków w bazie, chociaż istotne dla prawidłowego przechowywania i przetwarzania danych, nie jest bezpośrednio związane z czynnością przygotowawczą przed wykonaniem kopii bezpieczeństwa. Właściwe kodowanie znaków jest kluczowe dla zapewnienia, że wszystkie znaki są poprawnie interpretowane przez bazę danych, jednakże nie ma wpływu na integralność samych danych w momencie tworzenia backupu. Nadanie uprawnień do przeglądania bazy dla Administratora, choć ważne z punktu widzenia bezpieczeństwa i zarządzania dostępem, również nie jest czynnością, która zapewnia prawidłowe działanie operacji backupowych. Uprawnienia powinny być zarządzane na etapie projektowania bazy danych, a nie bezpośrednio przed tworzeniem kopii zapasowej. Sprawdzenie wydajności bazy danych jest istotnym elementem zarządzania systemem, jednak nie ma bezpośredniego wpływu na integralność danych. Optymalizacja wydajności ma na celu poprawę czasu odpowiedzi i efektywności zapytań, ale nie gwarantuje, że dane są poprawne, co czyni to krokiem drugorzędnym w kontekście bezpieczeństwa danych. Wszystkie te czynności mogą być częścią ogólnej strategii zarządzania bazą danych, ale nie powinny zastępować kluczowego sprawdzenia integralności przed wykonaniem kopii bezpieczeństwa.

Pytanie 13

W systemie baz danych MySQL komenda CREATE USER pozwala na

A. stworzenie użytkownika oraz przypisanie mu uprawnień do bazy
B. zmianę hasła dla już istniejącego użytkownika
C. zobaczenie danych o aktualnym użytkowniku
D. stworzenie nowego użytkownika
Niemniej jednak, inne wymienione odpowiedzi nie są poprawne w kontekście polecenia CREATE USER. W szczególności, polecenie to nie służy do modyfikowania haseł istniejących użytkowników. Aby zmienić hasło dla już istniejącego konta, należy użyć polecenia ALTER USER lub SET PASSWORD, które są dedykowane do tego celu. Takie podejście pozwala na bezpieczne aktualizowanie danych uwierzytelniających bez konieczności tworzenia nowego użytkownika, a także zapewnia większą kontrolę nad polityką haseł. Kolejnym niepoprawnym stwierdzeniem jest, że CREATE USER wyświetla informacje o istniejącym użytkowniku. W rzeczywistości, aby uzyskać szczegółowe informacje o użytkownikach, należy skorzystać z zapytań SELECT na tabeli mysql.user, gdzie przechowywane są dane dotyczące kont użytkowników. Polecenie CREATE USER nie ma funkcji przeglądania ani raportowania. Ostatnia fałszywa sugestia dotyczy możliwości nadania uprawnień bezpośrednio w momencie tworzenia użytkownika. Choć polecenie CREATE USER tworzy konto, to rzeczywiste przyznawanie uprawnień jest zadaniem dla polecenia GRANT, które należy uruchomić po utworzeniu konta. Tylko poprzez oddzielne nadanie uprawnień można precyzyjnie kontrolować, jakie operacje nowy użytkownik może wykonywać na danych, co jest kluczowym elementem zarządzania bezpieczeństwem w bazach danych.

Pytanie 14

Fragment kodu SQL wskazuje, że klucz obcy

Ilustracja do pytania
A. stanowi odniesienie do siebie samego
B. jest ustawiony na kolumnie obiekty
C. jest obecny w tabeli obiekty
D. wiąże się z kolumną imiona
Klucz obcy w SQL nie umieszcza się w kolumnie obiekty, ani nie jest referencją do samego siebie. Główną funkcją klucza obcego jest zapewnienie, że dane w jednej tabeli są zgodne z danymi w innej tabeli, co jest podstawą utrzymania integralności referencyjnej w bazie danych. Po pierwsze, klucz obcy nie odnosi się do samego siebie, ponieważ jego celem jest wskazywanie na klucze główne lub unikalne kolumny w innej tabeli. Samoistne odniesienie nie miałoby sensu w kontekście zapewniania spójności danych. Po drugie, klucz obcy nie jest fizycznie umieszczony w jakiejkolwiek kolumnie w tabeli obiekty. Zamiast tego, jego definicja w kodzie SQL wskazuje, że istnieje logiczne powiązanie między kolumnami dwóch tabel. Istnieje również mylne założenie, że klucz obcy może być ustawiony na dowolną kolumnę w tabeli, na przykład w tabeli obiekty. W rzeczywistości klucz obcy musi być zdefiniowany w kontekście relacji między dwiema tabelami, a jego zadaniem jest wskazywanie na kolumnę w tabeli docelowej, która powinna zawierać wartości odpowiadające wartościom w kolumnie źródłowej. Takie niejasne rozumienie klucza obcego może prowadzić do błędów w projektowaniu struktury baz danych, co w dłuższej perspektywie może skutkować problemami z integralnością danych i wydajnością zapytań do bazy danych. Zrozumienie poprawnego zastosowania kluczy obcych jest kluczowe dla skutecznego zarządzania relacyjnymi bazami danych, dlatego ważne jest unikanie tych typowych błędów przy ich implementacji.

Pytanie 15

Który styl CSS ma najwyższy priorytet ważności w zastosowaniu do elementów dokumentu HTML?

A. Wewnętrzny arkusz stylów.
B. Zewnętrzny arkusz stylów.
C. Styl lokalny.
D. Styl importowany do wewnętrznego arkusza.
W tym zagadnieniu kluczowe jest zrozumienie, jak działa kaskada CSS i co faktycznie oznacza „priorytet ważności”. Wiele osób intuicyjnie zakłada, że skoro zewnętrzny arkusz stylów jest głównym źródłem stylowania projektu, to właśnie on ma największą moc. Inni z kolei myślą, że wewnętrzny arkusz w <style> w dokumencie HTML jest ważniejszy, bo jest bliżej elementu. Spotyka się też przekonanie, że style importowane przez @import do wewnętrznego arkusza są traktowane jako coś „bardziej aktualnego”. Wszystkie te intuicje mijają się z tym, jak faktycznie działa specyfikacja CSS. Z perspektywy przeglądarki istnieją trzy główne źródła stylów autora strony: zewnętrzne pliki .css, wewnętrzne style w sekcji <style> oraz style lokalne w atrybucie style na konkretnym elemencie. Do tego dochodzą jeszcze style domyślne przeglądarki i ewentualne style użytkownika, ale w typowym projektowaniu stron WWW skupiamy się na stylach autora. Kaskada bierze pod uwagę kilka kroków: najpierw ważność (czy jest !important), potem pochodzenie, następnie specyficzność selektora, a na końcu kolejność deklaracji. Jeśli porównujemy odpowiedzi w tym pytaniu, wszystkie dotyczą stylów autora bez !important, więc decyduje właśnie źródło i specyficzność. Zewnętrzny arkusz stylów i wewnętrzny arkusz w <style> mają w praktyce ten sam poziom „źródła”, różnią się tylko kolejnością ładowania i tym, że reguły z <style> zwykle nadpisują wcześniejsze z plików .css, jeśli mają taką samą specyficzność. Style importowane przez @import traktowane są jakby były wczytane wcześniej, więc często mają nawet mniejszy wpływ, bo są nadpisywane przez późniejsze reguły. Natomiast styl lokalny, czyli atrybut style na elemencie, ma znacznie wyższą specyficzność i to on wygrywa, o ile nie pojawiają się reguły z !important. Typowy błąd myślowy polega na mieszaniu „miejsca zapisania” z „ważnością w kaskadzie”: to, że plik zewnętrzny jest głównym nośnikiem stylów w projekcie, nie oznacza, że ma największy priorytet. Dobra praktyka front-endowa wręcz odradza nadużywanie stylu lokalnego, ale to, że coś jest niezalecane, nie zmienia faktu, że technicznie ma najwyższy priorytet spośród podanych opcji. Warto o tym pamiętać, zwłaszcza przy debugowaniu sytuacji, w których styl „nie działa” – bardzo często blokuje go właśnie jakiś inline style, który został dodany ręcznie lub przez JavaScript.

Pytanie 16

Jak brzmi nazwa edytora, który wspiera proces tworzenia stron internetowych i którego działanie można określić w polskim tłumaczeniu słowami: widzisz to, co otrzymujesz?

A. VISUAL EDITOR
B. WEB STUDIO
C. IDE
D. WYSIWYG
IDE, czyli Integrated Development Environment, to zintegrowane środowisko programistyczne, które oferuje narzędzia dla programistów do pisania, testowania i debugowania kodu. IDE zazwyczaj skupia się na językach programowania i wymaga od użytkownika znajomości takich języków jak C++, Java czy Python, co znacznie różni się od podejścia WYSIWYG, które ma na celu umożliwienie edycji treści bez potrzeby pisania kodu. Wybór IDE zamiast edytora WYSIWYG może prowadzić do błędnych wniosków dotyczących procesu tworzenia stron internetowych, ponieważ programiści i twórcy treści mają różne potrzeby i umiejętności. WEB STUDIO to termin, który zazwyczaj odnosi się do kompleksowych narzędzi do tworzenia stron internetowych, ale niekoniecznie oznacza edytor WYSIWYG. Niektóre z tych narzędzi mogą wymagać znajomości kodu, co również nie pasuje do koncepcji WYSIWYG. VISUAL EDITOR to termin ogólny, który może odnosić się do różnych typów edytorów, ale nie jest ściśle związany z ideą WYSIWYG. Pominięcie tego aspektu może prowadzić do mylnych wyobrażeń o możliwościach i funkcjonalności tych narzędzi. Dlatego ważne jest, aby zrozumieć różnice między tymi pojęciami i znać ich zastosowanie w praktyce. W przeciwnym razie można łatwo wpaść w pułapkę myślenia, że wszystkie narzędzia do tworzenia treści są sobie równe, co jest dalekie od prawdy.

Pytanie 17

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

A. zweryfikuje spójność danej tabeli
B. sprawdzi spójność konkretnej tabeli i naprawi uszkodzone dane
C. przeprowadzi kontrolę spójności bazy danych i wykona kopię zapasową
D. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
Odpowiedzi, które stwierdzają, że polecenie DBCC CHECKDB sprawdza spójność określonej tabeli, są wynikiem nieporozumienia dotyczącego funkcji tego narzędzia. DBCC CHECKDB działa na poziomie bazy danych, a nie pojedynczych tabel, co oznacza, że jego celem jest ocena integralności całej struktury bazy danych. Przykładowo, niektóre użytkownicy mogą mylić CHECKDB z poleceniem CHECKTABLE, które rzeczywiście sprawdza spójność pojedynczych tabel. Inna błędna koncepcja występuje w odpowiedziach sugerujących, że polecenie wykonuje kopię bezpieczeństwa – w rzeczywistości DBCC CHECKDB nie tworzy kopii zapasowych, a jego celem jest identyfikacja problemów, a nie ich rozwiązanie poprzez archiwizację danych. Warto także zaznaczyć, że chociaż DBCC CHECKDB może naprawić uszkodzone indeksy, nie jest to jego jedyny zakres działania, co czyni błędnym ograniczenie jego funkcjonalności tylko do tego aspektu. Typowe błędy myślowe obejmują także nieznajomość roli, jaką odgrywają indeksy w bazach danych oraz ich wpływu na wydajność. Właściwe zrozumienie działania DBCC CHECKDB i jego opcji naprawczych jest kluczowe dla skutecznego zarządzania bazą danych i zapewnienia jej stabilności.

Pytanie 18

Zamieszczony kod w języku PHP

Ilustracja do pytania
A. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite
B. określa tablicę z sześcioma wartościami
C. jest niepoprawny, nieznany operator =>
D. definiuje tablicę z trzema wartościami
W przedstawionym kodzie PHP definiowana jest tablica asocjacyjna. Jest to typ tablicy, która pozwala na użycie łańcuchów znaków jako kluczy, nie ograniczając się jedynie do liczb całkowitych. Twierdzenie, że operator '=>' jest nieznany, jest błędne. Operator ten jest kluczowym elementem składni PHP, używanym do przypisywania wartości do kluczy w tablicach asocjacyjnych. Ponadto twierdzenie, że indeksy tablicy mogą być tylko liczbami całkowitymi, nie jest prawdziwe dla tablic asocjacyjnych, które są powszechnie używane w PHP do tworzenia bardziej czytelnych i zorganizowanych struktur danych. Tego typu tablice są przydatne wszędzie tam, gdzie dane mają bardziej strukturalny charakter, jak w przypadku danych użytkowników. Pogląd, że tablica definiuje sześć wartości, jest błędny, ponieważ każda para klucz-wartość stanowi pojedynczą jednostkę w tablicy, a nie oddzielne elementy. Częstym błędem jest myślenie o każdej wartości w tablicy jako osobnym elemencie, pomijając fakt, że klucz i wartość tworzą integralną parę. W praktycznym zastosowaniu znajomość i właściwe wykorzystanie tablic asocjacyjnych w PHP znacząco poprawia efektywność pisania i zarządzania kodem oraz jego zrozumienie przez innych programistów.

Pytanie 19

Czego nie należy robić, aby zabezpieczyć serwer bazy danych przed atakami hakerów?

A. defragmentacja dysków.
B. aktywacja zapory.
C. używanie skomplikowanych haseł do bazy.
D. blokowanie portów związanych z bazą danych.
Włączenie zapory sieciowej jest istotnym krokiem w zabezpieczaniu serwera bazy danych. Zapora działa jako filtr, który kontroluje ruch przychodzący i wychodzący, blokując potencjalnie szkodliwe połączenia, co jest kluczowe w kontekście ochrony przed atakami DDoS oraz nieautoryzowanym dostępem. Ponadto stosowanie złożonych haseł jest fundamentalnym elementem bezpieczeństwa, jako że proste hasła mogą być łatwo złamane przez ataki typu brute-force. Wdrożenie polityki silnych haseł, które zawierają kombinacje liter, cyfr oraz symboli, znacząco zwiększa poziom ochrony dostępu do bazy danych. Blokowanie portów to kolejna ważna praktyka; poprzez zamykanie portów, które nie są używane przez serwer bazy danych, znacznie ograniczamy możliwości ataków, ponieważ wiele złośliwych działań opiera się na próbie skanowania otwartych portów w celu znalezienia luk w zabezpieczeniach. Zrozumienie tych aspektów jest kluczowe dla wszystkich administratorów baz danych, którzy muszą dbać o integralność i bezpieczeństwo danych. Ignorowanie tych praktyk w imię nieistotnych działań, takich jak defragmentacja, może prowadzić do poważnych naruszeń bezpieczeństwa, co podkreśla znaczenie stosowania znanych i sprawdzonych metod ochrony w środowisku IT.

Pytanie 20

W SQL klauzula DISTINCT w poleceniu SELECT spowoduje, że otrzymane dane

A. zostaną uporządkowane
B. będą spełniały dany warunek
C. nie będą zawierały powtórzeń
D. będą zgrupowane według wskazanego pola
Niepoprawne odpowiedzi na to pytanie często wynikają z nieporozumienia dotyczącego podstawowych funkcji, jakimi dysponuje SQL. Klauzula DISTINCT ma jedynie na celu usunięcie duplikatów z wyników zapytania, co oznacza, że powinna być używana jedynie w kontekście potrzeby uzyskania unikalnych wartości. Odpowiedzi sugerujące, że DISTINCT grupuje dane, są mylące, ponieważ do grupowania danych służy klauzula GROUP BY, która nie tylko wydziela unikalne rekordy, ale także umożliwia ich agregację i analizę pod kątem określonych kryteriów. Twierdzenie, że DISTINCT sortuje dane, również jest błędne, ponieważ sortowanie osiąga się za pomocą klauzuli ORDER BY, która porządkuje wyniki według zadanych kryteriów. W przypadku stwierdzenia, że DISTINCT spełnia określony warunek, należy zrozumieć, że to nie jest jego funkcja; zamiast tego warunki w zapytaniach SQL wprowadza się za pomocą klauzuli WHERE. W praktyce, zrozumienie właściwego zastosowania DISTINCT jest kluczowe dla efektywnego korzystania z SQL, ponieważ niewłaściwe użycie może prowadzić do nieodpowiednich wyników i nieefektywności w zapytaniach. Dlatego ważne jest, aby pamiętać o różnicach między tymi klauzulami i umieć odpowiednio je stosować w kontekście zapytań, aby uzyskać pożądane rezultaty.

Pytanie 21

Zachowanie integralności encji w bazie danych będzie miało miejsce, jeżeli między innymi

A. dla każdej tabeli zostanie ustanowiony klucz główny
B. każdej kolumnie przypisany zostanie typ danych
C. każdy klucz główny będzie miał odpowiadający mu klucz obcy w innej tabeli
D. klucz główny zawsze będzie liczbą całkowitą
Utworzenie klucza głównego dla każdej tabeli w bazie danych jest fundamentalnym krokiem w zapewnieniu integralności encji. Klucz główny jest unikalnym identyfikatorem rekordu w tabeli, co oznacza, że nie może się powtarzać i nie może mieć wartości NULL. Dzięki temu każdy wpis w tabeli można jednoznacznie zidentyfikować, co jest kluczowe dla zarządzania danymi i ich integralności. Przykładowo, w bazie danych klientów, klucz główny może być numerem identyfikacyjnym klienta, co pozwala na łatwe i efektywne wyszukiwanie, aktualizowanie oraz usuwanie danych. Stosowanie kluczy głównych jest zgodne z zasadami normalizacji baz danych, które mają na celu eliminację redundancji i zapewnienie spójności danych. W praktyce wiele systemów zarządzania bazami danych (DBMS) wymaga zadeklarowania klucza głównego podczas tworzenia tabeli, co podkreśla znaczenie tego elementu w architekturze baz danych.

Pytanie 22

Aby obraz wstawiony na stronę internetową mógł dostosować się automatycznie do wymiarów ekranu, na którym jest wyświetlany, konieczne jest

A. ustawienie jego szerokości w wartościach procentowych
B. ustawienie jednego z jego wymiarów w pikselach
C. niezmienianie obu jego wymiarów za pomocą stylów CSS
D. ustawienie obu jego rozmiarów w pikselach
Ustawienie wymiarów obrazu w pikselach ogranicza jego elastyczność, co prowadzi do nieidealnego wyświetlania na różnych urządzeniach. Obrazy o stałych wymiarach mogą nie zmieścić się na ekranach o mniejszych rozmiarach, co skutkuje koniecznością przewijania w poziomie lub zniekształceniem obrazu, gdy przeglądarka jest zmniejszana. Ponadto, ustawienie jednego z wymiarów w pikselach również nie rozwiązuje problemu responsywności, ponieważ drugi wymiar nadal będzie stały, co może prowadzić do nieproporcjonalnego wyświetlania. Nie modyfikowanie obu wymiarów stylami CSS neguje możliwości dostosowania obrazów do zmieniających się rozmiarów ekranów, co jest istotnym aspektem nowoczesnego web designu. Praktyczna implementacja responsywnych zdjęć wymaga przemyślenia koncepcji elastyczności, co obejmuje użycie CSS, aby zapewnić optymalne wyświetlanie obrazów na wszystkich urządzeniach. Użytkownicy powinni być świadomi, że dobrą praktyką jest stosowanie technik takich jak media queries oraz CSS Flexbox, co pozwala na precyzyjne dostosowywanie layoutu do wymagań urządzenia. Podsumowując, podejście to nie tylko wpływa na estetykę strony, ale również na jej funkcjonalność i dostępność, co jest kluczowe w obecnych czasach, gdy użytkownicy korzystają z szerokiej gamy urządzeń.

Pytanie 23

Delegacja domeny to

A. zmiana rejestratora domeny.
B. utrata okresu ważności domeny z możliwością odnowienia jej.
C. umieszczenie informacji o zewnętrznych serwerach, które obsługują stronę.
D. zmiana nazwy domeny.
W temacie domen bardzo łatwo pomylić kilka pojęć, bo wszystko dzieje się w podobnych panelach administracyjnych i na pierwszy rzut oka wygląda podobnie. Delegacja domeny nie ma jednak nic wspólnego ze zmianą jej nazwy. Zmiana nazwy oznacza po prostu rejestrację zupełnie innej domeny, np. zamiast moja-firma.pl kupujesz moja-firmka.pl. Technicznie to są dwa różne wpisy w rejestrze, a delegacja zawsze dotyczy jednej, konkretnej zarejestrowanej już nazwy i tego, na jakie serwery DNS jest ona „wskazana”. Częsty błąd myślowy to też łączenie delegacji z przeniesieniem domeny do innego rejestratora. Transfer domeny polega na zmianie firmy, która zarządza Twoją usługą domenową (fakturowanie, panel, obsługa klienta). Możesz przenieść domenę do innego rejestratora bez zmiany delegacji, jak i zmienić delegację bez transferu. To są dwie niezależne operacje, choć użytkownicy często je mylą, bo wykonują je w podobnym momencie, np. przy zmianie hostingu. Kolejna rzecz to okres ważności domeny. Utrata ważności oznacza po prostu wygaśnięcie domeny, czasem z okresem ochronnym, w którym można ją jeszcze odnowić. To też nie jest delegacja. To kwestia opłacenia kolejnego okresu rozliczeniowego u rejestratora i statusu domeny w rejestrze (active, expired, redemption itp.). Delegacja natomiast dotyczy warstwy DNS, czyli tego, gdzie świat ma szukać informacji technicznych o domenie. Te błędne skojarzenia biorą się zwykle z tego, że użytkownik widzi w jednym miejscu: datę ważności, przycisk transferu i pola z serwerami DNS, więc wrzuca to wszystko do jednego worka. W rzeczywistości dobra praktyka jest taka, żeby traktować te obszary osobno: osobno zarządzanie własnością i okresem ważności domeny, osobno wybór rejestratora, a osobno właśnie delegację na odpowiednie serwery DNS, które obsługują stronę, pocztę i inne usługi powiązane z nazwą domenową.

Pytanie 24

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

<h6>CSS</h6>
<p>Kaskadowe arkusze stylów (<b>ang. <i>Cascading Style Sheets</b></i>)<br>to język służący ...</p>
A. Znacznik br nie został prawidłowo zamknięty
B. Znacznik zamykający /b jest niezgodny z zasadą zagnieżdżania
C. Znacznik h6 nie jest używany w HTML5
D. Znacznik br nie powinien znajdować się wewnątrz znacznika p
Znacznik br w języku HTML5 może być stosowany samodzielnie i nie wymaga dodatkowego zamykania. Jest to znacznik pusty, który służy do wstawiania przerw w tekście i nie ma żadnych treści wewnętrznych. Jest szeroko używany i całkowicie dopuszczalny w ramach standardu HTML5. Użycie go wewnątrz znacznika p nie jest błędem; br jest wykorzystywany do łamania linii w akapitach i jest często stosowany w celach formatowania tekstu. W przypadku znacznika <h6>, jest on jak najbardziej częścią HTML5, służąc do definiowania nagłówków o najmniejszej ważności w hierarchii nagłówków. Zastosowanie wszystkich sześciu poziomów nagłówków (<h1> do <h6>) jest zgodne ze standardami, a każdy z nich ma swoje specyficzne zastosowanie w strukturze dokumentu. Dlatego też odpowiedzi sugerujące, że znacznik br musi być zamknięty lub że h6 nie jest częścią HTML5, są błędne i wynikają z niezrozumienia lub nieaktualnej wiedzy na temat standardów HTML. Prawidłowa konstrukcja dokumentu HTML i znajomość specyfikacji pozwalają na tworzenie semantycznie poprawnych i dobrze działających stron WWW.

Pytanie 25

Formularz przesyła informacje do pliku skrypt.php po naciśnięciu przycisku oznaczonego jako "WYŚLIJ". Wskaż właściwą definicję formularza.

Ilustracja do pytania
A. Skrypt 2
B. Skrypt 3
C. Skrypt 4
D. Skrypt 1
W formularzu HTML do wysłania danych do określonego skryptu należy użyć atrybutu action w znaczniku form co określa adres URL do którego zostaną przesłane dane. Ponadto kluczowy jest atrybut type elementu input który powinien być ustawiony na submit aby umożliwić wysłanie danych po naciśnięciu przycisku. Skrypt 4 jest poprawny ponieważ zawiera zarówno poprawną definicję action="skrypt.php" jak i właściwe określenie typu przycisku jako submit. Taka konstrukcja jest zgodna ze standardami HTML5 i jest powszechnie stosowana w tworzeniu interaktywnych formularzy internetowych. Poprawne wysyłanie formularzy jest kluczowe w wielu aplikacjach webowych szczególnie w kontekście przesyłania danych użytkownika do serwera gdzie mogą być one przetwarzane lub przechowywane. Przy projektowaniu formularza ważne jest również uwzględnienie bezpieczeństwa danych używając metod takich jak POST zamiast GET co zapobiega wyciekom danych w adresie URL. Dobre praktyki obejmują także walidację po stronie klienta oraz serwera aby upewnić się że przesyłane informacje spełniają wymagane kryteria co minimalizuje ryzyko błędów i potencjalnych ataków."

Pytanie 26

Algorytm pokazany na ilustracji można zapisać w języku JavaScript przy użyciu instrukcji

Ilustracja do pytania
A. var i = 0; do i = i + 2; while(i < 10)
B. for(i = 0; i > 10; i++)
C. var i = 0; while(i <= 10) i += 2
D. var i = 0; do i++; while(i > 10)
W przypadku odpowiedzi var i = 0; do i = i + 2; while(i < 10); błąd tkwi w zastosowaniu pętli do-while. Pętla do-while wykonuje blok kodu przynajmniej raz przed sprawdzeniem warunku, co może prowadzić do nieoczekiwanych wyników, jeśli warunek początkowy nie jest spełniony. Odpowiedź for(i = 0; i > 10; i++) zawiera niepoprawny warunek i > 10, co oznacza, że pętla nigdy się nie wykona, ponieważ warunek początkowy nie jest prawdziwy. Ostatnia odpowiedź var i = 0; do i++; while(i > 10); również wykorzystuje do-while, ale z nieprawidłowym warunkiem i > 10, przez co pętla wykona się tylko raz, gdy i zwiększy się na 1, co nie odpowiada przedstawionemu algorytmowi. Typowym błędem jest zastosowanie niewłaściwych warunków w pętlach, które mogą skutkować nieskończonymi iteracjami lub niewłaściwym zakresem przetwarzanych danych. Dobrze jest zawsze dokładnie analizować logikę warunków i struktur pętli, co pozwala na uniknięcie błędów logicznych i zapewnia poprawność działania kodu, zwłaszcza w kontekście iteracji i przetwarzania danych.

Pytanie 27

W bazie danych znajduje się tabela ksiazki, która zawiera pola: tytul, id_autora, data_wypoz oraz id_czytelnika. Co dzień generowany jest raport dotyczący książek wypożyczonych w danym dniu, który prezentuje tylko tytuły książek. Która z poniższych kwerend SQL będzie odpowiednia do utworzenia tego raportu?

A. SELECT * FROM ksiazki
B. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATE_NT_E()
C. SELECT tytul FROM ksiazki
D. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
Wybrana kwerenda SQL, czyli 'SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE();', jest poprawna, ponieważ precyzyjnie spełnia wymagania zadania. Kwerenda ta wybiera jedynie tytuły książek z tabeli 'ksiazki', które zostały wypożyczone w dniu, który odpowiada bieżącej dacie. Funkcja 'CURRENT_DATE()' zwraca datę systemową w formacie YYYY-MM-DD, co pozwala na prawidłowe porównanie z polem 'data_wypoz'. Takie podejście jest zgodne z dobrymi praktykami w zakresie analizy baz danych, gdzie minimalizowanie liczby zwracanych danych do niezbędnego minimum znacząco poprawia wydajność zapytań. W praktyce, taka kwerenda może być przydatna w systemach bibliotek, które generują codzienne raporty wypożyczeń, umożliwiając bibliotekarzom szybki dostęp do informacji o książkach, które były popularne danego dnia. Warto także pamiętać o możliwości używania dodatkowych filtrów, na przykład według konkretnego czytelnika, co zwiększa funkcjonalność raportu.

Pytanie 28

O obiekcie zdefiniowanym w języku JavaScript można stwierdzić, że zawiera

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: functon() { … }
}
A. dwie właściwości oraz jedną metodę
B. trzy właściwości
C. trzy metody
D. dwie metody oraz jedną właściwość
Odpowiedź, że obiekt w JavaScript ma dwie właściwości i jedną metodę, jest poprawna. Przykład obiektu `obiekt1` zawiera dwie właściwości: `x` i `y`, które są liczbowymi wartościami. Dodatkowo, metoda `wsp` jest poprawnie zdefiniowana jako funkcja, co czyni ją metodą obiektu. W praktyce obiekty w JavaScript służą do grupowania danych i funkcji, co jest przydatne w programowaniu obiektowym. Wprowadzenie do obiektów i ich właściwości oraz metod jest kluczowym elementem zrozumienia, jak JavaScript operuje na danych. Standardowe praktyki zalecają, aby metody były używane do definiowania zachowań obiektów, co jest zgodne z zasadami programowania zorientowanego obiektowo, gdzie obiekt jest zbiorem właściwości i metod, które operują na tych właściwościach. W kontekście dbałości o czystość kodu, warto zwrócić uwagę na stosowanie dobrej nazewnictwa dla metod i właściwości, co zwiększa czytelność i zrozumienie kodu. Przykładowo, jeśli `wsp` miała by reprezentować funkcję obliczającą współrzędne, dobrze by było, aby jej nazwa była bardziej opisowa, na przykład `obliczWspolrzedne`.

Pytanie 29

Jak można umieścić komentarz w kodzie PHP, używając odpowiednich symboli?

A. <? ... ?>
B. /? ... ?/
C. /* ... */
D. <!-- ... -->
Pierwsza z podanych opcji, używająca składni '/? ... ?/', nie jest poprawnym sposobem na tworzenie komentarzy w PHP. Taka składnia nie jest zgodna z żadnym standardowym formatem komentarzy w tym języku, co czyni ją nieaktywną i nieczytelną dla interpretera. Z kolei opcja z '<? ... ?>' jest oznaczeniem bloku PHP, który pozwala na wstawienie kodu PHP w plikach HTML, ale nie jest przeznaczona do tworzenia komentarzy. Komentarze w PHP nie są interpretowane w obrębie takich znaczników, a ich działanie jest całkowicie inne. Z kolei użycie znaku '<!-- ... -->' jest typowe dla HTML, a nie dla PHP. Chociaż takie komentarze są używane do wykluczania fragmentów kodu HTML, nie będą skuteczne w kodzie PHP, gdyż interpreter PHP ich nie zrozumie. W PHP stosujemy wyłącznie standardowe oznaczenia komentarzy, aby zapewnić, że kod będzie działał poprawnie oraz aby uniknąć błędów w interpretacji skryptu.

Pytanie 30

W celu stylizacji strony internetowej stworzono odpowiednie reguły. Reguły te będą stosowane tylko do wybranych znaczników (np. niektóre nagłówki, kilka akapitów). W tej sytuacji, aby zastosować styl do kilku wybranych znaczników, najlepiej będzie użyć

{ text-align: right; }
A. identyfikatora.
B. selektora akapitu.
C. pseudoklasy.
D. klasy.
Zastosowanie pseudoklas, identyfikatorów czy selektorów akapitów w sytuacji, gdy potrzebujemy przypisać ten sam styl do różnych elementów, nie jest efektywnym rozwiązaniem. Pseudoklasy, takie jak :hover, :focus czy :nth-child, służą do stylizacji elementów w szczególnych stanach lub według ich pozycji w dokumencie. Nie są one przeznaczone do grupowego przypisywania stylów do wielu elementów, przez co ich użycie w tym kontekście obniża elastyczność i powtarzalność kodu. Identyfikatory, chociaż mogą przypisać unikalny styl do konkretnego elementu, są ograniczone do jednego miejsca w dokumencie HTML. Oznacza to, że ich użycie jest nieefektywne w kontekście wielokrotnego stylizowania, co jest sprzeczne z zasadami semantycznego HTML i CSS. Selektor akapitu, z kolei, odnosi się do elementów <p> i pozwala na stylizację tych elementów w sposób globalny, jednak nie pozwala na precyzyjne dostosowanie stylów do wybranych akapitów w sposób, w jaki może to zrobić klasa. Właściwe zrozumienie koncepcji klas w CSS stanowi podstawę efektywnej stylizacji dokumentów HTML, a ich niewłaściwe zastąpienie innymi metodami może prowadzić do złożonych, mniej czytelnych i trudnych w zarządzaniu arkuszy stylów.

Pytanie 31

W jakim formacie powinien być zapisany obraz, aby mógł być wyświetlany na stronie internetowej z zachowaniem przezroczystości?

A. CDR
B. JPG
C. PNG
D. BMP
Wybór formatu JPG, BMP i CDR do zapisu obrazów na stronach internetowych, zwłaszcza w kontekście przezroczystości, może prowadzić do poważnych ograniczeń i problemów. Format JPG (JPEG) to kompresowany format stratny, co oznacza, że podczas zapisywania zdjęć dochodzi do utraty jakości, a także nie obsługuje przezroczystości. To sprawia, że nie nadaje się do grafik wymagających transparentnych obszarów. W praktyce, obrazy JPG są najczęściej używane do zdjęć, gdzie pełna gama kolorów jest istotna, a przezroczystość nie jest potrzebna. BMP (Bitmap) to format zapisu obrazów, który również nie wspiera przezroczystości, a ponadto generuje duże pliki, co jest nieefektywne w kontekście ładowania stron internetowych. Grafiki w formacie BMP są zwykle zbyt ciężkie, by być praktycznymi w środowisku webowym, gdzie priorytetem są szybkość ładowania i optymalizacja zasobów. Z kolei CDR to format pliku używany głównie w oprogramowaniu do grafiki wektorowej CorelDRAW. Chociaż może on być użyteczny w projektowaniu, nie jest standardowym formatem do publikacji w Internecie i nie obsługuje przezroczystości w sposób, który jest wymagany przez nowoczesne standardy webowe. Użytkownicy często popełniają błąd, zakładając, że każdy format obrazu nadaje się do wykorzystania w sieci, mimo że różne formaty mają różne zastosowania i ograniczenia. Wybór niewłaściwego formatu może skutkować gorszą jakością wizualną, dłuższymi czasami ładowania oraz niezgodnością z wymaganiami użytkowników i przeglądarek internetowych.

Pytanie 32

Jakie narzędzie jest używane do organizowania oraz przedstawiania danych z wielu rekordów w celu ich wydruku lub dystrybucji?

A. kwerenda
B. raport
C. formularz
D. makropolecenie
Raport to narzędzie, które umożliwia zgrupowanie i prezentowanie informacji z wielu rekordów, co jest kluczowe w kontekście analizy danych oraz podejmowania decyzji biznesowych. Tworzenie raportów pozwala na syntetyzowanie informacji, co sprawia, że są one bardziej zrozumiałe dla odbiorców. W praktyce raporty mogą być wykorzystywane do monitorowania wyników sprzedaży, analiz finansowych, badań rynkowych czy oceny efektywności działań marketingowych. Dzięki zastosowaniu narzędzi do raportowania, takich jak systemy Business Intelligence, możliwe jest generowanie szczegółowych zestawień oraz wizualizacji, które wspierają decyzje strategiczne. Dobre praktyki w zakresie raportowania obejmują jasne definiowanie celów raportu, dobór odpowiednich wskaźników KPI oraz zastosowanie wizualizacji danych, co pozwala na lepsze zrozumienie przedstawianych informacji. W kontekście standardów branżowych, raporty powinny być tworzone zgodnie z zasadami klarowności, precyzji i adekwatności, aby skutecznie odpowiadały na potrzeby użytkowników.

Pytanie 33

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. String (ciąg znaków)
B. Logicznego
C. Liczbowego
D. Nieokreślonego (undefined)
Odpowiedź 'String (ciąg znaków)' jest poprawna, ponieważ w języku JavaScript zmienna zadeklarowana za pomocą 'var x="true";' przechowuje wartość typu tekstowego. Wartość 'true' jest traktowana jako ciąg znaków, ponieważ jest umieszczona w cudzysłowie. JavaScript jest językiem dynamicznie typowanym, co oznacza, że typ zmiennej jest określany w momencie przypisania wartości. W praktyce, ciągi znaków są powszechnie używane w programowaniu webowym do reprezentacji danych, takich jak teksty, komunikaty, a także do przetwarzania informacji z formularzy. Dobre praktyki obejmują użycie cudzysłowów pojedynczych lub podwójnych do definiowania ciągów, a także unikanie mieszania typów, co może prowadzić do błędów. Ważne jest, aby zawsze być świadomym typu danych, z którymi pracujemy, aby uniknąć nieoczekiwanych wyników w kodzie. Zrozumienie, jak JavaScript interpretuje różne typy danych, jest kluczowe dla efektywnego programowania oraz debugowania aplikacji.

Pytanie 34

Funkcja phpinfo() umożliwia

A. uzyskanie danych o środowisku serwera, na którym działa PHP
B. rozpoczęcie wykonywania kodu w języku PHP
C. analizowanie kodu PHP w celu wykrycia błędów
D. sprawdzenie wartości zmiennych zastosowanych w kodzie PHP
Funkcja phpinfo() jest niezwykle użytecznym narzędziem w PHP, które pozwala deweloperom na uzyskanie szczegółowych informacji o środowisku pracy serwera. Dzięki temu, można dowiedzieć się o zainstalowanych rozszerzeniach PHP, wersji PHP, ustawieniach konfiguracyjnych, a także o systemie operacyjnym, na którym działa serwer. Przykładowo, wywołanie phpinfo(); w skrypcie PHP zwraca stronę zawierającą różnorodne informacje, takie jak wartości zmiennych konfiguracyjnych (np. memory_limit, upload_max_filesize), co jest nieocenione podczas optymalizacji aplikacji oraz rozwiązywania problemów. Ponadto, korzystanie z phpinfo() jest zgodne z dobrymi praktykami w programowaniu, ponieważ pomaga zrozumieć, w jakim środowisku działa aplikacja, co jest kluczowe przy jej rozwijaniu i testowaniu. Deweloperzy często używają tej funkcji w fazie debugowania, aby upewnić się, że wszystkie wymagane rozszerzenia są aktywne i poprawnie skonfigurowane, co może zapobiec wielu problemom podczas wdrożenia aplikacji na produkcję.

Pytanie 35

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

A. href
B. src
C. alt
D. link
Odpowiedzi, które wskazują na 'href', 'alt' lub 'link', nie są związane z funkcją atrybutu 'src' w znaczniku <img>. Atrybut 'href' jest stosowany głównie w znaczniku <a> (link), gdzie wskazuje adres URL, do którego prowadzi odnośnik. Mylne jest myślenie, że 'href' może być użyty w kontekście obrazów, ponieważ pełni zupełnie inną rolę. Natomiast 'alt' jest atrybutem, który opisuje obraz, co jest istotne dla dostępności, ale nie wskazuje lokalizacji pliku graficznego. Wybór 'alt' jako odpowiedzi wskazuje na nieporozumienie dotyczące jego celu, który nie polega na ustaleniu źródła obrazu, lecz na zapewnieniu tekstu alternatywnego. Atrybut 'link' z kolei nie istnieje w kontekście znaczników obrazów i może prowadzić do nieporozumień, ponieważ można go mylić z atrybutami związanymi z linkami do arkuszy stylów. W praktyce, zrozumienie funkcji każdego z tych atrybutów jest kluczowe dla tworzenia poprawnych i semantycznych stron WWW, co jest podstawą dobrych praktyk w web designie.

Pytanie 36

Program napisany w PHP ma na celu obliczenie średniej pozytywnych ocen ucznia w zakresie od 2 do 6.
Warunek selekcji ocen w pętli liczącej średnią powinien zawierać wyrażenie logiczne

A. $ocena > 2 or $ocena < 6
B. $ocena >= 2 and $ocena <= 6
C. $ocena >= 2 or $ocena <= 6
D. $ocena > 2 and $ocena < 6
Analiza pozostałych odpowiedzi ujawnia szereg nieporozumień dotyczących wykorzystania operatorów logicznych. W przypadku wyrażenia $ocena > 2 or $ocena < 6, pojawia się problem z interpretacją, ponieważ ta konstrukcja pozwalałaby na zaakceptowanie ocen, które są znacznie poniżej 2 lub powyżej 6. Na przykład, ocena 1 spełniałaby ten warunek, co jest absolutnie niezgodne z założeniem dotyczącym obliczania średniej pozytywnych ocen. Podobnie, w odpowiedzi $ocena >= 2 or $ocena <= 6, znowu występuje niebezpieczeństwo, gdyż oceny mniejsze niż 2 lub większe niż 6 również by przeszły, co jest w sprzeczności z oczekiwanym zakresem ocen. Odpowiedź $ocena > 2 and $ocena < 6 nie uwzględnia ocen 2 oraz 6, co znacząco zawęża zakres, a tym samym ogranicza pełen przekrój danych, które powinny być brane pod uwagę przy obliczaniu średniej. Takie błędne podejścia są rezultatem nieprecyzyjnego rozumienia logiki i zakresu danych. Kluczowe jest, aby przy definiowaniu warunków logicznych rozumieć konsekwencje używanych operatorów, co stanowi fundamentalny element programowania. Wybór odpowiednich operatorów i ich logiczne połączenie są kluczowe dla zapewnienia, że w przetwarzanych danych zostaną uwzględnione tylko te wartości, które są zgodne z ustalonymi kryteriami.

Pytanie 37

W aplikacji webowej komunikat powinien być wyświetlany jedynie wtedy, gdy użytkownik odwiedza stronę po raz pierwszy. Jakiej funkcji PHP należy użyć w tym przypadku?

A. define
B. session_destroy
C. mysqli_change_user
D. setcookie
Odpowiedzi, które nie są zgodne z funkcjonalnością opisaną w pytaniu, często opierają się na nieporozumieniach dotyczących zastosowań różnych funkcji w PHP. Funkcja define służy do definiowania stałych w aplikacji, co nie ma zastosowania w kontekście zarządzania stanem użytkownika czy komunikatami. Użycie define do wyświetlania komunikatów byłoby nieefektywne, ponieważ stałe są niezmienne w czasie działania skryptu. Z kolei session_destroy to funkcja, która kończy sesję użytkownika, co również nie jest zgodne z wymaganiami pytania. Zniszczenie sesji skutkuje utratą wszystkich danych sesyjnych, co często jest niepożądane, zwłaszcza jeśli potrzebujemy śledzić stan użytkownika. Mysqli_change_user to funkcja służąca do zmiany aktualnego użytkownika bazy danych, co jest zupełnie niezwiązane z wyświetlaniem komunikatów użytkownikom. Mylne jest przekonanie, że funkcje te mogą zastąpić mechanizm ciasteczek, ponieważ każda z nich ma swoje specyficzne zastosowanie w kontekście PHP. Właściwe zrozumienie roli ciasteczek, sesji oraz stałych jest kluczowe dla tworzenia aplikacji webowych, które są zarówno funkcjonalne, jak i przystosowane do potrzeb użytkowników.

Pytanie 38

Jakie czynniki wpływają na wysokość dźwięku?

A. intensywność wzbudzenia drgań
B. metoda wzbudzania drgań
C. częstotliwość drgań fali akustycznej
D. czas oscylacji źródła dźwięku
To prawda, że czas drgania źródła dźwięku i sposoby, jakimi te drgania są wzbudzane, mają swoje znaczenie, ale nie wpływają one na wysokość dźwięku tak, jak to robi częstotliwość. Czas drgania to okres jednego cyklu drgania, a jego odwrotność to częstotliwość. Można by pomyśleć, że dłuższy czas drgania oznacza niższy dźwięk, ale to nie tak działa. W rzeczywistości to częstotliwość jest wyznacznikiem wysokości dźwięku. W muzyce, różne techniki, takie jak atak struny czy wibrato, mogą zmieniać brzmienie, ale nie mają wpływu na podstawową częstotliwość. Można też mówić o sile wzbudzenia drgań, co dotyczy amplitudy fali akustycznej, a to z kolei wpływa na głośność, a nie wysokość dźwięku. Często ludzie mylą głośność z wysokością, co może prowadzić do różnych nieporozumień. Na przykład, niektóre instrumenty mogą grać zarówno głośno, jak i cicho, ale na tej samej wysokości, co pokazuje, że te dwa aspekty dźwięku to zupełnie różne sprawy. Zrozumienie tych różnic to podstawa dla każdego, kto działa w akustyce czy inżynierii dźwięku.

Pytanie 39

Na ilustracji przedstawiono kompozycję bloków strony www. Który z elementów formatowania strony odpowiada temu układowi? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. Odpowiedź 1: A
B. Odpowiedź 4: D
C. Odpowiedź 2: B
D. Odpowiedź 3: C
Odpowiedź B jest naprawdę na czasie! Widzisz, użyto tutaj techniki pływającego układu z CSS, czyli float i clear. Pierwszy blok pływa w lewo, ma 30% szerokości, dzięki czemu obok niego mogą stać drugi i trzeci blok, które też pływają w lewo i zajmują 70%. To pozwala na ułożenie elementów w jednej linii, o ile kontener ma wystarczająco miejsca. W sumie, float to klasyka przy układach wielokolumnowych, chociaż obecnie sporo osób korzysta z Flexboxa lub Grid Layout. Zauważ, że blok czwarty ma clear:both, więc zacznie się poniżej wcześniejszych elementów pływających. To ważne, bo dzięki temu unikamy problemów z nałożeniem się treści. Zachowanie porządku w układzie jest kluczowe, szczególnie w responsywnym web designie. Tego typu układy są całkiem popularne na stronach z wieloma kolumnami, gdzie elastyczność szerokości ma duże znaczenie.

Pytanie 40

W bazie danych MySQL znajduje się tabela z programami komputerowymi, posiadająca kolumny: nazwa, producent, rokWydania. Jaką kwerendę SELECT należy zastosować, aby uzyskać listę wszystkich producentów, unikając powtórzeń?

A. SELECT DISTINCT producent FROM programy
B. SELECT producent FROM programy WHERE UNIQUE
C. SELECT UNIQUE producent FROM programy
D. SELECT producent FROM programy WHERE producent NOT DUPLICATE
Aby uzyskać unikalne wartości z kolumny w bazie danych MySQL, należy użyć słowa kluczowego DISTINCT. W przypadku zapytania SELECT DISTINCT producent FROM programy; zapytanie to zwraca wszystkie unikalne nazwy producentów z tabeli programy. Słowo kluczowe DISTINCT działa na poziomie wierszy, co oznacza, że przeszukuje kolumnę producent, eliminując z wyników wszelkie powtarzające się wartości. Jest to szczególnie przydatne w analizie danych, gdzie istotne jest uzyskanie przeglądu unikalnych elementów. Na przykład, jeżeli tabela zawiera kilka wierszy z tym samym producentem, zapytanie to zwróci jedynie jeden wiersz dla każdego producenta. Przykład zastosowania: w przypadku tabeli zawierającej wartości jak 'Microsoft', 'Apple', 'Microsoft', wynik zapytania DISTINCT będzie obejmował 'Microsoft' i 'Apple'. W MySQL użycie DISTINCT jest zgodne ze standardem SQL i jest wspierane w większości systemów baz danych, co czyni je bardzo uniwersalnym narzędziem w pracy z danymi.