Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 28 kwietnia 2026 16:51
  • Data zakończenia: 28 kwietnia 2026 17:00

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

Aby grupować obszary na poziomie bloków, które będą stylizowane za pomocą znacznika: należy wykorzystać

A. <param>
B. <p>
C. <div>
D. <span>
Element <div> to naprawdę ważna część HTML-a, bo pozwala na porządne grupowanie treści na stronie. Dzięki niemu możemy lepiej zorganizować dokument, co nie tylko wygląda estetycznie, ale też ma znaczenie dla semantyki. Używając <div>, łatwiej podpinamy style CSS i skrypty JavaScript, co bardzo pomaga w budowaniu responsywnych układów. Na przykład, gdy tworzymy stronę z nagłówkiem, głównym tekstem i stopką, to dobrze jest wrzucić te sekcje w odpowiednie <div>, bo potem łatwiej je stylizować i edytować. Trzeba pamiętać, że <div> nie ma swojej domyślnej semantyki, więc jego znaczenie zależy tylko od kontekstu, w jakim go użyjemy, co czyni go naprawdę wygodnym narzędziem w tworzeniu nowoczesnych stron.

Pytanie 2

Rekordy do raportu mogą pochodzić z

A. makropolecenia
B. tabeli
C. zapytania INSERT INTO
D. innego raportu
Tabela stanowi fundamentalne źródło danych w kontekście raportowania, ponieważ przechowuje zorganizowane informacje w formie wierszy i kolumn. W praktyce, raporty często opierają się na danych zgromadzonych w tabelach, które są częścią bazy danych. Dzięki strukturze tabeli, możliwe jest łatwe filtrowanie, sortowanie i agregowanie danych, co jest kluczowe w procesie tworzenia raportów. Na przykład, w systemach CRM, dane o klientach są przechowywane w tabeli, co pozwala na wygenerowanie raportów dotyczących sprzedaży, aktywności klientów czy trendów rynkowych. W kontekście standardów branżowych, stosowanie tabel w relacyjnych bazach danych jest nie tylko powszechne, ale również zgodne z najlepszymi praktykami, które zalecają utrzymywanie danych w znormalizowanej formie, aby minimalizować redundancję i ułatwiać zarządzanie danymi. Dodatkowo, w przypadku tworzenia raportów, można korzystać z języka SQL, aby dynamicznie wydobywać dane z tabel, co zwiększa elastyczność i precyzję raportowania.

Pytanie 3

Jakie metody są związane z predefiniowanym obiektem Date w języku JavaScript?

A. getMonth() oraz getDay()
B. fromCodePoint()
C. concat() oraz pop()
D. row()
Metody row(), fromCodePoint() oraz concat() i pop() nie są związane z obiektem Date w JavaScript, stąd ich niepoprawność w kontekście pytania. Metoda row() nie istnieje w standardzie JavaScript, co czyni ją całkowicie nieodpowiednią w analizie dat. Z kolei fromCodePoint() jest metodą stosowaną w kontekście pracy z Unicode, a nie datami; służy do konwersji punktów kodowych na znaki, co nie ma zastosowania w operacjach na obiektach Date. Metody concat() oraz pop() są właściwe dla obiektów typu Array. concat() łączy dwa lub więcej tablic, natomiast pop() usuwa ostatni element tablicy. Obie te metody nie mają związku z manipulowaniem datami, a ich wykorzystanie w kontekście obiektu Date jest błędne. Dlatego odpowiedzi te są niewłaściwe i nie mają zastosowania w kontekście funkcji obiektu Date w JavaScript, co pokazuje, jak ważne jest zrozumienie kontekstu i specyfiki metod w języku JavaScript.

Pytanie 4

Jaką wartość wydrukuje na standardowe wyjście poniższy fragment kodu C++?

int obliczenia( int x ) {
x %= 3;
x++;
return x;
}

int main() {
std::cout<<obliczenia(32);
}
A. 0
B. 2
C. 3
D. 32
Rozważając dostępne odpowiedzi musimy przeanalizować dlaczego niektóre z nich są błędne w kontekście działania fragmentu programu. Zaczynając od odpowiedzi 0 warto zauważyć że reszta z dzielenia 32 przez 3 nie wynosi 0 co oznacza że operacja x %= 3 nie da w wyniku zera. Wartość 0 mogłaby być wynikiem tylko wtedy gdyby liczba 32 była podzielna przez 3 co nie jest prawdą w tym przypadku. Przechodząc dalej odpowiedź 32 sugeruje że operacje wewnątrz funkcji nie zmieniają wartości x co jest błędnym założeniem. Operacja x %= 3 zmienia wartość x na 2 a następnie x++ zmienia ją na 3. Dlatego wynik nie może być 32 ponieważ funkcja jawnie modyfikuje wartość wejściową. W kontekście odpowiedzi 2 operacje w funkcji mogą rzeczywiście prowadzić do wyniku 2 jeśli pominie się krok inkrementacji. Jednakże analiza kodu pokazuje że po operacji modulo wartość x wynosi 2 a następny krok to x++ który zwiększa tę wartość do 3. W rezultacie żadna z tych odpowiedzi nie uwzględnia pełnego przepływu operacji w funkcji co prowadzi do nieprawidłowych wniosków. Analizując ten problem można zauważyć jak ważne jest dokładne śledzenie przepływu danych w programie oraz zrozumienie wpływu każdej operacji na ostateczny wynik co jest kompetencją kluczową w profesjonalnym programowaniu.

Pytanie 5

Jakie będzie wynikowe wyjście po uruchomieniu tego skryptu PHP?

<?php
$kolory = array("czarny", "zielony", "niebieski", "biały");
rsort($kolory);
$ile = count($kolory);
for($x = 0; $x < $ile; $x++)
{
  echo $kolory[$x].", ";
}
?>
A. zielony, niebieski, czarny, biały
B. biały, czarny, niebieski, zielony
C. biały, niebieski, zielony, czarny
D. czarny, zielony, niebieski, biały
Skrypt PHP wykorzystuje funkcję rsort() do sortowania tablicy w porządku malejącym alfabetycznie. W tym przypadku tablica zawiera kolory: czarny zielony niebieski biały. Funkcja rsort() zmienia kolejność elementów według malejącej wartości ASCII pierwszej litery każdego ciągu znakowego. Gdy tablica jest sortowana w ten sposób pierwsza spółgłoska kończy się na największym zestawie znaków ASCII. Dlatego wynik to zielony niebieski czarny biały. Po sortowaniu pętla for iteruje przez wszystkie elementy tablicy używając funkcji count() do określenia długości tablicy i wypisuje każdy kolor oddzielony przecinkiem. Użycie rsort() jest zgodne z dobrymi praktykami programistycznymi w przypadku gdy chcemy uzyskać szereg wsteczny np. do wyświetlania list w interfejsach użytkownika od końca do początku. Zapewnienie że dane wejściowe są poprawnie uporządkowane pozwala na efektywne zarządzanie danymi a zrozumienie tego procesu jest kluczowe w budowaniu dynamicznych aplikacji PHP.

Pytanie 6

Jaką transformację w CSS zastosujemy, aby tylko pierwsze litery wszystkich słów stały się wielkie?

A. uppercase
B. lowercase
C. underline
D. capitalize
Bezpośrednie odniesienie do odpowiedzi 'underline' nie ma związku z transformacją liter, ponieważ ta właściwość w CSS dotyczy podkreślenia tekstu, a nie zmiany wielkości liter. Użycie 'underline' nie zmienia formy wyświetlania liter, a jedynie dodaje efekt wizualny, który nie wpływa na tekst jako taki. Wybór 'uppercase' jest również mylący; zmienia on wszystkie litery na wielkie, co jest przeciwieństwem zamierzonego efektu, który dotyczy wyłącznie pierwszych liter wyrazów. Z kolei 'lowercase' koncentruje się na zmianie wszystkich liter na małe, co również prowadzi do niepożądanego efektu, jeśli celem jest uwydatnienie pierwszych liter. Typowym błędem w rozumieniu tych opcji jest założenie, że wszystkie one mogą pełnić tę samą funkcję, co może prowadzić do niepoprawnego stylizowania tekstu. Przy projektowaniu interfejsu użytkownika istotne jest zrozumienie, że różne właściwości CSS mają różne zastosowania i efekty. Dlatego ważne jest, aby przed podjęciem decyzji o stylizacji tekstu dokładnie określić cel oraz sposób, w jaki tekst powinien być prezentowany. Zastosowanie nieodpowiednich właściwości może prowadzić do nieczytelności oraz negatywnego wpływu na doświadczenie użytkownika.

Pytanie 7

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetla dane z tabeli dla komputerów z co najmniej 8 GB pamięci oraz procesorem Intel, można użyć kwerendy

A. SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec >= 8
B. SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec < 8
C. SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec >= 8
D. SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec < 8
Odpowiedź "SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec >= 8;" jest poprawna, ponieważ wykorzystuje operator AND do jednoczesnego spełnienia dwóch warunków: procesor musi być równy 'Intel', a pamięć musi wynosić co najmniej 8 GB. Taki zapis jest zgodny z najlepszymi praktykami w programowaniu zapytań SQL, którymi są m.in. precyzyjność oraz jednoznaczność. Dzięki użyciu operatora AND, zapytanie filtruje wyniki w sposób, który jest zgodny z wymaganiami użytkownika. W praktyce, takie kwerendy są niezwykle ważne dla analizy danych w bazach danych, ponieważ umożliwiają wyodrębnienie specyficznych informacji, które są krytyczne dla podejmowania decyzji biznesowych. Na przykład, w kontekście sklepu komputerowego, analiza komputerów z określonymi parametrami technicznymi może pomóc w lepszym dostosowaniu oferty do potrzeb klientów. Ponadto, rozumienie składni SQL oraz umiejętność formułowania efektywnych zapytań to kluczowa umiejętność dla specjalistów w dziedzinie zarządzania danymi.

Pytanie 8

Jakim poleceniem można zobaczyć konfigurację serwera PHP, zawierającą między innymi: wersję PHP, system operacyjny serwera oraz wartości przedefiniowanych zmiennych?

A. phpinfo();
B. phpcredits();
C. echo phpversion();
D. print_r(ini_get_all());
Funkcja phpinfo() jest najczęściej używaną metodą do wyświetlania szczegółowych informacji o konfiguracji serwera PHP. Umożliwia ona dostarczenie danych na temat wersji PHP, zainstalowanych modułów, wartości konfiguracyjnych oraz informacji o systemie operacyjnym, na którym działa serwer. W kontekście dostosowywania aplikacji webowych, phpinfo() jest nieocenionym narzędziem diagnostycznym. Na przykład, gdy programista potrzebuje zweryfikować, czy określony moduł PHP, taki jak cURL czy GD, jest aktywowany, wystarczy umieścić w skrypcie polecenie `<?php phpinfo(); ?>`. Efektem jest pełna tabela z danymi, która zawiera wszystkie istotne informacje. Dobre praktyki wskazują, aby nie publikować wyników phpinfo() na stronach dostępnych publicznie, ponieważ ujawniają one wrażliwe informacje o konfiguracji serwera, co może prowadzić do potencjalnych luk w bezpieczeństwie.

Pytanie 9

W CSS zastosowano stylowanie elementu listy, przy czym żadne inne style CSS nie zostały ustalone. Użyte stylowanie spowoduje, że

li :hover { color: Maroon; }
A. Po najechaniu kursorem na element listy, kolor tekstu zmieni się na Maroon.
B. Wszystkie teksty elementów listy będą w kolorze Maroon.
C. Teksty wszystkich elementów, którym nadano id „hover”, będą w kolorze Maroon.
D. Kolor Maroon będzie dotyczył co drugiego elementu listy.
Zauważam, że błędne odpowiedzi wynikają z nieporozumień, dotyczących działania reguły CSS. Pierwsza błędna opcja sugeruje, że tekst elementów z id "hover" zmienia kolor na Maroon. To zupełnie mylne, bo reguła dotyczy elementów listy (li), a nie tych z konkretnym identyfikatorem. Identyfikatory są unikalne i można ich używać tylko do jednego elementu w HTML, więc nie można ich wykorzystać do stylizacji całej grupy. Kolejna mylna koncepcja to to, że wszystkie elementy listy zmienią kolor na Maroon - reguła działa tylko, gdy kursor jest nad danym elementem listy. Również nieprawdziwe jest założenie, że dotyczy co drugiego elementu listy. Prawda jest taka, że ta reguła nie wpływa na wybór elementów według ich miejsca w liście. Kluczowym problemem jest brak zrozumienia, jak działają pseudo-klasy, bo one pozwalają na stylistyczne reakcje na interakcje użytkowników, a nie na trwałe zmiany kolorów. Żeby dobrze wykorzystać reguły CSS, trzeba zrozumieć hierarchię w HTML oraz zasady selektorów.

Pytanie 10

W języku HTML, aby uzyskać następujący efekt formatowania
pogrubiony pochylony lub w górnym indeksie
należy zapisać kod:

A. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
B. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
C. <i>pogrubiony </i><b>pochylony </b>lub w <sub>górnym indeksie</sub>
D. <b>pogrubiony <i>pochylony</i></b> lub w <sup>górnym indeksie</sup>
W analizowanych odpowiedziach widać sporo niepoprawnych interpretacji dotyczących znaczników HTML, co może prowadzić do bałaganu w kodzie. W pierwszej opcji znacznik <i> został użyty do otoczenia całego fragmentu tekstu, a powinno być tak, żeby jedno nie kłóciło się z drugim. Takie błędy w strukturze HTML mogą sprawić, że przeglądarki nie wyświetlą tego, co zamierzałeś. W drugiej odpowiedzi użycie <sub> zamiast <sup> to też zły ruch, jeśli chodzi o górny indeks, bo może to wprowadzać w błąd, szczególnie w tematach naukowych, gdzie precyzja jest ważna. A ten <b> wokół słowa 'pochylony'... no nie wygląda to najlepiej, bo nie powinno się łączyć znaczników w sposób, który wprowadza w błąd co do ich funkcji. W web development ważne jest, żeby trzymać się zasad semantyki HTML, to ułatwia czytanie kodu i wspiera dostępność stron. Jak używasz złych znaczników, to możesz niechcący sprawić, że ludzie korzystający z technologii pomocniczych będą mieli trudności w nawigacji, a to nie jest zgodne z zasadami dostępności WCAG. No i w końcu, źle dobrane znaczniki mogą osłabić efekty wizualne, co wpływa na całą estetykę i funkcjonalność strony.

Pytanie 11

Jakie znaki lub sekwencje oznaczają początek komentarza w języku JavaScript?

A. #
B. <?
C. //
D. <!--
Pierwsza z niepoprawnych odpowiedzi to zestawienie znaków '<!--', które jest używane w HTML i XHTML do definiowania komentarzy, a nie w JavaScript. Komentarze HTML nie są interpretowane jako kod skryptowy, co sprawia, że nie mają zastosowania w kontekście języka JavaScript, którego składnia jest zupełnie odmienna. Druga nieprawidłowa odpowiedź, która używa znaku '<?', jest związana z PHP i jego formatem otwierającym. W JavaScript nie stosuje się tego znaku do oznaczania komentarzy. W rzeczywistości, PHP i JavaScript to różne języki programowania o różnych konwencjach i zastosowaniach, co sprawia, że użycie tego znaku w JavaScript jest nieprawidłowe. Ostatni znak '#', używany w wielu językach programowania, takich jak Python, do oznaczania komentarzy, również nie ma zastosowania w JavaScript. JavaScript nie interpretuje '#' jako znaku rozpoczynającego komentarz, co podkreśla różnice w składni tych języków. Zrozumienie tych różnic jest kluczowe dla efektywnego programowania oraz unikania błędów w kodzie.

Pytanie 12

Jaki typ danych w MySQL należy zastosować, aby w jednym polu zapisać zarówno datę, jak i czas?

A. YEAR
B. BOOLEAN
C. TIMESTAMP
D. DATE
Odpowiedzi DATE, YEAR i BOOLEAN są niewłaściwe w kontekście przechowywania zarówno daty, jak i czasu w bazie danych MySQL. DATE jest typem danych, który przechowuje tylko datę, bez informacji o godzinie. Użycie DATE oznaczałoby utratę ważnych informacji o czasie, co może być istotne w wielu aplikacjach, na przykład w systemach rejestracji zdarzeń. YEAR, z kolei, jest ograniczonym typem danych, który służy jedynie do przechowywania roku. Oznacza to, że nie może być użyty do rejestrowania pełnej daty ani czasu, co jest niewystarczające w przypadku wielu praktycznych zastosowań. BOOLEAN to typ danych, który przechowuje jedynie wartości logiczne (prawda/fałsz) i nie ma zastosowania w kontekście daty i czasu. Typowe błędy myślowe, które mogą prowadzić do wyboru niewłaściwych typów danych, obejmują myślenie, że daty i czasy można zrealizować oddzielnie, co w praktyce może prowadzić do problemów z synchronizacją i zarządzaniem danymi. Właściwe rozumienie dostępnych typów danych w MySQL jest kluczowe dla efektywnego projektowania baz danych i zapewnienia ich integralności.

Pytanie 13

W SQL, używanym w bazie danych MySQL, aby przypisać wartość 0 do kolumny przebieg w tabeli samochody, jaką kwerendę należy zastosować?

A. UPDATE samochody SET przebieg VALUE 0
B. UPDATE samochody SET przebieg = 0
C. UPDATE przebieg SET 0 TABLE samochody
D. UPDATE przebieg SET 0 FROM samochody
Odpowiedź 'UPDATE samochody SET przebieg = 0;' jest jak najbardziej trafna! W SQL używamy klauzuli UPDATE, gdy chcemy coś zmienić w naszej tabeli. W tym konkretnym przypadku ustawiamy wartość kolumny 'przebieg' na 0 dla wszystkich samochodów. Fajne jest to, że operator '=' oznacza, iż zmieniamy wartość w wybranej kolumnie. To podstawa, żeby dobrze zarządzać danymi w bazach. Warto też pomyśleć, czy naprawdę chcemy zmieniać wszystkie rekordy, czy tylko część. Można to zrobić z klauzulą WHERE. Na przykład, jeśli chcemy ustawić przebieg na 0 tylko dla aut konkretnego producenta, to użyjemy: 'UPDATE samochody SET przebieg = 0 WHERE producent = 'NazwaProducenta'. Takie działania powinny być w kontekście transakcji, żeby móc cofnąć zmiany, jeśli coś pójdzie nie tak. Rozumienie tej kwerendy to klucz do zarządzania danymi w MySQL i innych systemach.

Pytanie 14

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. wykluczenia.
C. grupowania.
D. części wspólnej.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 15

W przedstawionej definicji stylu CSS, powtarzanie dotyczy

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. rysunku umieszczonego w tle strony w poziomie.
B. rysunku umieszczonego w tle strony w pionie.
C. tła każdego ze znaczników akapitu.
D. rysunku umieszczonego znacznikiem img.
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 16

Które z poniższych zdań poprawnie opisuje utworzoną tabelę?

CREATE TABLE dane (kolumna INTEGER(3));
A. Tabela o nazwie dane składa się z trzech kolumn typu całkowitego
B. Tabela zawiera jedną kolumnę, która przechowuje trzyelementowe tablice
C. Tabela o nazwie dane ma jedną kolumnę typu całkowitego
D. Kolumny tabeli dane są nazwane: kolumna1, kolumna2, kolumna3
W tym zadaniu bardzo łatwo wpaść w pułapkę skojarzeń z programowaniem w innych językach, gdzie nawias przy typie sugeruje rozmiar tablicy albo liczbę elementów. W SQL, a szczególnie w składni zbliżonej do MySQL, zapis `INTEGER(3)` nie tworzy trzech kolumn ani trzyelementowej tablicy, tylko opisuje jedną kolumnę typu liczbowego. Nawias w tym miejscu oznacza co najwyżej szerokość wyświetlania albo pewne ograniczenie prezentacji, a nie ilość powtórzeń typu. Dlatego interpretacja, że tabela ma trzy kolumny typu całkowitego, jest po prostu przeniesieniem logiki z np. C lub Java na SQL, co jest częstym, ale błędnym nawykiem. Podobnie mylenie `INTEGER(3)` z tablicą trzyelementową wynika z tego, że w wielu językach zapis z nawiasami kwadratowymi czy okrągłymi kojarzy się z kolekcją. W relacyjnych bazach danych pojedyncza kolumna przechowuje pojedynczą wartość skalarnej dziedziny (liczba, tekst, data), a nie tablicę, chyba że używamy bardzo specyficznych typów, jak np. ARRAY w PostgreSQL – ale to wygląda zupełnie inaczej w definicji. Kolejny błąd to założenie, że skoro przy typie pojawia się liczba 3, to kolumny zostaną automatycznie nazwane `kolumna1`, `kolumna2`, `kolumna3`. Silniki SQL niczego takiego nie robią. Nazwy kolumn muszą być jawnie podane w definicji tabeli, oddzielone przecinkami, np. `kolumna1 INTEGER, kolumna2 INTEGER, kolumna3 INTEGER`. Jeżeli w nawiasie przy CREATE TABLE jest tylko jeden wpis `kolumna INTEGER(3)`, to mamy dokładnie jedną kolumnę o nazwie `kolumna`. Moim zdaniem dobrym nawykiem jest zawsze patrzeć na przecinki: ile jest elementów oddzielonych przecinkami w nawiasie po nazwie tabeli, tyle jest kolumn. Liczby w nawiasach przy typach (np. VARCHAR(50), DECIMAL(10,2), INT(3)) opisują parametry typu, a nie liczbę kolumn. To podstawowa, ale bardzo ważna zasada przy projektowaniu schematów baz danych i unikaniu dziwnych, mylących interpretacji.

Pytanie 17

Plik graficzny powinien być zapisany w formacie GIF, gdy

A. jest to obraz stereoskopowy
B. jest konieczność zapisu obrazu bez kompresji
C. jest to grafika wektorowa
D. jest potrzeba zapisu obrazu lub animacji
Grafika wektorowa jest zupełnie innym typem pliku graficznego, który opiera się na matematycznych opisach kształtów i linii, a nie na pikselach. Wektorowe formaty, takie jak SVG czy EPS, umożliwiają skalowanie obrazu bez utraty jakości, co jest ich kluczową zaletą. GIF nie jest w stanie zrealizować tych funkcji, dlatego nie jest odpowiednim formatem dla grafiki wektorowej. Obraz stereoskopowy to technika, która tworzy iluzję głębi poprzez ujęcia z dwóch różnych kątów, co pozwala na postrzeganie trójwymiarowości. GIF nie obsługuje tej techniki, ponieważ nie jest zaprojektowany z myślą o przechowywaniu danych przestrzennych, a raczej skupia się na prostych, płaskich animacjach czy obrazach. W przypadku potrzeby zapisu obrazu bez kompresji, format GIF również nie jest odpowiedni, gdyż wprowadza pewien poziom kompresji, co może prowadzić do utraty jakości. Dla takich zastosowań lepszym wyborem będą formaty takie jak BMP czy TIFF, które pozwalają na zapis bezstratny, a więc idealnie zachowują oryginalną jakość obrazu.

Pytanie 18

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

A. logicznym
B. liczbowym
C. nieokreślonym (undefined)
D. string (ciąg znaków)
W kontekście deklaracji var x="true"; niepoprawne odpowiedzi opierają się na nieporozumieniu dotyczącym typów danych w JavaScript. Zmienna logiczna, która jest jednym z typów boolean, przyjmuje jedynie dwie wartości: true lub false. Wartość "true" nie jest interpretowana jako wartość logiczna, ale jako tekst, co sprawia, że uznawanie jej za zmienną logiczną jest błędne. W JavaScript nie możemy przypisać stringa do typu boolean i oczekiwać, że uzyskamy wynik logiczny; w tej sytuacji wynik będzie zawsze tekstem. Kolejną niepoprawną odpowiedzią jest uznanie zmiennej za liczbową. Typ liczbowy w JavaScript odnosi się do wartości numerycznych, zarówno całkowitych jak i zmiennoprzecinkowych. Wartość "true" nie może być interpretowana jako liczba, ponieważ jest to ciąg znaków. Typ liczbowy wymaga, aby wartość była zapisana w formacie numerycznym, co w przypadku "true" nie ma miejsca. Ostatnią niepoprawną odpowiedzią jest stwierdzenie, że zmienna ma typ nieokreślony (undefined). W JavaScript typ undefined oznacza, że zmienna została zadeklarowana, ale nie przypisano jej żadnej wartości. W przypadku var x="true"; zmienna została zadeklarowana i przypisano jej wartość, więc nie można jej uznać za undefined. Dlatego wszystkie trzy niepoprawne odpowiedzi są wynikiem nieprawidłowego rozumienia typów danych oraz ich interpretacji w JavaScript.

Pytanie 19

Jaki program jest wykorzystywany do edycji dźwięku?

A. Inkscape
B. CorelDRAW
C. Audacity
D. GIMP
GIMP, Inkscape i CorelDRAW to programy, które używamy do grafiki, więc niewłaściwie przypisałeś je do obróbki dźwięku. GIMP jest szczególnie znany jako edytor grafiki rastrowej, co oznacza, że pracujesz tam z obrazami i pikselami, więc nie nadaje się do dźwięku. Inkscape i CorelDRAW to z kolei programy do grafiki wektorowej, idealne do tworzenia ilustracji, logotypów i takich rzeczy. Można w nich robić fajne rzeczy, ale do dźwięku się nie nadają. Często ludzie mylą te programy, myśląc, że wszystkie graficzne mają opcje do obróbki dźwięku. Dlatego ważne jest, żeby wiedzieć, jakie są różnice między nimi, co pomoże Ci lepiej dopasować narzędzia do zadań, które chcesz wykonać. Lepiej wybierać programy, które naprawdę odpowiadają Twoim potrzebom, żeby uniknąć takich zamieszania.

Pytanie 20

Który protokół jest stosowany do przesyłania plików na serwer WWW?

A. FTP
B. DHCP
C. DNS
D. POP3
FTP, czyli File Transfer Protocol, to protokół używany do przesyłania plików między komputerami w sieci, zwłaszcza w kontekście serwerów WWW. Umożliwia on użytkownikom łatwe przesyłanie, pobieranie, a także zarządzanie plikami na serwerze. FTP działa na bazie modelu klient-serwer, gdzie klient nawiązuje połączenie z serwerem i może przesyłać pliki w obie strony. Protokół ten operuje na portach 20 i 21, co czyni go standardem w dziedzinie przesyłania plików. W praktyce, wiele aplikacji klienckich, takich jak FileZilla czy WinSCP, wykorzystuje FTP do zarządzania plikami na serwerach. FTP wspiera różne metody autoryzacji, w tym logowanie anonimowe, co umożliwia użytkownikom dostęp do publicznych zasobów. Warto również zaznaczyć, że istnieją rozszerzenia, takie jak FTPS czy SFTP, które oferują dodatkowe funkcje zabezpieczeń, umożliwiając szyfrowanie danych podczas transferu. W kontekście standardów, FTP jest definiowany w dokumentach RFC 959 oraz RFC 3659, które określają jego działanie oraz interakcje w sieci. Dzięki swojej wszechstronności i niezawodności, FTP pozostaje jednym z najpopularniejszych protokołów do przesyłania plików w Internecie.

Pytanie 21

Które z wymienionych par znaczników HTML mają identyczny efekt wizualny na stronie internetowej, jeśli nie zastosowano żadnych stylów CSS?

A. <b> i <strong>
B. <meta> oraz <title>
C. <b> i <big>
D. <p> oraz <h2>
Wybór innych par znaczników HTML w tej kwestii jest błędny z kilku powodów. Znacznik <p> i <h2> pełnią różne role w hierarchii dokumentu HTML; <p> oznacza akapit, a <h2> nagłówek drugiego poziomu, co wpływa na ich interpretację przez przeglądarki oraz wyszukiwarki internetowe. Używanie ich zamiennie może prowadzić do niezgodności semantycznych, które obniżają jakość SEO i dostępność treści. Z kolei znaczniki <b> i <big> różnią się w swoim przeznaczeniu, gdzie <b> oznacza pogrubienie, a <big> zwiększa rozmiar czcionki, co wprowadza dodatkowe zmiany wizualne, a nie tylko wyróżnienie treści. W kontekście SEO oraz dostępności, niepoprawne użycie tych znaczników osłabia przekaz oraz utrudnia robotom wyszukiwarek zrozumienie struktury strony. Odpowiedź <meta> i <title> również jest błędna, ponieważ <meta> jest znacznikiem używanym do definiowania metadanych, a <title> określa tytuł dokumentu. Ich zastosowanie jest zupełnie inne, co prowadzi do dezorientacji, jeśli chodzi o zrozumienie celu ich użycia. Sumując, wybór nieprawidłowych par znaczników prowadzi do zamieszania i nieefektywnej struktury dokumentu, co jest niezgodne z dobrymi praktykami projektowania stron internetowych.

Pytanie 22

W zaprezentowanej klasie zdefiniowane zostały

class a {
    public $b;
    public $c;
    public function d() {}
}
A. dwie metody
B. jedna właściwość
C. dwa obiekty
D. dwie właściwości
W przedstawionej klasie w języku PHP zdefiniowano dwie właściwości publiczne: $b oraz $c. Właściwości te są zmiennymi, które mogą przechowywać dane różnego typu i są dostępne z poziomu innych obiektów lub kodu poza klasą dzięki modyfikatorowi dostępu public. W praktyce, właściwości klasy są wykorzystywane do przechowywania stanu obiektu czyli wartości specyficznych dla instancji tej klasy. Należy pamiętać o dobrych praktykach w programowaniu obiektowym, takich jak stosowanie odpowiednich modyfikatorów dostępu (public, private, protected) w celu lepszej enkapsulacji danych oraz korzystanie z metod dostępowych (getterów i setterów) w celu kontroli dostępu i modyfikacji właściwości. Właściwości te mogłyby być użyte na przykład do przechowywania danych użytkownika, takich jak imię i nazwisko, w klasach modelujących obiekty w aplikacjach typu MVC. Zastosowanie właściwości jako mechanizmu przechowywania stanu obiektu jest kluczowym elementem programowania obiektowego i poprawnego projektowania klas.

Pytanie 23

Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?

class Owoc {
  public $nazwa;
  private $kolor;
  function set_nazwa($nazwa) {
    $this->nazwa = $nazwa;
  }
}
A. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
B. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
C. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
D. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
Błędne odpowiedzi wynikają z niezrozumienia zakresów widoczności oraz struktury klasy w PHP. Klasa Owoc ma dwa pola: $nazwa i $kolor. Pole $nazwa jest publiczne, co oznacza, że jest dostępne z dowolnego miejsca, które posiada instancję klasy. Natomiast $kolor jest prywatne, co ogranicza jego dostępność tylko do metod wewnątrz klasy. To kluczowy aspekt programowania obiektowego, gdzie stosowanie modyfikatora private zapewnia, że dane nie mogą być modyfikowane bezpośrednio z zewnątrz, chroniąc integralność obiektu. W konstrukcji tej klasy znajduje się również tylko jedna metoda: set_nazwa, która służy do ustawiania wartości pola $nazwa. Brak jest tutaj konstruktora, co wyklucza błędną odpowiedź sugerującą jego obecność. Konstruktor w PHP definiuje się jako funkcję __construct i służy do inicjalizacji obiektu przy jego tworzeniu. Każda z niepoprawnych odpowiedzi błędnie interpretuje strukturę i dostępność elementów klasy. Często popełnianym błędem jest mylenie zakresów widoczności pola publicznego i prywatnego, oraz brak rozpoznania i zastosowania dobrych praktyk, takich jak enkapsulacja, która jest jednym z filarów programowania obiektowego, mającym na celu ukrycie wewnętrznej implementacji oraz ochronę danych przed nieautoryzowanym dostępem.

Pytanie 24

W jakich formatach można przechować wideo razem z dźwiękiem?

A. WMA
B. MP4
C. WAV
D. AAC
MP4 to jeden z najbardziej popularnych formatów plików multimedialnych, który jest szeroko stosowany do zapisywania materiałów wideo wraz ze ścieżkami dźwiękowymi. MP4, jako kontener, obsługuje różne kodeki wideo, takie jak H.264, a także kodeki audio, w tym AAC. Dzięki tej wszechstronności, format MP4 jest idealny do przechowywania zarówno obrazu, jak i dźwięku w jednym pliku, co jest kluczowe dla wielu zastosowań, od streamingu wideo po przechowywanie lokalne. MP4 jest zgodny z wieloma platformami i urządzeniami, co czyni go standardem dla treści wideo w Internecie. Przykładem zastosowania MP4 mogą być platformy takie jak YouTube, gdzie użytkownicy przesyłają filmy w tym formacie, aby zapewnić wysoką jakość obrazu i dźwięku. Warto również zauważyć, że MP4 wspiera różne metadane, co umożliwia dodawanie informacji o pliku, takich jak tytuł, artysta czy okładka albumu. Dzięki tym wszystkim właściwościom, MP4 jest niezastąpionym formatem w dziedzinie multimediów.

Pytanie 25

Element zadeklarowany w języku C++ double x*; oznacza

A. typ zmiennoprzecinkowy
B. wskaźnik
C. typ całkowity
D. parametr formalny o typie zmiennoprzecinkowym
Odpowiedzi, które wskazują, że <b>double x*;</b> to zmienna całkowita, zmienna rzeczywista lub parametr formalny typu rzeczywistego, opierają się na nieporozumieniach dotyczących definicji typów danych w języku C++. Po pierwsze, zmienna całkowita to typ, który przechowuje liczby całkowite, a składnia <b>double x*;</b> wyraźnie mówi, że jest to wskaźnik do zmiennej typu <b>double</b>, która jest używana do reprezentacji liczb rzeczywistych, w tym zmiennoprzecinkowych. Stąd, mylenie wskaźnika z typem zmiennoprzecinkowym może prowadzić do błędnych wniosków. Ponadto, parametr formalny typu rzeczywistego odnosi się do deklaracji funkcji, a nie do zmiennej. W C++ funkcje mogą przyjmować wskaźniki jako argumenty, co pozwala na efektywne przekazywanie dużych obiektów bez ich kopiowania, lecz sam wskaźnik nie jest parametrem formalnym, lecz zmienną przechowującą adres innej zmiennej. Często spotykaną pułapką w rozumieniu wskaźników jest ich pomylenie z odniesieniami (<b>double& x</b>), które w C++ działają nieco inaczej. Warto zatem poszerzyć wiedzę o wskaźnikach, aby lepiej zrozumieć ich rolę w zarządzaniu pamięcią i przekazywaniu argumentów w funkcjach.

Pytanie 26

Aby uniknąć występowania zduplikowanych wierszy w wyniku zapytania, należy zastosować klauzulę

A. ORDER BY
B. LIMIT
C. UNIQUE
D. DISTINCT
Użycie klauzuli LIMIT, UNIQUE i ORDER BY w kontekście eliminowania powtarzających się wierszy w zapytaniach SQL wprowadza pewne nieporozumienia. LIMIT jest używane do ograniczenia liczby zwracanych wierszy w wynikach zapytania, co nie ma nic wspólnego z eliminowaniem duplikatów. Funkcjonalność ta jest często mylona z potrzebą ograniczenia ilości danych, ale LIMIT nie ma możliwości analizowania, czy wiersze są unikalne, więc nie może być używane w tym celu. Z kolei klauzula UNIQUE jest terminem używanym głównie w kontekście definiowania ograniczeń na kolumnach w tabeli, aby zapewnić, że wartości w danej kolumnie są unikalne, ale sama w sobie nie jest klauzulą, która mogłaby być stosowana w zapytaniach SELECT, co powoduje, że nie jest odpowiednia w tym kontekście. Podobnie, ORDER BY służy do sortowania wyników zapytania, ale także nie ma związku z eliminacją powtarzających się wierszy. Często, w dążeniu do uzyskania unikalnych danych, użytkownicy mogą błędnie przyjąć, że sortowanie wyników pomoże w eliminacji duplikatów, co jest mylnym założeniem. Ważne jest, aby przy pracy z danymi rozumieć odpowiednie zastosowanie poszczególnych klauzul i ich wpływ na wyniki zapytań, aby wspierać jakość analizy danych i ich integralność.

Pytanie 27

Wskaż poprawne stwierdzenie dotyczące przedstawionego kodu HTML.
<video width="640" height="480" controls>
<source src="animacja.mp4" type="video/mp4">
</video>

A. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby był odtwarzany.
B. Kod może nie działać w przeglądarkach, które nie obsługują HTML5.
C. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
D. Lokalizacja pliku jest nieprawidłowa, brak w niej ścieżki bezwzględnej.
Pierwsze stwierdzenie sugeruje, że plik animacja.mp4 musi mieć dokładnie rozdzielczość 640x480 pikseli, co jest nieprawdziwe. Format &lt;video&gt; w HTML umożliwia odtwarzanie filmów w różnych rozdzielczościach, a przeglądarka automatycznie dostosuje odtwarzanie w zależności od dostępnych zasobów i jakości pliku wideo. Drugie stwierdzenie, że użytkownik nie będzie miał możliwości sterowania odtwarzaniem, jest sprzeczne z definicją atrybutu 'controls', który dodaje elementy sterujące do odtwarzacza, takie jak play, pause i seek. Trzecie stwierdzenie odnosi się do lokalizacji pliku, podczas gdy w rzeczywistości plik animacja.mp4 może być lokalizowany w różnych folderach, a nie tylko w ścisłej ścieżce bezwzględnej. HTML5 wprowadza wiele standardów i uproszczeń, a deweloperzy są zobowiązani do przestrzegania tych standardów, aby zapewnić, że ich treści będą dostępne na różnych platformach. Typowe błędy myślowe prowadzące do takich wniosków obejmują nieznajomość zasad działania znaczników HTML oraz niepełne zrozumienie mechanizmów, jakie przeglądarki stosują w kontekście odtwarzania multimediów.

Pytanie 28

Która komenda pozwala na przesłanie tekstu do przeglądarki?

A. type
B. exit
C. break
D. echo
Odpowiedź 'echo' jest poprawna, ponieważ ta instrukcja służy do generowania tekstu, który jest przesyłany do przeglądarki w kontekście skryptów PHP. Echo jest jedną z najprostszych i najczęściej używanych funkcji do wyświetlania danych na stronie internetowej, co jest kluczowym elementem w budowaniu dynamicznych aplikacji webowych. Przykład zastosowania: w prostym skrypcie PHP możemy użyć echo do wyświetlenia powitania użytkownika: <?php echo 'Witaj, użytkowniku!'; ?>. Dzięki temu, użytkownicy mogą interaktywnie odbierać informacje, co jest istotne dla doświadczenia użytkownika. W praktyce, zastosowanie echo ma również znaczenie w kontekście bezpieczeństwa aplikacji, ponieważ prawidłowe zarządzanie danymi wyjściowymi ochroni przed atakami typu XSS, gdyż pozwala na odpowiednie filtrowanie i kodowanie danych, które są wyświetlane przeglądarki. W branży zaleca się stosowanie echo w połączeniu z odpowiednimi standardami zabezpieczeń, aby zapewnić najwyższą jakość i bezpieczeństwo aplikacji webowych.

Pytanie 29

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba < 100 || liczba >= 200)
B. if (liczba < 100 && liczba <= 200)
C. if (liczba > 100 || liczba <= 200)
D. if (liczba > 100 && liczba <= 200)
W analizowanych odpowiedziach pojawiają się spore błędy w podejściu do warunków. Na przykład, w pierwszej odpowiedzi masz 'liczba < 100 && liczba <= 200', co nie ma sensu, bo nie może być liczba, która jest mniejsza od 100, a jednocześnie mniejsza lub równa 200. Trochę się to kłóci, prawda? W drugiej odpowiedzi mamy '||', a to też jest mylące, bo mówi, że liczba może być większa od 100 LUB mniejsza lub równa 200. To oznacza, że liczby powyżej 200 też będą spełniać ten warunek, a to nie jest to, co chcemy. Ta kolejna odpowiedź mówi, że 'liczba < 100 || liczba >= 200' sprawdzi, czy liczba jest poniżej 100 LUB na 200 lub wyżej, co kompletnie pomija to, czego szukamy. Takie błędy często wynikają z tego, że nie do końca rozumiesz, jak działają te operatory. Kluczowe jest, żeby dobrze definiować warunki i wiedzieć, jak logika operatorów wpływa na wynik, bo to pozwala tworzyć lepsze aplikacje bez błędów.

Pytanie 30

W tabeli zwierzeta znajdują się kolumny nazwa, gatunek, gromada, cechy, dlugosc_zycia. Aby uzyskać listę nazw zwierząt, które dożywają przynajmniej 20 lat oraz są ssakami, jakie zapytanie należy wykonać?

A. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
Wybrana odpowiedź jest prawidłowa, ponieważ spełnia wymagania określone w pytaniu, które dotyczą zarówno długości życia zwierząt, jak i ich przynależności do grupy ssaków. Zapytanie SQL 'SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = ‘ssak‘;' precyzyjnie definiuje warunki, które muszą być spełnione, aby uzyskać oczekiwane wyniki. Warunek 'dlugosc_zycia >=20' zapewnia, że tylko zwierzęta o długości życia wynoszącej co najmniej 20 lat będą uwzględnione w rezultatach, co jest kluczowe dla osiągnięcia zamierzonego celu. Dodatkowo, użycie operatora 'AND' łączy oba kryteria, co oznacza, że obie zasady muszą być spełnione jednocześnie. Dzięki temu zapytanie jest zwięzłe i efektywne, co jest zgodne z najlepszymi praktykami w dziedzinie baz danych, gdzie ważne jest, aby unikać zbędnych danych w wynikach, co usprawnia proces przetwarzania informacji. Ta metoda jest szczególnie przydatna w kontekście analizy danych i raportowania, gdzie precyzyjne filtry pomagają w uzyskaniu istotnych informacji.

Pytanie 31

Który z znaczników ma na celu organizację struktury tekstu w HTML?

A. <u>
B. <style>
C. <h6>
D. <head>
Znacznik <u> służy do podkreślenia tekstu, co nie ma nic wspólnego z tworzeniem hierarchii treści. W dzisiejszych standardach HTML, podkreślenie tekstu powinno być używane bardzo ostrożnie, ponieważ może wprowadzać w błąd czytelników i wyszukiwarki, sugerując, że tekst jest linkiem do innej strony. W praktyce, znaczenie podkreślenia powinno ograniczać się do przypadków, gdzie jest to konieczne, a nie stać się domyślnym sposobem na wyróżnienie treści. Z kolei znacznik <head> pełni rolę sekcji nagłówkowej dokumentu HTML, w której znajduje się metadane, takie jak tytuł, skrypty czy style. Nie ma on żadnego zastosowania w kontekście budowania hierarchii tekstu, ponieważ nie wpływa na sposób, w jaki treść jest wyświetlana na stronie. Ponadto, znacznik <style> jest używany do definiowania stylów CSS, co również nie ma związku z hierarchią tekstu. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, mogą wynikać z mylenia celów różnych znaczników HTML. Każdy znacznik ma swoje specyficzne funkcje, a ich niewłaściwe użycie może prowadzić do nieefektywnej struktury strony oraz negatywnie wpływać na doświadczenia użytkowników i SEO. Zrozumienie roli każdego elementu w HTML jest kluczowe dla tworzenia przejrzystych i funkcjonalnych stron internetowych.

Pytanie 32

W tabeli podzespoly należy zaktualizować wartość pola URL na "toshiba.pl" dla wszystkich rekordów, w których pole producent jest równe TOSHIBA. Jak będzie wyglądała ta zmiana w języku SQL?

A. UPDATE podzespoly.producent='TOSHIBA' SET URL = 'toshiba.pl';
B. UPDATE producent='TOSHIBA' SET URL = 'toshiba.pl';
C. UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
D. UPDATE podzespoly SET URL = 'toshiba.pl';
Wszystkie odpowiedzi, które nie zawierają poprawnej składni SQL, prowadzą do błędów w wykonywaniu aktualizacji. Przykładowo, pierwsze podejście do aktualizacji polega na usunięciu klauzuli WHERE, co skutkuje zaktualizowaniem wartości URL dla wszystkich rekordów w tabeli, a nie tylko dla tych, które dotyczą producenta 'TOSHIBA'. Taki błąd może prowadzić do masowej utraty danych, co jest niedopuszczalne w zarządzaniu bazami danych. W drugiej niepoprawnej odpowiedzi następuje zmiana w logicznym układzie zapytania, co prowadzi do błędu składniowego. Nie możemy zacząć od przypisania wartości do pola producent, a następnie ustawić URL; składnia aktualizacji wymaga innego porządku. Trzecia odpowiedź również jest niepoprawna, ponieważ sugeruje użycie kropki w odniesieniu do pola producent, co jest sprzeczne z konwencjami SQL. W SQL nie stosuje się kropki do oddzielania pól i tabeli w kontekście aktualizacji. Takie błędy składniowe mogą prowadzić do tego, że zapytanie nie zostanie wykonane, a użytkownik nie osiągnie zamierzonego efektu aktualizacji. Użycie niepoprawnej składni w SQL nie tylko ogranicza funkcjonalność, ale może również generować poważne problemy w zarządzaniu danymi.

Pytanie 33

W PHP, aby połączyć się z bazą danych MySQL przy użyciu biblioteki mysqli, w zapisie zamieszczonym poniżej, w miejscu litery 'c' powinno się wpisać

Ilustracja do pytania
A. nazwę bazy danych
B. nazwę użytkownika
C. lokalizację serwera bazy danych
D. hasło użytkownika
Rozważając, co powinno znajdować się na miejscu oznaczonym literą 'c', należy zrozumieć, jak działa funkcja mysqli w PHP. Pierwszym argumentem jest lokalizacja serwera bazy danych, często jest to 'localhost' dla lokalnych połączeń, co może prowadzić do błędnego założenia, że to właśnie ten parametr znajduje się pod literą 'c'. Drugi parametr powinien być nazwą użytkownika bazy danych, co w kontekście bezpieczeństwa jest elementem, na który zawsze trzeba zwracać uwagę. Hasło użytkownika znajduje się na trzeciej pozycji i jest kluczowe dla zapewnienia, że tylko uprawnione osoby mogą uzyskać dostęp do bazy. Czwarty parametr to nazwa bazy danych, która jest niezbędna do określenia, z którą bazą chcemy pracować w ramach danego połączenia. Często błędnie przyjmuje się, że nazwa bazy powinna być na pierwszym miejscu, co wynika z zamieszania co do struktury danych wejściowych. Warto dodać, że lokalizacja serwera, choć czasem zaniedbywana, jest kluczowa w środowiskach rozproszonych, gdzie połączenia mogą być nawiązywane z różnych serwerów lub maszyn wirtualnych. Każdy z tych elementów jest istotny i musi być poprawnie zidentyfikowany, aby połączenie z bazą danych było skuteczne i bezpieczne. Praktyczne umiejętności w tej dziedzinie są kluczowe, zwłaszcza przy projektowaniu i wdrażaniu aplikacji działających w profesjonalnym środowisku produkcyjnym.

Pytanie 34

Który semantyczny znacznik języka HTML 5 może wystąpić tylko raz na stronie?

A. <header>
B. <article>
C. <section>
D. <main>
Poprawna odpowiedź to <main>, bo zgodnie ze specyfikacją HTML5 ten znacznik powinien pojawić się w dokumencie najwyżej raz. Element <main> reprezentuje główną, unikalną treść strony, czyli to, co jest najważniejsze dla konkretnego adresu URL. Przeglądarki, czytniki ekranu i inne narzędzia asystujące zakładają, że istnieje jedno główne miejsce, do którego użytkownik może szybko „przeskoczyć”, omijając nagłówek, menu czy stopkę. Dlatego pojedynczy <main> ma duże znaczenie dla dostępności (a11y) i użyteczności serwisu. W praktyce dobrym wzorcem jest struktura: <header> na górę, poniżej <nav> (jeśli jest), potem jeden <main>, a w nim np. <article>, <section>, <aside>, a na końcu <footer>. Wewnątrz <main> możesz mieć kilka artykułów, sekcji, nawet różne widoki aplikacji SPA, ale sam <main> jest tylko jeden. Moim zdaniem warto od początku wyrabiać sobie nawyk: dokładnie jeden <main> na stronę i absolutnie nie zagnieżdżać go wewnątrz <header>, <footer> czy <article>. To jest też zgodne z dobrymi praktykami SEO – wyszukiwarki łatwiej rozumieją, co jest esencją danej podstrony. Dodatkowo, wiele frameworków front‑endowych i systemów CMS zakłada w layoutach pojedynczy kontener na treść główną, który semantycznie powinien być właśnie <main>, a nie np. zwykłym <div id="content">. Taka semantyka sprawia, że kod wygląda czyściej, jest bardziej przyszłościowy i po prostu profesjonalny.

Pytanie 35

Jaką wartość zwróci zapytanie z ramki wykonane na pokazanej tabeli? ```SELECT COUNT(DISTINCT wykonawca) FROM muzyka;```

Ilustracja do pytania
A. 3
B. 4
C. 0
D. 1
Zapytanie SQL SELECT COUNTDISTINCT wykonawca) FROM muzyka; ma na celu zliczenie unikalnych wartości w kolumnie wykonawca tabeli muzyka. W tym przypadku w tabeli są trzy różne wartości w tej kolumnie: Czesław Niemen Stan Borys i Mikołaj Czechowski. Funkcja COUNTDISTINCT zwraca liczbę niepowtarzających się wykonawców co w tym zestawie danych daje wynik 3. Zrozumienie użycia funkcji COUNTDISTINCT jest kluczowe w analizie danych szczególnie gdy chcemy określić liczebność unikalnych elementów w dużych zbiorach danych. To podejście jest szeroko stosowane w raportowaniu i analizach biznesowych gdzie istotne jest zidentyfikowanie niepowtarzalnych wpisów na przykład liczby unikalnych klientów czy produktów w sklepie. Dobre praktyki w SQL obejmują używanie aliasów w celu zwiększenia czytelności zapytań oraz optymalizację wydajności przez właściwe indeksowanie kolumn które są często wykorzystywane w funkcjach zliczających.

Pytanie 36

Aby obliczyć liczbę wszystkich wierszy w tabeli Koty, należy zastosować zapytanie:

A. SELECT ROWNUM() FROM Koty
B. SELECT COUNT(Koty) AS ROWNUM
C. SELECT COUNT(*) FROM Koty
D. SELECT COUNT(ROWNUM) FROM Koty
Poprawna odpowiedź to 'SELECT COUNT(*) FROM Koty', ponieważ to standardowy sposób zliczania wszystkich wierszy w tabeli w SQL. Funkcja COUNT(*) zlicza wszystkie wiersze, niezależnie od tego, czy zawierają wartości NULL, czy nie. Jest to najczęściej używana metoda w praktyce, ponieważ zapewnia dokładny wynik i jest także optymalizowana przez silnik baz danych, co czyni ją efektywną. Na przykład, jeśli mamy tabelę 'Koty' zawierającą różne dane o kotach, użycie tego polecenia zwróci dokładną liczbę kotów zapisanych w tej tabeli. Dobrym zwyczajem jest również korzystanie z aliasów lub konstruowania zapytań z dodatkowymi warunkami, co pozwala na bardziej złożoną analizę danych. Przy pracy z dużymi zbiorami danych, zrozumienie jak działa COUNT(*) i jego zastosowanie w kontekście innych funkcji agregujących jest kluczowe dla optymalizacji zapytań. Warto również pamiętać, że w SQL standardowym zliczanie wierszy bezpośrednio z tabeli jest znacznie bardziej efektywne i czytelne niż inne metody, co czyni tę praktykę najlepszą do stosowania w codziennej pracy z bazami danych.

Pytanie 37

W CSS należy ustawić tło dokumentu na obraz rys.png, który powinien się powtarzać tylko w poziomie. Którą definicję trzeba przypisać selektorowi body?

A. {background-image: url("rys.png"); background-repeat: repeat-y;}
B. {background-image: url("rys.png"); background-repeat: round;}
C. {background-image: url("rys.png"); background-repeat: repeat;}
D. {background-image: url("rys.png"); background-repeat: repeat-x;}
Wszystkie pozostałe opcje definiują sposób powtarzania tła, lecz każda z nich wprowadza inne zasady, co sprawia, że są one niewłaściwe w kontekście przedstawionego pytania. Wybór background-repeat: round, jak w pierwszej opcji, powoduje, że obrazek będzie powtarzany w taki sposób, aby całość się wpasowała w dostępne miejsce, ale niekoniecznie będzie powtarzany w ustalony sposób, co nie odpowiada założeniom pytania. Druga opcja, background-repeat: repeat, ustawia powtarzanie obrazu zarówno w poziomie, jak i w pionie, co jest sprzeczne z wymaganiem, aby obraz powtarzał się tylko w poziomie. Ostatnia z wyborów, background-repeat: repeat-y, z kolei powtarza obraz w pionie, co również nie spełnia założenia o poziomym powtarzaniu. Niestety, wiele osób myli te właściwości, co może prowadzić do niezamierzonych efektów wizualnych w projektach. Dlatego kluczowe jest zrozumienie różnicy między różnymi typami powtórzeń i ich zastosowaniem w praktyce. Właściwe użycie CSS, w tym dobór właściwych wartości dla background-repeat, wpływa na wydajność oraz na estetykę interfejsów użytkownika. W kontekście dobrych praktyk należy również pamiętać o optymalizacji obrazów oraz zapewnieniu, że używane techniki nie wpływają negatywnie na czas ładowania strony. Rozumienie tych aspektów jest kluczowe dla każdego, kto zajmuje się projektowaniem stron internetowych.

Pytanie 38

Została stworzona baza danych z tabelą podzespoły, która zawiera pola: model, producent, typ, cena. W celu wyświetlenia wszystkich modeli pamięci RAM od firmy Kingston w porządku rosnącym według ceny, należy skorzystać z następującej kwerendy:

A. SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC
B. SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC
C. SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC
D. SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku powodów, które warto szczegółowo omówić. W pierwszym przypadku, użycie operatora OR zamiast AND skutkuje tym, że kwerenda zwraca modele zarówno dla RAM, jak i dla pozostałych typów podzespołów, co nie spełnia wymogu wyświetlenia jedynie modeli pamięci RAM firmy Kingston. Taki sposób filtracji prowadzi do szerszego wyniku, który nie jest zgodny z założeniami zadania. Drugim błędem jest niewłaściwa klauzula ORDER BY, która została ustawiona na DESC, co skutkuje posortowaniem wyników od najdroższego do najtańszego, co jest odwrotnością żądanej kolejności. Użytkownicy chcący znaleźć najtańsze opcje nie otrzymają właściwych wyników, co może prowadzić do frustracji i nieefektywności w poszukiwaniach. W ostatniej odpowiedzi, kwerenda odnosi się do niewłaściwej tabeli 'producent', co jest fundamentalnym błędem, ponieważ nie istnieje taka tabela w kontekście podanych danych. Ta niepoprawna referencja do tabeli oraz błędna logika filtrowania powodują, że wyniki są całkowicie nieadekwatne. W kontekście projektowania baz danych i formułowania zapytań SQL istotne jest zrozumienie struktury danych oraz logiki działania operatorów, aby móc skutecznie manipulować danymi i uzyskiwać precyzyjne wyniki.

Pytanie 39

Do podzbioru DML (ang. Data Manipulation Language) języka SQL należą polecenia:

A. GRANT, REVOKE, DENY
B. BEGIN, COMMIT, ROLLBACK
C. CREATE, DROP, ALTER
D. INSERT, UPDATE, DELETE
Prawidłowo – INSERT, UPDATE i DELETE to klasyczne polecenia z podzbioru DML (Data Manipulation Language) w SQL. DML służy do manipulowania danymi już zapisanymi w tabelach, a nie do tworzenia struktury bazy. Można sobie to skojarzyć z pracą na rekordach: dodajemy nowe wiersze, zmieniamy istniejące, usuwamy niepotrzebne. INSERT wstawia nowe rekordy do tabeli, np. gdy zapisujesz nowego użytkownika w systemie logowania: INSERT INTO users(login, haslo) VALUES ('jan', 'tajne');. UPDATE modyfikuje dane, np. zmianę hasła albo adresu e‑mail: UPDATE users SET email='[email protected]' WHERE id=5;. DELETE usuwa rekordy, np. nieaktywne konta: DELETE FROM users WHERE active=0;. W praktyce webowej te trzy polecenia działają zwykle razem z transakcjami i warunkami WHERE, żeby nie „przestrzelić” i nie ruszyć zbyt wielu wierszy. Standard SQL (ANSI/ISO) właśnie te komendy zalicza typowo do DML, obok instrukcji SELECT, która też jest często traktowana jako część DML, ale w wielu materiałach omawia się ją osobno, jako zapytania wybierające dane. Dobra praktyka jest taka, żeby przy UPDATE i DELETE zawsze podawać sensowny warunek WHERE i często używać LIMIT/TRANSACTION, szczególnie w aplikacjach produkcyjnych. Moim zdaniem warto od początku myśleć o DML w kontekście logiki biznesowej aplikacji: formularz rejestracji to INSERT, edycja profilu to UPDATE, usunięcie konta to DELETE – i nagle wszystko układa się w bardzo logiczną całość.

Pytanie 40

Funkcje takie jak rozmycie Gaussa, wygładzanie oraz szum RGB są elementami oprogramowania do przetwarzania

A. Grafiki rastrowej
B. Dźwięku w standardzie MIDI
C. Grafiki wektorowej
D. Ścieżki audio
Wybór odpowiedzi związanej z dźwiękiem, zarówno w formacie MIDI, jak i ścieżką dźwiękową, jest błędny, ponieważ techniki takie jak rozmycie Gaussa, wygładzanie i szum RGB odnoszą się bezpośrednio do przetwarzania obrazów, a nie dźwięku. Format MIDI jest standardem do komunikacji muzycznej pomiędzy instrumentami, w którym wykorzystuje się dane dotyczące nut, ich intensywności oraz czasu trwania, a nie techniki graficzne. Ścieżka dźwiękowa, podobnie, koncentruje się na audio i nie ma zastosowania dla funkcji typowych dla grafiki. W kontekście grafiki wektorowej, która opiera się na matematycznych modelach kształtów i nie opiera się na siatce pikseli, techniki rozmycia i wygładzania nie są używane w sposób, w jaki są stosowane w grafice rastrowej. Zasadniczo, grafika wektorowa wykorzystuje inne narzędzia i techniki do obróbki, które są bardziej związane z kształtami i konturami projektów. Typowym błędem myślowym w tym przypadku jest pomylenie mediów cyfrowych i zasadniczych różnic w ich obróbce. Wiedza na temat tych różnic jest kluczowa dla skutecznego przetwarzania danych wizualnych oraz audio, a sukces w tych dziedzinach wymaga znajomości odpowiednich technik i narzędzi.