Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

char str1[30] = 'Ala ma kota';
printf("%s", str1); 
Jakie jest źródło błędu w prezentowanym kodzie napisanym w języku C++?
A. Napis powinien mieć dokładnie 30 znaków.
B. W funkcji printf nie można używać formatowania %s.
C. Do funkcji printf przekazano za mało argumentów.
D. Napis powinien być umieszczony w cudzysłowie.
Stwierdzenie, że do funkcji printf przekazano zbyt mało argumentów, jest błędne, ponieważ printf w tym przypadku otrzymuje jeden argument, który jest zgodny z jego prototypem. Funkcja printf przyjmuje łańcuch formatowania jako pierwszy argument, a pozostałe argumenty, które mogą być przekazane, są opcjonalne. Ponadto, pomijanie argumentów nie skutkuje błędem w kontekście tej konkretnej funkcji. Kolejne twierdzenie, że napis powinien mieć dokładnie 30 znaków, jest również mylące. W praktyce, długość napisu nie musi odpowiadać rozmiarowi tablicy, pod warunkiem, że na końcu napisu znajduje się znak null, co jest automatycznie dołączane przez kompilator przy użyciu cudzysłowów. Wreszcie, stwierdzenie, że w funkcji printf nie można stosować formatowania %s, jest fałszywe, ponieważ %s jest standardowym formatem używanym do wyświetlania łańcuchów znaków. Właściwe użycie formatów jest kluczowe w programowaniu w C/C++, a ich znajomość jest niezbędna do prawidłowego wyświetlania danych. Typowe błędy myślowe prowadzące do tych niepoprawnych wniosków obejmują nieznajomość podstaw języków C/C++ oraz niewłaściwe rozumienie zasad dotyczących łańcuchów i formatów w funkcjach wyjściowych.

Pytanie 2

W programowaniu zmienna typu integer jest wykorzystywana do przechowywania

A. liczby całkowitej
B. liczby rzeczywistej
C. wartości logicznej
D. znaku
Zmienna typu integer w programowaniu to taki typ, który służy do przechowywania liczb całkowitych. Oznacza to, że nie ma tam żadnych przecinków ani części dziesiętnych, tylko całe liczby. W wielu językach, jak C, C++, czy Python, typ integer jest naprawdę podstawowym narzędziem. Warto zaznaczyć, że te liczby mogą mieć różny zakres w zależności od języka i platformy, ale najczęściej w systemach 32-bitowych zmieszczą się w granicach od -2,147,483,648 do 2,147,483,647. Co więcej, operacje na zmiennych typu integer są zazwyczaj szybsze niż na float czy double, co w praktyce oznacza, że lepiej nadają się do obliczeń, zwłaszcza tych prostych. Na przykład, możemy stworzyć program, który zlicza wszystkie liczby całkowite w jakiejś liście. Warto też wiedzieć, że w standardzie ISO C99 mówimy, że typ int powinien mieć przynajmniej 16 bitów, co pokazuje, jak ważny jest ten typ w programowaniu. Dlatego znajomość zmiennych typu integer jest naprawdę kluczowa dla każdego programisty, który chce pisać szybkie i efektywne aplikacje.

Pytanie 3

Skrypt PHP wyświetla aktualny czas w formacie godzina:minuta:sekunda, na przykład 15:38:20. Czas w tym formacie zostanie uzyskany dzięki funkcji

A. date("G:m:s");
B. time("G:m:s");
C. date("H:i:s");
D. time("H:i:s");
Wybór time("H:i:s") jako metody zwracającej aktualny czas w pożądanym formacie jest błędny, ponieważ funkcja time() nie formatuje daty ani czasu. Zamiast tego, time() zwraca czas w postaci znacznika czasu (timestamp) – liczby sekund, które upłynęły od 1 stycznia 1970 roku, co jest znane jako Unix Epoch. Dlatego wywołanie time("H:i:s") nie zadziała, ponieważ ta funkcja nie akceptuje parametrów formatujących. Kolejną nieprawidłową odpowiedzią jest date("G:m:s"). Chociaż funkcja date() jest stosowana do formatowania czasu, pole 'G' zwraca godziny w 24-godzinnym formacie, ale bez wiodących zer (tak jak 'H'), co może prowadzić do niepoprawnego wyświetlania godzin mniejszych niż 10. Dodatkowo, 'm' odnosi się do miesięcy, a nie minut, co czyni to podejście błędnym we wszystkich aspektach. Wreszcie, w odpowiedzi time("G:m:s") ponownie pojawia się problem ze zrozumieniem funkcji time(), która nie jest używana do formatowania czasu, a zamiast tego służy tylko do uzyskania znacznika czasu. Typowe błędy myślowe związane z tymi odpowiedziami obejmują mylenie funkcji do pozyskiwania danych z funkcjami do ich formatowania oraz niepełne zrozumienie składni i możliwości dostępnych funkcji PHP. Rekomenduje się zawsze dokładne zapoznanie się z dokumentacją PHP oraz praktyczne testowanie funkcji w różnych scenariuszach, aby lepiej zrozumieć ich zastosowanie i ograniczenia.

Pytanie 4

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
B. zliczanie liczby wizyt na stronie
C. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę
D. pokazanie ciasteczka z zapisanym parametrem
W pytaniu zawarto kilka opcji związanych z działaniem ciasteczek w PHP. Pierwsza z nich mówi o wyświetleniu ciasteczka z zapisaną zmienną co nie jest zgodne z kodem, który nie zawiera żadnej funkcji wyświetlającej jak echo. Ciasteczka służą do przechowywania danych po stronie klienta i mogą być wykorzystywane do wielu celów, ale ich wyświetlenie nie jest bezpośrednim efektem działania kodu. Druga opcja wspomina o zapisaniu danych do ciasteczka tylko przy pierwszym uruchomieniu strony. Jest to częściowa prawda, ponieważ pierwsze uruchomienie inicjuje ciasteczko, ale przy każdej kolejnej wizycie liczba odwiedzin jest aktualizowana a nie pozostaje stała. Ostatnia z niepoprawnych odpowiedzi sugeruje, że za każdym odświeżeniem zapisuje się wartość 1, co jest błędne ponieważ kod zwiększa wartość o 1 przy każdym odświeżeniu strony. Typowym błędem myślowym jest założenie, że ciasteczka są statyczne lub że ich funkcjonalność jest ograniczona do prostego przechowywania danych bez logiki związanej z ich aktualizacją czy modyfikacją w ramach sesji użytkownika. Ciasteczka są elastycznym narzędziem, które może być używane w wielu zaawansowanych scenariuszach, jednak ich manipulacja musi być dobrze zrozumiana by uniknąć nieprawidłowych wniosków czy implementacji.

Pytanie 5

Aby włączyć do skryptu zawartość pliku egzamin.php z kodem PHP, należy użyć polecenia

A. getfile("egzamin.php");
B. fgets("egzamin.php");
C. include("egzamin.php");
D. fopen("egzamin.php");
Instrukcja include w PHP jest używana do włączania zawartości jednego pliku PHP do innego. Dzięki temu możemy dzielić kod na mniejsze, modularne fragmenty, co ułatwia zarządzanie nim oraz sprzyja wielokrotnemu używaniu tych samych elementów w różnych częściach aplikacji. Kiedy używamy include('egzamin.php');, PHP wykonuje kod zawarty w pliku egzamin.php w miejscu, w którym znajduje się ta instrukcja. Jest to szczególnie przydatne w przypadku, gdy chcemy załadować szereg funkcji, klas lub nawet szablonów HTML. Ponadto, jeśli plik, który chcemy dołączyć, nie istnieje, PHP zgłosi ostrzeżenie, ale skrypt będzie kontynuowany. Z perspektywy standardów programowania i najlepszych praktyk w PHP, użycie include jest szeroko akceptowane do organizacji kodu. Przykładowo, w projekcie PHP można mieć osobny plik dla połączenia z bazą danych i dołączyć go w każdym skrypcie, który wymaga dostępu do danych. Taki sposób organizacji kodu zwiększa jego czytelność i ułatwia konserwację.

Pytanie 6

W tabeli o nazwie pracownicy zdefiniowano klucz główny w typie INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowane zostały pola imie oraz nazwisko. W przypadku wykonania podanej kwerendy SQL, która dodaje dane i pomija pole klucza, w bazie danych MySQL nastąpi

INSERT INTO pracownicy (imie, nazwisko)
VALUES ('Anna', 'Nowak');
A. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
B. zignorowanie polecenia, tabela nie ulegnie zmianie
C. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
D. błąd związany z niewłaściwą liczbą pól
W przypadku tabeli z kluczem głównym typu INTEGER z atrybutem AUTO_INCREMENT, kiedy wprowadzamy nowy rekord i pomijamy pole klucza głównego, baza danych MySQL sama automatycznie przydziela kolejną wartość liczbową dla tego pola. AUTO_INCREMENT to mechanizm, który zapewnia, że każdemu nowemu rekordowi przypisana jest unikalna wartość klucza głównego, zaczynając od wartości początkowej, zwykle 1, i zwiększając ją o 1 z każdym nowym rekordem. Jest to niezwykle użyteczne w sytuacjach, gdy zależy nam na unikalności wartości kluczy głównych, co zapewnia integralność danych i unika konieczności ręcznego określania wartości klucza przy każdym nowym wpisie. Takie podejście jest zgodne ze standardami dobrych praktyk, ponieważ minimalizuje ryzyko błędów związanych z duplikacją danych. Przykładowo, jeśli do tabeli pracownicy dodajemy rekord z danymi pracownika, nie musimy się martwić o wartość identyfikatora, co znacznie upraszcza proces zarządzania danymi. Mechanizm AUTO_INCREMENT jest zatem kluczowy w kontekście zarządzania bazami danych, zapewniając automatyzację i integralność danych.

Pytanie 7

Rodzaj zmiennej w języku JavaScript

A. powinien być zadeklarowany na początku skryptu
B. następuje poprzez przypisanie wartości
C. istnieje tylko jeden
D. nie występuje
W kontekście języka JavaScript pojawiają się różne nieporozumienia dotyczące zmiennych i ich typów. Nie jest prawdą, że istnieje tylko jeden typ zmiennej w JavaScript. Programowanie w tym języku opiera się na dynamicznym typowaniu, co oznacza, że zmienne mogą przyjmować różne typy danych w czasie działania aplikacji. Stwierdzenie, że zmienna musi być zadeklarowana na początku skryptu, jest również mylące. W praktyce, zmienne można deklarować w dowolnym miejscu w kodzie, a ich zasięg (scope) określa kontekst, w którym zostały zadeklarowane. Z kolei twierdzenie, że zmienne nie występują w JavaScript, jest całkowicie błędne, ponieważ zmienne są kluczowym elementem tego języka, umożliwiającym przechowywanie i manipulowanie danymi. Typowe błędy myślowe prowadzące do takich wniosków to nieporozumienia dotyczące zasięgu zmiennych oraz różnic między językami statycznie a dynamicznie typowanymi. Warto podkreślić, że poprawne zrozumienie, jak działają zmienne w JavaScript, jest kluczowe dla efektywnego programowania, a znajomość dynamicznego typowania jest niezbędna dla każdego, kto pragnie tworzyć zaawansowane aplikacje w tym języku.

Pytanie 8

Model, w którym wszystkie informacje są zgromadzone w jednej tabeli, określa się jako struktura prostych baz danych

A. relacyjnym
B. sieciowym
C. jednorodnym
D. hierarchicznym
No więc, wybór modelu sieciowego mija się z celem, bo ten model opiera się na strukturze grafik, gdzie dane są przechowywane z różnymi relacjami między sobą. Model sieciowy pozwala na tworzenie bardziej skomplikowanych więzi niż te w modelu jednorodnym, co jest fajne w systemach, które potrzebują lepszego zarządzania danymi. A model relacyjny też tu nie pasuje, bo on działa na relacjach między tabelami i wykorzystuje klucze do łączenia danych z różnych tabel – to już jest przeciwieństwo modelu jednorodnego. Model hierarchiczny natomiast buduje dane jak drzewo, gdzie każdy element może mieć pod-elementy, co też nie pasuje do prostego modelu jednorodnego. Każdy z tych modeli ma swoje zastosowanie i plusy, ale żaden z nich nie oddaje idei modelu jednorodnego z danymi w jednej tabeli. Warto pamiętać, że dobry wybór modelu danych to klucz do łatwiejszej pracy z bazą, a zrozumienie różnic między nimi naprawdę wpływa na projektowanie systemów informatycznych.

Pytanie 9

Definicja formularza została użyta na stronie internetowej, która przesyła dane do pliku napisanego w języku PHP. W jakiej tablicy będą dostępne dane z tego formularza?

Ilustracja do pytania
A. $_COOKIE
B. $_POST
C. $_GET
D. $_ACTION
Tablica $_GET w PHP jest używana do przechwytywania danych przesyłanych metodą GET, która umieszcza dane w adresie URL. Jest to mniej bezpieczne, ponieważ dane są widoczne i łatwo dostępne w historii przeglądarki, co nie jest zalecane dla wrażliwych informacji. $_COOKIE jest używana do przechowywania danych sesyjnych w przeglądarce, a nie do przesyłania danych formularza. Cookies są często używane do utrzymywania stanu sesji użytkownika, ale nie do przesyłania danych bezpośrednich z formularza. $_ACTION nie jest w ogóle predefiniowaną tablicą w PHP, co wskazuje na błąd konceptualny w rozumieniu mechanizmów języka PHP. Wybór tej odpowiedzi może wynikać z mylenia akcji formularza z metodą przesyłania danych. Ważne jest, aby zrozumieć różnicę między tym, co dzieje się po stronie klienta (np. wybór metody POST lub GET) a tym, jak dane są przetwarzane po stronie serwera (np. dostęp do danych poprzez $_POST). Każda metoda przesyłania danych ma swoje specyficzne zastosowania i ograniczenia, dlatego kluczowe jest ich prawidłowe zrozumienie i zastosowanie w praktyce projektowania bezpiecznych aplikacji webowych.

Pytanie 10

Podstawowym celem korzystania z edytora WYSIWYG jest

A. ściąganie z Internetu pełnych portali WWW
B. wykrywanie błędów w bazie danych
C. szybka wizualizacja tworzonej strony
D. automatyzacja odtwarzania plików multimedialnych
Edytory WYSIWYG (What You See Is What You Get) są narzędziami, które umożliwiają tworzenie i edytowanie treści internetowych w sposób wizualny, co oznacza, że użytkownik widzi na ekranie dokładnie to, co otrzyma po zapisaniu dokumentu. Głównym celem ich stosowania jest przyspieszenie procesu projektowania stron internetowych poprzez natychmiastowe wizualizowanie zmian. Dzięki temu, osoby nieposiadające zaawansowanej wiedzy programistycznej mogą łatwo tworzyć atrakcyjne wizualnie strony, co ma ogromne znaczenie w kontekście szybkiego rozwoju branży webowej. Przykłady zastosowania edytorów WYSIWYG to platformy takie jak WordPress, Wix czy Squarespace, które umożliwiają użytkownikom dodawanie treści, obrazów i multimediów bez potrzeby pisania kodu. Warto również zauważyć, że edytory te wspierają standardy webowe, takie jak HTML5 i CSS3, co pozwala na optymalizację stron pod kątem SEO oraz responsywności. W związku z rosnącą popularnością edytorów WYSIWYG, znajomość ich działania staje się kluczowa dla każdego, kto pragnie efektywnie zarządzać treściami w sieci.

Pytanie 11

Podczas walidacji strony napotkano błąd. Co to oznacza?

Ilustracja do pytania
A. oznaczenie ISO-8859-2 jest nieprawidłowe
B. określenie kodowania znaków musi być zapisane bez użycia myślników
C. w atrybucie charset dopuszczalna jest wyłącznie wartość "utf-8"
D. znacznik meta nie zawiera atrybutu charset
Odpowiedź jest poprawna ponieważ współczesne standardy tworzenia stron internetowych wymagają kodowania znaków w formacie UTF-8. Specyfikacja HTML5 zaleca używanie UTF-8 jako domyślnego kodowania ze względu na jego wszechstronność i szerokie wsparcie dla różnych znaków i symboli. UTF-8 jest kompatybilny z wieloma językami i zapewnia, że strony internetowe będą prawidłowo wyświetlane na różnych urządzeniach i przeglądarkach. Korzystanie z UTF-8 eliminuje również problemy związane z niepoprawnym wyświetlaniem znaków specjalnych co jest częstym problemem w kodowaniach takich jak ISO-8859-2. W praktyce oznacza to że wszystkie nowe projekty stron internetowych powinny deklarować kodowanie UTF-8 w znaczniku meta. Na przykład poprawnie zdefiniowany znacznik wyglądałby następująco meta charset="utf-8". Dobrym podejściem jest również upewnienie się że zarówno pliki HTML jak i serwer są zgodne z tym ustawieniem co zapobiega potencjalnym konfliktom Użycie UTF-8 zgodne jest z najlepszymi praktykami branżowymi wspierającymi tworzenie dostępnych i zróżnicowanych treści internetowych.

Pytanie 12

Jaki znacznik w HTML jest używany do oznaczania fragmentów tekstu jako kodu programistycznego?

A. <blockquote> </blockquote>
B. <code> </code>
C. <em> </em>
D. <span> </span>
<code> to znacznik w HTML, który służy do oznaczania fragmentów tekstu jako kodu komputerowego. Użycie tego znacznika jest zgodne z wytycznymi W3C i stanowi istotny element semantycznej struktury dokumentów HTML. Zastosowanie <code> pozwala na wyróżnienie fragmentów tekstu, takich jak kawałki kodu źródłowego czy polecenia, co jest niezwykle ważne w kontekście programowania oraz dokumentacji technicznej. Przykłady użycia obejmują: <code>console.log('Hello, World!');</code> w JavaScript, co przekłada się na lepszą czytelność i zrozumienie dla programistów. Stosując <code>, przeglądarki często renderują ten tekst w sposób wyróżniający, na przykład z użyciem czcionki monospace, co dodatkowo podkreśla jego znaczenie w kontekście kodowania. Oprócz tego, znacznik <code> ma korzystny wpływ na SEO, ponieważ poprawia semantykę treści, co jest doceniane przez wyszukiwarki. W kontekście standardów W3C, <code> należy do rodziny znaczników, które mają na celu ułatwienie prezentacji i interpretacji treści webowych.

Pytanie 13

Który z typów plików dźwiękowych oferuje największą kompresję rozmiaru?

A. MP3
B. CD-Audio
C. WAV
D. PCM
Format MP3 (MPEG Audio Layer III) jest standardem kompresji stratnej, który znacząco zmniejsza rozmiar pliku dźwiękowego, zachowując przy tym akceptowalną jakość dźwięku. Technologia ta wykorzystuje algorytmy psychoakustyczne, które eliminują dźwięki, które są mniej słyszalne dla ludzkiego ucha. Dzięki temu możliwe jest osiągnięcie redukcji rozmiaru pliku o 70-90% w porównaniu z jakością oryginalnego nagrania. Praktyczne zastosowanie formatu MP3 jest szerokie: od przesyłania muzyki przez internet po użycie w odtwarzaczach multimedialnych oraz smartfonach. Możliwość dostosowania bitrate'u (od 32 kbps do 320 kbps) pozwala użytkownikom na balansowanie pomiędzy jakością a rozmiarem pliku. MP3 stał się de facto standardem w dystrybucji muzyki cyfrowej, a jego wsparcie w praktycznie każdym odtwarzaczu audio czyni go niezwykle uniwersalnym. Warto również dodać, że MP3 jest zgodny z wieloma standardami, takimi jak ID3, które umożliwiają dołączanie metadanych do plików audio, co dodatkowo podnosi jego funkcjonalność.

Pytanie 14

W języku JavaScript, w programowaniu obiektowym, zapis this.zawod w przedstawionym kodzie oznacza

function Uczen(){
  this.imie = "";
  this.nazwisko = "";
  this.technik = 'informatyk';
  this.zawod = function(){
    return this.technik;
  };
}
A. klasę
B. metodę
C. właściwość
D. konstruktor
Kod JavaScript używa funkcji do tworzenia obiektów, co może być mylące. Kiedy wskazujesz this.zawod, to pokazujesz, że to jest metoda, ale wybór odpowiedzi klasa jest nieprawidłowy. JavaScript nie działa z klasami jak w Javie czy C#. Klasy pojawiły się dopiero w ES6 jako taki dodatek do funkcji konstrukcyjnych. Odpowiedź metoda to w sumie strzał w dziesiątkę, bo w obiektach funkcja przypisana do właściwości to właśnie metoda, która działa na danych obiektu. Wybór konstruktor też jest błędny, bo konstruktor to specjalna funkcja do tworzenia nowych obiektów, i w naszym przykładzie to ta funkcja Uczen. Z kolei odpowiedź właściwość jest myląca, bo choć this.zawod to właściwość, która trzyma funkcję, to jest też metodą. Warto zrozumieć różnice między właściwościami a metodami, bo to jest kluczowe w programowaniu obiektowym w JavaScript.

Pytanie 15

Określ właściwą sekwencję stylów CSS, biorąc pod uwagę ich priorytet w formatowaniu elementów strony WWW?

A. Styl wewnętrzny, Styl zewnętrzny, Rozciąganie stylu
B. Styl lokalny, Styl wewnętrzny, Styl zewnętrzny
C. Rozciąganie stylu, Styl zewnętrzny, Styl lokalny
D. Styl zewnętrzny, Wydzielone bloki, Styl lokalny
Analizując inne odpowiedzi, można zauważyć, że w wielu przypadkach nie uwzględniają one podstawowych zasad kaskadowości CSS. Przykładowo, pierwsza odpowiedź sugeruje, że styl wewnętrzny powinien mieć pierwszeństwo przed zewnętrznym, co jest niepoprawne. W rzeczywistości, style zewnętrzne, które są ładowane z zewnętrznych arkuszy stylów, mogą być nadpisywane przez style lokalne i wewnętrzne, ale nie powinny być ignorowane w kontekście hierarchii. Następnie, opcja odnosząca się do wydzielonych bloków w kontekście stylów CSS nie ma podstaw teoretycznych, ponieważ nie istnieje uznawana terminologia w standardach CSS, która opisywałaby 'wydzielone bloki'. Każdy styl w CSS ma swoje miejsce w kolejności kaskadowej, a style lokalne powinny być definiowane jako najwyższe w hierarchii. Może to prowadzić do nieporozumień, zwłaszcza w przypadku początkujących programistów, którzy mogą nie rozumieć, dlaczego ich style zewnętrzne nie działają zgodnie z oczekiwaniami. Ważne jest, aby pamiętać, że odpowiednia specyfikacja i zrozumienie, które style mają pierwszeństwo, są kluczowe dla skutecznego i efektywnego projektowania stron internetowych. W przeciwnym razie, projektanci mogą napotkać problemy z nieoczekiwanym zachowaniem stylów oraz trudnościami w utrzymaniu i aktualizacji kodu CSS.

Pytanie 16

Z tabeli mieszkańcy należy uzyskać unikalne nazwy miejscowości, do czego konieczne jest użycie wyrażenia SQL z klauzulą

A. CHECK
B. DISTINCT
C. UNIQUE
D. HAVING
Odpowiedź 'DISTINCT' jest poprawna, ponieważ w SQL służy do eliminowania powtórzeń w wynikach zapytań. Użycie klauzuli DISTINCT pozwala na zwrócenie jedynie unikalnych wartości z danej kolumny, co jest idealne w sytuacjach, gdy chcemy uzyskać listę miast, w których mieszkają osoby z tabeli 'mieszkańcy'. Na przykład, zapytanie 'SELECT DISTINCT miasto FROM mieszkańcy;' zwróci wszystkie różne miasta, w których zamieszkują mieszkańcy, eliminując duplikaty. W praktyce, klauzula DISTINCT jest często stosowana w raportach oraz analityce danych, gdzie istotne jest zrozumienie rozkładu unikalnych wartości. Warto również zauważyć, że DISTINCT może być używane w połączeniu z innymi klauzulami SQL, takimi jak WHERE, aby jeszcze bardziej zawęzić wyniki. Przykład użycia: 'SELECT DISTINCT miasto FROM mieszkańcy WHERE kraj = 'Polska';'. Dobrą praktyką jest stosowanie DISTINCT w sytuacjach, gdy zarządzamy dużymi zbiorami danych, aby zapewnić ich przejrzystość i uniknąć nadmiarowych informacji.

Pytanie 17

Jakie znaczniki należy zastosować, aby w pliku z rozszerzeniem php umieścić kod napisany w języku PHP?

A. <?php ................................ ?>
B. <?php> .......................... <php?>
C. <php ..................................... />
D. <php>  .......................  </php>
Wszystkie te błędne odpowiedzi mają błędy w składni, które sprawiają, że interpreter nie może poprawnie przetworzyć kodu PHP. W pierwszej odpowiedzi użyto tagu <php>, a to jest nieprawidłowe, bo PHP wymaga znaczników <?php i ?>, a nie <php>. Druga odpowiedź jeszcze gorzej kończy znacznik otwierający, używając </php>, co jest totalnie niezgodne z poprawną składnią. Tag <?php nie powinien kończyć się w ten sposób, bo wtedy interpreter tego nie rozumie. W trzeciej odpowiedzi także pojawiają się błędne znaczniki, jak <php> i </php>, zamiast tych właściwych <?php i ?>. Przez to kod nie zadziała, będą błędy w aplikacji. W PHP znaczniki muszą być zgodne z zasadami języka, nie można korzystać z zamknięć typowych dla HTML. Te błędy mogą prowadzić do poważnych problemów w działaniu aplikacji, a także do wielu trudności w naprawianiu błędów, dlatego tak ważne jest, by rozumieć te zasady przy pisaniu kodu PHP.

Pytanie 18

Aby usunąć zduplikowane wiersze z wyniku zapytania, trzeba zastosować klauzulę

A. DISTINCT
B. ORDER BY
C. UNIQUE
D. LIMIT
Klauzula DISTINCT w SQL jest naprawdę przydatna, jeśli chcemy pozbyć się dublujących się wierszy w naszych wynikach. Wyobraź sobie, że masz tabelę 'Klienci' z kolumną 'Miasto'. Jak użyjesz zapytania SELECT DISTINCT Miasto FROM Klienci, to dostaniesz listę wszystkich miast, w których są klienci, bez powtarzania tych samych miejsc. To bardzo pomaga, gdy staramy się uporządkować dane i skupić się na unikalnych wartościach. Ale pamiętaj, żeby używać DISTINCT z rozwagą, bo może spowolnić nasze zapytania, zwłaszcza gdy mamy do czynienia z dużą ilością danych. Dobrze jest stosować ją tam, gdzie naprawdę jest potrzebna, według zasad optymalizacji zapytań w SQL.

Pytanie 19

Znaczniki HTML <strong> oraz <em>, które służą do wyróżniania istotności tekstu, odpowiadają pod względem formatowania znacznikom

A. <i> oraz <mark>
B. <b> oraz <u>
C. <b> oraz <i>
D. <u> oraz <sup>
Odpowiedzi wskazujące na <u> oraz <sup> nie są właściwe w kontekście wyróżniania istotności tekstu. Znacznik <u> oznacza tekst podkreślony, co nie jest związane z jego semantycznym znaczeniem w HTML. W przeszłości używano go do podkreślania tekstu, ale nie ma on związku z wagi treści, co czyni go mniej odpowiednim do tworzenia treści dostępnych i zrozumiałych. Użytkownicy technologii wspomagających mogą mieć trudności w zrozumieniu, dlaczego tekst jest podkreślony, gdyż niekoniecznie oznacza to, że jest on ważny. Podobnie, <sup> jest znacznikiem używanym do oznaczania tekstu w indeksie górnym, co ma zastosowanie w kontekście matematycznym lub chemicznym, ale także nie ma związku z semantycznym wyróżnianiem treści. Z kolei odpowiedzi wskazujące na <i> oraz <mark> także są niepoprawne, ponieważ <mark> służy do oznaczania tekstu, który został wyróżniony, na przykład w kontekście wyszukiwania, ale niekoniecznie odzwierciedla istotność. Ostatecznie, znacznik <i> jest używany do stylizacji tekstu w kursywie, co także nie koresponduje z semantycznym znaczeniem wyróżnienia ważności. Przy opracowywaniu treści w HTML należy unikać stosowania znaczników jedynie do celów formatowania, a zamiast tego korzystać z semantycznych znaczników, aby poprawić dostępność oraz interpretację contentu.

Pytanie 20

Aby baza danych działała poprawnie i konsekwentnie, konieczne jest wprowadzenie w każdej tabeli

A. klucza PRIMARY KEY z wartością NOT NULL i UNIQUE
B. kluczy PRIMARY KEY i FOREIGN KEY
C. klucza FOREIGN KEY z wartością NOT NULL
D. klucza obcego z wartością NOT NULL i UNIQUE
W kontekście baz danych, klucz PRIMARY KEY jest fundamentalnym elementem struktury każdej tabeli, ponieważ zapewnia unikalną identyfikację rekordów. Klucz ten musi spełniać dwie podstawowe zasady: być unikalny oraz nie pozwalać na wartości NULL. Dzięki temu każda linia w tabeli może być jednoznacznie zidentyfikowana, co jest niezbędne do zapewnienia integralności danych oraz efektywności operacji CRUD (tworzenie, odczyt, aktualizacja, usuwanie). Przykładem zastosowania klucza PRIMARY KEY może być tabela 'Użytkownicy', w której kolumna 'ID_Użytkownika' pełni rolę klucza głównego, zapewniając, że każdy użytkownik ma unikalny identyfikator. Wartości NULL w kluczu głównym byłyby problematyczne, ponieważ uniemożliwiałyby identyfikację danego rekordu. Dodatkowo, klucz ten może być użyty w relacjach między tabelami, gdzie klucz FOREIGN KEY w innej tabeli nawiązuje do PRIMARY KEY, tworząc spójną strukturę danych. Ustanawiając klucz PRIMARY KEY, projektanci baz danych mogą również efektywnie korzystać z indeksów, co przyspiesza operacje wyszukiwania oraz zwiększa wydajność bazy danych.

Pytanie 21

Które wyrażenie logiczne należy zastosować w języku JavaScript, aby wykonać operacje tylko dla dowolnych liczb ujemnych z przedziału jednostronnie domkniętego <-200, -100)?

A. (liczba <= -200) && (liczba < -100)
B. (liczba -100)
C. (liczba >= -200) || (liczba > -100)
D. (liczba >= -200) && (liczba < -100)
Poprawne wyrażenie to (liczba >= -200) && (liczba < -100), bo dokładnie odwzorowuje zapis matematyczny przedziału jednostronnie domkniętego <-200, -100). W matematyce nawias kwadratowy oznacza, że granica jest włączona do przedziału, a nawias okrągły – że granica jest wyłączona. Czyli chcemy wszystkie liczby większe lub równe -200, ale jednocześnie mniejsze niż -100. W JavaScript przekłada się to właśnie na dwa porównania połączone operatorem logicznym AND, czyli &&. Warunek liczba >= -200 pilnuje dolnej granicy, a liczba < -100 pilnuje górnej, która jest otwarta. Jeśli którakolwiek z tych części będzie fałszywa, całe wyrażenie zwróci false, co jest dokładnie tym, czego oczekujemy przy opisie takiego przedziału. W praktyce taki zapis pojawia się bardzo często, np. przy walidacji danych wejściowych, filtrowaniu wyników, ustawianiu zakresów sliderów w interfejsie użytkownika albo przy sprawdzaniu warunków w grach (np. pozycja x obiektu ma być w jakimś zakresie). Przykład w JS: if (liczba >= -200 && liczba < -100) { // wykonaj kod tylko dla liczb z tego zakresu } Moim zdaniem warto od razu wyrobić sobie nawyk zapisywania zakresów w postaci dwóch prostych porównań połączonych &&, bo to jest czytelne dla innych programistów i zgodne z powszechną praktyką w branży. W wielu językach (nie tylko JavaScript, ale też C, Java, PHP) taki schemat warunków jest standardem. Trzeba też pamiętać, że w JS nie ma osobnego operatora „przedziału”, więc zawsze rozbijamy to właśnie na takie składowe porównania logiczne.

Pytanie 22

Tabela gory zawiera dane o polskich wzniesieniach oraz łańcuchach górskich, w których te wzniesienia się znajdują. Aby uzyskać Koronę Gór Polskich, czyli najwyższe wzniesienie w każdym z łańcuchów górskich, należy wykonać kwerendę

A. SELECT pasmo, szczyt FROM gory GROUP BY wysokosc
B. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory
C. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo
D. SELECT pasmo, szczyt, wysokosc FROM gory
Odpowiedź SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo; jest poprawna, ponieważ wykorzystuje funkcję agregującą MAX, która pozwala na wybranie najwyższego szczytu w każdym paśmie górskim. Grupa pasm górskich jest tworzona za pomocą klauzuli GROUP BY, co jest kluczowe w tym kontekście, ponieważ chcemy uzyskać najwyższy szczyt dla każdej grupy, a nie tylko globalny najwyższy szczyt. W praktyce, takie podejście jest niezwykle użyteczne w analizach geograficznych i tworzeniu raportów, gdzie grupowanie danych według określonych kryteriów pozwala na lepsze zrozumienie struktury danych. W kontekście baz danych, stosowanie funkcji agregujących w połączeniu z klauzulą GROUP BY jest standardową praktyką, co zwiększa efektywność zapytań oraz pozwala na uzyskanie bardziej precyzyjnych wyników. Przykładowo, podobne zapytania mogą być używane w analizach sprzedażowych, gdzie chcemy zobaczyć maksymalną sprzedaż w każdym regionie, co również wymaga grupowania danych według regionów.

Pytanie 23

Który efekt został zaprezentowany na filmie?

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

Pytanie 24

Jakie z wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie (6, 203)?

A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) || (zm1 <= 203)
C. (zm1 > 6) && (zm1 <= 203)
D. (zm1 > 6) && (zm1 != 203)
W analizie wyrażeń logicznych ważne jest zrozumienie logiki za każdym z operatorów oraz ich zastosowania w kontekście zadania. Przykładowo, wyrażenie (zm1 > 6) || (zm1 <= 203) jest niepoprawne, ponieważ użycie operatora || (OR) sugeruje, że wystarczy, aby zm1 spełniało jeden z dwóch warunków, co nie jest zgodne z definicją przedziału. W przypadku (zm1 > 6) && (zm1 != 203) wyrażenie również nie jest prawidłowe, ponieważ ignoruje dolny limit przedziału – wartość 203 nie jest wbudowana w przedział, co sprawia, że zmienna może przyjmować wartości, które nie są odpowiednie. Z kolei (zm1 > 6) || (zm1 != 203) jest całkowicie mylne, gdyż połączenie operatora OR nie tylko rozluźnia wymagania, ale również wprowadza błąd logiczny, który może prowadzić do nieprawidłowych wyników, gdyż zm1 może być mniejsze lub równe 6. Te błędy mogą wynikać z niepełnego zrozumienia operatorów logicznych oraz ich kontekstu w programowaniu. Właściwe stosowanie operatorów logicznych jest kluczowe dla tworzenia poprawnych i niezawodnych aplikacji. Warto pamiętać, że precyzyjne określenie zakresów i warunków w programie ma kluczowe znaczenie dla jego poprawności oraz stabilności działania.

Pytanie 25

Jakie technologie są konieczne do uruchomienia systemu CMS Joomla!?

A. PHP oraz MySQL
B. Apache, PHP i MySQL
C. IIS, PERL i MySQL
D. Apache oraz PHP
Joomla! jest systemem zarządzania treścią, który wymaga specyficznych technologii do prawidłowego działania. Do uruchomienia Joomla! niezbędne jest środowisko, które obejmuje serwer WWW Apache, język skryptowy PHP oraz bazę danych MySQL. Apache jest najpopularniejszym serwerem WWW, który obsługuje wiele funkcji, takich jak obsługa dynamicznych treści oraz zarządzanie dużymi ilościami ruchu. PHP jest językiem skryptowym, który pozwala na interakcję z bazą danych oraz generowanie treści w czasie rzeczywistym, co jest kluczowe dla działania CMS-a. MySQL natomiast jest systemem zarządzania bazą danych, który przechowuje wszystkie dane dotyczące witryny, takie jak artykuły, ustawienia i użytkownicy. Przykładem zastosowania tych technologii może być stworzenie strony internetowej dla lokalnej organizacji non-profit, gdzie Joomla! umożliwia łatwe zarządzanie treścią przez osoby nieposiadające zaawansowanej wiedzy technicznej. Dobre praktyki w branży zalecają stosowanie najnowszych wersji tych technologii, aby zapewnić bezpieczeństwo oraz wydajność witryny.

Pytanie 26

Jaką wartość uzyska zmienna x po wykonaniu kodu PHP zaprezentowanego w ramce?

Ilustracja do pytania
A. Ilość wierszy w bazie danych
B. Ilość wierszy dodanych do tabeli produkty
C. Ilość wierszy przetworzonych przez zapytanie DELETE FROM
D. Ilość wierszy w tabeli produkty, gdzie pole status jest większe od zera
Podczas analizy innych opcji należy zrozumieć, dlaczego nie są one poprawne. Jeśli chodzi o odpowiedź sugerującą, że zmienna x przyjmie wartość liczby wierszy dodanych do tabeli produkty, to jest to błędne, ponieważ funkcja mysqli_affected_rows() nie zlicza wierszy dodanych, lecz tylko te, które zostały zmienione w wyniku operacji INSERT, UPDATE lub DELETE. Inna odpowiedź sugerująca, że zmienna mogłaby przyjąć wartość liczby wierszy w całej bazie danych, jest również niepoprawna. Aby obliczyć całkowitą liczbę wierszy w tabeli, używa się zapytania SELECT COUNT(*), a nie mysqli_affected_rows(). Ta funkcja nie jest przeznaczona do wykonywania zliczania rekordów bezpośrednio z bazy danych. Kolejna niepoprawna propozycja dotyczy liczby wierszy, dla których pole status jest większe od zera. W naszym zapytaniu DELETE nie ma żadnego odniesienia do takich wierszy, ponieważ warunek WHERE specyfikuje usunięcie jedynie tych z wartością status mniejszą od zera. To oznacza, że mysqli_affected_rows() nie zwróci żadnej wartości w odniesieniu do wierszy z innymi warunkami. Typowym błędem jest interpretowanie funkcji jako uniwersalnego narzędzia do zliczania rekordów w różnych kontekstach, podczas gdy jej rzeczywiste zastosowanie jest ściśle związane z operacjami modyfikującymi zawartość tabel w bazie danych. Warto zwrócić uwagę na właściwe użycie tej funkcji w kontekście operacji modyfikujących oraz na precyzyjne konstruowanie zapytań SQL w celu osiągnięcia oczekiwanych rezultatów. Korzystanie z mysqli_affected_rows() umożliwia sprawne zarządzanie i monitorowanie efektów operacji na danych, co jest kluczowe w projektowaniu niezawodnych aplikacji bazodanowych.

Pytanie 27

W CSS zapis

a[target="_blank"] {color: yellow;}
spowoduje, że tekst linków przybierze kolor żółty.
A. wszystkich linków.
B. linków, które otwierają się w tej samej karcie.
C. linków, które otwierają się w nowej karcie.
D. treści akapitu.
Odpowiedź 'odnośników, które otwierają się w osobnej karcie' jest poprawna, ponieważ w CSS selektor 'a[target="_blank"]' odnosi się do elementów <a> (odnośników), które mają atrybut 'target' ustawiony na '_blank'. Oznacza to, że te odnośniki są zaprojektowane do otwierania linków w nowej karcie lub oknie przeglądarki. Przykład zastosowania: jeśli tworzymy stronę internetową z odnośnikami do zewnętrznych zasobów, użycie atrybutu 'target="_blank"' pozwala użytkownikom na zachowanie otwartej strony w przeglądarce. W CSS, kolor czcionki tych odnośników został ustawiony na żółty, co jest praktycznym podejściem do wyróżnienia ich w stosunku do innych linków. Warto również zauważyć, że stosowanie kolorów w kontekście dostępności jest istotne, dlatego dobór kolorów powinien być przemyślany, aby nie wpłynąć negatywnie na czytelność. Dobre praktyki obejmują również dodanie wskazówki do odnośnika, na przykład poprzez użycie atrybutu 'title', co jeszcze bardziej ułatwia użytkownikom zrozumienie, czego mogą się spodziewać po kliknięciu w link.

Pytanie 28

Które z poniższych zapytań SQL zwróci wszystkie kolumny z tabeli 'produkty'?

A. SELECT * FROM produkty;
B. SELECT produkty FROM *;
C. GET * FROM produkty;
D. FETCH * FROM produkty;
Zapytanie SQL, które zwraca wszystkie kolumny z tabeli, wykorzystuje składnię SELECT * FROM nazwa_tabeli. Gwiazdka (*) jest symbolem, który oznacza, że chcemy pobrać wszystkie kolumny z danej tabeli. Jest to bardzo przydatne, gdy chcemy szybko uzyskać pełne dane z tabeli bez konieczności wymieniania każdej kolumny z osobna. W praktyce często używa się tej składni w sytuacjach, gdy chcemy wykonać operacje diagnostyczne lub szybkie przeglądanie zawartości tabeli. Jednakże, w środowiskach produkcyjnych, zaleca się raczej precyzyjne określanie potrzebnych kolumn zamiast używania "*", ponieważ pozwala to na optymalizację zapytań i może zmniejszyć obciążenie bazy danych. Niemniej jednak, zapytanie SELECT * FROM produkty; jest poprawne i zgodne z SQL-owym standardem, co czyni je prawidłowym wyborem w tym kontekście.

Pytanie 29

W tabeli psy znajdują się kolumny: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby uzyskać numery telefonów właścicieli psów, które były szczepione przed rokiem 2015?

A. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015
B. SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015
C. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015
D. SELECT psy FROM rok_szczepienia < 2015
Wybór odpowiedzi 'SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015' jest poprawny, ponieważ spełnia wszystkie kryteria zawarte w pytaniu. Kluczowym elementem jest zastosowanie klauzuli WHERE, która filtruje wyniki do tych, gdzie rok szczepienia jest mniejszy niż 2015. Używając SELECT, wybieramy tylko kolumnę 'telefon_wlasciciela', co odpowiada na konkretną potrzebę, jaką jest uzyskanie numerów telefonów właścicieli psów, które były szczepione przed określoną datą. W praktyce, takie zapytanie może być użyteczne w sytuacjach np. przypominania właścicielom o konieczności szczepień, co wpisuje się w szerszy kontekst zarządzania zdrowiem zwierząt. Dobre praktyki w SQL obejmują również staranność przy określaniu warunków filtracji, aby zminimalizować ryzyko błędnych wyników. Warto także pamiętać o indeksowaniu kolumn w bazie danych, co może przyspieszyć wykonywanie takich zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 30

W przedstawionej definicji stylu CSS, powtarzanie dotyczy

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. rysunku umieszczonego w tle strony w pionie.
B. rysunku umieszczonego w tle strony w poziomie.
C. rysunku umieszczonego znacznikiem img.
D. tła każdego ze znaczników akapitu.
Twoja odpowiedź jest na miejscu. To, co mówi 'background-repeat: repeat-y;' w CSS, oznacza, że tło będzie się powtarzać w pionie. Super sprawa, jeśli chcesz, by obraz w tle pokrywał całą wysokość elementu, niezależnie od tego, jak duży on jest. Używa się tego często w projektowaniu stron, żeby stworzyć fajne efekty wizualne, jak na przykład tło, które działa w pasku nawigacyjnym. Warto pamiętać, że powtarzanie tła to zaledwie jedna z wielu opcji, jakie mamy w CSS. Możesz również ustawiać pozycję tła czy jego rozmiar, żeby wszystko wyglądało tak, jak chcesz.

Pytanie 31

W jaki sposób można ocenić normalizację przedstawionej tabeli?

FirmaAdres
Forbotul. Krótka 11, 22-222 Warszawa
Marbotul. Długa 5, 33-333 Warszawa
A. Tabela nie została znormalizowana
B. Tabela znajduje się w pierwszej postaci normalnej
C. Tabela znajduje się w drugiej postaci normalnej
D. Tabela jest w trzeciej postaci normalnej
Pierwsza postać normalna wymaga aby wszystkie wartości atrybutów w rekordzie były atomowe czyli nieredukowalne Tabela przedstawiona w zadaniu nie spełnia tego wymogu ponieważ adresy nie są rozbite na osobne elementy takie jak ulica miasto i kod pocztowy co uniemożliwia bardziej złożoną manipulację danymi oraz precyzyjne wyszukiwanie Druga postać normalna wymaga aby wszystkie atrybuty nie będące częścią klucza głównego były w pełni funkcjonalnie zależne od całego klucza Tabela z pytania nie spełnia tych kryteriów ponieważ istnieje redundancja i brak wyraźnej struktury Klucz główny w dobrze zaprojektowanej tabeli bazy danych powinien jednoznacznie identyfikować każdy wiersz co nie jest widoczne w tej strukturze Trzecia postać normalna idzie krok dalej eliminując zależności przechodnie między atrybutami co w przypadku tej tabeli również nie ma zastosowania Problemem tutaj jest brak rozdzielenia danych na mniejsze tabele co prowadzi do redundancji i potencjalnych błędów przy aktualizacji danych często określanych jako anomaly W dobrze znormalizowanej bazie danych oddzielenie informacji takich jak dane adresowe umożliwia lepszą organizację danych ich spójność oraz zwiększa efektywność operacji na bazie danych

Pytanie 32

Jakim słowem kluczowym można zestawić wyniki dwóch zapytań SELECT, które operują na różnych tabelach, aby utworzyć jeden zbiór danych?

A. JOIN
B. AS
C. DISTINCT
D. UNION
Odpowiedzi takie jak JOIN, DISTINCT i AS są niepoprawne w kontekście łączenia wyników kwerend SELECT z różnych tabel w jeden zbiór. JOIN jest używane do łączenia rekordów z dwóch tabel na podstawie powiązania między nimi, co oznacza, że wymaga istnienia relacji między danymi, co nie jest przypadkiem w każdym scenariuszu, w którym chcemy połączyć wyniki. INCLUDES, które może być naturalnym skojarzeniem z łączeniem danych, nie pasuje do sytuacji, gdy kwerendy SELECT są niezależne od siebie. DISTINCT natomiast jest używane do eliminowania duplikatów z wyników jednej kwerendy, ale nie służy do łączenia wyników z różnych źródeł. Wreszcie, AS jest używane głównie do nadawania aliasów kolumnom lub tabelom, co nie ma zastosowania w kontekście łączenia wyników kwerend. Typowym błędem myślowym jest zakładanie, że każde słowo kluczowe związane z SELECT może być użyte do łączenia wyników, podczas gdy każde z nich ma swoje specyficzne zastosowanie i ograniczenia. Zrozumienie tych różnic jest kluczowe dla prawidłowego stosowania SQL w praktyce i tworzenia efektywnych zapytań, które zwracają oczekiwane wyniki.

Pytanie 33

W wyniku działania pętli zapisanej w języku PHP zostanie wypisany ciąg liczb:

 $liczba = 10;
while ($liczba < 50) {
    echo "$liczba ";
    $liczba = $liczba + 5;
}
A. 10 15 20 25 30 35 40 45 50
B. 10 15 20 25 30 35 40 45
C. 0 5 10 15 20 25 30 35 40 45 50
D. 0 5 10 15 20 25 30 35 40 45
Dobrze zrozumiałeś działanie pętli while w języku PHP. Wybrana przez Ciebie sekwencja liczb (10, 15, 20, 25, 30, 35, 40, 45) jest poprawna. Pętla while, znajdująca się w skrypcie PHP, rozpoczyna działanie od wartości zmiennej, którą określono jako 10 i zwiększa ją o 5 za każdą iteracją, dopóki jej wartość jest mniejsza niż 50. Tak więc, ostatnią wydrukowaną liczbą jest 45, ponieważ w kolejnym kroku wartość zmiennej wynosiłaby już 50, co jest wartością większą od maksymalnej zdefiniowanej w warunku pętli. Zrozumienie działania pętli to klucz do efektywnego programowania, umożliwiającego tworzenie skomplikowanych algorytmów. Dobre praktyki zalecają, aby zawsze dokładnie analizować i rozumieć, jak daną pętle będą interpretowane przez interpreter języka.

Pytanie 34

Która z pętli w PHP umożliwia przeprowadzenie operacji na wszystkich elementach tablicy z automatycznym przypisaniem indeksów tych elementów?

A. for
B. foreach
C. while
D. do...while
Odpowiedź 'foreach' jest poprawna, ponieważ ta konstrukcja w języku PHP została stworzona specjalnie do iteracji po elementach tablicy. Zastosowanie 'foreach' pozwala na komfortowe i czytelne przeglądanie każdego elementu tablicy bez potrzeby ręcznego zarządzania indeksami, co jest szczególnie przydatne w przypadku tablic asocjacyjnych, gdzie klucze mogą być dowolnymi typami danych. Przykład zastosowania 'foreach': dla tablicy $fruits = ['jabłko', 'banan', 'gruszka']; używamy pętli: foreach ($fruits as $fruit) { echo $fruit; } To pozwala na wypisanie każdego owocu w tablicy. Warto również podkreślić, że 'foreach' jest bardziej wydajny i bardziej intuicyjny niż inne pętle, takie jak 'for' czy 'while', które wymagają dodatkowego zarządzania indeksami. W praktyce, 'foreach' jest standardem w iteracji tablic w PHP i jego użycie jest zgodne z najlepszymi praktykami programistycznymi.

Pytanie 35

Wskaż styl CSS za pomocą którego został uzyskany przedstawiony efekt.

  • psy
  • koty
  • chomiki
  • świnki morskie
  • rybki
A. ul li:active { background-color: DodgerBlue; }
B. ul li:hover { background-color: DodgerBlue; }
C. ul li:nth-child(even) { background-color: DodgerBlue; }
D. ul li:nth-child(odd) { background-color: DodgerBlue; }
Wybrane przez Ciebie odpowiedzi są nieprawidłowe. Zacznijmy od selektora CSS 'ul li:active { background-color: DodgerBlue; }' - aktywny stan elementu to moment, kiedy jest on aktualnie klikany, co nie pasuje do obserwowanego efektu. Następnie 'ul li:nth-child(odd) { background-color: DodgerBlue; }' - ten selektor odnosi się do nieparzystych elementów listy, podczas gdy na obrazku parzyste elementy mają niebieskie tło. Na koniec 'ul li:hover { background-color: DodgerBlue; }' - pseudoklasa :hover odnosi się do stanu, kiedy kursor myszy jest nad elementem, co również nie jest zgodne z efektem na obrazku. Wybór nieodpowiedniej pseudoklasy sugeruje, że nie zrozumiałeś do końca ich zastosowania w CSS. Jest to typowy błąd, który można naprawić przez dokładniejsze zapoznanie się z tym aspektem języka CSS, konkretnie z różnymi pseudoklasami i ich zastosowaniem.

Pytanie 36

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku zdecydowano o podwyżce pensji dla wszystkich pracowników o 100 zł. Ta aktualizacja w bazie danych powinna mieć formę

A. UPDATE pensja SET 100
B. UPDATE pracownicy SET pensja = 100
C. UPDATE pracownicy SET pensja = pensja + 100
D. UPDATE pensja SET +100
Odpowiedź 'UPDATE pracownicy SET pensja = pensja + 100;' jest właściwa, ponieważ używa standardowej składni SQL do aktualizacji danych w tabeli. W tym przypadku, instruktacja 'SET pensja = pensja + 100' oznacza, że dla każdego rekordu w tabeli 'pracownicy', wartość kolumny 'pensja' zostanie zwiększona o 100 zł. To podejście jest zgodne z zasadami dobrych praktyk w programowaniu SQL, ponieważ aktualizuje wartość na podstawie jej bieżącej wartości, co pozwala na zachowanie pełnej kontroli nad danymi. Tego rodzaju aktualizacja jest często stosowana w bazach danych, gdy konieczne jest modyfikowanie istniejących danych na podstawie ich aktualnych wartości. Na przykład, jeśli w tabeli mamy pracowników z różnymi wynagrodzeniami, każdemu z nich dodamy stałą kwotę, co sprawia, że struktura danych pozostaje spójna. Dodatkowo, takie podejście ma zastosowanie w praktycznych scenariuszach, takich jak coroczne podwyżki wynagrodzeń, co jest powszechną praktyką w wielu organizacjach, a poprawność tej operacji można zweryfikować poprzez zapytania SELECT po aktualizacji.

Pytanie 37

W skrypcie JavaScript operatory: ||, && zaliczane są do kategorii operatorów

A. arytmetycznych
B. bitowych
C. przypisania
D. logicznymi
Odpowiedź 'logicznym' jest poprawna, ponieważ w języku JavaScript operatory || (logiczne OR) i && (logiczne AND) są klasyfikowane jako operatory logiczne. Te operatory służą do wykonywania operacji na wartościach logicznych (prawda/fałsz). Użycie operatora && powoduje, że wyrażenie zwraca prawdę tylko wtedy, gdy oba operandy są prawdziwe. Z kolei operator || zwraca prawdę, jeśli przynajmniej jeden operand jest prawdziwy. Przykładem ich zastosowania może być warunkowe wykonywanie kodu, np. w instrukcjach if, gdzie możemy sprawdzić, czy spełnione są określone warunki. Standardowe praktyki programistyczne zalecają używanie tych operatorów do efektywnego zarządzania logiką programów, co zwiększa ich czytelność i umożliwia łatwiejszą konserwację. Ważne jest także zrozumienie, że operatory te wykonują krótką ocenę (short-circuit evaluation), co oznacza, że ​​nie obliczają drugiego operandu, jeśli pierwszy już decyduje o wyniku. Dzięki tym właściwościom, operatory logiczne są kluczowym elementem wszelkich aplikacji programistycznych, które potrzebują podejmować decyzje w oparciu o różne warunki.

Pytanie 38

W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu: ```

CSS

Kaskadowe arkusze stylów (ang. Cascading Style Sheets)
to język służący ...```

A. Znacznik br nie może występować wewnątrz znacznika p.
B. Znacznik br nie został poprawnie zamknięty.
C. Znacznik zamykający /b niezgodny z zasadą zagnieżdżania.
D. Nieznany znacznik h6.
Twoja odpowiedź jest poprawna. Znacznik zamykający /b w badanym kodzie HTML jest niezgodny z zasadą zagnieżdżania. Zasada ta mówi, że znaczniki powinny być zamykane w odwrotnej kolejności do otwierania - zgodnie z modelem LIFO (Last In, First Out). W praktyce oznacza to, że jeśli otworzyliśmy na przykład najpierw znacznik <i>, a następnie <b>, to najpierw powinniśmy zamknąć <b>, a dopiero potem <i>. Nieprzestrzeganie tej zasady może prowadzić do nieoczekiwanych wyników podczas renderowania strony. Jest to istotne dla utrzymania czytelności i prawidłowego funkcjonowania kodu. W codziennej praktyce, szczególnie w większych projektach, stosowanie się do takich zasad pomaga utrzymać kod zrozumiałym i łatwym do zarządzania.

Pytanie 39

Jaką właściwość należy zastosować w stylu CSS, aby określić krój czcionki?

A. font-family
B. font-style
C. text-family
D. text-style
Odpowiedź 'font-family' jest poprawna, ponieważ w CSS to właśnie ta właściwość służy do określenia rodziny czcionek, które mają być używane w danym elemencie. Właściwość 'font-family' pozwala na zdefiniowanie podstawowych czcionek, a także alternatywnych, które mogą być użyte, jeśli preferowana czcionka nie jest dostępna. Przykładowo, zapisywanie: `font-family: Arial, sans-serif;` wskazuje, że przeglądarka powinna używać czcionki Arial, a w przypadku jej braku - czcionki z rodziny sans-serif. To podejście jest szczególnie ważne w kontekście tworzenia responsywnych i dostępnych interfejsów użytkownika, gdzie różne urządzenia mogą obsługiwać różne czcionki. Dodatkowo, zgodnie z wytycznymi W3C i zasadami projektowania, zaleca się określanie co najmniej dwóch czcionek: głównej i alternatywnej, aby zapewnić odpowiednią estetykę i czytelność tekstu. Znajomość właściwości 'font-family' jest kluczowa dla każdego, kto zajmuje się projektowaniem stron internetowych, pozwalając na lepsze dostosowanie wyglądu i funkcjonalności serwisów oraz aplikacji webowych.

Pytanie 40

Zapis koloru w formacie #ff00e0 jest równoważny reprezentacji

A. rgb(ff, 0, e0)
B. rgb(255, 0, 128)
C. rgb(255, 0, 224)
D. rgb(f, 0, e0)
Odpowiedzi rgb(f, 0, e0) oraz rgb(ff, 0, e0) zawierają błędy dotyczące formatu wartości RGB. W przypadku formatu RGB, wartości składowych koloru muszą być liczbami całkowitymi w przedziale od 0 do 255. W pierwszym przypadku 'f' i 'e0' nie są poprawnymi wartościami, ponieważ 'f' nie reprezentuje liczby w systemie dziesiętnym, a 'e0' nie zostało przeliczone na wartość dziesiętną, co czyni tę odpowiedź niezgodną ze standardami definiowania kolorów. Z kolei druga odpowiedź, rgb(ff, 0, e0), również nie przekształca wartości szesnastkowych na format dziesiętny. Standard RGB wymaga, aby wartości były zrozumiałe dla silnika renderującego, dlatego niepoprawne są wartości, które nie są liczbami całkowitymi. Pojawiają się też koncepcje dotyczące odczytywania wartości szesnastkowych, gdzie podstawowym błędem jest brak znajomości konwersji między tymi systemami liczbowymi. Wartości szesnastkowe trzeba zamieniać na dziesiętne, aby prawidłowo interpretować kolory. W przypadku rgb(255, 0, 128), wartość niebieska została błędnie określona jako 128, co jest znacznie niższe niż 224, co prowadzi do błędnej interpretacji koloru. Używanie błędnych wartości w definicji kolorów może skutkować niezgodnością wizualną w projektach graficznych i webowych.