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: 29 lipca 2026 21:17
  • Data zakończenia: 29 lipca 2026 21:37

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

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

Określ rodzaj powiązania pomiędzy tabelami: Tabela1 oraz Tabela3

Ilustracja do pytania
A. Jeden do jednego
B. Wiele do wielu
C. Jeden do wielu
D. Wiele do jednego
Zrozumienie typów relacji w bazach danych jest kluczowym aspektem projektowania efektywnych i zrównoważonych systemów informatycznych. Jednym z najczęstszych błędów jest mylenie relacji wiele do wielu z innymi rodzajami relacji, takimi jak jeden do wielu lub jeden do jednego. Relacja jeden do wielu oznacza, że jeden rekord w jednej tabeli jest powiązany z wieloma rekordami w innej tabeli, co w przypadku Tabela1 i Tabela3 nie jest stosowne, ponieważ wymagałoby to bezpośredniego połączenia między tymi tabelami bez użycia tabeli pośredniej. Z kolei relacja jeden do jednego implikuje, że każdy rekord w jednej tabeli odpowiada dokładnie jednemu rekordowi w drugiej tabeli, co ogranicza elastyczność danych i nie pasuje do struktur gdzie występuje wiele powiązań, jak w przypadku szkół, gdzie wielu uczniów może mieć zajęcia z tym samym nauczycielem. Wreszcie, relacja wiele do jednego jest odwrotnością relacji jeden do wielu, gdzie wiele rekordów w jednej tabeli odpowiada jednemu rekordowi w drugiej tabeli, co również nie znajduje odzwierciedlenia w przedstawionym schemacie, jako że nie opisuje wzajemnych powiązań uczniów i nauczycieli. Zrozumienie i prawidłowe zastosowanie relacji wiele do wielu eliminuje redundancję danych i umożliwia efektywne przechowywanie oraz przetwarzanie informacji w systemach zarządzania bazami danych. Kluczem do sukcesu jest tutaj wykorzystanie tabel pośrednich do prawidłowego mapowania powiązań między tabelami, co jest standardem w dobrych praktykach projektowania baz danych.

Pytanie 2

Które zapytanie SQL zwróci wszystkie kolumny z tabeli produkty?

A.
FETCH * FROM produkty;
B.
GET * FROM produkty;
C.
SELECT * FROM produkty;
D.
SELECT produkty FROM *;
Aby pobrać wszystkie kolumny tabeli, w miejscu listy pól wstawia się gwiazdkę: SELECT * FROM produkty;. Symbol * znaczy „wszystkie pola”, więc zapytanie zwróci pełne wiersze tabeli produkty. Dlatego ta kwerenda jest poprawna.

Pytanie 3

Witryna internetowa powinna mieć zaprezentowaną strukturę bloków. Aby osiągnąć ten układ, należy przypisać sekcjom odpowiednie właściwości w następujący sposób:

Ilustracja do pytania
A. float wyłącznie dla bloku 5; clear dla bloku 2
B. float tylko dla bloków: 3, 4; clear dla bloku 5
C. float tylko dla bloków: 2, 3, 4; clear dla bloku 5
D. float tylko dla bloku 2; clear dla bloków: 3, 4
Żeby osiągnąć układ, który widzisz w pytaniu, musisz dobrze zrozumieć, jak działają właściwości CSS float i clear. Właściwość float umożliwia przesunięcie elementów w lewo lub w prawo w stosunku do ich kontenera oraz innych elementów. To jest przydatne do tworzenia układów kolumnowych. W tym przypadku bloki 2, 3 i 4 muszą być przesunięte w prawo, żeby ułożyły się obok siebie na poziomie. Blok 2 jest największy i pełni rolę ramki dla pozostałych bloków. Użycie float dla tych bloków daje oczekiwany efekt. Jednak żeby blok 5 znalazł się pod całą strukturą, musisz zastosować clear dla bloku 5. Dzięki temu clear, blok 5 nie będzie otoczony przez inne elementy z float i znajdzie się poniżej. Z mojego doświadczenia, praktyczne wykorzystanie float i clear jest świetne, bo pozwala na tworzenie responsywnych układów bez potrzeby sięgania po bardziej skomplikowane metody jak flexbox czy grid. Choć float nie jest już tak powszechnie stosowany w profesjonalnych projektach, dobrze jest znać jego działanie i ograniczenia, żeby lepiej rozumieć ewolucję CSS oraz móc pracować z kodem, który jeszcze wykorzystuje te klasyczne metody.

Pytanie 4

Jakiego typu tablicy dotyczy instrukcja dodawania elementu w JavaScript?

Tablica['technik'] = 'informatyk';
A. asocjacyjnej
B. wielowymiarowej
C. liczbowej
D. stałej
Tablice statyczne są strukturami danych, których rozmiar jest ustalony podczas deklaracji i nie może być zmieniony w trakcie działania programu. W językach programowania takich jak C czy C++ tablice statyczne są powszechnie wykorzystywane, lecz w JavaScript, gdzie struktury danych są zazwyczaj dynamiczne, taki koncept jest mniej istotny. Tablice numeryczne w kontekście JavaScript to po prostu tablice, które używają indeksów liczbowych do przechowywania danych. Jednakże, możliwość przypisania wartości do indeksu tekstowego, jak w przypadku 'Tablica['technik'] = 'informatyk';', jest charakterystyczna dla tablic asocjacyjnych, nie dla numerycznych. Tablice numeryczne mogą przetrzymywać dane w uporządkowany sposób, ale nie umożliwiają użycia kluczy innych niż liczby całkowite, co ogranicza ich zastosowania w porównaniu do tablic asocjacyjnych. Tablice wielowymiarowe to kolekcje tablic, gdzie każda komórka może przechowywać inną tablicę. W JavaScript można tworzyć tablice wielowymiarowe poprzez zagnieżdżanie tablic, ale nie ma to związku z przypisywaniem kluczy tekstowych. Zastosowanie nazwanych kluczy, jak w podanym przykładzie, jest specyficzne dla tablic asocjacyjnych, które w JavaScript są implementowane jako obiekty i pozwalają na bardziej elastyczne zarządzanie danymi niż tablice wielowymiarowe, które skupiają się na przechowywaniu danych w formie tabeli. Typowym błędem jest mylenie tablic numerycznych z asocjacyjnymi, co może prowadzić do błędów w kodzie związanych z nieprawidłowym dostępem do danych lub ich organizacją, co wyraźnie pokazuje, że zrozumienie różnic między tymi strukturami danych jest kluczowe dla efektywnego programowania w JavaScript.

Pytanie 5

Określ rezultat działania podanego kodu PHP, jeśli zmienna tab jest tablicą.

$tab = explode(",","jelenie,sarny,dziki,lisy,borsuki"); echo $tab[1]." ".$tab[2];
A. jelenie sarny
B. lisy borsuki
C. sarny dziki
D. dziki lisy
Wynik działania tego kodu PHP to 'sarny dziki'. Dzieje się tak dzięki funkcji explode oraz indeksom tablicy. Funkcja explode dzieli tekst na kawałki według separatora, który w tym przypadku to przecinek. Więc, kiedy zastosujemy ją na ciągu 'jelenie,sarny,dziki,lisy,borsuki', dostaniemy tablicę, gdzie indeks 0 to 'jelenie', indeks 1 to 'sarny', indeks 2 to 'dziki', indeks 3 to 'lisy', a indeks 4 to 'borsuki'. Potem, polecenie echo wyświetla wartości z indeksów 1 i 2, które mają 'sarny' oraz 'dziki'. To całkiem praktyczne w programowaniu, zwłaszcza gdy przerabiamy i manipulujemy danymi tekstowymi. Dzięki explode łatwo dzielimy dane na mniejsze kawałki, co przydaje się w różnych sytuacjach, jak analiza danych czy robienie formularzy, a nawet w pracy z plikami CSV.

Pytanie 6

Co sprawdzić przed wykonaniem kopii zapasowej bazy, aby dało się ją potem poprawnie odtworzyć?

A. prawa dostępu do serwera
B. poprawność składni zapytań
C. spójność bazy danych
D. możliwość udostępnienia bazy
Przed wykonaniem kopii zapasowej należy sprawdzić SPÓJNOŚĆ bazy - jeśli dane są uszkodzone lub niespójne, backup utrwali ten zły stan i odtworzona baza również będzie wadliwa. Weryfikacja spójności daje pewność, że kopia nadaje się do poprawnego przywrócenia. Dlatego sprawdza się spójność bazy danych.

Pytanie 7

W skrypcie PHP, aby zamknąć otwarte wcześniej połączenie z bazą danych, należy wywołać funkcję:

A.
mysqli_connect
B.
mysqli_query
C.
mysqli_select_db
D.
mysqli_close
Połączenie z bazą otwarte przez mysqli_connect zamyka się funkcją mysqli_close, której przekazuje się uchwyt połączenia. Zwalnia ona zasoby serwera po zakończeniu pracy z bazą. Choć PHP zamyka połączenia automatycznie po zakończeniu skryptu, dobrym nawykiem jest zamykać je jawnie. Dlatego do zamknięcia połączenia służy mysqli_close.

Pytanie 8

W HTML formularzu użyto elementu <input>. Pole, które się pojawi, ma pozwalać na wprowadzenie maksymalnie

<input type="password" size="30" maxlength="20">
A. 30 znaków, które nie będą widoczne w polu tekstowym
B. 20 znaków, które będą widoczne w trakcie wprowadzania
C. 30 znaków, które będą widoczne podczas wpisywania
D. 20 znaków, które nie będą widoczne w polu tekstowym
Znacznik <input type="password"> w HTML jest rzeczywiście super ważny. Umożliwia on użytkownikom wpisywanie haseł, a to, co najfajniejsze, to że znaki są ukryte, więc nikt nie zobaczy, co piszesz. Atrybut maxlength="20" jest tutaj pomocny, bo ogranicza liczbę znaków do 20, co jest praktyczne - zbyt długie hasła ciężko zapamiętać, a krótkie mogą być niebezpieczne. Natomiast size="30" to tylko kwestia szerokości pola, więc nie wpływa na ilość znaków, które można wpisać. Generalnie, dobrze jest trzymać się tych ograniczeń, bo to pomaga w projektowaniu formularzy i utrzymywaniu porządku w interfejsie. Z mojej perspektywy, znajomość tych atrybutów jest naprawdę przydatna przy tworzeniu stron, bo można lepiej zrozumieć, jak to wszystko działa.

Pytanie 9

W dostępnej tabeli mieszkań znajdują się kolumny o nazwach: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie podanej kwerendy SQL SELECT spowoduje, że zostaną wyświetlone

Ilustracja do pytania
A. metraż oraz cena tych mieszkań, które mają co najmniej 3 pokoje
B. wszystkie informacje oprócz adresu tych mieszkań, które mają więcej niż 3 pokoje
C. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
D. wszystkie informacje dotyczące mieszkań, które mają co najmniej 3 pokoje
Kwerenda SQL SELECT metraz cena FROM mieszkania WHERE ile_pokoi 3 jest zapytaniem, które precyzyjnie określa zakres danych do wyświetlenia na podstawie warunku. Polecenie SELECT określa, które kolumny będą zwracane w wyniku kwerendy w tym przypadku metraz i cena. Dzięki temu uzyskujemy tylko te dane które są istotne w kontekście analizy efektywności lub porównania cen nieruchomości o określonym rozmiarze w ramach bazy danych. Użycie klauzuli WHERE ile_pokoi 3 definiuje dodatkowy filtr aby wyświetlane były jedynie te rekordy które spełniają podany warunek logiczny czyli ilość pokoi większą niż trzy. Jest to powszechnie stosowana praktyka w pracy z bazami danych pozwalająca na efektywne przetwarzanie i analizę dużych zbiorów danych poprzez ograniczenie zwracanych wyników do tych które są najbardziej istotne dla użytkownika. Takie podejście pozwala na optymalizację wydajności zapytań SQL co jest kluczowe w środowiskach produkcyjnych gdzie czas odpowiedzi i obciążenie serwera mają istotne znaczenie

Pytanie 10

W PHP tablice asocjacyjne to struktury, w których

A. są co najmniej dwa wymiary
B. w każdej pozycji tablicy znajduje się inna tablica
C. elementy tablicy są zawsze numerowane od zera
D. indeks może być dowolnym ciągiem znaków
W przypadku niepoprawnych odpowiedzi, warto zwrócić uwagę na podstawowe koncepcje dotyczące tablic asocjacyjnych. Gdybyśmy uznali, że tablica asocjacyjna musi mieć przynajmniej dwa wymiary, byłoby to niezgodne z definicją, ponieważ tablice asocjacyjne w PHP mogą być jednowymiarowe. W rzeczywistości, tablica asocjacyjna to po prostu kolekcja par klucz-wartość, gdzie klucz może być unikalnym napisem, a wartość może być dowolnym typem danych. Odpowiedź sugerująca, że w każdej komórce tablicy przechowywana jest inna tablica, również jest myląca, ponieważ tablice asocjacyjne mogą przechowywać różne typy danych, a nie tylko inne tablice. Dlatego każde przechowywane dane mogą być różnorodne, co czyni je elastycznym narzędziem. Z kolei stwierdzenie, że elementy tablicy są zawsze indeksowane od liczby równej 0, odnosi się do standardowych tablic numerowanych w PHP, a nie tablic asocjacyjnych, gdzie klucze mogą przybierać różne wartości, a nie tylko liczby. Te nieporozumienia mogą prowadzić do nieefektywnego użycia tablic asocjacyjnych, co w praktyce skutkuje trudnościami w zarządzaniu danymi i ich dostępem. Aby efektywnie korzystać z tablic asocjacyjnych, kluczowe jest zrozumienie ich podstawowych właściwości oraz różnic w porównaniu do tablic numerowanych.

Pytanie 11

Zademonstrowano fragment kodu JavaScript. Po jego uruchomieniu zmienna str2 otrzyma wartość.

var str1 = "JavaScript";
var str2 = str1.substring(2, 6);
A. avaS
B. avaScr
C. vaSc
D. vaScri
W przedstawionym fragmencie kodu JavaScript mamy do czynienia z metodą substring, która jest wykorzystywana do wyodrębnienia części łańcucha tekstowego. Wartością str1 jest 'JavaScript', a błędnie zapisany fragment 'str1.substring2,6)' wskazuje na próbę użycia metody substring, przy czym prawidłowy zapis to 'str1.substring(2, 6)'. Metoda substring przyjmuje dwa argumenty: indeks początkowy oraz indeks końcowy. W przypadku 'JavaScript', indeks 2 wskazuje na literę 'v', a indeks 6 na literę 'S'. Zatem metoda substring wyodrębni znaki od indeksu 2 do 5 (indeks 6 nie jest włączony), co daje wynik 'vaSc'. Warto również podkreślić, że metody pracy z łańcuchami tekstowymi są podstawą programowania w JavaScript, umożliwiając manipulację danymi tekstowymi i są zgodne z ECMAScript, co czyni je standardowymi dla tego języka. Dobrą praktyką jest zawsze zwracanie uwagi na poprawne użycie nawiasów oraz argumentów w metodach, co ma kluczowe znaczenie dla poprawności kodu. Przykład użycia: str1.substring(2, 6) zwróci 'vaSc', a str1.substring(0, 4) zwróci 'Java'.

Pytanie 12

Jakie jest zadanie funkcji PHP o nazwie mysql_num_rows()?

A. zwrócić rekord o numerze podanym jako parametr funkcji
B. zwrócić liczbę wierszy znajdujących się w wyniku zapytania
C. zwrócić następny rekord z wynikami zapytania
D. ponumerować rekordy w bazie danych
Wybór odpowiedzi, która sugeruje, że mysql_num_rows() zwraca rekord o podanym numerze, jest mylący, ponieważ rzeczywiście nie zrealizuje tego zadania. mysql_num_rows() nie ma możliwości pobierania konkretnego rekordu ani wskazywania na konkretne numery, co jest typowym nieporozumieniem wśród osób, które nie są zaznajomione z funkcjami PHP dla obsługi baz danych. Z kolei twierdzenie, że funkcja ta zwraca kolejny rekord z wynikami zapytania, również jest błędne, ponieważ mysql_num_rows() nie ma za zadanie iterowania przez wyniki, ale jedynie zliczanie ich. To zrozumienie jest istotne w kontekście odpowiedniej obsługi danych, ponieważ myląc funkcje, można wprowadzić błędy w logice aplikacji. Wreszcie, pomysł, że mysql_num_rows() ma na celu ponumerowanie rekordów w bazie danych, jest po prostu nieprawidłowy, ponieważ ponumerowanie rekordów nie jest funkcjonalnością tej funkcji. Takie nieporozumienia mogą prowadzić do wprowadzenia błędów w aplikacjach, w których liczy się precyzyjność operacji na danych. Właściwe zrozumienie, co robi dana funkcja, jest kluczowe dla prawidłowego korzystania z baz danych i unikania nieefektywności w kodzie.

Pytanie 13

Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?

class Owoc {
  public $nazwa;
  private $kolor;
  function set_nazwa($nazwa) {
    $this->nazwa = $nazwa;
  }
}
A. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
B. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
C. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
D. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
Błędne odpowiedzi wynikają z niezrozumienia zakresów widoczności oraz struktury klasy w PHP. Klasa Owoc ma dwa pola: $nazwa i $kolor. Pole $nazwa jest publiczne, co oznacza, że jest dostępne z dowolnego miejsca, które posiada instancję klasy. Natomiast $kolor jest prywatne, co ogranicza jego dostępność tylko do metod wewnątrz klasy. To kluczowy aspekt programowania obiektowego, gdzie stosowanie modyfikatora private zapewnia, że dane nie mogą być modyfikowane bezpośrednio z zewnątrz, chroniąc integralność obiektu. W konstrukcji tej klasy znajduje się również tylko jedna metoda: set_nazwa, która służy do ustawiania wartości pola $nazwa. Brak jest tutaj konstruktora, co wyklucza błędną odpowiedź sugerującą jego obecność. Konstruktor w PHP definiuje się jako funkcję __construct i służy do inicjalizacji obiektu przy jego tworzeniu. Każda z niepoprawnych odpowiedzi błędnie interpretuje strukturę i dostępność elementów klasy. Często popełnianym błędem jest mylenie zakresów widoczności pola publicznego i prywatnego, oraz brak rozpoznania i zastosowania dobrych praktyk, takich jak enkapsulacja, która jest jednym z filarów programowania obiektowego, mającym na celu ukrycie wewnętrznej implementacji oraz ochronę danych przed nieautoryzowanym dostępem.

Pytanie 14

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

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

Pytanie 15

Który z zaprezentowanych kodów HTML sformatuje tekst zgodnie z podanym wzorem?
Uwaga: słowo "stacji" jest napisane większą czcionką niż pozostałe wyrazy w tej linijce)

Lokomotywa

Stoi na stacji lokomotywa ...

A. <h1>Lokomotywa</h1>
<p>Stoi na <big>stacji</big> lokomotywa ...</p>
B. <p><small>Lokomotywa</small></p>
<p>Stoi na <big>stacji<big> lokomotywa ...</p>
C. <h1>Lokomotywa</h1>
<p>Stoi na <big>stacji</big> lokomotywa ...</p>
D. <h1>Lokomotywa</h1>
<p>Stoi na <big>stacji lokomotywa ...</p>
Poprawny kod dokładnie odtwarza wzór: nagłówek poziomu pierwszego <h1> z tekstem „Lokomotywa” oraz akapit <p>, w którym tylko słowo „stacji” jest wyróżnione większym rozmiarem za pomocą znacznika <big>. Dzięki temu przeglądarka powiększa wyłącznie ten jeden wyraz, a reszta zdania zachowuje standardowy rozmiar czcionki wynikający z kaskady CSS lub domyślnych ustawień. Struktura dokumentu jest też logiczna: tytuł w <h1>, treść w akapicie, bez zbędnego mieszania poziomów nagłówków. W praktyce taki zapis dobrze pokazuje, jak selektywnie formatować tekst wewnątrz akapitu – możemy objąć znacznikiem <big> tylko fragment, podobnie jak używa się <strong> albo <em> do wyróżniania pojedynczych słów. W nowoczesnych projektach zamiast <big> zaleca się raczej stosowanie CSS, np. <span class="wiekszy">stacji</span> i w CSS: .wiekszy { font-size: 1.2em; }. Daje to większą kontrolę nad wyglądem i jest zgodne z aktualnymi standardami W3C, bo <big> jest znacznikiem przestarzałym (deprecated). Mimo to, z punktu widzenia tego zadania, kluczowe jest zrozumienie, że tag musi dokładnie obejmować tylko słowo, które ma być powiększone, oraz że znacznik musi być poprawnie zamknięty. Taka precyzyjna selekcja fragmentu tekstu to podstawa przy formatowaniu treści w HTML i późniejszym stylowaniu w CSS.

Pytanie 16

Zawarta baza danych składa się z trzech tabel oraz dwóch relacji. Aby uzyskać informacje o wszystkich lekarzach przypisanych do wybranego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Pacjenci.id
B. Lekarze.id = Recepty.id
C. Lekarze.id = Pacjenci.Recepty_id
D. Lekarze.id = Pacjenci.Lekarze_id
Odpowiedź Lekarze.id = Pacjenci.Lekarze_id jest poprawna, ponieważ w bazach danych relacyjne połączenie między tabelami jest realizowane przez klucze obce. Tabela Pacjenci zawiera kolumnę Lekarze_id, która jest kluczem obcym odnoszącym się do kolumny id w tabeli Lekarze. Dzięki temu połączeniu możemy określić, który lekarz jest przypisany do danego pacjenta. W praktyce oznacza to, że możemy wykonywać zapytania SQL, które łączą te tabele i wyświetlają dane wszystkich lekarzy przypisanych do konkretnego pacjenta. Przykładowe zapytanie SELECT może wyglądać tak SELECT Lekarze.imie Lekarze.nazwisko FROM Pacjenci INNER JOIN Lekarze ON Pacjenci.Lekarze_id = Lekarze.id WHERE Pacjenci.id = [id_pacjenta]. Takie podejście jest zgodne z dobrymi praktykami projektowania baz danych zgodnie z zasadami normalizacji co zwiększa spójność i integralność danych. Poprawne użycie kluczy obcych jest fundamentalne w kontekście zarządzania relacjami między danymi oraz umożliwia przeprowadzanie bardziej złożonych analiz danych z różnych tabel w sposób wydajny i bezpieczny.

Pytanie 17

Wskaż wynik wykonania skryptu napisanego w języku PHP

<?php
$tablica = array(10 => "Perl", 14 => "PHP", 20 => "Python", 22 => "Pike");
asort($tablica);
print("<pre>");
print_r($tablica);
print("</pre>");
?>
A
Array
(
    [14] => PHP
    [10] => Perl
    [22] => Pike
    [20] => Python
)
B
Array
(
    [0] => PHP
    [1] => Perl
    [2] => Pike
    [3] => Python
)
C
Array
(
    [0] => Python
    [1] => Pike
    [2] => Perl
    [3] => PHP
)
D
Array
(
    [10] => Perl
    [14] => PHP
    [20] => Python
    [22] => Pike
)
A. D.
B. B.
C. C.
D. A.
Widzę, że Twoja odpowiedź nie do końca trafiła w sedno. Wygląda na to, że masz jakieś nieporozumienia z tym skryptem PHP i funkcją asort(). Pamiętaj, że ten skrypt tworzy tablicę asocjacyjną z czterema elementami i potem sortuje je funkcją asort(). Ta funkcja działa na wartościach i zachowuje klucze, więc po sortowaniu powinno być: `[14] => PHP`, `[10] => Perl`, `[22] => Pike`, `[20] => Python`. Jak masz inną kolejność, to może sugerować, że coś poszło nie tak z sortowaniem. Nie zapominaj, że w PHP jest sporo funkcji sortujących, każda z nich ma swoje miejsce i zastosowanie, więc warto to poćwiczyć, żeby lepiej zrozumieć temat.

Pytanie 18

Który typ przechowuje tekst o ZMIENNEJ długości (do zadanego maksimum)?

A.
CHAR
B.
FLOAT
C.
VARCHAR
D.
INT
Typ VARCHAR przechowuje tekst o ZMIENNEJ długości - do zadanego maksimum (np. VARCHAR(50)), zajmując tylko tyle miejsca, ile faktycznie ma wartość. Sprawdza się dla pól jak imię czy nazwa. Dlatego tekst zmiennej długości trzyma VARCHAR.

Pytanie 19

p { font-family: Arial, Helvetica, sans-serif; }
Zdefiniowany styl dla selektora p spowoduje, że tekst w paragrafie zostanie wyświetlony czcionką:
A. dekoracyjną.
B. szeryfową.
C. bezszeryfową.
D. maszynową.
W tym pytaniu łatwo się pomylić, bo wiele osób bardziej kojarzy konkretne nazwy fontów niż ich rodziny. Kluczowe jest zrozumienie, jak działa właściwość font-family w CSS. Zapis font-family: Arial, Helvetica, sans-serif definiuje listę krojów w kolejności priorytetu. Przeglądarka sprawdza po kolei: najpierw próbuje użyć Ariala, potem Helvetiki, a jeśli żaden z nich nie jest dostępny na urządzeniu, wybiera dowolny systemowy font z rodziny sans-serif. I to właśnie ostatni element – sans-serif – określa typ czcionki, czyli że ma to być krój bezszeryfowy.
Czcionka szeryfowa (serif) to np. Times New Roman czy Georgia, z charakterystycznymi „ogonami” i ozdobnikami na końcach liter. Tutaj nie ma ani nazwy serif, ani generycznego słowa serif, więc nie ma podstaw, by mówić o kroju szeryfowym. Czcionka maszynowa, nazywana w CSS monospace, to taka, w której wszystkie znaki mają tę samą szerokość, jak w starych maszynach do pisania (np. Courier New). W kodzie nie pojawia się słowo monospace ani żaden typowy font maszynowy, więc to też odpada.
Z kolei określenia typu „dekoracyjna” mogą mylić, bo w CSS istnieje kiedyś częściej używany generic fantasy, czasem kojarzony z ozdobnymi krojami, ale w tym przykładzie nie mamy ani fantasy, ani cursive, tylko wyraźnie sans-serif. Typowy błąd myślowy polega na tym, że ktoś patrzy na nazwę Arial i nie kojarzy jej z rodziną bezszeryfową, albo sugeruje się wyglądem przykładowego tekstu z jakiegoś edytora. W praktyce jednak to właśnie Arial i Helvetica są klasycznymi reprezentantami rodziny sans-serif. Warto patrzeć na ostatni człon deklaracji font-family – ten generyczny typ jest zawsze najważniejszą wskazówką, do jakiej kategorii należy krój pisma w danym stylu.

Pytanie 20

Jaką rolę pełni kwerenda krzyżowa w MS Access?

A. prezentuje zliczone (zagregowane) wartości w układzie wierszy i kolumn
B. dołącza rekordy z innej tabeli
C. usuwa rekordy według kryteriów
D. modyfikuje istniejące dane w tabeli
Kwerenda krzyżowa w MS Access prezentuje ZAGREGOWANE (zliczone, zsumowane) wartości w układzie wierszy i kolumn - przypomina tabelę przestawną, ułatwiając podsumowania. Dlatego pełni rolę zestawienia danych w wierszach i kolumnach.

Pytanie 21

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

var akapit = document.createElement("p");
document.body.appendChild(akapit);
A. Pokazanie okna dialogowego z napisem akapit
B. Wstawienie akapitu na szczycie strony
C. Skasowanie akapitu ze strony
D. Dodanie akapitu na końcu strony
Kod JavaScript przedstawiony w pytaniu tworzy nowy element paragrafu HTML za pomocą metody document.createElement("p") i dodaje go na koniec elementu body strony za pomocą metody appendChild(). Dlatego poprawna odpowiedź to dodanie akapitu na koniec strony. Tworzenie elementów dynamicznie w JavaScript to kluczowa funkcja umożliwiająca manipulację modelem DOM (Document Object Model) co jest podstawą dynamicznego interfejsu użytkownika. Przykłady zastosowań obejmują dodawanie nowych elementów do listy rozwijanej formularza aktualizację zawartości strony bez konieczności jej przeładowywania czy dodawanie interaktywnych komponentów. Zgodnie z dobrymi praktykami warto pamiętać o konieczności optymalizacji operacji na DOM ponieważ mogą być kosztowne obliczeniowo. Efektywne zarządzanie drzewem DOM wymaga także znajomości innych metod takich jak insertBefore czy replaceChild które pozwalają na bardziej zaawansowane manipulacje struktury dokumentu. Przy projektowaniu dynamicznych aplikacji webowych należy zawsze pamiętać o zachowaniu dostępności i semantyki HTML co jest istotne z punktu widzenia SEO i użyteczności strony.

Pytanie 22

Który efekt został zaprezentowany na filmie?

A. Zwiększenie ostrości zdjęcia.
B. Zmiana jasności zdjęć.
C. Zmniejszenie kontrastu zdjęcia.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 23

Który z poniższych kodów stanowi alternatywę dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. <?php
for($x=1;$x<=55;$x+=1){echo $x." ";}
?>
B. <?php
for($x=2;$x<=54;$x+=2){echo $x." ";}
?>
C. <?php
for($x=2;$x<=56;$x+=2){echo $x." ";}
?>
D. <?php
for($x=1;$x<=55;$x++){echo $x." ";}
?>
W odpowiedzi zaprezentowałeś kod, który generuje liczby parzyste od 2 do 54, co jest zgodne z tym, co było w zadaniu. W ramce masz pętlę for, która zaczyna się od x=1, ale trzeba wiedzieć, że w takiej konfiguracji będziesz też generować liczby nieparzyste. W Twoim kodzie lepiej było zacząć od x=2 i zwiększać x o 2, bo wtedy automatycznie pomijasz liczby, które nie są parzyste. To sprawia, że kod działa sprawniej, bo nie trzeba co chwilę sprawdzać, czy liczba jest parzysta, tylko po prostu się ją generuje. Jak dla mnie, jak chcesz tylko parzyste, to taki styl jest o niebo lepszy – klarowny i łatwy do ogarnięcia. W programowaniu istotne jest, żeby pisać kod, który nie tylko działa, ale też jest prosty do zrozumienia dla innych. Dzięki temu unikniesz problemów w przyszłości, gdy trzeba będzie coś poprawiać w kodzie.

Pytanie 24

W języku SQL przedstawiony warunek jest równoważny warunkowi

liczba >= 10 AND liczba <= 100
A. liczba BETWEEN 10 AND 100
B. NOT (liczba < 10 AND liczba > 100)
C. liczba LIKE '10%'
D. liczba IN (10, 100)
Dobra robota! Twoja odpowiedź jest na pewno poprawna. Warunek 'liczba >= 10 AND liczba <= 100' w SQL oznacza, że musimy znaleźć liczbę, która jest większa lub równa 10 i mniejsza lub równa 100. Można to również zapisać jako 'liczba BETWEEN 10 AND 100', co po prostu definiuje zakres wartości od 10 do 100, łącznie z tymi granicami. Używanie operatorów takich jak BETWEEN jest naprawdę przydatne w SQL, bo ułatwia nam życie przy pisaniu zapytań i sprawia, że łatwiej jest zrozumieć, co ten kod właściwie robi. Fajnie umieć takie rzeczy, bo to naprawdę klucz do efektywnej pracy z bazami danych.

Pytanie 25

Której metody JS użyć, aby sprawdzić, czy napis ZAWIERA inny napis?

A.
repeat()
B.
valueOf()
C.
substr()
D.
includes()
Metoda includes() sprawdza, czy napis ZAWIERA podany podciąg, i zwraca true lub false - np. "Ala ma kota".includes("kot") da true. Dlatego do sprawdzenia zawierania służy includes().

Pytanie 26

Które polecenie SQL służy do wstawienia nowego rekordu z danymi?

A.
ADD
B.
CREATE
C.
UPDATE
D.
INSERT INTO
Nowy rekord (wiersz) z danymi wstawia polecenie INSERT INTO, po którym podaje się tabelę i wartości. Dlatego do wstawienia rekordu służy INSERT INTO.

Pytanie 27

Co się stanie po kliknięciu w link z HTML zawierający znak #?

<a href="#dane">
A. Zostanie uruchomiony skrypt o nazwie dane
B. Zostanie wybrany względny adres URL o nazwie dane
C. Otworzy się nowa karta w przeglądarce zatytułowana dane
D. Strona przeskoczy do elementu o identyfikatorze równym dane
W składni HTML znak # w atrybucie href w odsyłaczu oznacza, że odnośnik prowadzi do elementu o określonym identyfikatorze id na tej samej stronie. Jest to funkcjonalność zwana nawigacją wewnętrzną lub kotwiczeniem. Po kliknięciu takiego linku przeglądarka automatycznie przewija stronę do elementu o id równym wartości po znaku #. W praktyce jest to bardzo użyteczny mechanizm, zwłaszcza w długich dokumentach lub stronach typu one-page, gdzie można tworzyć spis treści z odnośnikami prowadzącymi do poszczególnych sekcji. Przykładem użycia może być link do formularza na dole strony, który pozwala użytkownikowi szybko dotrzeć do ważnych informacji. Zgodnie z dobrymi praktykami należy zawsze upewnić się, że id jest unikalne w kontekście całej strony, co zapobiega nieoczekiwanym zachowaniom podczas nawigacji. Jest to zgodne ze standardami W3C, które promują semantyczne i dostępne struktury stron internetowych, co wpływa pozytywnie na doświadczenie użytkownika i dostępność stron dla osób z niepełnosprawnościami.

Pytanie 28

Jaki typ relacji powstaje, gdy połączymy dwie tabele przez ich KLUCZE GŁÓWNE?

A. jeden do jednego
B. wiele do wielu
C. jeden do wielu
D. wiele do jednego
Gdy dwie tabele łączymy przez ich KLUCZE GŁÓWNE (oba unikalne), każdemu rekordowi jednej odpowiada dokładnie jeden rekord drugiej - to relacja JEDEN DO JEDNEGO (1:1). Stosuje się ją np. do rozdzielenia rzadko używanych pól. Zapamiętaj: dwa klucze główne naprzeciw siebie = 1:1.

Pytanie 29

W języku PHP instrukcja foreach jest rodzajem

A. pętli, przeznaczonej wyłącznie dla elementów tablicy
B. instrukcji warunkowej, niezależnie od typu zmiennej
C. pętli, niezależnie od rodzaju zmiennej
D. instrukcji wyboru, dla elementów tablicy
Trochę mylne jest stwierdzenie, że <i>foreach</i> to pętla, która może działać na każdej zmiennej. W rzeczywistości <i>foreach</i> jest ściśle związana z tablicami. Jak spróbujesz użyć jej na zmiennej, która nie jest tablicą, to dostaniesz błąd. I nie ma co mówić, że <i>foreach</i> to instrukcja warunkowa, bo to też nieprawda. Instrukcje warunkowe, jak <i>if</i>, podejmują decyzje, a <i>foreach</i> jest do tego, żeby iterować. I to, co ktoś napisał o pętli wyboru, też wprowadza w błąd. Pętle jak <i>for</i> czy <i>while</i> powtarzają kod na podstawie warunków, a <i>foreach</i> to po prostu iteracja po elementach tablicy. Tak że tu ważne jest, żeby nie mylić pętli iteracyjnych z warunkowymi oraz rozumieć, gdzie można używać <i>foreach</i>, bo jak się tego nie zrozumie, to mogą być problemy w programowaniu w PHP i można nie wykorzystać dostępnych narzędzi jak trzeba.

Pytanie 30

W języku JavaScript zamieszczony poniżej fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
wynik += tab[i];
}
A. wyświetlenie wszystkich elementów tablicy
B. policzenie sumy wszystkich elementów tablicy
C. wprowadzenie do każdego elementu tablicy bieżącej wartości zmiennej i
D. dodanie stałej wartości do każdego elementu tablicy
Rozważając różne odpowiedzi, można dostrzec pewne błędne założenia dotyczące funkcji pętli w analizowanym kodzie JavaScript. Pierwsza z opcji zakłada, że celem kodu jest wyświetlenie wszystkich elementów tablicy. W rzeczywistości jednak kod nie zawiera żadnych instrukcji, takich jak console.log(), które pozwoliłyby na wyświetlanie wartości elementów tablicy. To powszechny błąd polegający na myleniu iteracji pętli z operacjami wejścia/wyjścia. Kolejna możliwość sugeruje dodanie do każdego elementu tablicy stałej wartości. Aby osiągnąć taki efekt, kod musiałby bezpośrednio modyfikować wartości w tablicy, co wymagałoby przypisania nowych wartości do elementów tablicy. W przedstawionym kodzie nie ma jednak żadnej manipulacji wartościami tablicy, co wskazuje na niewłaściwe zrozumienie celu operacji wykonywanych na tablicach. Ostatnia możliwość zakłada, że każdemu elementowi tablicy przypisywana jest aktualna wartość zmiennej i. Taki efekt wymagałby przypisania wartości i do elementów tablicy, co nie ma miejsca w przedstawionym fragmencie kodu. Jest to często spotykany błąd polegający na myleniu indeksu pętli z operacjami przypisania. Każda z tych odpowiedzi opiera się na niepoprawnym zrozumieniu mechanizmów iteracji i operacji na tablicach w językach programowania takich jak JavaScript co może prowadzić do błędnych wniosków dotyczących działania kodu.

Pytanie 31

W jakim standardzie języka hipertekstowego wprowadzono do składni znaczniki sekcji <footer>, <header>, <nav>?

A. XHTML1.0
B. HTML4
C. HTML5
D. XHTML 2.0
HTML5 wprowadził nowe znaczniki semantyczne, takie jak <header>, <footer> oraz <nav>, które mają na celu poprawę struktury i czytelności kodu HTML. Te znaczniki pozwalają na lepsze określenie ról poszczególnych części dokumentu, co jest istotne zarówno dla programistów, jak i dla wyszukiwarek internetowych oraz oprogramowania asystującego. Przykładowo, znacznik <header> zazwyczaj zawiera nagłówki i metadane, podczas gdy <footer> jest przeznaczony na informacje końcowe, takie jak prawa autorskie czy linki do polityki prywatności. Z kolei <nav> wskazuje sekcję nawigacyjną, co ułatwia użytkownikom poruszanie się po stronie. Użycie tych znaczników zgodnie z ich zamierzonymi funkcjami poprawia semantykę dokumentu HTML5, co jest zgodne z najlepszymi praktykami w zakresie SEO i dostępności. Warto również zauważyć, że HTML5 wprowadza inne elementy, takie jak <article> czy <section>, które dodatkowo wspierają tworzenie dobrze zorganizowanej i zrozumiałej struktury dokumentu. W związku z tym, stosowanie nowych znaczników w HTML5 jest niezwykle korzystne zarówno dla twórców, jak i dla użytkowników stron internetowych.

Pytanie 32

Aby stworzyć poprawną kopię zapasową bazy danych, która będzie mogła zostać później przywrócona, należy najpierw sprawdzić

A. spójność bazy
B. uprawnienia dostępu do serwera bazy danych
C. możliwość udostępnienia bazy danych
D. poprawność składni zapytań
Spójność bazy danych jest kluczowym elementem, który należy sprawdzić przed wykonaniem kopii bezpieczeństwa, ponieważ zapewnia, że wszystkie dane są zgodne i nie zawierają błędów. Spójność oznacza, że wszelkie reguły i ograniczenia, takie jak klucze główne, klucze obce oraz unikalne indeksy, są spełnione. W przypadku naruszenia spójności, kopia bazy danych mogłaby zawierać uszkodzone lub niekompletne dane, co mogłoby uniemożliwić jej prawidłowe odtworzenie w przyszłości. Przykładem może być sytuacja, gdy mamy tabelę zamówień, która odwołuje się do tabeli klientów. Jeśli rekord klienta został usunięty, a zamówienia pozostają, to mamy do czynienia z naruszeniem spójności. Standardy, takie jak ACID (Atomicity, Consistency, Isolation, Durability), podkreślają znaczenie spójności w zarządzaniu bazami danych, co czyni ją niezbędnym krokiem w procesie tworzenia kopii zapasowych.

Pytanie 33

W PHP, aby stworzyć obiekt pkt dla klasy Punkt, której definicja znajduje się poniżej, należy użyć polecenia

class Punkt {
  public $x;
  public $y;
}
A. Punkt() pkt;
B. pkt Punkt;
C. pkt = new Punkt();
D. pkt Punkt();
Podczas tworzenia obiektów w PHP kluczowe jest zrozumienie składni i logiki stojącej za deklaracjami obiektów. Problemem w błędnych odpowiedziach jest brak użycia słowa kluczowego new, które jest niezbędne do prawidłowego utworzenia obiektu. Składnia pkt Punkt() sugeruje próbę użycia nazwy klasy jako funkcji, co nie jest poprawne w kontekście PHP. PHP wymaga wyraźnego wskazania, że chcemy utworzyć nową instancję klasy za pomocą new. Kolejna błędna składnia pkt Punkt pokazuje niezrozumienie podstawowej struktury definicji zmiennych i obiektów w PHP, gdzie brakuje operatora new i nawiasów. Takie podejście jest niepoprawne i prowadzi do błędów kompilacji. Brak nawiasów czy operatora przypisania to często popełniane błędy przy nauce programowania obiektowego. Ostateczna odpowiedź Punkt() pkt; jest niezgodna z zasadami składniowymi PHP, ponieważ nie można deklarować obiektu w tej formie. Taka konstrukcja narusza logikę przypisania wartości do zmiennych i tworzenia instancji obiektów w PHP. Zrozumienie, dlaczego słowo new jest kluczowe, pozwoli uniknąć tych typowych błędów i poprawnie implementować obiektowe aspekty PHP, co jest podstawą budowy złożonych aplikacji w tym języku.

Pytanie 34

Która z wymienionych grup znaczników HTML zawiera elementy przeznaczone do grupowania oraz tworzenia struktury dokumentu?

A. div, article, header
B. table, tr, td
C. br, img, hr
D. span, strong, em
Odpowiedź 'div, article, header' jest poprawna, ponieważ te znaczniki HTML są kluczowymi elementami umożliwiającymi grupowanie i organizację treści w dokumentach webowych. Znacznik 'div' jest uniwersalnym kontenerem, który można wykorzystać do grupowania innych elementów w celu lepszej strukturyzacji strony. 'article' jest przeznaczony do oznaczania niezależnych fragmentów treści, takich jak posty na blogach, które mogą być samodzielnie dystrybuowane. Z kolei 'header' zazwyczaj zawiera nagłówki i elementy wprowadzające dla sekcji strony. Zastosowanie tych znaczników zgodnie z wytycznymi W3C sprzyja poprawnej hierarchii dokumentu, co z kolei zwiększa użyteczność strony oraz jej dostępność dla technologii asystujących. Przykładowo, użycie 'article' pozwala wyszukiwarkom i czytnikom ekranu lepiej zrozumieć strukturę treści, co może pozytywnie wpłynąć na SEO oraz doświadczenia użytkowników.

Pytanie 35

W celu stylizacji strony internetowej stworzono odpowiednie reguły. Reguły te będą stosowane tylko do wybranych znaczników (np. niektóre nagłówki, kilka akapitów). W tej sytuacji, aby zastosować styl do kilku wybranych znaczników, najlepiej będzie użyć

{ text-align: right; }
A. selektora akapitu.
B. klasy.
C. pseudoklasy.
D. identyfikatora.
Zastosowanie pseudoklas, identyfikatorów czy selektorów akapitów w sytuacji, gdy potrzebujemy przypisać ten sam styl do różnych elementów, nie jest efektywnym rozwiązaniem. Pseudoklasy, takie jak :hover, :focus czy :nth-child, służą do stylizacji elementów w szczególnych stanach lub według ich pozycji w dokumencie. Nie są one przeznaczone do grupowego przypisywania stylów do wielu elementów, przez co ich użycie w tym kontekście obniża elastyczność i powtarzalność kodu. Identyfikatory, chociaż mogą przypisać unikalny styl do konkretnego elementu, są ograniczone do jednego miejsca w dokumencie HTML. Oznacza to, że ich użycie jest nieefektywne w kontekście wielokrotnego stylizowania, co jest sprzeczne z zasadami semantycznego HTML i CSS. Selektor akapitu, z kolei, odnosi się do elementów <p> i pozwala na stylizację tych elementów w sposób globalny, jednak nie pozwala na precyzyjne dostosowanie stylów do wybranych akapitów w sposób, w jaki może to zrobić klasa. Właściwe zrozumienie koncepcji klas w CSS stanowi podstawę efektywnej stylizacji dokumentów HTML, a ich niewłaściwe zastąpienie innymi metodami może prowadzić do złożonych, mniej czytelnych i trudnych w zarządzaniu arkuszy stylów.

Pytanie 36

W jaki sposób zostanie uporządkowana lista, stworzona z wszystkich kolumn tabeli uczniowie, zawierająca uczniów z średnią powyżej 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?

Ilustracja do pytania
A. Rosnąco według parametru klasa
B. Rosnąco według parametru srednia
C. Malejąco według parametru klasa
D. Malejąco według parametru srednia
Zapytanie SQL przedstawione w pytaniu wykorzystuje klauzule WHERE oraz ORDER BY. Klauzula WHERE ogranicza wyniki do tych, które spełniają określony warunek, w tym przypadku średnia większa niż 5. To oznacza, że na dalszym etapie przetwarzania znajdą się tylko rekordy uczniów mających średnią powyżej 5. Kolejnym kluczowym elementem jest klauzula ORDER BY, która określa sposób sortowania wyników. W zapytaniu użyto ORDER BY klasa DESC, co oznacza sortowanie malejące według kolumny klasa. DESC to skrót od descending, co w języku SQL oznacza porządek malejący. W praktyce porządkowanie malejące jest często używane, gdy chcemy uzyskać najwyższe wartości na początku listy wynikowej, co może być kluczowe w raportach rankingowych czy analizach dotyczących grup wiekowych. Dobre praktyki w programowaniu baz danych zalecają zawsze jasno określać sposób sortowania, aby uniknąć niejednoznaczności w interpretacji wyników i zapewnić spójność danych. Zrozumienie mechanizmu sortowania w SQL jest istotne w kontekście prezentacji danych, gdzie odpowiednie uporządkowanie wyników może znacząco poprawić czytelność i interpretację danych przez użytkownika końcowego.

Pytanie 37

W dziedzinie grafiki komputerowej termin kanał alfa odnosi się do

A. barwienia
B. koloryzacji
C. przezroczystości
D. pikselizacji
Kanał alfa jest kluczowym elementem w grafice komputerowej, który odpowiada za reprezentowanie przezroczystości pikseli w obrazie. W praktyce oznacza to, że każdy piksel w obrazie może mieć przypisany poziom przezroczystości, co pozwala na tworzenie efektów takich jak cieniowanie, nakładanie różnych warstw oraz efekty specjalne. Kanał alfa jest zwykle reprezentowany jako dodatkowy kanał w formacie RGBA, gdzie R, G, i B oznaczają odpowiednio kolory czerwony, zielony i niebieski, a A to kanał alfa, który definiuje stopień przezroczystości. Na przykład, w przypadku edytorów graficznych, takich jak Adobe Photoshop, użytkownicy mogą łatwo manipulować przezroczystością warstw, co jest bardzo przydatne w procesie tworzenia złożonych kompozycji. W standardach graficznych, takich jak OpenGL i DirectX, kanał alfa również odgrywa istotną rolę w renderowaniu obiektów 3D, umożliwiając realistyczne efekty wizualne. Zrozumienie działania kanału alfa jest niezbędne dla artystów cyfrowych i projektantów, aby w pełni wykorzystać możliwości, jakie oferuje nowoczesna grafika komputerowa.

Pytanie 38

Fragment kodu w języku HTML zawarty w ramce ilustruje zestawienie

Ilustracja do pytania
A. odnośników.
B. wypunktowaną.
C. numerowaną.
D. skrótów.
Kod HTML zawierający znaczniki <ol> oraz <li> tworzy listę numerowaną ponieważ <ol> oznacza ordered list czyli listę uporządkowaną co skutkuje automatycznym numerowaniem każdego elementu w przeglądarkach internetowych. Znaczniki <li> reprezentują pojedyncze elementy listy zapewniając organizację danych w czytelnej formie. Taki sposób przedstawiania informacji jest powszechnie stosowany w tworzeniu dokumentów HTML i stron internetowych gdzie hierarchia i kolejność elementów ma kluczowe znaczenie. Za pomocą CSS można dodatkowo dostosować styl numerowania oraz wizualne aspekty listy co pozwala na większą elastyczność w projektowaniu interfejsu użytkownika. Standardy internetowe takie jak te rekomendowane przez W3C zachęcają do stosowania semantycznych znaczników co poprawia dostępność i SEO strony. Ponadto listy numerowane są użyteczne w sytuacjach gdy wymagana jest jasna kolejność wykonywania zadań lub prezentacja kroków w procesie co czyni je idealnym narzędziem zarówno w dokumentacji technicznej jak i w interaktywnych przewodnikach online.

Pytanie 39

Który z wymienionych programów służy do tworzenia i edycji grafiki wektorowej?

A. WordPad
B. Corel Draw
C. Audacity
D. Paint
Corel Draw to popularny program do tworzenia i edycji grafiki wektorowej, w której obraz opisują krzywe i kształty (a nie piksele), więc można go dowolnie skalować bez utraty jakości. Wykorzystuje się go m.in. do logotypów, ilustracji i materiałów do druku. Do tej samej kategorii należą Inkscape (darmowy) i Adobe Illustrator, a przeciwieństwem są edytory rastrowe, takie jak GIMP czy Photoshop. Dlatego do grafiki wektorowej służy Corel Draw.

Pytanie 40

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(255, 0, 224)
B. rgb(F, 0, E0)
C. rgb(FF, 0, E0)
D. rgb(255, 0, 128)
Zapis #FF00E0 to klasyczny przykład koloru w notacji szesnastkowej, używanej w CSS i ogólnie w webdesignie. Cały haczyk polega na tym, że te literki i cyfry nie są traktowane jako tekst, tylko jako liczby w systemie o podstawie 16. Każde dwa znaki odpowiadają jednej składowej koloru: czerwonej, zielonej i niebieskiej. Czyli mamy strukturę: #RRGGBB. W tym konkretnym przypadku RR = FF, GG = 00, BB = E0.

Częsty błąd polega na traktowaniu tych liter dosłownie, jak w odpowiedziach typu rgb(F, 0, E0) czy rgb(FF, 0, E0). W zapisie rgb() wartości muszą być liczbami dziesiętnymi z zakresu 0–255, a nie ciągami znaków. Przeglądarka oczekuje tam konkretnych wartości natężenia składowych, a nie kodu szesnastkowego. FF to nie symbol, tylko liczba w systemie hex. Żeby ją poprawnie zinterpretować, trzeba przeliczyć ją na system dziesiętny: F to 15, więc FF = 15×16 + 15 = 255. Podobnie z E0: E to 14, więc E0 = 14×16 + 0 = 224. Z mojego doświadczenia to przeliczanie jest źródłem wielu pomyłek, szczególnie na początku nauki.

Inny typowy błąd myślowy to zgadywanie wartości na oko, jak w odpowiedzi rgb(255, 0, 128). Ktoś widzi intensywny kolor, więc daje maksymalny czerwony i jakąś średnią wartość niebieskiego. Problem w tym, że hex E0 to wcale nie jest 128, tylko 224, czyli dużo bliżej maksimum 255 niż środka skali. Takie „strzelanie” bez przeliczenia łamie spójność pomiędzy zapisem hex a rgb i prowadzi do zupełnie innego koloru niż zamierzony.

Dobra praktyka w branży jest taka, żeby zawsze pamiętać: zapis hex to trzy liczby 0–255 zapisane w bazie 16, a rgb() to te same liczby zapisane normalnie, po ludzku, w systemie dziesiętnym. Jeżeli pojawiają się litery A–F, to znaczy, że mamy do czynienia z systemem szesnastkowym i trzeba je potraktować jak cyfry 10–15, a nie jako jakiś tekst. To niby drobiazg, ale w pracy front-endowca albo grafika webowego ma ogromne znaczenie, bo precyzja kolorów jest kluczowa dla spójności całego projektu graficznego.