Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 11 maja 2026 13:54
  • Data zakończenia: 11 maja 2026 14:20

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Wartości, które może przyjąć zmienna typu double, to:

A. 1979-12-05; 12:33
B. 1,44; 2,55
C. "Ala"; 'd'
D. 2.4; 4; 3.2
Zmienna typu double jest typem danych, który jest powszechnie używany w programowaniu, szczególnie w językach takich jak Java, C++ czy Python, do przechowywania liczb zmiennoprzecinkowych o podwójnej precyzji. W przeciwieństwie do typów całkowitych, typ double może reprezentować liczby z częścią dziesiętną, co czyni go idealnym do obliczeń wymagających precyzyjnych wartości, takich jak obliczenia finansowe czy naukowe. Przykłady wartości, które mogą być przechowywane w zmiennej typu double obejmują 2.4, 4, 3.2, gdzie każda z nich jest liczbą zmiennoprzecinkową. Ważne jest, aby stosować ten typ w odpowiednich kontekstach, aby uniknąć błędów związanych z precyzją. Zgodnie z najlepszymi praktykami, podczas definiowania zmiennych należałoby jasno określić ich typ, aby zapewnić przejrzystość kodu oraz jego przyszłą konserwację.

Pytanie 2

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. NULL
B. NOT NULL
C. UNIQUE
D. DEFAULT
Atrybut NOT NULL jest kluczowym elementem w definiowaniu struktury tabeli w języku SQL, który zabezpiecza kolumnę przed wstawianiem wartości pustych (NULL). W kontekście klucza głównego, który ma zapewnić unikalność i identyfikowalność każdego rekordu w tabeli, użycie NOT NULL jest niezbędne, aby zagwarantować, że każda wartość w tej kolumnie jest zawsze obecna. Dla przykładu, w stworzonej tabeli `Pracownicy`, jeśli kolumna `ID_Pracownika` jest kluczem głównym, atrybut NOT NULL wymusi, że każde wstawienie rekordu będzie wymagało podania unikalnej wartości dla `ID_Pracownika`, co uniemożliwia dodanie rekordu bez tej wartości. Standard SQL definiuje NOT NULL jako jeden z podstawowych atrybutów, które mogą być używane w deklaracji kolumn, a jego stosowanie jest kluczowe dla integracji danych oraz zapewnienia spójności bazy danych. W praktyce, w przypadku prób dodania rekordu z pustą wartością w takiej kolumnie, system generuje błąd, co eliminuje ryzyko powstawania niekompletnych danych.

Pytanie 3

Jakie jest określenie na element bazy danych, który umożliwia jedynie przeglądanie danych, przedstawiając je w formie tekstowej lub graficznej?

A. Raport
B. Tabela
C. Zapytanie
D. Formularz
Tabela to struktura bazy danych, która służy do przechowywania danych w formie zorganizowanej w wiersze i kolumny. Tabele są fundamentem relacyjnych baz danych, jednak nie umożliwiają one bezpośredniego generowania raportów ani wizualizacji danych. Tabele są wykorzystywane w procesie wprowadzania i edycji danych, a nie w ich przetwarzaniu do analizy. Zapytanie to forma polecenia, która umożliwia użytkownikowi pobieranie określonych danych z bazy, na podstawie zdefiniowanych kryteriów. Mimo że zapytania są kluczowe w procesie obróbki danych, same w sobie nie generują raportów ani wykresów, lecz zwracają wyniki w postaci zbioru danych. Formularz to narzędzie, które służy do wprowadzania i edytowania danych w bazie. Rola formularzy polega na ułatwieniu interakcji użytkownika z bazą danych poprzez umożliwienie wprowadzania informacji w zorganizowanej formie. Formularze są przydatne w procesach zarządzania danymi, ale ich funkcjonalność nie obejmuje analizy ani prezentacji danych w formie raportów. W związku z tym, zarówno tabela, jak i zapytanie oraz formularz nie spełniają kryteriów określonych w pytaniu, ponieważ nie są dedykowane wyłącznie do odczytu danych w formie raportów.

Pytanie 4

Zdarzenie JavaScript, które jest wywoływane po pojedynczym kliknięciu dowolnego elementu na stronie, określa się jako

A. onClick
B. onLoad
C. onKeyDown
D. onDblClick
Zdarzenie onClick w JavaScript jest jednym z najczęściej używanych zdarzeń w interakcji użytkownika z elementami na stronie internetowej. Jego podstawowa funkcjonalność polega na rejestrowaniu pojedynczego kliknięcia na danym elemencie, co pozwala na wykonanie określonej akcji w odpowiedzi na to zdarzenie. Zdarzenie to jest szczególnie istotne w kontekście rozwoju aplikacji webowych, gdzie interaktywność jest kluczowym elementem doświadczenia użytkownika. Aby zaimplementować zdarzenie onClick, można użyć zarówno atrybutu HTML, jak i metod JavaScript, takich jak addEventListener. Przykładowo, dodając do przycisku HTML atrybut onClick, możemy bezpośrednio wywołać funkcję JavaScript, co znacząco upraszcza kod. W kontekście standardów, onClick jest częścią DOM Level 2 Events Specification, co zapewnia kompatybilność z różnymi przeglądarkami. Przykład zastosowania: <button onClick='alert("Hello World!")'>Kliknij mnie</button> wywoła okno alertu po kliknięciu przycisku. Korzystanie z onClick pozwala na tworzenie dynamicznych interfejsów, które dostosowują się do działań użytkownika, co jest kluczowe w nowoczesnym web designie i programowaniu JavaScript.

Pytanie 5

Który z parametrów obiektu graficznego zmieni się po zmianie wartości kanału alfa?

A. Przezroczystość
B. Kolejność wyświetlenia pikseli
C. Ostrość krawędzi
D. Nasycenie barw
Zrozumienie roli kanału alfa w grafice komputerowej jest kluczowe, aby uniknąć błędów w ocenie jego wpływu na inne parametry obiektów graficznych. Ostrość krawędzi odnosi się do wyrazistości konturów obiektów. Modyfikacja kanału alfa nie wpływa na ostrość, ponieważ dotyczy ona sposobu, w jaki kolory i detale są renderowane, a nie na ich przezroczystość. Nasycenie barw z kolei odnosi się do intensywności kolorów; zmiana kanału alfa nie zmienia ich jakości tonalnej, a jedynie może wpłynąć na percepcję koloru w kontekście przezroczystości. Kolejność wyświetlenia pikseli jest kwestią związana z renderowaniem i warstwami w przestrzeni 2D, a nie z efektem przezroczystości, choć może być ona istotna w kontekście kompozycji wizualnej. Typowym błędem jest mylenie pojęcia przezroczystości z innymi atrybutami graficznymi, co prowadzi do niewłaściwych wniosków o sposobie działania obiektów graficznych. Kluczowe jest zrozumienie, że kanał alfa bezpośrednio wpływa tylko na przezroczystość, a nie na inne parametry, co jest fundamentalną zasadą w grafice komputerowej oraz podczas pracy z oprogramowaniem graficznym.

Pytanie 6

W języku HTML5 do wypełniania podpowiedzią kontrolki pola edycyjnego stosuje się atrybut

A. pattern
B. autofocus
C. placeholder
D. required
W tym pytaniu łatwo pomylić kilka atrybutów, bo wszystkie pojawiają się często przy polach formularzy, ale pełnią zupełnie inne funkcje. W HTML5 każdy z nich ma dość precyzyjnie określone znaczenie i przeglądarki zachowują się wobec nich w konkretny sposób. Atrybut "pattern" służy do walidacji danych po stronie przeglądarki, przy użyciu wyrażeń regularnych. Definiujemy w nim wzorzec, który wprowadzony tekst musi spełniać, np. pattern="[0-9]{3}-[0-9]{3}-[0-9]{3}" dla numeru telefonu. On nie wyświetla żadnej podpowiedzi, tylko sprawdza poprawność wpisu. Częsty błąd myślowy jest taki, że skoro mówimy o "wzorcu", to ktoś kojarzy to z przykładem, a to jednak bardziej mechanizm kontroli, nie wizualna instrukcja. "Required" to natomiast atrybut, który oznacza, że pole jest obowiązkowe. Jeżeli użytkownik spróbuje wysłać formularz bez jego wypełnienia, przeglądarka wyświetli komunikat o błędzie. Nie ma tu żadnej podpowiedzi w samym polu, to tylko informacja dla silnika walidacji formularzy HTML5. Wiele osób myli to z jakąś formą "sugestii", ale to zwykłe wymaganie techniczne: albo coś wpiszesz, albo formularz się nie wyśle. "Autofocus" określa, które pole ma automatycznie dostać fokus po załadowaniu strony. Przez to kursor pojawia się od razu w tym polu i użytkownik może zaczynać pisać bez klikania. To ułatwia obsługę formularzy, ale znowu – nie ma nic wspólnego z wyświetlaniem tekstu pomocniczego w środku kontrolki. To tylko kwestia wygody i kolejności interakcji. Podpowiedź widoczna wewnątrz pola edycyjnego, zanim użytkownik zacznie wpisywać dane, jest realizowana wyłącznie przez atrybut "placeholder". Jeśli więc szukamy atrybutu odpowiedzialnego właśnie za ten efekt wizualny, inne opcje są po prostu funkcjonalnie nietrafione, nawet jeśli też dotyczą formularzy.

Pytanie 7

Ile razy wykona się poniższa pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?

for ($i = 0; $i <= 10; $i+=2) { ... }
A. 5
B. 0
C. 6
D. 10
Prawidłowa odpowiedź to 6 iteracji, ponieważ pętla for w PHP jest zdefiniowana z inicjalizacją zmiennej $i na 0 oraz warunkiem kontynuacji, który sprawdza, czy $i jest mniejsze lub równe 10. Zmiana wartości $i zachodzi co 2 jednostki dzięki instrukcji $i+=2. Iteracje pętli będą wyglądały następująco: $i = 0, 2, 4, 6, 8, 10. W momencie, gdy $i osiągnie wartość 12, warunek $i <= 10 przestanie być spełniony. Zatem pętla wykona się 6 razy, co jest zgodne z dobrą praktyką programowania, polegającą na dokładnym zrozumieniu warunków i logiki pętli. Zrozumienie tego mechanizmu ma kluczowe znaczenie dla efektywnego pisania kodu, pozwalającego na automatyzację zadań i obliczeń. W praktycznych zastosowaniach pętle są używane do iteracji po elementach tablic, generowania raportów oraz w wielu algorytmach przetwarzania danych.

Pytanie 8

Który typ danych jest przeznaczony do zapisywania daty urodzenia uczniów w bazie danych szkoły?

A. TIME
B. BLOB
C. ENUM
D. DATE
Poprawnie wskazany został typ DATE, który w relacyjnych bazach danych (np. MySQL, PostgreSQL, SQL Server) jest standardowym typem do przechowywania samych dat, bez informacji o godzinie. To dokładnie to, czego potrzebujemy przy dacie urodzenia ucznia: interesuje nas dzień, miesiąc i rok, a nie konkretna godzina czy sekunda. Typ DATE przechowuje wartość w ustalonym formacie (najczęściej 'YYYY-MM-DD'), dzięki czemu baza może poprawnie sortować rekordy, filtrować je w zapytaniach SQL (np. WHERE data_urodzenia BETWEEN '2008-01-01' AND '2010-12-31') oraz wykonywać operacje na datach, jak obliczanie wieku czy czasu, jaki minął od urodzenia. Z mojego doświadczenia używanie typu DATE jest też dużo wygodniejsze przy raportach i statystykach, np. liczenie ilu uczniów urodziło się w danym roku szkolnym, w danym miesiącu itp. Dodatkowo jest to zgodne z dobrymi praktykami projektowania baz danych: dla dat używamy typów datowych, a nie tekstu czy typów binarnych. Dzięki temu mechanizmy bazy potrafią walidować poprawność danych (np. nie pozwolą zapisać 31.02) oraz optymalnie korzystać z indeksów na kolumnach typu DATE. W profesjonalnych systemach szkolnych czy kadrowych przy danych takich jak data urodzenia, data zatrudnienia, data wystawienia świadectwa zawsze używa się właśnie typów pokrewnych DATE (DATE, DATETIME, czasem TIMESTAMP, ale do urodzin raczej zwykły DATE). To też ułatwia współpracę z aplikacjami webowymi w PHP czy JavaScript, bo większość frameworków ma gotowe mapowanie typu DATE na odpowiednie klasy lub struktury daty w kodzie. Ogólnie: prosty, czytelny i zgodny ze standardem wybór, dokładnie taki, jaki powinien się pojawić w dobrze zaprojektowanej bazie danych szkoły.

Pytanie 9

Zadanie przedstawione w ramce polecenia SQL ma na celu

Ilustracja do pytania
A. powiększyć wartość pola Uczen o jeden
B. ustawić wartość pola Uczen na 1
C. zwiększyć wartość kolumny id_klasy o jeden dla wszystkich wpisów tabeli Uczen
D. ustawić wartość kolumny id_klasy na 1 dla wszystkich wpisów w tabeli Uczen
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1 ma na celu zwiększenie wartości kolumny id_klasy o jeden dla każdego rekordu w tabeli Uczen Jest to typowa operacja w bazach danych gdy chcemy przeprowadzić masową aktualizację wartości w konkretnym polu W tym przypadku kolumna id_klasy jest modyfikowana tak aby każda jej wartość została zwiększona o jeden Jest to szczególnie przydatne w scenariuszach gdzie wartości identyfikatorów czy indeksów muszą być zwiększone ze względu na zmiany struktury danych lub w celu dostosowania do nowych wymagań Możliwość masowej aktualizacji danych jest jednym z głównych powodów dla których SQL jest tak potężnym narzędziem w zarządzaniu bazami danych Operacje tego typu wymagają jednak ostrożności aby uniknąć niepożądanych zmian które mogą wpływać na integralność danych Dlatego też dobre praktyki branżowe zalecają zawsze wykonywanie kopii zapasowych danych przed przeprowadzeniem tego typu operacji oraz dokładne sprawdzenie logiki biznesowej która za nimi stoi Zwrócenie uwagi na wydajność oraz potencjalne blokady przy jednoczesnym dostępie do bazy to również kluczowe aspekty o których należy pamiętać w środowiskach produkcyjnych

Pytanie 10

Wskaż kod CSS odpowiadający układowi bloków 2 - 5, zakładając, że są one zbudowane w oparciu o przedstawiony kod HTML.

BLOK 1
BLOK 2BLOK 3BLOK 4
BLOK 5
<div id="pierwszy">BLOK 1</div>
<div id="drugi">BLOK 2</div>
<div id="trzeci">BLOK 3</div>
<div id="czwarty">BLOK 4</div>
<div id="piaty">BLOK 5</div>

Kod 1.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  clear: both;
  width: 30%;
}
Kod 2.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  float: left;
  width: 30%;
}
Kod 3.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
Kod 4.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
A. Kod 3.
B. Kod 2.
C. Kod 1.
D. Kod 4.
Niestety, twoja odpowiedź jest niepoprawna. Wybrałeś odpowiedź niezgodną z przedstawionym układem bloków. Analizując kod CSS, musisz zwrócić uwagę na różne aspekty, takie jak pozycja, szerokość i kolejność bloków. W tym przypadku, blok 'drugi' powinien być umieszczony po lewej stronie i zajmować 40% szerokości, bloki 'trzeci' i 'czwarty' powinny być odpowiednio po lewej i prawej stronie z szerokością 30%, a blok 'piąty' powinien być umieszczony na dole i zajmować 30% szerokości. To wszystko odpowiada układowi bloków na diagramie. Jeżeli wybrałeś inny kod, to prawdopodobnie źle zinterpretowałeś pozycję lub szerokość bloków, co jest kluczowe w tworzeniu układów stron. Ważne jest, aby zrozumieć i umieć manipulować kodem CSS, aby uzyskać pożądany układ strony. Pamiętaj, że praktyka i doświadczenie są kluczowe do zrozumienia jak kod CSS wpływa na układ i stylizację elementów strony.

Pytanie 11

Jakie funkcje w języku PHP umożliwiają weryfikację wartości oraz typu zmiennej?

A. readfile()
B. implode()
C. strlen()
D. var_dump()
W języku PHP do sprawdzania wartości i typu zmiennej można wykorzystać funkcję var_dump(). Ta funkcja jest niezwykle przydatna w procesie debugowania, ponieważ wyświetla szczegółowe informacje na temat zmiennej, w tym jej typ, wartość oraz, w przypadku tablic i obiektów, również ich strukturę. Przykładowo, jeśli mamy zmienną $a przypisaną do wartości 10, wywołując var_dump($a), otrzymamy wynik: int(10). Oznacza to, że $a jest zmienną typu całkowitego (integer) o wartości 10. Funkcja ta jest szczególnie użyteczna w sytuacjach, gdy potrzebujemy dokładnych informacji o złożonych strukturach danych, takich jak tablice czy obiekty. Warto zauważyć, że var_dump() jest zgodna z typowymi standardami PHP i często stosowana w praktyce przez programistów do szybkiego diagnozowania problemów w kodzie. Dodatkowo, jej użycie jest zalecane podczas pisania testów jednostkowych, gdyż umożliwia weryfikację stanu zmiennych.

Pytanie 12

Jaki program służy do tworzenia i edytowania grafiki wektorowej?

A. Paint
B. Corel Draw
C. Wordpad
D. Audacity
Corel Draw to profesjonalny program do edycji grafiki wektorowej, który jest szeroko stosowany w branży projektowej. Grafika wektorowa jest oparta na matematycznych równaniach, co pozwala na skalowanie obrazu do dowolnych rozmiarów bez utraty jakości. Corel Draw oferuje zaawansowane narzędzia, takie jak krzywe Béziera, które umożliwiają precyzyjne rysowanie kształtów i linii. Program ten jest wykorzystywany do projektowania logo, ilustracji, plakatów, a także materiałów marketingowych. Przykładem praktycznego zastosowania może być tworzenie wizytówek, gdzie projektant może wykorzystać możliwości Corel Draw do stworzenia unikalnego i profesjonalnego wzoru. Dobre praktyki w pracy z grafiką wektorową obejmują korzystanie z warstw, co pozwala na organizowanie elementów projektu oraz stosowanie kolorów Pantone, co jest szczególnie istotne w druku. Corel Draw jest zgodny z różnymi standardami branżowymi, co czyni go preferowanym wyborem w wielu agencjach kreatywnych.

Pytanie 13

Którego znacznika NIE NALEŻY umieszczać w nagłówku dokumentu HTML?

A. <h2>
B. <meta>
C. <title>
D. <link>
Odpowiedź <h2> jest trafna, bo ten znacznik jest właśnie do nagłówków w HTML. Powinien być używany w sekcji <body>, nie w <head>. Jak dobrze wiesz, nagłówki, czyli <h1> do <h6>, mają spore znaczenie w organizacji tekstu i hierarchii, co wpływa później na SEO i dostępność strony. Dzięki <h2> możesz dodać podtytuł, co sprawia, że tekst jest bardziej przejrzysty i łatwiejszy do zrozumienia. Stosowanie nagłówków w odpowiedni sposób to ważna zasada, żeby dokument miał sens i był logicznie poukładany. Warto też wiedzieć, że znaczniki takie jak <link>, <meta> i <title> są super ważne dla strony, ale pełnią inne funkcje niż nagłówki. Więc ogólnie rzecz biorąc, fajnie, że to rozumiesz!

Pytanie 14

Do czego wykorzystywany jest program debugger?

A. do analizy działającego programu w celu odnalezienia błędów
B. do przetwarzania kodu napisanego w języku wyższego poziomu na język maszynowy
C. do badania kodu źródłowego w celu wykrycia błędów składniowych
D. do interpretacji kodu w wirtualnej maszynie Java
Debugger to narzędzie służące do analizy wykonywanego programu, które pozwala programistom identyfikować i lokalizować błędy w kodzie. Jego główną funkcją jest umożliwienie krokowego śledzenia działania programu, co pozwala na obserwację wartości zmiennych, a także na analizę przepływu kontrolnego. Przykładowo, programista może ustawić punkty przerwania (breakpoints), które zatrzymują wykonanie programu w określonym miejscu, co daje możliwość dokładnego zbadania stanu aplikacji. Debugger wspiera proces testowania i zapewnia, że program działa zgodnie z założeniami. W branży programistycznej standardem jest korzystanie z debuggingu w ramach cyklu życia oprogramowania, co pozwala na szybką identyfikację usterek oraz poprawę jakości kodu. Ponadto, popularne środowiska programistyczne, jak Visual Studio, Eclipse czy IntelliJ IDEA, oferują zaawansowane funkcje debugowania, które wspierają programistów w ich codziennej pracy.

Pytanie 15

Aby przyspieszyć operacje na bazie danych należy dla pól często wyszukiwanych lub sortowanych

A. utworzyć indeks.
B. dodać więzy integralności.
C. utworzyć osobną tabelę przechowującą tylko te pola.
D. dodać klucz obcy.
W tym pytaniu chodzi o przyspieszenie operacji wyszukiwania i sortowania, czyli stricte o wydajność wykonywania zapytań SELECT. Bardzo łatwo jest tu pomylić pojęcia z projektowania relacyjnych baz danych i sięgnąć po rozwiązania, które są ważne, ale rozwiązują inne problemy niż wydajność zapytań. Klucz obcy jest mechanizmem służącym do utrzymania spójności między tabelami. Określa on, że wartość w jednej tabeli musi odpowiadać istniejącemu rekordowi w innej tabeli. To świetne narzędzie do pilnowania integralności referencyjnej, ale samo dodanie klucza obcego nie przyspiesza wyszukiwania po dowolnej kolumnie. Co prawda silniki baz danych często automatycznie tworzą indeks na kolumnie będącej kluczem głównym, a czasem również na kluczu obcym, ale sednem optymalizacji jest właśnie indeks, nie sam fakt istnienia klucza obcego. Kolejna sprawa to więzy integralności, czyli różnego rodzaju ograniczenia typu NOT NULL, UNIQUE, CHECK czy wspomniane klucze obce. One pomagają w utrzymaniu poprawności danych, zapobiegają wprowadzaniu bzdurnych rekordów, ale nie są mechanizmem projektowanym z myślą o przyspieszaniu sortowania czy filtrowania. Można powiedzieć, że dbają o jakość danych, a nie o szybkość ich wyszukiwania. Ostatnia koncepcja, czyli tworzenie osobnej tabeli zawierającej tylko często wyszukiwane pola, to typowy przykład nadmiernej normalizacji albo wręcz niewłaściwej denormalizacji. Taki zabieg zazwyczaj zwiększa złożoność systemu, utrudnia zapytania (potrzeba dodatkowych JOIN-ów) i wcale nie gwarantuje lepszej wydajności. Bez indeksów na odpowiednich kolumnach nowa tabela dalej będzie skanowana w całości. Typowy błąd myślowy polega tu na założeniu, że „mniej kolumn = szybsze zapytania”, co w praktyce nie jest prawdą, jeśli baza i tak musi przeszukać każdy wiersz. Standardowa, sprawdzona w branży metoda to dobrze zaprojektowane indeksy, a nie mnożenie tabel czy ślepe dokładanie więzów integralności w nadziei na przyspieszenie bazy.

Pytanie 16

W języku JavaScript zapisano poniższy fragment kodu. `````` Po uruchomieniu skryptu zmienna x

A. będzie miała wartość 10 i zostanie wyświetlona w głównym oknie przeglądarki internetowej
B. będzie miała wartość 10 i zostanie pokazana w dokumencie HTML
C. będzie miała wartość 11 i zostanie wyświetlona w oknie popup
D. będzie miała wartość 11 i zostanie wyświetlona w konsoli przeglądarki internetowej
W analizowanym fragmencie kodu JavaScript mamy do czynienia z prostą operacją inkrementacji zmiennej x, która początkowo wynosi 10. Operator ++ zwiększa wartość zmiennej o 1, co skutkuje wartością 11. Wartością, która zostanie wyświetlona, jest wartość zmiennej x, która po inkrementacji wynosi 11. Jednak ważnym aspektem jest to, że w kodzie jest błąd składniowy w wywołaniu funkcji console.log. Poprawna składnia powinna wyglądać tak: console.log(x); zamiast console.logx);. W obecnej formie kodu, mimo inkrementacji zmiennej x do wartości 11, pojawi się błąd wykonania, a wartość nie zostanie wypisana. Gdyby błąd został naprawiony, wynik 11 zostałby wyświetlony w konsoli przeglądarki, co jest standardowym miejscem do monitorowania wyjścia w aplikacjach JavaScript. To zachowanie jest zgodne ze specyfikacjami ECMAScript, które definiują zasady działania operatorów oraz metod konsoli.

Pytanie 17

Wskaż zapis stylu CSS, który formatuje punktor listy numerowanej na wielkie cyfry rzymskie oraz listy punktowanej na kwadraty?

A. ol { list-style-type: disc; } ul { list-style-type: upper-alpha; }
B. ol { list-style-type: upper-alpha; } ul { list-style-type: disc; }
C. ol { list-style-type: upper-roman; } ul { list-style-type: square; }
D. ol { list-style-type: square; } ul { list-style-type: upper-roman; }
Odpowiedź jest poprawna, ponieważ styl CSS `ol { list-style-type: upper-roman; }` ustawia numerację dla listy uporządkowanej na wielkie cyfry rzymskie, co jest zgodne z wymaganiami. Użycie `ul { list-style-type: square; }` definiuje styl dla listy nieuporządkowanej, gdzie punkty są przedstawiane jako kwadraty. Stylizacja list w CSS jest kluczowa dla estetyki i czytelności dokumentu, a korzystanie z różnych typów markerów dla różnych rodzajów list potrafi znacząco poprawić organizację treści. Przykładem zastosowania może być dokumentacja techniczna, gdzie numery rzymskie używane są do oznaczania sekcji głównych, a kwadratowe punkty do podpunktów. Tego rodzaju stylizacja jest zgodna z dobrymi praktykami w projektowaniu stron internetowych, które wymaga dobrego zrozumienia CSS i jego właściwości. Ponadto, CSS pozwala na elastyczne dostosowywanie stylów, co jest istotne w kontekście responsywności i dostępności stron.

Pytanie 18

Jak powinna wyglądać odpowiednia sekwencja procesów przetwarzania dźwięku z analogowego na cyfrowy?

A. kwantyzacja, kodowanie, próbkowanie
B. kwantyzacja, próbkowanie, kodowanie
C. próbkowanie, kwantyzacja, kodowanie
D. próbkowanie, kodowanie, kwantyzacja
Wiesz, przetwarzanie dźwięku w analogowo-cyfrowy sposób jest dość ciekawe. To cała procedura, która składa się z trzech głównych kroków: próbkujemy, kwantyzujemy i kodujemy. Próbkowanie to jakby robienie zdjęć sygnału analogowego w regularnych odstępach. Tak tworzymy zestaw wartości, które potem możemy jakoś ogarnąć. Potem przychodzi kwantyzacja, gdzie te wartości zamieniamy na konkretne poziomy – to trochę jak zaokrąglanie do najbliższej liczby. I na końcu kodowanie, które zamienia to wszystko na format cyfrowy, co sprawia, że możemy to zapisać i przetwarzać na różnych urządzeniach. Zwykle używamy standardów, jak PCM, które gwarantują dobrą jakość dźwięku, bo dobrze ustawione próbki i kwantyzacja to klucz do sukcesu. Na przykład, kiedy przerabiasz dźwięk z winyla na MP3, każdy etap jest super ważny, żeby zachować tę fajną jakość dźwięku.

Pytanie 19

Podana jest tabela książki z kolumnami: tytuł, autor (w formie tekstowej), cena (w formie liczbowej). Jaką kwerendę SELECT należy wykorzystać, aby otrzymać tylko tytuły, których cena jest niższa niż 50 zł?

A. SELECT ksiazki FROM tytul WHERE cena < '50 zł';
B. SELECT * FROM ksiazki WHERE cena < 50;
C. SELECT tytul FROM ksiazki WHERE cena < 50;
D. SELECT tytul FROM ksiazki WHERE cena > '50 zł';
Odpowiedź "SELECT tytul FROM ksiazki WHERE cena < 50;" jest prawidłowa, ponieważ wykorzystuje składnię SQL, która pozwala na wybranie konkretnych pól z tabeli. W tym przypadku przy pomocy klauzuli SELECT określamy, że interesują nas tylko tytuły książek, a klauzula WHERE filtruje wyniki, zwracając jedynie te rekordy, w których cena jest niższa niż 50 zł. To podejście jest zgodne z najlepszymi praktykami, ponieważ zamiast używać operatora *, który zwraca wszystkie kolumny, wskazujemy dokładnie, jakie dane są nam potrzebne. Dzięki temu kwerenda jest bardziej wydajna i przejrzysta. Przykładowo, w przypadku dużych zbiorów danych, ograniczenie wyników do konkretnego pola może znacząco poprawić czas wykonania zapytania oraz zmniejszyć obciążenie serwera. Ponadto, zapis ceny jako liczby, a nie tekstu (np. '50 zł'), umożliwia prawidłowe porównanie wartości numerycznych, co jest kluczowe w tego typu zapytaniach. W praktyce wykorzystanie tego rodzaju zapytań jest niezbędne, aby efektywnie zarządzać danymi i uzyskiwać precyzyjne wyniki w bazach danych.

Pytanie 20

Dane z pola input o typie number zostały zapisane do zmiennej a, a następnie przetworzone w kodzie JavaScript w sposób następujący: ```var x = parseFloata);``` Jakiego typu będzie zmienna x?

A. liczbowego, całkowitego
B. NaN
C. zmiennoprzecinkowego
D. napisowego
Widzisz, zmienna x dostaje wartość z funkcji parseFloat, która zmienia coś z pola input typu number na liczbę zmiennoprzecinkową. To jest dość standardowa funkcja w JavaScript, często używana do zamiany tekstu (czyli stringów) na liczby zmiennoprzecinkowe. Na przykład, jak w polu input masz '123.45', to po napisaniu var x = parseFloat(a);, x stanie się liczbą 123.45. Tylko pamiętaj, że jak przekazany tekst nie może być zmieniony na liczbę, to dostaniesz NaN (czyli Not-a-Number). Ta funkcja jest zgodna z ECMAScript i jest naprawdę przydatna, np. w sytuacjach, gdy trzeba walidować dane, które użytkownicy wprowadzają. Twoja odpowiedź jest na plus, bo korzystając z parseFloat, dostajesz typ zmiennoprzecinkowy, co jest ważne w obliczeniach matematycznych. Zresztą, dokładność w tych wartościach liczbowych jest kluczowa.

Pytanie 21

<img src="/rysunek.png" alt="pejzaż"> Zapisany został kod HTML, który wstawia obrazek na stronę. Jeśli rysunek.png nie zostanie znaleziony, przeglądarka

A. w miejscu grafiki pokaże tekst "rysunek.png"
B. w miejscu grafiki zasygnalizuje błąd wyświetlania strony
C. nie załaduje strony internetowej
D. wyświetli w miejscu grafiki tekst "pejzaż"
Kiedy przeglądarka internetowa napotyka na kod HTML, który zawiera element graficzny, w takim przypadku, jeśli wskazany plik nie jest dostępny, następuje zachowanie określone przez atrybut 'alt'. W omawianym przykładzie, gdy przeglądarka nie może znaleźć pliku 'rysunek.png', wyświetli tekst alternatywny 'pejzaż'. Atrybut 'alt' jest niezwykle ważny z perspektywy dostępności oraz SEO, ponieważ pozwala na dostarczenie informacji o obrazie osobom, które nie mogą go zobaczyć, takim jak osoby niewidome korzystające z czytników ekranu. Z punktu widzenia standardów W3C, atrybut 'alt' jest zalecany dla każdego elementu <img>, aby poprawić użyteczność strony. W praktyce, dobrze skonstruowane opisy w atrybucie 'alt' mogą również wpłynąć pozytywnie na pozycjonowanie witryny w wyszukiwarkach, co czyni go kluczowym elementem podczas tworzenia treści na stronie internetowej. Z tego powodu umieszczanie informacyjnych i zrozumiałych opisów w tym atrybucie jest niezbędne nie tylko dla poprawy dostępności, ale także dla efektywnej optymalizacji SEO.

Pytanie 22

W sekcji nagłówka dokumentu HTML umieszczono ```Strona miłośników psów``` Zawarty tekst będzie widoczny

A. w treści witryny, w pierwszym ukazanym nagłówku
B. na pasku tytułu w przeglądarce
C. w treści witryny, na banerze witryny
D. w polu adresowym, za wprowadzonym adresem URL
Odpowiedź jest poprawna, ponieważ zawartość tagu <title> w kodzie HTML określa tytuł dokumentu, który jest wyświetlany na pasku tytułu przeglądarki. Tytuł ten jest kluczowym elementem SEO, ponieważ wpływa na sposób, w jaki użytkownicy postrzegają stronę w wynikach wyszukiwania. W praktyce, dobrze dobrany tytuł zwiększa szansę na kliknięcia i poprawia widoczność strony w internecie. Warto pamiętać, że tytuł powinien być krótki, zwięzły i zawierać najważniejsze słowa kluczowe, aby skutecznie komunikować, o czym jest strona. Dobre praktyki zalecają, aby długość tytułu nie przekraczała 60 znaków, aby uniknąć jego obcięcia w wynikach wyszukiwania. Dodatkowo, tytuł powinien być unikalny dla każdej podstrony, co ułatwia użytkownikom i wyszukiwarkom zrozumienie zawartości witryny.

Pytanie 23

W sekcji <head> (w elemencie <meta ... >) witryny www nie umieszcza się danych dotyczących

A. autora
B. typu dokumentu
C. automatycznego odświeżania
D. kodowania
Umieszczanie informacji o autorze, kodowaniu oraz automatycznym odświeżaniu w znaczniku <head> jest praktyką zgodną ze standardami, jednak występują nieporozumienia co do roli i miejsca deklaracji typu dokumentu. Wiele osób może błędnie zakładać, że typ dokumentu można umieścić w sekcji <head>, co jest nieprawidłowe. Deklaracja DOCTYPE, która informuje przeglądarkę o wersji HTML, musi być umieszczona przed znacznikiem <html> w kodzie. Tymczasem w sekcji <head> umieszczamy metadane, które mają bezpośredni wpływ na interpretację zawartości strony i jej interakcję z użytkownikami oraz wyszukiwarkami. Często popełnianym błędem jest mylenie tych dwóch elementów, co prowadzi do nieprawidłowego kodowania strony. Odpowiednie zrozumienie struktury dokumentu HTML jest kluczowe dla jego prawidłowego funkcjonowania; nieprawidłowe umiejscowienie deklaracji DOCTYPE może prowadzić do nieoczekiwanych zachowań w przeglądarkach, takich jak błędy w renderowaniu lub problemy z kompatybilnością. Dlatego ważne jest, aby znać zasady dotyczące tworzenia struktury dokumentów HTML, co przyczynia się do lepszej jakości kodu oraz większej wydajności stron internetowych.

Pytanie 24

Podaj dwa sposoby ochrony bazy danych Microsoft Access?

A. Funkcje anonimowe oraz ustawienie hasła do bazy danych
B. Ustalenie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
C. Ustalenie zabezpieczeń na poziomie użytkownika i sesji
D. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
W analizie pozostałych odpowiedzi można zauważyć, że wiele z nich nie odnosi się do skutecznych metod ochrony bazy danych Microsoft Access. Na przykład, funkcje anonimowe nie są standardową metodą zabezpieczania baz danych. Anonimizacja danych może być stosowana w kontekście ochrony prywatności, ale nie zapobiega dostępowi do samej bazy danych. Ponadto, ustalenie hasła otwarcia bazy danych bez dodatkowych zabezpieczeń nie zapewnia pełnej ochrony, ponieważ łatwe do odgadnięcia hasła mogą być szybko złamane przez atakujących. W kontekście zabezpieczeń SMS z kodem autoryzującym, warto zauważyć, że ta metoda w zasadzie nie jest stosowana w Microsoft Access. Chociaż SMS-y z kodami mogą być skuteczne w autoryzacji na poziomie aplikacji lub systemów webowych, Access nie obsługuje takiej funkcji. Wprowadzenie takich środków może być mylące i nie prowadzi do rzeczywistego zabezpieczenia bazy danych. Podobnie, ustalenie zabezpieczeń na poziomie sesji, mimo że jest ważne w niektórych systemach, nie znajduje zastosowania w Access, który nie obsługuje bardziej zaawansowanych metod autoryzacji sesji, jak to ma miejsce w systemach zarządzania bazami danych wysokiego poziomu, takich jak SQL Server. W skrócie, brak znajomości funkcji i ograniczeń Microsoft Access prowadzi do zaproponowania nieefektywnych metod zabezpieczeń.

Pytanie 25

Baza danych gromadzi dane multimedialne, co wiąże się z koniecznością przechowywania znacznych ilości danych binarnych. Jakiego typu należy użyć dla takich danych?

A. LONGTEXT
B. BLOB
C. DOUBLE
D. ENUM
Typ BLOB (Binary Large Object) jest przeznaczony do przechowywania dużych ilości danych binarnych, takich jak obrazy, wideo czy dźwięki. W kontekście baz danych, BLOB umożliwia przechowywanie danych, które nie są łatwe do reprezentacji w postaci tekstowej. Dzięki zastosowaniu tego typu danych, można efektywnie zarządzać oraz przechowywać multimedia bez obawy o przekroczenie limitów rozmiarowych, które występują przy użyciu standardowych typów danych. Przykład praktycznego zastosowania BLOB można zobaczyć w systemach zarządzania treścią (CMS), gdzie obrazy i pliki wideo są przechowywane w bazie danych, co pozwala na ich łatwe wywoływanie i wyświetlanie na stronach internetowych. Warto zauważyć, że stosując BLOB, należy również brać pod uwagę najlepsze praktyki optymalizacji, takie jak przechowywanie samych plików na zewnętrznych serwerach i trzymanie jedynie ich referencji w bazie danych, co znacząco zwiększa wydajność systemu.

Pytanie 26

Który program komputerowy przekłada kod źródłowy, stworzony w określonym języku programowania, na język maszyny?

A. Kompilator
B. Edytor kodu źródłowego
C. Debugger
D. Środowisko programistyczne
Kompilator to taki mega ważny program, który pomaga w tworzeniu aplikacji. Przekształca kod, który napisaliśmy w danym języku programowania, na język maszynowy, czyli taki, który komputery rozumieją. To jest kluczowe, bo komputery działają na kodzie binarnym. Tak więc, jak piszemy programy w językach, takich jak C++, Java czy Python, musimy przekształcić ten skomplikowany kod na coś, co maszyna będzie mogła ogarnąć. Kompilatory nie tylko zamieniają nasz kod, ale też sprawdzają go pod kątem błędów, co jest super ważne dla jakości oprogramowania. Dla przykładu, jest taki kompilator GCC do języka C/C++, który jest bardzo popularny w projektach open source. Dobrze jest regularnie kompilować kod podczas pisania, bo to pozwala szybko łapać błędy i lepiej pracować w zespole.

Pytanie 27

W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w przedziale (0, 100), a wartość zmiennej b jest większa od zera. Jak można poprawnie zapisać taki warunek?

A. if (a > 0 || a < 100 11 b < 0)
B. if ((a > 0 && a < 100) 11 b < 0)
C. if (a > 0 && a < 100 && b > 0)
D. if ((a > 0 11 a < 100) && b > 0)
Odpowiedź if (a > 0 && a < 100 && b > 0) jest prawidłowa, ponieważ dokładnie odzwierciedla wymogi przedstawione w pytaniu. W tym przypadku, warunek sprawdza, czy zmienna 'a' jest większa od zera oraz mniejsza od 100, co oznacza, że mieści się w przedziale (0, 100). Dodatkowo, warunek b > 0 zapewnia, że zmienna 'b' ma wartość większą od zera. Użycie operatora logicznego && jest kluczowe, ponieważ pozwala na połączenie wszystkich trzech warunków, co oznacza, że wszystkie muszą być spełnione, aby blok kodu w instrukcji if został wykonany. W praktyce, ten typ instrukcji jest niezwykle użyteczny w różnorodnych aplikacjach, na przykład w systemach walidacji danych wejściowych, gdzie istotne jest sprawdzenie, czy wartości są w określonych zakresach przed przetwarzaniem. Dobrą praktyką jest zawsze stosowanie wyraźnych i zrozumiałych warunków logicznych w celu zwiększenia czytelności i utrzymania kodu, co jest zgodne z zasadami czystego kodowania.

Pytanie 28

W języku PHP chcąc wyświetlić ciąg n znaków @, należy użyć funkcji

A. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki(@, $n);

B. function znaki($i){
   for($i = 0; $i < $n; $i++)
     print("@");
}
znaki($i);

C. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki($n);

D. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki("@", $n);
A. D.
B. A.
C. C.
D. B.
Właśnie wybrałeś odpowiedź D i jest to absolutnie poprawne. W języku PHP, funkcja, o której mówimy, jest standardowym sposobem wyświetlania ciągu n znaków. Działa to poprzez użycie dwóch argumentów: znaku, który ma być wyświetlony, i liczby n, która określa, ile razy ten znak powinien zostać wyświetlony. W tym przypadku, użyto znaku '@'. Następnie, w pętli for, zmienna $i jest inkrementowana od 0 do n-1, a funkcja print wyświetla znak. To jest dobrym przykładem praktycznego zastosowania pętli w PHP, które są niezwykle przydatne w wielu różnych scenariuszach, od generowania list do manipulowania danymi. Pamiętaj, że zrozumienie, jak działa ta konkretna funkcja, może pomóc Ci lepiej zrozumieć, jak działają pętle i funkcje print w PHP.

Pytanie 29

Jakiego rodzaju oprogramowanie narzędziowe powinno być zainstalowane, aby umożliwić użytkownikowi przeprowadzanie operacji na zgromadzonych danych?

A. Klucz obcy
B. Otwarty mechanizm komunikacji bazy danych
C. System Zarządzania Bazą Danych (SZBD)
D. Obiektowy System Zarządzania Bazą Danych
Klucz obcy to dość ciekawe zagadnienie, które dotyczy relacji między tabelami w bazach danych. Dzięki niemu można powiązać różne rekordy, ale nie jest to coś, co działa samodzielnie. To nie jest jakieś oprogramowanie, które można zainstalować i oczekiwać, że wszystko będzie działać. Z kolei Obiektowy System Zarządzania Bazą Danych (OSZBD) to inny temat, który opiera się na podejściu obiektowym. Może być przydatny, ale nie jest powszechnym rozwiązaniem. Samo otwarte mechanizmy komunikacji bazy danych też w sumie nie zapewnia skutecznego zarządzania danymi. Błędem jest myślenie, że wybór nieodpowiednich elementów, takich jak klucz obcy czy te mechanizmy, załatwi sprawę. Efektywna praca z danymi w praktyce wymaga wyboru SZBD, który jest stworzony do tego, żeby skutecznie zarządzać danymi i nie pomijanie tego prowadzi do nieporozumień.

Pytanie 30

W języku JavaScript, deklaracja: ```var x=true;``` sprawia, że zmienna x ma typ

A. łańcuch znaków
B. numeryczny
C. logiczy
D. enumeracyjny
Zmienna x w JavaScript, która została zadeklarowana jako 'var x=true;', to typ logiczny, czyli boolean. W tym języku mamy dwie możliwe wartości: true (prawda) i false (fałsz). Ten typ jest naprawdę ważny, zwłaszcza gdy mówimy o warunkach w programach, bo to właśnie one są bazą dla programowania strukturalnego i obiektowego. Kiedy piszesz instrukcje if albo pętle, typ logiczny odgrywa kluczową rolę w tym, co się dzieje w programie. Fajnie jest korzystać z zmiennych logicznych, by kontrolować, co się dzieje w kodzie, a także sprawiać, że warunki są czytelniejsze. Ciekawe jest też to, że w JavaScript inne typy, jak liczby czy ciągi znaków, mogą być używane w kontekście wartości prawdziwych i fałszywych. To czyni typ logiczny bardzo elastycznym i wszechstronnym. Im lepiej rozumiesz ten typ, tym lepiej potrafisz tworzyć dynamiczne aplikacje, które dobrze reagują na różne sytuacje.

Pytanie 31

W CSS, stosowanie poniższego kodu na stronie z kilkoma akapitami, gdzie każdy składa się z kilku linijek, spowoduje, że

p::first-line
{
    font-size: 150%;
}
A. cały tekst w paragrafie zostanie powiększony o 150%
B. pierwsza linia każdego z paragrafów będzie miała mniejszą wielkość czcionki od pozostałych linii
C. pierwszy paragraf na stronie będzie miał powiększoną czcionkę w całości
D. pierwsza linia każdego paragrafu będzie miała większą czcionkę niż pozostałe linie
Zapis CSS p::first-line { font-size: 150%; } używa selektora pseudo-elementu ::first-line który stosuje stylizację do pierwszej linii każdego paragrafu. W tym przypadku zmieniamy rozmiar czcionki pierwszej linii na 150% jej domyślnej wartości co oznacza że będzie ona o 50% większa niż reszta tekstu. Pseudo-element ::first-line jest często stosowany w projektowaniu stron internetowych aby wyróżnić pierwsze zdanie lub akapit co może pomóc w lepszej organizacji treści i zwiększeniu czytelności. Ten sposób formatowania jest zgodny ze standardami CSS i jest wspierany przez większość nowoczesnych przeglądarek internetowych. Takie podejście może być użyteczne w projektach gdzie istotne jest nadanie unikalnego wyglądu nagłówkom sekcji lub wprowadzeniom bez zmieniania struktury HTML. Ważne jest aby pamiętać że ::first-line stosuje się tylko do elementów blokowych takich jak paragrafy co ogranicza jego użycie do tych specyficznych scenariuszy ale jednocześnie pozwala na precyzyjne dostosowanie stylu tekstu w dokumencie.

Pytanie 32

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. najmniejszej.
B. nieparzystej.
C. największej.
D. parzystej.
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 33

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Krzywe.
B. Barwienie.
C. Progowanie.
D. Inwersja.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 34

Jaka linia w języku HTML wskazuje kodowanie znaków używane w dokumencie?

A. <meta charset="UTF-8">
B. <charset="UTF-8">
C. <meta encoding="UTF-8">
D. <encoding="UTF-8">
Zapis <meta charset="UTF-8"> jest poprawną deklaracją kodowania znaków w dokumencie HTML, ponieważ jest zgodny z aktualnymi standardami W3C. Element <meta> powinien znajdować się w sekcji <head> dokumentu HTML i pozwala przeglądarkom na właściwe interpretowanie znaków w treści strony. Kodowanie UTF-8 jest szeroko stosowane, ponieważ obsługuje wszystkie znaki w standardzie Unicode, co czyni go idealnym dla aplikacji wielojęzycznych. Użycie poprawnego kodowania jest kluczowe, aby uniknąć problemów z wyświetlaniem tekstu, takich jak błędne znaki lub krzaki, które pojawiają się, gdy przeglądarka nie wie, jak zinterpretować dane. Przykładowo, jeżeli mamy stronę internetową w kilku językach, użycie UTF-8 zapewnia, że znaki diakrytyczne w języku polskim, czeskim czy niemieckim będą poprawnie wyświetlane. Warto również pamiętać, aby zawsze umieszczać tę deklarację jako pierwszą w sekcji <head>, aby zapewnić, że przeglądarka prawidłowo zinterpretuje wszystkie inne elementy. W kontekście SEO oraz dostępności, poprawne kodowanie jest istotne, ponieważ wpływa na indeksowanie treści przez wyszukiwarki oraz ich prezentację dla użytkowników.

Pytanie 35

Integralność referencyjna w relacyjnych bazach danych wskazuje, że

A. każdemu kluczowi głównemu przyporządkowany jest dokładnie jeden klucz obcy w danej tabeli lub powiązanych tabelach
B. wartość klucza głównego oraz klucza obcego nie może być pusta
C. wartość klucza obcego w konkretnej tabeli musi być równa wartości klucza głównego w powiązanej tabeli lub mieć wartość NULL
D. klucz główny lub klucz obcy nie zawierają żadnych wartości NULL
Pierwsza z niepoprawnych odpowiedzi odnosi się do stwierdzenia, że wartość klucza głównego oraz klucza obcego nie jest pusta. Choć jest to istotne, nie uwzględnia to kontekstu integralności referencyjnej, gdyż klucz obcy może przyjąć wartość NULL, co jest zgodne z zasadą, że nie każdy rekord musi mieć przypisane powiązanie. Kolejny błąd pojawia się w twierdzeniu, że klucz główny lub klucz obcy nie zawierają wartości NULL. Z definicji klucz główny nie może mieć wartości NULL, ale klucz obcy może, co jest istotne dla elastyczności projektowania baz danych. Również stwierdzenie, że każdemu kluczowi głównemu odpowiada dokładnie jeden klucz obcy, jest mylne, ponieważ klucz główny może być powiązany z wieloma kluczami obcymi w innych tabelach, co umożliwia bardziej złożone relacje. W kontekście relacyjnych baz danych, klucz obcy może odnosić się do jednego klucza głównego, ale nie wymaga, aby istniał tylko jeden klucz obcy do danego klucza głównego, co jest typowe w praktyce projektowania baz danych. Tak więc, w kontekście integralności referencyjnej, klucz obcy może być NULL i może odnosić się do jednego klucza głównego, ale nie ogranicza się do jednego powiązania, co czyni te odpowiedzi niepoprawnymi.

Pytanie 36

Aby w PHP uzyskać dostęp do danych formularza przesyłanych w sposób bezpieczny, należy użyć tablicy

A. $_FILES
B. $_SESSION
C. $_SERVER
D. $_POST
W języku PHP tablica $_POST jest kluczowym narzędziem do obsługi danych przesyłanych za pomocą metody POST, która jest jedną z najczęściej stosowanych metod przesyłania formularzy w aplikacjach webowych. Odpowiedź ta jest prawidłowa, ponieważ $_POST umożliwia dostęp do danych wprowadzonych przez użytkownika w formularzu, które są wysyłane na serwer. Metoda POST jest bezpieczniejsza od metody GET, ponieważ nie ujawnia danych w URL, co jest istotne w kontekście prywatności i bezpieczeństwa. Przykłady zastosowania obejmują formularze logowania, gdzie dane użytkownika, takie jak hasło, są przesyłane do serwera. Stosując $_POST, programista może w łatwy sposób przetwarzać te dane, walidować je, a następnie zapisać w bazie danych lub wykonać inne operacje. W dobrych praktykach programistycznych zaleca się również stosowanie odpowiednich zabezpieczeń, takich jak filtrowanie i walidacja danych, aby uniknąć ataków typu SQL Injection czy XSS. Użycie $_POST jest kluczowe w tworzeniu nowoczesnych i bezpiecznych aplikacji internetowych.

Pytanie 37

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. tworzenia oraz modyfikacji struktury wszystkich tabel w bazie sklep
C. dodawania oraz modyfikacji danych we wszystkich tabelach bazy sklep
D. tworzenia oraz modyfikacji struktury w tabeli sklep
Odpowiedź jest prawidłowa, ponieważ polecenie SQL 'GRANT CREATE, ALTER ON sklep.* TO adam;' przyznaje użytkownikowi 'adam' uprawnienia do tworzenia (CREATE) i zmiany (ALTER) struktury wszystkich tabel w bazie danych 'sklep'. W kontekście systemów zarządzania bazami danych (DBMS), uprawnienia 'CREATE' pozwalają użytkownikowi na tworzenie nowych obiektów, takich jak tabele, podczas gdy 'ALTER' umożliwia modyfikację istniejących obiektów. Dlatego użytkownik 'adam' zyskuje możliwość modyfikacji struktury każdej tabeli w bazie 'sklep', co obejmuje dodawanie lub usuwanie kolumn, zmiany typów danych oraz inne operacje związane z definicją tabel. Przykładowo, jeśli 'adam' chciałby dodać nową kolumnę do tabeli 'produkty', mógłby to zrobić dzięki uprawnieniom 'ALTER'. Z perspektywy najlepszych praktyk, przyznawanie takich uprawnień powinno być ograniczone do zaufanych użytkowników, aby zminimalizować ryzyko nieautoryzowanych zmian w strukturze bazy danych.

Pytanie 38

Co robi funkcja przedstawiona w kodzie JavaScript?

function tekst() {
var h = location.hostname;
document.getElementById("info").innerHTML = h;
}
A. pokazać na przycisku lokalizację hosta, a po jego naciśnięciu umożliwić przejście do określonej lokalizacji
B. wyświetlić w elemencie o id = "info" nazwę hosta, z którego pochodzi wyświetlona strona
C. umożliwić przejście do wskazanej lokalizacji hosta
D. wyświetlić w elemencie o id = "info" adres hosta wskazany przez pierwszy odnośnik
Prawidłowa odpowiedź wskazuje, że kod JavaScript wywołuje metodę location.hostname, która zwraca nazwę hosta aktualnie odwiedzanej strony. Hostname jest częścią obiektu Location, który reprezentuje bieżący URL dokumentu. Kod przypisuje wynik tej metody do zmiennej h, a następnie ustawia innerHTML elementu o id info na wartość tej zmiennej. Dzięki takim operacjom, kod efektywnie wyświetla nazwę hosta w elemencie o konkretnym identyfikatorze na stronie HTML. Jest to częsta technika używana w aplikacjach webowych, gdzie istotne jest dynamiczne wyświetlanie informacji o aktualnym połączeniu. Znajomość obiektu Location oraz jego właściwości, takich jak hostname, to podstawowa umiejętność w pracy z językiem JavaScript, szczególnie w kontekście manipulacji DOM. Takie podejście jest zgodne z dobrymi praktykami, gdyż unika bezpośredniego wpisywania danych w kodzie, co zwiększa elastyczność i ułatwia utrzymanie aplikacji.

Pytanie 39

Który z poniższych fragmentów kodu HTML sformatuje tekst zgodnie z wymaganiami? (zauważ, że słowo "stacji" jest wyświetlane w większej czcionce niż pozostałe słowa w tej linii)

Ilustracja do pytania
A. Odpowiedź 3: C
B. Odpowiedź 4: D
C. Odpowiedź 2: B
D. Odpowiedź 1: A
Odpowiedź B jest prawidłowa ponieważ używa znacznika big do zwiększenia rozmiaru czcionki dla słowa stacji wewnątrz paragrafu. Znacznik big jest standardowym sposobem na zwiększenie tekstu w HTML chociaż obecnie rekomendowane jest stosowanie CSS do takich stylizacji co pozwala na oddzielenie treści od prezentacji. Przykładowo można użyć CSS w stylu inline lub w oddzielnym arkuszu stylów aby uzyskać ten sam efekt co zwiększa elastyczność i spójność projektu. Warto pamiętać że HTML5 wprowadza pewne zmiany i deprecjonuje niektóre znaczniki co wymaga ciągłego aktualizowania wiedzy dewelopera. Znacznik big mimo że działa w większości przeglądarek może być mniej przewidywalny w przyszłości w porównaniu z CSS. Rozdzielenie stylów od struktury dokumentu jest dobrą praktyką programistyczną co ułatwia zarządzanie kodem oraz poprawia dostępność stron internetowych. Pamiętaj by regularnie analizować i aktualizować swoje projekty zgodnie z najnowszymi standardami HTML i CSS.

Pytanie 40

Instrukcja w języku SQL ```GRANT ALL PRIVILEGES ON klienci TO pracownik```

A. Przenosi uprawnienia z grupy klienci na użytkownika pracownik
B. Odbiera wszystkie uprawnienia pracownikowi do tabeli klienci
C. Przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
D. Przyznaje uprawnienia grupie klienci do tabeli pracownik
Odpowiedź jest poprawna, ponieważ polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik w języku SQL rzeczywiście nadaje wszystkie dostępne uprawnienia do tabeli klienci użytkownikowi pracownik. To oznacza, że pracownik zyskuje możliwość wykonywania wszelkich operacji na tej tabeli, w tym SELECT, INSERT, UPDATE oraz DELETE. Przykład zastosowania tego polecenia jest istotny w kontekście zarządzania bazami danych, gdzie administratorzy muszą przyznawać różnorodne uprawnienia użytkownikom w zależności od ich roli. Przykładowo, jeśli pracownik jest odpowiedzialny za wprowadzanie i aktualizację danych klientów, to nadanie mu wszystkich uprawnień jest uzasadnione. Ważne jest, aby przyznawać uprawnienia zgodnie z zasadą najmniejszych uprawnień, co oznacza, że użytkownik powinien mieć tylko te uprawnienia, które są niezbędne do realizacji jego zadań. W praktyce, administrator baz danych powinien monitorować przyznane uprawnienia i regularnie je przeglądać, aby zapewnić bezpieczeństwo systemu. Koszty błędów w przyznawaniu uprawnień mogą być znaczne, w tym ryzyko nieautoryzowanego dostępu do danych, dlatego kluczowe jest stosowanie dobrych praktyk w zarządzaniu uprawnieniami.