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: 27 maja 2026 16:01
  • Data zakończenia: 27 maja 2026 16:28

Egzamin zdany!

Wynik: 32/40 punktów (80,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

Aby w tabeli praca, tworzonej w SQL, dodać warunek w kolumnie stawka, który nakazuje przyjmowanie dodatnich wartości rzeczywistych mniejszych niż 50, należy zastosować zapis

A. ... stawka float CHECK(stawka BETWEEN 0 AND 50.00)
B. ... stawka float CHECK(stawka>0 AND stawka<50.00)
C. ... stawka float CHECK(stawka IN (0, 50.00))
D. ... stawka float CHECK(stawka>0 OR stawka<50.00)
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator IN, który nie jest odpowiedni dla tego przypadku. Operator IN służy do sprawdzania, czy wartość znajduje się w zbiorze dozwolonych wartości. W kontekście stawki, nie ma sensu ograniczać się tylko do wartości 0 i 50.00, ponieważ chcemy, by 'stawka' mogła przyjmować wiele wartości w przedziale od 0 do 50, a nie tylko te dwa. Kolejna odpowiedź stosuje operator OR, co prowadzi do błędnej interpretacji wymagań. Użycie OR oznacza, że 'stawka' mogłaby być większa od 0 lub mniejsza od 50, co w efekcie pozwalałoby na wprowadzenie wartości, które nie spełniają założonego kryterium, takich jak liczby ujemne. Ostatnia z odpowiedzi używa operatora BETWEEN, który również nie jest odpowiedni, ponieważ tworzy zakres od 0 do 50, co nie spełnia warunku, że stawka musi być większa od 0. Zatem, wszystkie trzy odpowiedzi nie zapewniają poprawnej weryfikacji danych w kolumnie 'stawka' w tabeli SQL, co jest kluczowe dla utrzymania jakości i integralności danych.

Pytanie 2

Przedstawiono fragment HTML, który nie przechodzi poprawnej walidacji. Błąd walidacyjny tego kodu dotyczy

<!DOCTYPE html>
<html>
 <head>
  <title>Test</title>
 </head>
 <body>
  <img src="obraz.gif alt="Obrazek">
  <h1>Rozdział 1</h1>
  <p>To jest tekst paragrafu, ... </p>
  <br>
  <img src="obraz.gif" alt="Obrazek">

 </body>
</html>
A. braku cudzysłowu.
B. powtórzenia nazwy pliku graficznego.
C. niedomknięcia znacznika br.
D. niedomknięcia znacznika img.
Twoja odpowiedź jest prawidłowa. Błąd walidacji w kodzie HTML na obrazku wynikał z braku cudzysłowu. W HTML atrybuty powinny być zawsze otoczone cudzysłowami, są to pojedyncze (' ') lub podwójne (" "), co jest wymogiem poprawnej walidacji kodu. Atrybuty, którym nie przydzielono wartości, mogą powodować problemy w przeglądarkach, co z kolei prowadzi do błędów walidacji. Dlatego zawsze należy pamiętać o otoczeniu atrybutów cudzysłowami, aby zapewnić poprawne działanie strony internetowej. Prawidłowo zapisany atrybut w tagu HTML powinien wyglądać tak: <img src="obrazek.jpg">. W praktyce niezgodność z tą konwencją może prowadzić do nieprawidłowego wyświetlania strony lub jej elementów. Dlatego zawsze warto zwracać uwagę na poprawność składni podczas pisania kodu HTML.

Pytanie 3

Deklaracja z właściwością background-attachment: scroll sprawia, że

A. tło strony będzie przesuwane razem z zawartością tekstową
B. tło strony zostanie zamocowane, a tekst będzie się poruszał
C. grafika tła będzie widoczna w prawym górnym rogu strony
D. grafika tła będzie się powtarzać (kafelki)
Właściwość CSS 'background-attachment: scroll' oznacza, że tło elementu będzie przewijane w równym tempie z treścią na stronie. Kiedy użytkownik przegląda stronę i przewija ją w dół lub w górę, tło przesuwa się razem z zawartością, co tworzy wrażenie głębokości i dynamiki. Przykładem zastosowania tej właściwości może być strona internetowa z długim tekstem, gdzie tło, takie jak kolor lub obraz, jest częścią estetyki projektu, ale nie powinno być statyczne. Warto zauważyć, że można to osiągnąć, ustawiając 'background-attachment' na 'scroll', co jest najczęściej stosowanym ustawieniem. W standardach CSS3 'background-attachment' ma cztery możliwe wartości: 'scroll', 'fixed', 'local', oraz 'inherit'. Stosowanie 'scroll' jest najbardziej intuicyjne i wspiera responsywność, ponieważ zmienia się w zależności od interakcji użytkownika z zawartością. To podejście jest zgodne z praktykami projektowania stron internetowych, które kładą nacisk na użytkownika i interaktywność.

Pytanie 4

Aby stworzyć tabelę, należy wykorzystać polecenie

A. CREATE TABLE
B. ALTER TABLE
C. CREATE DATABASE
D. INSERT INTO
Polecenie CREATE TABLE to naprawdę ważna sprawa, jeśli chodzi o budowanie struktury bazy danych w systemach DBMS. Dzięki niemu możemy stworzyć nową tabelę w bazie, nadając jej różne nazwy i typy danych dla kolumn. Na przykład, można użyć takiego zapisu: CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50), data_zatrudnienia DATE); W efekcie mamy tabelę 'pracownicy' z czterema kolumnami, a 'id' to nasz klucz główny. W praktyce, poprawne stworzenie tabeli to podstawa dalszej pracy z danymi, więc warto się postarać, żeby schematy baz danych były dobrze zaprojektowane, w zgodzie z zasadami normalizacji. To zmniejsza zbędne powtarzanie danych i sprawia, że potem łatwiej nimi zarządzać. Pamiętaj, żeby przed użyciem CREATE TABLE dobrze zaplanować strukturę bazy danych, bo to pomoże w wydajności i elastyczności aplikacji. Fajnie jest też dodać różne ograniczenia, jak klucze obce, żeby mieć pewność, że nasze dane są w porządku.

Pytanie 5

Dane są liczby całkowite różne od zera w tablicy nazwanej tab. Podany poniżej kod w języku PHP ma na celu

Ilustracja do pytania
A. wyliczenie iloczynu wszystkich wartości w tablicy
B. zmienić wartości tablicy na te zapisane w zmiennej liczba
C. obliczenie wartości bezwzględnej poszczególnych elementów tablicy
D. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
Kod pokazany na obrazku używa konstrukcji foreach z operatorem referencji ampersand aby iterować po tablicy tab i zmieniać każdy jej element. Operator referencji & pozwala na bezpośrednią modyfikację wartości w tablicy. Instrukcja $liczba = $liczba * (-1) w pętli foreach zmienia znak każdej liczby na przeciwny co oznacza że dodatnie liczby stają się ujemne a ujemne stają się dodatnie. Dzięki temu możliwe jest szybkie odwrócenie znaków wszystkich elementów w tablicy co jest powszechnie stosowane w programowaniu aby przygotować dane do dalszych operacji matematycznych lub analizy. Unset($liczba) jest używane po pętli aby odłączyć referencję co jest dobrą praktyką zapobiegającą przypadkowym modyfikacjom przyszłych danych. Zastosowanie tego wzorca jest efektywne i pozwala na bezpieczną manipulację strukturą danych w PHP. Technika ta jest użyteczna nie tylko w kontekście matematycznym ale również w przypadkach gdzie wymagane jest szybkie przetwarzanie dużych ilości danych.

Pytanie 6

Która z poniższych opcji najlepiej opisuje przedstawioną definicję w JavaScript?

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. zbioru
B. klasy
C. obiektu
D. tablicy
Definicja przedstawiona na obrazku odpowiada tablicy w języku JavaScript. Tablice w JavaScript są typem obiektu, który pozwala na przechowywanie wielu wartości w jednej zmiennej. W tym przypadku zmienna imiona zawiera listę stringów reprezentujących imiona. Tablice w JavaScript są dynamiczne co oznacza że ich rozmiar można zmieniać podczas działania programu. Dostęp do poszczególnych elementów tablicy uzyskuje się za pomocą indeksów które zaczynają się od zera. Na przykład pierwszy element tej tablicy to imiona[0] czyli Anna. JavaScript oferuje wiele metod do manipulacji tablicami takich jak push do dodawania elementów na końcu tablicy pop do usuwania ostatniego elementu czy map do tworzenia nowej tablicy na podstawie istniejącej poprzez zastosowanie funkcji do każdego elementu. Zrozumienie działania tablic jest kluczowe dla efektywnego programowania w JavaScript ponieważ są one podstawowym narzędziem do przechowywania i zarządzania danymi.

Pytanie 7

Który zbiór znaczników, określających projekt strony internetowej w sposób semantyczny, jest zgodny z normą HTML 5?

Ilustracja do pytania
A. Zbiór 3
B. Zbiór 4
C. Zbiór 2
D. Zbiór 1
Wykaz 4 jest zgodny ze standardem HTML 5, ponieważ poprawnie używa semantycznych znaczników do strukturyzacji zawartości strony. <header> jest używany do definiowania nagłówka dokumentu lub sekcji, co jest poprawne dla Bloku 1. Znacznik <main> w Bloku 2 wskazuje na główną treść strony, co jest zgodne z jego przeznaczeniem. <aside> w Bloku 3 jest trafnie używany do treści pobocznych, które są związane, ale niekonieczne dla głównego wątku treści, co odpowiada typowej strukturze witryny, gdzie treści poboczne są często wyświetlane obok głównej treści. Na koniec, <footer> w Bloku 4 jest poprawnie przypisany, gdyż zamyka i podsumowuje zawartość strony. HTML5 kładzie duży nacisk na semantykę, co pomaga w optymalizacji pod kątem SEO oraz ułatwia rozumienie struktury strony zarówno przez ludzi, jak i maszyny. Takie podejście poprawia dostępność, ułatwia stylizowanie za pomocą CSS oraz wspiera lepsze praktyki w zakresie zgodności z przyszłymi standardami.

Pytanie 8

char str1[30] = 'Ala ma kota';
printf("%s", str1);
Wskaż, gdzie tkwi błąd w powyższym kodzie napisanym w języku C++?
A. Tekst powinien mieć dokładnie 30 znaków.
B. Do funkcji printf przekazano za mało argumentów.
C. Tekst powinien być zawarty w cudzysłowie.
D. W funkcji printf nie można używać formatowania %s.
Podane odpowiedzi zawierają kilka powszechnych nieporozumień dotyczących języka C/C++. Użycie 30 znaków do definiowania napisu nie jest kluczowe, ponieważ długość napisu może być zmienna, a w przypadku napisu \"Ala ma kota\" jego długość wynosi 13 znaków, co jest znacznie mniej niż 30. Definiowanie napisu w taki sposób nie stwarza problemu, o ile tablica jest wystarczająco duża, aby pomieścić cały napis wraz z terminatorem '\0'. Koncepcja przekazywania argumentów do funkcji printf również jest źle zrozumiana, ponieważ funkcja ta przyjmuje jako argument wskaźnik do napisu, a nie liczbę argumentów. Wspomnienie o formacie %s w funkcji printf jest mylące, ponieważ format procentowy %s jest poprawny i stosowany w celu wyświetlenia łańcucha tekstowego. To są standardowe praktyki w C/C++, a ich nieznajomość może prowadzić do błędnych wniosków. Istotne jest rozumienie, że każdy z tych błędów wynika z niepełnego zrozumienia zasad działania języka, co może prowadzić do trudności w pisaniu poprawnego kodu. Właściwa interpretacja tych zasad jest niezbędna do skutecznego programowania.

Pytanie 9

W języku SQL, aby usunąć tabelę należy zastosować polecenie

A. TRUNCATE TABLE
B. DROP TABLE
C. UNIQUE
D. DELETE
Poprawne polecenie do usunięcia całej tabeli w SQL to „DROP TABLE”. To polecenie działa na poziomie struktury bazy danych, a nie tylko na danych. Innymi słowy: nie usuwasz rekordów z tabeli, tylko samą tabelę jako obiekt – razem z jej definicją, indeksami, constraintami (klucze obce, klucze główne, unikalne, check) itp. Przykładowo, jeśli masz tabelę użytkownicy, to jej usunięcie wygląda tak: DROP TABLE uzytkownicy; Po wykonaniu tej komendy tabela przestaje istnieć w schemacie bazy. Próba SELECT * FROM uzytkownicy po takim DROP-ie zakończy się błędem typu „table does not exist”. Moim zdaniem warto zapamiętać, że DROP to operacja DDL (Data Definition Language), czyli zmienia definicję bazy, w odróżnieniu od DELETE, który jest DML (Data Manipulation Language) i modyfikuje tylko zawartość. W praktyce w projektach produkcyjnych polecenia DROP TABLE stosuje się ostrożnie, zwykle po wykonaniu kopii zapasowej lub na środowiskach deweloperskich/testowych, bo operacja jest destrukcyjna i w wielu silnikach baz danych nieodwracalna bez backupu. Dobrą praktyką jest też sprawdzenie zależności, np. kluczy obcych z innych tabel, bo DROP TABLE może się nie udać, jeśli inne tabele się do niej odwołują. W wielu systemach stosuje się wariant: DROP TABLE IF EXISTS nazwa_tabeli; co pozwala uniknąć błędu, gdy tabela już została wcześniej usunięta. Warto też mieć świadomość, że w normalnych projektach zmiany struktury bazy (w tym DROP TABLE) wykonuje się przez migracje lub skrypty wersjonujące, a nie „z palca” na produkcji, co po prostu zwiększa bezpieczeństwo i porządek w bazie.

Pytanie 10

Do czego służy znacznik <i> w języku HTML?

A. umieszczania obrazu
B. zmiany kroju pisma na pochylony
C. zdefiniowania nagłówka w treści
D. zdefiniowania formularza
Znacznik <i> w języku HTML jest używany do przedstawienia tekstu w stylu kursywy. Jest to jeden z najprostszych znaczników, który jest często stosowany do podkreślenia pewnych elementów tekstowych, takich jak tytuły książek, nazwy filmów czy inne wyrazy, które mają znaczenie kontekstowe. Użycie tego znacznika jest zgodne z zasadami semantyki HTML, co oznacza, że zachowuje on znaczenie treści, a nie tylko jej wygląd. Warto również zauważyć, że w CSS istnieje wiele możliwości stylizacji tekstu, a znacznik <i> jest jednym z elementów, które w łatwy sposób można połączyć z regułami stylów, aby stworzyć atrakcyjne wizualnie strony internetowe. Przykładem zastosowania może być: <p>Ostatnio przeczytałem <i>Harry'ego Pottera</i> i bardzo mi się podobał.</p>. W tym przypadku tytuł książki jest wyróżniony, co przyciąga uwagę czytelnika. Warto pamiętać, że w nowoczesnym HTML zamiast <i> dla stylizacji można używać CSS, jednak <i> pozostaje ważnym elementem dla zachowania semantyki treści.

Pytanie 11

Jakie polecenie pozwala na zwiększenie wartości o jeden w polu RokStudiów w tabeli Studenci dla tych studentów, którzy są na roku 1÷4?

A. UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5
B. UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5
C. UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5
D. UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5
Odpowiedź 'UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5;' jest poprawna, ponieważ stosuje właściwą składnię SQL do aktualizacji wartości w kolumnie RokStudiow w tabeli Studenci. Użycie słowa kluczowego 'SET' pozwala na przypisanie nowej wartości do atrybutu, a 'WHERE RokStudiow < 5' zapewnia, że tylko studenci z rokiem studiów od 1 do 4 zostaną zaktualizowani. Przykładowo, jeśli mamy studentów na roku 1, 2, 3 oraz 4, po wykonaniu tego polecenia ich rok studiów wzrośnie o 1, co jest zgodne z praktyką zwiększania roku studiów po zakończeniu danego etapu edukacji. W kontekście dobrych praktyk w programowaniu, warto również dbać o to, aby zapytania były jasne i zrozumiałe, a operacje aktualizacji mogły być łatwo śledzone i analizowane w przyszłości. Odpowiednie użycie komentarzy oraz testowanie zapytań w warunkach niskiego obciążenia bazy danych przed ich wdrożeniem w środowisku produkcyjnym to kluczowe aspekty zapewnienia bezpieczeństwa i integralności danych.

Pytanie 12

Aby strona WWW mogła być przesyłana do przeglądarki w formie zaszyfrowanej, należy zastosować protokół

A. HTTP
B. SSH
C. HTTPS
D. SFTP
HTTPS (Hypertext Transfer Protocol Secure) to protokół komunikacyjny, który umożliwia bezpieczne przesyłanie danych pomiędzy przeglądarką internetową a serwerem. Jego podstawowym zadaniem jest zapewnienie poufności i integralności informacji, co osiąga dzięki zastosowaniu szyfrowania. HTTPS korzysta z protokołu SSL/TLS do szyfrowania połączenia, co oznacza, że dane przesyłane pomiędzy użytkownikiem a serwerem są chronione przed podsłuchiwaniem i modyfikacją. Na przykład, w przypadku logowania się do bankowości internetowej, użycie HTTPS zapewnia, że nasze dane logowania są bezpieczne przed potencjalnymi atakami. Zastosowanie HTTPS stało się standardem w branży webowej, zwłaszcza po wprowadzeniu przez Google polityki priorytetowego traktowania stron zabezpieczonych tym protokołem w wynikach wyszukiwania. To nie tylko wzmacnia bezpieczeństwo, ale także zwiększa zaufanie użytkowników do witryn. Standardy dotyczące bezpieczeństwa w sieci zalecają użycie HTTPS jako domyślnego protokołu dla wszystkich stron internetowych, co jest zgodne z najlepszymi praktykami w zakresie ochrony danych.

Pytanie 13

W ramce przedstawiono kod JavaScript z błędem logicznym. Program powinien wypisywać informację, czy liczby są sobie równe, czy nie, lecz nie wykonuje tego. Wskaż odpowiedź, która dotyczy błędu.

var x=5;
var y=3;
if(x=y) document.getElementById("demo").innerHTML='zmienne są równe';
else    document.getElementById("demo").innerHTML='zmienne się różnią';
A. Zmienne zostały zadeklarowane w niewłaściwy sposób
B. Zawartość sekcji if oraz else powinna być zamieniona miejscami
C. W klauzuli if użyto przypisania zamiast porównania
D. Brak średnika przed klauzulą else
W analizowanym kodzie JavaScript występuje błąd związany z użyciem operatora przypisania zamiast operatora porównania w klauzuli if. W języku JavaScript do porównania dwóch wartości używa się operatora '===' lub '=='. Operator '=' to operator przypisania, który przypisuje wartość z prawej strony do zmiennej po lewej stronie. W kontekście warunków if, należy użyć operatora porównania, aby ocenić, czy dwie zmienne są równe. W poprawnej wersji kodu, linia if x = y powinna być zmieniona na if (x === y). Dodatkowo, warto pamiętać o umieszczeniu wartości porównawanych w nawiasach, co zwiększa czytelność i poprawność kodu. Przykład prawidłowego kodu to: var x = 5; var y = 3; if (x === y) { document.getElementById('demo').innerHTML = 'zmienne są równe'; } else { document.getElementById('demo').innerHTML = 'zmienne się różnią'; }. Taki zapis zapewnia, że program poprawnie zidentyfikuje różnicę między zmiennymi x i y i odpowiednio wyświetli komunikat.

Pytanie 14

W programie do obróbki grafiki rastrowej zmodyfikowano krzywe kolorów tak, jak zaznaczono ramką na przedstawionym obrazie. Ma to na celu

Ilustracja do pytania
A. modyfikację najjaśniejszych i najciemniejszych kolorów obrazu
B. wygładzenie krawędzi w obrazie
C. rozjaśnienie całego obrazu
D. przyciemnienie całego obrazu
Modyfikacja krzywych kolorów w programie do obróbki grafiki rastrowej polega na manipulacji wartościami kolorów w obrazie, co ma na celu wpływ na najjaśniejsze i najciemniejsze odcienie. Takie działanie umożliwia zwiększenie kontrastu oraz poprawę dynamiki kolorystycznej, co jest szczególnie ważne w profesjonalnej edycji zdjęć. Na przykład, podnosząc wartości skrajnych punktów na krzywej jasności, można uzyskać efekt wyraźniejszego podziału pomiędzy cieniami a światłami, co sprawia, że obraz staje się bardziej wyrazisty. W praktyce, edytory graficzne, takie jak Adobe Photoshop, oferują narzędzie krzywych, które pozwala na precyzyjne dostosowanie kolorów, co jest standardem w branży. Tego typu modyfikacje są kluczowe, aby dostosować obrazy do potrzeb drukarskich czy prezentacji cyfrowych, gdzie jakość i kolorystyka są niezmiernie ważne. Zmiana krzywych kolorów pozwala również na osiągnięcie zamierzonych efektów artystycznych i stylizacji zdjęć, które są istotne w marketingu wizualnym.

Pytanie 15

W programie INKSCAPE / COREL aby uzyskać przedstawiony efekt napisu, należy

Ilustracja do pytania
A. zastosować funkcję sumy z kołem.
B. zastosować funkcję wykluczenia z kołem.
C. skorzystać z funkcji wstaw / dopasuj tekst do ścieżki.
D. skorzystać z funkcji gradientu.
Twoja odpowiedź jest prawidłowa. W programach graficznych takich jak Inkscape czy CorelDRAW, aby ułożyć tekst wzdłuż zakrzywionej ścieżki, stosuje się funkcję dopasowania tekstu do ścieżki. Taka funkcja pozwala na zastosowanie tekstu w dowolnym kierunku, co daje dużą swobodę w projektowaniu grafik. Można to robić na różne sposoby, na przykład poprzez ręczne rysowanie ścieżki, a następnie dopasowanie do niej tekstu lub poprzez użycie gotowych kształtów. W CorelDRAW funkcja ta nosi nazwę 'fit text to path', natomiast w Inkscape nazywa się 'text to path'. Jest to technika często stosowana w projektowaniu logo, plakatów, czy też w innych projektach, gdzie tekst musi być dostosowany do niestandardowych kształtów. Prawidłowe zrozumienie i umiejętność wykorzystania tej funkcji znacząco podnosi efektywność pracy w programach graficznych.

Pytanie 16

Interpreter PHP zgłosi błąd i nie zrealizuje kodu, jeśli programista

A. pobierze wartość z formularza, w którym pole input nie zostało wypełnione
B. będzie definiował zmienne w obrębie warunku
C. nie umieści średnika po wyrażeniu w instrukcji if, jeśli po nim występuje sekcja else
D. będzie pisał kod bez odpowiednich wcięć
Istnieje kilka mitów dotyczących składni PHP, które mogą prowadzić do błędnych wniosków. Wcięcia w kodzie PHP nie mają wpływu na wykonanie kodu, ponieważ PHP nie jest językiem, który wymaga stosowania wcięć w celu zdefiniowania bloków kodu. Wcięcia są stosowane dla czytelności kodu i organizacji, ale nie mają wpływu na jego działanie. Kolejnym powszechnym błędnym przekonaniem jest to, że brak średnika po instrukcji 'if' z sekcją 'else' jest jedynym problemem. Jednakże, PHP nie zgłasza błędu, jeśli programista deklaruje zmienne wewnątrz warunku; jest to dozwolone i często stosowane w praktyce. Przykład: 'if ($a > 10) { $b = $a; }' jest poprawny i będzie działał. Ostatni mit dotyczy błędów związanych z pobieraniem wartości z formularza. Jeśli pole input nie zostało wypełnione, PHP po prostu zwróci wartość null lub pusty ciąg, co jest zupełnie poprawne w kontekście działania skryptu. Nie prowadzi to do błędów wykonawczych, a programista powinien obsłużyć takie przypadki zgodnie z logiką aplikacji.

Pytanie 17

Która z reguł dotyczących sekcji w HTML jest właściwa?

A. W sekcji <head> nie można umieszczać kodu CSS, tylko odwołanie do pliku CSS
B. W sekcji <head> znajduje się sekcja <body>
C. W sekcji <head> można definiować szablon strony przy użyciu znaczników <div>
D. W sekcji <head> mogą znajdować się znaczniki <meta>, <title>, <link>
Sekcja <head> w HTML bardzo często bywa mylona z miejscem na wszystko, czego akurat nie chcemy pokazać użytkownikowi, i stąd biorą się różne dziwne pomysły na jej wykorzystanie. Tymczasem zgodnie ze specyfikacją HTML <head> służy do umieszczania metadanych o dokumencie, a nie właściwej struktury layoutu czy treści. Pojawia się czasem przekonanie, że w <head> nie wolno umieszczać kodu CSS, a jedynie odwołanie do zewnętrznego pliku. To nie jest prawda: jak najbardziej można stosować znacznik <style> z osadzonym CSS-em wewnętrznym. Po prostu w praktyce branżowej częściej używa się <link rel="stylesheet" href="...">, bo rozdzielenie HTML i CSS ułatwia utrzymanie kodu i ponowne wykorzystanie stylów. To jest kwestia dobrych praktyk, a nie twardego zakazu. Kolejne nieporozumienie to pomysł, że w <head> znajduje się sekcja <body>. Struktura dokumentu HTML jest jasno zdefiniowana: <head> i <body> są rodzeństwem, obydwa bezpośrednio w <html>. <body> nie może być zagnieżdżony w <head>, bo łamie to standard i prowadzi do nieprzewidywalnego zachowania przeglądarki, które co najwyżej próbuje „naprawić” taki dokument po swojemu. Równie mylące jest traktowanie <head> jako miejsca na „szablon” strony z użyciem znaczników <div>. Cały układ, kontenery, kolumny, nagłówki, sekcje itp. powinny znajdować się w <body>, bo to są elementy treściowe lub strukturalne widoczne dla użytkownika. W <head> trzymamy tylko informacje opisujące dokument, jak <meta>, <title>, <link>, ewentualnie <script> czy <style>, ale nie semantyczny layout. Typowy błąd myślowy polega na mieszaniu pojęcia „nagłówek strony” (np. baner z logo) z „nagłówkiem dokumentu” HTML, czyli sekcją <head>. Ten pierwszy jest zwykle tworzony w <body> za pomocą <header> i <div>, a ten drugi to czysto techniczna część dokumentu przeznaczona dla przeglądarki, wyszukiwarek i innych narzędzi, a nie dla bezpośredniej prezentacji użytkownikowi.

Pytanie 18

Dostępna jest tabela uczniowie, która zawiera pól id, imie, nazwisko, data_ur (format rrrr-mm-dd). Które zapytanie w SQL wyświetli tylko imiona oraz nazwiska uczniów urodzonych w roku 2001?

A. SELECT id, imie, nazwisko, data_ur FROM uczniowie WHERE data_ur like "2001-*-*"
B. SELECT * FROM uczniowie WHERE data_ur like "2001"
C. SELECT imie, nazwisko FROM uczniowie WHERE data_ur like "2001-%-%"
D. SELECT * FROM uczniowie WHERE data_ur == 2001-%-%
Wybrana odpowiedź jest prawidłowa, ponieważ wykorzystuje odpowiednią składnię SQL do wyszukania imion i nazwisk uczniów, których data urodzenia przypada na rok 2001. Użycie klauzuli 'LIKE' wraz z wzorcem '2001-%-%' jest kluczowe – znak '%' w SQL reprezentuje dowolny ciąg znaków (w tym również brak znaków). Oznacza to, że jakiekolwiek miesiące i dni mogą występować po roku '2001', co jest zgodne z formatem daty 'rrrr-mm-dd'. Tego typu zapytania są używane w praktycznych zastosowaniach w bazach danych, na przykład przy tworzeniu raportów dotyczących uczniów, którzy urodzili się w określonym roku. Umożliwia to efektywne zarządzanie danymi i przyspiesza proces analizy, co jest zgodne z dobrymi praktykami w zakresie przetwarzania danych. W kontekście SQL, selekcja konkretnych kolumn, takich jak 'imie' i 'nazwisko', jest bardziej efektywna niż pobieranie wszystkich danych, co może być istotne w przypadku większych zestawów danych. Warto również zwrócić uwagę na znaczenie odpowiedniego formatowania dat, co jest kluczowe dla poprawności zapytań do baz danych.

Pytanie 19

Wskaż stwierdzenie, które nie jest prawdziwe dla następującej definicji funkcji w języku C++?

void zamien( float &x, float &y){
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}
A. Funkcja posiada dwa parametry.
B. Funkcja odwołuje się do parametrów przez referencję.
C. Funkcja zwraca wartość.
D. Funkcja nie zwraca wartości.
Dobrze zrobione! Wybrałeś właściwą odpowiedź, która pasuje do tego, co mamy w kodzie funkcji w C++. Mówimy tu o funkcji typu 'void', co oznacza, że nie zwraca żadnej wartości. W C++ 'void' oznacza, że nie ma zwracanego typu, ale to nie znaczy, że taka funkcja nic nie robi. Ona może wykonać różne operacje, ale na koniec nie zwraca żadnego wyniku. To jest dość istotne, bo w programowaniu często z takich funkcji korzystamy, kiedy chcemy coś zmienić, a nie potrzebujemy nowej wartości. Fajnie, że zauważyłeś, że ta funkcja ma dwa parametry typu float, które są przekazywane przez referencję. Dzięki temu możemy zmieniać wartości tych zmiennych w funkcji, co jest przydatne w wielu sytuacjach.

Pytanie 20

W kodzie HTML stworzono link do strony internetowej. Aby otworzyć tę stronę w nowym oknie lub zakładce przeglądarki, należy dodać do definicji linku atrybut

<a href="http://google.com" >strona Google</a>
A. target = "_parent"
B. rel = "external"
C. rel = "next"
D. target = "_blank"
Atrybut target w języku HTML służy do określenia, w jaki sposób ma otworzyć się dokument, do którego prowadzi odnośnik. Użycie wartości '_blank' dla atrybutu target jest standardowym sposobem na otwarcie nowej strony w nowym oknie lub zakładce przeglądarki. Przykład zastosowania to: <a href="http://google.com" target="_blank">strona Google</a>. Jest to niezwykle przydatne w kontekście UX, ponieważ pozwala użytkownikom na łatwe porównanie informacji bez utraty dostępu do oryginalnej strony. Warto również zauważyć, że użycie tego atrybutu jest zgodne z najlepszymi praktykami w tworzeniu stron internetowych, gdyż umożliwia użytkownikom zachowanie kontekstu przeglądania. W HTML5 atrybut target pozostaje wspierany, co czyni go istotnym elementem w projektowaniu interfejsów użytkownika. Oprócz '_blank' istnieją inne wartości, takie jak '_self', '_parent' i '_top', które również spełniają różne funkcje w zależności od potrzeb nawigacyjnych w aplikacji webowej.

Pytanie 21

Zmienna o typie integer lub int jest w stanie przechowywać

A. łańcuch znaków
B. znak
C. liczbę rzeczywistą
D. liczbę całkowitą
Zmienna typu integer, znana również jako int, jest podstawowym typem danych w wielu językach programowania, takich jak C, C++, Java czy Python. Jej kluczową zaletą jest możliwość przechowywania tylko liczb całkowitych, co czyni ją idealnym wyborem do operacji arytmetycznych, które wymagają precyzyjnego zarządzania wartościami całkowitymi bez części dziesiętnych. Przykłady zastosowania to m.in. przechowywanie ilości przedmiotów w magazynie, zliczanie punktów w grze lub reprezentowanie indeksów w tablicach. W praktyce, użycie zmiennych typu integer umożliwia efektywne wykorzystanie pamięci, ponieważ zajmują one mniej miejsca niż zmienne typu zmiennoprzecinkowego, a ich operacje są wykonywane szybciej. Ponadto, stosowanie zmiennych całkowitych jest zgodne z dobrymi praktykami programowania, które zalecają dobór odpowiednich typów danych do specyficznych potrzeb aplikacji, co zwiększa ich wydajność i czytelność kodu. Warto także zrozumieć, że w kontekście programowania, typ zmiennej determinuje zakres wartości, które można przechowywać, co w przypadku typu integer zwykle wynosi od -2,147,483,648 do 2,147,483,647 w standardzie 32-bitowym, co czyni go wystarczającym dla wielu zastosowań.

Pytanie 22

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

A. DEFAULT
B. NULL
C. CHECK
D. NOT NULL
Klauzula NOT NULL w poleceniu CREATE TABLE języka SQL służy do zapewnienia, że dane w danym polu rekordu nie mogą być puste. To oznacza, że podczas wstawiania nowych rekordów do tabeli, każde pole, które zostało zdefiniowane z tą klauzulą, musi zawierać wartość. Na przykład, jeśli mamy tabelę pracowników, w której kolumna 'nazwisko' jest zdefiniowana jako NOT NULL, to każde dodanie nowego pracownika do tej tabeli musi zawierać wartość w kolumnie 'nazwisko'. W praktyce jest to bardzo ważne, ponieważ pozwala na utrzymanie integralności danych i zapobiega sytuacjom, w których kluczowe informacje mogłyby zostać pominięte. Użycie NOT NULL jest zgodne z dobrymi praktykami projektowania baz danych, które podkreślają znaczenie pełnych i kompletnych danych. Zastosowanie tej klauzuli zwiększa jakość danych oraz ułatwia późniejsze operacje na tabeli, takie jak zapytania czy raporty.

Pytanie 23

Która z komórek tabeli została sformatowana przedstawionym stylem CSS zakładając, że pozostałe własności przyjmują wartości domyślne?

td {
  border: 1px solid black;
  padding: 15px;
  height: 40px;
  vertical-align: bottom;
}
dane w tabeli


dane w tabelidane w tabelidane w tabeli
Komórka 1Komórka 2Komórka 3Komórka 4
A. Komórka 4.
B. Komórka 2.
C. Komórka 3.
D. Komórka 1.
Gratulacje, to jest prawidłowa odpowiedź! Styl CSS, który został podany, określa, że komórka tabeli ma obramowanie o grubości 1px i kolorze czarnym, wewnętrzny margines (padding) o wielkości 15px, wysokość 40px oraz wyrównanie tekstu do dołu (vertical-align: bottom). Komórka 3. jest jedyną, która spełnia te kryteria - tekst jest wyrównany do dołu, a komórka ma widoczne obramowanie i odpowiednią wysokość. Formatowanie CSS jest kluczowym aspektem projektowania stron internetowych, które pozwalają na personalizację wyglądu elementów na stronie. Kiedy formatujesz komórkę tabeli w CSS, musisz zwrócić uwagę na szczegóły, takie jak wysokość, wewnętrzny margines, narożniki i wyrównanie tekstu. Wszystko to wpływa na ostateczny wygląd i doświadczenie użytkownika na stronie. Pamiętaj, że praktyka jest kluczem do zrozumienia, jak te elementy razem pracują, dlatego zawsze warto eksperymentować z różnymi ustawieniami.

Pytanie 24

W JavaScript zapis a++; można przedstawić w inny sposób jako

A. 1 += a
B. a << 1
C. a = a & 1
D. a = a + 1
Odpowiedź 'a = a + 1;' jest poprawna, ponieważ dokładnie odzwierciedla działanie operatora inkrementacji 'a++;'. Operator '++' w JavaScript zwiększa wartość zmiennej o 1. W przypadku użycia 'a = a + 1;', operacja ta jest explicite zapisana jako przypisanie aktualnej wartości 'a' powiększonej o 1. Taki zapis jest często stosowany w sytuacjach, gdy chcemy lepiej zrozumieć, co się dzieje w kodzie, szczególnie dla początkujących programistów. Przykładowo, jeśli mamy zmienną, która przechowuje liczbę, możemy użyć 'a = a + 1;' w pętli, aby zliczać ilość iteracji. Warto zauważyć, że użycie operatora '++' jest bardziej zwięzłe i często preferowane w profesjonalnym kodzie, jednak zrozumienie, jak działa to na poziomie podstawowym, jest kluczowe. Dobrą praktyką jest dbałość o przejrzystość kodu, zwłaszcza w zespołach, gdzie różne osoby mogą pracować nad tym samym projektem.

Pytanie 25

Aby zdefiniować styl akapitu <p>, który występuje bezpośrednio po znaczniku <img>, należy w arkuszu stylów CSS zastosować związek

A. img > p
B. img + p
C. img p
D. img [p]
W tym zadaniu chodzi o zrozumienie tzw. kombinatorów w CSS, czyli znaków łączących selektory i określających relacje między elementami w drzewie DOM. Bardzo często mylenie tych relacji prowadzi do dokładnie takich błędnych odpowiedzi jak w tym pytaniu. Zapis „img p” to selektor potomka (descendant selector). Oznacza on: wybierz każdy element <p>, który znajduje się gdziekolwiek wewnątrz elementu <img>. Problem w tym, że w poprawnym HTML znacznik <img> jest pustym elementem, nie może mieć dzieci. W praktyce więc taki selektor nigdy nie zadziała w opisanym scenariuszu. To typowe nieporozumienie: ktoś myśli „obok obrazka jest paragraf, więc napiszę img p”, ale CSS rozumie to jako relację rodzic–potomek, a nie rodzeństwo. Z kolei zapis „img [p]” wynika zwykle z pomieszania składni selektorów atrybutów z selektorami elementów. Nawiasy kwadratowe w CSS służą do wybierania elementów na podstawie atrybutów, np. a[href], input[type="text"]. Konstrukcja [p] sugerowałaby atrybut o nazwie „p”, co w ogóle nie ma sensu w tym kontekście. Taka składnia jest po prostu niepoprawna merytorycznie, bo nie opisuje żadnej realnej relacji między <img> a <p>. Natomiast „img > p” to selektor dziecka (child combinator). Mówi on: wybierz elementy <p>, które są bezpośrednimi dziećmi elementu <img>. To znowu kłóci się z modelem HTML – obrazek nie może zawierać w sobie paragrafu. Ten selektor ma sens np. przy div > p, ale zupełnie nie pasuje do relacji „element po elemencie”. W tym zadaniu potrzebna jest relacja rodzeństwa: akapit stoi obok obrazka, a nie w środku. Prawidłowe podejście opiera się na zrozumieniu, że chcemy „bezpośredniego sąsiada” na tym samym poziomie, a nie potomka czy dziecka. Właśnie to zapewnia selektor sąsiedniego rodzeństwa, czyli konstrukcja z plusem. Typowy błąd myślowy polega na tym, że patrzymy na wygląd strony (obrazek nad akapitem) i nie analizujemy prawdziwej struktury DOM. Dobra praktyka frontendowa to zawsze przełożyć układ na dokładne relacje: rodzic–dziecko, przodek–potomek, rodzeństwo. Dopiero potem dobrać odpowiedni kombinator w CSS. Jeśli chcemy stylować element „bezpośrednio po”, używamy właśnie selektora z +, a nie spacji czy znaku >.

Pytanie 26

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

A. grupowania.
B. wykluczenia.
C. części wspólnej.
D. sumy.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 27

Aby na witrynie internetowej pokazać logo z przezroczystym tłem, należy użyć formatu

A. CDR
B. BMP
C. JPG
D. PNG
Format PNG (Portable Network Graphics) jest najbardziej odpowiednim wyborem do wyświetlania logo z przezroczystym tłem na stronie internetowej. Główną zaletą formatu PNG jest jego zdolność do obsługi przezroczystości, co oznacza, że tło logo może być całkowicie przezroczyste, pozwalając na bezproblemowe wkomponowanie go w różnorodne tła. W praktyce oznacza to, że logo w formacie PNG nie będzie miało niepożądanych białych lub kolorowych ramek, co ma kluczowe znaczenie dla estetyki i profesjonalnego wyglądu strony. Dodatkowo, PNG obsługuje wysoką jakość obrazu oraz kompresję bezstratną, co pozwala na zachowanie detali w grafice. Format ten jest powszechnie stosowany w projektowaniu stron internetowych oraz aplikacji mobilnych, zwłaszcza w przypadku ikon i grafik, które wymagają zachowania wyrazistości i przezroczystości. Warto również wspomnieć, że PNG stał się standardem w branży, szczególnie w kontekście użycia w sieci, co czyni go najlepszym wyborem dla projektantów i deweloperów.

Pytanie 28

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

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

Pytanie 29

Grafika powinna być zapisana w formacie GIF, jeśli

A. jest to obraz w technologii stereoskopowej
B. jest to grafika wektorowa
C. konieczne jest zapisanie obrazu lub animacji
D. istnieje potrzeba zapisu obrazu w formie bez kompresji
Format GIF (Graphics Interchange Format) jest powszechnie wykorzystywany do przechowywania obrazów oraz animacji. Dzięki obsłudze przezroczystości oraz możliwości tworzenia prostych animacji, GIF stał się standardem w przypadku grafiki na stronach internetowych. Jego ograniczenie do 256 kolorów sprawia, że idealnie nadaje się do prostych grafik, takich jak logo czy ikony, gdzie nie jest wymagana pełna gama kolorów, co ma miejsce w formatach takich jak JPEG czy PNG. W przypadku animacji, GIF umożliwia zapis wielu klatek w jednym pliku, co pozwala na odtwarzanie sekwencji obrazu bez potrzeby korzystania z dodatkowego oprogramowania. Praktyczne zastosowanie GIF-a można zaobserwować w mediach społecznościowych, gdzie animowane obrazki są często wykorzystywane do wyrażania emocji, a także na stronach internetowych do przedstawiania logo w ruchu. Używanie formatu GIF w kontekście animacji jest zgodne z dobrą praktyką w branży, ponieważ pozwala na efektywne zarządzanie zasobami wizualnymi oraz zwiększa atrakcyjność treści wizualnych.

Pytanie 30

Tablica tab[] jest wypełniona losowymi liczbami całkowitymi. Jaka będzie wartość zmiennej zm2 po wykonaniu poniższego fragmentu kodu?

int tab[10];
int zm1 = 0;
double zm2 = 0;

for (int i=0; i < 10; i++)
{
    zm1 = zm1 + tab[i];
}
zm2 = zm1 / 10;
A. Suma elementów z tablicy
B. Średnia arytmetyczna liczb z tablicy
C. Suma liczb od 1 do 10
D. Średnia geometryczna liczb od 0 do 9
W tym kodzie fajnie widać, jak oblicza się średnią arytmetyczną z liczb w tablicy tab[]. Na początku ustawiamy zmienne zm1 i zm2 na 0, co jest spoko, bo potem w pętli for dodajemy wszystkie liczby z tablicy do zm1. Gdy pętla się kończy, zm1 zbiera całą sumę liczb, a żeby dostać średnią, dzielimy ją przez 10, bo tyle mamy elementów. Wynik przypisujemy do zm2. To bardzo przydatny proces w programowaniu – średnie są często używane w analizie danych czy obliczeniach wyników. Pamiętaj jednak, żeby nie zapomnieć o możliwych błędach dzielenia przez zero. Dobrze jest sprawdzić, czy tablica nie jest pusta, aby uniknąć kłopotów. I jeszcze jedna rzecz – używanie typu double dla zmiennej zm2 to dobry pomysł, żeby średnia była dokładna, zwłaszcza gdy mowa o liczbach, które nie są całkowite. To wszystko jest zgodne z dobrymi praktykami w IT.

Pytanie 31

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

A. cofa wszystkie uprawnienia pracownikowi do tabeli klienci
B. przeniesie uprawnienia z grupy klienci do użytkownika pracownik
C. przyznaje uprawnienie grupie klienci dla tabeli pracownik
D. przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
Polecenie SQL "GRANT ALL PRIVILEGES ON klienci TO pracownik" jest używane do nadawania pełnych uprawnień do określonej tabeli, w tym przypadku do tabeli "klienci", użytkownikowi o nazwie "pracownik". To polecenie jest kluczowe w zarządzaniu dostępem w bazach danych, ponieważ pozwala administratorom na precyzyjne kontrolowanie, kto i w jakim zakresie może modyfikować dane. W praktyce, nadawanie uprawnień za pomocą komendy GRANT jest standardową praktyką w zarządzaniu bazami danych, pozwalającą na delegowanie odpowiedzialności oraz przydzielanie ról, co zwiększa bezpieczeństwo danych. Warto również zauważyć, że standardową praktyką jest ograniczanie uprawnień do niezbędnego minimum, stosując zasady najmniejszych uprawnień (principle of least privilege). Przykładowo, zamiast nadawania pełnych uprawnień, można przyznać użytkownikowi jedynie prawo do odczytu, co ogranicza ryzyko nieautoryzowanych zmian w danych.

Pytanie 32

Jak można utworzyć kopię zapasową bazy danych MySQL?

A. modyfikowaniem danych
B. eksportowaniem bazy
C. importowaniem bazy
D. agregowaniem danych
Eksport bazy danych MySQL to proces, który pozwala na tworzenie kopii zapasowych danych znajdujących się w bazie. Narzędzie do eksportu, takie jak mysqldump, umożliwia nie tylko zapisanie danych w formacie SQL, ale także w innych formatach, takich jak CSV czy JSON. Eksport jest kluczowy w przypadku migracji danych pomiędzy różnymi środowiskami baz danych lub w sytuacji, gdy zachodzi potrzeba odzyskania danych po awarii. Proces ten można zautomatyzować, korzystając z harmonogramów zadań (cron), co zapewnia regularne tworzenie kopii zapasowych. Zgodnie z najlepszymi praktykami, zaleca się, aby eksportować bazy danych regularnie oraz przechowywać kopie zapasowe w bezpiecznych lokalizacjach, aby zminimalizować ryzyko utraty danych. Standardy takie jak ISO 27001 podkreślają znaczenie odpowiednich procedur zarządzania danymi, w tym tworzenia kopii zapasowych, co czyni eksportu kluczowym elementem strategii ochrony danych w organizacjach.

Pytanie 33

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

A. YEAR
B. BOOLEAN
C. TIMESTAMP
D. DATE
Typ danych TIMESTAMP w MySQL jest przeznaczony do przechowywania zarówno daty, jak i czasu w jednym polu. Jest szczególnie przydatny w sytuacjach, gdy potrzebne jest śledzenie zdarzeń w czasie, takich jak rejestracja daty i godziny utworzenia lub modyfikacji rekordów w bazie danych. TIMESTAMP przechowuje dane w formacie 'YYYY-MM-DD HH:MM:SS', co pozwala na precyzyjne określenie momentu w czasie. Wartością dodaną tego typu danych jest automatyczne aktualizowanie znacznika czasu przy każdej zmianie rekordu (jeśli ustawimy odpowiednie opcje), co jest zgodne z najlepszymi praktykami w zakresie audytu danych. Przykładem zastosowania może być rejestracja logów aktywności użytkowników w aplikacji internetowej lub monitorowanie transakcji w systemach finansowych, gdzie dokładny czas zdarzenia jest kluczowy. Dodatkowo, TIMESTAMP obsługuje różnice stref czasowych, co czyni go idealnym wyborem w aplikacjach działających w różnych lokalizacjach geograficznych.

Pytanie 34

Jakie znaczenie ma akronim ACID w kontekście SQL?

A. atomic, consistent, iss, dependable
B. atomic, consistent, isolated, durable
C. atomic, comming, is, do
D. atomic, constaint, isolated, dependable
Każda z niepoprawnych odpowiedzi zawiera błędne definicje podstawowych pojęć związanych z właściwościami transakcji w bazach danych. Pierwsza z nich używa terminu "coming" zamiast "consistent", co jest poważnym błędem, ponieważ spójność jest kluczowa dla zapewnienia, że baza danych nie znajduje się w stanie półpełnym po zakończeniu transakcji. Druga odpowiedź zastępuje "durable" słowem "dependable", co nie oddaje rzeczywistego znaczenia trwałości w kontekście baz danych, gdzie ważne jest, aby wszelkie zmiany były zachowane mimo awarii systemu. Ostatnia odpowiedź błędnie używa słowa "constaint" zamiast "consistent", co wskazuje na nieporozumienie dotyczące fundamentalnych zasad działania baz danych. Ograniczenia (constraints) są istotne, ale to nie one definiują spójność transakcji. Właściwości ACID są kluczowe dla każdej operacji w bazach danych, a ich zrozumienie jest niezbędne dla zapewnienia integralności i bezpieczeństwa danych.

Pytanie 35

W języku SQL używanym przez bazę danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. jest używany, jeżeli wartości w danej kolumnie nie mogą się powtarzać
B. jest stosowany jedynie w przypadku kolumn liczbowych
C. wymusza niepowtarzalne nazwy kolumn tabeli
D. uniemożliwia wprowadzenie wartości NULL
W pierwszej niepoprawnej odpowiedzi wspomniano o wymogu unikatowości nazw pól tabeli. To stwierdzenie jest błędne, ponieważ atrybut UNIQUE nie dotyczy nazw kolumn, lecz wartości przechowywanych w tych kolumnach. W SQL możemy mieć wiele kolumn w tabeli o tej samej nazwie, o ile są one częścią różnych tabel. Zatem, atrybut UNIQUE nie ma wpływu na nazywanie kolumn, a jego głównym celem jest zapewnienie unikalności danych. Kolejną nieprawidłową informacją jest stwierdzenie, że atrybut UNIQUE blokuje możliwość wpisania wartości NULL. W rzeczywistości, w MySQL atrybut UNIQUE pozwala na wprowadzenie wartości NULL, ponieważ wartość NULL jest traktowana jako brak danych, co oznacza, że różne rekordy mogą mieć NULL jako wartość w kolumnie oznaczonej przez UNIQUE. Wreszcie, twierdzenie, że atrybut UNIQUE jest stosowany tylko w przypadku pól liczbowych, jest również fałszywe. Atrybut UNIQUE można zastosować do dowolnego typu danych, w tym tekstowych, datowych czy liczbowych. W praktyce, atrybut ten może być używany w różnych kontekstach, aby zapewnić unikalność danych w każdej kolumnie, niezależnie od ich typów.

Pytanie 36

W języku JavaScript zdefiniowano funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Prawidłowa forma wywołania tej funkcji, razem z przypisaniem jej wyniku, powinna wyglądać następująco

A. var wynik = liczba_max(a, b, c);
B. liczba_max(a, b, c);
C. liczba_max(a, b, c, wynik);
D. liczba_max(a, b, c) = wynik;
Wywołanie funkcji 'liczba_max' w postaci 'var wynik = liczba_max(a, b, c);' jest prawidłowe, ponieważ stosuje syntaksę języka JavaScript do przypisania wartości zwróconej przez funkcję do zmiennej. Zdefiniowana funkcja 'liczba_max' przyjmuje trzy argumenty, które są porównywane, a maksymalna z nich jest zwracana jako wynik. W tym przypadku 'var wynik' tworzy nową zmienną, która przechowuje tę wartość, co jest zgodne z najlepszymi praktykami programowania, gdzie wyniki operacji są przypisywane do zmiennych dla dalszego wykorzystania. Użycie 'var' (lub 'let', 'const' w nowszych wersjach JavaScript) jest kluczowe, aby jasno określić zakres zmiennej. Przykładowo, jeśli a = 5, b = 10, c = 3, to po wywołaniu 'var wynik = liczba_max(a, b, c);', zmienna 'wynik' będzie miała wartość 10. Tego typu konstrukcje są podstawą programowania w JavaScript i są niezwykle przydatne w tworzeniu dynamicznych aplikacji webowych, gdzie operacje na danych są na porządku dziennym.

Pytanie 37

W PHP w konstrukcji switch konieczne jest użycie

A. konstrukcji switch(wyrażenie)
B. przynajmniej dwóch instrukcji case
C. instrukcji break po każdym przypadku case
D. instrukcji default
Poprawna odpowiedź to konstrukcja switch(wyrażenie), ponieważ jest to podstawowy element składniowy w języku PHP. Instrukcja switch jest używana do porównywania wartości wyrażenia z różnymi wartościami case. W przypadku znalezienia dopasowania, wykonywana jest odpowiednia sekcja kodu. Ważne jest, aby zrozumieć, że samo utworzenie konstrukcji switch bez podania wyrażenia nie ma sensu, ponieważ nie istnieje wartość, którą można porównać. Przykład zastosowania konstrukcji switch może wyglądać następująco: switch($day) { case 'Monday': echo 'Poniedziałek'; break; case 'Tuesday': echo 'Wtorek'; break; default: echo 'Inny dzień'; }. Użycie instrukcji default jest opcjonalne, a także nie jest konieczne posiadanie przynajmniej dwóch case, aby konstrukcja była poprawna. Zastosowanie switch jest często bardziej czytelne i zorganizowane niż wiele zagnieżdżonych instrukcji if-else, co jest zgodne z najlepszymi praktykami programistycznymi, poprawiającymi zarówno zrozumiałość, jak i konserwację kodu.

Pytanie 38

W języku PHP funkcja trim służy do

A. Porównywania dwóch tekstów i wyświetlania ich wspólnej części
B. Usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
C. Określania długości tekstu
D. Redukowania długości tekstu o określoną w parametrze liczbę znaków
Funkcja trim w języku PHP jest niezwykle użyteczna, ponieważ jej głównym zadaniem jest usuwanie białych znaków oraz innych znaków, które zostaną określone w parametrze, z obu końców łańcucha tekstowego. Oznacza to, że gdy mamy do czynienia z danymi wejściowymi, które mogą zawierać niepotrzebne spacje lub znaki specjalne na początku i końcu, funkcja trim pozwala na ich łatwe oczyszczenie. Przykładowo, jeśli mamy zmienną $text = ' Hello World! ', to wywołanie trim($text) zwróci 'Hello World!'. To podejście jest zgodne z dobrymi praktykami w programowaniu, gdzie ważne jest, aby dane były poprawnie sformatowane przed dalszym przetwarzaniem. Użycie funkcji trim może być szczególnie istotne w kontekście walidacji danych użytkownika, a także przy przetwarzaniu danych z formularzy HTML, gdzie niewłaściwe spacjowanie może prowadzić do błędów w logice aplikacji. Dodatkowo, trim może przyjmować drugi parametr, który pozwala na usunięcie konkretnych znaków, co daje programiście jeszcze większą elastyczność w manipulacji łańcuchami tekstowymi.

Pytanie 39

Zamieszczone zapytanie SQL przyznaje prawo SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla użytkownika root na serwerze sprzedawca
B. dla użytkownika root na serwerze localhost
C. do wszystkich kolumn w tabeli hurtownia
D. do wszystkich tabel w bazie hurtownia
Polecenie GRANT SELECT ON hurtownia.* TO sprzedawca@localhost; nadaje prawo SELECT dla wszystkich tabel w bazie danych o nazwie hurtownia. Symbol * po nazwie bazy oznacza, że uprawnienia dotyczą wszystkich tabel w tej bazie. Jest to popularny sposób przyznawania uprawnień w systemach zarządzania bazami danych takich jak MySQL. Prawidłowe zarządzanie uprawnieniami jest kluczowe w zapewnieniu bezpieczeństwa i efektywności pracy z bazami danych. Przyznanie prawa SELECT oznacza, że użytkownik sprzedawca może odczytywać dane, co jest często stosowane w przypadku użytkowników, którzy potrzebują dostępu do raportów lub analiz. Zgodnie z dobrymi praktykami warto przyznawać minimalny poziom uprawnień niezbędny do wykonywania określonych zadań co chroni przed nieautoryzowanym dostępem lub modyfikacją danych. Przyznając uprawnienia warto także monitorować logi dostępu w celu wykrywania potencjalnych nieprawidłowości. Również istotne jest aby użytkownik localhost miał dostęp tylko z lokalnego serwera co ogranicza ryzyko zdalnych ataków.

Pytanie 40

Graficzny interfejs użytkownika, który umożliwia wprowadzanie danych do bazy, to

A. raport
B. kwerenda
C. formularz
D. encja
Raport, kwerenda i encja to pojęcia, które na pierwszy rzut oka mogą wydawać się związane z wprowadzaniem danych, jednak nie pełnią one roli graficznego interfejsu użytkownika umożliwiającego taką interakcję. Raport to narzędzie do prezentacji danych, najczęściej w formie zestawień i wykresów, które czerpie informacje z bazy danych, ale nie pozwala na ich edycję czy wprowadzanie nowych danych. To narzędzie, które skupia się na analizie i wizualizacji informacji, a nie na ich zbieraniu. Kwerenda to zapytanie do bazy danych, które umożliwia wydobycie określonych informacji, ale nie jest formą interakcji z użytkownikiem w sensie wprowadzania danych. Użytkownik, korzystając z kwerendy, nie wprowadza danych bezpośrednio, lecz prosi system o zwrócenie konkretnej porcji informacji zgodnie z ustalonymi kryteriami. Encja natomiast odnosi się do obiektów w modelu danych, które przechowują informacje w bazie danych, ale nie jest to obiekt interfejsu użytkownika. Encje są bardziej abstrakcyjnym pojęciem, związanym z przechowywaniem danych w bazach danych, a nie z ich wprowadzaniem. Powodzenie w korzystaniu z baz danych wymaga zrozumienia tych różnic oraz znajomości odpowiednich narzędzi, które rzeczywiście umożliwiają wprowadzanie danych, a formularze są kluczowym elementem takich interakcji.