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: 6 maja 2026 22:09
  • Data zakończenia: 6 maja 2026 22:31

Egzamin zdany!

Wynik: 25/40 punktów (62,5%)

Wymagane minimum: 20 punktów (50%)

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

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

A. początek skryptu
B. operator dzielenia całkowitego
C. operator alternatywny
D. początek komentarza jednoliniowego
W języku PHP znak '//' oznacza początek komentarza jednoliniowego. Komentarze w PHP są istotnym elementem kodu, pozwalającym programistom na dodawanie adnotacji, które nie wpływają na wykonywanie skryptu. Komentarze są niezwykle pomocne, gdyż umożliwiają wyjaśnienie złożonych fragmentów kodu, co ułatwia jego dalsze utrzymanie i rozwijanie. Dzięki używaniu '//', programista może opisać, co dany fragment kodu robi, dla siebie lub innych osób przeglądających kod w przyszłości. Przykład zastosowania: jeśli mamy kod 'echo "Hello World!";', możemy dodać komentarz wyjaśniający: '// Wyświetla tekst Hello World!'. Warto zaznaczyć, że PHP pozwala także na korzystanie z komentarzy wieloliniowych, które zaczynają się od '/**' i kończą na '*/'. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programistycznymi, które zalecają dokumentowanie kodu oraz poprawne jego komentowanie, co jest częścią standardów kodowania, takich jak PSR-1 oraz PSR-2, promujących czytelność i spójność w kodzie.

Pytanie 2

Celem testów wydajnościowych jest ocena

A. możliwości oprogramowania do funkcjonowania w warunkach niewłaściwej pracy systemu
B. poziomu spełnienia wymagań dotyczących wydajności przez system bądź moduł
C. sekwencji zdarzeń, w której prawdopodobieństwo wystąpienia każdego zdarzenia zależy wyłącznie od wyniku zdarzenia poprzedniego
D. możliwości oprogramowania do funkcjonowania w warunkach błędnej pracy sprzętu
Testy wydajnościowe są kluczowym elementem procesu zapewnienia jakości oprogramowania, mającym na celu ocenę, w jakim stopniu system lub moduł spełnia określone wymagania wydajnościowe. Zazwyczaj obejmują one pomiar czasu reakcji, przepustowości, obciążenia oraz skalowalności aplikacji w różnych warunkach użytkowania. Przykładowo, podczas testów wydajnościowych można symulować równoczesne połączenia użytkowników, aby ocenić, jak system zachowuje się pod dużym obciążeniem. Dobre praktyki w tej dziedzinie, takie jak przeprowadzanie testów w kontrolowanym środowisku oraz stosowanie narzędzi takich jak JMeter czy LoadRunner, pozwalają na uzyskanie wiarygodnych wyników. Prawidłowe przeprowadzenie testów wydajnościowych jest istotne nie tylko dla spełnienia oczekiwań klientów, ale także dla uniknięcia problemów z wydajnością po wdrożeniu systemu na rynek, co może prowadzić do utraty reputacji firmy oraz finansowych strat.

Pytanie 3

Jakie będzie efektem zastosowanego formatowania CSS dla nagłówka trzeciego stopnia

<style> h3 { background-color: grey; } </style>

<h3 style="background-color: orange;">Rozdział 1.2.2.</h3>

A. tło nagłówka będzie pomarańczowe
B. tło nagłówka będzie w odcieniu szarości
C. kolor tekstu będzie pomarańczowy
D. kolor tekstu będzie szary
Wybranie odpowiedzi, że tło będzie szare, to nie jest dobry wybór. W kodzie, który widzimy w pytaniu, styl w sekcji <style> ma niższy priorytet od tego, co jest ustawione w atrybucie style dla elementu <h3>. I nawet jeśli w sekcji <style> tło nagłówka jest szare, to inline style z wartością background-color równą "orange" ma pierwszeństwo. Często pojawia się błąd myślenia, że style muszą być stosowane w jakiejś określonej kolejności, a tak naprawdę CSS działa na zasadzie kaskady. Co do kolorów czcionek, w tym przypadku nie było konkretnego ustawienia, więc będzie korzystać z domyślnej wartości przeglądarki lub jakiegoś innego stylu, jeśli taki istnieje. Żeby uniknąć takich zamieszania, warto zawsze zwracać uwagę na zasady kaskadowości i priorytety stylów, bo to pomoże lepiej zrozumieć, jak zmiany wpływają na to, co widzimy na stronie.

Pytanie 4

Jakie rozwiązanie powinno być wdrożone w organizacji danych, aby przyspieszyć wykonanie zapytań w bazie danych?

A. Reguły
B. Klucze podstawowe
C. Indeksy
D. Wartości domyślne
Indeksy w bazach danych są kluczowym narzędziem przyspieszającym wykonywanie zapytań, ponieważ pozwalają na szybsze odnajdywanie danych. Indeks działa jak spis treści w książce, umożliwiając systemowi zarządzania bazą danych (DBMS) szybkie zlokalizowanie konkretnych wierszy w tabelach. W praktyce, dodanie indeksu do kolumny, po której często są przeprowadzane wyszukiwania, może znacząco poprawić wydajność zapytań SELECT. Na przykład, jeśli mamy dużą tabelę z danymi o klientach i często wyszukujemy klientów według nazwiska, stworzenie indeksu na kolumnie 'nazwisko' pozwoli na zredukowanie czasu potrzebnego na wyszukiwanie z kilku sekund do milisekund. Warto również wspomnieć o dobrych praktykach związanych z używaniem indeksów, takich jak unikanie nadmiernego indeksowania, które może prowadzić do obniżenia wydajności operacji INSERT, UPDATE czy DELETE, ponieważ każdy z tych procesów musi również aktualizować odpowiednie indeksy. Dlatego kluczowe jest staranne planowanie i zastosowanie indeksów tam, gdzie przynoszą największe korzyści.

Pytanie 5

Grafik pragnie zmienić obraz JPG na format PNG bez utraty jakości, tak aby w obszarach, gdzie pierwotnie był kolor biały, w finalnym obrazie występowała przezroczystość. W tym celu powinien

A. dodać kanał alfa
B. zmniejszyć rozdzielczość obrazu
C. zaimportować obraz do edytora grafiki wektorowej
D. przekształcić obraz w odcienie szarości
Dodanie kanału alfa do obrazu JPG, aby uzyskać przezroczystość w kolorze białym, jest najlepszym podejściem. Kanał alfa to dodatkowa warstwa informacji w pliku graficznym, która definiuje przezroczystość każdego piksela. W formacie PNG, kanał alfa umożliwia tworzenie przezroczystych tła, co jest szczególnie przydatne w projektach, gdzie elementy graficzne muszą być nakładane na różne tła. W praktyce, aby uzyskać pożądany efekt, grafik powinien użyć narzędzi do edycji grafiki, takich jak Adobe Photoshop, GIMP lub Inkscape. Po zaimportowaniu obrazu JPG, użytkownik może użyć funkcji selekcji koloru, aby zaznaczyć obszary białe, a następnie usunąć je, co wprowadzi przezroczystość w tych miejscach. Na końcu, obraz można zapisać jako PNG, co zachowa wprowadzone zmiany. Tego typu operacje są standardem w pracy z grafiką komputerową, szczególnie w projektach związanych z web designem i tworzeniem materiałów reklamowych.

Pytanie 6

Która z wymienionych grup znaczników HTML zawiera elementy przeznaczone do grupowania oraz tworzenia struktury dokumentu?

A. br, img, hr
B. span, strong, em
C. div, article, header
D. table, tr, td
Odpowiedź 'div, article, header' jest poprawna, ponieważ te znaczniki HTML są kluczowymi elementami umożliwiającymi grupowanie i organizację treści w dokumentach webowych. Znacznik 'div' jest uniwersalnym kontenerem, który można wykorzystać do grupowania innych elementów w celu lepszej strukturyzacji strony. 'article' jest przeznaczony do oznaczania niezależnych fragmentów treści, takich jak posty na blogach, które mogą być samodzielnie dystrybuowane. Z kolei 'header' zazwyczaj zawiera nagłówki i elementy wprowadzające dla sekcji strony. Zastosowanie tych znaczników zgodnie z wytycznymi W3C sprzyja poprawnej hierarchii dokumentu, co z kolei zwiększa użyteczność strony oraz jej dostępność dla technologii asystujących. Przykładowo, użycie 'article' pozwala wyszukiwarkom i czytnikom ekranu lepiej zrozumieć strukturę treści, co może pozytywnie wpłynąć na SEO oraz doświadczenia użytkowników.

Pytanie 7

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

A. 16 do 19 fps
B. 31 do 36 fps
C. 24 do 30 fps
D. 20 do 23 fps
Wybór '31 do 36 fps' jest trochę mylący, bo chociaż teoretycznie mogłoby to zapewnić płynny obraz, to w praktyce nie jest to standard w produkcjach filmowych. Klatki powyżej 30 fps w tradycyjnym kinie to rzadkość, co może wprowadzać zamieszanie co do efektów wizualnych. Ponadto sztuczne zwiększenie fps takich jak 31 może sprawić, że ruch będzie wyglądał na rozmyty, a to niespecjalnie pasuje do estetyki filmowej. Z drugiej strony, '20 do 23 fps' to zdecydowanie za mało, by zapewnić przyzwoitą jakość w profesjonalnych produkcjach. Takie wartości mogą się sprawdzić w animacjach czy niskobudżetowych filmach, ale już w bardziej skomplikowanych ujęciach nie dają płynności. Natomiast '16 do 19 fps' to totalna porażka, bo powoduje skoki i zacięcia, a to w branży nie przechodzi. Dlatego w pracy z wideo, warto pilnować minimum 24 fps, żeby widzowie mieli fajne wrażenia wizualne.

Pytanie 8

W języku PHP, aby otworzyć już istniejący plik lektury.txt w trybie dodawania treści, tak aby wskaźnik pliku został umieszczony na końcu tego pliku należy zastosować instrukcję

A. fopen("lektury.txt", "w")
B. fopen("lektury.txt", "x")
C. fopen("lektury.txt", "a")
D. fopen("lektury.txt", "r")
W tym zadaniu kluczowe są dwa elementy: tryb otwarcia pliku oraz pozycja wskaźnika pliku. W PHP funkcja fopen() przyjmuje drugi parametr właśnie po to, żeby określić, co chcemy zrobić z plikiem: tylko czytać, tylko pisać, nadpisywać, dopisywać, tworzyć nowy itd. Pomyłki biorą się najczęściej z tego, że ktoś zna ogólne działanie funkcji, ale nie pamięta dokładnie znaczenia poszczególnych liter. Tryb "r" oznacza otwarcie pliku tylko do odczytu. Wskaźnik pliku ustawiany jest na początku, a nie na końcu. W tym trybie nie wolno pisać do pliku – próba użycia fwrite() skończy się ostrzeżeniem lub błędem. To dobry wybór, gdy chcemy np. wczytać konfigurację lub treść pliku, ale zupełnie nie nadaje się do dopisywania nowych danych. Typowym błędem myślowym jest założenie, że skoro fopen otwiera plik, to zawsze można do niego pisać. Niestety, nie – tryb ma tutaj kluczowe znaczenie. Tryb "w" otwiera plik do zapisu, ale przy tym kasuje jego dotychczasową zawartość (truncation). W praktyce oznacza to, że gdy użyjemy fopen("lektury.txt", "w"), cały wcześniejszy tekst zostanie usunięty, a wskaźnik pliku znajdzie się na początku pustego pliku. To jest bardzo ważne: "w" jest dobre, gdy chcemy stworzyć nową wersję pliku od zera, np. generowany raport, ale całkowicie sprzeczne z wymaganiem zadania, które mówi o „dodawaniu treści” do istniejącego pliku bez utraty danych. Tryb "x" z kolei służy do tworzenia nowego pliku i zakończy się błędem, jeśli plik już istnieje. To mechanizm ochronny, używany często tam, gdzie nie chcemy przypadkiem nadpisać istniejącego pliku (np. przy generowaniu unikalnych plików). W kontekście pytania jest to odwrotność tego, co trzeba: my właśnie chcemy pracować z już istniejącym plikiem, a nie wymuszać jego nowość. Moim zdaniem najczęstsza pułapka polega na myleniu „w” i „a”. Oba tryby umożliwiają zapis, ale tylko "a" gwarantuje, że wskaźnik ustawi się na końcu, a dane będą dopisywane, a nie nadpisywane. Dlatego, gdy w zadaniu pojawia się fraza „tryb dodawania treści” i „wskaźnik na końcu pliku”, praktycznie zawsze chodzi o tryb append, czyli właśnie "a".

Pytanie 9

W przedstawionym kodzie HTML ukazany styl CSS to styl:

<p style="color: red;">To jest przykładowy akapit.</p>
A. dynamiczny.
B. nagłówkowy.
C. lokalny.
D. zewnętrzny.
Wybrane opcje mogą wprowadzać w błąd, gdyż każda z nich odnosi się do innego sposobu stosowania stylów w CSS. Styl zewnętrzny polega na umieszczeniu wszystkich reguł stylów w osobnym pliku CSS, który jest linkowany do dokumentu HTML. To podejście jest niezwykle efektywne, ponieważ pozwala na oddzielenie treści od prezentacji i umożliwia wielokrotne wykorzystanie tych samych stylów w różnych częściach witryny. Z kolei styl dynamiczny odnosi się do technik, które zmieniają wygląd elementów w czasie rzeczywistym, na przykład przy użyciu JavaScript lub poprzez interakcje użytkownika. Styl nagłówkowy umieszczany jest w sekcji <head> dokumentu HTML, zazwyczaj za pomocą tagu <style>, co również różni się od stylu lokalnego, który jest bezpośrednio przypisany do konkretnego elementu. Kluczową różnicą jest wpływ na organizację i zarządzanie kodem – zewnętrzne i nagłówkowe style sprzyjają lepszej strukturze, podczas gdy lokalne style mogą prowadzić do nieczytelności kodu i problemów z utrzymywaniem. Zrozumienie tych różnic jest istotne dla efektywnego projektowania stron internetowych oraz dla przestrzegania najlepszych praktyk w zakresie CSS.

Pytanie 10

Która wartość tekstowa nie pasuje do podanego w ramce wzorca wyrażenia regularnego?

(([A-ZŁŻ][a-ząęóżźćńłś]{2,})(-[A-ZŁŻ][a-ząęóżźćńłś]{2,})?)
A. Kasprowicza
B. Nowakowska-Kowalska
C. Jelenia Góra
D. Kowalski
Wyrażenie regularne, które zostało podane w pytaniu, to [A-ZŁŻ][a-ząęóżźćńłś]{2,}-[A-ZŁŻ][a-ząęóżźćńłś]{2,}. Wyrażenie to jest używane do walidacji polskich nazwisk, gdzie pierwsza litera musi być dużą literą z zakresu A-Z oraz polskimi znakami diakrytycznymi, następnie muszą występować co najmniej dwa znaki małe, również z zestawu polskich liter. Po pierwszej części, która odpowiada za pierwsze nazwisko, mamy opcjonalny fragment, który zaczyna się od znaku '-', co oznacza, że można podać drugie nazwisko, które także musi spełniać te same warunki. Przykład poprawnych wartości to Kowalski oraz Nowakowska-Kowalska. Wartość 'Jelenia Góra' nie pasuje do tego wzorca, ponieważ zawiera spację, która nie jest dozwolona w tym kontekście. Dodatkowo, spację można interpretować jako rozdzielenie dwóch słów, co wykracza poza przyjęty format. W związku z tym, prawidłowa odpowiedź to 'Jelenia Góra'.

Pytanie 11

Jak należy poprawnie udokumentować wzorzec weryfikacji dla pola nazwa w kodzie aplikacji JavaScript?

Ilustracja do pytania
A. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
B. /* Pole nazwa musi składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużych liter i dwóch małych liter. */
C. /* Pole nazwa powinno składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
D. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
Poprawna odpowiedź zakłada, że pole 'nazwa' musi zawierać określoną strukturę wyrażenia regularnego które jest kluczowym elementem w walidacji danych wejściowych w aplikacjach JavaScript. Wzorzec /[1-9]*[A-Z]{1}[a-z]{2,}$/ wskazuje że pole może zaczynać się od dowolnej liczby cyfr z wyłączeniem 0 po których następuje jedna duża litera i co najmniej dwie małe litery. Taka konstrukcja jest przydatna w tworzeniu bezpiecznych aplikacji ułatwiając wymuszenie określonego formatu danych które mogą być używane na przykład w formularzach rejestracyjnych gdzie wymagane jest podanie specyficznego identyfikatora użytkownika. Warto pamiętać że walidacja po stronie klienta jak w tym przypadku powinna być zawsze wspierana dodatkowymi sprawdzeniami po stronie serwera co jest dobrą praktyką programistyczną w celu zabezpieczenia aplikacji przed niepożądanym dostępem oraz złośliwymi atakami. Zrozumienie i stosowanie wyrażeń regularnych znacznie poprawia jakość kodu oraz jego zdolność do adaptacji w różnych warunkach technicznych co jest kluczowe w dzisiejszym dynamicznym środowisku IT.

Pytanie 12

Hermetyzacja to zasada programowania obiektowego, która wskazuje, że

A. typy pól w klasach i obiektach mogą być zmieniane dynamicznie w zależności od przypisywanych danych.
B. klasy i obiekty mogą mieć zdefiniowane metody wirtualne, które są realizowane w klasach lub obiektach pochodnych.
C. klasy i obiekty mogą dzielić się funkcjonalnością.
D. pola oraz metody, które są używane wyłącznie przez daną klasę lub obiekt, są ograniczane zasięgiem private lub protected.
Pierwsza z zaproponowanych odpowiedzi, dotycząca współdzielenia funkcjonalności przez klasy i obiekty, odnosi się bardziej do dziedziczenia i polimorfizmu, a nie hermetyzacji. W programowaniu obiektowym, dziedziczenie pozwala klasom na wykorzystanie metod i właściwości innych klas, co nie jest bezpośrednio związane z hermetyzacją, która koncentruje się na ograniczaniu dostępu do wewnętrznych komponentów obiektu. Kolejna odpowiedź, mówiąca o metodach wirtualnych, dotyczy koncepcji polimorfizmu, gdzie klasy dziedziczą po sobie i mogą nadpisywać metody. Choć jest to istotny element programowania obiektowego, nie ma związku z hermetyzacją, która skupia się na prywatności danych wewnętrznych. Ostatnia odpowiedź, dotycząca dynamicznej zmiany typów pól w klasach, odnosi się do dynamicznego typowania, co również nie jest związane z hermetyzacją. Hermetyzacja koncentruje się na bezpieczeństwie i izolacji danych, a zmiana typów pól dotyczy raczej sposobu przechowywania danych i ich przetwarzania w czasie działania programu. Te niepoprawne odpowiedzi pokazują różnorodność koncepcji w programowaniu obiektowym, ale żadna z nich nie odnosi się bezpośrednio do istoty hermetyzacji.

Pytanie 13

W programie do obróbki grafiki rastrowej zmodyfikowano krzywe kolorów tak, jak zaznaczono ramką na przedstawionym obrazie. Ma to na celu

Ilustracja do pytania
A. przyciemnienie całego obrazu
B. wygładzenie krawędzi w obrazie
C. modyfikację najjaśniejszych i najciemniejszych kolorów obrazu
D. rozjaśnienie całego obrazu
Rozjaśnienie całości obrazu to koncepcja, która na pierwszy rzut oka może wydawać się słuszna, jednak nie odnosi się do rzeczywistych efektów modyfikacji krzywych kolorów. Rozjaśnienie związane jest z podnoszeniem wartości jasności dla wszystkich pikseli, co prowadzi do utraty szczegółów w najjaśniejszych partiach obrazu. Z kolei przyciemnienie całości obrazu, choć teoretycznie możliwe, również nie jest efektem manipulacji krzywymi kolorów, ponieważ polegałoby na obniżeniu wszystkich wartości kolorów, co prowadziłoby do homogenizacji obrazu i utraty kontrastu. Wygładzenie krawędzi na obrazie to całkowicie inny proces, związany z poprawą jakości wyświetlania detali, a nie z modyfikacją kolorów. Warto zauważyć, że takie pomyłki w interpretacji mogą wynikać z braku zrozumienia, jak działają krzywe kolorów. Użytkownicy mogą myśleć, że zmiany na krzywej mają na celu jedynie ogólną poprawę jasności, w rzeczywistości jednak ich głównym celem jest precyzyjna kontrola nad zakresem tonalnym i kolorem w obrazie. Dlatego kluczowe jest zrozumienie, że krzywe kolorów są narzędziem do bardziej złożonej manipulacji kolorystyką, a nie tylko do prostego rozjaśniania czy przyciemniania obrazu.

Pytanie 14

Jednym z atrybutów tabeli ksiazki jest status czyWypozyczona, który może przyjmować dwie wartości: true lub false. Jaki typ danych będzie najbardziej odpowiedni dla tego atrybutu?

A. DOUBLE
B. CHAR
C. VARCHAR(5)
D. BOOLEAN
Odpowiedź BOOLEAN jest optymalnym wyborem dla pola status czyWypozyczona, ponieważ reprezentuje typ danych logicznych, które mogą przyjmować jedynie dwie wartości: prawda (true) lub fałsz (false). W kontekście systemów baz danych, typ BOOLEAN jest używany do efektywnego przechowywania informacji, które mają tylko dwa możliwe stany, co pozwala na oszczędność miejsca oraz przyspieszenie operacji zapytań. Na przykład, przy tworzeniu zapytań SQL, możemy łatwo filtrować wyniki na podstawie statusu wypożyczenia, co znacząco zwiększa czytelność i wydajność kodu. Warto również zauważyć, że wiele systemów baz danych, takich jak MySQL, PostgreSQL, czy SQLite, oferują dedykowane wsparcie dla typu BOOLEAN, co czyni go zgodnym z najlepszymi praktykami w projektowaniu baz danych, w których dąży się do maksymalnej klarowności i wydajności. Dzięki temu, stosując typ BOOLEAN, nie tylko upraszczamy model danych, ale także ułatwiamy jego dalsze wykorzystanie i konserwację.

Pytanie 15

Aby ustawić tło na stronie www należy użyć polecenia

A. <body bgcolor=""></body>
B. <body background=""></body>
C. <background=""></background>
D. <bgcolor=""></bgcolor>
Aby ustawić tło na stronie internetowej, należy użyć atrybutu bgcolor w znaczniku <body>. Jest to starożytna metoda definiowania koloru tła, która jest zgodna z wcześniejszymi standardami HTML. Atrybut bgcolor przyjmuje wartość w postaci koloru w formie nazwy, hexadecymalnej lub RGB. Na przykład, <body bgcolor='#FF5733'></body> ustawi pomarańczowe tło. Pomimo że ta metoda działa, w dzisiejszych czasach zaleca się korzystanie z CSS, co umożliwia bardziej zaawansowane i elastyczne style. Zamiast polegać na atrybucie HTML, można zastosować regułę CSS: body { background-color: #FF5733; }. Użycie CSS nie tylko poprawia organizację kodu, ale także zwiększa dostępność i responsywność strony. Dlatego, chociaż atrybut bgcolor jest poprawny, warto skupić się na nowoczesnych metodach stylizacji, które są zgodne z aktualnymi standardami W3C i są bardziej przyszłościowe.

Pytanie 16

Program stworzony w języku PHP ma na celu wyliczenie średniej pozytywnych ocen ucznia w zakresie od 2 do 6. Warunek doboru ocen w pętli obliczającej średnią powinien być oparty na wyrażeniu logicznym

A. $ocena > 2 or $ocena < 6
B. $ocena >= 2 and $ocena <= 6
C. $ocena > 2 and $ocena < 6
D. $ocena >= 2 or $ocena <= 6
Odpowiedź $ocena >= 2 and $ocena <= 6 jest poprawna, ponieważ dokładnie określa zakres ocen, które mają być uwzględniane w obliczeniach średniej. Użycie operatora logicznego 'and' zapewnia, że tylko oceny mieszczące się w podanym przedziale, włączając 2 i 6, będą brane pod uwagę. To podejście jest zgodne z zasadami programowania, które zalecają jasne definiowanie warunków w pętlach, aby uniknąć niejednoznaczności. Na przykład, w praktycznych zastosowaniach edukacyjnych, w których oceny są przetwarzane, takie wyrażenie logiczne zapewnia, że nie zostaną uwzględnione oceny poniżej 2 czy powyżej 6, co mogłoby zniekształcić wyniki. Dodatkowo, stosowanie operatorów porównania, takich jak >= i <=, jest najlepszą praktyką w programowaniu, gdyż zwiększa czytelność kodu i minimalizuje ryzyko błędów. W kontekście PHP, można wykorzystać ten warunek w pętli foreach, aby iterować przez tablicę ocen i sumować tylko te, które spełniają kryteria, co przyczyni się do uzyskania poprawnej średniej.

Pytanie 17

Aby utworzyć styl strony responsywnej dla ekranów o szerokości od 600 px do 800 px należy zastosować regułę CSS

A. @media (max-width: 800px) (min-width: 600px){/*style css*/}
B. @media screen (min-width: 800px) and (max-width: 600px){/*style css*/}
C. @media screen and (max-width: 800px) and (min-width: 600px){/*style css*/}
D. @media (min-width: 800px){/*style css*/}
W tym zadaniu cała trudność kręci się wokół poprawnego zapisania media queries i zrozumienia, jak działają warunki min-width oraz max-width. Wiele osób intuicyjnie czuje, o co chodzi z responsywnością, ale potyka się na szczegółach składni, a przeglądarka niestety jest bardzo „zero-jedynkowa” i najmniejszy błąd powoduje, że reguła po prostu nie zadziała. Jedno z podejść polega na użyciu tylko min-width, np. @media (min-width: 800px){...}. Taki zapis oznacza jednak: stosuj te style dla szerokości 800 px i większych, czyli w górę, bez żadnej górnej granicy. To jest typowy breakpoint dla większych ekranów, np. laptopów, a nie dla przedziału 600–800 px. To nie jest logicznie to, o co chodziło w pytaniu, bo nie ma tu żadnego ograniczenia od góry. Inny typ błędu to próba połączenia max-width i min-width bez słowa and, jak w @media (max-width: 800px) (min-width: 600px){...}. Taka składnia jest po prostu niepoprawna z punktu widzenia specyfikacji CSS – między warunkami musi wystąpić operator logiczny and, not lub only. Bez tego parser traktuje zapis jako błąd, więc reguła zostanie zignorowana. Kolejna pułapka to pomieszanie kolejności i logiki warunków, np. @media screen (min-width: 800px) and (max-width: 600px){...}. Tutaj po pierwsze brakuje and po słowie screen, więc typ medium nie jest poprawnie połączony z warunkami, a po drugie zakres jest nielogiczny: min-width: 800px i max-width: 600px tworzą zestaw warunków, którego żaden ekran nie spełni, bo nie może mieć jednocześnie szerokości co najmniej 800 px i maksymalnie 600 px. W praktyce oznacza to media query, które nigdy się nie aktywuje. To zresztą typowy błąd: ktoś zna pojęcia min i max, ale nie zastanawia się nad realnym przedziałem wartości. Dobra praktyka w responsywnym projektowaniu to zawsze sprawdzić: czy zakres ma sens matematyczny, czy składnia zawiera wszystkie konieczne słowa kluczowe (screen, and), oraz czy zapis jest spójny z resztą kodu. Wtedy media queries stają się przewidywalne i łatwiejsze do debugowania w narzędziach deweloperskich przeglądarki.

Pytanie 18

Zaprezentowano tabelę stworzoną za pomocą kodu HTML, bez zastosowania stylów CSS. Który z poniższych fragmentów kodu HTML odnosi się do pierwszego wiersza tabeli?

Ilustracja do pytania
A. B
B. D
C. A
D. C
Poprawna odpowiedź to D. W tym kodzie HTML użyto znaczników <th> zamiast <td> do zdefiniowania pierwszego wiersza tabeli co jest zgodne z dobrą praktyką formatowania wierszy nagłówkowych tabel. Znaczniki <th> oznaczają header cells czyli komórki nagłówkowe które z definicji są ustawione jako pogrubione i wyśrodkowane w przeglądarce. Użycie <th> zamiast <td> dla nagłówków tabeli wspiera dostępność ponieważ oprogramowanie wspomagające takie jak czytniki ekranowe rozpoznaje te znaczniki jako nagłówki co ułatwia nawigację osobom z ograniczeniami wzrokowymi. Ponadto standard HTML zaleca użycie <th> dla komórek opisujących dane które znajdują się poniżej w wierszach tabeli co pomaga w semantycznym oznaczeniu struktury dokumentu. Zastosowanie poprawnej semantyki w kodzie HTML nie tylko zwiększa dostępność ale również poprawia SEO oraz ułatwia utrzymanie kodu w przyszłości. Przy projektowaniu tabel w HTML ważne jest również rozważenie stylizacji za pomocą CSS aby zachować czystość i czytelność kodu HTML.

Pytanie 19

Który efekt został zaprezentowany na filmie?

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

Pytanie 20

W MS SQL Server predefiniowana rola o nazwie dbcreator umożliwia użytkownikowi

A. zarządzanie plikami na nośniku
B. tworzenie, aktualizowanie, usuwanie oraz przywracanie bazy danych
C. zarządzanie zabezpieczeniami systemu
D. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
Wszystkie pozostałe odpowiedzi są niepoprawne z punktu widzenia funkcji przypisanych do roli dbcreator w MS SQL Server. Stwierdzenie, że rola ta pozwala na wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy, jest błędne, ponieważ taka funkcjonalność jest zarezerwowana dla roli sysadmin, która ma pełne uprawnienia serwera. Użytkownicy z rolą sysadmin mogą wykonywać jakiekolwiek operacje, co stawia ich w pozycji pełnej kontroli, w przeciwieństwie do roli dbcreator, która jest ograniczona do zarządzania bazami danych. Odnośnie zarządzania bezpieczeństwem systemu, to również nie jest odpowiednia funkcja dla dbcreator, ponieważ zarządzanie bezpieczeństwem wymaga bardziej zaawansowanych uprawnień, które są przydzielane innym rolom, takim jak securityadmin. W końcu, zarządzanie plikami na dysku nie wchodzi w zakres kompetencji dbcreator, ponieważ ta rola skupia się na operacjach związanych z bazami danych, a nie na zarządzaniu systemem plików czy innymi zasobami systemowymi. Te nieprawidłowe wnioski mogą wynikać z nieporozumienia dotyczącego funkcji ról w SQL Server, a także z braku znajomości hierarchii uprawnień oraz ich zastosowania w praktyce. Zrozumienie różnic między rolami jest kluczowe w kontekście efektywnego zarządzania bezpieczeństwem i dostępem w środowisku baz danych.

Pytanie 21

Ile razy zostanie wykonana pętla w języku PHP, jeśli zmienna kontrolna pozostaje niezmienna podczas działania pętli?

for($i=0; $i<=10; $i++) {
        .......
}
A. 11
B. Nieskończoność
C. 0
D. 10
Rozpatrując pętlę for w kontekście języka programowania PHP należy zwrócić uwagę na strukturę i logikę jej działania. Pętla zaczyna się od inicjalizacji zmiennej sterującej w tym przypadku $i=0. Warunek końcowy to $i<=10 co oznacza że pętla będzie kontynuowana dopóki wartość $i jest mniejsza lub równa 10. W praktyce oznacza to że pętla wykona się dla wartości od 0 do 10 włącznie co daje 11 iteracji. Błędne wyobrażenie że pętla wykona się 10 razy może wynikać z niepoprawnego zrozumienia warunku końcowego. Wartość logiczna $i<=10 pozwala na dodatkową iterację dla wartości $i=10. Kolejny błąd mógłby dotyczyć nieskończonej liczby iteracji co mogłoby być prawdziwe w przypadku braku prawidłowo określonego warunku końcowego lub błędu logicznego zmieniającego warunek w nieskończoność ale nie w tym przypadku. Warunek $i++ poprawnie i przewidywalnie zwiększa wartość $i w każdej iteracji unikając takich problemów. Zrozumienie działania pętli for i poprawne określenie warunków początkowych i końcowych oraz kroku iteracji jest kluczowe dla prawidłowego stosowania tej struktury kontrolnej w programowaniu. Takie zrozumienie pozwala na efektywne wykorzystanie pętli w różnych zadaniach programistycznych unikając potencjalnych błędów logicznych i zapewniając że kod działa zgodnie z założeniami.

Pytanie 22

Która funkcja PHP obsługi bazy danych służy do kodowania polskich znaków?

A. mysqli_set_charset()
B. mysqli_connect()
C. mysqli_query()
D. mysqli_fetch_assoc()
Prawidłowa odpowiedź to mysqli_set_charset(), bo właśnie ta funkcja ustawia zestaw znaków (charset) dla połączenia z bazą danych w rozszerzeniu mysqli. W praktyce oznacza to, że dzięki niej PHP i serwer bazy danych (np. MySQL) „dogadują się”, w jakim kodowaniu mają być przesyłane i zapisywane teksty – w tym polskie znaki typu ą, ę, ł, ś itd. Bez poprawnie ustawionego charsetu bardzo łatwo o krzaczki, znaki zapytania zamiast liter albo problemy z sortowaniem tekstu. Moim zdaniem dobrą praktyką jest zawsze po nawiązaniu połączenia mysqli_connect natychmiast wywołać mysqli_set_charset($conn, 'utf8mb4'). Ten konkretny charset (utf8mb4) jest obecnie standardem de facto: obsługuje pełne Unicode, w tym emotikony, różne alfabety, a przy okazji bez problemu radzi sobie z polskimi znakami. Przykładowy, poprawny fragment kodu może wyglądać tak: $conn = mysqli_connect('localhost', 'user', 'haslo', 'baza'); mysqli_set_charset($conn, 'utf8mb4'); Dzięki temu każda instrukcja mysqli_query, każde pobieranie danych mysqli_fetch_assoc będzie już działać w odpowiednim kodowaniu. Warto pamiętać, że ustawienie charsetu powinno być spójne na wszystkich poziomach: konfiguracja bazy (collation i charset tabel), ustawienia połączenia (właśnie mysqli_set_charset) oraz nagłówki HTTP/HTML (meta charset="utf-8"). Dopiero takie podejście zgodne z dobrymi praktykami branżowymi zmniejsza ryzyko błędów związanych z kodowaniem tekstu, zwłaszcza w większych aplikacjach webowych. Jeśli robi się projekty komercyjne, to ignorowanie tej funkcji bardzo szybko mści się przy migracjach danych czy integracjach z innymi systemami.

Pytanie 23

Który fragment kodu stanowi zamiennik dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. D
B. C
C. B
D. A
Odpowiedzi B i D są nieprawidłowe ponieważ ignorują kluczową część logiki oryginalnego kodu mianowicie filtrację parzystych liczb. Odpowiedź B iteruje przez wszystkie liczby od 1 do 55 wypisując je wszystkie bez wyjątku co diametralnie odbiega od zamierzonego wyniku kodu źródłowego. Odpowiedź D jest identyczna z B z tym że format zapisu jest nieco odmienny nie ma to jednak wpływu na logikę działania co czyni ją również błędną. Odpowiedź C inicjuje pętlę od 2 i inkrementuje x o 2 co teoretycznie powinno zbliżyć się do rozwiązania jednak zakres iteracji kończy się na 56 co wykracza poza zadany limit 55 oraz wypisuje nieistniejącą w oryginalnej pętli dodatkową liczbę co jest błędne. Wybory te mogą wynikać z niewłaściwego zrozumienia zakresu pętli lub metody przeskakiwania wartości co jest częstym błędem przy interpretacji pętli iteracyjnych. Kluczowe jest zrozumienie jak zastosowana logika i zakres wpływają na wynik końcowy oraz jak można optymalnie odwzorować te zasady w alternatywnym kodzie.

Pytanie 24

Który z poniższych sposobów wyświetlania tekstu nie jest określony w języku JavaScript?

A. Właściwość innerHTML
B. Metoda document.write()
C. Funkcja MessageBox()
D. Funkcja window.alert()
Funkcja MessageBox() nie istnieje w JavaScript, więc to nie jest dobła odpowiedź, jeśli chodzi o wyświetlanie tekstu. W JavaScript mamy kilka fajnych metod, które można wykorzystać do pokazywania danych na stronie. Na przykład, możesz użyć innerHTML, żeby zmieniać zawartość HTML elementów. Możesz to zrobić tak: document.getElementById('elementId').innerHTML = 'Nowa zawartość';. Inna opcja to window.alert(), która wyświetla okno z komunikatem dla użytkownika, co czasem bywa przydatne. Z kolei, jeśli chcesz coś wypisać na stronie w momencie, gdy się ładuje, to możesz użyć document.write('Hello, World!');, choć to nie jest najlepszy pomysł w nowoczesnym kodowaniu. Warto pamiętać, że wszystkie te metody są częścią ECMAScript i naprawdę często się je stosuje w praktyce programowania.

Pytanie 25

W języku CSS określono formatowanie znacznika h1 według wzoru. Zakładając, że żadne inne formatowanie nie jest dodane do znacznika h1, wskaż sposób formatowania tego znacznika

Ilustracja do pytania
A. D
B. A
C. B
D. C
Formatowanie znacznika h1, określone w podanym kodzie CSS, wprowadza kilka charakterystycznych cech stylistycznych. Przede wszystkim, zastosowanie 'font-style: oblique;' zmienia wygląd tekstu, nadając mu ukośny styl. To oznacza, że tekst będzie wyświetlany w wyraźnie przechylonej formie, co jest często używane do podkreślenia ważnych elementów. Dodatkowo, 'font-variant: small-caps;' odpowiedzialne jest za przekształcenie małych liter w małe kapitałki, co nadaje tekstowi elegancki i formalny wygląd. Taki zabieg jest często wykorzystywany w tytułach lub nagłówkach, aby wyróżnić je wśród pozostałego tekstu. Ostatni element, 'text-align: right;', wyrównuje tekst do prawej krawędzi kontenera, co jest mniej powszechnie stosowane w porównaniu do wyrównania do lewej lub wyśrodkowanego, ale może być użyteczne w specyficznych układach strony. W przypadku, gdyby były dodatkowe style CSS przypisane do tego znacznika, mogłyby one wpłynąć na ostateczny wygląd, jednak w tym przypadku zakładamy, że są to jedyne zastosowane style. Standardy CSS jasno określają, jak różne właściwości mogą być używane do stylizacji elementów HTML, co czyni je niezwykle potężnym narzędziem w tworzeniu estetycznych i funkcjonalnych stron internetowych.

Pytanie 26

W danym środowisku programistycznym, aby uzyskać dostęp do listy błędów składniowych po nieudanej kompilacji, należy użyć kombinacji klawiszy

Ilustracja do pytania
A. Ctrl+W, T
B. Ctrl+W, N
C. Ctrl+W, O
D. Ctrl+W, E
W środowisku Visual Studio, które jest jednym z najpopularniejszych zintegrowanych środowisk programistycznych (IDE) dla języków takich jak C# czy C++, kombinacja klawiszy Ctrl+W, E pozwala na szybkie wyświetlenie listy błędów składniowych i innych problemów związanych z kodem. Lista błędów Error List jest kluczowym narzędziem w codziennej pracy programisty, ponieważ pozwala na szybkie zidentyfikowanie i naprawienie błędów bez konieczności przeszukiwania całego kodu. Dzięki temu programista może skupić się na poprawianiu najważniejszych błędów i optymalizacji kodu. Standardy i dobre praktyki w programowaniu zalecają regularne monitorowanie listy błędów w celu utrzymania wysokiej jakości kodu i minimalizacji ryzyka wystąpienia błędów w działającej aplikacji. To narzędzie jest nieocenione podczas procesu debugowania, gdyż pozwala na szybkie zlokalizowanie i zrozumienie problemów składniowych oraz logicznych wpływających na działanie aplikacji. Używanie skrótów klawiszowych do nawigacji w IDE jest również zalecane jako dobra praktyka, która zwiększa efektywność pracy.

Pytanie 27

W języku JavaScript stworzono zmienną i, która będzie przechowywać wynik dzielenia równy 1, to

A. var i=Number(3/2)
B. var i=parseFloat(3/2)
C. var i=parseInt(3/2)
D. var i=3/2
Wybór 'var i=parseInt(3/2);' jest właściwy, ponieważ funkcja parseInt służy do konwersji wartości liczbowych na liczby całkowite. W tym przypadku, wyrażenie 3/2 zwraca wartość 1.5, a funkcja parseInt zamienia tę wartość na 1, co jest zgodne z oczekiwanym wynikiem. Warto zauważyć, że parseInt zawsze zwraca najbliższą liczbę całkowitą, zaokrąglając w dół, co czyni ją idealnym narzędziem do realizacji tego celu. W JavaScript istnieje wiele sposobów na konwersję wartości liczbowych, a parseInt jest jednym z najczęściej używanych, gdyż pozwala na przetwarzanie tekstów i liczb w zrozumiały sposób. Przykładowo, jeśli mamy stringa '10.5', użycie parseInt('10.5') da wynik 10. Odniesienie do standardów JavaScript w kontekście konwersji typów można znaleźć w dokumentacji ECMAScript, która definiuje zasady działania funkcji konwertujących. Dobrą praktyką jest również zwrócenie uwagi na radzenie sobie z typami danych w JavaScript, aby uniknąć nieporozumień w przyszłości.

Pytanie 28

W tabeli mieszkancy, która zawiera pola id, imie, nazwisko, ulica, numer oraz czynsz (kwota całkowita), należy uzyskać informacje o osobach zamieszkujących ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz nie przekracza 1000 zł. Klauzula WHERE w zapytaniu powinna wyglądać następująco

A. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
C. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
Kiedy piszemy zapytanie SQL, klauzula WHERE powinna wyglądać tak: 'WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000'. Dlaczego to działa? Bo ta klauzula jasno określa, że interesują nas tylko mieszkańcy z ulicy Mickiewicza, mający numery 71, 72 lub 80, i którzy płacą czynsz mniejszy niż 1000 zł. Użycie AND sprawia, że wszystkie te warunki muszą być spełnione naraz, co jest naprawdę ważne. Możemy to sobie wyobrazić w kontekście zarządzania nieruchomościami, gdzie chcemy pokazać tylko wybraną grupę mieszkańców, na przykład do analizy ich sytuacji finansowej. I tak na marginesie – w SQL lepiej unikać OR, gdy chcemy dostąpić do jasno określonych danych, ponieważ może to dać nam za dużo wyników lub takie, których nie chcemy.

Pytanie 29

Element lub zestaw elementów, który jednoznacznie identyfikuje każdy pojedynczy rekord w tabeli bazy danych, nazywamy kluczem

A. przestawny
B. inkrementacyjny
C. obcy
D. podstawowy
W kontekście baz danych, istnieje kilka terminów, które mogą być mylące, zwłaszcza w odniesieniu do kluczy. Klucz inkrementacyjny, mimo że jest użyteczny w wielu systemach baz danych do generowania unikalnych identyfikatorów, nie jest terminem opisującym typ klucza, ale raczej metodą tworzenia wartości dla klucza podstawowego. Klucz przestawny (ang. pivot key) to termin bardziej związany z analizą danych niż z identyfikacją wierszy w tabelach; odnosi się do technik agregacji danych i transformacji w zbiorach danych, głównie w kontekście tabel przestawnych, które są używane do wizualizacji i analizy danych, a nie do bezpośredniej identyfikacji rekordów. Klucz obcy (ang. foreign key) to kolejny termin, który jest często mylony z kluczem podstawowym. Klucz obcy jest polem w jednej tabeli, które wskazuje na klucz podstawowy w innej tabeli, co służy do ustanawiania relacji między dwiema tabelami. Klucz obcy nie identyfikuje wierszy w swojej tabeli, lecz tworzy powiązania z innymi danymi. Rozumienie tych terminów oraz ich zastosowań jest kluczowe dla efektywnego projektowania baz danych oraz unikania powszechnych błędów, które mogą prowadzić do problemów z integralnością danych i wydajnością systemu.

Pytanie 30

Wskaż kod CSS, który odpowiada layoutowi bloków 2 – 5, zakładając, że są one utworzone na podstawie podanego kodu HTML.

Ilustracja do pytania
A. Kod 2
B. Kod 1
C. Kod 4
D. Kod 3
Prawidłowy układ bloków wymaga precyzyjnego zarządzania ich pozycjonowaniem za pomocą właściwości CSS float. W niepoprawnych odpowiedziach pojawiają się często błędy związane z nieodpowiednim pozycjonowaniem bloków, co skutkuje niepożądanym układem. Na przykład w Kodzie 1, użycie właściwości clear: both dla bloku 5 powoduje, że zaczyna on nowy wiersz, co jest niezgodne z założeniem układu, w którym blok 5 powinien znajdować się pod blokiem 3. Brak odpowiedniego wyrównania bloków może prowadzić do niepożądanego zapełnienia przestrzeni, co może być kłopotliwe szczególnie w responsywnym projektowaniu. Kod 3 nie uwzględnia potrzeby wyczyszczenia float, co może prowadzić do nakładania się bloków. W przypadku Kodu 4, brak użycia float dla bloku 3 powoduje, że ten nie zachowuje się jak oczekiwano, co może prowadzić do niezgodności z przedstawionym układem. Typowym błędem jest również niewłaściwe obliczenie sumarycznej szerokości bloków w jednym wierszu, co może prowadzić do przekroczenia dostępnej przestrzeni, a tym samym zaburzenia układu. Takie błędy często wynikały z braku zrozumienia działania mechanizmu float i clear, co jest kluczowe w tradycyjnym projektowaniu układów stron za pomocą CSS. Obecnie, dla bardziej zaawansowanych układów, zaleca się stosowanie takich technologii jak flexbox czy grid layout, które oferują większą elastyczność i kontrolę nad rozmieszczeniem elementów na stronie.

Pytanie 31

Jakie znaczniki HTML pozwolą na prezentację tekstu w jednym wierszu na stronie, zakładając, że nie zastosowano żadnych reguł CSS?

A. style="margin-bottom: 0cm;"><div>Dobre strony </div><div style="letter-spacing:3px">mojej strony</div>
B. style="margin-bottom: 0cm;"><h3>Dobre strony </h3><h3 style="letter-spacing:3px">mojej strony</h3>
C. <span>Dobre strony </span><span style="letter-spacing:3px">mojej strony</span>
D. style="margin-bottom: 0cm;"><p>Dobre strony </p><p style="letter-spacing:3px">mojej strony</p>
Wszystkie trzy niepoprawne odpowiedzi wykorzystują znaczniki blokowe lub nieodpowiednie stylizacje, które wprowadzają nowe linie. Znacznik <p> (paragraf) domyślnie powoduje, że przeglądarki wstawiają odstęp przed i po elemencie, co zmienia układ tekstu na stronie. Zastosowanie <h3> również prowadzi do podobnych problemów, ponieważ nagłówki są elementami blokowymi, które z definicji powinny być wyświetlane w nowym wierszu. Ostatecznie, użycie <div> ma podobne konsekwencje, gdyż jest to również znacznik blokowy, co prowadzi do niepożądanego układu tekstu w nowych liniach. W kontekście tworzenia stron internetowych, zachowanie zgodności z zasadami HTML oraz CSS jest kluczowe, aby zachować porządek i estetykę strony. Elementy blokowe są idealne do tworzenia struktury, ale nie do wyświetlania tekstu w linii, dlatego w kontekście zadania, wybrane odpowiedzi nie spełniają wymogu utrzymania tekstu w jednej linii. Idealnym rozwiązaniem w takiej sytuacji jest użycie znaczników inline, takich jak <span>, które pozwalają na bardziej elastyczne formatowanie treści bez zakłócania układu.

Pytanie 32

Polecenie GRANT w języku SQL służy do

A. umieszczania nowych danych w bazie.
B. aktualizacji istniejących danych w bazie.
C. odbierania użytkownikom praw do obiektów.
D. nadawania użytkownikom praw do obiektów.
Poprawnie – polecenie GRANT w SQL służy właśnie do nadawania użytkownikom praw do obiektów w bazie danych. W praktyce GRANT jest jednym z kluczowych narzędzi mechanizmu kontroli dostępu, czyli tzw. autoryzacji. Najpierw ktoś łączy się z bazą (to jest uwierzytelnianie – login/hasło, certyfikat itd.), a dopiero potem baza sprawdza, jakie uprawnienia ma ten użytkownik. I tu wchodzi GRANT. Administrator lub właściciel obiektu może przyznać użytkownikowi np. prawo SELECT do tabeli `klienci`, prawo INSERT do tabeli `zamowienia`, albo prawo EXECUTE do procedury składowanej. Składnia jest dość prosta, np.: `GRANT SELECT, INSERT ON klienci TO jan;`. W większości systemów (np. PostgreSQL, Oracle, MySQL/MariaDB, SQL Server) idea jest podobna, różnią się tylko szczegóły i nazwy ról czy typów uprawnień. W dobrych praktykach bezpieczeństwa nie daje się użytkownikom uprawnień typu „wszystko na wszystkim”, tylko dokładnie to, czego potrzebują (tzw. zasada najmniejszych uprawnień – least privilege). Moim zdaniem warto już na etapie nauki SQL odróżniać polecenia do pracy na danych (SELECT, INSERT, UPDATE, DELETE) od poleceń do zarządzania uprawnieniami, takich jak GRANT i REVOKE. W codziennej pracy administratora baz, programisty backendu czy nawet osoby od DevOps, GRANT pojawia się bardzo często: przy tworzeniu nowych kont aplikacyjnych, przy separacji środowisk (dev/test/prod), przy ograniczaniu dostępu do wrażliwych tabel, np. z danymi osobowymi. Dobre zrozumienie GRANT pomaga też szybko diagnozować błędy typu „permission denied” i świadomie projektować politykę bezpieczeństwa w systemie.

Pytanie 33

Narzędziem do zarządzania bazą danych wbudowanym w pakiet XAMPP jest

A. SQLite
B. phpMyAdmin
C. MySQL Workbench
D. pgAdmin
phpMyAdmin to popularne narzędzie webowe, które jest częścią pakietu XAMPP, służące do zarządzania bazami danych MySQL. Umożliwia użytkownikom interakcję z bazą danych poprzez intuicyjny interfejs graficzny, co znacznie upraszcza wykonanie operacji takich jak tworzenie, edytowanie i usuwanie baz danych oraz tabel. Dzięki phpMyAdmin można z łatwością zarządzać uprawnieniami użytkowników, importować i eksportować dane, a także wykonywać zapytania SQL bez konieczności korzystania z linii poleceń. To narzędzie jest szczególnie przydatne dla osób, które nie mają doświadczenia w pracy z bazami danych, a jego dostępność w XAMPP czyni go idealnym rozwiązaniem dla programistów webowych i administratorów systemów. W praktyce, phpMyAdmin wspiera wiele standardów, takich jak UTF-8, co zapewnia poprawne przetwarzanie danych w różnych językach. Warto zaznaczyć, że korzystanie z phpMyAdmin jest zgodne z najlepszymi praktykami w zakresie zarządzania bazami danych, ponieważ umożliwia skuteczne monitorowanie i optymalizację wydajności bazy danych.

Pytanie 34

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

A. defragmentacja dysków.
B. blokowanie portów związanych z bazą danych.
C. używanie skomplikowanych haseł do bazy.
D. aktywacja zapory.
Defragmentacja dysków nie jest bezpośrednio związana z zabezpieczaniem serwera bazy danych przed atakami hakerskimi. Choć defragmentacja może poprawić wydajność systemu plików poprzez uporządkowanie fragmentów plików na dysku, nie ma wpływu na kwestie bezpieczeństwa. Przykłady skutecznych działań w zakresie zabezpieczeń obejmują włączenie zapory, co stanowi pierwszą linię obrony, blokowanie portów, które mogą być wykorzystywane przez potencjalnych intruzów, oraz stosowanie złożonych haseł, co minimalizuje ryzyko nieautoryzowanego dostępu. W kontekście zarządzania bezpieczeństwem baz danych, kluczowe jest przestrzeganie najlepszych praktyk, takich jak regularne aktualizacje oprogramowania, monitorowanie logów dostępu oraz stosowanie zasad minimalnych uprawnień. Właściwe zabezpieczenia powinny być wdrażane zgodnie z wytycznymi standardów takich jak ISO/IEC 27001.

Pytanie 35

Pętla while powinna działać tak długo, jak zmienna x ma wartości z przedziału obustronnie otwartego -2, 5). Zapis tego warunku w nagłówku pętli za pomocą języka PHP wygląda następująco

A. ($x == -2) && ($x < 5)
B. ($x < -2) || ($x > 5)
C. ($x > -2) && ($x < 5)
D. ($x > -2) || ($x > 5)
Prawidłowa odpowiedź, czyli ($x > -2) && ($x < 5), odzwierciedla logiczny warunek, który jest zgodny z opisanym przedziałem otwartym (-2, 5). Pętla while w języku PHP powinna wykonywać blok kodu, dopóki wartość zmiennej x jest większa od -2 oraz jednocześnie mniejsza od 5. Tego rodzaju warunek jest kluczowy w programowaniu, gdyż pozwala na przeprowadzanie iteracji, które są ograniczone do konkretnego zakresu wartości. Przykładowo, jeśli chcielibyśmy zrealizować program, który przetwarza dane tylko w tym przedziale, taki warunek umożliwiłby nam uniknięcie obliczeń dla wartości spoza tego zakresu, co może być istotne w kontekście optymalizacji wydajności. Praktycznym zastosowaniem byłoby zrealizowanie algorytmu, który zbiera dane pomiarowe w zadanym zakresie, co jest częstym przypadkiem w analizie danych. Dobrą praktyką jest także stosowanie odpowiednich komentarzy w kodzie, które wyjaśniają logikę warunków, co sprzyja późniejszej konserwacji; w tym przypadku komentarz mógłby brzmieć "Iteruj, gdy x jest w przedziale (-2, 5)".

Pytanie 36

Jaki styl CSS umożliwia ustawienie wyrównania tekstu do prawej strony?

A. <p style="font: right"> tekst </p>
B. <p style="positon: right"> tekst </p>
C. <p style="align: right"> tekst </p>
D. <p style="text-align: right"> tekst </p>
Odpowiedź <p style="text-align: right"> tekst </p> jest poprawna, ponieważ właściwość CSS 'text-align' jest standardowym sposobem definiowania wyrównania tekstu w elemencie blokowym, takim jak <p>. Używając 'text-align: right', tekst wewnątrz elementu <p> zostanie wyrównany do prawej strony, co jest szczególnie przydatne w przypadku projektów webowych, gdzie estetyka i układ treści mają kluczowe znaczenie. Dzięki CSS można z łatwością zmieniać wyrównanie tekstu w zależności od wymagań projektu, co pozwala na elastyczne dostosowywanie stylów do różnych urządzeń i rozmiarów ekranów. Warto również wspomnieć, że stosowanie CSS do stylizacji dokumentów HTML jest zgodne z zasadami kaskadowych arkuszy stylów, co zapewnia separację treści od prezentacji i ułatwia zarządzanie stylami w większych projektach. Dobrą praktyką jest stosowanie zewnętrznych lub wewnętrznych arkuszy stylów zamiast inline stylingu, co zwiększa czytelność kodu i ułatwia jego utrzymanie.

Pytanie 37

Podczas projektowania formularza konieczne jest wstawienie kontrolki, która odnosi się do innej kontrolki w odrębnym formularzu. Taka operacja w bazie danych Access jest

A. niemożliwa
B. możliwa tylko wtedy, gdy są to dane numeryczne
C. możliwa dzięki ustawieniu ścieżki do kontrolki w atrybucie "Źródło kontrolki"
D. niemożliwa w każdym trybie poza trybem projektowania
Błędne odpowiedzi wynikają z nieporozumienia dotyczącego możliwości i zasad działania kontrolek w formularzach Access. Ustawienie ścieżki do kontrolki we właściwości 'Źródło kontrolki' nie jest ograniczone do danych liczbowych, co jest błędnym założeniem. W rzeczywistości można odwoływać się do różnych typów danych, w tym tekstowych, datowych oraz liczbowych, co czyni tę funkcjonalność niezwykle uniwersalną. Twierdzenie, że odwołanie jest niemożliwe, jest również nieprawdziwe; Access oferuje rozbudowane możliwości tworzenia interakcji między formularzami, co jest szeroko stosowane w praktycznych zastosowaniach. Warto również zauważyć, że nie ma ograniczeń co do trybów pracy, które mogłyby wpływać na możliwość odwoływania się do kontrolek, co czyni to stwierdzeniem błędnym. W projektowaniu baz danych szczególnie istotne jest zrozumienie, jak różne elementy systemu mogą współdziałać, a umiejętność poprawnego użycia właściwości kontrolek jest kluczowa dla efektywności i użyteczności aplikacji. Ignorowanie tych aspektów prowadzi do nieefektywnego projektowania, w którym trudno jest zarządzać danymi oraz interakcjami użytkowników z aplikacją.

Pytanie 38

Jaki zapis w dokumencie HTML umożliwia powiązanie z zewnętrznym arkuszem stylów o nazwie style.css?

A. <a src="style.css">
B. <link rel="stylesheet' src="style.css">
C. <a href="style.css">
D. <link rel="stylesheet" href="style.css">
Zapis <a src="style.css"> jest błędny, ponieważ element <a> służy do tworzenia odnośników do innych stron lub zasobów, a nie do dołączania arkuszy stylów. Atrybut 'src' nie jest właściwy dla elementu <a>, który powinien używać atrybutu 'href'. Zastosowanie elementu <a> w tym kontekście pokazuje typowy błąd myślowy, polegający na myleniu celów różnych znaczników HTML. Element <link> jest przeznaczony do osadzania zasobów, takich jak arkusze stylów, a nie <a>, które jest używane do nawigacji. Kolejny błąd występuje w zapisie <a href="style.css">, który również nie jest przeznaczony do dołączania arkuszy stylów. Choć użycie atrybutu 'href' jest poprawne, element <a> nie jest odpowiedni do tego celu. Stosowanie niewłaściwych znaczników może prowadzić do problemów z wydajnością i dostępnością strony. Zapis <link rel="stylesheet' src="style.css"> zawiera dodatkowy błąd związany z użyciem atrybutu 'src' zamiast 'href', co jest niezgodne z definicją elementu <link> w standardzie HTML. Używanie atrybutu 'src' w tym miejscu prowadzi do nieodpowiedniego załadowania stylów i może spowodować błędy w renderowaniu strony. Takie niepoprawne podejścia prowadzą do złożoności w zarządzaniu stroną i mogą skutkować trudnościami w utrzymywaniu spójności wizualnej oraz funkcjonalnej w projekcie.

Pytanie 39

W języku SQL, aby usunąć tabelę należy zastosować polecenie

A. TRUNCATE TABLE
B. UNIQUE
C. DROP TABLE
D. DELETE
Poprawne polecenie do usunięcia całej tabeli w SQL to „DROP TABLE”. To polecenie działa na poziomie struktury bazy danych, a nie tylko na danych. Innymi słowy: nie usuwasz rekordów z tabeli, tylko samą tabelę jako obiekt – razem z jej definicją, indeksami, constraintami (klucze obce, klucze główne, unikalne, check) itp. Przykładowo, jeśli masz tabelę użytkownicy, to jej usunięcie wygląda tak: DROP TABLE uzytkownicy; Po wykonaniu tej komendy tabela przestaje istnieć w schemacie bazy. Próba SELECT * FROM uzytkownicy po takim DROP-ie zakończy się błędem typu „table does not exist”. Moim zdaniem warto zapamiętać, że DROP to operacja DDL (Data Definition Language), czyli zmienia definicję bazy, w odróżnieniu od DELETE, który jest DML (Data Manipulation Language) i modyfikuje tylko zawartość. W praktyce w projektach produkcyjnych polecenia DROP TABLE stosuje się ostrożnie, zwykle po wykonaniu kopii zapasowej lub na środowiskach deweloperskich/testowych, bo operacja jest destrukcyjna i w wielu silnikach baz danych nieodwracalna bez backupu. Dobrą praktyką jest też sprawdzenie zależności, np. kluczy obcych z innych tabel, bo DROP TABLE może się nie udać, jeśli inne tabele się do niej odwołują. W wielu systemach stosuje się wariant: DROP TABLE IF EXISTS nazwa_tabeli; co pozwala uniknąć błędu, gdy tabela już została wcześniej usunięta. Warto też mieć świadomość, że w normalnych projektach zmiany struktury bazy (w tym DROP TABLE) wykonuje się przez migracje lub skrypty wersjonujące, a nie „z palca” na produkcji, co po prostu zwiększa bezpieczeństwo i porządek w bazie.

Pytanie 40

W zamieszczonym przykładzie pseudoklasa hover sprawi, że styl pogrubiony będzie przypisany

a:hover { font-weight: bold; }
A. odnośnikowi, w momencie kiedy najechał na niego kursor myszy.
B. każdemu odnośnikowi niezależnie od aktualnego stanu.
C. wszystkim odnośnikom nieodwiedzonym.
D. wszystkim odnośnikom odwiedzonym.
Twoja odpowiedź jest prawidłowa. Pseudoklasa :hover w CSS jest używana do stylizacji elementów, na które najechał kursor myszy. Na przykład, jeżeli użyjemy stylu 'font-weight: bold;' z pseudoklasą :hover, tekst odnośnika stanie się pogrubiony tylko wtedy, kiedy na niego najedziemy kursorem. Jest to bardzo przydatne w interaktywnym designie strony internetowej, gdzie możemy w prosty sposób zasygnalizować użytkownikowi, że dany element jest aktywny lub interaktywny. Pamiętaj, że pseudoklasy w CSS są potężnym narzędziem, które pozwala nam na tworzenie zaawansowanych efektów bez konieczności użycia JavaScriptu. Znajomość i umiejętność wykorzystania pseudoklas jest zatem kluczową umiejętnością każdego front-end developera.