Wyniki egzaminu

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

Egzamin niezdany

Wynik: 13/40 punktów (32,5%)

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

W tabeli artykuly wykonano określone instrukcje dotyczące uprawnień użytkownika jan. Po ich realizacji użytkownik jan uzyska możliwość

GRANT ALL PRIVILEGES ON artykuly TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan
A. edycji danych i przeglądania zawartości tabeli
B. sprawdzania zawartości tabeli
C. tworzenia tabeli i wypełniania jej informacjami
D. tworzenia tabeli oraz edytowania jej zawartości
Analizując pytanie i dostępną sekwencję poleceń SQL jasno wynika że użytkownik jan po wykonaniu tych poleceń nie zachowa uprawnień do przeglądania ani aktualizowania danych w tabeli artykuly. Pierwsze polecenie GRANT ALL PRIVILEGES przyznaje pełne uprawnienia co obejmuje tworzenie modyfikowanie usuwanie danych oraz ich przeglądanie. Jednakże drugie polecenie REVOKE SELECT UPDATE wycofuje konkretne prawa do przeglądania (SELECT) oraz aktualizowania (UPDATE) danych co oznacza że jan nie będzie mógł ani przeglądać ani modyfikować istniejących danych. To wyklucza odpowiedzi dotyczące aktualizowania danych i przeglądania tabeli jako poprawne. Często błędem jest założenie że cofnięcie tylko dwóch uprawnień nie wpłynie na możliwość podstawowych operacji takich jak przeglądanie. W rzeczywistości koordynacja uprawnień w bazach danych wymaga dokładnej analizy wszystkich przyznanych i cofniętych praw. Takie zarządzanie dostępem jest kluczowe dla zapewnienia bezpieczeństwa i integralności danych szczególnie w środowiskach produkcyjnych gdzie błędna konfiguracja może prowadzić do niepożądanych modyfikacji lub utraty danych.

Pytanie 2

Tabela programy zawiera kolumny: nazwa_programu, nazwa_producenta, rok_wydania. Jak należy zapisać kwerendę SELECT, aby uzyskać wszystkie unikalne nazwy producentów?

A. SELECT nazwa_producenta FROM programy WHERE UNIQUE
B. SELECT UNIQUE nazwa_producenta FROM programy
C. SELECT nazwa_producenta FROM programy WHERE nazwa_producenta NOT DUPLICATE
D. SELECT DISTINCT nazwa_producenta FROM programy
Odpowiedzi, które wykorzystują terminologię niezgodną ze standardami SQL, prowadzą do błędnych wniosków. W przypadku użycia słowa kluczowego UNIQUE, które nie jest używane w kontekście kwerendy SELECT, użytkownicy mogą błędnie sądzić, że powiązanie z tym terminem umożliwia pozyskanie unikalnych wartości. W rzeczywistości UNIQUE jest używane w kontekście ograniczeń (constraints) w definiowaniu tabeli, a nie w zapytaniach. To podejście może prowadzić do zrozumienia, że istnieje sposób na wykorzystanie tego słowa kluczowego w zapytaniach, co jest mylące. Z kolei propozycje, które odwołują się do frazy WHERE z dodatkowymi warunkami, jak UNIQUE czy NOT DUPLICATE, są również niepoprawne, ponieważ nie są to poprawne składniowo konstrukcje w SQL. Klauzula WHERE służy do filtrowania wyników na podstawie określonych warunków, ale nie ma możliwości zastosowania przy niej unikalnych filtrów w taki sposób. Tego rodzaju nieporozumienia mogą prowadzić do niepoprawnych wyników i frustracji w pracy z bazami danych, dlatego niezwykle ważne jest, aby dokładnie zapoznawać się z dokumentacją i standardami języka SQL, aby unikać takich pułapek. Właściwe zrozumienie terminologii i składni jest kluczowe w efektywnym zarządzaniu danymi.

Pytanie 3

W języku CSS zdefiniowano następujące formatowanie:

 h1 i {color: red;}
Kolorem czerwonym zostanie zapisany
A. cały tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, niezależnie od tego, w którym miejscu strony się znajduje.
B. cały tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu.
C. tylko tekst pochylony nagłówka pierwszego stopnia.
D. tylko tekst pochylony we wszystkich poziomach nagłówków.
Pozostałe odpowiedzi zawierają nieprawidłowe założenia co do tego, jak działają selektory w CSS. Odpowiedź sugerująca, że czerwonym kolorem zostanie zapisany tylko tekst pochylony we wszystkich poziomach nagłówków, nie jest prawidłowa, ponieważ kod CSS h1 i {color: red;} wyraźnie określa, że reguła dotyczy tylko tekstu pochylonego (<i>) wewnątrz nagłówka pierwszego stopnia (<h1>). Podobnie, odpowiedź mówiąca, że cały tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, niezależnie od tego w którym miejscu strony się znajduje, będzie czerwony, jest niepoprawna. Ta reguła CSS nie wpływa na cały tekst nagłówka pierwszego stopnia, ani na pochylony tekst w innych miejscach dokumentu. Wreszcie, odpowiedź sugerująca, że cały tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu będą czerwone, jest również nieprawidłowa, ponieważ jak wcześniej wspomniano, reguła dotyczy tylko tekstu pochylonego umieszczonego bezpośrednio w nagłówku pierwszego stopnia. Rozróżnienie między różnymi rodzajami selektorów i zrozumienie, jak są interpretowane przez przeglądarkę, to kluczowe umiejętności w codziennym kodowaniu CSS.

Pytanie 4

Kwerenda umożliwiająca modyfikację wielu rekordów lub przeniesienie ich przy pomocy jednego działania, określana jest jako kwerenda

A. funkcjonalnej
B. wybierająca
C. parametrycznej
D. krzyżowej
Odpowiedzi takie jak kwerenda wybierająca, parametryczna czy krzyżowa nie są właściwe w tym kontekście pytania, bo nie są do wprowadzania zmian w wielu rekordach. Kwerenda wybierająca filtruje i zwraca dane z bazy, ale nie zmienia ich. Często ludzie mylą to z masowym przetwarzaniem, co prowadzi do błędnych wniosków. Kwerenda parametryczna za to pozwala na dynamiczne dodawanie zmiennych podczas wykonywania zapytania, ale również nie działa na masowej aktualizacji. Jest bardziej o elastycznym pobieraniu danych według jakichś kryteriów. Kwerenda krzyżowa z kolei służy do analizy danych w formie tabeli przestawnej, co jest zupełnie inną bajką, bo tu chodzi bardziej o zestawianie niż o modyfikacje. Często myli się różne typy kwerend i ich funkcje w bazach danych, co może prowadzić do zamieszania i błędów. Ważne jest, żeby zrozumieć, że te różne kwerendy mają swoje konkretne zastosowania i są projektowane do różnych zadań w ramach baz danych.

Pytanie 5

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. definiuje tablicę z trzema wartościami
B. jest niepoprawny, nieznany operator =>
C. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
D. określa tablicę zawierającą sześć wartości
W tym przypadku mówimy o tablicach w PHP, które są podstawą zarządzania danymi w tym języku. Jednak stwierdzenie, że tablice asocjacyjne mogą mieć tylko klucze liczbowe, to nieprawda. W rzeczywistości klucze asocjacyjne mogą być wszelkimi wartościami skalarnymi, a najczęściej używa się ciągów znaków dla lepszej czytelności kodu. Operator '=>' w PHP jest powszechnie stosowany do przypisywania wartości do kluczy tablic asocjacyjnych, co jest totalnie normalne. Wydaje mi się, że błędne rozumienie tego operatora może pochodzić z braku praktyki z PHP albo z mieszania z innymi językami. Przykład zawiera trzy pary klucz-wartość, więc twierdzenie, że definiuje sześć wartości, jest grube nieporozumienie. Zrozumienie, jak PHP działa z tablicami, jest kluczowe, zwłaszcza w aplikacjach webowych, bo tablice są mega przydatne do przetwarzania danych. Dlatego warto przyłożyć się do analizowania struktury tych tablic, co pomoże unikać błędów w projektach.

Pytanie 6

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

A. underline
B. capitalize
C. uppercase
D. lowercase
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

Selektor CSS a:link {color:red} użyty w kaskadowych arkuszach stylów określa

A. klasę
B. pseudoelement
C. pseudoklasę
D. identyfikator
Zdecydowanie coś poszło nie tak w Twojej odpowiedzi, bo wygląda na to, że nie do końca rozumiesz podstawowe pojęcia związane z CSS. Klasy i identyfikatory, używane do grupowania elementów i nadawania im stylów, to zupełnie inna sprawa niż pseudoklasy. Klasy w CSS definiujesz przez kropkę, jak na przykład .nazwa-klasy, a pseudoklasy zawsze zaczynają się od dwukropka. Klasy są super do stylizacji większej grupy elementów, podczas gdy identyfikatory są unikalne i służą do stylizacji pojedynczych elementów, zaczynają się od hasha (#). Pseudoelementy, które mogą być mylone z pseudoklasami, pomagają stylizować tylko część elementów, jak na przykład ::before lub ::after, co pozwala na dodawanie treści przed lub po danym elemencie. Rozróżnienie tych pojęć jest naprawdę kluczowe, gdy chcesz dobrze zrozumieć CSS. Często zdarza się, że ludzie mylą te pojęcia, co prowadzi do chaosu przy stylizacji stron. Żeby uniknąć tych nieporozumień, warto przejrzeć dokumentację CSS i trochę poćwiczyć z różnymi selektorami. Z mojej perspektywy, jest to najlepszy sposób, by zrozumieć jak to wszystko działa i jakie są różnice między tymi pojęciami.

Pytanie 8

Który znacznik lub grupa znaczników nie są stosowane do definiowania struktury strony HTML?

A. <header>, <footer>
B. <div>
C. <i>, <b>, <u>
D. <section>
Użycie znaczników <div>, <header>, <footer>, i <section> wskazuje na nieporozumienie dotyczące roli, jaką każdy z tych elementów pełni w strukturze HTML. Znacznik <div> jest uniwersalnym kontenerem, używanym do grupowania innych elementów, co ułatwia stylizację i układ strony. <header> i <footer> są semantycznymi znacznikami, które jasno definiują nagłówki i stopy strony, a ich użycie poprawia dostępność i SEO. Znacznik <section> z kolei służy do dzielenia strony na różne sekcje treści, co jest kluczowe dla strukturalnej organizacji dokumentu. Wprowadzenie zmiany w podejściu do budowy stron internetowych, w oparciu o semantykę, zaczyna być standardem webowym. Konwencje te nie tylko poprawiają czytelność kodu, ale także wpływają na jego interpretację przez różne technologie asystujące, takie jak czytniki ekranu. Zastosowanie znaczników semantycznych ułatwia zrozumienie treści przez przeglądarki i roboty wyszukiwarek, co może mieć kluczowe znaczenie dla widoczności strony w wynikach wyszukiwania. Typowe błędy, takie jak mylenie roli znaczników wizualnych z semantycznymi, prowadzą do nieefektywnego zarządzania treścią oraz wpływają na doświadczenia użytkowników, którzy korzystają z technologii wspomagających. Dlatego tak istotne jest zrozumienie i stosowanie właściwych znaczników w odpowiednich kontekstach.

Pytanie 9

W celu uzyskania efektu widocznego na rysunku, w kodzie HTML, należy umieścić znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. alt
B. title
C. dfn
D. name
Wybrałeś niepoprawną odpowiedź. Przeanalizujmy inne opcje. 'alt' to atrybut używany w znacznikach obrazów (&lt;img&gt;) w HTML, służy do dostarczania tekstu alternatywnego, który jest wyświetlany, gdy obraz nie może być załadowany. 'dfn' to znacznik HTML używany do zdefiniowania terminu, ale nie ma on żadnej roli w określaniu skrótów. 'name' to atrybut używany w różnych znacznikach HTML, takich jak &lt;input&gt;, &lt;form&gt;, &lt;map&gt;, &lt;meta&gt;, &lt;param&gt; oraz &lt;button&gt;, ale nie jest związany ze znacznikami skrótów. W HTML, atrybutem używanym wraz ze znacznikiem skrótu &lt;abbr&gt; jest 'title', który dostarcza pełną formę skrótu. Proszę pamiętać o tej informacji na przyszłość.

Pytanie 10

Upload danych to termin, który oznacza

A. pobieranie plików z serwera.
B. przesyłanie plików na serwer.
C. trasę transferu pliku.
D. opóźnienie w transmisji pliku.
Pojęcie „upload danych” w praktyce oznacza wysyłanie, czyli przesyłanie plików lub innych danych z komputera klienta (Twojego urządzenia) na zdalny serwer albo do chmury. W typowym środowisku webowym klientem jest przeglądarka lub aplikacja, a serwerem – np. serwer HTTP, FTP, serwer aplikacyjny czy usługa w chmurze typu AWS S3 czy Google Drive. W standardowym modelu klient–serwer upload to ruch „w górę” – od użytkownika do usługi sieciowej. Download jest odwrotnością, czyli pobieraniem danych z serwera na komputer użytkownika. W protokołach takich jak HTTP upload odbywa się najczęściej poprzez żądania POST lub PUT, gdzie treść wysyłana jest w body requestu. W formularzach HTML odpowiada za to atrybut enctype="multipart/form-data" oraz odpowiednia konfiguracja input type="file". To właśnie wtedy następuje upload pliku – plik z Twojego dysku jest przesyłany na serwer, który może go zapisać w systemie plików, w bazie danych lub przetworzyć w inny sposób. W FTP termin upload jest wręcz podstawowy: komenda STOR służy do wysyłania pliku na serwer. Z mojego doświadczenia warto kojarzyć upload również z kwestiami bezpieczeństwa i wydajności. Dobrą praktyką jest ograniczanie maksymalnego rozmiaru przesyłanych plików, filtrowanie rozszerzeń, skanowanie antywirusowe oraz walidacja typu MIME, żeby nie dopuścić do wgrania złośliwych skryptów. W regulaminach usług i politykach RODO często pojawia się też zapis, że użytkownik jest odpowiedzialny za dane, które uploaduje na serwer. W pracy admina czy programisty webowego umiejętność poprawnej obsługi uploadu (limit czasu, przerwane połączenie, obsługa błędów) jest absolutnie standardem branżowym i jednym z podstawowych elementów każdej poważniejszej aplikacji internetowej.

Pytanie 11

Jakie są przykłady standardowych poleceń w języku zapytań SQL, odnoszących się do operacji na danych SQL DML, takich jak wstawianie, usuwanie oraz modyfikacja danych?

A. DENY, GRANT, REVOKE
B. DELETE, INSERT, UPDATE
C. SELECT, SELECT INTO
D. ALTER, CREATE, DROP
Wybór innych odpowiedzi nie jest poprawny, ponieważ skupiają się na różnych aspektach zarządzania bazami danych. Polecenia typu ALTER, CREATE i DROP są związane z definicją danych (DDL, Data Definition Language). ALTER umożliwia modyfikację struktury tabeli, na przykład dodawanie nowych kolumn, natomiast CREATE jest używane do tworzenia nowych obiektów w bazie danych, takich jak tabele czy widoki. DROP z kolei służy do usuwania tych obiektów. Te polecenia są fundamentalne dla zarządzania strukturą bazy, ale nie dotyczą bezpośrednio operacji na danych. Inna grupa poleceń, takich jak DENY, GRANT i REVOKE, odnosi się do zarządzania uprawnieniami użytkowników w systemie baz danych, co jest istotne dla bezpieczeństwa, ale nie wpływa na manipulację danymi. Te polecenia kontrolują, kto ma dostęp do jakich danych, co jest kluczowe w kontekście bezpieczeństwa, ale nie są one używane do wprowadzania, usuwania czy aktualizacji danych w tabelach. Dlatego te zestawy poleceń, mimo że są istotne w kontekście zarządzania bazami danych, nie odpowiadają na pytanie dotyczące operacji na danych w kontekście DML.

Pytanie 12

Wskaż prawidłową definicję funkcji w języku JavaScript?

A. typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}
B. function nazwa_funkcji(argumenty) {instrukcje;}
C. new nazwa_funkcji(argumenty) {instrukcje;}
D. nazwa_funkcji(argumenty) {instrukcje;}
Definicja funkcji w języku JavaScript przy użyciu słowa kluczowego 'function' jest standardowym sposobem deklaracji funkcji. Poprawny zapis 'function nazwa_funkcji(argumenty) {instrukcje;}' jasno wskazuje, że tworzona jest nowa funkcja, której nazwa oraz argumenty są zdefiniowane. Przykładowo, można stworzyć funkcję dodającą dwie liczby: 'function dodaj(a, b) { return a + b; }'. Funkcje w JavaScript mogą być wywoływane w dowolnym miejscu w kodzie, co czyni je niezwykle elastycznymi. Dodatkowo, dzięki temu, że JavaScript obsługuje funkcje jako obiekty pierwszej klasy, można je przekazywać jako argumenty do innych funkcji, przypisywać do zmiennych oraz zwracać z innych funkcji. Warto również zauważyć, że w kontekście dobrych praktyk, używanie funkcji z jasnymi nazwami i dobrze zdefiniowanymi argumentami zwiększa czytelność oraz utrzymanie kodu, co jest istotne w pracy zespołowej oraz przy rozwijaniu większych aplikacji.

Pytanie 13

Funkcja napisana w PHP ma na celu

Ilustracja do pytania
A. nawiązanie połączenia z bazą danych
B. pobranie informacji z bazy danych
C. ustawienie hasła do bazy danych
D. zabezpieczenie bazy danych
Funkcja mysql_query z języka PHP jest używana do wykonywania zapytań SQL w bazie danych MySQL. W przedstawionym przykładzie zapytanie SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. Jest to klasyczne zapytanie używane do uzyskania danych z bazy danych co czyni je podstawowym narzędziem programisty PHP operującego na bazach danych. Zwrócone dane mogą następnie być przetwarzane wyświetlane lub używane w dalszych operacjach aplikacji. Ważnym aspektem pracy z bazami danych jest ochrona przed atakami SQL Injection co można osiągnąć poprzez stosowanie przygotowanych wyrażeń lub funkcji takich jak mysqli_prepare. Warto też pamiętać że funkcja mysql_query jest przestarzała i niezalecana w nowych projektach a zamiast niej powinno się używać mysqli lub PDO. Obie te biblioteki oferują większe bezpieczeństwo i lepszą obsługę błędów co jest zgodne z aktualnymi standardami w branży. Praca z danymi wymaga nie tylko ich pobierania ale także odpowiedniego zarządzania czym zajmują się bardziej złożone mechanizmy jak ORM-y co upraszcza pracę z bazami danych i zwiększa czytelność kodu.

Pytanie 14

Która z funkcji SQL nie wymaga podania argumentów?

A. upper
B. now
C. len
D. year
Funkcja SQL now() jest funkcją, która nie wymaga żadnych argumentów, a jej głównym celem jest zwrócenie bieżącej daty i godziny w formacie odpowiednim dla systemu zarządzania bazą danych. Funkcja ta jest często używana w aplikacjach, które wymagają dynamicznego śledzenia czasu, takich jak rejestrowanie daty i godziny wstawiania danych do tabel. W standardzie SQL, funkcje tego rodzaju są kluczowe dla operacji związanych z czasem. Na przykład, używając zapytania SELECT now(); zwracana jest bieżąca data i godzina. Funkcja ta jest szczególnie przydatna w kontekście transakcji oraz w kontrolowaniu stanu danych w bazie. W wielu popularnych systemach zarządzania bazą danych, takich jak MySQL czy PostgreSQL, now() jest szeroko wykorzystywana do synchronizacji operacji bazodanowych z aktualnym czasem. Warto zaznaczyć, że funkcja ta nie przyjmuje żadnych parametrów, co odróżnia ją od innych funkcji, które wymagają przynajmniej jednego argumentu. Dlatego now() jest idealnym przykładem funkcji, która działa autonomicznie i zwraca wartość bez potrzeby podawania dodatkowych informacji.

Pytanie 15

Który z komentarzy przedstawia opis działania funkcji zdefiniowanej w języku PHP?

A. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
B. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
C. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
D. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
Funkcja zapisana w języku PHP ma na celu porównanie dwóch wartości przekazanych jako argumenty i zwrócenie wartości wyższej z nich. W sytuacji, gdy obie wartości są równe, funkcja zwraca -1. W praktyce taka funkcjonalność może być niezwykle przydatna w różnych kontekstach programistycznych, na przykład przy sortowaniu danych, gdzie istotne jest określenie, która z dwóch wartości jest większa. Warto zauważyć, że stosowanie zwracania wartości -1 w przypadku równych argumentów jest dobrym rozwiązaniem, ponieważ pozwala na łatwe odróżnienie sytuacji, w której obie wartości są identyczne od tych, w których jedna jest większa od drugiej. Taki sposób implementacji jest zgodny z dobrymi praktykami programistycznymi, które zalecają wyraźne i jednoznaczne definiowanie zachowań funkcji, co ułatwia późniejsze korzystanie z nich oraz ich testowanie. Warto również wspomnieć, że funkcje tego typu mogą być rozwijane o dodatkowe funkcjonalności, takie jak obsługa innych typów danych czy możliwość porównywania większej liczby argumentów.

Pytanie 16

Atrybut, który definiuje lokalizację pliku graficznego w znaczniku <img>, to

A. href
B. src
C. link
D. alt
Atrybut 'src' (source) w znaczniku <img> jest kluczowy, ponieważ określa lokalizację pliku graficznego, który ma być wyświetlany na stronie internetowej. Bez tego atrybutu przeglądarka nie byłaby w stanie załadować i wyświetlić obrazka, co skutkowałoby pustym miejscem w interfejsie użytkownika. Dobrym przykładem zastosowania atrybutu 'src' jest umieszczanie zdjęć produktów w sklepie internetowym, gdzie obrazek jest kluczowym elementem zachęcającym do zakupu. Na przykład, używając znacznika <img src='ścieżka/do/obrazka.jpg' alt='opis obrazka'>, programiści mogą nie tylko wyświetlić grafikę, ale także dostarczyć opis alternatywny, co jest zgodne z zasadami dostępności w sieci. W praktyce, dobrym zwyczajem jest przechowywanie grafik w odpowiednich katalogach oraz dbanie o optymalizację ich rozmiaru, aby poprawić czas ładowania strony oraz doświadczenia użytkownika. Warto również zwrócić uwagę na poprawne wykorzystanie protokołów, takich jak HTTPS, co zwiększa bezpieczeństwo przesyłanych danych oraz zaufanie użytkowników.

Pytanie 17

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

A. aside {float: left; }
B. nav { float: left; } aside { float: left; }
C. nav { float: right; } section { float: right; }
D. nav { float: right; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 18

Jaki będzie efekt wykonania poniższego kodu JavaScript?

var akapit = document.createElement("p");
document.body.appendChild(akapit);
A. Wstawienie akapitu na szczycie strony
B. Skasowanie akapitu ze strony
C. Pokazanie okna dialogowego z napisem akapit
D. Dodanie akapitu na końcu strony
Zrozumienie dlaczego niektóre odpowiedzi są błędne wymaga analizy działania metod JavaScriptowych w kontekście modelu DOM. Pierwsza odpowiedź wskazuje na usunięcie akapitu ze strony co nie jest zgodne z działaniem zaprezentowanego kodu ponieważ metoda document.createElement tworzy nowy element a nie usuwa istniejący. Usunięcie elementu zamiast tego można osiągnąć za pomocą metody removeChild która wymaga wskazania konkretnego elementu do usunięcia. Druga odpowiedź sugeruje dodanie akapitu na początku strony co również jest niepoprawne. Metoda appendChild zawsze dodaje element na koniec wskazanego rodzica czyli w tym przypadku dokumentu body. Aby dodać element na początku strony należałoby użyć metody insertBefore w połączeniu z odwołaniem do pierwszego dziecka body. Trzecia odpowiedź mówi o wyświetleniu okna dialogowego co jest błędem konceptualnym gdyż omawiany kod nie zawiera żadnej funkcji wyświetlającej alert czy prompt. Tworzenie i manipulowanie elementami DOM nie wpływa bezpośrednio na interakcje dialogowe z użytkownikiem. Aby wyświetlić okno dialogowe używa się zazwyczaj metod takich jak alert confirm czy prompt co nie ma miejsca w podanym fragmencie kodu. Analizując te odpowiedzi zauważamy że błędne rozumowanie może wynikać z mylenia funkcji manipulujących DOM z elementami interfejsu użytkownika co jest częstym błędem wśród początkujących programistów. Znajomość specyfiki oraz kontekstu użycia poszczególnych metod jest kluczowa dla poprawnego kodowania w JavaScript i efektywnego zarządzania treścią na stronie internetowej.

Pytanie 19

Narzędzie zaprezentowane na ilustracji służy do

Ilustracja do pytania
A. debugowania strony internetowej
B. walidacji stylów CSS
C. walidacji kodu HTML i XHTML
D. sprawdzania zgodności witryny ze standardem HTML5
Walidacja kodu HTML i XHTML nie jest głównym celem narzędzia przedstawionego na ilustracji. Mimo że omawiana usługa W3C może wspierać analizę dokumentów HTML zawierających style CSS, jej podstawową funkcją jest analiza i walidacja samego CSS. Z kolei debugowanie strony internetowej to proces identyfikacji i usuwania błędów w kodzie, co wymaga użycia narzędzi takich jak przeglądarkowe narzędzia deweloperskie, np. Google Chrome DevTools, które oferują inspekcję DOM, monitorowanie działań sieciowych oraz debugowanie JavaScript. Narzędzie to nie sprawdza również zgodności witryny ze standardem HTML5, ponieważ koncentruje się wyłącznie na arkuszach stylów CSS. Walidacja pod kątem zgodności z HTML5 wymaga użycia innego narzędzia, takiego jak W3C Markup Validation Service, które analizuje składnię i strukturę kodu HTML. Wybór nieodpowiedniego narzędzia do walidacji może prowadzić do błędnych wniosków na temat jakości i zgodności kodu, co podkreśla znaczenie stosowania właściwych narzędzi do odpowiednich zadań.

Pytanie 20

Która z funkcji agregujących wbudowanych w język SQL służy do obliczania średniej wartości w określonej kolumnie?

A. COUNT
B. AVG
C. SUM
D. MIN
Funkcja AVG w języku SQL jest jedną z kluczowych funkcji agregujących, która pozwala na obliczenie średniej wartości w określonej kolumnie zestawienia danych. Użycie tej funkcji jest szczególnie istotne w analizie statystycznej, gdyż pozwala uzyskać bardziej reprezentatywny wynik, eliminując wpływ skrajnych wartości, które mogą zniekształcać obraz danych. Na przykład, gdy mamy tabelę "sprzedaż" z kolumną "kwota", można użyć zapytania SELECT AVG(kwota) FROM sprzedaż, aby uzyskać średnią wartość sprzedaży. Funkcja ta jest nie tylko przydatna w kontekście analizy, ale także stanowi standardową praktykę w raportowaniu wyników finansowych, co może pomóc w podejmowaniu decyzji biznesowych. Warto również zauważyć, że AVG jest funkcją, która ignoruje wartości NULL, co jest ważne w kontekście danych, które mogą nie być pełne. Dobre praktyki sugerują, aby zawsze sprawdzać dane wejściowe przed stosowaniem funkcji agregujących, aby zapewnić ich jakość i dokładność wyników.

Pytanie 21

Funkcjonalność obejmującą edycję kodu źródłowego, jego kompilację, tworzenie zasobów programu, baz danych i komponentów udostępnia

A. środowisko IDE
B. debugger
C. PhpMyAdmin
D. Notpead++
W tym pytaniu kluczowe jest zrozumienie, że chodzi o narzędzie, które w jednym miejscu łączy edycję kodu, kompilację, tworzenie zasobów programu, pracę z bazami danych i komponentami. Taki zestaw funkcji jest dość rozbudowany i nie zapewni go pojedynczy, prosty program. Częsty błąd polega na myleniu pojedynczej funkcji z pełnym środowiskiem programistycznym. Debugger na przykład jest bardzo ważnym narzędziem, ale jego zadanie to analiza działania programu krok po kroku, ustawianie breakpointów, podgląd wartości zmiennych, stosu wywołań. Debugger zwykle jest tylko jednym z modułów wchodzących w skład większego środowiska IDE. Sam z siebie nie służy ani do pisania kodu w wygodny sposób, ani do zarządzania zasobami aplikacji czy bazą danych. Podobnie Notepad++ to rozbudowany edytor tekstu z podświetlaniem składni, wtyczkami, możliwością pracy na wielu plikach. Jednak to nadal tylko edytor, a nie pełne IDE. Nie posiada natywnego systemu kompilacji projektów, zaawansowanego zarządzania projektem, integracji z kompilatorami i budowaniem całych rozwiązań w sposób typowy dla środowisk programistycznych. Oczywiście da się w nim pisać kod, ale cała reszta procesu programowania spada na użytkownika i zewnętrzne narzędzia. PhpMyAdmin z kolei jest narzędziem stricte bazodanowym, webowym interfejsem do zarządzania serwerem MySQL/MariaDB. Umożliwia tworzenie i modyfikowanie tabel, wykonywanie zapytań SQL, eksport i import danych. Nie służy do edycji kodu źródłowego aplikacji ani do kompilacji programów. Czasem pojawia się tu typowe złudzenie: skoro narzędzie ma coś wspólnego z bazami danych albo kodem, to może „załatwia wszystko”. W praktyce każda z tych aplikacji realizuje tylko wycinek funkcjonalności opisanej w pytaniu. Pełny zestaw: edycja, kompilacja, zasoby, bazy i komponenty – to domena środowisk IDE, które integrują wiele narzędzi w jednym spójnym interfejsie, zgodnie z dobrymi praktykami pracy programisty.

Pytanie 22

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

A. ($x > -2) || ($x > 5)
B. ($x < -2) || ($x > 5)
C. ($x > -2) && ($x < 5)
D. ($x == -2) && ($x < 5)
Odpowiedź ($x > -2) && ($x < 5) jest prawidłowa, ponieważ dokładnie odzwierciedla warunki obustronnie otwartego przedziału (-2, 5). W tym przypadku pętla while będzie kontynuować swoje działanie, o ile zmienna x będzie przyjmować wartości większe niż -2 oraz jednocześnie mniejsze niż 5. Jest to zgodne z logiką pętli, która powinna działać tak długo, jak warunki są spełnione. Przykładem zastosowania może być iteracja po elementach tablicy, gdzie chcemy przetwarzać tylko te elementy, które mieszczą się w określonym zakresie. W praktyce, dobre praktyki programistyczne wskazują na użycie logicznych operatorów AND (&&) i OR (||) w sposób, który precyzyjnie definiuje zakresy. W tym przypadku operator AND zapewnia, że oba warunki muszą być spełnione, co jest kluczowe dla poprawności działania pętli. Warto również pamiętać o tym, że w PHP, zmienne powinny być odpowiednio zainicjalizowane i sprawdzane przed użyciem ich w warunkach pętli, aby uniknąć nieprzewidzianych błędów wykonania.

Pytanie 23

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

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

Pytanie 24

W języku C++ stworzono zmienną char zm1[10]; Jakim typem zmiennej jest ta zmienna?

A. tablicą znaków
B. liczbą
C. znakiem
D. tablicą łańcuchów
Zmienna char zm1[10] w języku C++ jest tablicą znaków, co oznacza, że jest to struktura danych przechowująca sekwencję znaków. Tablica ta ma rozmiar 10, co oznacza, że może pomieścić do 10 znaków. W praktyce, zmienne tego typu są często używane do przechowywania łańcuchów tekstowych, które są kończone znakiem null ('\0'). Używając tablicy znaków, programista ma kontrolę nad pamięcią oraz sposobem przechowywania i modyfikowania tekstów. Na przykład, aby przypisać wartość do tej tablicy, można użyć funkcji strcpy, która kopiuje łańcuch znaków do tablicy: strcpy(zm1, "Hello"). W kontekście standardów, korzystanie z tablic znaków w C++ jest zgodne z tradycyjnymi praktykami programowania w językach z rodziny C, gdzie zarządzanie pamięcią i efektywne operowanie na danych tekstowych jest kluczowe. Warto również zauważyć, że w nowszych wersjach C++ możliwe jest użycie typu std::string, który automatycznie zarządza pamięcią i rozmiarem, ale zrozumienie tablic znaków jest fundamentalne dla każdego programisty. Zatem ta odpowiedź jest poprawna, ponieważ odzwierciedla istotę zmiennej zdefiniowanej jako tablica znaków.

Pytanie 25

Jakiego języka można użyć do nawiązania połączenia z bazą MySQL w trakcie tworzenia aplikacji internetowej?

A. XHTML
B. HTML
C. PHP
D. CSS
Wybór HTML, CSS lub XHTML do podłączenia się z bazą danych MySQL to zły pomysł, bo te technologie nie są do tego stworzone. HTML to język znaczników, który ogarnia strukturę stron, ale nie potrafi przetwarzać danych ani robić operacji na bazach danych. CSS to język stylów, który dba o wygląd strony, ale nie ma nic wspólnego z manipulacją danymi. A XHTML? No cóż, to właściwie bardziej rygorystyczna wersja HTML, i też nie ogarnia komunikacji z bazami. Wiele osób myli te języki front-endowe z tymi, które mogą rozmawiać z bazami danych. Żeby dobrze obsługiwać takie połączenia, musisz użyć języka zaplecza, jak PHP, które do takich rzeczy zostało stworzone. Bez tego typu języka, nie ma mowy o dynamicznych interakcjach z danymi w aplikacjach internetowych.

Pytanie 26

Jakie oprogramowanie do zarządzania treścią umożliwia proste tworzenie oraz aktualizację witryny internetowej?

A. SQL
B. CMS
C. PHP
D. CSS
Wybór SQL, PHP i CSS jako odpowiedzi na pytanie o system zarządzania treścią jest wynikiem nieporozumienia dotyczącego funkcji i zastosowań tych technologii. SQL (Structured Query Language) jest językiem zapytań służącym do komunikacji z bazami danych. Umożliwia on tworzenie, modyfikowanie oraz pobieranie danych, co jest kluczowe dla działania wielu aplikacji internetowych, w tym CMS-ów, lecz sam w sobie nie dostarcza interfejsu do zarządzania treścią. PHP to język skryptowy, często wykorzystywany do tworzenia dynamicznych aplikacji webowych. Choć PHP jest podstawą wielu systemów CMS, to sam język nie jest narzędziem do zarządzania treściami. CSS (Cascading Style Sheets) natomiast jest językiem stylizacji, który odpowiada za wygląd i układ strony, ale nie wprowadza funkcji zarządzania treścią. Zastanawiając się nad tymi technologiami, można zauważyć, że mylenie ich z CMS-em może wynikać z braku zrozumienia ich ról w ekosystemie webowym. Każda z tych technologii odgrywa istotną rolę w budowie i funkcjonowaniu stron internetowych, ale nie są one systemami do zarządzania treścią. Prawidłowe zrozumienie ich funkcji jest kluczem do efektywnego wykorzystania ich w praktyce.

Pytanie 27

Którą wartość zwróci funkcja zapisana w języku C++, jeżeli jej parametrem wejściowym jest tablica wypełniona w następujący sposób: tablica[6] = {3, 4, 2, 4, 10, 0};?

int fun1(int tab[]) {
    int wynik = 0;
    for (int i = 0; i < 6; i++)
        wynik += tab[i];
    return wynik;
}
A. 960
B. 10
C. 23
D. 0
Gratulacje, Twoja odpowiedź jest poprawna. W języku C++ funkcja zwraca sumę wszystkich elementów w tablicy. W podanym pytaniu mamy tablicę z sześcioma elementami, którymi są liczby: 3, 4, 2, 4, 10, 0. Dodając te liczby otrzymujemy 23, co jest poprawną odpowiedzią. To jest typowy scenariusz, kiedy potrzebujemy obliczyć sumę wszystkich elementów w tablicy. Na przykład, możemy mieć program, który oblicza średnią wartość z zestawu danych. W takim przypadku najpierw musimy zsumować wszystkie elementy, a następnie podzielić przez ich liczbę. Pamiętaj, że w języku C++ tablice indeksowane są od zera, co oznacza, że pierwszy element tablicy ma indeks 0, a ostatni element ma indeks o jeden mniejszy niż rozmiar tablicy. Jest to powszechny standard w programowaniu i jest istotny do zrozumienia, jak działają tablice.

Pytanie 28

Jakie mechanizmy przyznawania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z tematyką zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z zasadami
B. Z przywilejami obiektowymi
C. Z przywilejami systemowymi
D. Z atrybutami
Zagadnienia związane z zarządzaniem kontami, użytkownikami i uprawnieniami w kontekście baz danych są złożone i często mylone z innymi mechanizmami. Reguły, na przykład, są używane w kontekście polityk bezpieczeństwa, ale nie odnoszą się bezpośrednio do przydzielania uprawnień w systemie baz danych. W praktyce, reguły mogą służyć do definiowania warunków, pod którymi dane operacje są dozwolone, ale same w sobie nie kontrolują dostępu do zasobów. Przywileje obiektowe, z drugiej strony, dotyczą specyficznych obiektów w bazie danych, takich jak tabele czy procedury, i nie obejmują uprawnień na poziomie systemowym. W kontekście zarządzania użytkownikami są one używane do kontrolowania dostępu do konkretnych danych, a nie do wykonywania operacji administracyjnych na systemie. Z kolei atrybuty mogą odnosić się do właściwości obiektów w bazie danych, ale nie są to mechanizmy służące do zarządzania użytkownikami i ich uprawnieniami. Typowym błędem jest mylenie tych pojęć i uznawanie, że reguły czy przywileje obiektowe mają podobne zastosowanie do przywilejów systemowych. W realiach zarządzania bazą danych kluczowe jest zrozumienie, że każde z tych podejść ma swoje specyficzne zastosowanie i niezbędne jest stosowanie właściwych narzędzi oraz technik w celu zapewnienia odpowiedniego poziomu bezpieczeństwa i kontroli dostępu.

Pytanie 29

DOM oferuje funkcje i atrybuty, które w JavaScript umożliwiają

A. manipulowanie łańcuchami zadeklarowanymi w kodzie
B. przesyłanie danych formularza bezpośrednio do bazy danych
C. pobieranie i modyfikowanie elementów strony załadowanej w przeglądarce
D. wykonywanie operacji na zmiennych przechowujących wartości liczbowe
Manipulacja łańcuchami, wysyłanie danych formularzy do baz danych oraz operacje na zmiennych liczbowych to pojęcia, które nie są bezpośrednio związane z funkcjonalnościami DOM. Przykładowo, manipulacja łańcuchami odnosi się do operacji na stringach w JavaScript, takich jak łączenie, dzielenie czy modyfikowanie tekstu, co nie ma związku z strukturą dokumentu HTML. W przypadku formularzy, wysyłanie danych do bazy danych jest zazwyczaj realizowane przez backend, a nie bezpośrednio przez DOM. DOM może jednak wspierać ten proces, umożliwiając zebranie danych w formularzach, ale to skrypty po stronie serwera zajmują się obsługą i przechowywaniem tych danych. Operacje na zmiennych liczbowych również są częścią podstawowej składni JavaScript, ale nie mają związku z manipulowaniem strukturą dokumentu. Często podczas nauki programowania zdarza się mylić koncepcje związane z różnymi warstwami aplikacji, co prowadzi do nieporozumień. Kluczowe jest zrozumienie, że DOM jest narzędziem do interakcji z dokumentem strony w przeglądarkach, a nie do manipulacji danymi czy zmiennymi w ogólnym sensie. Właściwe zrozumienie roli DOM w kontekście aplikacji webowych jest istotne dla efektywnego rozwoju złożonych interfejsów użytkownika.

Pytanie 30

Warunek zapisany w języku PHP wypisze liczbę, gdy

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. wynik dzielenia liczby przez 2 jest równy 0.
B. jest ona parzysta.
C. jest ona liczbą pierwszą.
D. jest ona dodatnia.
Niestety twoja odpowiedź nie jest prawidłowa. Wybranie opcji mówiącej, że warunek w PHP wypisze liczbę, gdy jest ona liczbą pierwszą, błędnie zakłada, że operator modulo (%) sprawdza pierwszość liczby. W rzeczywistości, operator ten zwraca resztę z dzielenia jednego liczby przez drugą. Nie jest więc w stanie bezpośrednio sprawdzić, czy liczba jest pierwsza. Podobnie, wybranie opcji mówiącej, że warunek wypisze liczbę, gdy jest ona dodatnia, błędnie sugeruje, że operator modulo (%) jest w stanie samego sprawdzić dodatność liczby. W rzeczywistości, operator ten jest często używany do sprawdzania parzystości liczby, nie jest jednak w stanie sprawdzić, czy liczba jest większa od zera. Ostatecznie, wybranie opcji mówiącej, że warunek wypisze liczbę, gdy wynik dzielenia liczby przez 2 jest równy 0, jest tautologią, ponieważ to właśnie definicja liczby parzystej. To jednak nie jest błąd w rozumieniu, a raczej w formułowaniu pytania.

Pytanie 31

W formularzu HTML użyto znacznika <input>. Pole to będzie służyło do wprowadzania maksymalnie

<input type="password" size="30" maxlength="20">
A. 30 znaków, które nie są widoczne w polu tekstowym
B. 30 znaków, które są widoczne w trakcie wprowadzania
C. 20 znaków, które są widoczne w trakcie wprowadzania
D. 20 znaków, które nie są widoczne w polu tekstowym
Odpowiedzi sugerujące, że w polu tekstowym mogą być widoczne znaki, są nieprawidłowe z kilku istotnych powodów. Przede wszystkim znaczenie atrybutu 'type' w znaczniku <input> jest kluczowe. Użycie 'type="password"' jednoznacznie wskazuje, że wprowadzone znaki będą maskowane, co ma na celu ochronę prywatności użytkownika. Odpowiedzi wskazujące na 30 znaków, które są widoczne, są całkowicie błędne, ponieważ atrybut 'size' definiuje szerokość pola, a nie maksymalną liczbę znaków, które można wprowadzić. To może prowadzić do mylnego wrażenia, że użytkownik ma pełen wgląd w wprowadzane dane, co nie jest zgodne z zamierzeniem tego typu pól. Oprócz tego, maksymalna liczba znaków 'maxlength' nie ma żadnego wpływu na to, czy znaki są widoczne, czy nie. Typowe błędy myślowe związane z tym zagadnieniem mogą obejmować niepoprawne zrozumienie roli atrybutów 'size' i 'maxlength'. Kluczowe jest, aby użytkownicy rozumieli, że odpowiednie projektowanie formularzy powinno zawsze uwzględniać bezpieczeństwo danych oraz ich ochronę, zwłaszcza w przypadku haseł. Dobre praktyki w zakresie UX/UI zalecają korzystanie z pól typu 'password' w sytuacjach wymagających ochrony danych, co przyczynia się do zwiększenia bezpieczeństwa aplikacji webowych.

Pytanie 32

SELECT ocena FROM oceny WHERE ocena > 2 ORDER BY ocena;
Załóżmy, że istnieje tabela oceny zawierająca kolumny id, nazwisko, imię oraz ocena. Przykładowe zapytanie ilustruje:
A. łączenie.
B. rekurencję.
C. selekcję.
D. sumę.
Zapytanie przedstawione w pytaniu nie jest przykładem łączenia ponieważ nie występuje w nim klauzula JOIN która jest podstawowym narzędziem do łączenia tabel w bazach danych. Łączenie danych jest używane gdy potrzebujemy zintegrować informacje z różnych źródeł i polega na zestawieniu wierszy z dwóch lub więcej tabel na podstawie wspólnego klucza. Zamiast tego zapytanie używa klauzuli WHERE która służy do selekcji danych. Nie jest też przykładem rekurencji. Rekurencja w kontekście baz danych dotyczy wykonywania operacji powtarzających się w określonej sekwencji lub hierarchii co jest typowe dla struktur takich jak drzewa. Wiąże się to zwykle z użyciem zapytań zawierających takie konstrukcje jak WITH RECURSIVE w SQL co nie jest obecne w tym zapytaniu. Ponadto zapytanie nie jest przykładem sumy ponieważ nie zawiera funkcji agregujących takich jak SUM które służą do zliczania wartości w kolumnie. Suma jest używana do obliczeń statystycznych a nie do filtrowania danych na podstawie kryteriów logicznych jak to ma miejsce w przedstawionym przykładzie. Zrozumienie tych różnic jest kluczowe dla poprawnego formułowania zapytań i efektywnego wykorzystania systemów bazodanowych. Poprawne identyfikowanie mechanizmów w SQL pozwala efektywnie wykorzystać możliwości języka w analizie danych i zarządzaniu bazami co jest szczególnie istotne w profesjonalnych projektach IT. Zrozumienie logicznej struktury SQL i różnic między tymi koncepcjami jest kluczowe dla skutecznego i wydajnego wykorzystania baz danych w praktyce zawodowej i biznesowej.

Pytanie 33

Przy edytowaniu obrazu w programie graficznym rastrowym należy usunąć kolory z obrazu, aby uzyskać jego wersję w skali szarości. Jaką funkcję można zastosować, aby osiągnąć ten efekt?

A. desaturacji
B. szumu RGB
C. filtru rozmycia
D. kadrowania
Filtr rozmycia, szum RGB oraz kadrowanie to techniki, które nie służą do usuwania kolorów z obrazu, co czyni je nieodpowiednimi w kontekście uzyskiwania odcieni szarości. Rozmycie, które jest często stosowane do wygładzania krawędzi i redukcji szumów w obrazach, nie wpływa na kolorystykę, a jedynie na ostrość detali. Stosowanie filtru rozmycia w nadmiarze może prowadzić do utraty ważnych informacji wizualnych, co w kontekście edycji nie jest pożądane. Szum RGB jest techniką wprowadzania losowych danych kolorystycznych, która może być użyta do generowania efektów specjalnych, ale nie ma zastosowania w procesie desaturacji, gdyż zamiast eliminować kolory, może je wprowadzać. Kadrowanie jest natomiast procesem przycinania obrazu do wybranego formatu, co również nie ma związku z usuwaniem kolorów, a bardziej z kompozycją wizualną. Typowym błędem myślowym jest założenie, że każdy proces edycji obrazu może być użyty zamiennie. Kluczowe jest zrozumienie, że różne techniki służą różnym celom i wybór odpowiedniej metody powinien być oparty na zamierzeniach artystycznych oraz technicznych wymogach projektu.

Pytanie 34

W języku HTML, aby nadać dokumentowi tytuł "Moja strona", który będzie wyświetlany na zakładce przeglądarki internetowej, należy posłużyć się zapisem

A. <head>Moja strona</head>
B. <meta name="title" content="Moja strona" />
C. <meta title="Moja strona">
D. <title>Moja strona</title>
Częstym problemem w nauce HTML jest mylenie roli różnych tagów w sekcji <head>, zwłaszcza gdy chodzi o ustawianie tytułu strony. Trzeba uważnie rozróżniać, które elementy mają wpływ na wyświetlanie strony w przeglądarce, a które pełnią inne funkcje pomocnicze. Na przykład umieszczenie tekstu „Moja strona” bezpośrednio w tagu <head> nie wyświetli tego napisu ani na karcie przeglądarki, ani na samej stronie – sekcja <head> służy tylko do osadzania metadanych, stylów czy skryptów. Natomiast tag <meta name="title" content="Moja strona" /> to próba użycia meta-informacji, która jednak nie zmienia tytułu strony w przeglądarce. Tag <meta> jest bardzo ważny dla SEO czy opisu strony, ale nie ustala tytułu widocznego dla użytkownika – tą rolę pełni wyłącznie <title>. Zdarza się też, że ktoś myli atrybuty lub próbuje użyć nieistniejących, jak w przypadku <meta title="Moja strona"> – to nie jest zgodne ze standardem HTML i nie będzie rozpoznane przez żadną nowoczesną przeglądarkę. Moim zdaniem wiele osób próbuje po prostu zgadywać, sugerując się nazwami atrybutów lub skrótami myślowymi. W praktyce warto zawsze sprawdzać aktualną specyfikację HTML5 i testować efekt działania kodu w prawdziwej przeglądarce. Najlepiej trzymać się sprawdzonych, oficjalnych rozwiązań – tytuł strony ustawia się WYŁĄCZNIE za pomocą <title> w sekcji <head>. Pozostałe konstrukcje mogą się przydać do dodatkowego opisu strony czy indeksowania przez wyszukiwarki, ale nie wpływają na to, co zobaczy użytkownik na pasku zakładki.

Pytanie 35

Aby zmienić strukturę już istniejącej tabeli przy użyciu zapytania SQL, należy użyć kwerendy

A. INSERT INTO
B. CREATE TABLE
C. ALTER TABLE
D. UPDATE
Wybór odpowiedzi 'UPDATE' jest niepoprawny, ponieważ polecenie UPDATE służy jedynie do modyfikacji danych znajdujących się w już istniejących rekordach tabeli, a nie do zmiany samej struktury tabeli. Użycie tego polecenia w kontekście pytania prowadzi do mylnego wniosku, że można za jego pomocą dodawać kolumny lub zmieniać ich typy. Podobnie jak UPDATE, odpowiedź 'INSERT INTO' jest również niewłaściwa. To polecenie jest używane do dodawania nowych rekordów do tabeli, a nie do modyfikacji jej struktury. W praktyce, błędne użycie INSERT INTO w kontekście zmiany struktury tabeli może prowadzić do nieporozumień i komplikacji w zarządzaniu danymi. Ponadto odpowiedź 'CREATE TABLE' jest także nieadekwatna, ponieważ to polecenie tworzy nową tabelę w bazie danych, a nie modyfikuje istniejącą. Typowym błędem w rozumieniu poleceń SQL jest mylenie między operacjami na danych a operacjami na strukturze bazy danych. Kluczowe jest zrozumienie różnicy między tymi typami operacji, ponieważ każda komenda SQL ma swoje specyficzne zastosowanie i nie można ich stosować zamiennie. W kontekście administracji bazami danych, umiejętność rozróżnienia tych komend jest niezbędna, aby efektywnie zarządzać strukturą i danymi w bazach danych.

Pytanie 36

W języku PHP zapis

// 
pozwala na:
A. użycie tablicy superglobalnej
B. dodanie komentarza wieloliniowego
C. użycie operatora dzielenia bez reszty
D. dodanie komentarza jednoliniowego
W języku PHP zapis <pre>//</pre> służy do wstawiania komentarzy jednoliniowych. Komentarze są istotnym elementem kodu, ponieważ pozwalają programistom na dokumentowanie i wyjaśnianie fragmentów kodu, co ułatwia jego zrozumienie i utrzymanie. W PHP, komentarze jednoliniowe zaczynają się od dwóch ukośników i rozciągają się do końca danej linii. Przykładowo, zapis <pre>// To jest komentarz jednoliniowy</pre> informuje innych programistów, że dany tekst jest komentarzem, który nie zostanie wykonany przez interpreter PHP. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programowania, ponieważ poprawia czytelność kodu oraz pozwala na szybszą analizę struktury i logiki aplikacji. Dobrą praktyką jest dokumentowanie nie tylko skomplikowanych fragmentów, ale również takich, które mogą wydawać się oczywiste, aby zminimalizować ryzyko nieporozumień w przyszłości. Komentarze pomagają także w pracy zespołowej, gdzie wiele osób może pracować nad tym samym projektem.

Pytanie 37

W bazie danych znajduje się tabela o nazwie pracownicy z kolumnami: nazwisko, imię, pensja, wiek. Jak powinna wyglądać składnia polecenia do obliczenia średniej pensji pracowników?

A. select AVG (nazwisko) into pensja
B. select VAR (pensja) from nazwisko
C. select AVG (pensja) from pracownicy
D. select VAR (pracownicy) into pensja
Wszystkie pozostałe odpowiedzi są błędne z różnych powodów, które związane są z niewłaściwym użyciem składni SQL lub niewłaściwym zrozumieniem funkcji agregujących. Przykładowo, użycie 'select VAR (pracownicy) into pensja' jest niepoprawne, ponieważ nie istnieje funkcja VAR w kontekście SQL opartej na standardzie ANSI. Jeśli chodzi o drugą odpowiedź, polecenie 'select VAR (pensja) from nazwisko' nie ma sensu, ponieważ odnosi się do kolumny 'nazwisko', która nie jest źródłem danych dla pensji. To podejście pokazuje brak zrozumienia architektury relacyjnych baz danych. Podobnie, 'select AVG (nazwisko) into pensja' jest błędem, ponieważ AVG powinno być używane z kolumną zawierającą dane numeryczne, a nie z tekstową kolumną 'nazwisko'. W rezultacie, te błędne odpowiedzi odzwierciedlają typowe nieporozumienia związane z użyciem zapytań SQL. Użytkownicy często mylą składnię lub nie rozumieją koncepcji agregacji, co prowadzi do niepoprawnych wniosków. Pamiętaj, że poprawne zapytania powinny zawsze odnosić się do odpowiednich typów danych w bazie i używać właściwych funkcji agregujących w sposób syntaktycznie poprawny.

Pytanie 38

W bazie danych sklepu internetowego, w tabeli klienci znajdują się m.in. pola całkowite: punkty, liczbaZakupow oraz pole ostatnieZakupy o typie DATE. Klauzula WHERE dla zapytania wybierającego klientów, którzy mają ponad 3000 punktów lub dokonali zakupów więcej niż 100 razy, a ich ostatnie zakupy miały miejsce co najmniej w roku 2022, przyjmuje postać

A. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'
B. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'
C. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
D. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
W przypadku pozostałych odpowiedzi pojawiają się istotne błędy związane z logiką stosowania operatorów w klauzuli WHERE. W pierwszej z niepoprawnych opcji zastosowano operator OR w połączeniu z operatorami AND, co prowadzi do niejednoznaczności w logice kwerendy. Taki zapis sugeruje, że każdy klient, który spełnia tylko jeden z podanych warunków, zostanie wybrany, co nie jest zgodne z wymaganiami zadania. W drugim przypadku, zastosowanie operatora AND dla wszystkich warunków implikuje, że klient musi jednocześnie spełniać wszystkie trzy warunki, co znacząco zawęża grupę wyników i może prowadzić do pominięcia klientów, którzy są wartościowi z punktu widzenia transakcji, ale nie spełniają wszystkich kryteriów jednocześnie. W ostatniej opcji również zastosowano operator AND we wszystkich warunkach, co jest niezgodne z zamysłem zapytania. Ważne jest, aby w takich sytuacjach dobrze rozumieć logikę operacji logicznych oraz ich konsekwencje w praktyce. Kluczowym błędem jest nieodpowiednie zrozumienie relacji między warunkami oraz ich wzajemnego wpływu na ostateczny wynik zapytania. W SQL istotne jest precyzyjne formułowanie zapytań, aby uniknąć niezamierzonych wyników, dlatego warto na etapie pisania schematów myśleć o logice, która będzie spełniać założone cele analizy danych.

Pytanie 39

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetli dane dla konkretnego zestawu informacji z tej tabeli, zawierający tylko te komputery, które mają co najmniej 8 GB pamięci RAM oraz procesor Intel, można wykorzystać zapytanie:

A. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec>=8
B. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec<8
C. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8
D. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec<8
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator 'OR' w połączeniu z warunkiem 'pamiec<8', co jest niewłaściwe, ponieważ pozwala na zwrócenie komputerów, które mają procesor Intel, ale pamięć RAM mniejszą niż 8 GB. To nie spełnia wymagań dotyczących minimalnej pamięci. Druga odpowiedź również błędnie używa operatora 'OR', co pozwala na zwrócenie komputerów z procesorem Intel, które mogą mieć pamięć większą lub równą 8 GB, ale także te, które nie mają procesora Intel, ale ich pamięć RAM jest mniejsza niż 8 GB. To narusza zasadę, że obydwa warunki muszą być jednocześnie spełnione, co prowadzi do nieprawidłowych wyników. Ostatnia niepoprawna odpowiedź wykorzystuje operator 'AND', jednak warunek dotyczący pamięci jest błędny, ponieważ odnosi się do pamięci mniejszej niż 8 GB, co jest sprzeczne z wymaganiami. Każda z tych odpowiedzi wprowadza w błąd, ponieważ nie spełniają one kryteriów, które zostały jasno określone w pytaniu, co może prowadzić do nieefektywnego zarządzania danymi w bazie i błędnych analiz.

Pytanie 40

Aby uzyskać przedstawiony efekt napisu w programie INKSCAPE / COREL, należy

Ilustracja do pytania
A. zastosować opcję sumy z kołem
B. zastosować opcję wykluczenia z kołem
C. skorzystać z opcji gradientu
D. skorzystać z opcji wstaw / dopasuj tekst do ścieżki
Funkcja wstaw lub dopasuj tekst do ścieżki w programach takich jak Inkscape czy CorelDRAW pozwala na kreatywne umieszczanie tekstu wzdłuż określonej linii lub krzywej co jest przydatne w projektowaniu graficznym gdzie częstym wymaganiem jest dostosowanie tekstu do nietypowych kształtów. Na przykład tworzenie logo gdzie napis musi okrążać okrąg lub być umieszczony wzdłuż linii falistej. Proces ten zaczyna się od stworzenia ścieżki którą może być zarówno linia prosta jak i bardziej złożona krzywa a następnie wybrania opcji dopasowania tekstu do tej ścieżki. Kluczowe jest by zrozumieć że taka ścieżka działa jak prowadnica dla tekstu który dostosowuje się do jej kształtu co pozwala na uzyskanie efektów trudnych do osiągnięcia tradycyjnymi metodami. Funkcja ta jest zgodna z dobrymi praktykami projektowania graficznego umożliwiając twórcom większą elastyczność i kreatywność w prezentacji tekstu. Jest to również standardowe narzędzie w pakietach do grafiki wektorowej co pozwala na łatwą edycję i skalowanie projektów bez utraty jakości co jest kluczowe w profesjonalnym designie.