Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 23 kwietnia 2026 08:10
  • Data zakończenia: 23 kwietnia 2026 08:35

Egzamin zdany!

Wynik: 32/40 punktów (80,0%)

Wymagane minimum: 20 punktów (50%)

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

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. logicznym
B. string (ciąg znaków)
C. nieokreślonym (undefined)
D. liczbowym
W kontekście deklaracji var x="true"; niepoprawne odpowiedzi opierają się na nieporozumieniu dotyczącym typów danych w JavaScript. Zmienna logiczna, która jest jednym z typów boolean, przyjmuje jedynie dwie wartości: true lub false. Wartość "true" nie jest interpretowana jako wartość logiczna, ale jako tekst, co sprawia, że uznawanie jej za zmienną logiczną jest błędne. W JavaScript nie możemy przypisać stringa do typu boolean i oczekiwać, że uzyskamy wynik logiczny; w tej sytuacji wynik będzie zawsze tekstem. Kolejną niepoprawną odpowiedzią jest uznanie zmiennej za liczbową. Typ liczbowy w JavaScript odnosi się do wartości numerycznych, zarówno całkowitych jak i zmiennoprzecinkowych. Wartość "true" nie może być interpretowana jako liczba, ponieważ jest to ciąg znaków. Typ liczbowy wymaga, aby wartość była zapisana w formacie numerycznym, co w przypadku "true" nie ma miejsca. Ostatnią niepoprawną odpowiedzią jest stwierdzenie, że zmienna ma typ nieokreślony (undefined). W JavaScript typ undefined oznacza, że zmienna została zadeklarowana, ale nie przypisano jej żadnej wartości. W przypadku var x="true"; zmienna została zadeklarowana i przypisano jej wartość, więc nie można jej uznać za undefined. Dlatego wszystkie trzy niepoprawne odpowiedzi są wynikiem nieprawidłowego rozumienia typów danych oraz ich interpretacji w JavaScript.

Pytanie 2

Częstotliwość próbkowania ma wpływ na

A. jakość cyfrowego dźwięku
B. skalę głośności zapisywanego utworu
C. jakość analogowego dźwięku
D. amplitudę fali dźwiękowej utworu
Częstotliwość próbkowania, wyrażana w hercach (Hz), odnosi się do liczby próbek dźwięku zbieranych na sekundę w procesie cyfryzacji sygnału audio. Im wyższa częstotliwość próbkowania, tym więcej szczegółów dźwiękowych jest uchwyconych, co bezpośrednio wpływa na jakość cyfrowego dźwięku. Standardowe częstotliwości próbkowania to 44,1 kHz, stosowane w płytach CD, oraz 48 kHz, powszechnie używane w filmach. Wyższe częstotliwości, jak 96 kHz czy 192 kHz, są stosowane w profesjonalnych studiach nagraniowych, gdzie jakość audio jest kluczowa. W praktyce, zwiększona częstotliwość próbkowania umożliwia lepsze odwzorowanie wysokich tonów oraz bardziej precyzyjne oddanie niuansów dźwięku, co jest istotne w produkcji muzycznej. Warto jednak zauważyć, że zbyt wysoka częstotliwość próbkowania może prowadzić do nadmiernego obciążenia systemu oraz zwiększenia rozmiaru plików audio, co wymaga równowagi między jakością a wydajnością.

Pytanie 3

Symbol, który pojawia się przed adresem w pasku adresowym przeglądarki internetowej lub przy tytule otwartej karty, określany jest mianem

A. webicon
B. emoticon
C. iConji
D. favicon
Favicon, czyli ikona ulubionej strony, to mały obrazek wyświetlany w przeglądarkach internetowych obok adresu URL, w zakładkach oraz na kartach przeglądarki. Favicon jest istotnym elementem identyfikacji wizualnej witryny, ponieważ pozwala użytkownikom na szybkie rozpoznawanie stron, które odwiedzają. Tworzenie faviconu wiąże się z określonymi standardami, ponieważ rozmiar pliku powinien wynosić 16x16 lub 32x32 pikseli. Można go zapisać w formacie .ico, .png, .gif, co zapewnia szeroką kompatybilność z różnymi przeglądarkami. Wdrożenie faviconu poprawia UX, zwiększa profesjonalizm strony i wpływa na jej rozpoznawalność. Dobrym przykładem zastosowania faviconu jest umieszczanie go na stronie głównej, co ułatwia zapamiętywanie marki oraz zwiększa szanse na powrót użytkowników do witryny. Właściwe przygotowanie faviconu oraz jego umiejscowienie w kodzie HTML (z wykorzystaniem tagu <link rel="icon" href="ścieżka_do_faviconu">) to dobrych praktyk, które warto stosować w każdej nowoczesnej aplikacji webowej.

Pytanie 4

Która z czynności nie wpłynie na objętość zajmowanej pamięci pliku graficznego?

A. Modyfikacja rozdzielczości obrazu
B. Kompresja
C. Interpolacja
D. Zmiana rozmiaru obrazu przy użyciu atrybutów HTML
Zmiana rozdzielczości obrazu, kompresja oraz interpolacja to techniki, które zdecydowanie wpływają na rozmiar pliku graficznego. Zmiana rozdzielczości obrazu polega na modyfikacji liczby pikseli w obrazie, co bezpośrednio wpływa na jego wagę. Im większa rozdzielczość, tym więcej danych jest przechowywanych, co skutkuje większym plikiem. W praktyce, jeśli zredukujemy rozdzielczość obrazu, jego rozmiar pliku również zmaleje, co może być przydatne w kontekście optymalizacji stron internetowych. Kompresja to kolejny kluczowy proces, który może znacznie wpłynąć na rozmiar pliku. Polega ona na zmniejszeniu ilości danych w pliku graficznym, co może być realizowane bez widocznej utraty jakości. Istnieją różne metody kompresji, takie jak JPEG, PNG czy WebP, z których każda ma swoje zastosowania w zależności od rodzaju obrazu i wymagań projektu. Interpolacja, z kolei, to technika stosowana podczas zmiany rozmiaru obrazów, która polega na obliczaniu nowych wartości pikseli na podstawie istniejących. W procesie tym może dojść do degradacji jakości obrazu, co w przypadku niewłaściwego zastosowania prowadzi do niepożądanych efektów wizualnych. Zrozumienie, jak te techniki wpływają na pliki graficzne, jest kluczowe dla każdego twórcy treści, który pragnie optymalizować swoje zasoby i zapewniać użytkownikom jak najlepsze doświadczenia podczas przeglądania stron internetowych.

Pytanie 5

Jakie uprawnienia są wymagane do tworzenia i przywracania kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Administrator systemu.
B. Użytkownicy zabezpieczeń.
C. Użytkownik lokalny.
D. Użytkownicy.
Aby wykonać i odtworzyć kopię zapasową bazy danych w Microsoft SQL Server 2005 Express, użytkownik musi posiadać uprawnienia administratora systemu. To oznacza, że ma on pełne prawo do zarządzania bazami danych, w tym do wykonywania operacji takich jak tworzenie kopii zapasowych oraz ich przywracanie. Administrator systemu może także konfigurować ustawienia serwera, zarządzać dostępem innych użytkowników oraz monitorować wydajność bazy danych. Przykładem praktycznym może być sytuacja, w której administrator wykonuje regularne kopie zapasowe, aby zabezpieczyć dane przed ich utratą spowodowaną awarią sprzętu lub błędami użytkowników. Warto również zauważyć, że zgodnie z najlepszymi praktykami IT, regularne tworzenie kopii zapasowych jest kluczowe dla zapewnienia bezpieczeństwa danych, a także zgodności z regulacjami prawnymi dotyczącymi ochrony danych. Uprawnienia te są zgodne z ogólnymi standardami zarządzania bazami danych, które podkreślają znaczenie odpowiednich ról użytkowników w kontekście bezpieczeństwa i integralności danych.

Pytanie 6

Systemem zarządzania wersjami w projekcie programistycznym, który działa w trybie rozproszonym, jest

A. GIT
B. TotalCommander
C. Eclipse
D. FileZilla
GIT jest rozproszonym systemem kontroli wersji, który pozwala na efektywne zarządzanie kodem źródłowym projektu programistycznego. Jego architektura umożliwia każdemu programiście posiadanie lokalnej kopii repozytorium, co przyspiesza operacje takie jak commit, diff czy log, ponieważ nie wymaga dostępu do zdalnego serwera. GIT wspiera równoległą pracę wielu deweloperów, umożliwiając tworzenie gałęzi (branch) do rozwijania funkcji czy naprawy błędów bez wpływania na główną wersję kodu. Przykładami praktycznego zastosowania są: rozwijanie nowych funkcjonalności w oddzielnych gałęziach, zarządzanie kodem w projektach open source, czy współpraca w zespołach rozproszonych geograficznie, gdzie deweloperzy mogą synchronizować swoje zmiany poprzez operacje push i pull. Warto także zaznaczyć, że GIT jest szeroko stosowany w standardach branżowych, takich jak Continuous Integration/Continuous Deployment (CI/CD), co podkreśla jego znaczenie w nowoczesnym procesie wytwarzania oprogramowania.

Pytanie 7

Jakie formatowanie obramowania jest zgodne ze stylem border-style: dotted solid;?

Ilustracja do pytania
A. Formatowanie 1
B. Formatowanie 3
C. Formatowanie 2
D. Formatowanie 4
Styl obramowania w CSS pozwala na precyzyjne określenie wyglądu krawędzi elementu na stronie internetowej. W przypadku „border-style: dotted solid;” mamy do czynienia z kombinacją dwóch różnych stylów obramowania. Pierwsza wartość „dotted” odnosi się do obramowania o kropkowanej strukturze, co jest często stosowane w celu nadania lekkości i subtelności wizualnej. Druga wartość „solid” oznacza jednolite obramowanie, które jest bardziej wyraźne i stosowane, gdy wymagana jest wyraźna separacja elementów. Formatowanie 2 odpowiada właśnie temu stylowi, ponieważ przedstawia górne i dolne obramowanie jako kropkowane, a boczne jako jednolite. Takie zastosowanie jest typowe w sytuacjach, gdzie potrzebny jest kompromis między estetyką a funkcjonalnością, np. w tabelach danych, gdzie górne i dolne obramowanie może być delikatniejsze, by nie przytłaczać, a boczne wyraźne dla czytelności. Wybór właściwego stylu obramowania jest kluczowy dla użyteczności i estetyki strony, zgodnie z zasadami projektowania zorientowanego na użytkownika.

Pytanie 8

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

Pytanie 9

Element <meta charset="utf-8"> definiuje metadane odnoszące się do strony internetowej dotyczące

A. języka używanego na stronie
B. kodowania znaków
C. słów kluczowych
D. opisu witryny
Element <meta charset="utf-8"> jest kluczowym składnikiem metadanych w dokumentach HTML, który określa sposób kodowania znaków używanych na stronie internetowej. Użycie kodowania UTF-8, które jest najczęściej stosowanym standardem, pozwala na wyświetlanie różnorodnych znaków z różnych języków, w tym znaków diakrytycznych. Dzięki temu, strony internetowe mogą być dostępne dla szerokiego grona użytkowników bez obaw o błędy związane z wyświetlaniem tekstu. Kiedy przeglądarka internetowa napotyka ten element, wie, że powinna interpretować zawartość dokumentu zgodnie z określonym kodowaniem. Jest to szczególnie ważne w kontekście globalizacji internetu, gdzie treści mogą być tworzone w wielu językach. Ustalając odpowiednie kodowanie, programiści minimalizują ryzyko wystąpienia problemów z wyświetlaniem, takich jak zamienione znaki czy nieczytelne fragmenty tekstu. Właściwe ustawienie metadanych jest zgodne z wytycznymi W3C oraz zaleceniami dla twórców stron internetowych, co czyni ten element niezbędnym w każdej współczesnej witrynie.

Pytanie 10

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. tr { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr:hover { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 11

Mamy tablicę o n elementach o nazwie t[n]. Zadaniem algorytmu, zapisanego w krokach, jest wyliczenie sumy

K1: i = 0; wynik = 0;
K2: Dopóki i < n wykonuj K3 .. K4
  K3: wynik ← wynik + t[i]
  K4: i ← i + 2
K5: wypisz wynik
A. sumy tych elementów tablicy, które mają wartości nieparzyste
B. co drugiego elementu tablicy
C. wszystkich elementów tablicy
D. n-elementów tej tablicy
Algorytm przedstawiony w pytaniu wykonuje sumowanie co drugiego elementu tablicy. Rozpoczyna od elementu o indeksie 0, czyli pierwszego elementu tablicy, a następnie przeskakuje o dwa indeksy za pomocą instrukcji i ← i + 2. Dzięki temu algorytm dodaje do zmiennej wynik wyłącznie wartości znajdujące się na pozycjach o parzystych indeksach w tablicy. Praktyczne zastosowanie tego rodzaju algorytmu można znaleźć w sytuacjach, gdy potrzebujemy operować tylko na wybranym podzbiorze danych, na przykład w analizie co drugiego punktu danych w dużych zbiorach, co może przyspieszyć proces analizy i zmniejszyć obciążenie obliczeniowe. Takie podejście jest zgodne z dobrymi praktykami w dziedzinie inżynierii oprogramowania, gdzie staramy się optymalizować algorytmy pod kątem wydajności i złożoności obliczeniowej. Warto zauważyć, że operowanie na co drugim elemencie może być także użyteczne w przypadku wzorców projektowych, takich jak iteratory, które pozwalają na elastyczną kontrolę nad sposobem przeglądania danych w strukturach danych.

Pytanie 12

W poniższym zapytaniu SQL, co oznacza symbol gwiazdki w jego wyniku?

SELECT * FROM mieszkancy WHERE imie = 'Anna';
A. zignorowanie warunku dotyczącego imienia
B. pokazanie pola o nazwie '*' (gwiazdka)
C. wyświetlenie wszystkich kolumn z tabeli mieszkancy
D. wyświetlenie wszystkich rekordów z tabeli mieszkancy
W zapytaniu SQL znak gwiazdki (*) nie oznacza wyświetlenia wszystkich rekordów w tabeli, lecz wskazuje, że w wyniku zapytania mamy otrzymać wszystkie kolumny. To ważne rozróżnienie, ponieważ mylenie tych pojęć prowadzi do nieporozumień dotyczących struktury wyników. Każde zapytanie z gwiazdką ograniczone jest jedynie kolumnami nie rekordami. W tym przypadku część WHERE imie = 'Anna' dodatkowo sie mplementuje ograniczenie do konkretnych rekordów co należy do odrębnej części logiki zapytania. Z kolei interpretacja gwiazdki jako pola o nazwie '*' jest błędnym założeniem ponieważ w standardzie SQL nie istnieje możliwość nadania pola o takiej nazwie poprzez użycie gwiazdki. Gdybyśmy chcieli wyświetlić pole o konkretnej nazwie musielibyśmy użyć jego dokładnej nazwy a nie gwiazdki. Interpretacja gwiazdki jako zignorowania warunku WHERE również jest niepoprawna ponieważ WHERE jest integralną częścią zapytania SQL określającą kryteria filtrowania rekordów i działa niezależnie od gwiazdki. Zrozumienie różnic między wyborem kolumn a wyborem rekordów jest kluczowe dla prawidłowego konstruowania zapytań SQL i optymalizacji ich działania w praktycznych zastosowaniach.

Pytanie 13

Fragment kodu HTML z JavaScript spowoduje, że po kliknięciu przycisku

<img src="obraz1.png">
<img src="obraz2.png" id="id1">
<button onclick="document.getElementById('id1').style.display='none'">Przycisk</button>
A. obraz2.png zostanie schowany
B. obraz2.png zastąpi obraz1.png
C. obraz1.png zastąpi obraz2.png
D. obraz1.png zostanie schowany
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia działania mechanizmu manipulacji DOM przy użyciu JavaScript. Pierwszym potencjalnym błędem jest założenie, że obraz1.png zostanie ukryty. Kod JavaScript wyraźnie odnosi się do elementu o id 'id1', co jednoznacznie wskazuje na obraz2.png. Tym samym jakiekolwiek operacje związane z obraz1.png są wykluczone, ponieważ ten obraz nie posiada przypisanego identyfikatora, który mógłby być użyty w skrypcie. Kolejne błędne założenie dotyczy zastąpienia jednego obrazu drugim. Aby taka operacja miała miejsce, kod musiałby modyfikować atrybut src jednego z elementów img, co w tym przypadku nie występuje. W obecnym fragmencie kodu zmiana atrybutu src nie jest implementowana, co rzutuje na to, że żaden obraz nie zostanie zamieniony. Typowy błąd logiczny polega tutaj na pomyleniu ukrywania elementu z jego modyfikacją lub zamianą. Błędne rozumienie również może wywodzić się z zakładania, że zmiana widoczności elementu automatycznie implikuje jego fizyczną zamianę, co nie jest prawdą w kontekście manipulacji DOM. Użytkownik powinien nauczyć się rozróżniać te operacje, aby unikać podobnych nieporozumień. Prawidłowe zrozumienie tych mechanizmów pozwala na efektywne projektowanie dynamicznych interfejsów użytkownika, które są zarówno funkcjonalne, jak i estetyczne. W rzeczywistości, operacje na DOM, takie jak ukrywanie elementów, są podstawą nowoczesnego web designu i powinny być dobrze zrozumiane przez każdego programistę webowego.

Pytanie 14

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

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

Kod 1.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  clear: both;
  width: 30%;
}
Kod 2.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  float: right;
  width: 30%;
}
#piaty {
  float: left;
  width: 30%;
}
Kod 3.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  float: left;
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
Kod 4.
#drugi {
  float: left;
  width: 40%;
}
#trzeci {
  width: 30%;
}
#czwarty {
  width: 30%;
}
#piaty {
  float: right;
  width: 30%;
}
A. Kod 1.
B. Kod 3.
C. Kod 4.
D. Kod 2.
Brawo, twoja odpowiedź jest poprawna. Wybrałeś Kod 2, co jest zgodne z układem bloków na diagramie. Przy analizie kodu CSS, musimy zwrócić uwagę na różne aspekty, takie jak pozycja, szerokość i kolejność bloków. W tym przypadku, blok o id 'drugi' jest umieszczony po lewej stronie i zajmuje 40% szerokości, co jest zgodne z diagramem. Bloki 'trzeci' i 'czwarty' są odpowiednio po lewej i prawej stronie z szerokością 30%, a blok 'piąty' jest umieszczony na dole i zajmuje 30% szerokości. To wszystko odpowiada układowi bloków na diagramie. Kiedy tworzysz strony internetowe, ważne jest, aby zrozumieć i umieć manipulować kodem CSS, aby uzyskać pożądany układ strony. Pamiętaj, że praktyka i doświadczenie są kluczowe do zrozumienia jak kod CSS wpływa na układ i stylizację elementów strony.

Pytanie 15

W SQL, przy użyciu polecenia ALTER, można

A. usunąć tabelę
B. stworzyć nową tabelę
C. dodać dane do tabeli
D. zmienić strukturę tabeli
Odpowiedź jest poprawna, ponieważ polecenie ALTER w języku SQL służy do modyfikacji istniejącej struktury tabeli. Umożliwia ono wykonywanie różnych operacji, takich jak dodawanie nowych kolumn, zmiana typu danych istniejących kolumn, a także usuwanie kolumn. Przykładem użycia może być zmiana typu danych kolumny 'wiek' w tabeli 'Użytkownicy' z INTEGER na VARCHAR, co można osiągnąć za pomocą zapytania: ALTER TABLE Użytkownicy MODIFY COLUMN wiek VARCHAR(3). Zmiana struktury tabeli jest istotna w kontekście dostosowywania bazy danych do zmieniających się wymagań aplikacji i użytkowników, co jest kluczowe dla utrzymania jej elastyczności i wydajności. Warto również pamiętać, że modyfikacje struktury tabeli powinny być przeprowadzane z zachowaniem zasad bezpieczeństwa danych oraz odpowiednich procedur kontroli wersji, aby zminimalizować ryzyko utraty danych lub wprowadzenia błędów. Dzięki zrozumieniu i umiejętnemu stosowaniu polecenia ALTER, administratorzy baz danych mogą skuteczniej zarządzać strukturą i integralnością danych.

Pytanie 16

Rozmycie Gaussa, wygładzanie oraz szum RGB to funkcje wykorzystywane w programach do obróbki

A. grafiki wektorowej
B. grafiki rastrowej
C. dźwięku w formacie MIDI
D. ścieżki dźwiękowej
Rozmycie Gaussa, wygładzanie i szum RGB to techniki stosowane w grafice rastrowej, która opiera się na bitmapach. Rozmycie Gaussa jest szczególnie użyteczne w przypadku usuwania szumów i wygładzania obrazów, co poprawia ich estetykę oraz jakość, a także umożliwia bardziej naturalne przejścia tonalne. Na przykład, fotografowie korzystają z rozmycia Gaussa przy edycji zdjęć, aby zmiękczyć ostre krawędzie i stworzyć efekt bokeh. Szum RGB odnosi się do różnych typów zakłóceń, które mogą występować w obrazach rastrowych i które można zredukować za pomocą odpowiednich filtrów. Wygładzanie, z kolei, może być stosowane w grafice komputerowej do poprawy jakości renderingu oraz eliminacji niepożądanych efektów aliasingu. W branży graficznej dobrą praktyką jest stosowanie tych technik w sposób przemyślany, aby uzyskać najlepszą jakość wizualną, zgodnie z zasadami profesjonalnej edycji obrazu, jak również przy poszanowaniu standardów kolorystycznych i rozdzielczości dostosowanej do różnych platform wyjściowych.

Pytanie 17

Spośród wymienionych formatów, który charakteryzuje się najszerszą rozpiętością tonalną?

A. RAW
B. PNG
C. JPEG
D. BMP
Format RAW jest uważany za format o najwyższej rozpiętości tonalnej, co oznacza, że może przechowywać znacznie więcej informacji tonalnych niż inne formaty plików graficznych. W przeciwieństwie do formatów skompresowanych, takich jak JPEG, RAW zachowuje wszystkie dane z matrycy aparatu fotograficznego, co pozwala na bardziej precyzyjną obróbkę kolorów i ekspozycji. Dzięki temu, w formacie RAW można uzyskać większą elastyczność podczas edytowania zdjęć, co jest szczególnie ważne dla profesjonalnych fotografów. Przykładem może być sytuacja, gdy zdjęcie zostało zrobione w trudnych warunkach oświetleniowych; w formacie RAW można z łatwością odzyskać szczegóły zarówno w cieniach, jak i w jasnych partiach obrazu. Ponadto, format RAW nie stosuje stratnej kompresji, co oznacza, że nie tracimy żadnych informacji przy zapisywaniu pliku. W standardach fotograficznych, takich jak TIFF czy DNG, również występuje wysoka jakość obrazu, ale RAW zapewnia bardziej bezpośredni dostęp do oryginalnych danych matrycy. Umożliwia to twórcom pełną kontrolę nad procesem edycji i finalnym wyglądem fotografii.

Pytanie 18

Aby stworzyć szablon strony z trzema ustawionymi obok siebie kolumnami, można użyć stylu CSS.

A. .kolumny { float: right; height: 33%; }
B. .kolumny { float: left; width: 40%; }
C. .kolumny { clear: both; height: 33%; }
D. .kolumny { float: left; width: 33%; }
Twoja odpowiedź jest prawidłowa. W CSS do tworzenia szablonu strony z trzema kolumnami ustawionymi obok siebie stosuje się właściwość 'float: left;', a dodatkowo ustawia się szerokość każdej kolumny na 'width: 33%;'. Ta technika pozwala na równomierne rozmieszczenie trzech kolumn w poziomie na stronie. Właściwość 'float' służy do opływania elementów strony, a właściwość 'width' umożliwia kontrolę nad szerokością elementów. To są standardy w branży w projektowaniu stron internetowych. W stylach CSS zawsze powinniśmy starać się zapewnić jak najbardziej płynne i spójne doświadczenia dla użytkowników, a ten sposób tworzenia szablonów trzech kolumn jest jednym z niezbędnych narzędzi w naszym arsenale. Pamiętaj, że zrozumienie i umiejętne stosowanie CSS jest kluczowe dla tworzenia estetycznych i funkcjonalnych stron internetowych.

Pytanie 19

Fragment kodu w języku PHP przedstawia się następująco (patrz ramka): W wyniku wykonania pętli zostaną wyświetlone liczby

Ilustracja do pytania
A. 0, 4, 8, 12, 16
B. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
C. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
D. 0, 4, 8, 12, 16, 20
Pętla for w PHP to naprawdę podstawowe narzędzie, które pozwala nam w łatwy sposób powtarzać różne operacje na danych. W tej pętli zaczynamy od $i równego 0, a kończymy, kiedy $i osiągnie 20. W każdej iteracji dodajemy 4 do $i, więc wypisujemy liczby od 0 do 20, co 4 jednostki. Super sprawa, jeśli chcemy równomiernie przetwarzać dane. Przykładowo, gdy mamy jakieś tabele z danymi albo potrzebujemy wygenerować wykresy w regularnych odstępach, to taka pętla się przydaje. Stosowanie pętli to też dobra praktyka programistyczna, bo automatyzuje nam powtarzalne zadania, co czyni kod bardziej przejrzystym. Jak zrozumiesz, jak działa ta pętla, to dużo łatwiej będzie ci tworzyć różne algorytmy, co jest super ważne w informatyce.

Pytanie 20

Komenda kierowana do serwera bazy danych, mająca na celu zbieranie, wyszukiwanie lub edytowanie danych w bazie, nazywana jest

A. kopią
B. formularzem
C. kwerendą
D. kolumną
Kwerenda to zapytanie wysyłane do systemu zarządzania bazą danych (DBMS), służące do uzyskiwania, modyfikowania lub analizowania danych. W praktyce, kwerendy są kluczowym elementem interakcji z danymi w bazach danych. Na przykład, w języku SQL, kwerendy takie jak SELECT, INSERT, UPDATE i DELETE są podstawowymi poleceniami do pobierania i zarządzania danymi. Kwerendy mogą być proste, takie jak pobranie wszystkich klientów z tabeli, lub złożone, zawierające różne funkcje i złączenia, umożliwiające uzyskanie informacji z wielu tabel jednocześnie. Dobrą praktyką jest stosowanie odpowiednich indeksów, aby przyspieszyć działanie kwerend, zwłaszcza w dużych bazach danych. Zrozumienie kwerend jest fundamentalne dla każdego, kto pracuje z danymi, ponieważ umożliwia wykorzystywanie ich do podejmowania decyzji opartej na analizie danych oraz optymalizacji procesów biznesowych.

Pytanie 21

Kod umieszczony w ramce spowoduje wyświetlenie liczb

Ilustracja do pytania
A. 2 4 6 8 10
B. 1 3 5 7 9
C. 1 2 3 4 5 6 7 8 9 10
D. 2 4 6 8
Prawidłowa odpowiedź to 2 4 6 8 10 co wynika z działania przedstawionego kodu PHP. Pętla for rozpoczyna się od wartości zmiennej x równej 1 i zwiększa ją o jeden przy każdej iteracji aż do osiągnięcia wartości 10 włącznie. Instrukcja if($x % 2 != 0) continue oznacza że dla każdej nieparzystej liczby x wykonanie reszty kodu pętli jest pomijane i kontynuowane jest od kolejnej iteracji. Oznacza to że tylko liczby parzyste są wypisywane na ekranie co zgadza się z przedstawioną odpowiedzią. W praktyce taka konstrukcja jest używana do filtrowania danych gdzie chcemy przetwarzać tylko określone warunki. Stosowanie operatora modulo % jest standardową techniką do sprawdzania podzielności liczb co jest często wykorzystywane w programowaniu np. do selekcji danych lub w algorytmach kryptograficznych. Dobrą praktyką jest również używanie instrukcji continue gdy chcemy zminimalizować zagnieżdżenie kodu i poprawić jego czytelność poprzez eliminację zbędnych bloków else. Użycie pętli for z takim warunkiem pozwala na efektywne przetwarzanie dużych zbiorów danych co jest kluczowe w aplikacjach wymagających wysokiej wydajności.

Pytanie 22

Portal internetowy dysponuje bardzo złożonym systemem stylów, który obejmuje style zewnętrzne, wewnętrzne oraz lokalne. Jak można zagwarantować, że określona cecha zdefiniowana w zewnętrznym stylu jest zawsze stosowana do elementu HTML, niezależnie od bardziej priorytetowych stylów?

A. jako pseudoklasę :active
B. przy pomocy reguły !important
C. przy pomocy pseudoelementu ::after
D. jako selektor potomka
Odpowiedź, że cechę opisaną w zewnętrznym stylu należy zdefiniować przy pomocy reguły !important jest poprawna. Reguła !important w CSS jest używana do nadania określonej właściwości najwyższego priorytetu. Oznacza to, że nawet jeśli inne reguły CSS mają wyższy specyficzność lub są zdefiniowane później, właściwość oznaczona jako !important zostanie zastosowana. Przykład zastosowania to sytuacja, gdy styl globalny dla elementu przyjmuje kolor tła, ale chcemy, aby dany element zawsze miał czerwony kolor tła, niezależnie od innych reguł. W takim przypadku możemy zdefiniować ten styl jako: `.example { background-color: red !important; }`. Ważne jest, aby stosować !important z rozwagą, ponieważ może to prowadzić do trudności w utrzymaniu kodu oraz nadpisywaniu stylów w nieprzewidywalny sposób. Dobrym podejściem jest najpierw spróbować zwiększyć specyficzność selektora, a dopiero potem, w nagłych wypadkach, używać !important, aby unikać problemów z dziedziczeniem stylów.

Pytanie 23

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

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

Pytanie 24

W zamieszczonym kodzie PHP, zamiast znaków zapytania powinien być wyświetlony komunikat:

$x = mysql_query('SELECT * FROM mieszkancy');
if (!$x)
    echo '??????????????????????';
A. Niepoprawne hasło do bazy danych
B. Błąd w trakcie przetwarzania zapytania
C. Niepoprawna nazwa bazy danych
D. Zapytanie zostało poprawnie przetworzone
W przedstawionym kodzie PHP, komunikat "??????????????????????" powinien wskazywać na błąd przetwarzania zapytania SQL. Kiedy wynik funkcji mysql_query() jest równy fałszowi (false), oznacza to, że zapytanie nie mogło zostać poprawnie wykonane. Może to być spowodowane różnymi czynnikami, takimi jak błędy w składni zapytania, problemy z połączeniem z bazą danych, lub nieprawidłowe tabele. W tym przypadku, dobrym podejściem jest użycie funkcji mysql_error() w celu uzyskania bardziej szczegółowych informacji na temat natury błędu. Przykład poprawnego kodu mógłby wyglądać tak: <p>$x = mysql_query('SELECT * FROM mieszkancy');<br>If (!$x) {<br>echo mysql_error();<br>}</p> Używanie tej metody pomaga w diagnostyce problemu i pozwala na szybsze jego rozwiązanie. Znalezienie i naprawienie błędów w zapytaniach SQL jest kluczowe w pracy z bazami danych, szczególnie w kontekście aplikacji internetowych, które muszą być niezawodne i efektywne.

Pytanie 25

Zgodnie z wytycznymi WCAG 2.x  na poziomie AA minimalny kontrast tekstu (o standardowym rozmiarze) do tła, spełniający wymogi dostępności serwisu WWW dla osób z ograniczoną percepcją wzrokową wynosi

A. 2,5 : 1
B. 4,5 : 1
C. 1,5 : 1
D. 2,0 : 1
Poprawna jest wartość 4,5 : 1, bo dokładnie taki minimalny współczynnik kontrastu dla tekstu o standardowym rozmiarze określają wytyczne WCAG 2.0 i 2.1 na poziomie AA (kryterium sukcesu 1.4.3 „Contrast (Minimum)”). Chodzi tu o kontrast pomiędzy kolorem tekstu a kolorem tła, liczony jako stosunek jasności (luminancji względnej) tych dwóch kolorów. Im wyższy współczynnik, tym większa różnica i tym łatwiej odczytać treść osobom z osłabionym wzrokiem, np. z zaćmą, jaskrą czy po prostu osobom starszym. Moim zdaniem to jest jedna z najważniejszych zasad dostępności, bo dotyczy absolutnej podstawy – czy w ogóle da się tekst przeczytać bez wysiłku. W praktyce oznacza to, że np. jasnoszary tekst na białym tle, który „ładnie wygląda” w projekcie graficznym, bardzo często nie spełnia 4,5 : 1 i jest po prostu nieczytelny. Z kolei klasyczne połączenie #000000 (czarny) na #FFFFFF (biały) ma kontrast 21 : 1, czyli znacznie powyżej wymaganego minimum. Warto pamiętać, że dla większego tekstu (min. 18 px lub 14 px pogrubiony) próg jest niższy – 3 : 1, ale w pytaniu mowa wyraźnie o tekście standardowym. W codziennej pracy dobrze jest używać automatycznych narzędzi (np. WebAIM Contrast Checker, wtyczki do przeglądarek, funkcje w Figma/Adobe XD), które potrafią policzyć kontrast na podstawie kodów kolorów w formacie HEX lub RGB i od razu powiedzą, czy mamy poziom AA, czy nie. Z mojego doświadczenia przy tworzeniu serwisów WWW najlepiej od razu w fazie projektowania UI przyjąć zasadę: wszystkie podstawowe teksty (paragrafy, linki, etykiety formularzy) muszą mieć przynajmniej 4,5 : 1. To ułatwia życie front-endowcom i zmniejsza ryzyko, że podczas audytu dostępności trzeba będzie zmieniać całą paletę barw. Dobrą praktyką jest też zapisanie tych wymogów w design systemie lub w style guide, żeby każdy w zespole (grafik, front-end, product owner) rozumiał, że kontrast to nie „opcja estetyczna”, tylko wymóg dostępności i często także wymóg prawny.

Pytanie 26

Jaki rezultat zostanie wyświetlony po wykonaniu przedstawionego kodu HTML?

<ol>
    <li>punkt</li>
    <li>punkt
        <ul>
            <li>punkt</li>
            <li>punkt</li>
        </ul>
    </li>
    <li>punkt</li>
</ol>
<ol type="A" start="4">
    <li>punkt</li>
</ol>

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

4. punkt

A.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

4. punkt

B.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

D. punkt

C.

1. punkt

2. punkt

  • punkt
  • punkt

3. punkt

D. punkt

D.

A. D.
B. B.
C. C.
D. A.
Gratulacje, wybrałeś poprawną odpowiedź, która jest 'D'. Twoja znajomość struktury i semantyki kodu HTML jest na dobrym poziomie. Kod HTML w pytaniu składa się z dwóch uporządkowanych list (``), z których pierwsza zawiera trzy elementy. Drugi element pierwszej listy uporządkowanej zawiera zagnieżdżoną nieuporządkowaną listę (``) z dwoma elementami. Zwróć uwagę, że elementy listy nieuporządkowanej są wyświetlane z kropkami. Druga lista uporządkowana zaczyna numerację od litery 'D', co jest zgodne z odpowiedzią 'D'. W praktyce, zagnieżdżone listy są często używane do tworzenia struktur menu w aplikacjach webowych, a atrybut start w liście uporządkowanej pozwala na kontrolowanie numeracji elementów listy. Pamiętaj, że zrozumienie struktury i semantyki tagów HTML jest kluczowe dla tworzenia efektywnych i użytecznych stron internetowych.

Pytanie 27

Który program służy do obróbki dźwięku?

A. Inkscape
B. GIMP
C. Audacity
D. CorelDRAW
Prawidłowo wskazany został Audacity, bo jest to specjalistyczny program przeznaczony właśnie do obróbki dźwięku. W praktyce oznacza to, że pozwala nagrywać, edytować, montować i eksportować ścieżki audio w różnych formatach, np. WAV, MP3, OGG. W typowym workflow technika czy realizatora dźwięku w małym studiu używa się Audacity do wycinania fragmentów nagrania, usuwania szumów tła, normalizacji głośności, stosowania efektów takich jak kompresor, korektor (EQ), pogłos, a także do miksowania kilku ścieżek w jeden gotowy plik. Moim zdaniem to jeden z najwygodniejszych programów na start, bo jest darmowy, wieloplatformowy i ma dość czytelny interfejs, a jednocześnie obsługuje dość zaawansowane operacje na sygnale audio. W środowisku webowym i multimedialnym Audacity bardzo często wykorzystuje się do przygotowania materiałów dźwiękowych na strony WWW, kursy e‑learningowe, podcasty czy krótkie reklamy internetowe. Dobre praktyki mówią, żeby przed publikacją dźwięk oczyścić z trzasków, wyrównać poziomy głośności (np. normalizacja do ok. −1 dB lub do standardu głośności LUFS) i dopiero potem eksportować do skompresowanego formatu, który łatwo osadzić w HTML5 audio. Audacity idealnie się do tego nadaje, bo pozwala precyzyjnie przybliżać przebieg fali, pracować na zaznaczeniach, a także cofać wiele kroków edycji, co jest bardzo wygodne przy nauce. W technikum czy w pracy przy prostych projektach multimedialnych ten program spokojnie wystarcza do większości typowych zadań związanych z obróbką dźwięku, od prostego przycięcia pliku MP3 aż po przygotowanie lektora do filmu instruktażowego.

Pytanie 28

Jak można usunąć ciasteczko o nazwie ciastko, korzystając z języka PHP?

A. setcookie("$ciastko", "", 0);
B. unsetcookie("$ciastko");
C. deletecookie("ciastko");
D. setcookie("ciastko", "", time()-3600);
Wszystkie pozostałe odpowiedzi zawierają błędy koncepcyjne, które uniemożliwiają skuteczne usunięcie ciasteczka. Przykładowo, deletecookie("ciastko") to niepoprawne podejście, ponieważ nie istnieje funkcja o takiej nazwie w standardowej bibliotece PHP. Użytkownicy mogą myśleć, że wystarczy wywołać funkcję, która usunie ciasteczko, jednak PHP wymaga korzystania z funkcji setcookie(), aby to osiągnąć. W przypadku setcookie("$ciastko", "", 0), użytkownik próbuje usunąć ciasteczko, ale błędnie ustawia czas wygaśnięcia na zero. Wartość zero nie jest interpretowana jako czas przeszły, co uniemożliwia przeglądarce uznanie ciasteczka za wygasłe. Ponadto, użycie zmiennej "$ciastko" zamiast bezpośredniego odniesienia do nazwy ciasteczka wprowadza dodatkowe zamieszanie. Ostatnia propozycja, unsetcookie("$ciastko"), również jest błędna, ponieważ nie istnieje funkcja unsetcookie() w PHP. Użytkownicy mogą mylnie przypuszczać, że funkcje do usuwania zmiennych i ciasteczek są sobie równe, jednak każda z nich ma swoje specyficzne zastosowanie i zachowanie. Kluczowym punktem w pracy z ciasteczkami jest zrozumienie, że celem jest ich usunięcie przez ustawienie daty wygaśnięcia w przeszłości, a nie przez wywoływanie nieistniejących funkcji.

Pytanie 29

Polecenie colspan służy do łączenia komórek tabeli w poziomie, natomiast rowspan w pionie. Którą z tabel wyświetli poniższy fragment kodu napisany w języku HTML?

<table border="1" cellspacing="0" cellpadding="10">
    <tr>
        <td rowspan="2">&nbsp;</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
    </tr>
</table>
Ilustracja do pytania
A. D.
B. B.
C. C.
D. A.
Dokładnie tak, wybrałeś poprawną odpowiedź. Fragment kodu HTML napisałeś pokazuje tabelę z dwoma wierszami i dwoma komórkami. Pierwsza komórka w pierwszym wierszu ma atrybut rowspan='2', co oznacza, że będzie się rozciągać na dwa wiersze w pionie. Druga komórka w pierwszym wierszu nie ma żadnych specjalnych atrybutów, więc jest standardową komórką. W drugim wierszu jest tylko jedna komórka, gdyż druga komórka jest połączona z pierwszą komórką pierwszego wiersza przez atrybut rowspan. Tabela odpowiadająca opisowi to tabela B, która ma jedną długą komórkę po lewej stronie rozciągającą się na dwa wiersze i dwie krótsze komórki po prawej stronie, po jednej w każdym wierszu. Pamiętaj, że atrybuty rowspan i colspan są bardzo przydatne do tworzenia skomplikowanych layoutów tabel, które nie są możliwe do osiągnięcia przy użyciu standardowych tagów tabeli.

Pytanie 30

Wskaż sposób, w jaki należy odwołać się do pliku default.css, jeśli index.html znajduje się bezpośrednio w katalogu Strona?

Ilustracja do pytania
A. <link rel="stylesheet" type="text/css" href="./style/default.css" />
B. <link rel="stylesheet" type="text/css" href="...\style\default.css" />
C. <link rel="stylesheet" type="text/css" href="c:/style/default.css" />
D. <link rel="stylesheet" type="text/css" href="c:\style/default.css" />
Wybrana odpowiedź jest poprawna, ponieważ poprawnie odwołuje się do pliku CSS za pomocą ścieżki względnej. W HTML, aby odwołać się do pliku zlokalizowanego w katalogu nadrzędnym, używa się ścieżki względnej, która zaczyna się od './', co oznacza bieżący katalog. Następnie podaje się nazwę podkatalogu (w tym przypadku 'style') i nazwę pliku (tutaj 'default.css'). W praktyce, gdy budujesz strukturę katalogową dla swojej strony internetowej, dobrą praktyką jest organizowanie plików w sposób logiczny i konsekwentny, aby ułatwić nawigację i odwołanie do plików. Pamiętaj też, że ścieżki względne są preferowane w większości przypadków, ponieważ są uniwersalne i niezależne od konkretnego systemu plików, co ułatwia przenoszenie kodu między różnymi środowiskami.

Pytanie 31

Jaką maksymalną liczbę znaczników &lt;td&gt; można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, która nie zawiera złączeń między komórkami oraz wiersza nagłówkowego?

A. 6
B. 9
C. 3
D. 12
Odpowiedź 9 jest poprawna, ponieważ w tabeli składającej się z trzech kolumn i trzech wierszy, każdy wiersz może zawierać trzy komórki danych. Zatem, aby obliczyć maksymalną liczbę znaczników &lt;td&gt;, należy pomnożyć liczbę kolumn przez liczbę wierszy: 3 kolumny x 3 wiersze = 9 znaczników &lt;td&gt;. Ważne jest, aby pamiętać, że w kontekście HTML, znacznik &lt;td&gt; służy do definiowania komórek tabeli i jest używany tylko do umieszczania danych w tabeli. Przy projektowaniu tabel w HTML, dobrym rozwiązaniem jest stosowanie przejrzystej struktury oraz odpowiednich znaczników, aby poprawić czytelność i dostępność stron. Zgodnie z dobrymi praktykami, zawsze warto używać znaczników &lt;th&gt; do nagłówków kolumn, ale w tym przypadku, zgodnie z treścią pytania, zakładamy, że nie stosujemy wiersza nagłówkowego. W efekcie maksymalna liczba komórek, które można wykorzystać w takiej tabeli, wynosi 9. Przykładem zastosowania takiej tabeli może być wyświetlanie danych o produktach, gdzie każda komórka zawierać może różne informacje, takie jak nazwa produktu, cena i ilość.

Pytanie 32

Wskaż styl CSS za pomocą, którego uzyskano przedstawiony efekt

Styl 1.
img {
  width: 100px;
  border-radius: 10%;
}
Styl 2.
img {
  width: 100px;
  border-radius: 50px;
}
Styl 3.
img {
  width: 100px;
  border: 50% green;
}
Styl 4.
img {
  width: 100px;
  shape: circle;
}
Ilustracja do pytania
A. Styl 1.
B. Styl 4.
C. Styl 3.
D. Styl 2.
Niestety, wybrałeś niepoprawną odpowiedź. Poprawną odpowiedzią jest 'Styl 2.', który wykorzystuje właściwość CSS border-radius z wartością 50px do zaokrąglania rogów obrazka. Zobaczmy, dlaczego pozostałe style są niepoprawne. 'Styl 1.' ma za małą wartość zaokrąglenia, co nie daje oczekiwanego efektu. Właściwość border-radius musi mieć odpowiednią wartość, aby uzyskać pożądane zaokrąglenie. 'Styl 3.' zawiera niepoprawną wartość, a mianowicie kolor. Kolor nie jest właściwą wartością dla border-radius, co pokazuje, jak ważne jest zrozumienie, jakie wartości są akceptowane dla różnych właściwości CSS. 'Styl 4.' używa właściwości shape, która nie istnieje w CSS. To jest błąd typowy dla osób, które nie są jeszcze pewne, które właściwości są dostępne w CSS. Jest to jasnym przykładem, dlaczego nauka i praktyka CSS są tak ważne do tworzenia atrakcyjnych i funkcjonalnych stron internetowych.

Pytanie 33

Które wyrażenie logiczne należy zastosować w języku JavaScript, aby wykonać operacje tylko dla dowolnych liczb ujemnych z przedziału jednostronnie domkniętego <-200, -100)?

A. (liczba >= -200) && (liczba < -100)
B. (liczba <= -200) && (liczba < -100)
C. (liczba >= -200) || (liczba > -100)
D. (liczba -100)
Poprawne wyrażenie to (liczba >= -200) && (liczba < -100), bo dokładnie odwzorowuje zapis matematyczny przedziału jednostronnie domkniętego <-200, -100). W matematyce nawias kwadratowy oznacza, że granica jest włączona do przedziału, a nawias okrągły – że granica jest wyłączona. Czyli chcemy wszystkie liczby większe lub równe -200, ale jednocześnie mniejsze niż -100. W JavaScript przekłada się to właśnie na dwa porównania połączone operatorem logicznym AND, czyli &&. Warunek liczba >= -200 pilnuje dolnej granicy, a liczba < -100 pilnuje górnej, która jest otwarta. Jeśli którakolwiek z tych części będzie fałszywa, całe wyrażenie zwróci false, co jest dokładnie tym, czego oczekujemy przy opisie takiego przedziału. W praktyce taki zapis pojawia się bardzo często, np. przy walidacji danych wejściowych, filtrowaniu wyników, ustawianiu zakresów sliderów w interfejsie użytkownika albo przy sprawdzaniu warunków w grach (np. pozycja x obiektu ma być w jakimś zakresie). Przykład w JS: if (liczba >= -200 && liczba < -100) { // wykonaj kod tylko dla liczb z tego zakresu } Moim zdaniem warto od razu wyrobić sobie nawyk zapisywania zakresów w postaci dwóch prostych porównań połączonych &&, bo to jest czytelne dla innych programistów i zgodne z powszechną praktyką w branży. W wielu językach (nie tylko JavaScript, ale też C, Java, PHP) taki schemat warunków jest standardem. Trzeba też pamiętać, że w JS nie ma osobnego operatora „przedziału”, więc zawsze rozbijamy to właśnie na takie składowe porównania logiczne.

Pytanie 34

Aby za pomocą instrukcji SELECT uzyskać listę nazwisk osób mieszkających na osiedlu, przy czym nazwiska te nie mogą się powtarzać, należy sformułować zapytanie w następujący sposób

A. SELECT DISTINCT nazwisko FROM mieszkancy
B. SELECT AVG(nazwisko) FROM mieszkancy
C. SELECT nazwisko FROM mieszkancy ORDER BY nazwisko
D. SELECT TOP 10 nazwisko FROM mieszkancy
Odpowiedź "SELECT DISTINCT nazwisko FROM mieszkancy;" jest prawidłowa, ponieważ użycie klauzuli DISTINCT pozwala na wyświetlenie unikalnych wartości z kolumny 'nazwisko', eliminując wszelkie duplikaty. W praktyce jest to niezwykle przydatne, gdyż często zdarza się, że w bazach danych ta sama informacja może być wprowadzana wielokrotnie, co prowadzi do nieczytelnych raportów. Dzięki zastosowaniu klauzuli DISTINCT, możemy uzyskać czysty i zrozumiały zbiór danych, co jest zgodne z najlepszymi praktykami w analizie danych. Na przykład, w sytuacji, gdy chcemy uzyskać listę wszystkich nazwisk mieszkańców danego osiedla, DISTINCT pozwala na oszczędność czasu w późniejszej obróbce danych, eliminując potrzebę ręcznej filtracji wyników. Zastosowanie DISTINCT jest również standardem w wielu zapytaniach SQL, co czyni tę technikę fundamentalną w efektywnym zarządzaniu bazami danych oraz analizy informacji. Warto dodać, że klauzula DISTINCT może być używana z różnymi rodzajami danych, co pozwala na jej wszechstronność.

Pytanie 35

Która z poniższych zasad nie przyczyni się pozytywnie do poprawy czytelności kodu?

A. Nazwy zmiennych muszą odzwierciedlać ich funkcję
B. Kod powinien być napisany bez wcięć i zbędnych przejść do nowej linii
C. Każda linia kodu powinna zawierać jedynie jedną instrukcję
D. Należy dodawać komentarze w bardziej skomplikowanych fragmentach kodu
Odpowiedź, że kod powinien być napisany bez wcięć i zbędnych enterów jest prawidłowa, ponieważ brak odpowiedniego formatowania negatywnie wpływa na czytelność kodu. Wcięcia są kluczowe w wielu językach programowania, takich jak Python, gdzie struktura kodu jest oparta na przestrzeniach, a nie na nawiasach. Wcięcia pomagają zaznaczyć hierarchię oraz zagnieżdżenie bloków kodu, co jest niezbędne do zrozumienia logiki działania programu. W praktyce, dobrze sformatowany kod, z użyciem wcięć i odpowiednich przerw, pozwala programistom szybko zrozumieć jego strukturę i funkcjonalność. Przykładem mogą być fragmenty kodu, gdzie funkcje są wyraźnie oddzielone od siebie, a pętle i warunki są poprawnie wcięte, co ułatwia ich analizę i modyfikację. Zgodnie z konwencjami PEP 8 dla Pythona oraz zasadami wielu innych języków, stosowanie wcięć oraz przestrzeni między blokami kodu to standardy, które znacznie poprawiają jakość kodu oraz jego czytelność.

Pytanie 36

Tabela filmy zawiera klucz główny id oraz klucz obcy rezyserID, natomiast tabela rezyserzy ma klucz główny id. Obydwie tabele są połączone relacją jeden do wielu, gdzie strona rezyserzy odnosi się do strony filmy. Jak należy zapisać kwerendę SELECT, aby połączyć tabele filmy i rezyserzy?

A. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
B. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.id ...
C. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmyID ...
D. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.filmyID ...
Odpowiedź, która wskazuje na połączenie tabeli filmy z tabelą rezyserzy za pomocą klauzuli JOIN, z warunkiem ON filmy.rezyserID = rezyserzy.id, jest prawidłowa, ponieważ bezpośrednio odzwierciedla relację pomiędzy tymi dwiema tabelami. Klucz obcy rezyserID w tabeli filmy wskazuje na klucz główny id w tabeli rezyserzy. W związku z tym, aby prawidłowo połączyć te tabele w kwerendzie SELECT, musimy użyć tego klucza obcego w warunku połączenia. Przykładowo, w realnych zastosowaniach chcesz uzyskać informacje o filmach oraz ich reżyserach; więc pisząc zapytanie, możesz z łatwością uzyskać dane, takie jak tytuł filmu i imię reżysera, co jest kluczowe w systemach zarządzania bazą danych. Dobre praktyki wskazują, że zawsze należy używać poprawnych kluczy do łączenia tabel, aby uzyskać wiarygodne i dokładne wyniki, co jest fundamentalne w projektowaniu baz danych i tworzeniu zapytań SQL.

Pytanie 37

W języku PHP, aby zaprezentować ciąg n znaków @, konieczne jest skorzystanie z funkcji

A. function znaki($i){for($i=0;$i<$n;$i++)print("@");}znaki($i);
B. function znaki($znak,$i++){for($i=0;$i<$n;$i++)print($znak);}znaki($n);
C. function znaki($znak,$i++){for($i=0;$i<$n;$i++)print($znak);}znaki(@,$n);
D. function znaki($znak,$n){for($i=0;$i<$n;$i++)print($znak);}znaki("@",$n);
Aby wyświetlić ciąg n znaków @ w języku PHP, właściwe jest użycie funkcji zdefiniowanej jako function znaki($znak, $n). Funkcja ta przyjmuje dwa argumenty: pierwszy z nich to znak, który chcemy wydrukować (w tym przypadku @), a drugi to liczba powtórzeń, czyli n. Wewnątrz funkcji wykorzystujemy pętlę for, która iteruje od 0 do n-1, co pozwala na wydrukowanie znaku n razy. Warto zaznaczyć, że konstrukcja pętli jest fundamentalnym elementem programowania w PHP, a jej zastosowanie w tej funkcji pozwala na efektywne generowanie i wyświetlanie powtarzających się elementów. Oprócz tego, odpowiednia definicja parametrów funkcji zgodnie z konwencjami PHP oraz prawidłowe przekazywanie argumentów sprawiają, że kod jest bardziej czytelny oraz elastyczny. Przykładowe wywołanie znaki('@', 5) spowoduje wyświetlenie @@@@@. Tego typu podejście jest zgodne z najlepszymi praktykami programowania w PHP, gdzie wykorzystuje się funkcje do modularizacji kodu oraz ponownego wykorzystania logiki w różnych częściach aplikacji.

Pytanie 38

Aby poprawnie udokumentować poniższą linię kodu, trzeba po znakach // dodać komentarz: ```document.getElementById("napis").innerHTML = Date(); //```

A. wyświetlenie daty i czasu w elemencie o id = napis
B. wyświetlenie tekstu "Date()" w elemencie o id = napis
C. zmiana stylizacji atrybutu innerHTML
D. błędne informacje
Odpowiedź 'wyświetlenie daty i czasu w znaczniku o id = napis' jest poprawna, ponieważ linia kodu używa metody 'getElementById', która pozwala na dostęp do elementu HTML za pomocą jego identyfikatora. W tym przypadku, 'document.getElementById("napis")' odnosi się do elementu, którego identyfikator to 'napis'. Następnie, przypisując do atrybutu 'innerHTML' wynik funkcji 'Date()', kod wstawia bieżącą datę i czas jako zawartość tego elementu. Funkcja 'Date()' zwraca aktualną datę i czas w formacie czytelnym dla użytkownika, co czyni kod użytecznym w aplikacjach internetowych, gdzie użytkownik może chcieć zobaczyć bieżący czas. W praktyce, takie podejście jest często stosowane w aplikacjach do wyświetlania informacji o czasie, na przykład w kalendarzach czy aplikacjach do planowania. Warto również dodać, że użycie 'innerHTML' do aktualizacji zawartości elementu jest zgodne z najlepszymi praktykami w JavaScript, pod warunkiem, że nie wprowadza się niebezpiecznych danych z niezaufanych źródeł, co mogłoby prowadzić do ataków typu XSS.

Pytanie 39

Podano tabelę ksiazki z kolumnami: tytul, autor (w formacie tekstowym), cena (w formacie liczbowym). Aby zapytanie SELECT zwracało jedynie tytuły, dla których cena jest niższa niż 50zł, należy użyć:

A. SELECT ksiazki FROM tytul WHERE cena < '50 zł'
B. SELECT * FROM ksiazki WHERE cena < 50
C. SELECT tytul FROM ksiazki WHERE cena < 50
D. SELECT tytul FROM ksiazki WHERE cena > '50 zł'
Odpowiedź 'SELECT tytul FROM ksiazki WHERE cena < 50;' jest poprawna, ponieważ precyzyjnie formułuje zapytanie w języku SQL, które ma na celu wyodrębnienie z tabeli 'ksiazki' tylko tych tytułów, których cena jest niższa niż 50. W tym przypadku użycie operatora porównania '<' skutkuje filtracją danych według określonego kryterium. Jest to zgodne z dobrą praktyką w programowaniu baz danych, ponieważ pozwala uzyskać potrzebne informacje w sposób efektywny i zrozumiały. Przykładem praktycznego zastosowania może być stworzenie raportu dla księgarni, która chce zobaczyć, które książki są w sprzedaży w przystępnej cenie. Zwracając tylko potrzebne kolumny (tytuł), minimalizujesz ilość przesyłanych danych, co jest ważne w kontekście wydajności i szybkości działania aplikacji korzystających z bazy danych. Dodatkowo, unikanie podawania ceny w formacie tekstowym (np. '50 zł') jest zgodne z zasadami dobrego projektowania baz danych, które zalecają stosowanie odpowiednich typów danych, co w tym przypadku oznacza liczbę bez jednostki walutowej.

Pytanie 40

Która funkcja edytora grafiki wektorowej spowoduje przekształcenie z przedstawionych po lewej stronie figur koła i prostokąta do figury półkola widocznej po prawej stronie?

Ilustracja do pytania
A. Różnica.
B. Wykluczenie.
C. Podział.
D. Część wspólna.
W grafice wektorowej operacje na kształtach, takie jak Różnica, Podział, Wykluczenie czy Część wspólna, to tzw. operacje boole’owskie. One nie są losowe – każda z nich ma bardzo konkretne, matematyczne znaczenie. Typowy błąd polega na tym, że patrzymy tylko na „intuicyjną” nazwę funkcji, a nie na to, co faktycznie dzieje się z obszarami wypełnienia. Różnica (ang. Subtract / Difference) polega na tym, że jedna figura „wycina” fragment z drugiej. Gdyby w naszym przykładzie użyć różnicy, to z jednej figury zostałby usunięty fragment zajmowany przez drugą. W efekcie dostalibyśmy kształt przypominający np. prostokąt z zaokrąglonym wycięciem, a nie pełne półkole. To przydaje się np. do robienia otworów, ramek, ikon z „dziurą”, ale nie do budowy półkola. Podział (ang. Divide / Fragment) dzieli obszar wszędzie tam, gdzie kształty się przecinają, na kilka osobnych obiektów. Wizualnie może to chwilowo wyglądać podobnie, ale końcowy efekt to kilka fragmentów, które trzeba ręcznie usuwać lub scalać. W testowym zadaniu chodzi o jedną, gotową figurę półkola, bez dodatkowego sprzątania, więc to nie jest optymalna operacja. Wykluczenie (ang. Exclude / XOR) działa odwrotnie do części wspólnej – usuwa obszar nakładania się, a zostawia tylko to, co jest „na zewnątrz” przecięcia. Gdyby użyć wykluczenia na kole i prostokącie, środek, czyli miejsce ich wspólnego nakładania, zniknie, a zostaną dwa osobne dziwne kształty po bokach. To dobra funkcja do tworzenia bardziej dekoracyjnych, ażurowych form, ale kompletnie nie nadaje się do uzyskania klasycznego półkola. W tym zadaniu kluczowe jest zrozumienie, że półkole jest dokładnie tym obszarem, gdzie koło i prostokąt się pokrywają. Stąd jedynie „Część wspólna” daje czysty, poprawny efekt bez dodatkowej obróbki. Warto przy takich pytaniach wyobrażać sobie, które fragmenty zostaną, a które zostaną usunięte, zamiast sugerować się tylko nazwą funkcji w menu programu.