Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 14:44
  • Data zakończenia: 8 czerwca 2026 14:51

Egzamin zdany!

Wynik: 39/40 punktów (97,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Który zapis CSS ustawi wcięcie PIERWSZEJ linii akapitu na 30 pikseli?

A.
p { text-indent: 30px; }
B.
p { text-spacing: 30px; }
C.
p { line-height: 30px; }
D.
p { line-indent: 30px; }
Wcięcie PIERWSZEJ linii akapitu ustawia właściwość text-indent, więc p { text-indent: 30px; } przesunie początek pierwszego wiersza o 30 pikseli. Dlatego ten zapis jest poprawny.

Pytanie 2

Debugger to narzędzie programowe, którego zadaniem jest:

A. instalowanie środowiska programistycznego
B. wykrywanie błędów składniowych w kodzie źródłowym
C. łączenie bibliotek i kodu w plik wykonywalny
D. analiza działającego programu w celu znalezienia przyczyn błędnego działania
Debugger służy do dynamicznej analizy działającego programu - pomaga znaleźć przyczyny błędów logicznych, które ujawniają się dopiero podczas wykonania. Pozwala zatrzymać program w wybranym miejscu (punkt wstrzymania - breakpoint), wykonywać kod krok po kroku, podglądać wartości zmiennych i prześledzić, którędy „idzie” sterowanie. W praktyce korzysta się z debuggera wbudowanego w IDE (np. w przeglądarce dla JavaScriptu) albo narzędzia takiego jak gdb. To odróżnia go od kompilatora, który wyłapuje błędy składni przed startem. Dlatego zadaniem debuggera jest analiza uruchomionego programu w celu wykrycia przyczyn jego nieprawidłowego działania.

Pytanie 3

Z jakim problemem wiąże się poziom izolacji transakcji Repeatable Read (powtarzalny odczyt)?

A. z odczytami widmowymi (phantom reads)
B. z utratą aktualizacji
C. z brudnymi odczytami
D. z niepowtarzalnymi odczytami
Poziom izolacji Repeatable Read gwarantuje, że te same wiersze odczytane w transakcji nie zmienią się - ale wciąż dopuszcza ODCZYTY WIDMOWE (phantom reads): gdy inna transakcja DODA nowe wiersze pasujące do warunku, powtórne zapytanie może zwrócić ich więcej. Zapamiętaj: Repeatable Read blokuje zmiany istniejących wierszy, lecz nie pojawianie się nowych (widm).

Pytanie 4

W języku JavaScript zapis w ramce oznacza, że

x = przedmiot.nazwa();
A. nazwa jest atrybutem klasy przedmiot
B. nazwa jest cechą obiektu przedmiot
C. zmienna x będzie zawierać wynik działania metody nazwa
D. zmienna x będzie przechowywać wynik działania funkcji przedmiot
Instrukcja x = przedmiot.nazwa(); w JavaScripcie oznacza wywołanie metody nazwa na obiekcie przedmiot, a do zmiennej x zostaje podstawiony zwrócony wynik. Kluczowe są tu dwa elementy: kropka oraz nawiasy okrągłe. Zapis przedmiot.nazwa bez nawiasów odnosiłby się tylko do samej funkcji (referencji do metody), natomiast dodanie () powoduje jej wykonanie i dopiero rezultat tego wywołania trafia do zmiennej.
W praktyce wygląda to tak: jeśli obiekt przedmiot ma zdefiniowaną metodę nazwa, np. const przedmiot = { nazwa() { return "Monitor"; } }; to po instrukcji x = przedmiot.nazwa(); zmienna x będzie równa tekstowi "Monitor". To jest bardzo typowy wzorzec: obiekt.metoda() zwraca jakąś wartość (string, liczbę, obiekt, tablicę, czasem też undefined), a my ją przechwytujemy do zmiennej, żeby dalej z nią pracować. W dobrych praktykach programistycznych rozdziela się metody, które coś zwracają (tzw. query) od metod, które tylko wykonują akcję (np. zmieniają stan obiektu, ale nic nie zwracają). W tym pytaniu zakładamy, że nazwa zwraca wartość, więc przypisanie do x ma sens. Moim zdaniem warto od początku wyrabiać nawyk czytania takiego kodu: po lewej zmienna, po prawej wyrażenie, które jest obliczane. Najpierw wykonywana jest metoda nazwa(), a dopiero potem wynik trafia do x. Taki schemat pojawia się non stop w realnych projektach frontendowych i backendowych w JS, np. const wynik = koszyk.policzSume(); albo const tytul = dokument.getElementById("id").textContent; – w obu przypadkach zmienna przechowuje rezultat działania metody.

Pytanie 5

Kanał alfa jest wykorzystywany do określenia

A. jasności oraz kontrastu kolorów
B. przezroczystości obiektu graficznego
C. wybranego fragmentu obiektu graficznego
D. podstawowych właściwości obiektu graficznego
Kanał alfa to bardzo ważny element w grafice komputerowej, który odpowiada za to, jak przezroczyste są różne obiekty graficzne. W systemach kolorów, jak RGBA, kanał alfa jest dodatkowym składnikiem obok kolorów czerwonego, zielonego i niebieskiego. Dzięki niemu możemy określić, jak przezroczysty jest dany piksel. Wartości kanału alfa wahają się od 0, co oznacza całkowitą przezroczystość, do 255, co daje pełną nieprzezroczystość. Przykładem użycia kanału alfa są aplikacje graficzne, takie jak Photoshop czy GIMP, gdzie można na przykład zmieniać przezroczystość warstw. Te technologie, jak OpenGL czy DirectX, też korzystają z kanału alfa, żeby renderować obiekty w 3D. To wszystko sprawia, że obrazy i sceny stają się bardziej realistyczne, a efekty wizualne, takie jak cienie czy odbicia, wyglądają znacznie lepiej.

Pytanie 6

W SQL, aby dodać nowy wiersz do bazy danych, należy użyć polecenia

A. INSERT INTO
B. SELECT ROW
C. CREATE ROW
D. CREATE INTO
Polecenie 'INSERT INTO' jest kluczowym elementem języka SQL, służącym do dodawania nowych wierszy danych do istniejącej tabeli w bazie danych. Użycie tego polecenia wymaga podania nazwy tabeli, do której chcemy wstawić dane, oraz listy wartości, które mają być dodane. Na przykład, polecenie 'INSERT INTO klienci (imie, nazwisko) VALUES ('Jan', 'Kowalski');' dodaje nowego klienta o imieniu Jan i nazwisku Kowalski do tabeli 'klienci'. Zgodnie z dobrymi praktykami, zawsze warto również uwzględnić obsługę błędów, aby upewnić się, że operacje na danych są bezpieczne i nie powodują naruszeń integralności bazy. Warto również pamiętać, że do jednego polecenia INSERT można dodać wiele wierszy równocześnie, na przykład: 'INSERT INTO klienci (imie, nazwisko) VALUES ('Ewa', 'Nowak'), ('Anna', 'Zielona');'. Użycie 'INSERT INTO' jest fundamentalne w pracy z bazami danych i stanowi podstawę dla bardziej zaawansowanych operacji, takich jak transakcje czy manipulacje danymi w relacyjnych bazach danych.

Pytanie 7

Tabele Osoby oraz Adresy są ze sobą połączone relacją typu jeden do wielu. Jakie zapytanie SQL powinno być użyte, aby poprawnie wyświetlić nazwiska oraz odpowiadające im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy
B. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id=Adresy.id
C. SELECT nazwisko, Miasto FROM Osoby.Adresy_id=Adresy.id FROM Osoby, Adresy
D. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id=Adresy.id
Użycie składni JOIN w zapytaniu SQL to naprawdę dobra decyzja, jeśli chodzi o pokazywanie powiązanych danych z różnych tabel w bazie danych. W odpowiedzi zastosowałeś INNER JOIN, co jest jednym z tych najpopularniejszych sposobów łączenia tabel, zwłaszcza gdy mamy wspólny klucz. W tym przypadku klucz obcy Adresy_id w tabeli Osoby łączy się z kluczem głównym id w tabeli Adresy, co pozwala na wyciągnięcie nazwisk z Osób oraz odpowiadających im miast z Adresów. W praktyce takie użycie JOIN jest zgodne z najlepszymi praktykami, bo ułatwia zarządzanie danymi i sprawia, że wszystko jest czytelniejsze. Gdy pracujesz nad bardziej skomplikowanymi systemami, umiejętność poprawnego łączenia tabel jest kluczowa. Umożliwia to utrzymanie porządku w danych i zmniejszenie ich powtarzalności przez normalizację. I naprawdę, takie zapytania są mega przydatne w analizie danych, generowaniu raportów czy w aplikacjach, które operują na dużych zbiorach, gdzie wydajność i przejrzystość kodu SQL są niezwykle ważne.

Pytanie 8

Jakie znaczniki <header>, <article>, <section>, <footer> są typowe dla języka?

A. HTML5
B. XHTML 1.1
C. HTML 4.01 Strict
D. HTML 4.01 Transitional
Znaczniki <header>, <article>, <section> oraz <footer> są częścią standardu HTML5, który wprowadza nowe semantyczne elementy, mające na celu poprawę struktury dokumentów HTML. Element <header> używany jest do definiowania nagłówków sekcji lub całej strony, co ułatwia nawigację i zrozumienie układu treści. <article> natomiast służy do oznaczania samodzielnych jednostek treści, które mogą być niezależnie dystrybuowane lub zrozumiane. <section> dzieli dokument na tematyczne sekcje, a <footer> zazwyczaj zawiera informacje o autorze, prawach autorskich czy linki do powiązanych materiałów. Stosowanie tych elementów zgodnie z ich przeznaczeniem sprzyja lepszej dostępności oraz optymalizacji SEO, ponieważ wyszukiwarki mogą lepiej interpretować strukturę strony. Przykładem zastosowania może być blog, w którym każdy post jest oznaczony jako <article>, co pozwala systemom wyszukiwania na łatwiejsze indeksowanie poszczególnych wpisów. Warto pamiętać, że HTML5 wspiera także inne aspekty nowoczesnego web designu, takie jak media, formularze i API, co czyni go standardem przyszłości.

Pytanie 9

W tabeli uczniowie (kolumny: imie, nazwisko, klasa) wszyscy uczniowie klas 1-5 przeszli do następnej klasy. Które polecenie zwiększy wartość w kolumnie klasa o 1?

A.
SELECT uczniowie WHERE klasa BETWEEN 1 AND 5
B.
SELECT nazwisko, imie FROM uczniowie
C.
UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5
D.
UPDATE nazwisko, imie SET klasa = klasa + 1
Do zmiany istniejących danych służy UPDATE: po nazwie tabeli podaje się SET z nowymi wartościami, a WHERE ogranicza zakres zmian. Aby podnieść klasę o 1 tylko uczniom klas 1-5, zapisuje się UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5. Dlatego poprawne jest to polecenie UPDATE.

Pytanie 10

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

A. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
B. <i>pogrubiony </i><b>pochylony </b>lub w <sub>górnym indeksie</sub>
C. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
D. <b>pogrubiony <i>pochylony</i></b> lub w <sup>górnym indeksie</sup>
Odpowiedź, w której użyłeś znaczników <b> i <i> w odpowiednich miejscach, jest całkiem dobra. Znak <b> jest świetny do pogrubiania tekstu, co przydaje się, gdy chcesz podkreślić coś ważnego. Natomiast <i> pozwala na pochylanie tekstu, co dodaje mu charakteru i może sugerować cytaty czy tytuły. Co ciekawe, znacznik <sup> stosujemy, gdy chcemy pokazać górny indeks, np. przy potęgach czy jednostkach miar. Przykład takiego użycia byłby taki: <b>Waga</b> <i>w kilogramach</i> wynosi <sup>2</sup> dla dwóch jednostek. Jak widać, stosowanie HTML w odpowiedni sposób pozwala robić czytelne i estetyczne prezentacje, co jest zgodne z dobrymi praktykami w web designie oraz standardami W3C. Warto też pamiętać, że dobrze dobrane znaczniki mają znaczenie nie tylko wizualne, ale także pomagają w indeksowaniu treści przez wyszukiwarki, co z kolei wpływa na SEO.

Pytanie 11

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

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

Pytanie 12

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

A. jest to obraz w technologii stereoskopowej
B. istnieje potrzeba zapisu obrazu w formie bez kompresji
C. konieczne jest zapisanie obrazu lub animacji
D. jest to grafika wektorowa
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 13

Aby utworzyć różnicową kopię zapasową bazy danych na serwerze MS SQL, w poleceniu BACKUP należy użyć klauzuli:

A.
DIFFERENTIAL
B.
WITH FORMAT
C.
FULL
D.
RESTORE
Kopia różnicowa zapisuje wyłącznie dane zmienione od ostatniej kopii pełnej, więc jest mniejsza i szybsza. W MS SQL tworzy się ją poleceniem BACKUP DATABASE ... WITH DIFFERENTIAL. Przy odtwarzaniu wgrywa się najpierw kopię pełną, a potem różnicową. Dlatego za kopię różnicową odpowiada klauzula DIFFERENTIAL.

Pytanie 14

Zgodnie z zasadami ACID, odnoszącymi się do przeprowadzania transakcji, wymóg trwałości (ang. durability) wskazuje, że

A. w trakcie realizacji transakcji dane mogą być zmieniane przez inne transakcje
B. w sytuacji naruszenia spójności bazy danych transakcja eliminuje tabele z kluczami obcymi
C. transakcja może w pewnych okolicznościach być rozdzielona na dwa niezależne etapy
D. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od tego, co się wydarzy po jej zakończeniu
Wymóg trwałości (durability) w kontekście właściwości ACID oznacza, że po zatwierdzeniu transakcji, wszystkie zmiany dokonane na danych muszą być utrwalone w trwałym magazynie danych, a ich dostępność nie może być zagrożona przez awarie systemu, takie jak utrata zasilania czy awarie oprogramowania. Przykładem może być system bankowy, gdzie po wykonaniu operacji przelewu, saldo konta musi być natychmiastowo zaktualizowane i dostępne w systemie, niezależnie od tego, co wydarzy się później. W praktyce, wiele systemów zarządzania bazami danych, takich jak PostgreSQL czy MySQL, wykorzystuje mechanizmy logowania transakcji oraz techniki replikacji, aby zapewnić, że dane pozostaną spójne i dostępne nawet w obliczu kryzysów. Zgodność z zasadą trwałości jest kluczowa dla utrzymania zaufania użytkowników i stabilności operacyjnej systemów informacyjnych, co jest wspierane przez standardy takie jak ISO/IEC 27001 dotyczące zarządzania bezpieczeństwem informacji.

Pytanie 15

Jakie dane zostaną wybrane po wykonaniu poniższej kwerendy na pokazanych rekordach?

SELECT id FROM samochody WHERE rocznik LIKE "2%4";

idmarkamodelrocznik
1FiatPunto2016
2FiatPunto2002
3FiatPunto2007
4OpelCorsa2016
5OpelAstra2003
6ToyotaCorolla2016
7ToyotaCorolla2014
8ToyotaYaris2004
A. Wszystkie id
B. Pole id równe 7 oraz 8
C. Tylko id równe 8
D. Brak danych
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL SELECT id FROM samochody WHERE rocznik LIKE '2_4'; filtruje rekordy, które mają w kolumnie rocznik wartość z drugą cyfrą równą '2' i czwartą cyfrą równą '4'. W złożonym zapytaniu SQL zastosowano operator LIKE z użyciem symbolu podkreślenia (_) jako symbolu zastępczego dla pojedynczego znaku. To oznacza, że szukamy dowolnego roku, który zaczyna się od cyfry '2', ma dowolną cyfrę na drugiej pozycji i cyfrę '4' na ostatniej pozycji. Praktycznie oznacza to, że wybierane są identyfikatory pojazdów, które mają rocznik odpowiadający temu wzorcowi. W dostarczonym zbiorze danych tylko rekordy o id 7 i 8 spełniają ten warunek, ponieważ rocznik to 2014 i 2004. Tego rodzaju konstrukcja SQL jest użyteczna w sytuacjach, gdy potrzebujemy selektywnie uzyskać dane na podstawie wzorców. Operator LIKE jest bardzo efektywny w analizie danych tekstowych w bazach danych np. w raportach analitycznych gdzie kluczowe jest wyszukiwanie na podstawie wzorców. Warto zaznaczyć, że takie podejście jest zgodne ze standardami SQL, ułatwiającymi zarządzanie i filtrowanie danych w złożonych systemach bazodanowych.

Pytanie 16

Znacznik <i> w języku HTML ma na celu

A. zmianę czcionki na kursywę
B. dodanie grafiki
C. określenie formularza
D. ustalenie nagłówka w treści
Znacznik <i> w języku HTML jest używany do formatowania tekstu, aby uzyskać efekt pochylonego kroju pisma. Jest to element semantyczny, który wprowadza do dokumentu wizualną różnicę, ale także ma swoje miejsce w kontekście znaczeniowym. Użycie <i> może wskazywać na zmianę intonacji w tekście, taką jak nazwy książek, filmów, czy obcych wyrazów. W standardach HTML5, <i> jest zalecany do użytku, aby wyróżnić elementy tekstowe w sposób, który jest zgodny z zasadami dostępności i semantyki. Przykład zastosowania: <p>W książce <i>W pustyni i w puszczy</i> autorstwa Henryka Sienkiewicza...</p>. Oznaczanie tekstu w ten sposób wspiera nie tylko estetykę strony, ale również poprawia doświadczenie użytkowników korzystających z technologii asystujących, które mogą interpretować znaczenie tak oznaczonego tekstu. Warto również pamiętać o odpowiednich stylach CSS, które można zastosować do tego znacznika, aby dostosować jego wygląd do reszty witryny.

Pytanie 17

Arkusze stylów w formacie kaskadowym są tworzone w celu

A. blokowania wszelkich zmian w wartościach znaczników już przypisanych w pliku CSS
B. połączenia struktury dokumentu strony z odpowiednią formą jej wizualizacji
C. ułatwienia formatowania strony
D. nadpisywania wartości znaczników, które już zostały ustawione na stronie
Kaskadowe arkusze stylów (CSS) stanowią kluczowy element w tworzeniu nowoczesnych stron internetowych, umożliwiając deweloperom separację zawartości od stylizacji. Poprawna odpowiedź, dotycząca ułatwienia formatowania strony, odnosi się do głównej funkcji CSS, która polega na umożliwieniu precyzyjnego stylizowania elementów HTML przy użyciu różnych właściwości, takich jak kolor, czcionka, marginesy czy tło. Dzięki CSS, można łatwo zmieniać wygląd całej strony lub jej części, co znacznie upraszcza proces utrzymania i aktualizacji. Na przykład, jeśli chcemy zmienić kolor tła całej witryny, wystarczy zaktualizować jedną regułę w arkuszu stylów, zamiast edytować każdy element osobno. Dodatkowo, CSS wspiera responsywność, co oznacza, że możemy dostosować wygląd strony do różnych rozmiarów ekranów, co jest istotne w dobie urządzeń mobilnych. Takie podejście do rozwijania stron internetowych jest zgodne z najlepszymi praktykami branżowymi, co pozwala na bardziej efektywne zarządzanie projektem oraz zapewnienie spójnego wyglądu witryny.

Pytanie 18

Jaką metodę przesyłania należy wykorzystać, by zapewnić największe bezpieczeństwo danych zaszyfrowanych w formularzu, które są wysyłane do kodu PHP?

A. Metoda POST, za pomocą protokołu HTTPS
B. Metoda GET, za pomocą protokołu HTTP
C. Metoda GET, za pomocą protokołu HTTPS
D. Metoda POST, za pomocą protokołu HTTP
Jak wiemy, wybieranie metody POST przy użyciu HTTPS to naprawdę najlepszy sposób na przesyłanie wrażliwych danych. Dlaczego? Bo metoda POST przesyła dane w ciele żądania, więc są one mniej widoczne dla niepowołanych osób. W przeciwieństwie do metody GET, która wrzuca wszystko do adresu URL. A protokół HTTPS to już zupełnie inna bajka, bo szyfruje cały ruch między użytkownikiem a serwerem. W praktyce to znaczy, że nasze dane, przykładowo hasła w formularzach logowania, są lepiej chronione przed podsłuchiwaniem. Oprócz tego warto pamiętać o standardach OWASP, które mocno podkreślają, jak ważne jest stosowanie HTTPS i POST tam, gdzie przesyłamy wrażliwe informacje. To naprawdę mogłoby uratować nas przed różnymi atakami, jak Man-in-the-Middle, więc nie ma co ryzykować i warto stosować te metody.

Pytanie 19

Jakiego rodzaju oprogramowanie narzędziowe jest wymagane, aby użytkownik mógł przeprowadzać operacje na zebranych danych?

A. System Zarządzania Bazą Danych (SZBD)
B. Obiektowy System Zarządzania Bazą Danych
C. Klucz obcy
D. Otwarty mechanizm komunikacji bazy danych
System Zarządzania Bazą Danych (SZBD) to kluczowy element w architekturze aplikacji, który umożliwia użytkownikom przechowywanie, modyfikowanie i zarządzanie danymi. Dzięki SZBD użytkownicy mogą wykonywać operacje takie jak dodawanie, usuwanie, modyfikacja danych oraz wykonywanie zapytań, co jest niezbędne w każdym systemie informacyjnym. Przykłady powszechnie stosowanych SZBD to MySQL, PostgreSQL oraz Oracle Database. W praktyce, SZBD obsługuje relacje między danymi, co pozwala na zapewnienie integralności i spójności danych. Dodatkowo, SZBD implementują standardy takie jak ACID (Atomicity, Consistency, Isolation, Durability), co jest gwarancją niezawodności transakcji. Aby efektywnie korzystać z SZBD, warto zapoznać się z językiem SQL, który jest standardem do komunikacji z bazą danych. W kontekście dobrych praktyk, umiejętność projektowania prawidłowej struktury bazy danych oraz znajomość zasad normalizacji danych są kluczowe dla optymalizacji wydajności aplikacji oraz minimalizacji ryzyka błędów danych.

Pytanie 20

Do czego służy w JavaScript metoda Math.random()?

A. do zaokrąglenia liczby w górę do całkowitej
B. do zwrócenia liczby po zaokrągleniu
C. do zwrócenia liczby pseudolosowej
D. do porównania dwóch napisów
Metoda Math.random() zwraca liczbę pseudolosową z przedziału od 0 (włącznie) do 1 (wyłącznie). Mnożąc i zaokrąglając wynik, uzyskuje się losowe liczby z dowolnego zakresu. Dlatego Math.random() zwraca liczbę pseudolosową.

Pytanie 21

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. zmianę intensywności kolorów
B. kanał alpha
C. gradient okrągły
D. gradient liniowy
Gradient liniowy to narzędzie stosowane w edytorach grafiki rastrowej do tworzenia płynnych przejść pomiędzy dwoma lub więcej kolorami w zadanym kierunku najczęściej poziomym lub pionowym. W praktyce gradient liniowy jest kluczowy w projektowaniu graficznym ponieważ pozwala na subtelne cieniowanie i nadawanie głębi elementom wizualnym. Przykładowo stosuje się go w tworzeniu tła logotypów czy też przycisków interfejsów użytkownika. Proces tworzenia gradientu liniowego opiera się na ustawieniu punktów początkowych i końcowych oraz przypisaniu im odpowiednich wartości kolorystycznych co podkreśla jego wszechstronność. Standardowym podejściem jest użycie gradientu liniowego w celu uzyskania efektu trójwymiarowości co jest zgodne z dobrymi praktykami projektowania UX i UI. W kontekście branżowym gradienty liniowe są nieodłącznym elementem narzędzi takich jak Adobe Photoshop czy GIMP gdzie umożliwiają manipulację barwą i luminancją co jest kluczowe w profesjonalnym edytowaniu obrazów.

Pytanie 22

Jakie wyrażenie należy umieścić w miejsce ??? w pętli napisanej w języku C++, aby na ekranie zostały wyświetlone wyłącznie elementy tablicy tab?

int tab[6];
for (int i = 0; ???; i++)
    cout << tab[i];
A. i >= 6
B. i < 6
C. i <= 6
D. i > 6
Wybór wyrażenia i < 6 jako warunku w pętli for jest poprawny, ponieważ tablica tab została zadeklarowana z sześcioma elementami, co oznacza, że indeksy tej tablicy wahają się od 0 do 5. W języku C++ indeksy tablic zaczynają się od zera, co jest standardową konwencją w wielu językach programowania, takich jak C, C++, Java czy Python. Dzięki zastosowaniu wyrażenia i < 6 w warunku pętli for, zapewniamy, że iteracja obejmuje wszystkie dopuszczalne indeksy tablicy, tj. 0, 1, 2, 3, 4 i 5. Jest to kluczowe dla uniknięcia błędów typu out-of-bounds, które mogą prowadzić do nieprzewidywalnego zachowania programu lub jego awarii. W praktyce, podczas pracy z tablicami, bardzo ważne jest upewnienie się, że indeksy używane w pętli mieszczą się w zakresie długości tablicy. Taki sposób iteracji jest zgodny z dobrymi praktykami programistycznymi, które kładą nacisk na bezpieczeństwo i niezawodność kodu. Ponadto, stosowanie wyraźnych warunków w pętlach poprawia czytelność kodu, co jest istotne w większych projektach, w których kod jest utrzymywany przez zespoły programistyczne.

Pytanie 23

Wskaż, który paragraf jest sformatowany przy użyciu podanego stylu CSS:

p {
    font-family: serif;
    background-color: Teal;
    color: white;
    font-style: italic;
}
Ilustracja do pytania
A. Paragraf 1
B. Paragraf 4
C. Paragraf 2
D. Paragraf 3
Paragraf 4 jest prawidłowo sformatowany zgodnie z przedstawionym stylem CSS. W stylu tym zastosowano cztery właściwości: font-family o wartości serif co sugeruje użycie czcionki o kroju szeryfowym background-color ustawiony na Teal co ustawia tło na ciemnozielony kolor color ustawiony na White co oznacza że tekst powinien być biały oraz font-style ustawiony na italic co powoduje że tekst jest pochylony. Paragraf 4 spełnia te kryteria jest napisany czcionką szeryfową ma ciemnozielone tło biały tekst i jest kursywą. Zastosowanie takich stylów jest częste w projektowaniu stron internetowych gdzie ważne jest czytelne i estetyczne przedstawienie informacji. Używanie odpowiednich stylów CSS pozwala na lepszą organizację wizualną treści co jest kluczowe w tworzeniu interfejsów przyjaznych dla użytkownika. Stylowanie w CSS wspiera standardy takie jak CSS3 które wprowadzają nowe właściwości i ulepszenia umożliwiające bardziej zaawansowane i wydajne metody formatowania.

Pytanie 24

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Jak powinno wyglądać to w aktualizacji bazy danych?

A. UPDATE pensja SET +100;
B. UPDATE pensja SET 100;
C. UPDATE pracownicy SET pensja = pensja + 100;
D. UPDATE pracownicy SET pensja = 100;
Odpowiedź 'UPDATE pracownicy SET pensja = pensja + 100;' jest prawidłowa, ponieważ wprowadza właściwą składnię SQL, która aktualizuje pole 'pensja' w tabeli 'pracownicy'. To polecenie wykorzystuje operator przypisania '=', aby zaktualizować wartość 'pensja', dodając do niej 100 zł. W praktyce jest to typowy sposób na modyfikację danych w bazach danych relacyjnych, przy użyciu SQL. Kluczowym aspektem jest zrozumienie, że 'pensja' w tym kontekście odnosi się do istniejącej wartości w danym rekordzie, a nie do jakiejś stałej. Operator '+' w tym przypadku informuje system, że chcemy zwiększyć aktualną wartość o 100. Użycie tego typu składni jest zgodne z najlepszymi praktykami w programowaniu baz danych, co sprzyja przejrzystości i zrozumiałości kodu. Tego rodzaju aktualizacje są kluczowe w zarządzaniu danymi pracowników, zwłaszcza w kontekście systemów wynagrodzeń, gdzie regularne zmiany pensji są normą.

Pytanie 25

Uprawnienia obiektowe przyznawane użytkownikom serwera bazy danych mogą umożliwiać lub ograniczać

A. zmieniać role i konta użytkowników
B. przechodzić uprawnienia
C. realizować operacje na bazie, takie jak wstawianie lub modyfikowanie danych
D. wykonywać polecenia, takie jak tworzenie kopii zapasowej
Uprawnienia obiektowe w kontekście baz danych pozwalają na kontrolowanie dostępu do różnych zasobów, takich jak tabele, widoki czy procedury składowane. Odpowiedź dotycząca wykonywania operacji na bazie, takich jak wstawianie czy modyfikowanie danych, jest prawidłowa, ponieważ uprawnienia te bezpośrednio wpływają na możliwości użytkownika w zakresie manipulacji danymi. Przykładowo, jeśli użytkownik posiada uprawnienie do INSERT, może dodawać nowe rekordy do tabeli, natomiast uprawnienie UPDATE pozwala na zmianę istniejących danych. Takie zarządzanie uprawnieniami jest kluczowe w kontekście bezpieczeństwa danych oraz zapewnienia integralności systemu, ponieważ pozwala na ograniczenie dostępu tylko do tych operacji, które są niezbędne dla danego użytkownika. W praktyce administratorzy baz danych stosują zasady minimalnych uprawnień, przyznając użytkownikom tylko te uprawnienia, które są niezbędne do wykonywania ich pracy, co jest zgodne z najlepszymi praktykami w zakresie zarządzania bezpieczeństwem baz danych.

Pytanie 26

Najłatwiejszym sposobem na zmianę obiektu z numerem 1 na obiekt z numerem 2 jest

Ilustracja do pytania
A. geometriczne przekształcenie obiektu
B. narysowanie obiektu docelowego
C. zmiana warstwy obiektu
D. animacja obiektu
Geometryczne transformowanie obiektu to proces, który pozwala na zmiany w wielkości, kształcie, pozycji lub orientacji obiektu bez modyfikacji jego struktury. W przypadku zamiany obiektu oznaczonego cyfrą 1 na obiekt oznaczony cyfrą 2, transformacja geometryczna, jak skalowanie, jest najprostszą metodą. Skalowanie pozwala na proporcjonalne powiększenie obiektu, co jest niezbędne, gdy chcemy zwiększyć jego rozmiar bez zniekształceń. W praktyce, narzędzia do obróbki grafiki czy modelowania 3D, takie jak Adobe Illustrator czy AutoCAD, oferują funkcje do precyzyjnego skalowania. Kluczowe jest zachowanie proporcji, co można osiągnąć poprzez skalowanie względem określonego punktu odniesienia. Transformacje geometryczne są fundamentalne w wielu dziedzinach, takich jak projektowanie graficzne, inżynieria czy animacja komputerowa, i są zgodne z najlepszymi praktykami, które promują efektywność i precyzję w pracy z obiektami wizualnymi.

Pytanie 27

Używa się zapytania z klauzulą JOIN, aby

A. określić klucz obcy dla tabeli
B. uzyskać dane z dwóch tabel, które są ze sobą powiązane
C. wykonać funkcję agregującą
D. otrzymać wynik tylko z jednej tabeli
Zapytanie z klauzulą JOIN jest kluczowym narzędziem w języku SQL, które umożliwia łączenie danych z dwóch lub więcej tabel na podstawie relacji między nimi. Używając JOIN, możemy uzyskać bardziej złożone i użyteczne zestawienia danych, które nie byłyby możliwe do uzyskania, gdybyśmy korzystali tylko z pojedynczej tabeli. Na przykład, jeśli mamy tabelę klientów oraz tabelę zamówień, możemy z łatwością połączyć je, aby uzyskać informacje o tym, jakie zamówienia złożył dany klient. Przykładowe zapytanie może wyglądać tak: "SELECT klienci.imie, zamowienia.data FROM klienci JOIN zamowienia ON klienci.id = zamowienia.klient_id;" W takim przypadku wykorzystanie JOIN pozwala na integrowanie danych z obu tabel w jedną spójną odpowiedź. Takie podejście jest szeroko stosowane w branży, ponieważ standardy relacyjnych baz danych wymagają efektywnej organizacji i analizy danych, a JOIN jest jednym z podstawowych mechanizmów umożliwiających realizację takich zadań.

Pytanie 28

Znaczniki HTML <strong> oraz <em>, które mają na celu podkreślenie istotności tekstu, pod względem formatowania odpowiadają znacznikom

A. <u> oraz <sup>
B. <b> oraz <u>
C. <b> oraz <i>
D. <i> oraz <mark>
Znaczniki HTML <strong> oraz <em> mają kluczowe znaczenie w kontekście semantyki i formatowania tekstu w dokumentach HTML. Znacznik <strong> wskazuje na tekst o zwiększonej ważności, co jest zgodne z jego domyślnym formatowaniem, które w większości przeglądarek wyświetla tekst pogrubiony. Z kolei znacznik <em> sugeruje tekst, który powinien być akcentowany w odpowiedni sposób, a jego domyślne formatowanie to kursywa. W związku z tym, ich odpowiednikami pod względem formatowania są znaczniki <b> oraz <i>. Znacznik <b> służy do pogrubienia tekstu, ale nie niesie ze sobą żadnej dodatkowej semantyki, natomiast <i> używany jest do kursywy bez wskazania na ważność. W praktyce, należy używać <strong> i <em> tam, gdzie semantyka jest kluczowa dla zrozumienia treści, a dodatkowe znaczenie przekłada się na lepsze pozycjonowanie w wyszukiwarkach oraz dostępność dla osób korzystających z technologii asystujących. Ważne jest, by przestrzegać dobrych praktyk webowych i stosować znaczniki semantyczne, co pozwoli na efektywne przekazywanie informacji zarówno użytkownikom, jak i robotom indeksującym.

Pytanie 29

O obiekcie zdefiniowanym w języku JavaScript można stwierdzić, że zawiera

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. dwie właściwości oraz jedną metodę
B. trzy właściwości
C. trzy metody
D. dwie metody oraz jedną właściwość
Odpowiedź, że obiekt w JavaScript ma dwie właściwości i jedną metodę, jest poprawna. Przykład obiektu `obiekt1` zawiera dwie właściwości: `x` i `y`, które są liczbowymi wartościami. Dodatkowo, metoda `wsp` jest poprawnie zdefiniowana jako funkcja, co czyni ją metodą obiektu. W praktyce obiekty w JavaScript służą do grupowania danych i funkcji, co jest przydatne w programowaniu obiektowym. Wprowadzenie do obiektów i ich właściwości oraz metod jest kluczowym elementem zrozumienia, jak JavaScript operuje na danych. Standardowe praktyki zalecają, aby metody były używane do definiowania zachowań obiektów, co jest zgodne z zasadami programowania zorientowanego obiektowo, gdzie obiekt jest zbiorem właściwości i metod, które operują na tych właściwościach. W kontekście dbałości o czystość kodu, warto zwrócić uwagę na stosowanie dobrej nazewnictwa dla metod i właściwości, co zwiększa czytelność i zrozumienie kodu. Przykładowo, jeśli `wsp` miała by reprezentować funkcję obliczającą współrzędne, dobrze by było, aby jej nazwa była bardziej opisowa, na przykład `obliczWspolrzedne`.

Pytanie 30

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

A. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
B. porównywania dwóch tekstów i wyświetlania ich wspólnej części
C. podawania długości tekstu
D. redukcji tekstu o liczbę znaków określoną w parametrze
Funkcja <i>trim</i> w języku PHP ma na celu usuwanie białych znaków oraz innych znaków, które są określone w jej parametrach, z obu końców napisu. To niezwykle przydatne narzędzie w programowaniu, szczególnie podczas przetwarzania danych wejściowych, gdzie użytkownicy mogą nieświadomie dodawać zbędne spacje, tabulatory lub nowe linie. Na przykład, gdy przetwarzamy dane formularzy, może się zdarzyć, że użytkownik wprowadzi swoje imię z dodatkowymi spacjami na początku lub końcu. Użycie <i>trim</i> pozwala na zapewnienie, że dane będą miały odpowiednią formę przed dalszym przetwarzaniem, co jest kluczowe w kontekście walidacji i normalizacji danych. Dodatkowo, funkcja ta wspiera podawanie własnych znaków do usunięcia, co czyni ją bardzo elastycznym narzędziem w codziennym programowaniu. Używanie <i>trim</i> jako standardowej praktyki przy obróbce danych tekstowych jest rekomendowane przez wielu ekspertów, ponieważ zwiększa to jakość i spójność przetwarzanych informacji.

Pytanie 31

Aby za pomocą CSS zdefiniować przedstawione na rysunku opływanie obrazu tekstem należy w stylu obrazu wprowadzić zapis

Ilustracja do pytania
A. clear: both;
B. table: left;
C. float: right;
D. float: left;
Twoja odpowiedź nie jest prawidłowa. Wszystkie podane błędne odpowiedzi są niepoprawne, ponieważ nie tworzą żądanego efektu opływania obrazu przez tekst. 'clear: both;' jest własnością CSS, która służy do zapobiegania opływaniu, a nie jego tworzeniu. Jest używana, gdy nie chcemy, aby dany element był opływany przez inne. 'table: left;' nie jest istniejącą własnością CSS, i nie ma związanego z nią konkretnego efektu. Właściwość 'float: left;' powoduje, że obraz zostaje przesunięty na lewą stronę strony, co powoduje, że tekst opływa go od prawej strony, a nie od lewej, jak to jest wymagane w pytaniu. Pamiętaj, aby zawsze dobrze zrozumieć, jakie efekty daje użycie konkretnych właściwości CSS, zanim zastosujesz je w praktyce.

Pytanie 32

Podana deklaracja funkcji w języku C++ przyjmuje parametry typu liczbowego: void mojaFunkcja(int a, short b, long c);

A. liczbowe jako argumenty i zwraca wartość.
B. liczbowe jako argumenty i nie zwraca wartości.
C. liczbowe i zmiennoprzecinkowe jako argumenty i zwraca wartość.
D. liczbowe i zmiennoprzecinkowe jako argumenty i nie zwraca wartości.
Odpowiedź, że funkcja przyjmuje liczby całkowite jako parametry i nie zwraca wartości, jest poprawna z kilku powodów. Deklaracja funkcji 'void mojaFunkcja(int a, short b, long c)' wskazuje, że funkcja ma typ zwracany 'void', co oznacza, że nie zwraca ona żadnej wartości po jej wykonaniu. Parametry 'int', 'short' oraz 'long' są typami danych całkowitych, co potwierdza, że funkcja przyjmuje tylko liczby całkowite. Typ 'int' jest standardowym typem całkowitym w C++, 'short' to typ reprezentujący mniejsze liczby całkowite, a 'long' może przechowywać większe wartości całkowite. W praktyce, funkcje, które nie zwracają wartości, są często używane do wykonywania operacji na danych wejściowych, takich jak modyfikacje obiektów, zmiany w strukturach danych lub operacje wejścia/wyjścia. Takie podejście jest zgodne z zasadami programowania strukturalnego oraz dobrymi praktykami programowania, gdzie funkcje powinny być odpowiedzialne za określone zadania, zamiast zwracać wartości. Warto zaznaczyć, że użycie typów całkowitych jako parametrów jest powszechną praktyką, ponieważ pozwala na precyzyjne operacje matematyczne oraz efektywne zarządzanie pamięcią.

Pytanie 33

W języku PHP zapis // służy do

A. używania tablicy superglobalnej
B. dodawania komentarza wieloliniowego
C. dodawania komentarza jednoliniowego
D. zastosowania operatora dzielenia bez reszty
Znak // w języku PHP jest używany do wstawiania komentarzy jednoliniowych. Oznacza to, że wszystko, co znajduje się po tym znaku na danej linii, zostanie zignorowane przez interpreter PHP. Komentarze są istotnym elementem programowania, ponieważ umożliwiają programistom dodawanie wyjaśnień i notatek do kodu, co znacznie ułatwia jego późniejsze zrozumienie i konserwację. Przykładowo, możesz użyć komentarza jednoliniowego, aby wyjaśnić określoną funkcjonalność w kodzie: // To jest funkcja obliczająca sumę. Warto również pamiętać, że stosowanie komentarzy jest standardową praktyką w branży, która zwiększa czytelność i jakość kodu. Dobrą praktyką jest stosowanie komentarzy, aby wyjaśniać bardziej złożone fragmenty kodu, co wpływa na łatwiejsze współdzielenie pracy w zespołach programistycznych, a także na przyszłe modyfikacje kodu przez innych programistów. Warto zaznaczyć, że PHP obsługuje także komentarze wieloliniowe, które zaczynają się od /* i kończą na */. Jednak dla prostych, jednozdaniowych notatek znak // jest najbardziej odpowiedni.

Pytanie 34

W algorytmie jeden z bloków zawiera akcję „Wypisz liczbę”. Jaki kształt może mieć ta akcja?

Ilustracja do pytania
A. Kształt 1
B. Kształt 2
C. Kształt 3
D. Kształt 4
Kształt 1 jest równoległobokiem, który w kontekście algorytmów często reprezentuje operacje wprowadzania lub wyprowadzania danych. W algorytmach i schematach blokowych, różne kształty mają przypisane konkretne funkcje, co jest standardem w projektowaniu programów. Równoległobok jest standardowym symbolem dla operacji wejścia i wyjścia, w tym wypisywania danych na ekranie. Przykładem zastosowania tego może być wypisywanie wyników obliczeń matematycznych na konsoli w językach takich jak Python czy Java. Używanie odpowiednich kształtów pozwala na łatwiejsze zrozumienie działania algorytmu przez innych programistów, co jest kluczowe w pracy zespołowej i podczas dokumentacji projektowej. Dobre praktyki w programowaniu zalecają jasność i przejrzystość schematów blokowych, co ułatwia ich późniejsze utrzymanie i rozwój. Szukając standardów, warto odnieść się do norm ISO/IEC 19515:2017 dotyczących diagramów przepływu pracy, które podkreślają znaczenie konwencji w projektowaniu algorytmów.

Pytanie 35

Jakie dane zostaną wyświetlone po wykonaniu poniższych poleceń? bool gotowe=true; cout<<gotowe;

A. 0
B. 1
C. tak
D. nie
W wyniku wykonania przedstawionych instrukcji, zostanie wypisane "1". Wynika to z faktu, że zmienna typu bool w języku C++ jest reprezentowana jako liczba całkowita, gdzie wartość "true" jest interpretowana jako "1", a "false" jako "0". Kiedy wykonujemy instrukcję z użyciem cout, która jest standardowym strumieniem wyjściowym w C++, zmienna gotowe, która przechowuje wartość true, zostanie przekonwertowana na jej reprezentację liczbową, co skutkuje wypisaniem "1" na ekran. W praktyce, zrozumienie konwersji typów danych w C++ jest kluczowe dla programowania, zwłaszcza w kontekście obliczeń logicznych i kontroli przepływu programu. Standardy C++ określają zasady konwersji typów, co wpływa na optymalizację kodu oraz unikanie błędów w logice programowania, dlatego wiedza na ten temat jest niezbędna dla każdego programisty.

Pytanie 36

W edytorze grafiki rastrowej funkcja „dodaj kanał alfa” umożliwia

A. wprowadzenie warstwy z przezroczystością
B. ustawienie prawidłowego balansu bieli
C. powiększenie głębi ostrości obrazu
D. wyostrzenie krawędzi obrazu
Dodanie kanału alfa w edytorze grafiki rastrowej to w zasadzie otworzenie drzwi do pracy z przezroczystością w obrazie. Kanał alfa jest dodatkową składową pikseli, która oprócz wartości RGB określa też poziom przejrzystości danego fragmentu grafiki. Moim zdaniem, to jeden z kluczowych elementów, jeśli chcesz przygotować grafikę do profesjonalnych zastosowań, np. do webdesignu, gier czy produkcji materiałów do druku z efektem nakładania. Standardowym przykładem jest sytuacja, gdy przygotowujesz logo i zależy Ci, żeby tło było przezroczyste – wtedy bez kanału alfa ani rusz. W praktyce, po dodaniu kanału alfa możesz wymazywać fragmenty lub stosować selektywne przezroczystości, co daje mnóstwo kreatywnych możliwości. To taka podstawa, bez której ciężko wyobrazić sobie pracę z warstwami, maskami czy efektami blendingu. Z mojego doświadczenia, osoby zaczynające pracę z grafiką często nie zdają sobie sprawy, jak ważne jest świadome zarządzanie przezroczystością – a kanał alfa właśnie to umożliwia. Nawet w najpopularniejszych formatach plików, jak PNG, obsługa kanału alfa jest już praktycznie standardem branżowym. Warto też wiedzieć, że w formatach takich jak JPEG tego nie uzyskasz, bo nie obsługują przezroczystości. Tak więc, jeśli planujesz pracę z grafiką wielowarstwową, przygotowywanie sprite’ów czy nowoczesnych UI, kanał alfa to absolutna podstawa, nie tylko bajer.

Pytanie 37

Kod

$liczba2 = &$liczba1;
wskazuje, że zmienna $liczba2 jest
A. referencją do $liczba1
B. wskaźnikiem do $liczba1
C. negacją logiczną zmiennej $liczba1
D. iloczynem logicznym ze zmienną $liczba1
Zmienna \$liczba2 jest referencją do zmiennej \$liczba1, co w języku PHP oznacza, że obie zmienne odwołują się do tego samego miejsca w pamięci. Dzięki temu każda zmiana wartości w jednej z nich automatycznie wpływa na drugą. Użycie referencji jest przydatne w sytuacjach, gdzie potrzebujemy pracować z dużymi strukturami danych bez tworzenia ich kopii, co pozwala na oszczędność pamięci i zwiększenie wydajności. Standardowym sposobem tworzenia referencji w PHP jest użycie operatora ampersand (&) przed nazwą zmiennej, co widzimy w przedstawionym kodzie. Dobre praktyki programistyczne sugerują stosowanie referencji w sposób przemyślany, aby uniknąć trudności w debugowaniu kodu, które mogą wynikać z nieoczekiwanych zmian wartości zmiennych. Referencje są również często wykorzystywane w funkcjach, aby przekazać zmienne przez referencję, co pozwala na modyfikację oryginalnych wartości przesyłanych argumentów."

Pytanie 38

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. klucza obcego.
B. klucza głównego.
C. wyłącznie typu logicznego.
D. wyłącznie typu tekstowego.
Poprawna jest odpowiedź dotycząca klucza głównego, bo to właśnie pole (lub zestaw pól) oznaczone jako PRIMARY KEY w tabeli pełni rolę jednoznacznego identyfikatora rekordu. W praktyce oznacza to, że dla każdej krotki (wiersza) w tabeli wartość klucza głównego musi być unikalna i nie może być pusta (NULL). Systemy baz danych, takie jak MySQL, PostgreSQL, SQL Server czy Oracle, egzekwują te zasady automatycznie – jeśli spróbujesz wstawić drugi rekord z tą samą wartością klucza głównego, dostaniesz błąd naruszenia unikalności. Moim zdaniem to jedna z kluczowych zasad normalnego projektowania baz danych: zawsze projektujemy tabelę zaczynając od przemyślania klucza głównego. W aplikacjach webowych bardzo często używa się prostego klucza głównego typu liczbowego (np. INT AUTO_INCREMENT lub SERIAL), który jest technicznym identyfikatorem rekordu. Dzięki temu łatwo się odwołać do konkretnego użytkownika, zamówienia czy produktu po jego ID. Klucz główny jest też podstawą do definiowania kluczy obcych w innych tabelach – relacje typu 1:N czy N:M opierają się właśnie na odwołaniach do wartości PRIMARY KEY. Z mojego doświadczenia wynika, że stosowanie sztucznych (surrogate) kluczy głównych, zamiast kombinowania z wieloma polami naturalnymi, upraszcza później zapytania SQL, modyfikacje struktury i integrację z kodem w PHP czy JavaScript. W dobrze zaprojektowanej bazie danych każda tabela relacyjna powinna mieć jasno zdefiniowany klucz główny, bo bez tego trudno mówić o porządnym zarządzaniu danymi, spójności referencyjnej i wydajnym indeksowaniu.

Pytanie 39

Podane w ramce polecenie SQL ma za zadanie

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustawić wartość pola id_klasy na 1 dla wszystkich rekordów tabeli Uczen
B. zwiększyć o jeden wartość pola id_klasy w jednym rekordzie tabeli Uczen
C. ustawić wartość w kolumnie id_klasy na 1 dla wszystkich rekordów tabeli Uczen
D. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1; modyfikuje wszystkie rekordy w tabeli Uczen, bo nie ma w nim klauzuli WHERE. To jest kluczowa rzecz: brak WHERE oznacza, że polecenie dotyczy całej tabeli, a nie pojedynczego wiersza. Wyrażenie id_klasy = id_klasy + 1 oznacza aktualizację kolumny na podstawie jej dotychczasowej wartości – po prostu dodajemy 1 do obecnej wartości w każdej krotce. Nie ustawiamy stałej wartości, tylko wykonujemy operację arytmetyczną na kolumnie.
W praktyce taki zapis stosuje się np. gdy chcemy przesunąć identyfikatory klas, zmienić numerację poziomów, podnieść wszystkim uczniom numer semestru albo zaktualizować jakiś licznik. W SQL to bardzo typowy wzorzec: UPDATE tabela SET kolumna = kolumna + wartość WHERE warunek; i w dobrych praktykach zawsze pilnuje się, żeby świadomie używać lub pomijać WHERE. Administratorzy baz danych zwykle wręcz powtarzają zasadę: przed uruchomieniem UPDATE bez WHERE zastanów się dwa razy, czy na pewno chcesz zmienić wszystkie wiersze.
Moim zdaniem warto zapamiętać dwie rzeczy: po pierwsze, UPDATE bez WHERE = aktualizacja wszystkich rekordów; po drugie, po lewej stronie znaku równości zawsze jest nazwa kolumny, którą zmieniamy, a po prawej – wyrażenie, z którego zostanie policzona nowa wartość. To wyrażenie może używać starej wartości tej samej kolumny, tak jak tutaj. W wielu systemach bazodanowych (np. MySQL, PostgreSQL, SQL Server) ta konstrukcja działa identycznie, więc to taki uniwersalny, standardowy zapis, zgodny z ogólnymi zasadami języka SQL.

Pytanie 40

Tabela Pacjenci ma pola: imie, nazwisko, wiek, lekarz_id. Aby zestawić raport zawierający wyłącznie imiona i nazwiska pacjentów poniżej 18 roku życia, którzy zapisani są do lekarza o id równym 6, można posłużyć się kwerendą SQL

A. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6;
B. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6;
C. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6;
D. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6;
Poprawna kwerenda to: SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6; i ona dokładnie realizuje założenia zadania. Po pierwsze, część SELECT imie, nazwisko określa, jakie kolumny mają znaleźć się w wyniku – tylko imię i nazwisko, bez wieku czy identyfikatora lekarza. To jest dobra praktyka: wybieramy tylko te dane, które są faktycznie potrzebne w raporcie, zamiast używać SELECT *.
Po drugie, FROM Pacjenci wskazuje tabelę źródłową. W standardowym SQL klauzula FROM jest obowiązkowa przy pobieraniu danych z tabel, bez niej serwer bazodanowy po prostu nie wie, skąd ma brać rekordy. Moim zdaniem to jest taki fundament, który warto mieć odruchowo w palcach.
Najważniejsza jest jednak klauzula WHERE wiek < 18 AND lekarz_id = 6. Warunek wiek < 18 filtruje wyłącznie pacjentów niepełnoletnich, a lekarz_id = 6 ogranicza wynik do tych osób, które przypisane są do konkretnego lekarza o identyfikatorze 6. Zastosowanie operatora logicznego AND oznacza, że oba warunki muszą być spełnione jednocześnie. To dokładnie odpowiada treści zadania: pacjent musi być jednocześnie poniżej 18 lat i zapisany do lekarza nr 6.
W praktyce takie kwerendy są podstawą raportowania w systemach medycznych, CRM-ach, systemach sprzedażowych itd. Na przykład podobną konstrukcję można użyć: SELECT * FROM Zamowienia WHERE status = 'nowe' AND kwota > 1000; – logika jest identyczna. Dobrą praktyką jest też czytelne zapisywanie warunków logicznych i unikanie niejednoznacznych kombinacji AND/OR bez nawiasów. W większych projektach standardem jest również używanie aliasów tabel, ale tu jedna tabela w zupełności wystarcza. Warto zapamiętać ten szablon: SELECT [kolumny] FROM [tabela] WHERE [warunek1] AND [warunek2]; bo pojawia się praktycznie wszędzie w pracy z SQL.