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: 17 grudnia 2025 08:17
  • Data zakończenia: 17 grudnia 2025 08:40

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Metainformacja "Description" zawarta w pliku HTML powinna zawierać ``` ```

A. opis zawartości strony
B. informację o autorze strony
C. nazwę aplikacji, w której stworzono stronę
D. listę kluczowych fraz używanych przez wyszukiwarki internetowe
Metainformacja 'Description' zawarta w pliku HTML pełni kluczową rolę w optymalizacji stron internetowych pod kątem wyszukiwarek. Jest to krótki opis treści strony, który pomaga wyszukiwarkom zrozumieć, o czym jest dana strona. Wartościowy opis powinien być zwięzły, informacyjny i zachęcający do kliknięcia, ponieważ często pojawia się w wynikach wyszukiwania jako fragment tekstu, obok tytułu strony. Przykładem dobrze skonstruowanego opisu może być 'Dowiedz się, jak skutecznie zarządzać swoimi finansami osobistymi dzięki naszym praktycznym poradnikom i wskazówkom'. Taki opis nie tylko informuje użytkownika o zawartości strony, ale również zawiera słowa kluczowe, które mogą przyciągnąć uwagę. Zgodnie z wytycznymi Google, długość opisu powinna wynosić od 150 do 160 znaków, aby uniknąć obcięcia tekstu w wynikach wyszukiwania. Posiadanie dobrze napisanej metainformacji 'Description' jest więc niezbędne dla skutecznej strategii SEO i zwiększenia widoczności strony w internecie.

Pytanie 2

Co to jest AJAX?

A. Język programowania służący do tworzenia stron internetowych
B. Biblioteka JavaScript do obsługi animacji i efektów wizualnych
C. Technologia umożliwiająca asynchroniczne przesyłanie danych między klientem a serwerem bez przeładowania strony
D. System zarządzania bazą danych używany do przechowywania i manipulacji danymi
Wiele osób mylnie sądzi, że AJAX to język programowania. W rzeczywistości AJAX to technologia, która w połączeniu z JavaScript, HTML i CSS pozwala na tworzenie dynamicznych stron internetowych. JavaScript jest rzeczywiście językiem programowania, ale AJAX to raczej technika, która wykorzystuje jego możliwości. Kolejny błąd to utożsamianie AJAX z biblioteką do animacji. Podczas gdy biblioteki JavaScript, jak jQuery, mogą wspierać AJAX i oferować efekty wizualne, same animacje nie są związane z przesyłaniem danych. Z kolei system zarządzania bazą danych to całkiem odmienna dziedzina. Bazy danych są używane do przechowywania i zarządzania danymi, ale AJAX nie jest narzędziem do tego celu. Często błędnie kojarzy się to ze względu na fakt, że AJAX może pobierać dane z serwera, który z kolei korzysta z bazy danych. Takie myślenie prowadzi do nieprawidłowych wniosków, ponieważ AJAX jest jedynie sposobem komunikacji między klientem a serwerem, a nie narzędziem do zarządzania danymi. Kluczem do zrozumienia AJAX jest jego rola w poprawie interakcji użytkownika z aplikacją webową poprzez asynchroniczne przesyłanie danych.

Pytanie 3

Metainformacja "Description" umieszczona w pliku HTML powinna zawierać

<head>
    <meta name="Description" content="...">
</head>
A. nazwę aplikacji, za pomocą której stworzono stronę
B. informację na temat autora strony
C. spis słów kluczowych, które są wykorzystywane przez wyszukiwarki internetowe
D. opis treści znajdującej się na stronie
Meta tag Description w HTML służy do dostarczenia krótkiego streszczenia zawartości strony internetowej Jest to jeden z kluczowych elementów optymalizacji pod kątem wyszukiwarek internetowych SEO który pomaga wyszukiwarkom i użytkownikom zrozumieć tematykę strony choć nie jest bezpośrednim czynnikiem rankingowym wyszukiwarek może wpływać na wskaźnik klikalności CTR w wynikach wyszukiwania Dzięki dobrze skonstruowanemu opisowi użytkownicy mogą szybko ocenić czy strona spełnia ich potrzeby co z kolei może zwiększyć ruch na stronie Praktyką branżową jest aby opis był zwięzły i zawierał najważniejsze informacje dotyczące zawartości strony zazwyczaj nie przekraczając 160 znaków Ponadto opis ten może być wyświetlany jako fragment w wynikach wyszukiwania co czyni go istotnym elementem strategii marketingowej strony Dobre praktyki obejmują stosowanie unikalnych i precyzyjnych opisów dla każdej podstrony co przyczynia się do lepszego zrozumienia i klasyfikacji strony przez wyszukiwarki

Pytanie 4

W zaprezentowanym fragmencie kodu HTML zdefiniowano pole input, które można opisać jako

<input type="password" name="pole">
A. zawiera domyślny tekst „pole”
B. dopuszcza jedynie wprowadzanie wartości liczbowych
C. ukrywa znaki, które zostały do niego wprowadzone
D. pokazuje znaki, które zostały do niego wprowadzone
W formularzach HTML często spotykamy różne typy pól input, mające specyficzne zastosowania. Pole input z atrybutem type="text" pozwala na wpisywanie dowolnego tekstu, co sprawia, że jest ono bardziej elastyczne, ale nie zapewnia żadnej ochrony dla wprowadzanych danych. Problematyczne mogą być sytuacje, gdzie takie pole jest używane dla danych wrażliwych, ponieważ nie oferuje ono żadnego poziomu prywatności. Wprowadzenie domyślnego tekstu w polu input jest realizowane poprzez atrybut value, który ustawia początkową wartość, widoczną dla użytkownika. To rozwiązanie bywa mylone z placeholderem, który służy jako podpowiedź wewnątrz pola, ale nie jest domyślną wartością samego pola. Input o typie "number" w HTML ogranicza wprowadzane dane wyłącznie do liczb, co jest przydatne w przypadku pól wymagających wartości liczbowych, takich jak wiek czy ilość. Choć to ograniczenie jest zasadne i chroni przed błędami użytkownika, nie ma zastosowania w kontekście ochrony prywatności danych. Typ password natomiast nie tylko ogranicza wprowadzone dane, ale również ukrywa je przed wglądem, co jest kluczowe dla zapewnienia bezpieczeństwa. Tym samym, zrozumienie różnic w funkcjonalności i zastosowaniu tych różnych typów pól pozwala na lepsze projektowanie bezpiecznych i funkcjonalnych formularzy w aplikacjach webowych. Błędem jest zakładanie, że każde pole input domyślnie zabezpiecza dane, co często prowadzi do niepoprawnych implementacji, które mogą narazić użytkowników na ryzyko wycieku danych.

Pytanie 5

W języku SQL instrukcja INSERT INTO

A. wprowadza dane do tabeli
B. dodaje kolumny do istniejącej tabeli
C. tworzy nową tabelę
D. zmienia rekordy na zadaną wartość
Polecenie INSERT INTO w języku SQL jest używane do dodawania nowych danych do tabeli w bazie danych. Jego podstawowa składnia to: INSERT INTO nazwa_tabeli (kolumna1, kolumna2, ...) VALUES (wartość1, wartość2, ...). Dzięki temu poleceniu użytkownicy mogą wprowadzać nowe rekordy, co jest kluczowe w zarządzaniu danymi w relacyjnych bazach danych. Przykładowo, jeżeli mamy tabelę 'użytkownicy' z kolumnami 'imie', 'nazwisko' i 'wiek', możemy dodać nowego użytkownika za pomocą: INSERT INTO użytkownicy (imie, nazwisko, wiek) VALUES ('Jan', 'Kowalski', 30). Warto zauważyć, że polecenie to może być używane w kontekście transakcji, co pozwala na zachowanie integralności danych. Standard SQL, na którym opiera się wiele systemów zarządzania bazami danych, definiuje to polecenie jako fundamentalne w operacjach DML (Data Manipulation Language), co czyni je niezbędnym w każdej aplikacji, która wymaga wprowadzania danych do bazy.

Pytanie 6

Rodzaj programowania, w którym zestaw poleceń (sekwencja instrukcji) przekazywanych komputerowi postrzega się jako program, określa się mianem programowania

A. funkcyjnego
B. logicznego
C. imperatywnego
D. stanowego
Wybór stanowego programowania wskazuje na podejście, które koncentruje się na stanach obiektów i ich interakcjach, co jest nieco mylące w kontekście pytania. Programowanie stanowe opisuje systemy, w których różne stany obiektu są monitorowane, a zmiany stanów następują w odpowiedzi na określone zdarzenia. Typowe błędy myślowe mogą wynikać z mylenia interakcji stanów z sekwencją poleceń, co prowadzi do nieporozumienia na temat tego, jak działają programy imperatywne. Z kolei programowanie logiczne opiera się na zasadach logiki i regułach wnioskowania, co jest zupełnie innym podejściem niż imperatywne, w którym to programista musi układać instrukcje w określonej kolejności. Programowanie funkcyjne, z drugiej strony, skupia się na funkcjach jako podstawowych jednostkach budulcowych programów. Różni się ono od programowania imperatywnego, które ma na celu zmianę stanu programu poprzez sekwencję instrukcji. Zrozumienie różnic między tymi paradygmatami jest kluczowe, ponieważ każdy z nich ma swoje unikalne zastosowania i najlepsze praktyki. Programiści powinni być świadomi wyboru odpowiedniego paradygmatu do konkretnego problemu, aby maksymalizować efektywność i jakość kodu.

Pytanie 7

W przypadku zaprezentowanego fragmentu kodu HTML, zdefiniowano zasady CSS dla selektora klasy "menu", aby tło bloku miało kolor zielony. Która z poniższych definicji stylu CSS jest zgodna z tym formatowaniem?

A. menu { background-color: rgb(0,255,0); }
B. #menu { background-color: rgb(0,255,0); }
C. div.menu { background-color: green; }
D. div:menu { color: green; }
Wybór stylu CSS, który nie odnosi się do selektora klasy w sposób prawidłowy, prowadzi do nieprawidłowych rezultatów w stylizacji dokumentów HTML. W przypadku selektora 'div:menu', użycie dwukropka sugeruje pseudo-klasę, co jest niewłaściwe w kontekście definiowania stylów dla klasy. Pseudo-klasy są używane do selekcji elementów w określonym stanie, a nie do wywoływania klas. Z kolei 'menu { background-color: rgb(0,255,0); }' jest błędne, ponieważ nie określa, że odnosi się do elementów HTML, co jest kluczowe w CSS. Selektor sam w sobie bez jakiegokolwiek kontekstu HTML nie ma sensu, ponieważ CSS musi odnosić się do istniejących elementów. Ponadto, użycie '#' wskazuje na identyfikator, a nie klasę, co również prowadzi do pomyłki. Użycie identyfikatora 'menu' sugeruje, że na stronie powinien istnieć element z atrybutem id='menu', co nie ma miejsca w podanym przykładzie. Często popełnianym błędem jest pomijanie kontekstu w selektorach, co prowadzi do nieprawidłowego stylu. Kluczowym jest zrozumienie, że CSS jest hierarchiczne i selektory muszą być używane w sposób, który odzwierciedla rzeczywistą strukturę HTML, aby osiągnąć zamierzony efekt wizualny.

Pytanie 8

Przedstawiony kod PHP nawiązuje połączenie z serwerem bazy danych. Jakiego typu operacje powinny się znaleźć w instrukcji warunkowej w miejscu trzech kropek?

$db = mysqli_connect("localhost", "root", "qwerty", "baza1");
if (!$db) {
...
}
A. Informacja o pomyślnym nawiązaniu połączenia z bazą
B. Obsługa błędu przy nawiązywaniu połączenia
C. Zamknięcie połączenia z bazą danych
D. Przetwarzanie danych uzyskanych z bazy
Zamknięcie bazy danych w kontekście nawiązywania połączenia z bazą danych nie ma sensu, ponieważ w momencie, gdy kod wykonuje sprawdzenie połączenia, to takie połączenie nie zostało jeszcze nawiązane. Próba zamknięcia niezainicjowanego połączenia nie tylko nie przyniesie żadnego efektu, ale także może prowadzić do mylnych wniosków dotyczących kodu. Ponadto, zachowanie takie może wprowadzać w błąd, sugerując, że operacje na bazie danych mogłyby być przeprowadzone w tym momencie, co jest nieprawdziwe. Obsługa danych pobranych z bazy również nie jest właściwym podejściem w momencie, gdy połączenie nie zostało jeszcze ustanowione - przed przetwarzaniem jakichkolwiek danych, najpierw musimy upewnić się, że połączenie jest aktywne. Natomiast komunikat o pomyślnym połączeniu z bazą nie powinien być używany w instrukcji warunkowej, gdyż działa on na zasadzie potwierdzenia, a nie na detekcji błędów. Ważne jest, aby zrozumieć, że każda z tych odpowiedzi nie odpowiada na istotę problemu - w przypadku problemów z połączeniem zwłaszcza w aplikacjach produkcyjnych, brak odpowiedniego komunikatu o błędzie może prowadzić do poważnych trudności w diagnozowaniu i naprawie problemów, co może wpływać na całkowitą funkcjonalność systemu oraz jego niezawodność.

Pytanie 9

W programie do edytowania grafiki rastrowej zmieniono krzywe kolorów w sposób zaznaczony ramką na pokazanym obrazie. Jakie jest to działanie?

Ilustracja do pytania
A. modyfikację najjaśniejszych i najciemniejszych kolorów obrazu
B. rozjaśnienie całego obrazu
C. wygładzenie krawędzi na obrazie
D. przyciemnienie całego obrazu
Modyfikacja krzywych kolorów w programach do obróbki grafiki rastrowej jest zaawansowanym narzędziem służącym do precyzyjnej regulacji tonalnej obrazu. Krzywe pozwalają na kontrolę nad najjaśniejszymi i najciemniejszymi partiami obrazu poprzez modyfikację kanałów RGB lub wartości jasności. W zaznaczonej na obrazku ramce widać, że punkty kontrolne krzywej zostały przesunięte, co wskazuje na zmianę tonacji skrajnych wartości jasności. Tego typu operacja jest często stosowana w celu poprawy kontrastu i ogólnego wyglądu zdjęcia. Standardową praktyką jest tu podnoszenie i opuszczanie punktów na krzywej, co daje możliwość uwydatnienia szczegółów w cieniach oraz światłach bez wpływu na średnie tony. Modyfikacja krzywych jest zgodna z profesjonalnymi standardami edycji, ponieważ umożliwia uzyskanie efektów niedostępnych przy użyciu prostych suwaków jasności lub kontrastu. Praktyczne zastosowanie znajduje m.in. w fotografii portretowej, gdzie często konieczne jest subtelne dostosowanie tonacji skóry oraz w krajobrazach, gdzie ważne jest zachowanie detali w jasnych niebie i ciemnych cieniach ziemi. Stosując krzywe, można precyzyjnie regulować każdy aspekt tonalny obrazu, co jest kluczowe w profesjonalnej edycji graficznej.

Pytanie 10

Aby uzyskać rezultaty działania skryptu napisanego w języku PHP, który jest częścią strony WWW, musi on być

A. zinterpretowany po stronie klienta
B. skomponowany po stronie klienta
C. zinterpretowany po stronie serwera
D. skomponowany po stronie serwera
Żeby zobaczyć, jak działa skrypt w PHP, musi on być obrobiony przez serwer. PHP to język, który kręci się na serwerze, więc to serwer przetwarza ten kod, a nie nasza przeglądarka. Jak użytkownik wysyła coś do serwera, ten bierze skrypt PHP, robi swoje magiczne sztuczki, generuje HTML i przesyła gotową stronę do przeglądarki. Na przykład, weźmy jakąś stronę, która zaciąga informacje z bazy danych właśnie dzięki PHP. Skrypt łączy się z bazą, robi zapytanie i zwraca wyniki w HTML. Są też różne standardy, jak RFC 2616 dla HTTP, które mówią o tym, jak ważne jest przetwarzanie po stronie serwera przy wysyłaniu żądań i odpowiedzi. Dzięki temu, mamy dynamiczne treści, które są na bieżąco generowane z danych zapisanych na serwerze. Tak więc, PHP to kluczowy element w wielu nowoczesnych aplikacjach internetowych, i nie da się bez niego żyć w tym świecie programowania.

Pytanie 11

Jakie zapytanie umożliwi Administratorowi odebranie uprawnień do przeglądania oraz edytowania danych w bazie gazeta, dla użytkownika redaktor?

A. GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';
B. REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
C. GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';
D. REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';
Wszystkie pozostałe odpowiedzi są niepoprawne, ponieważ mylą pojęcie przyznawania i odbierania uprawnień. Na przykład, odpowiedź z użyciem GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost'; jest błędna, ponieważ GRANT służy do przyznawania uprawnień, a nie ich odbierania. Użytkownik, który rozważa tę opcję, może mieć fałszywe przekonanie, że jest możliwe przypisanie uprawnień w sytuacji, gdy celem jest ich cofnięcie. Podobnie, odpowiedzi zawierające ALTER, jak REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost'; wprowadzają dodatkowy zamęt, ponieważ ALTER nie jest związane z przeglądaniem lub aktualizowaniem danych, ale odnosi się do modyfikacji struktury bazy danych. Błędne rozumienie różnic między SELECT, UPDATE i ALTER może prowadzić do poważnych problemów w zarządzaniu bazą danych, na przykład do nieautoryzowanych zmian w strukturze danych. Użytkownicy mogą także popełniać błąd w zakresie lokalizacji użytkownika, co w przypadku odpowiedzi jest określone jako 'redaktor'@'localhost';, co może być mylące w sytuacji, gdy użytkownik jest przypisany do innego hosta. Właściwe zrozumienie i stosowanie uprawnień w bazach danych jest fundamentalne dla ochrony danych, a także dla zapewnienia, że tylko uprawnieni użytkownicy mają dostęp do krytycznych informacji.

Pytanie 12

Polecenie w SQL GRANT ALL PRIVILEGES ON klienci TO pracownik ma na celu

A. cofnąć wszystkie uprawnienia pracownika do tabeli klienci
B. nadać wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
C. przyznać grupie klienci uprawnienia do tabeli pracownik
D. przenieść uprawnienia z grupy klienci na użytkownika pracownik
Polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik w języku SQL jest używane do nadawania wszystkich dostępnych uprawnień na określonej tabeli, w tym przypadku na tabeli klienci, użytkownikowi o nazwie pracownik. Dzięki temu, otrzymuje on pełną kontrolę nad danymi w tej tabeli, co obejmuje możliwość dodawania, modyfikowania oraz usuwania rekordów, a także zarządzania strukturą tabeli. Jako przykład, jeśli pracownik potrzebuje wprowadzać nowe informacje o klientach, usuwanie zbędnych danych lub edytowanie istniejących rekordów, nadanie mu wszystkich uprawnień jest kluczowe. Standardy SQL definiują sposób zarządzania uprawnieniami i pozwalają administratorom na precyzyjne kontrolowanie dostępu do danych. W praktyce, aby skorzystać z tego polecenia, użytkownik musi mieć odpowiednie uprawnienia do nadawania uprawnień innym użytkownikom. Warto również pamiętać o zasadzie najmniejszych uprawnień, która sugeruje, że użytkownik powinien otrzymać tylko te uprawnienia, które są niezbędne do wykonania jego zadań, co zwiększa bezpieczeństwo bazy danych.

Pytanie 13

Wykonanie następującego polecenia PHP umożliwia:

$zapytanie = mysqli_query($db, "UPDATE ...");
A. pobranie danych z bazy
B. zmianę danych w bazie
C. zmianę struktury bazy
D. dodanie nowych danych do bazy
Polecenie PHP mysqli_query z użyciem instrukcji SQL UPDATE służy do modyfikacji danych w bazie danych. Funkcja mysqli_query umożliwia wykonywanie zapytań SQL na połączeniu z bazą danych reprezentowanym przez zmienną $db. Instrukcja UPDATE jest stosowana do aktualizacji istniejących rekordów w tabeli w bazie danych. Przykładowo, jeśli chcesz zaktualizować pole nazwa w tabeli użytkownicy, możesz użyć polecenia UPDATE users SET name='NowaNazwa' WHERE id=1. To podejście umożliwia dynamiczne zarządzanie danymi, co jest kluczowe w aplikacjach internetowych wymagających bieżącej aktualizacji informacji. W praktyce należy pamiętać o dobrych praktykach, takich jak walidacja danych wejściowych i zabezpieczenie przed atakami SQL injection, np. poprzez stosowanie przygotowanych zapytań. Aktualizowanie danych w bazie to jedna z podstawowych operacji CRUD (Create Read Update Delete), które są fundamentem zarządzania danymi w większości aplikacji obsługujących bazy danych. Poprawne użycie tej funkcji wymaga zrozumienia struktury SQL i znajomości specyfiki używanego systemu zarządzania bazą danych.

Pytanie 14

W języku PHP do zmiennej a przypisano tekst, w którym słowo Kowalski pojawia się wielokrotnie. Aby jednym poleceniem zamienić wszystkie wystąpienia słowa Kowalski na słowo Nowak, trzeba użyć polecenia

A. $a = str_replace('Nowak','Kowalski');
B. $a = str_replace('Kowalski','Nowak',$a);
C. $a = str_replace('Nowak', 'Kowalski',$a);
D. $a = str_rep('Kowalski','Nowak',$a);
Pierwsza odpowiedź jest nieprawidłowa, ponieważ funkcja str_rep nie istnieje w PHP. Wszelkie próby użycia takiego polecenia skutkują błędami, ponieważ PHP nie rozpoznaje tej funkcji. Zrozumienie właściwych nazw funkcji oraz ich składni jest kluczowe w programowaniu, aby uniknąć błędów. W drugiej odpowiedzi, funkcja str_replace została wywołana z niewłaściwymi parametrami, ponieważ brakuje trzeciego argumentu, który jest wymagany do zdefiniowania zmiennej, w której dokonujemy zamiany. Nieprawidłowe podejście do składni funkcji prowadzi do nieefektywnego kodu. Kolejna odpowiedź, w której zamieniamy 'Nowak' na 'Kowalski', także jest błędna, ponieważ nie spełnia celu zamiany wskazanego w pytaniu. Całkowicie odwrotne podejście do problemu może prowadzić do wprowadzenia błędnych danych. Warto zwrócić uwagę, że typowe błędy myślowe, takie jak nieprawidłowe przypisanie argumentów funkcji, mogą wynikać z braku znajomości dokumentacji lub niewłaściwego zrozumienia działania funkcji. Ostatecznie, kluczem do skutecznego programowania jest nie tylko znajomość składni, ale także umiejętność analizy i testowania kodu, co można osiągnąć poprzez praktykę oraz korzystanie z zasobów edukacyjnych.

Pytanie 15

Wskaż, który z poniższych jest poprawnym zapisem zmiennej w języku JavaScript.

A. const var-name = 10;
B. var 2nameVar = 10;
C. let variableName = 10;
D. var $name@ = 10;
W języku JavaScript deklaracja zmiennej przy użyciu słowa kluczowego <code>let</code> jest obecnie jedną z najczęściej stosowanych praktyk. Ma ona na celu stworzenie zmiennej o zasięgu blokowym, co oznacza, że zmienna jest dostępna tylko w obrębie bloku kodu, w którym została zadeklarowana. To podejście pozwala na bardziej elastyczne i bezpieczne zarządzanie zmiennymi w kodzie, minimalizując ryzyko błędów związanych z niezamierzonym nadpisywaniem wartości. Zmienna <code>variableName</code> jest poprawnie zapisana zgodnie z konwencjami JavaScript: zaczyna się od litery i składa się wyłącznie z liter oraz cyfr. Wartość 10 przypisana do tej zmiennej to liczba całkowita. Deklaracja <code>let</code> jest preferowana w stosunku do <code>var</code> z uwagi na lepsze zarządzanie zasięgiem i uniknięcie problemów związanych z hoistingiem. Ponadto, stosowanie jasnych i opisowych nazw zmiennych, jak <code>variableName</code>, jest dobrą praktyką programistyczną, ułatwiającą zrozumienie i utrzymanie kodu.

Pytanie 16

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

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

Pytanie 17

Tabela faktury w bazie danych zawiera pola: numer, data, id_klienta, wartość oraz status. Każdego dnia tworzony jest raport dotyczący faktur z dnia bieżącego. Zawiera on jedynie numery oraz wartości faktur. Która z poniższych kwerend SQL pozwoli na wygenerowanie tego raportu?

A. SELECT numer, wartosc FROM faktury WHERE data=CURRENT_DATE();
B. SELECT numer, wartość FROM faktury;
C. SELECT * FROM faktury WHERE data=CURRENT_DATE();
D. SELECT * FROM faktury;
Analizując inne dostępne kwerendy, możemy zauważyć, że nie spełniają one wymogów skutecznego raportowania faktur z bieżącego dnia. Pierwsza z nich, która wykorzystuje 'SELECT * FROM faktury;', zwraca wszystkie kolumny z tabeli faktury, co nie jest zgodne z wymaganiami, ponieważ nie ogranicza wyników do tylko dwóch pożądanych pól, czyli numeru i wartości. Takie podejście generowałoby zbędne dane, co mogłoby prowadzić do niewłaściwej analizy. Druga kwerenda, 'SELECT numer, wartość FROM faktury;', z kolei nie zawiera żadnego filtra daty, przez co zwracałaby numery i wartości wszystkich faktur, niezależnie od daty ich wystawienia. To podejście nie dostarczałoby potrzebnych informacji dotyczących tylko bieżącego dnia, co jest kluczowe w kontekście tworzenia codziennego raportu. Ostatnia z błędnych odpowiedzi to 'SELECT * FROM faktury WHERE data=CURRENT_DATE();'. Choć ta kwerenda zawiera właściwy warunek daty, to znowu, użycie '*' powoduje, że zwracane są wszystkie kolumny, a nie tylko te, które są istotne dla raportu. Takie podejście jest nieefektywne, a także niezgodne z najlepszymi praktykami tworzenia raportów, które powinny być zwięzłe i skoncentrowane na kluczowych informacjach.

Pytanie 18

Ograniczanie dostępu do niektórych pól lub metod obiektów danej klasy, tak aby mogły być one wykorzystywane wyłącznie przez wewnętrzne metody tej klasy lub funkcje zaprzyjaźnione, to

A. polimorfizm
B. dziedziczenie
C. hermetyzacja
D. konkatenacja
Hermetyzacja to kluczowa koncepcja programowania obiektowego, która polega na ograniczaniu dostępu do pewnych pól i metod danej klasy, aby chronić integralność danych i zapewnić ich poprawne użycie. Przykładem hermetyzacji jest użycie modyfikatorów dostępu, takich jak 'private' i 'protected', co pozwala na ukrycie implementacji od użytkowników klasy, a jednocześnie umożliwia dostęp do tych elementów wewnętrznym metodom klasy. Dzięki hermetyzacji programiści mogą wprowadzać zmiany w implementacji bez wpływu na kod zewnętrzny, co wspiera zasady SOLID i ułatwia zarządzanie dużymi systemami. Rekomendowane praktyki w programowaniu obiektowym zalecają, aby klasy były odpowiedzialne za zarządzanie swoimi danymi, a dostęp do tych danych powinien odbywać się wyłącznie poprzez zdefiniowane interfejsy, takie jak metody publiczne, co pozwala na kontrolowanie operacji i walidację danych. W ten sposób hermetyzacja przyczynia się do większej niezawodności, czytelności oraz łatwości w testowaniu aplikacji.

Pytanie 19

Podaj zapis w języku JavaScript, który sprawdzi, czy spełniony jest przynajmniej jeden z następujących warunków: 1) dowolna liczba naturalna a jest liczbą trzycyfrową, 2) dowolna liczba całkowita b jest liczbą ujemną?

A. ((a>99) || (a<1000)) || (b<0)
B. ((a>99) || (a<1000)) && (b<0)
C. ((a>99) && (a<1000)) && (b<0)
D. ((a>99) && (a<1000)) || (b<0)
Odpowiedź ((a>99) && (a<1000)) || (b<0) jest prawidłowa, ponieważ warunek ten skutecznie sprawdza, czy dowolna naturalna liczba a jest trzycyfrowa lub czy dowolna całkowita liczba b jest ujemna. Część wyrażenia (a>99) && (a<1000) weryfikuje, czy liczba a jest w przedziale od 100 do 999, co definiuje liczby trzycyfrowe. Z kolei druga część (b<0) sprawdza, czy liczba b jest mniejsza od zera. Całość połączona jest operatorem OR (||), co oznacza, że wystarczy spełnienie jednego z tych warunków, aby cały warunek był spełniony. W praktyce, takie wyrażenia są powszechnie stosowane w programowaniu, szczególnie w formularzach walidacyjnych, gdzie ważne jest, aby dane wprowadzone przez użytkowników spełniały określone kryteria. Dobrą praktyką jest dbałość o czytelność kodu i stosowanie odpowiednich nazw zmiennych, co ułatwia zrozumienie logiki działania aplikacji. Warto również pamiętać o testowaniu różnych przypadków, aby upewnić się, że warunki działają zgodnie z zamierzeniami, co jest kluczowe w zapewnieniu wysokiej jakości oprogramowania.

Pytanie 20

Aby wyszukać w tabeli Pracownicy tylko te nazwiska, które kończą się na literę "i", można zastosować kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i"
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%"
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i"
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%"
Fajnie, że wybrałeś tę kwerendę SQL: 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. To jest naprawdę dobra robota, bo zastosowałeś operator LIKE w odpowiedni sposób. Wzorzec '%i' pozwala na wyszukiwanie nazwisk kończących się na literę 'i'. Ten symbol '%' to taki wildcard, który mówi SQL, żeby szukał czegokolwiek przed 'i', nawet niczego. To jest mega przydatne w codziennej pracy z bazami danych, bo często musimy wyciągać konkretne dane, żeby coś załatwić. Na przykład, jeśli chcemy stworzyć listę pracowników, którzy mają nazwiska kończące się na 'i', to ta kwerenda będzie strzałem w dziesiątkę. Pamiętaj, że dobrze jest testować swoje kwerendy na próbnych danych, żeby mieć pewność, że wyniki są takie, jakie chcemy.

Pytanie 21

Zasada działania algorytmów zachłannych polega na

A. przeszukiwaniu danych do momentu znalezienia rozwiązania
B. dzieleniu problemu na mniejsze podproblemy, aby uzyskać łatwiejsze do rozwiązania zadania
C. wybieraniu rozwiązań, które na danym etapie wydają się najbardziej korzystne
D. odwołaniu się do funkcji lub definicji we własnym zakresie
Metoda zachłanna jest strategią algorytmiczną, która polega na podejmowaniu decyzji, które w danym momencie wydają się najlepsze, bez rozważania długofalowych konsekwencji. Ta technika jest szczególnie przydatna w rozwiązywaniu problemów optymalizacyjnych, gdzie celem jest znalezienie jak najlepszego rozwiązania przy minimalnym nakładzie obliczeniowym. Przykładem zastosowania metody zachłannej jest algorytm Kruskala lub Prim'a do znajdowania minimalnego drzewa rozpinającego w grafie. W obu przypadkach kluczowym krokiem jest wybór krawędzi, które minimalizują wagę, co prowadzi do optymalnego rozwiązania. W praktyce, metoda ta jest szeroko stosowana w problemach takich jak plecak, zadania związane z przydzielaniem zasobów, czy algorytmy kompresji danych. Ważne jest, aby pamiętać, że metoda zachłanna nie zawsze prowadzi do globalnego optimum, ale w wielu kontekstach jest wydajna i prosta do zaimplementowania. W związku z tym, w branży programistycznej, wykorzystanie metod zachłannych jest zgodne z dobrymi praktykami inżynierii oprogramowania.

Pytanie 22

Polecenie SQL:

GRANT CREATE, ALTER ON sklep.* TO adam;
Zakładając, że użytkownik adam wcześniej nie posiadał żadnych uprawnień, to powyższe polecenie SQL przyzna mu prawa jedynie do:
A. dodawania oraz modyfikacji danych w tabeli sklep
B. dodawania oraz modyfikacji danych we wszystkich tabelach bazy sklep
C. tworzenia oraz modyfikacji struktury wszystkich tabel w bazie sklep
D. tworzenia oraz modyfikacji struktury w tabeli sklep
Wiele błędnych odpowiedzi opiera się na mylnym zrozumieniu zakresu przyznawanych uprawnień. Przede wszystkim, uprawnienia 'CREATE' i 'ALTER' odnoszą się wyłącznie do struktury tabel i innych obiektów, a nie do danych przechowywanych w tabelach. Stąd wstawianie (INSERT) i zmiana danych (UPDATE) nie są umożliwione przez polecenie 'GRANT CREATE, ALTER', co jest kluczowym błędem w niektórych odpowiedziach. Wstawianie danych wymaga przyznania uprawnień 'INSERT', a zmiana danych 'UPDATE', których w tym przypadku nie przyznano. Kolejnym powszechnym nieporozumieniem jest mylenie odniesienia do jednej tabeli z odniesieniem do całej bazy danych. Uprawnienie 'ON sklep.*' wyraźnie sugeruje, że dotyczy wszystkich tabel w bazie danych o nazwie 'sklep', a nie tylko pojedynczej tabeli. To zrozumienie jest fundamentem dla odpowiedniego zarządzania prawami dostępu w praktyce administracyjnej baz danych. Najlepsze praktyki wskazują, że przy przyznawaniu uprawnień należy dokładnie określać, do jakich obiektów użytkownik ma mieć dostęp, co zmniejsza ryzyko nieautoryzowanych zmian i naruszeń bezpieczeństwa.

Pytanie 23

Liczba 0x142, przedstawiona w kodzie JavaScript, przyjmuje formę

A. dwójkową
B. dziesiętną
C. ósemkową
D. szesnastkową
Liczba 0x142 jest zapisana w systemie szesnastkowym, co oznacza, że jest reprezentowana w bazie 16. W systemie szesnastkowym posługujemy się cyframi od 0 do 9 oraz literami od A do F, gdzie A odpowiada 10, B to 11, C to 12, D to 13, E to 14, a F to 15 w systemie dziesiętnym. Przykład zastosowania tego systemu można zauważyć w programowaniu oraz w różnych standardach, takich jak HTML, gdzie kolory są często reprezentowane w formacie szesnastkowym, np. #FFFFFF dla bieli. Można także spotkać się z systemem szesnastkowym w adresacji pamięci oraz w reprezentacji liczb dużych, co jest szczególnie przydatne w kontekście programowania niskopoziomowego i systemów wbudowanych. Zrozumienie różnych systemów liczbowych, w tym szesnastkowego, jest niezbędne dla każdego programisty, szczególnie podczas pracy z danymi binarnymi, hex i podczas obliczeń niskopoziomowych.

Pytanie 24

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

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

Pytanie 25

Jakie polecenie SQL zmieni w tabeli tab wartość w kolumnie kol z Ania na Zosia?

A. UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia'
B. ALTER TABLE tab CHANGE kol = 'Ania' kol = 'Zosia'
C. UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania'
D. ALTER TABLE tab CHANGE kol = 'Zosia' kol = 'Ania'
Podane odpowiedzi, które nie wykorzystują odpowiedniej składni SQL lub koncepcji manipulacji danymi, są błędne. Na przykład, aktualizacja wartości 'Ania' na 'Zosia' za pomocą polecenia UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia' nie tylko nie osiągnie zamierzonego celu, ale również wprowadzi w błąd. W rzeczywistości, polecenie to nie zmieni żadnych danych, ponieważ nie ma rekordów, w których kolumna 'kol' zawierałaby wartość 'Zosia', a polecenie próbuje ustawić ją na 'Ania'. Z kolei użycie ALTER TABLE do zmiany wartości w kolumnie jest całkowicie niewłaściwe, ponieważ to polecenie służy do zmiany struktury tabeli, a nie danych w niej zawartych. Alteracja struktury bazy danych jest fundamentalnie różna od aktualizacji wartości w wierszach. Zrozumienie różnicy między tymi dwoma typami operacji jest kluczowe dla efektywnego zarządzania bazami danych. Typowe błędy myślowe obejmują mylenie operacji na danych z operacjami na strukturze bazy danych, co prowadzi do nieefektywnego i błędnego kodowania. Warto także zwrócić uwagę na zapewnienie integralności danych i stosowanie właściwych kryteriów, aby uniknąć przypadkowych modyfikacji lub usunięć danych.

Pytanie 26

Formularze do zarządzania bazami danych są tworzone w celu

A. wyszukiwania rekordów, które spełniają określone kryteria
B. ułatwienia wprowadzania, edytowania i usuwania danych
C. tworzenia powiązań w relacyjnych bazach danych
D. generowania raportów z danych
Wiele osób może pomylić funkcję formularzy w bazach danych z ich rolą w raportowaniu danych. Chociaż formularze mogą być używane do generowania raportów, ich głównym celem nie jest prezentacja danych, ale ułatwienie ich wprowadzania oraz zarządzania. Raporty zazwyczaj są generowane na podstawie danych już istniejących w bazie i wymagają analizy, co wykracza poza funkcję formularzy. Z kolei wyszukiwanie wierszy spełniających określone kryteria, choć istotne, również nie jest głównym zadaniem formularzy. Wyszukiwanie to proces związany z kwerendami SQL, który pozwala na wydobycie danych na podstawie różnych warunków, co także nie jest bezpośrednio związane z funkcjonalnością formularzy, które skupiają się na interakcji użytkownika z danymi. Ponadto, wprowadzanie powiązań w relacyjnych bazach danych to bardziej zaawansowany proces projektowania bazy, który wymaga zrozumienia struktury danych i zastosowania kluczy głównych oraz obcych. Powiązania są definiowane na etapie projektowania bazy danych, a nie podczas korzystania z formularzy. Dlatego, chociaż wszystkie wymienione funkcje są istotne w kontekście zarządzania danymi, formularze skupiają się głównie na uproszczeniu interakcji użytkownika z procesem wprowadzania i modyfikacji danych.

Pytanie 27

Co oznacza jednostka ppi (pixels per inch)?

A. jest parametrem określającym rozdzielczość cyfrowych urządzeń wykonujących pomiary
B. określa rozdzielczości obrazów generowanych przez drukarki i plotery
C. określa rozdzielczość obrazów rastrowych
Pierwsza z niepoprawnych odpowiedzi sugeruje, że ppi określa rozdzielczość obrazów generowanych przez drukarki i plotery, co jest nieprecyzyjne. Drukarki i plotery mogą używać różnych jednostek miary, takich jak dpi (dots per inch), a nie ppi, do opisu rozdzielczości druku. Ppi odnosi się bezpośrednio do cyfrowych obrazów rastrowych, a dpi jest bardziej związane z rzeczywistym procesem druku. Kolejna odpowiedź sugeruje, że ppi jest parametrem definiującym rozdzielczości cyfrowych urządzeń wykonujących pomiary. To również nie jest poprawne, ponieważ ppi jest jednostką miary odnoszącą się do rozdzielczości obrazów, a nie do urządzeń pomiarowych. Urządzenia tego typu mogą używać różnych standardów, które są dostosowane do specyficznych zastosowań, takich jak rozdzielczość w milimetrach czy centymetrach, co czyni tę odpowiedź błędną. Wreszcie, brak jakiejkolwiek odpowiedzi w ostatnim punkcie wskazuje na niepełne zrozumienie tematu i nie dostarcza żadnej wartości merytorycznej, co dodatkowo podkreśla niepoprawność wszystkich wymienionych opcji, które nie odnoszą się bezpośrednio do definicji ppi.

Pytanie 28

Programista stworzył pętlę w języku C++, która miała za zadanie obliczyć wynik 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny, gdyż ```int a = 1; for (int i=1; i < 5; i++) { a = a * i; } cout << a;```

Ilustracja do pytania
A. zmienna i w pętli powinna być rozpoczynana od 0, a nie od 1
B. w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5
C. zmienna a powinna być początkowo ustawiona na 0 zamiast 1
D. zmienna i pętli powinna być zmniejszana, a nie zwiększana
Odpowiedź jest prawidłowa, ponieważ pętla powinna przebiegać przez wszystkie liczby od 1 do 5, aby obliczyć wartość 5! czyli 120. W kodzie pętla for zaczyna się od wartości i=1 i kontynuuje, dopóki i jest mniejsze niż 5, co oznacza, że nie uwzględnia liczby 5. Zmiana warunku na i<6 powoduje, że pętla wykona się pięć razy dla wartości i=1, 2, 3, 4, 5. To zgodne z matematyczną definicją silni, gdzie należy przemnożyć wszystkie liczby całkowite od 1 do n. Wpisując warunek i<6, kod stanie się bardziej zgodny z dobrymi praktykami programowania, które zalecają jasne i jednoznaczne warunki zakończenia pętli. Prawidłowe obliczenie silni jest częstym zadaniem w programowaniu i stanowi fundament dla bardziej zaawansowanych algorytmów liczbowych takich jak algorytmy rekurencyjne. Zrozumienie iteracyjnego i rekurencyjnego podejścia do tego problemu rozwija umiejętności logicznego myślenia i projektowania algorytmów. Takie zrozumienie jest kluczowe zwłaszcza w dziedzinie analizy algorytmów i optymalizacji kodu.

Pytanie 29

Przedstawiony kod źródłowy ma na celu zaprezentowanie

$liczba = 1;
while ($liczba != 0)
{
    $liczba = rand(0,100);
    echo $liczba;
}
A. wylosowanych liczb od 1 do 99
B. liczb wprowadzonych z klawiatury tak długo, aż nie zostanie podana wartość 0
C. kolejnych liczb od 1 do 100
D. losowych liczb od 0 do 100 do momentu, aż nie wylosowana zostanie liczba 0
Analizując inne odpowiedzi, można zauważyć kilka nieporozumień dotyczących działania kodu. Kod nie wyświetla kolejnych liczb od 1 do 100, ponieważ nie zawiera mechanizmu inkrementacji liczby w sposób sekwencyjny. Jest to typowy błąd, który wynika z mylnego zrozumienia działania pętli i przypisywania wartości. Zamiast tego pętla generuje losowe liczby, co jest zupełnie innym procesem. Kod nie wczytuje danych z klawiatury, ponieważ nie zawiera żadnych funkcji wejścia/wyjścia, takich jak scanf czy inne odpowiedniki w języku PHP. Proces wczytywania danych z klawiatury wymaga interakcji z użytkownikiem, co w tym przypadku nie występuje. Istnieje również błędne zrozumienie, że kod wyświetla wylosowane liczby od 1 do 99. Funkcja rand(0,100) generuje liczby z zakresu od 0 do 100, a nie od 1 do 99. Zakres generowanych liczb jest kluczowym aspektem, który powinien być dokładnie rozumiany przez programistów, aby unikać niepoprawnych założeń prowadzących do błędnych wyników. Takie nieporozumienia często wynikają z niedostatecznej znajomości specyfikacji funkcji używanych w programowaniu i mogą prowadzić do błędów logicznych w kodzie, co w praktyce może skutkować nieoczekiwanym zachowaniem aplikacji. Ważne jest dokładne zrozumienie dokumentacji funkcji i ich właściwego zastosowania, co pozwala na poprawne projektowanie i implementację algorytmów w różnych sytuacjach problemowych. Zrozumienie różnic w działaniu funkcji i ich efektów jest kluczowe dla skutecznego programowania i unikania błędów związanych z niepoprawnym przetwarzaniem danych.

Pytanie 30

Podczas tworzenia tabeli w SQL, dla jednej z kolumn ustalono klucz główny. Jakie atrybuty należy zastosować, aby uniemożliwić wprowadzenie wartości pustej?

A. UNIQUE
B. NULL
C. NOT NULL
D. DEFAULT
Odpowiedzi, które wskazują inne atrybuty, są niepoprawne z kilku powodów. Atrybut NULL, który dopuszcza wstawianie pustych wartości, nie może być zastosowany w kontekście klucza głównego, ponieważ klucz główny musi mieć unikalne i niepuste wartości. Użycie UNIQUE z kolei zapewnia, że wartości w danej kolumnie są unikalne, ale nie blokuje możliwości wstawienia wartości NULL. W przypadku, gdy kolumna klucza głównego byłaby zdefiniowana jako UNIQUE, to mogłoby prowadzić do sytuacji, w której możliwe jest wstawienie wielu rekordów z wartością NULL, co jest sprzeczne z zasadą integralności danych. Atrybut DEFAULT natomiast pozwala na przypisanie domyślnej wartości do kolumny, jeśli nie zostanie ona podana podczas wstawiania rekordu, ale również nie zabezpiecza przed wstawieniem wartości NULL, co w kontekście klucza głównego jest niedopuszczalne. Wszystkie te atrybuty mają swoje zastosowania w różnych kontekstach, ale w przypadku klucza głównego, ONLY NOT NULL jest odpowiednim rozwiązaniem, które gwarantuje pełną integralność danych oraz unikalność każdego rekordu w tabeli.

Pytanie 31

Tabela o nazwie naprawy zawiera kolumny: klient, czyNaprawione. Jakie polecenie należy użyć, aby wykasować rekordy, w których pole czyNaprawione ma wartość prawdziwą?

A. DELETE FROM naprawy;
B. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
C. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
D. DELETE naprawy WHERE czyNaprawione = TRUE;
W przypadku drugiej odpowiedzi, 'DELETE naprawy WHERE czyNaprawione = TRUE;', brak jest kluczowego słowa 'FROM', co jest niezgodne z syntaksą SQL. W standardzie SQL polecenie DELETE zawsze wymaga określenia tabeli, z której mają zostać usunięte dane, za pomocą słowa kluczowego 'FROM'. Bez tego, zapytanie będzie generować błąd. Kolejna odpowiedź, 'DELETE FROM naprawy;', jest niepoprawna, ponieważ usuwa wszystkie rekordy z tabeli 'naprawy', co zwykle nie jest pożądanym działaniem. To podejście może prowadzić do utraty wszystkich zapisów, co w praktyce jest katastrofalne, jeśli nie wykonano wcześniej kopii zapasowej. Czwarta odpowiedź, 'DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;', błędnie sugeruje, że można wskazać konkretne kolumny do usunięcia, co jest także niezgodne z zasadami SQL. W SQL nie można wskazać pojedynczych kolumn do usunięcia, to całe rekordy są usuwane. Typowe błędy myślowe, które prowadzą do takich nieprawidłowych wniosków, to brak znajomości podstawowych zasad działania zapytań SQL oraz mylenie koncepcji usuwania danych z modyfikowaniem ich zawartości.

Pytanie 32

Wskaż nieprawidłowy opis optymalizacji kodu generowanego przez program.

A. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
B. Może być realizowana na różnych etapach działania w celu przyspieszenia wykonania kodu przez procesor
C. Jej celem jest zwiększenie efektywności działania programu
D. Powinna skutkować modyfikacją kodu źródłowego, aby działał on szybciej
Optymalizacja kodu wynikowego programu to proces, którego celem jest poprawa wydajności i szybkości działania aplikacji. Obejmuje różnorodne techniki, takie jak eliminacja zbędnych operacji, zmniejszenie liczby instrukcji i wykorzystanie efektywniejszych algorytmów. Przykłady obejmują refaktoryzację kodu, gdzie zmieniane są struktury danych lub algorytmy w celu osiągnięcia lepszej wydajności. Również optymalizacja na poziomie kompilacji, w której kompilatory mogą przeprowadzać różne techniki optymalizacji, takie jak inlining funkcji czy eliminacja martwego kodu, jest kluczowa. Standardy, takie jak C99 czy C11, często zawierają wytyczne dotyczące wydajności, co podkreśla znaczenie optymalizacji w tworzeniu nowoczesnych aplikacji. Istotne jest, aby proces ten był prowadzony na różnych etapach, od fazy projektowania po końcowe testy, aby zidentyfikować wąskie gardła i zwiększyć efektywność kodu.

Pytanie 33

Do stworzenia stron internetowych w sposób graficzny należy zastosować

A. program do przeglądania stron
B. narzędzie do edycji CSS
C. aplikację typu WYSIWYG
D. oprogramowanie MS Office Picture Manager
Edytory CSS, mimo że są istotnym narzędziem w tworzeniu stron internetowych, nie są programami graficznymi. Edytory te, takie jak Sublime Text czy Visual Studio Code, pozwalają na pisanie i edytowanie arkuszy stylów CSS, które definiują wygląd strony, ale nie oferują wizualnej reprezentacji tego, co użytkownik finalnie zobaczy w przeglądarce. Oznacza to, że chociaż edytory CSS są niezbędne do stylizacji stron, nie umożliwiają one tworzenia stron w sposób graficzny. Przeglądarki internetowe, z kolei, są narzędziami do przeglądania już stworzonych stron, a nie do ich tworzenia. Choć pozwalają na podgląd efektów pracy, nie oferują funkcji edycyjnych ani twórczych. Użytkownik nie jest w stanie stworzyć strony bezpośrednio w przeglądarce. Program MS Office Picture Manager jest zupełnie nieodpowiedni do graficznego tworzenia stron internetowych, ponieważ jest to narzędzie do zarządzania obrazami, a nie do tworzenia treści webowej. Umożliwia jedynie edytowanie zdjęć i grafik, co jest zupełnie innym procesem niż projektowanie stron internetowych. W kontekście tworzenia witryn, narzędzia te nie spełniają wymaganych funkcji, takich jak edytowanie kodu czy wizualne układanie elementów na stronie, co czyni je nieodpowiednimi do tego zadania.

Pytanie 34

Który z poniższych formatów plików nie jest używany do publikacji grafiki lub animacji w internecie?

A. PNG
B. SWF
C. SVG
D. AIFF
Wybór formatów PNG, SWF i SVG jako odpowiedzi nie jest właściwy, ponieważ każdy z nich jest ściśle związany z publikacją grafiki lub animacji na stronach internetowych. PNG to format plików rastrowych, który zapewnia wysoką jakość obrazu, wspiera przezroczystość i kompresję bezstratną. Z tego powodu jest często wykorzystywany w projektowaniu stron internetowych, gdzie ważne jest zachowanie detali w grafice, a także w sytuacjach, gdy potrzebne są przezroczyste tła. Z kolei SWF jest to format, który był szeroko stosowany do tworzenia animacji, gier i interaktywnych aplikacji w środowisku Adobe Flash. Choć technologia Flash jest obecnie mniej popularna z powodu rozwoju HTML5, SWF wciąż ma swoje miejsce w historii publikacji multimedialnych. Natomiast SVG, jako format wektorowy, umożliwia tworzenie grafiki, która jest skalowalna i dostosowuje się do różnych rozmiarów ekranów, co czyni go idealnym do responsywnych designów. Wszystkie te formaty są kluczowe w kontekście tworzenia atrakcyjnych wizualnie i funkcjonalnych stron internetowych, dlatego nie mogą być uznane za błędne odpowiedzi w kontekście publikacji grafiki i animacji.

Pytanie 35

Jaką klauzulę należy użyć w instrukcji CREATE TABLE w SQL, żeby pole rekordu nie mogło być puste?

A. DEFAULT
B. NOT NULL
C. NULL
D. CHECK
Wybór odpowiedzi NULL wskazuje na nieprawidłowe zrozumienie roli tej klauzuli w kontekście tworzenia tabel w SQL. Klauzula NULL jest domyślnym ustawieniem dla kolumn, które nie zostały oznaczone jako NOT NULL. Oznacza to, że kolumna może zawierać wartości puste (NULL), co w wielu przypadkach może prowadzić do problemów z integralnością danych. Z drugiej strony, klauzula CHECK jest używana do określenia warunków, które muszą być spełnione przez dane w kolumnie, ale nie gwarantuje, że pole nie będzie puste. Może być użyta do walidacji wartości, ale nie służy do blokowania pustych wpisów. Klauzula DEFAULT pozwala na ustawienie wartości domyślnej dla kolumny, jeżeli nie zostanie podana żadna inna wartość, lecz nie chroni przed wprowadzeniem danych pustych. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, to mylenie celów różnych klauzul oraz nieodróżnianie między zasadą integralności a ustawieniami domyślnymi dla kolumn. W kontekście projektowania baz danych, kluczowe jest zrozumienie, że NOT NULL ma na celu zapewnienie, że ważne dane są zawsze obecne, co jest niezbędne dla właściwego funkcjonowania aplikacji oraz analizy danych.

Pytanie 36

W znaczniku <meta ...> w sekcji <meta ...> na stronie internetowej nie zamieszcza się informacji o

A. autorze
B. automatycznym odświeżaniu
C. typie dokumentu
D. kodowaniu
Wszystkie wymienione odpowiedzi, z wyjątkiem informacji dotyczącej typu dokumentu, są poprawne i mogą być umieszczane w znaczniku <meta>. Informacja o autorze jest istotna, ponieważ pozwala wskazać osobę odpowiedzialną za treść na stronie, co może być ważne w kontekście cytowania i prawa autorskiego. Wyszukiwarki również mogą brać pod uwagę te informacje w kontekście wiarygodności źródła. Z kolei kodowanie jest kluczowe, ponieważ określa, w jaki sposób znaki są interpretowane przez przeglądarkę, co ma fundamentalne znaczenie dla prawidłowego wyświetlania treści, zwłaszcza w przypadku stron wielojęzycznych. Możliwość określenia kodowania w znaczniku <meta charset='UTF-8'> jest powszechnie stosowana, aby zapewnić, że wszystkie znaki są renderowane poprawnie. Automatyczne odświeżanie za pomocą znacznika <meta http-equiv='refresh' content='30'> jest przydatne, gdy strona potrzebuje być często aktualizowana, na przykład w przypadku stron informacyjnych czy serwisów newsowych. Dlatego też, umieszczanie tych informacji w znaczniku <meta> jest zgodne z praktykami webowymi i przyczynia się do poprawy działania strony oraz jej optymalizacji dla użytkowników i wyszukiwarek.

Pytanie 37

Aby zdefiniować selektor klasy w kaskadowych arkuszach stylów, należy użyć symbolu

A. . (kropka)
B. *
C. : (dwukropek)
D. #
Selektory klas w CSS są super ważne! Używamy kropki (.) na początku, żeby zdefiniować klasę. To naprawdę ułatwia sprawę, bo można przypisać jeden styl do wielu elementów. Na przykład, jeśli zdefiniujesz klasę .przycisk, to wszystkie elementy, które ją mają, mogą wyglądać tak samo – możesz zmieniać kolory, rozmiary czy inne rzeczy. To świetne, bo dzięki temu kod jest czytelniejszy i łatwiej go ogarnąć. Klasy są bardziej elastyczne niż identyfikatory (#), które są unikalne i można je używać tylko raz w dokumencie. Dlatego, kiedy potrzebujesz, aby kilka elementów miało te same style, lepiej postawić na klasy. A tak w ogóle, użycie kropki dla klas to taki standard w CSS, który pozwala łatwiej ogarniać całą hierarchię stylów na stronie. Po prostu to się sprawdza!

Pytanie 38

Użycie standardu ISO-8859-2 ma na celu zapewnienie prawidłowego wyświetlania

A. symboli matematycznych
B. specjalnych znaków dla języka kodowania strony
C. znaków zarezerwowanych dla języka opisu strony
D. polskich znaków, takich jak: ś, ć, ń, ó, ą
Odpowiedzi dotyczące symboli matematycznych, znaków specjalnych dla języka kodów strony oraz znaków zarezerwowanych dla języka opisu strony są niepoprawne w kontekście zastosowania standardu ISO-8859-2. Standard ten nie jest przeznaczony do wyświetlania symboli matematycznych, gdyż istnieją inne kody i standardy, takie jak Unicode, które lepiej radzą sobie z obsługą szerokiego zakresu symboli matematycznych oraz znaków specjalnych. ISO-8859-2 koncentruje się głównie na znakach używanych w językach europejskich, a nie na symbolach, które są specyficzne dla matematyki. Z kolei znaki specjalne dla języka kodów strony, takie jak HTML, wymagają innego podejścia w kodowaniu, na przykład zastosowania encji HTML, które są standardowym sposobem reprezentacji znaków, które mogą być zinterpretowane przez przeglądarki internetowe. Wreszcie, znaki zarezerwowane dla języka opisu strony, takie jak te używane w XML czy HTML, również nie są objęte standardem ISO-8859-2. Każdy z tych tematów wymaga zrozumienia kontekstu, w którym są stosowane, oraz standardów technicznych, które są bardziej odpowiednie do ich obsługi, co podkreśla ograniczenia ISO-8859-2 w obszarze, w którym zostały zaprojektowane.

Pytanie 39

Zestawienie dwóch kolorów znajdujących się po przeciwnych stronach na kole barw stanowi zestawienie

A. dopełniającym
B. sąsiednim
C. trójkątnym
D. monochromatycznym
Wybór sąsiadujących barw oznaczałby połączenie kolorów, które leżą obok siebie na kole barw, co prowadzi do efektu harmonijnego i spokojnego, ale nie intensywnego, jak w przypadku barw dopełniających. Tego typu zestawienia są często stosowane w projektach wymagających łagodnych przejść kolorystycznych, np. w architekturze wnętrz. Monochromatyczne zestawienia, z drugiej strony, polegają na używaniu różnych odcieni, tonów lub nasycenia jednej barwy, uzyskując efekt spójności, ale bez kontrastu. Takie podejście może być stosowane w minimalistycznych projektach, ale nie wykorzystuje pełnego potencjału kontrastów. Natomiast koncepcja trójkątnych zestawień kolorystycznych odnosi się do używania trzech kolorów, które tworzą trójkąt równoboczny na kole barw, co także prowadzi do harmonii, ale niekoniecznie do dynamiki i intensywności, które charakteryzują połączenia dopełniające. Typowym błędem myślowym jest pomylenie pojęcia kontrastu z harmonią, co prowadzi do niepoprawnych wniosków o funkcji poszczególnych zestawień kolorystycznych w praktyce projektowej.

Pytanie 40

Na rysunku została przedstawiona relacja jeden do wielu. Łączy ona

Ilustracja do pytania
A. klucz obcy reżyserzy_id tabeli filmy z kluczem obcym id tabeli reżyserzy.
B. klucz podstawowy id tabeli filmy z kluczem obcym reżyserzy_id tabeli reżyserzy.
C. klucz podstawowy id tabeli filmy z kluczem podstawowym id tabeli reżyserzy.
D. klucz obcy reżyserzy_id tabeli filmy z kluczem podstawowym id tabeli reżyserzy.
Twoja odpowiedź jest prawidłowa. Relacja jeden do wielu na rysunku wskazuje, że jeden rekord z tabeli reżyserzy może być powiązany z wieloma rekordami w tabeli filmy. Klucz obcy (FK - Foreign Key) w tabeli filmy (reżyserzy_id) wskazuje na klucz podstawowy (PK - Primary Key) w tabeli reżyserzy (id). Jest to typowa praktyka przy projektowaniu relacyjnych baz danych, która pozwala na utrzymanie integralności relacji między danymi. Te relacje są kluczowe dla prawidłowego działania systemów bazodanowych, ponieważ umożliwiają efektywne zarządzanie danymi. Poprawnie zdefiniowanie kluczy obcych i podstawowych umożliwia tworzenie skomplikowanych struktur danych, które odzwierciedlają rzeczywiste zależności i czytelnie prezentują powiązania między danymi.