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 12:41
  • Data zakończenia: 8 czerwca 2026 13:02

Egzamin zdany!

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

Po zrealizowaniu przedstawionego fragmentu kodu w języku C/C++ do zmiennej o nazwie zmienna2 przypisany zostanie

int zmienna1 = 158; int *zmienna2 = &zmienna1;
A. przypisana zamieniona na łańcuch wartość, która jest przechowywana w zmienna1
B. przypisana liczba w kodzie binarnym odpowiadająca wartości, która jest przechowywana w zmienna1
C. przypisany adres zmiennej o nazwie zmienna1
D. przypisana ta sama wartość, która jest przechowywana w zmienna1
W odpowiedziach 2, 3 i 4 pojawiają się błędne interpretacje tego, co właściwie dzieje się w kodzie. Odpowiedź 2 sugeruje, że zmienna2 otrzyma tę samą wartość, co zmienna1, co jest błędne, ponieważ zmienna2 jest wskaźnikiem, a nie zmienną przechowującą wartość. W C/C++ wskaźnik przechowuje adres, a nie samą wartość. Odpowiedź 3 zakłada, że wartość przechowywana w zmienna1 zostanie przekształcona na łańcuch, co jest również niepoprawne. Wskaźniki nie dokonują automatycznych konwersji wartości na inne typy, a operator '&' zwraca adres zmiennej, a nie jej wartość. Wreszcie, odpowiedź 4 sugeruje, że zmienna2 otrzyma liczbę binarną odpowiadającą wartości zmiennej zmienna1. To również jest nieprawdziwe, ponieważ adres pamięci jest reprezentowany w systemie heksadecymalnym lub dziesiętnym, a nie binarnym. Typowe błędy myślowe prowadzące do takich niepoprawnych wniosków często wynikają z niewłaściwego zrozumienia różnicy między wartością a adresem w kontekście wskaźników. Zrozumienie tego rozróżnienia jest kluczowe dla efektywnego programowania w C/C++ i unikania problemów z zarządzaniem pamięcią.

Pytanie 2

Rozważ tabelę pracownicy. Jakie jest polecenie MySQL, które usuwa wszystkie wpisy z tabeli, gdzie pole rodzaj_umowy jest puste?

A. DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL
B. DROP pracownicy FROM rodzaj_umowy = 0
C. DROP pracownicy WHERE rodzaj_umowy IS NULL
D. DELETE pracownicy WHERE rodzaj_umowy ='brak'
Wszystkie zaproponowane odpowiedzi, z wyjątkiem poprawnej, zawierają istotne błędy syntaktyczne lub semantyczne, które skutkują nieprawidłowym usunięciem rekordów z tabeli. Przykładowo, użycie DROP zamiast DELETE jest całkowicie niewłaściwe, gdyż DROP służy do usunięcia całej tabeli, a nie tylko jej rekordów. W sytuacji, kiedy chcemy zachować strukturę tabeli, ale usunąć konkretne dane, wybór polecenia DELETE jest absolutnie kluczowy. Dodatkowo, w niektórych odpowiedziach odniesienie do wartości 'brak' jest problematyczne. W SQL, aby skutecznie usunąć rekordy, należy używać wartości NULL, ponieważ 'brak' może być interpretowane jako string, co nie odnosi się do braku jakiejkolwiek wartości. Wartości NULL i stringi to różne typy danych, co może prowadzić do niepożądanych rezultatów. Tak więc, próba usunięcia rekordów, które nie mają pola rodzaj_umowy wypełnionego, polegająca na sprawdzeniu ich równości z 'brak', nie tylko nie przyniesie oczekiwanych efektów, ale może także wprowadzać w błąd, sugerując, że takie wartości istnieją w bazie. Zrozumienie różnicy między tymi wartościami jest kluczowe dla prawidłowego zarządzania danymi w systemach bazodanowych.

Pytanie 3

Jakie jest zadanie poniższej pętli?

int x = 0;
while (x < 10)
{
    mojeKsiazki[x] = new Ksiazka();
    x++;
}
A. Stworzenie dziesięciu instancji obiektów typu Ksiazka.
B. Uzupełnienie tablicy mojeKsiazki danymi.
C. Wyświetlenie na ekranie informacji z tabeli Ksiazka.
D. Stworzenie jednego obiektu typu mojeKsiazki.
Wszystkie pozostałe odpowiedzi zawierają błędne interpretacje działania przedstawionej pętli. Po pierwsze, wypełnienie tabeli Ksiazka danymi nie jest precyzyjnie określone w kodzie. Pętla nie przypisuje żadnych konkretów do utworzonych obiektów, a jedynie je inicjalizuje. Odpowiedź dotycząca wypisania na ekranie danych tabeli Ksiazka również jest błędna. W kodzie nie ma żadnych instrukcji wyświetlających dane obiektów, więc ta interpretacja jest myląca. Kolejną nieprawidłowością jest sugestia, że pętla tworzy tylko jeden obiekt. W rzeczywistości pętla jest zaprojektowana tak, aby utworzyć osiem obiektów, co jest sprzeczne z założeniem, że jedna iteracja odpowiada jednemu obiektowi. Typowe błędy myślowe prowadzące do takich wniosków to brak zrozumienia mechanizmu działania pętli i nieumiejętność analizy kodu krok po kroku. Ważne jest, aby programiści potrafili czytać i analizować kod w kontekście ogólnych zasad programowania obiektowego oraz rozumieli rolę pętli w tworzeniu i zarządzaniu obiektami.

Pytanie 4

Która rozdzielczość jest wyrażana za pomocą jednostki ppi (ang. pixels per inch)?

A. Skanerów.
B. Obrazów rastrowych.
C. Obrazów tworzonych przez drukarki i plotery.
D. Cyfrowych urządzeń wykonujących pomiary.
Poprawnie – jednostka ppi (pixels per inch) opisuje rozdzielczość obrazów rastrowych, czyli takich, które składają się z siatki pojedynczych pikseli. Ppi mówi nam, ile pikseli przypada na jeden cal długości obrazu na ekranie lub w projekcie graficznym. Im większa liczba ppi, tym więcej informacji szczegółowych można upchnąć w tej samej fizycznej przestrzeni, a więc obraz wygląda ostrzej i bardziej szczegółowo.
W praktyce ppi wykorzystuje się głównie przy pracy z grafiką rastrową w programach typu Photoshop, GIMP czy Affinity Photo. Kiedy projektujesz layout strony WWW, baner, grafikę do aplikacji mobilnej albo makietę interfejsu, to operujesz właśnie pikselami i rozdzielczością wyrażoną w ppi. Standardowo przyjmuje się np. 72–96 ppi jako typową gęstość dla ekranów komputerów, chociaż w rzeczywistości nowoczesne monitory i smartfony mają często dużo wyższe wartości, a producenci chwalą się np. „Retina” albo „High DPI”.
Moim zdaniem ważne jest rozróżnienie: ppi dotyczy obrazu rastrowego jako pliku/projektu, a nie samego urządzenia drukującego. W webdesignie dobrą praktyką jest projektowanie w natywnej rozdzielczości urządzeń docelowych, z uwzględnieniem ekranów o wysokim ppi (tzw. urządzenia high-density) i przygotowywanie kilku wariantów grafik (np. 1x, 2x, 3x) tak, aby przeglądarka mogła dobrać odpowiednią wersję. W druku z kolei często przygotowuje się pliki rastrowe w rozdzielczości 300 ppi dla dobrej jakości wydruku materiałów takich jak ulotki czy plakaty. To nadal jest parametr obrazu rastrowego, który potem trafia do drukarki, a nie bezpośrednio parametr drukarki.

Pytanie 5

Po wykonaniu instrukcji języka JavaScript  x = Math.ceil(2.4); wartość zmiennej x będzie wynosić

A. 4
B. 2
C. 3
D. 8
W tym zadaniu najczęstszy problem polega na pomyleniu różnych sposobów zaokrąglania liczb w JavaScript. Wiele osób odruchowo myśli o zwykłym zaokrąglaniu matematycznym i zakłada, że 2.4 powinno zostać zaokrąglone do 2, bo jest bliżej dwójki niż trójki. To byłoby prawdziwe dla Math.round(2.4), ale nie dla Math.ceil(2.4). I tu jest cały haczyk.
Math.ceil() nie patrzy, czy liczba jest bliżej niższego czy wyższego całkowitego. Ta funkcja zawsze zaokrągla w górę, czyli w stronę dodatniej nieskończoności. Jeżeli mamy 2.0001, 2.4 czy 2.9 – w każdym z tych przypadków Math.ceil() zwróci 3. Jedynie gdy liczba jest już całkowita, np. 2.0, wynik pozostanie 2. Odpowiedź 2 wynika więc z błędnego założenia, że ceil działa jak klasyczne „zaokrąglanie w dół przy małej części ułamkowej”. Tymczasem do zaokrąglania w dół służy Math.floor(), która z 2.4 zrobiłaby 2.
Zdarza się też, że ktoś mechanicznie przeskakuje o „więcej niż jedną” jednostkę i wybiera 4 albo nawet 8, jakby ceil miał coś wspólnego z podwajaniem wartości albo jakimś magicznym przeskokiem. To już kompletnie nie ma uzasadnienia w definicji funkcji. Math.ceil() nie skaluje liczby, nie mnoży jej, nie patrzy na „odległość” od kolejnych całkowitych, tylko wybiera najbliższą liczbę całkowitą większą lub równą podanej wartości.
Z mojego doświadczenia taki błąd często wynika z mieszania w głowie kilku funkcji naraz: ceil, floor, round, czasem jeszcze parseInt. Dobra praktyka jest taka, żeby kojarzyć je kierunkowo: floor – w dół, ceil – w górę, round – do najbliższej. W codziennym programowaniu webowym ma to ogromne znaczenie, np. przy paginacji, gdzie zazwyczaj właśnie Math.ceil() liczy liczbę stron, bo nie możesz obciąć „końcówki” wyników. Jeśli zaokrąglisz w dół, użytkownik straci część danych. Jeżeli zrozumiesz dokładnie różnicę między tymi funkcjami, takie pytania nie będą sprawiały żadnego problemu.

Pytanie 6

W bazie danych księgarni znajduje się tabela ksiazki, która zawiera pola: id, idAutor, tytul, ileSprzedanych, oraz tabela autorzy z polami: id, imie, nazwisko. Jak można utworzyć raport sprzedanych książek zawierający tytuły oraz nazwiska autorów?

A. należy zdefiniować relację l..n pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
B. konieczne jest stworzenie kwerendy, która wyszukuje tytuły książek
C. trzeba utworzyć dwie oddzielne kwerendy: pierwsza do wyszukiwania tytułów książek, druga do wyszukiwania nazwisk autorów
D. należy zdefiniować relację 1..1 pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
Jak się przyjrzysz innym odpowiedziom, to zauważysz, że zdefiniowanie relacji 1..1 dla tabel 'ksiazki' i 'autorzy' to trochę nieporozumienie. Takie założenie sugeruje, że każdy autor mógłby napisać tylko jedną książkę, co jest mało prawdopodobne w rzeczywistości. Przecież jeden autor może mieć na swoim koncie wiele tytułów, więc prawidłowa relacja to l..n. Kwerenda, która tylko wyszukuje tytuły książek, nie bierze pod uwagę autorów, co sprawia, że nie dostajemy pełnych informacji o książkach. Dwie osobne kwerendy na tytuły i nazwiska autorów to jakieś nieporozumienie – jest to nieefektywne i nie pozwala na zebranie wyników w jednej, sensownej formie. Często w takich sytuacjach ludzie mylą się, bo nie rozumieją zasad relacyjnych baz danych i nie mają dobrego podejścia do projektowania schematu. To prowadzi później do problemów z zarządzaniem danymi i ich analizą.

Pytanie 7

W relacyjnych bazach danych encja jest przedstawiana przez

A. relację.
B. rekord.
C. kwerendę.
D. tabelę.
Nieprawidłowe odpowiedzi wskazują na pewne nieporozumienia dotyczące definicji podstawowych elementów relacyjnych baz danych. Rekord, chociaż jest istotnym składnikiem tabeli, nie reprezentuje encji, lecz pojedynczą instancję encji. Mylne jest również utożsamianie tabeli z relacją, ponieważ relacja w kontekście teorii zbiorów odnosi się do zbioru krotek, podczas gdy tabela jest fizycznym i trwałym przedstawieniem tychże zbiorów w bazie danych. Kwerenda natomiast to instrukcja używana do uzyskiwania danych z bazy danych, a nie do ich reprezentacji. To podejście do zrozumienia modeli relacyjnych może prowadzić do błędnych wniosków w projektowaniu baz danych. Dla przykładu, nieumiejętność rozróżnienia między tabelą a rekordem może skutkować niewłaściwym modelowaniem danych, co wpłynie negatywnie na wydajność i integralność bazy danych. Warto zwrócić uwagę na znaczenie właściwego stosowania terminologii oraz zrozumienie struktury danych w relacyjnych bazach danych, co jest kluczowe dla efektywnego zarządzania danymi i ich relacjami.

Pytanie 8

W jakim bloku powinien być umieszczony warunek pętli?

Ilustracja do pytania
A. Opcja B
B. Opcja D
C. Opcja C
D. Opcja A
Wybór innego bloku niż romb dla warunku pętli jest niezgodny z ogólnie przyjętymi standardami w modelowaniu procesów Rysunek schematu blokowego powinien wyraźnie przedstawiać logikę algorytmu aby zwiększyć jego przejrzystość i zrozumienie przez innych programistów lub analityków Wybór prostokąta jako bloku warunku jak w przypadku opcji A jest błędny ponieważ prostokąt jest typowo używany do reprezentacji operacji przetwarzania czyli bloków kodu które wykonują instrukcje bez decyzyjności Wybór elipsy z opcji B także jest nieodpowiedni ponieważ elipsa służy do oznaczania początku i końca procesu w schematach blokowych nie do przedstawiania warunków decyzyjnych Blok D jest symbolem dla danych wejściowych lub wyjściowych co nie ma związku z kontrolą przepływu w pętli Stosowanie nieodpowiednich symboli dla warunków decyzyjnych może prowadzić do błędnego zrozumienia i interpretacji schematu co w konsekwencji może wpłynąć na błąd w implementacji algorytmu Dlatego ważne jest aby stosować się do uznanych standardów i dobrych praktyk w modelowaniu procesów co ułatwia współpracę i komunikację w zespołach projektowych

Pytanie 9

Etap, w którym identyfikuje się oraz eliminuje błędy w kodzie źródłowym programów, to

A. standaryzacja
B. kompilowanie
C. debugowanie
D. normalizacja
Debugowanie to proces identyfikacji, analizy i eliminacji błędów w kodzie źródłowym programów komputerowych. Jest to kluczowy etap w cyklu życia oprogramowania, który zapewnia, że aplikacje działają zgodnie z założeniami projektowymi. W praktyce debugowanie może obejmować różne techniki, takie jak stosowanie punktów przerwania, śledzenie wartości zmiennych czy analiza stosu wywołań. Przykładowo, programista może użyć narzędzi debugujących, takich jak GDB dla programów w C/C++ lub wbudowane debugery w IDE, takie jak Visual Studio czy Eclipse. Debugowanie jest również związane z dobrymi praktykami, jak testowanie jednostkowe i integracyjne, które pozwalają na wczesne wykrycie błędów. Zrozumienie i umiejętność efektywnego debugowania jest niezbędna dla każdego programisty, aby tworzyć wysokiej jakości, niezawodne i wydajne oprogramowanie. Warto również podkreślić znaczenie dokumentacji oraz korzystania z systemów kontroli wersji, takich jak Git, które pozwalają śledzić zmiany w kodzie i ułatwiają proces debugowania.

Pytanie 10

W tabeli Recepta pola Imię oraz Nazwisko odnoszą się do pacjenta, dla którego recepta została wystawiona. Jaką kwerendę należy wykorzystać, aby dla wszystkich recept uzyskać datę ich wystawienia oraz imię i nazwisko lekarza, który je wystawił?

Ilustracja do pytania
A. SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
B. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta
C. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
D. SELECT Imie, Nazwisko, DataWystawienia FROM Recepta
Zauważyłem, że dobrze zrozumiałeś, jak skonstruować kwerendę SQL, która łączy dane lekarza z datą wystawienia recepty. Użycie klauzuli JOIN to kluczowa sprawa, bo dzięki temu możesz połączyć tabele Recepta i Lekarz na podstawie odpowiednich kluczy. Dzięki temu dostajesz imię i nazwisko lekarza, który wypisał daną receptę. Klauzula SELECT, którą używasz, wskazuje, co chcesz zobaczyć – w tym przypadku Imie i Nazwisko z tabeli Lekarz oraz Datę Wystawienia z tabeli Recepta. To jest naprawdę podstawowa umiejętność, która pomaga w pracy z relacyjnymi bazami danych. Z mojego doświadczenia, umiejętność tworzenia takich zapytań, pomoże nie tylko w nauce, ale i w przyszłej pracy, bo baza danych rzadko jest prosta i często trzeba łączyć różne dane. I jeszcze jedna rzecz: używanie JOIN w odpowiedni sposób może przyspieszyć działanie zapytań, co jest ważne, gdy mamy do czynienia z dużą ilością danych.

Pytanie 11

Aby dołączyć do strony zewnętrzny skrypt JavaScript o nazwie skrypt.js, należy zapisać w kodzie HTML:

A.
<script>skrypt.js</script>
B.
<script src="skrypt.js"></script>
C.
<link rel="script" href="skrypt.js">
D.
<link rel="JavaScript" href="skrypt.js">
Zewnętrzny skrypt JavaScript dołącza się znacznikiem <script> z atrybutem src wskazującym plik, np. <script src="skrypt.js"></script>. Przeglądarka pobiera wtedy i wykonuje kod z pliku. Znacznik domyka się </script>, nawet gdy korzysta z src. Dlatego poprawny jest <script src="skrypt.js"></script>.

Pytanie 12

Jakie znaczenie ma przedstawiony fragment kodu w języku C++?

Ilustracja do pytania
A. Trzy niezwiązane ze sobą zmienne.
B. Typ strukturalny składający się z trzech pól.
C. Interakcja między zmiennymi globalnymi a lokalnymi.
D. Zbiór zmiennych w hierarchii.
Ten fragment kodu w C++ definiuje strukturę o nazwie CONTACT, która ma trzy pola: nazwisko i telefon jako typy std::string oraz numer jako int. Struktury w C++ pozwalają na grupowanie różnych typów danych w jedną całość, co jest super przydatne w programowaniu, szczególnie gdy pracujemy z danymi. Dzięki strukturze kod widzi te dane jako jedno, co czyni go bardziej zorganizowanym. Na przykład w aplikacjach, gdzie musimy przetwarzać różne typy informacji, takie jak bazy danych czy systemy CRM, struktury sprawdzają się świetnie. Warto też dodać, że w nowoczesnym C++ wolemy korzystać z stringów, bo są łatwiejsze w użyciu niż tradycyjne tablice znaków, a standardowa biblioteka daje nam dodatkowe opcje. To podejście ułatwia życie programistom!

Pytanie 13

Jak nazywa się metoda sortowania polegająca na podziale danych na n równych przedziałów (kubełków), posortowaniu ich i scaleniu?

A. sortowanie szybkie
B. sortowanie przez wybór
C. sortowanie bąbelkowe
D. sortowanie kubełkowe
Pozostałe metody działają inaczej. Sortowanie szybkie (quicksort) dzieli dane wokół elementu osiowego, bąbelkowe wielokrotnie zamienia sąsiednie elementy, a przez wybór szuka w każdym kroku najmniejszego elementu. Podział na przedziały-kubełki i ich scalanie to sortowanie kubełkowe.

Pytanie 14

Która zasada dotyczy programowania strukturalnego?

A. należy często stosować instrukcję skoku goto
B. powtarzające się sekwencje instrukcji wydziela się do procedur i funkcji
C. tworzy się obiekty złożone z pól i metod
D. nie wolno korzystać z instrukcji warunkowych if
Programowanie strukturalne porządkuje kod za pomocą trzech podstawowych konstrukcji: sekwencji, wyboru (warunki) i iteracji (pętle), unikając chaotycznych skoków goto. Jego ważną zasadą jest dzielenie programu na mniejsze, nazwane podprogramy - procedury i funkcje - zwłaszcza dla powtarzających się sekwencji instrukcji. Dzięki temu kod jest czytelniejszy, łatwiejszy w utrzymaniu i można go ponownie wykorzystywać. Dlatego poprawna jest zasada o wydzielaniu powtarzalnych fragmentów do procedur i funkcji.

Pytanie 15

W CSS określono stylizację dla paragrafu, która nada mu następujące właściwości:

Ilustracja do pytania
A. tło czerwone, kolor tekstu niebieski, marginesy zewnętrzne ustawione na wartość 40 px
B. tło czerwone, kolor tekstu niebieski, marginesy wewnętrzne ustawione na wartość 40 px
C. tło niebieskie, kolor tekstu czerwony, marginesy wewnętrzne ustawione na wartość 40 px
D. tło niebieskie, kolor tekstu czerwony, marginesy zewnętrzne ustawione na wartość 40 px
W CSS stylizacja elementów HTML jest kluczowa dla tworzenia estetycznych i funkcjonalnych stron internetowych W przypadku tego pytania analizujemy przypisanie właściwości stylu do elementu paragrafu Kod CSS background-color red ustawia tło na czerwone color blue przypisuje niebieski kolor tekstu natomiast margin 40px ustawia marginesy zewnętrzne wokół elementu na 40 pikseli Każda z tych właściwości pełni określoną rolę background-color odnosi się do koloru tła całego elementu co jest przydatne w wyróżnianiu lub oddzielaniu sekcji strony color zmienia kolor tekstu co jest istotne dla czytelności i estetyki treści natomiast margin wpływa na odstęp pomiędzy elementami zapewniając przejrzystość i poprawne rozmieszczenie na stronie Zrozumienie tych właściwości jest kluczowe dla projektowania responsywnych i estetycznych stron internetowych W praktyce używa się ich do tworzenia interfejsów które są atrakcyjne wizualnie i funkcjonalne dla użytkowników Zgodnie z dobrymi praktykami warto dbać o kontrast i spójność wizualną co jest bezpośrednio związane z omawianymi właściwościami

Pytanie 16

Który format zapewnia największą kompresję (najmniejszy rozmiar) pliku dźwiękowego?

A. MP3
B. CD-Audio
C. WAV
D. PCM
Pozostałe formaty zajmują dużo więcej miejsca. WAV i PCM to zapis NIESKOMPRESOWANY (surowe próbki), a CD-Audio to jakość płyty CD, również bez kompresji stratnej. Najmniejszy plik daje stratny MP3.

Pytanie 17

Model fizyczny replikacji bazy danych pokazany na ilustracji jest modelem

Ilustracja do pytania
A. centralnego subskrybenta
B. równorzędnym
C. rozproszonym
D. centralnego wydawcy
Model centralnego wydawcy jest popularnym rozwiązaniem w replikacji baz danych gdzie jeden centralny serwer działa jako główny wydawca danych do wielu subskrybentów. Kluczowa cecha tego modelu polega na tym że wszystkie zmiany są inicjowane na głównym serwerze co pozwala na scentralizowane zarządzanie danymi. Centralny wydawca zapewnia że dane są spójne i aktualizowane we wszystkich subskrybentach zmniejszając ryzyko konfliktów danych. Taka architektura jest często stosowana w organizacjach z rozproszonymi jednostkami gdzie centralny serwer w centrali obsługuje oddziały terenowe. Przykładami zastosowań są systemy ERP i CRM które wymagają jednoczesnej replikacji danych do wielu lokalizacji. Dobre praktyki w tej architekturze obejmują regularne monitorowanie wydajności serwerów oraz optymalizację przepustowości sieci by minimalizować opóźnienia. Modele centralnego wydawcy wykorzystują technologie takie jak SQL Server Replication czy Oracle Streams które są dobrze udokumentowane i szeroko stosowane w branży zapewniając niezawodność i skalowalność.

Pytanie 18

Komenda skierowana do serwera bazy danych, która polega na zbieraniu, wyszukiwaniu lub zmienianiu danych w bazie, nosi nazwę

A. kopii
B. kolumny
C. formularza
D. kwerendy
Kwerenda to termin używany w kontekście baz danych, który odnosi się do polecenia wysyłanego do serwera bazy danych w celu wykonywania operacji na danych. Główne funkcje kwerend to zbieranie, modyfikowanie lub wyszukiwanie danych w tabelach bazy danych. Kwerendy są kluczowym elementem języka SQL (Structured Query Language), który jest standardem w zarządzaniu relacyjnymi bazami danych. Na przykład, kwerenda SELECT umożliwia pobieranie danych z określonych kolumn w tabeli, a kwerenda UPDATE pozwala na modyfikację istniejących danych. Dobre praktyki w pisaniu kwerend obejmują optymalizację zapytań, używanie indeksów, a także dbanie o bezpieczeństwo (np. unikanie ataków typu SQL Injection). Zrozumienie, jak działają kwerendy, jest niezbędne dla każdego, kto pracuje z bazami danych, ponieważ pozwala to na efektywne zarządzanie danymi oraz ich analizę.

Pytanie 19

Jakie zadania programistyczne należy wykonać na serwerze?

A. Ukrywanie i wyświetlanie elementów strony w zależności od aktualnej pozycji kursora
B. Zapisanie danych pozyskanych z aplikacji internetowej w bazie danych
C. Zmiana stylu HTML na stronie spowodowana ruchem kursora
D. Weryfikacja danych wprowadzonych do pola tekstowego na bieżąco
Zapisanie danych pobranych z aplikacji internetowej w bazie danych to zadanie, które powinno być wykonywane po stronie serwera ze względów bezpieczeństwa, integralności danych oraz zarządzania zasobami. Serwer jest odpowiedzialny za przechowywanie informacji, które mogą być wykorzystywane przez wielu użytkowników, co wymaga centralizacji ich przetwarzania. W przypadku aplikacji internetowych, dane są często przesyłane z klienta (przeglądarki) do serwera, gdzie są walidowane oraz zapisywane w bazach danych. Na przykład, gdy użytkownik rejestruje się w aplikacji, jego dane osobowe są wysyłane do serwera, który sprawdza poprawność tych informacji i zapisuje je w bazie danych. Właściwe implementacje powinny stosować bezpieczne połączenia (np. HTTPS), a także techniki, takie jak sanitizacja danych, aby unikać ataków typu SQL Injection. Dobrą praktyką jest także stosowanie ORM (Object-Relational Mapping), co umożliwia łatwiejsze zarządzanie danymi i ich relacjami. Przechowywanie danych po stronie serwera pozwala na efektywne zarządzanie zasobami i umożliwia późniejsze przetwarzanie informacji w sposób zorganizowany i bezpieczny.

Pytanie 20

Aby poprawnie zdefiniować hierarchiczną strukturę tekstu na stronie internetowej, należy zastosować:

A. znaczniki <frame> i <table>
B. znacznik <p> z formatowaniem
C. znaczniki <h1>, <h2> oraz <p>
D. znacznik <div>
Hierarchię tekstu na stronie budują znaczniki nagłówków <h1> do <h6>, gdzie <h1> to tytuł najważniejszy, a kolejne poziomy oznaczają sekcje i podsekcje. Przeglądarka, wyszukiwarki i czytniki ekranu odczytują z nich plan dokumentu, dlatego nagłówków używa się zgodnie ze znaczeniem, a nie dla samego wyglądu. Akapity <p> uzupełniają tę strukturę właściwą treścią. Taki układ poprawia czytelność, dostępność i pozycjonowanie strony - i właśnie dlatego poprawna odpowiedź łączy nagłówki z akapitem.

Pytanie 21

Jakiego typu zmienną tworzy deklaracja var x = "true"; w języku JavaScript?

A. nieokreślonego (undefined)
B. string (ciąg znaków)
C. liczbowego
D. logicznego (boolean)
Pozostałe typy nie pasują. Gdyby napisano var x = true; (bez cudzysłowów), byłby to typ LOGICZNY - ale cudzysłowy zmieniają to w tekst. Typ liczbowy dotyczy liczb, a undefined oznacza zmienną bez przypisanej wartości. "true" w cudzysłowach to string.

Pytanie 22

Który z podanych jest plikiem konfiguracyjnym serwera Apache?

A.
htaccess.cnf
B.
configuration.php
C.
.configuration
D.
.htaccess
Plik .htaccess to plik konfiguracyjny serwera Apache działający na poziomie katalogu - umieszczony w folderze zmienia ustawienia Apache dla niego i podkatalogów, bez ruszania głównej konfiguracji. Stosuje się go m.in. do przekierowań i reguł mod_rewrite, ochrony katalogu hasłem czy ustawień stron błędów. Główna, serwerowa konfiguracja Apache mieści się w pliku httpd.conf (lub apache2.conf), ale spośród podanych opcji to .htaccess jest realnym plikiem konfiguracyjnym Apache. Dlatego ta odpowiedź jest poprawna.

Pytanie 23

Zakładając, że zmienna tablicowa $tab jest wypełniona liczbami naturalnymi, wynikiem programu będzie wypisanie

$liczba = $tab[0];
foreach ($tab as $element)
{
    if ($element > $liczba)
        $liczba = $element;
}
echo $liczba;
A. najmniejszego elementu tablicy.
B. elementu tablicy, który jest równy wartości $tab[0].
C. największego elementu tablicy.
D. tych elementów, które są większe od zmiennej $liczba.
Poprawna odpowiedź sugeruje, że wynikiem programu będzie wypisanie największego elementu tablicy. To jest prawidłowe, ponieważ program używa techniki znanej jako pętla iteracyjna, aby przejść przez każdy element tablicy i porównać go z aktualnie największą znaną wartością. Na początku, największa znana wartość jest ustawiona na pierwszy element tablicy. Następnie, dla każdego elementu tablicy, program sprawdza, czy element jest większy od największej znanej wartości. Jeśli tak, to ta wartość staje się nową największą znaną wartością. Po przejściu przez wszystkie elementy, program wypisuje największą znaną wartość. Jest to standardowa technika stosowana w programowaniu, aby znaleźć największy element w tablicy lub liście.

Pytanie 24

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 3
B. 15
C. 5
D. 7
Analizując pozostałe odpowiedzi, można zauważyć, że wszystkie one są wynikiem błędnego rozumienia działania algorytmu. Odpowiedź 3 wynika z mylnego założenia, że N po pierwszej iteracji to ostateczna wartość. Przy pierwszej iteracji N wynosi 3, ale w kolejnych iteracjach ulega dalszym modyfikacjom. Odpowiedź 5 może pochodzić z błędnego dodania 1 do wartości N po pierwszej iteracji, co prowadzi do niepełnego zrozumienia pętli. Wartość 7 jest wynikiem niepoprawnego obliczenia po drugiej iteracji, gdy Z wynosi 2, jednak nie uwzględnia trzeciej iteracji. Wszystkie te odpowiedzi ilustrują typowe błędy w logice algorytmicznej, gdzie użytkownicy nie śledzą zmian wartości zmiennych w kolejnych krokach pętli. Kluczowe jest zrozumienie, że każda iteracja pętli wpływa na wynik końcowy poprzez modyfikację zmiennych, co jest niezbędne w programowaniu. Często popełnianym błędem jest zatrzymywanie się na etapie, na którym zmienna wydaje się mieć odpowiednią wartość, co prowadzi do nieuwzględnienia kolejnych obliczeń. Efektywne programowanie wymaga pełnego zrozumienia logiki pętli, a także umiejętności przewidywania dalszych zmian w zmiennych.

Pytanie 25

Funkcję o nazwie policz, napisaną w PHP, wywołano z argumentem $Z = 1. Jaki wynik zostanie zwrócony?

function policz($Z) { while($Z < 5) { $Z += 2 * $Z + 1; } return $Z; }
A. 7
B. 4
C. 1
D. 13
Wybór nieprawidłowych odpowiedzi często wynika z niepełnego zrozumienia działania pętli oraz sposobu aktualizacji zmiennych w programie. Odpowiedzi takie jak 7 czy 4 mogą sugerować, że osoba odpowiadająca mogła mylnie obliczyć pierwszą iterację pętli, myśląc, że $Z wzrasta tylko o 1, a nie o wartość wynikającą z równania 2 * $Z + 1. Z kolei odpowiedź 1 jest efektem nieznajomości zasady działania pętli while, ponieważ opiera się na niezaktualizowanej wartości $Z, co prowadzi do błędnych wniosków o braku zmian w wartościach zmiennej. Takie błędne rozumienie może prowadzić do sytuacji, w których programista podejmuje niewłaściwe decyzje przy implementacji algorytmów, co w dłuższej perspektywie wpływa na efektywność oraz prawidłowość działania aplikacji. Ważne jest, aby podczas korzystania z pętli zrozumieć, jak wartości zmiennych są aktualizowane w każdej iteracji oraz jakie są warunki przerywające działanie pętli. Odpowiednie zrozumienie tych mechanizmów jest kluczowe dla skutecznego programowania w PHP oraz w innych językach programowania, gdzie podobne struktury kontrolne są wykorzystywane.

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. sumy.
B. grupowania.
C. części wspólnej.
D. wykluczenia.
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

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

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

Pytanie 28

Który z przedstawionych poniżej fragmentów kodu HTML5 zostanie uznany przez walidator HTML za niepoprawny?

A. <p class= "stl" id= "a">tekst</p>
B. <p class= "stl">tekst</p>
C. <p class= "stl"><style>.a{color:#F00}</style>tekst</p>
D. <p class= "stl" style= "color: #F00 ">tekst</p>
Poprawna odpowiedź, która została wskazana, to <p class= "stl"><style>.a{color:#F00}</style>tekst</p>. W kontekście HTML5, element <style> jest przeznaczony do umieszczania w nagłówkach dokumentu (<head>), a nie wewnątrz elementów blokowych, takich jak <p>. Umieszczanie tagu <style> w tagu <p> narusza zasady dotyczące struktury dokumentu HTML. Walidatory HTML5, które sprawdzają zgodność kodu z obowiązującymi standardami W3C, uznają takie umieszczenie za błąd, ponieważ stylizacja powinna być oddzielona od treści. Zgodnie z najlepszymi praktykami, CSS powinno być zaimplementowane w plikach zewnętrznych lub sekcjach <head>, co ułatwia utrzymanie i modyfikację kodu. Przykładem poprawnej struktury może być: <head><style>.a{color:#F00}</style></head><body><p class="stl">tekst</p></body>. To zapewnia przejrzystość i zgodność z zasadami HTML5, co jest kluczowe dla SEO oraz dostępności strony.

Pytanie 29

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Kraków"
Wskaż zapytanie, które zwróci te same dane:
A. SELECT nazwisko, imie FROM mieszkancy AS "Poznań" OR "Kraków"
B. SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING "Poznań" OR "Kraków"
C. SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" OR miasto="Kraków"
D. SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN "Poznań" OR "Kraków"
Wybrana odpowiedź jest poprawna, ponieważ wykorzystuje operator logiczny OR do połączenia dwóch warunków w klauzuli WHERE. W wyniku tego zapytania zostaną zwrócone wszystkie rekordy z tabeli 'mieszkancy', gdzie miasto to 'Poznań' lub 'Kraków'. To podejście jest zgodne z zasadami SQL, gdzie operator OR umożliwia łączenie warunków, co jest powszechnie stosowane w praktyce. Warto zauważyć, że zapytanie z wykorzystaniem operatora UNION ALL, które było pierwotnie zdefiniowane, również łączy wyniki z dwóch zapytań, ale każdy SELECT działa osobno. Użycie OR w tym przypadku jest bardziej efektywne, ponieważ pozwala na jedno zapytanie, co może przyspieszyć wykonanie w porównaniu do kilku zapytań UNION. W praktycznych zastosowaniach, gdy mamy do czynienia z wieloma kryteriami, stosowanie operatorów logicznych jest kluczowe dla uzyskania precyzyjnych wyników.

Pytanie 30

Pętla while ma działać, dopóki zmienna x należy do przedziału otwartego (-2, 5). Który warunek to zapisuje (PHP)?

A.
($x > -2) || ($x > 5)
B.
($x < -2) || ($x > 5)
C.
($x == -2) && ($x < 5)
D.
($x > -2) && ($x < 5)
Pozostałe warunki źle opisują przedział. ($x == -2) && ($x < 5) wymagałoby, by x był równy dokładnie -2 (a to wartość WYŁĄCZONA z przedziału otwartego). Warianty z || (($x > -2) || ($x > 5), ($x < -2) || ($x > 5)) opisują sumę zbiorów, czyli wartości POZA przedziałem albo zbyt szeroko. Przedział (-2, 5) to ($x > -2) && ($x < 5).

Pytanie 31

Komunikat ma pojawiać się tylko przy PIERWSZEJ wizycie użytkownika. Którą funkcję PHP wykorzystać?

A.
mysqli_change_user
B.
setcookie
C.
session_destroy
D.
define
Pozostałe funkcje nie zapamiętają faktu wizyty. define() tworzy stałą istniejącą tylko podczas jednego wykonania skryptu. session_destroy() niszczy sesję, a mysqli_change_user() zmienia użytkownika połączenia z bazą. Trwały ślad między wizytami zostawia setcookie().

Pytanie 32

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć zapisu

A. p {text-indent: 30px;}
B. p {line-height: 30px;}
C. p {line-indent: 30px;}
D. p {text-spacing: 30px;}
Pierwsza z odpowiedzi, p {line-height: 30px;}, odnosi się do interlinii, czyli przestrzeni między poszczególnymi liniami tekstu. Ustawienie line-height na 30 pikseli wpłynie na odległość między liniami, ale nie wprowadzi wcięcia, co jest kluczowe w przypadku tego pytania. Użytkownicy często mylą te właściwości, co prowadzi do nieporozumień w zakresie formatowania tekstu. Druga odpowiedź, p {text-spacing: 30px;}, jest błędna, ponieważ text-spacing nie jest standardową właściwością CSS. CSS nie definiuje takiej właściwości, co może prowadzić do frustracji podczas pracy nad stylizacją dokumentów. W przypadku trzeciej odpowiedzi, p {line-indent: 30px;}, również nie jest to poprawne podejście, gdyż line-indent nie jest uznawane za standardową właściwość CSS, więc jego zastosowanie nie przyniesie oczekiwanych efektów. Typowym błędem jest zakładanie, że każda właściwość związana z tekstem może być zastosowana w podobny sposób, co prowadzi do niepoprawnych wyników. Kluczowe jest zrozumienie różnicy między właściwościami, takimi jak line-height, text-indent i inne, aby skutecznie stylizować tekst na stronach internetowych.

Pytanie 33

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

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

Pytanie 34

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL pozwala na

A. przyznawanie praw dostępu do tabeli
B. przyznawanie uprawnień za pomocą ustalonego schematu
C. pozbawianie użytkownika uprawnień
D. usuwanie konta użytkownika z bazy danych
Pierwsza z błędnych odpowiedzi dotyczy nadawania uprawnień przy użyciu schematu, co jest trochę mylące. REVOKE nie nadaje, a odbiera uprawnienia. Wiele osób to myli, co prowadzi do zamieszania w zarządzaniu uprawnieniami. Kolejna nieprawidłowa odpowiedź mówi o usuwaniu użytkownika z bazy, co też jest błędne, bo REVOKE nie usuwa kont, a tylko zmienia uprawnienia. Kluczowe jest, żeby rozumieć różnicę między zarządzaniem uprawnieniami a użytkownikami. Ostatnia z błędnych odpowiedzi sugeruje, że to polecenie nadaje prawa do tabeli, a to totalnie mija się z prawdą, bo jego zadaniem jest właśnie odbieranie takich uprawnień. Z mojego doświadczenia, przydatne jest stosowanie GRANT do nadawania uprawnień, żeby uniknąć zamieszania. W zarządzaniu bazami danych ważne jest, żeby wiedzieć, jakie operacje dotyczą bezpieczeństwa danych i jak je właściwie stosować, żeby wszystko działało jak należy.

Pytanie 35

W języku CSS atrybut font-size przyjmuje, zgodnie z nazwami, wartości

A. z zestawu xx-small, x-small, medium, large, x-large, xx-large
B. wyłącznie small, medium, large
C. zaledwie big oraz small
D. jedynie small, smaller, large, larger
Właściwość font-size w CSS pozwala na określenie rozmiaru czcionki za pomocą różnych wartości, w tym predefiniowanych słów kluczowych, które umożliwiają łatwe dostosowanie wielkości tekstu w dokumentach HTML. Oprócz typowych wartości takich jak small, medium i large, CSS oferuje również bardziej szczegółowe opcje, takie jak xx-small, x-small, x-large oraz xx-large. Dzięki temu projektanci mogą lepiej dopasować rozmiar tekstu do kontekstu wizualnego strony. Użycie tych wartości pozwala na uniknięcie problemów z uniwersalnością, gdyż są one zrozumiałe i zgodne z różnymi rozdzielczościami ekranów. Na przykład, podczas projektowania responsywnej witryny, zastosowanie wartości xx-large dla nagłówków oraz x-small dla przypisów skutecznie poprawia czytelność i estetykę. Zgodnie z najlepszymi praktykami, warto również rozważyć użycie jednostek względnych, takich jak em czy rem, co pozwala na jeszcze większą elastyczność w dostosowywaniu rozmiarów tekstu do preferencji użytkownika oraz rozmiaru ekranu.

Pytanie 36

Źródłem danych dla raportu może być

A. zapytanie INSERT INTO
B. makropolecenie
C. inny raport
D. tabela
Tabela jest podstawowym elementem struktury bazy danych, który służy jako źródło danych dla raportów. Tabele przechowują zorganizowane informacje w formie wierszy i kolumn, co umożliwia łatwy dostęp i analizę danych. Każda kolumna w tabeli reprezentuje atrybut, a każdy wiersz to pojedynczy rekord z danymi. Przykładowo, w tabeli zawierającej informacje o klientach, kolumny mogą obejmować imię, nazwisko, adres e-mail i numer telefonu. Dzięki standardom takim jak SQL (Structured Query Language), można łatwo wykonywać operacje na tych tabelach, takie jak selekcja, aktualizacja czy usuwanie danych. Tabele są fundamentalne w systemach zarządzania bazami danych (DBMS) i stanowią podstawowe źródło dla generowania raportów, które mogą być wykorzystywane w różnych kontekstach biznesowych. W raportach można agregować dane, obliczać różne wskaźniki oraz wizualizować wyniki, co czyni tabele nieocenionym elementem w analizie danych.

Pytanie 37

Aby przekształcić obraz w formacie PNG tak, by jego tło stało się przezroczyste, wymagane jest

A. dodanie kanału alfa.
B. zapisanie go w formacie BMP.
C. ulepszenie nasycenia kolorów.
D. odpowiednie przycięcie.
Dodanie kanału alfa do obrazu w formacie PNG jest kluczowe dla uzyskania przezroczystego tła. Kanał alfa to dodatkowa warstwa informacji w obrazie, która definiuje przezroczystość każdego piksela. Dzięki niemu, obrazy PNG mogą przechowywać informacje o tym, które części obrazu są całkowicie przezroczyste, częściowo przezroczyste lub całkowicie nieprzezroczyste. To oznacza, że stosując kanał alfa, możemy tworzyć złożone efekty wizualne, takie jak cienie czy gradienty, które są nieosiągalne w formatach nieobsługujących przezroczystości, jak JPEG. W praktyce, dodanie kanału alfa można zrealizować w programach graficznych, takich jak Adobe Photoshop czy GIMP, za pomocą opcji 'Dodaj kanał alfa' w menu warstw. Umożliwia to edytowanie tła obrazu, eliminację niepożądanych elementów oraz integrację z różnymi tłem w dokumentach i stronach internetowych, co jest szczególnie istotne w projektowaniu graficznym i web designie. Zatem, znajomość obsługi kanału alfa oraz umiejętność pracy z formatem PNG są niezbędne dla profesjonalnych grafików w nowoczesnym środowisku projektowym.

Pytanie 38

Poniżej przedstawiono sposób obsługi:

<?php
if (!isset($_COOKIE[$nazwa]))
    echo "nie ustawiono!";
else
    echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. ciasteczek
B. baz danych
C. sesji
D. zmiennych tekstowych
Kod PHP przedstawiony w pytaniu ilustruje użycie mechanizmu ciasteczek w przeglądarce. Ciasteczka to małe pliki tekstowe, które serwer umieszcza na komputerze użytkownika, aby przechowywać informacje między sesjami HTTP. W tym przypadku kod sprawdza, czy zmienna o nazwie $nazwa jest ustawiona w tablicy superglobalnej $_COOKIE. Jeśli ciasteczko o danej nazwie nie zostało ustawione, skrypt zwraca komunikat 'nie ustawiono!'. Gdy ciasteczko istnieje, wyświetlana jest jego wartość. Ciasteczka są powszechnie stosowane do śledzenia sesji użytkowników, przechowywania preferencji czy zachowania stanu zalogowania. Ważnym aspektem jest zrozumienie, że ciasteczka działają po stronie klienta i mogą być modyfikowane przez użytkownika, dlatego powinny być używane z ostrożnością i w połączeniu z innymi mechanizmami zabezpieczeń. Warto pamiętać, że ciasteczka mają ograniczenia co do wielkości i liczby, które mogą być przechowywane przez przeglądarkę. Implementacja ciasteczek powinna być zgodna z regulacjami dotyczącymi prywatności, takimi jak RODO, które nakładają obowiązek informowania użytkowników o ich używaniu oraz uzyskiwania zgody.

Pytanie 39

Jakie zapytanie SQL należy użyć, aby zmienić strukturę już istniejącej tabeli?

A. ALTER TABLE
B. CREATE TABLE
C. INSERT INTO
D. UPDATE
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ to polecenie SQL służy do modyfikacji struktury istniejącej tabeli w bazie danych. Dzięki 'ALTER TABLE' możemy dodawać nowe kolumny, modyfikować istniejące kolumny (np. zmieniając ich typ danych czy nazwę), a także usuwać kolumny, które nie są już potrzebne. Przykładowe zastosowanie polecenia to dodanie nowej kolumny do tabeli pracowników: 'ALTER TABLE pracownicy ADD COLUMN wiek INT;'. Ponadto, 'ALTER TABLE' pozwala na wprowadzanie ograniczeń, takich jak klucze obce czy unikalności, co jest kluczowe w kontekście integracji danych i zapewnienia ich spójności. W praktyce, odpowiednie zarządzanie strukturą tabel jest fundamentalnym aspektem utrzymania bazy danych w dobrej kondycji. Należy pamiętać, aby stosować te zmiany zgodnie z najlepszymi praktykami, takimi jak testowanie zapytań w środowisku deweloperskim przed ich wdrożeniem w produkcji, co minimalizuje ryzyko błędów i strat danych.

Pytanie 40

Który model barw opisuje kolor za pomocą stożka przestrzeni barw?

A. CIE
B. CMYK
C. CMY
D. HSV
Model HSV przedstawia się geometrycznie jako stożek (lub walec) przestrzeni barw: kąt to odcień, odległość od osi - nasycenie, a wysokość - jasność. Dlatego stożkiem barw opisuje kolor HSV.