Przejdź do głównej treści

Wyniki egzaminu

Nowy egzamin

Informacje o egzaminie

  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Rozpoczęcie: 15 października 2026 22:51
  • Zakończenie: 15 października 2026 23:08 

Egzamin zdany!

Wynik: 20/40 punktów (50,0%)

Wymagane minimum: 20 punktów (50%)

Pewność odpowiedzi

Żadna odpowiedź nie została oznaczona jako strzał.

Przy następnym egzaminie zaznaczaj niepewne odpowiedzi - zobaczysz wtedy, ile wyniku bierze się z wiedzy, a ile ze szczęścia.

Twój wynik na tle innych

Twój wynik jest lepszy niż 31% podejść do kwalifikacji INF.03.

Porównanie z 47762 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).

Taki sam wynik jak poprzednio (50,0%).

Zachowaj ten wynik na koncie

Załóż darmowe konto albo zaloguj się - ten egzamin trafi na Twoje konto, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.

Analiza przebiegu egzaminu - sprawdź przebieg rozwiązywania pytań Przebieg egzaminu

Analiza przebiegu egzaminu

Odtwarzaj przebieg egzaminu krok po kroku i ucz się na własnych błędach - kolejność rozwiązywania, czas nad każdym pytaniem, momenty zmiany odpowiedzi.

  • Suwak czasu - przeglądaj pytania w kolejności rozwiązywania.
  • Tryb nauki - poprawne odpowiedzi i wyjaśnienia.
  • Analiza czasu - ile czasu nad każdym pytaniem.
  • Monitoring focusu - momenty opuszczenia zakładki.

Pochwal się swoim wynikiem!

Szczegółowe wyniki

Pytanie 1

$tab = array();
for ($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}
foreach ($tab as $x) {
    if ($x < 0) {
        echo "$x ";
    }
}
Działaniem przedstawionego kodu PHP będzie wypełnienie tablicy
A. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
B. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
Poprawna odpowiedź
C. kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
Twoja odpowiedź
D. kolejnymi liczbami od 0 do 9 i ich wypisanie
Niepoprawna odpowiedź. Najczęstsza pomyłka w tym zadaniu wynika z pomieszania roli zmiennej sterującej pętlą z wartością zapisywaną do tablicy. Zmienna $i faktycznie przyjmuje kolejno wartości od 0 do 9, ale służy tylko jako indeks, czyli wskazuje miejsce w tablicy: $tab[0], $tab[1], $tab[2] i tak dalej. Do tych miejsc nie jest wpisywane samo $i, tylko wynik funkcji rand(-100, 100). Dlatego tablica nie zawiera po prostu kolejnych liczb od 0 do 9. To dość klasyczny błąd przy analizie pętli for, szczególnie gdy indeks i wartość elementu są blisko siebie w tym samym wierszu kodu.

Nie można też uznać, że kod wpisuje kolejne liczby od -100 do 100. Funkcja rand() nie generuje sekwencji uporządkowanej, tylko losuje jedną liczbę z podanego zakresu przy każdym wywołaniu. Zakres od -100 do 100 oznacza możliwe wartości, a nie liczbę elementów ani kolejność. Tablica ma tylko 10 elementów, bo tyle razy wykona się pętla for. Gdyby program miał wypełnić tablicę wszystkimi liczbami od -100 do 100, potrzebna byłaby inna konstrukcja, np. pętla przechodząca po wartościach od -100 do 100.

Mylny jest również wniosek, że powstaje 100 losowych wartości. Liczba 100 pojawia się jako górna granica losowania, a nie jako liczba powtórzeń pętli. O liczbie elementów decyduje warunek $i < 10. Na końcu foreach nie wypisuje wartości dodatnich, tylko ujemne, ponieważ warunek brzmi $x < 0. Z mojego doświadczenia najlepiej czytać taki kod w dwóch etapach: najpierw ile razy coś się wykona, potem co dokładnie zostanie zapisane i jaki warunek filtruje wynik.

Pytanie 2

Jakie pola znajdują się w formularzu?
Ilustracja do pytania
A. Textarea, Option, Input(Checkbox), Input(Checkbox), Input(Submit), Input(Reset)
Twoja odpowiedź
B. Textarea, Select, Input(Radio), Input(Radio), Input(Reset), Input(Submit)
C. Input(Text), Select, Input(Radio), Input(Radio), Input(Submit), Input(Reset)
Poprawna odpowiedź
D. Input(Text), Input(Checkbox), Select, Select, Input(Submit), Input(Reset)
Niepoprawna odpowiedź. W pozostałych opcjach są błędy w dobieraniu typów pól formularza, które nie pasują do tego, co jest pokazane na przykładzie. W pierwszej opcji dwa Input(Checkbox) są na pewno nietrafione, bo checkboxy pozwalają na zaznaczenie kilku opcji, a tu powinna być tylko jedna – Studia podyplomowe lub Kurs, a to powinno być Input(Radio). Checkboxy używa się, kiedy można wybrać więcej niż jedną opcję, a w tym formularzu to się nie sprawdza. Druga opcja ma Input(Text) i Select, oraz dwa Input(Radio), co teoretycznie jest poprawne, ale nie ma tam żadnych błędów, więc jest ok. W trzeciej opcji Textarea, który jest do wieloliniowego tekstu, nie ma sensu w przypadku prostego pola jak Nazwisko. Na końcu, czwarta opcja z podwójnym Select jest niepoprawna, bo w formularzu powinien być tylko jeden do wyboru województwa. Takie pomyłki w użyciu elementów formularza mogą wynikać z braku zrozumienia różnic między Inputami, jak Radio, Checkbox i Select. Fajnie by było zrozumieć, kiedy jakiego elementu używać, żeby formularze nie były skomplikowane dla użytkowników oraz zgodne z HTML5. To ważne, żeby wszystko działało bez problemów i było intuicyjne w korzystaniu z aplikacji internetowych.

Pytanie 3

Podczas działania skryptu JavaScript został w konsoli wygenerowany błąd związany z działaniami na atrybucie elementu DOM. Z komunikatu wynika, że próbowano ustawić atrybut dla
Ilustracja do pytania
A. tabeli.
B. paragrafu.
C. odnośnika.
Twoja odpowiedź
D. obrazu.
Poprawna odpowiedź
Niepoprawna odpowiedź. Wybrana przez Ciebie odpowiedź była niestety niepoprawna. Atrybut 'src', o którym mówi komunikat błędu, jest specyficzny dla obrazów, a nie dla tabel, paragrafów ani odnośników. W przypadku tabeli, typowy atrybut, który mógłby być manipulowany, to 'border' lub 'cellspacing'. Dla paragrafów często manipulowane są atrybuty takie jak 'align' czy 'dir'. Odnośniki, natomiast, mają charakterystyczny atrybut 'href', który wskazuje na adres URL, do którego prowadzi dany odnośnik. Manipulacja atrybutami DOM jest częstą praktyką w programowaniu JavaScript, jednak ważne jest zrozumienie, że różne elementy HTML mają różne atrybuty, i próba manipulacji nieodpowiednim atrybutem dla danego elementu skutkować będzie błędem. W tym konkretnym przypadku, błąd 'Uncaught TypeError: Cannot set property 'src' of null' wskazuje na próbę manipulacji atrybutem 'src', który jest charakterystyczny dla obrazów, a nie dla innych elementów HTML.

Pytanie 4

Jak nazywa się organizacja odpowiedzialna za wyznaczanie standardów języka HTML?
A. WYSIWYG
B. NASK
C. ISO
Twoja odpowiedź
D. W3C
Poprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe odpowiedzi to inne podmioty lub pojęcia. ISO to Międzynarodowa Organizacja Normalizacyjna, ustalająca normy w bardzo wielu dziedzinach (od jakości po formaty), lecz to nie ona tworzy standardy HTML. NASK to instytut badawczy i m.in. operator krajowej domeny .pl - zajmuje się rejestracją domen i bezpieczeństwem sieci, a nie standaryzacją HTML. WYSIWYG to w ogóle nie organizacja, lecz typ edytora wizualnego. Standardy HTML opracowuje W3C, dlatego ta odpowiedź jest poprawna.

Pytanie 5

W zaprezentowanym fragmencie algorytmu wykorzystano
Ilustracja do pytania
A. trzy bloki operacyjne (procesy)
B. jeden blok decyzyjny
C. dwie pętle
D. jedną pętlę
Twoja odpowiedź
Poprawna odpowiedź. Na tym diagramie widać jedną pętlę, co jest dość ważne w programowaniu. Pętla pozwala na powtarzanie pewnych działań, aż spełni się jakiś warunek. Tu mamy blok decyzyjny, który mówi, czy proces ma trwać, czy się zakończyć. To dość powszechnie używane podejście, zwłaszcza w algorytmach, jak na przykład sortowanie czy obróbka danych. Warto zwrócić uwagę, by dobrze zrozumieć, jak działają pętle, szczególnie te oparte na warunkach, jak while czy for. Pozwoli to uniknąć problemów z niekończącymi się pętlami, które mogą sprawić, że program przestanie działać. Z mojego doświadczenia, ogarnać te struktury to kluczowy skill dla każdego, kto chce działać w IT.

Pytanie 6

W programie do edycji grafiki rastrowej, aby skoncentrować się na wybranej części obrazu, nie wpływając na pozostałe jego fragmenty, można zastosować
A. zmianę rozmiaru
Twoja odpowiedź
B. warstwy
Poprawna odpowiedź
C. odwrócenie
D. przycinanie
Niepoprawna odpowiedź. Zastosowanie skalowania w edytorze grafiki rastrowej polega na zmianie rozmiaru obrazu, co wpływa na wszystkie jego elementy. Przykładowo, jeśli zdecydujemy się na skalowanie, wszystkie obiekty na obrazie zostaną powiększone lub pomniejszone w równym stopniu, co nie pozwala na selektywne modyfikacje. Inwersja, z kolei, to proces zmiany kolorów pikseli w obrazie na ich przeciwieństwa, co również nie umożliwia pracy na wybranej części obrazu bez zmiany innych elementów. Ponadto kadrowanie, które polega na przycinaniu części obrazu, również nie dostarcza narzędzi do edytowania wybranych elementów bez wpływu na resztę kompozycji. Takie podejścia są często mylnie postrzegane jako odpowiednie metody do pracy z grafiką rastrową, podczas gdy w rzeczywistości nie oferują elastyczności potrzebnej do profesjonalnej edycji. Nieprawidłowe wnioski mogą prowadzić do frustracji w trakcie edycji, zwłaszcza w bardziej złożonych projektach, gdzie precyzyjna kontrola nad elementami obrazu jest kluczowa. Dlatego istotne jest zrozumienie roli warstw jako jedynego narzędzia, które umożliwia niezależne zarządzanie elementami grafiki rastrowej.

Pytanie 7

Znacznik <s> w HTML generuje
A. przekreślenie tekstu
Twoja odpowiedź
B. migotanie tekstu
C. pochylenie tekstu
D. podkreślenie tekstu
Poprawna odpowiedź. Znacznik <s> w HTML służy do oznaczania tekstu, który jest przekreślony. To daje znać, że dany fragment już nie jest aktualny albo jest błędny. Myślę, że to bardzo ważne, bo z perspektywy semantyki w HTML, pozwala lepiej zrozumieć, co się dzieje na stronie. Użytkownicy korzystający z czytników ekranu mogą łatwiej zrozumieć, że coś jest nieaktualne. Przykładem mogą być sklepy internetowe, gdzie przekreślenie starej ceny pokazuje, że produkt jest teraz w promocji. Dobrze jest pamiętać, że stosowanie tych znaczników dobrze wpływa na strukturę dokumentu, co jest zgodne z wytycznymi W3C i poprawia dostępność w sieci.

Pytanie 8

.format1 {
    …
}
W CSS określono wspólne style dla pewnej grupy elementów. Użycie takich stylów w kodzie HTML odbywa się za pomocą atrybutu:
A. class = "format1"
Poprawna odpowiedź
B. id = "format1"
C. style = "format1"
D. div = "format1"
Twoja odpowiedź
Niepoprawna odpowiedź. Inne odpowiedzi odnoszą się do atrybutów lub metod, które nie są optymalne lub poprawne w kontekście wspólnego formatowania znaczników za pomocą CSS. Użycie atrybutu style do bezpośredniego stylowania elementów może być nieefektywne i prowadzi do powielania kodu, co utrudnia utrzymanie. W przypadku większych projektów takie podejście skutkuje chaosem i zwiększa ryzyko błędów. Definiowanie stylów bezpośrednio w każdym elemencie HTML utrudnia wprowadzanie globalnych zmian w wyglądzie strony. Z kolei atrybut id jest przeznaczony do unikalnego identyfikowania pojedynczego elementu na stronie. Choć można by teoretycznie użyć go do stylowania, nie jest to zalecane, gdyż każdy id musi być unikalny w ramach całego dokumentu HTML, co wyklucza jego stosowanie dla grupy elementów dzielących ten sam styl. W praktyce id używa się do celów, takich jak manipulacja specyficznymi elementami przez JavaScript lub do nawigacji wewnętrznej strony z użyciem kotwic. Źle zrozumiane przez programistów są także strategie, które polegają na przypisaniu znaczników do odmiennych grup bez właściwego użycia klas, co prowadzi do nieczytelnego kodu i utrudnia przyszłe zmiany w projekcie. Zastosowanie atrybutu div w taki sposób nie jest poprawne, ponieważ div jest elementem blokowym HTML, a nie atrybutem, co powoduje błędne zrozumienie struktury HTML i CSS. Kluczem do zrozumienia poprawnych praktyk jest świadomość różnic w zastosowaniu poszczególnych atrybutów i elementów, co prowadzi do tworzenia lepiej zorganizowanego i efektywnego kodu w projektach webowych.

Pytanie 9

Aby w JavaScript wykonać wymienione kroki, należy w znaczniku <script> umieścić kod
1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
    następnie po zatwierdzeniu

2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
    wartość pobrana z okna "Kwalifikacja: ..."
A.
A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
B.
A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
Twoja odpowiedź
C.
A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
D.
A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A);
Poprawna odpowiedź. Gratulacje, wybrałeś prawidłową odpowiedź! Kiedy chcemy wykonać interakcje z użytkownikiem poprzez okno dialogowe w JavaScript, używamy funkcji 'prompt()'. Ta funkcja wyświetla okno dialogowe z komunikatem tekstowym, polem do wprowadzania danych i przyciskami OK / Anuluj. Wartość wprowadzona przez użytkownika jest następnie zwracana przez funkcję 'prompt()'. W tym przypadku, używamy funkcji 'prompt()' do pobrania kwalifikacji od użytkownika. Następnie, używamy funkcji 'document.write()' do wyświetlenia zdobytej kwalifikacji na stronie internetowej. Operator '+' jest używany do łączenia łańcuchów znaków (stringów) w JavaScript, co pozwala na połączenie wartości wprowadzonej przez użytkownika z komunikatem 'Kwalifikacja: '. Pamiętaj, że choć 'document.write()' jest łatwym sposobem na wyświetlanie wyników na stronie, jest to metoda zarezerwowana głównie do testowania i debugowania, a nie do użytku produkcyjnego, ze względu na możliwość nadpisania zawartości strony.

Pytanie 10

Jeśli zmienna $x przechowuje dowolną dodatnią liczbę naturalną, przedstawiony kod źródłowy PHP ma za zadanie wyświetlić:
$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. kolejne liczby od 0 do x-1
Twoja odpowiedź
B. liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x
C. kolejne liczby od x do 0
D. losowe liczby z przedziału (0, x)
Poprawna odpowiedź. Właściwa odpowiedź sugeruje, że kod PHP wyświetla liczby naturalne od 0 do x-1. Przez inicjalizację zmiennej $licznik wartością 0 i stopniowe zwiększanie jej wartości o 1 w każdej iteracji pętli while, aż do osiągnięcia wartości $x, proces ten jest realizowany. Jest to typowy przykład użycia pętli while w programowaniu, gdzie chcemy wykonać dane działanie wielokrotnie, zazwyczaj do momentu, gdy spełniony jest określony warunek. Zastosowanie takiego podejścia jest powszechne nie tylko w PHP, ale w większości języków programowania. W tym konkretnym przypadku, zastosowanie pętli while pozwala na efektywne wygenerowanie liczby naturalnej w określonym zakresie, co jest często potrzebne w różnych algorytmach czy operacjach matematycznych.

Pytanie 11

Przedstawiony kod źródłowy ma na celu zaprezentowanie
$liczba = 1;
while ($liczba != 0)
{
    $liczba = rand(0,100);
    echo $liczba;
}
A. liczb wprowadzonych z klawiatury tak długo, aż nie zostanie podana wartość 0
B. kolejnych liczb od 1 do 100
C. losowych liczb od 0 do 100 do momentu, aż nie wylosowana zostanie liczba 0
Twoja odpowiedź
D. wylosowanych liczb od 1 do 99
Poprawna odpowiedź. Kod źródłowy przedstawia pętlę while, która generuje losowe liczby od 0 do 100 przy użyciu funkcji rand(0,100). Proces trwa tak długo, jak wygenerowana liczba jest różna od zera. W przypadku wylosowania zera pętla zostaje zakończona. Funkcja rand jest często stosowana w programowaniu do generowania losowych wartości, co może być przydatne w wielu sytuacjach, takich jak symulacje, gry komputerowe czy testowanie algorytmów. Generowanie liczb losowych odgrywa kluczową rolę w kryptografii, gdzie losowość jest istotna dla bezpieczeństwa. Jednak w przypadku zastosowań wymagających wysokiej jakości losowości, takich jak aplikacje kryptograficzne, zaleca się użycie bardziej zaawansowanych generatorów liczb losowych, na przykład funkcji mt_rand w PHP, która oferuje lepsze właściwości statystyczne. Przy wyborze generatora ważne jest, aby zwrócić uwagę na jego właściwości, takie jak okres cyklu, równomierność rozkładu i odporność na przewidywalność, co wpływa na jakość i bezpieczeństwo generowanych danych.

Pytanie 12

Który zapis definiuje w JavaScripcie komentarz JEDNOLINIOWY?
A.
#
Twoja odpowiedź
B.
//
Poprawna odpowiedź
C.
?
D.
/*
Niepoprawna odpowiedź.# rozpoczyna komentarz w PHP lub Pythonie, nie w JS. /* otwiera komentarz BLOKOWY (zamykany */). ? to część operatora warunkowego. Komentarz do końca linii daje //.

Pytanie 13

Element
<meta charset="utf-8">
definiuje metadane dotyczące strony internetowej, odnosząc się do
A. opisu witryny
B. słów kluczowych
C. języka witryny
Twoja odpowiedź
D. kodowania znaków
Poprawna odpowiedź
Niepoprawna odpowiedź. Wybór odpowiedzi na temat opisu strony czy słów kluczowych pokazuje, że nie do końca złapałeś, o co chodzi z elementem <meta charset="utf-8">. Opis strony definiuje się przez <meta name="description">, a to jest istotne do SEO i tego, jak strona wygląda w wynikach wyszukiwania. Co do języka, to ustalamy go poprzez atrybut 'lang' w tagu <html>, co jest ważne dla dostępności. Słowa kluczowe to inna sprawa, bo kiedyś były istotne, ale teraz to jakby mniej się liczy. Twoja odpowiedź nie uwzględnia tego, że <meta charset> ma głównie za zadanie dbać o poprawne wyświetlanie znaków, a nie opisywać treść. Jak użyjesz złego kodowania, to tekst może być zniekształcony, a to zniechęca ludzi do korzystania z Twojej strony. Tak że warto zrozumieć, jak każdy z tych tagów meta działa w kontekście tworzenia stron.

Pytanie 14

W języku JavaScript rezultat wykonania instrukcji zmienna++; będzie równy wynikowi instrukcji
A. zmienna === zmienna + 1;
B. zmienna--;
C. zmienna += 1;
Twoja odpowiedź
D. zmienna = zmienna + 10;
Poprawna odpowiedź. Zmienna <span>zmienna++;</span> w JavaScript to operator inkrementacji, który zwiększa wartość zmiennej o 1. Odpowiedź <span>zmienna += 1;</span> jest równoważna, gdyż również zwiększa wartość zmiennej o 1, korzystając z operatora przypisania z dodawaniem. Dobre praktyki programistyczne sugerują, że wykorzystanie operatorów skróconych, jak <span>+=</span>, poprawia czytelność kodu. Przykład zastosowania można zobaczyć w pętli, gdzie każdy krok może wymagać zwiększenia wartości licznika: <span>for (let i = 0; i < 10; i++) { licznik += 1; }</span>. Warto również zauważyć, że operator inkrementacji <span>++</span> może być używany w formie prefiksowej i postfiksowej, co ma znaczenie w kontekście zwracania wartości. Ponadto, w sytuacjach, gdy kod wymaga zwiększenia wartości zmiennej, preferowanie <span>zmienna += 1;</span> nad <span>zmienna++;</span> może poprawić zrozumienie logiki programu, zwłaszcza dla mniej doświadczonych programistów.

Pytanie 15

W formularzu umieszczono kontrolki do podania imienia oraz nazwiska. Który z atrybutów odpowiada za wyświetlanie sugestii w polu kontrolki, która znika, gdy użytkownik zaczyna wpisywanie wartości?
<label for="imie">Imię: </label> 
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. title
B. placeholder
Twoja odpowiedź
C. value
D. for
Poprawna odpowiedź. Atrybut "placeholder" jest kluczowym elementem w formularzach HTML, który definiuje tekst podpowiedzi umieszczony w polu kontrolki. Tekst ten zniknie, gdy użytkownik zacznie wpisywać dane, co pozwala na zapewnienie bardziej intuicyjnego interfejsu. W przypadku przykładowego formularza, atrybut "placeholder" jest użyty w polu nazwiska, co stanowi doskonały przykład jego praktycznego zastosowania. Dobrą praktyką jest stosowanie atrybutu "placeholder" w formularzach, ponieważ wprowadza on klarowność i ułatwia użytkownikom wypełnianie formularzy, jednocześnie zmniejszając ryzyko błędów. Atrybut ten nie tylko poprawia doświadczenia użytkownika, ale także zwiększa dostępność formularzy, ponieważ pozwala osobom korzystającym z czytników ekranu lepiej zrozumieć, jakie dane są wymagane. Warto również zauważyć, że "placeholder" nie powinien być używany jako substytut etykiety, która jest niezbędna do poprawnej dostępności i użyteczności. Etykiety powinny być zawsze stosowane, a "placeholder" powinien pełnić jedynie funkcję pomocniczą.

Pytanie 16

Jak zapisać w JS warunek: a i b są UJEMNE, a a jest większe od -50?
A.
if (a < 0 || b < 0 || a > -50)
B.
if (a < 0 && b < 0 && a > -50)
Poprawna odpowiedź
C.
if (a < 0 || (b < 0 && a > -50))
D.
if (a < 0 && b < 0 || a > -50)
Twoja odpowiedź
Niepoprawna odpowiedź. Pozostałe zapisy źle łączą warunki. || wystarczyłoby spełnić jeden z nich, więc przeszłyby też liczby dodatnie. Mieszanie || z && zmienia sens („a ujemne LUB (b ujemne i a > -50)”). Wszystkie trzy naraz wymusza a < 0 && b < 0 && a > -50.

Pytanie 17

Podczas przygotowywania grafiki do umieszczenia na stronie internetowej konieczne jest wycięcie tylko pewnego fragmentu. Jak nazywa się ta czynność?
A. łączanie warstw.
B. odwracanie obrazu.
C. kadrowanie.
Twoja odpowiedź
D. zmiana rozmiaru.
Poprawna odpowiedź. Kadrowanie to taka technika, która pomaga nam lepiej uchwycić to, co najważniejsze w obrazie. Wycinając niektóre fragmenty grafiki, skupiamy uwagę na tym, co naprawdę się liczy. Dobrze jest to mieć na uwadze, zwłaszcza przy zdjęciach portretowych, gdzie chcemy, żeby wzrok przyciągała twarz modela, a nie jakieś niepotrzebne tło. Kiedy kadrujemy, warto pamiętać o takich zasadach jak zasada trzecich, bo to pomaga zrobić fajną kompozycję. Można to robić w wielu programach graficznych, jak na przykład Adobe Photoshop czy GIMP. Tak w ogóle, dobrze jest dbać o proporcje i rozdzielczość, żeby obraz nie stracił na jakości. Gadżetem kadrowania można się też posługiwać w projektowaniu stron www, bo odpowiednie wybory graficzne poprawiają estetykę i funkcjonalność strony.

Pytanie 18

Obraz przedstawia formatowanie CSS paragrafu. Aby otrzymać czerwony kolor poza obramowaniem, tak jak przedstawiono na obrazie, należy zdefiniować własność

Oto przykład paragrafu który poza ramką ma kolor grubości 10 px

A. background
B. padding
C. border
D. outline
Twoja odpowiedź
Poprawna odpowiedź. Dobrze, wybrałeś właściwą odpowiedź! W tym pytaniu, żeby uzyskać czerwony kolor obok obramowania paragrafu, trzeba użyć właściwości 'outline'. Ta właściwość daje Ci możliwość dodania konturu do elementu, ale nie zmienia jego rozmiarów na stronie, więc wszystko zostaje na swoim miejscu. Fajnie jest to wykorzystać, gdy chcemy, żeby coś się wyróżniało, ale nie chcemy wprowadzać chaosu w układzie. To naprawdę dobra praktyka w web designie. Spróbuj zastosować to w swoich projektach!

Pytanie 19

Którego narzędzia użyć, aby usunąć szum tła z nagrania (z taniego mikrofonu)?
A. echa
B. wyciszenia
C. obwiedni
D. usuwania szumów
Twoja odpowiedź
Poprawna odpowiedź. Stały szum tła z taniego mikrofonu usuwa się narzędziem „usuwania szumów” (np. Noise Reduction w Audacity) - analizuje ono próbkę samego szumu i odejmuje go z całego nagrania. Dlatego należy użyć usuwania szumów.

Pytanie 20

Zdefiniowano poniższą funkcję w PHP:
function policz($Z) {
    while($Z < 5) {
        $Z += 2 * $Z + 1;
    }
    return $Z;
}
Funkcję policz wywołano z wartością argumentu $Z = 1. Jaki rezultat zostanie zwrócony?
A. 1
B. 4
C. 13
Twoja odpowiedź
D. 7
Poprawna odpowiedź. Twoja odpowiedź jest na miejscu. Funkcja 'policz' w PHP działa jak pętla, która powoli zwiększa wartość zmiennej $Z, dopóki nie jest większa niż 5. W każdej iteracji dodaje do niej wynik z wyrażenia 2 * $Z + 1. Zaczynamy z $Z równym 1. W pierwszej iteracji wychodzi 3 ($Z = 2 * 1 + 1), a w drugiej – 13 ($Z = 2 * 3 + 1). Kiedy $Z przekracza 5, pętla się zatrzymuje, a funkcja 'policz' zwraca 13. Rozumiejąc, jak to działa, łatwiej przewidywać, co się stanie w podobnych funkcjach.

Pytanie 21

Wskaż poprawną definicję funkcji w języku JavaScript.
A.
typ_funkcji nazwa_funkcji(argumenty) { instrukcje; }
B.
nazwa_funkcji(argumenty) { instrukcje; }
Twoja odpowiedź
C.
function nazwa_funkcji(argumenty) { instrukcje; }
Poprawna odpowiedź
D.
new nazwa_funkcji(argumenty) { instrukcje; }
Niepoprawna odpowiedź. Bez słowa function (lub składni funkcji strzałkowej) to nie jest definicja - sam nazwa_funkcji(argumenty){...} wygląda jak wywołanie. new tworzy obiekty, a JavaScript nie deklaruje funkcji przez „typ zwracany” jak C++. Poprawna definicja to function nazwa_funkcji(argumenty) { instrukcje; }.

Pytanie 22

Jaką wartość wydrukuje na standardowe wyjście poniższy fragment kodu C++?
int obliczenia( int x ) {
x %= 3;
x++;
return x;
}

int main() {
std::cout<<obliczenia(32);
}
A. 32
Twoja odpowiedź
B. 0
C. 2
D. 3
Poprawna odpowiedź
Niepoprawna odpowiedź. Rozważając dostępne odpowiedzi musimy przeanalizować dlaczego niektóre z nich są błędne w kontekście działania fragmentu programu. Zaczynając od odpowiedzi 0 warto zauważyć że reszta z dzielenia 32 przez 3 nie wynosi 0 co oznacza że operacja x %= 3 nie da w wyniku zera. Wartość 0 mogłaby być wynikiem tylko wtedy gdyby liczba 32 była podzielna przez 3 co nie jest prawdą w tym przypadku. Przechodząc dalej odpowiedź 32 sugeruje że operacje wewnątrz funkcji nie zmieniają wartości x co jest błędnym założeniem. Operacja x %= 3 zmienia wartość x na 2 a następnie x++ zmienia ją na 3. Dlatego wynik nie może być 32 ponieważ funkcja jawnie modyfikuje wartość wejściową. W kontekście odpowiedzi 2 operacje w funkcji mogą rzeczywiście prowadzić do wyniku 2 jeśli pominie się krok inkrementacji. Jednakże analiza kodu pokazuje że po operacji modulo wartość x wynosi 2 a następny krok to x++ który zwiększa tę wartość do 3. W rezultacie żadna z tych odpowiedzi nie uwzględnia pełnego przepływu operacji w funkcji co prowadzi do nieprawidłowych wniosków. Analizując ten problem można zauważyć jak ważne jest dokładne śledzenie przepływu danych w programie oraz zrozumienie wpływu każdej operacji na ostateczny wynik co jest kompetencją kluczową w profesjonalnym programowaniu.

Pytanie 23

W przedstawionym kodzie JavaScript, który został ponumerowany dla przejrzystości, występuje błąd uniemożliwiający wyświetlenie jakiegokolwiek komunikatu po uruchomieniu. Jak można go naprawić?

1  if(a < b)
2      document.write(a);
3      document.write("jest mniejsze");
4  else
5      document.write(b);
6      document.write("jest mniejsze");
A. dodać znak $ przed nazwami zmiennych
B. zmienić znaki cudzysłowu na apostrof w liniach 3 i 6, np. 'jest mniejsze'
C. umieścić zmienne a i b w cudzysłowie w liniach 2 i 5
D. wprowadzić nawiasy klamrowe w sekcji if i else
Twoja odpowiedź
Poprawna odpowiedź. Odpowiedź o wstawieniu nawiasów klamrowych do sekcji if oraz else jest prawidłowa, ponieważ w JavaScript, gdy warunek if lub else obejmuje więcej niż jedną instrukcję, należy użyć nawiasów klamrowych, aby zgrupować te instrukcje. W przeciwnym razie, język traktuje jako część bloku kodu tylko pierwszą instrukcję. W omawianym kodzie, bez nawiasów klamrowych, tylko pierwsze wywołanie document.write w każdej z sekcji jest wykonywane, co skutkuje brakiem komunikatu w przypadku, gdy warunek jest spełniony. Przykładowo, poprawny kod powinien wyglądać tak: if (a < b) { document.write(a); document.write('jest mniejsze'); } else { document.write(b); document.write('jest mniejsze'); }. Nawiasy klamrowe są standardową praktyką, która poprawia czytelność kodu oraz ułatwia jego modyfikację w przyszłości, co jest zgodne z zasadami dobrego programowania.

Pytanie 24

W języku Javascript obiekt typu array służy do przechowywania
A. wielu wartości tylko tekstowych
Twoja odpowiedź
B. wielu wartości tylko liczbowych
C. wielu wartości różnego rodzaju
Poprawna odpowiedź
D. wielu wartości lub funkcji
Niepoprawna odpowiedź. Przy wyborze niepoprawnych odpowiedzi, można zauważyć kilka typowych nieporozumień dotyczących funkcji obiektów typu array w JavaScript. Odpowiedź sugerująca, że tablice służą wyłącznie do przechowywania wartości liczbowych, jest błędna, ponieważ w praktyce tablice te mogą zawierać różnorodne typy danych. Ograniczenie się tylko do liczb wyklucza możliwość przechowywania obiektów, tekstów, a nawet funkcji, co jest jedną z kluczowych cech tablic w JavaScript. Wybór odpowiedzi, która krępuje tablice do przechowywania jedynie wartości tekstowych, również jest mylny, ponieważ, podobnie jak w przypadku liczb, tablice mogą przechowywać wiele różnych typów, co czyni je bardziej uniwersalnymi. Kolejnym błędem myślowym jest przyjęcie, że tablice mogą przechowywać wyłącznie wartości lub funkcje. W rzeczywistości tablice mogą zawierać mieszankę różnych typów danych, co otwiera szereg możliwości w zakresie tworzenia bardziej złożonych struktur danych. JavaScript jako język programowania oferuje dużą elastyczność, co jest kluczowe w nowoczesnym rozwoju aplikacji. Zrozumienie, że tablice w JavaScript są dynamicznymi obiektami, które mogą przechowywać różnorodne dane, jest fundamentalne dla każdego programisty, który chce efektywnie wykorzystać ten język w projektach programistycznych.

Pytanie 25

Aby edytować nakładające się na siebie pojedyncze fragmenty grafiki, pozostawiając resztę bez zmian, należy zastosować:
A. kadrowanie
B. warstwy
Twoja odpowiedź
C. histogram
D. kanał alfa
Poprawna odpowiedź. Warstwy to podstawowy mechanizm edytorów grafiki (np. GIMP, Photoshop): każdy element umieszcza się na osobnej warstwie, niczym na przezroczystej folii, a leżące wyżej zasłaniają niższe. Dzięki temu można edytować, przesuwać lub ukrywać pojedynczy fragment, nie naruszając pozostałych. To właśnie warstwy pozwalają pracować nad nakładającymi się elementami niezależnie - i dlatego są poprawną odpowiedzią.

Pytanie 26

Jak nazywa się metoda dołączania arkusza stylów do dokumentu HTML, zastosowana w przedstawionym kodzie?
<p style="color: red;">tekst paragrafu</p>
A. Styl alternatywny, zewnętrzny
B. Styl zewnętrzny
C. Styl wpisany, lokalny
Poprawna odpowiedź
D. Styl wewnętrzny
Twoja odpowiedź
Niepoprawna odpowiedź. Styl zewnętrzny to metoda dołączania arkusza stylów do dokumentu HTML poprzez linkowanie pliku CSS zewnętrznego w sekcji head dokumentu. Jest to najbardziej powszechna i zalecana metoda stylizacji dużych projektów ponieważ pozwala na oddzielenie logiki prezentacyjnej od struktury dokumentu HTML co ułatwia zarządzanie i ponowne wykorzystanie kodu. Tymczasem styl wewnętrzny umieszczany jest w sekcji head jako blok <style> i stosuje się go gdy chcemy zdefiniować style dla całego dokumentu bez tworzenia dodatkowego pliku CSS. Jest to rozwiązanie kompromisowe ale wciąż nie tak elastyczne jak style zewnętrzne. Styl alternatywny zewnętrzny to mechanizm dołączania alternatywnych arkuszy stylów umożliwiający użytkownikowi wybór różnych stylów podczas przeglądania strony jednak nie jest to to samo co styl wpisany lokalny. Błędne myślenie może polegać na utożsamianiu stylów wewnętrznych z wpisanymi ze względu na ich lokalny charakter lecz zasadniczo różnią się one zakresem działania i sposobem implementacji. Styl wpisany jako atrybut elementu HTML działa tylko na ten konkretny element zaś style wewnętrzne i zewnętrzne mogą wpływać na wiele elementów jednocześnie co daje większą kontrolę i spójność w projektowaniu strony. Zrozumienie tych różnic jest kluczowe dla tworzenia efektywnych i dobrze zarządzanych aplikacji webowych. Dążenie do modularności i ponownego użycia kodu jest jedną z fundamentalnych zasad dobrych praktyk w branży.

Pytanie 27

Która z wartości tekstowych nie odpowiada podanemu wzorcowi wyrażenia regularnego?
(([A-ZŁŻ][a-ząęóżźćńłś]{2,})(-[A-ZŁŻ][a-ząęóżźćńłś]{2,}))?
A. Jelenia Góra
Poprawna odpowiedź
B. Nowakowska-Kowalska
Twoja odpowiedź
C. Kowalski
D. Kasprowicza
Niepoprawna odpowiedź. Odpowiedzi takie jak 'Kasprowicza', 'Nowakowska-Kowalska' i 'Kowalski' są w porządku, bo pasują do wzoru wyrażenia regularnego. Wzór mówi, że tekst musi zaczynać się od wielkiej litery i mieć przynajmniej dwie małe litery zaraz po. 'Kasprowicza' to nazwisko, które zaczyna się od wielkiej litery, więc jest ok. 'Nowakowska-Kowalska' też jest good, bo ma segment po myślniku z kolejną wielką literą. Z 'Kowalskim' sprawa wygląda podobnie, bo również spełnia wymogi. Często ludzie mylą, co dokładnie oznacza wzór i co przynależne do niego. Wydaje się, że każde słowo z wielką literą pasuje, ale nie do końca tak to działa. Kluczowe jest, żeby zrozumieć dokładne zasady, bo wyrażenia regularne są bardzo precyzyjne i wymagają zwrócenia uwagi na detale. Dobrze jest też testować swoje wzory, by sprawdzić, czy działają w różnych sytuacjach.

Pytanie 28

Co należy zrobić, gdy rozmiar pliku graficznego jest zbyt duży do umieszczenia w Internecie?
A. zapisać w formacie BMP
B. zwiększyć jego głębię kolorów
C. zmniejszyć jego rozdzielczość
Twoja odpowiedź
D. dodać kanał alfa
Poprawna odpowiedź. Zmniejszenie rozdzielczości pliku graficznego to jedna z najskuteczniejszych metod redukcji jego rozmiaru, co jest kluczowe przy publikacji w Internecie. Rozdzielczość odnosi się do ilości pikseli, które tworzą obraz, a jej zmniejszenie prowadzi do mniejszej ilości danych do przechowania. Przykładowo, zamiast publikować obraz o rozdzielczości 4000x3000 pikseli, można zmniejszyć go do 1920x1080, co drastycznie zmniejszy wielkość pliku bez zauważalnej utraty jakości wizualnej na ekranach komputera czy urządzeń mobilnych. Zmniejszenie rozdzielczości jest zgodne z najlepszymi praktykami w zakresie optymalizacji zasobów internetowych, w tym zasadami dotyczącymi czasu ładowania strony i wydajności. Dodatkowo, odpowiednia rozdzielczość może poprawić doświadczenia użytkowników, zmniejszając czas ładowania i zwiększając responsywność witryn. Warto również pamiętać o formatowaniu plików graficznych, gdzie JPEG jest często preferowanym formatem dla zdjęć, a PNG dla obrazów z przezroczystością. Stosowanie technologii takich jak responsywne obrazy również przyczynia się do efektywnej prezentacji graficznej w sieci, co ma kluczowe znaczenie w dzisiejszym świecie online.

Pytanie 29

Zakładając, że zmienna tablicowa $tab jest wypełniona liczbami naturalnymi, wynikiem programu będzie wypisanie
$liczba = $tab[0];
foreach ($tab as $element)
{
    if ($element > $liczba)
        $liczba = $element;
}
echo $liczba;
A. najmniejszego elementu tablicy.
B. elementu tablicy, który jest równy wartości $tab[0].
C. największego elementu tablicy.
Poprawna odpowiedź
D. tych elementów, które są większe od zmiennej $liczba.
Twoja odpowiedź
Niepoprawna odpowiedź. Niektóre z błędnych odpowiedzi sugerują, że wynikiem programu będzie wypisanie najmniejszego elementu tablicy, tych elementów, które są większe od zmiennej $liczba, oraz elementu tablicy, który jest równy wartości $tab[0]. Te odpowiedzi są nieprawidłowe, ponieważ nie odzwierciedlają one prawidłowo działania programu. Program nie szuka najmniejszego elementu, ale największego. Nie ma również informacji, że program miałby wypisywać elementy większe od jakiejś konkretnej zmiennej - program porównuje wszystkie elementy tablicy z bieżącą największą znaną wartością, a nie z określoną z góry wartością. Odpowiedź sugerująca, że program wypisze wartość $tab[0] również jest nieprawidłowa, ponieważ wartość $tab[0] jest tylko początkową wartością do porównania, a nie koniecznie największym elementem tablicy.

Pytanie 30

W każdej iteracji wartość bieżącego elementu tablicy jest przypisywana do zmiennej, a wskaźnik przesuwa się o jeden - aż do ostatniego elementu. Opis ten pasuje do instrukcji:
A.
next
B.
switch
C.
foreach
Poprawna odpowiedź
D.
if
Twoja odpowiedź
Niepoprawna odpowiedź. Pozostałe instrukcje nie iterują po tablicy w opisany sposób. if to instrukcja warunkowa - wykonuje kod tylko, gdy warunek jest spełniony, i nie powtarza się w pętli. switch wybiera jedną z gałęzi w zależności od wartości wyrażenia, również bez iteracji po kolejnych elementach. next faktycznie przesuwa wewnętrzny wskaźnik tablicy o jeden, ale samodzielnie nie tworzy pętli przechodzącej przez całość - służy do ręcznego poruszania się po tablicy. Automatyczne przejście przez wszystkie elementy realizuje foreach, dlatego to ona jest poprawna.

Pytanie 31

Co można powiedzieć o wyświetlonym przez witrynę tekście "test kolorów"?
<p id="p1" style="color:blue;">test kolorów</p>
<button type="button"
  onclick="document.getElementById('p1').style.color='red'">
  test</button>
A. Po wciśnięciu przycisku test kolor tekstu jest czerwony.
Twoja odpowiedź
B. Po wciśnięciu przycisku test kolor tekstu jest niebieski.
C. Wciskanie przycisku test sprawia, że kolor tekstu jest na przemian niebieski i czerwony.
D. Zaraz po załadowaniu witryny kolor tekstu jest czerwony.
Poprawna odpowiedź. Zauważyłem, że w kodzie HTML kolor tekstu na początku jest niebieski. Jest to ustawione w atrybucie style dla elementu o id='p1'. Po kliknięciu w przycisk, uruchamia się funkcja JavaScript, która zmienia kolor na czerwony. Ta funkcja jest przypisana w atrybucie onclick. Takie podejście to świetny sposób na interakcję użytkownika z witryną, korzystając ze skryptów JavaScript. Myślę, że to bardzo dobry przykład, który pokazuje, jak można robić interaktywne elementy na stronach. Wiedza na ten temat może pomóc lepiej zrozumieć, jak działają strony internetowe i co można zrobić z JavaScriptem.

Pytanie 32

Fragment kodu napisany w języku JavaScript, który realizuje sumowanie dwóch liczb, wygląda następująco (zobacz ramka): Aby operacja dodawania odbywała się po naciśnięciu przycisku zatytułowanego "dodaj", należy w miejsce wykropkowane wprowadzić
Ilustracja do pytania
A.
<button onselect="return dodaj()">oblicz</button>
Twoja odpowiedź
B.
<button onselect="return dodaj()">dodaj</button>
C.
<button onclick="return dodaj()">dodaj</button>
Poprawna odpowiedź
D.
<button onclick="return obliczj()">dodaj</button>
Niepoprawna odpowiedź. Wybór innych odpowiedzi wskazuje na niepełne zrozumienie sposobu przypisywania zdarzeń do elementów HTML w kontekście języka JavaScript. Atrybut onselect w HTML nie jest przeznaczony dla przycisków, lecz dla elementów tekstowych, takich jak input czy textarea, gdzie jest wykorzystywany do reagowania na wybór tekstu przez użytkownika. Zastosowanie onselect w kontekście przycisku jest niepoprawne, gdyż nie wywoła żadnej funkcji w odpowiedzi na kliknięcie użytkownika. Z kolei użycie niewłaściwej nazwy funkcji, jak w przypadku onselect="return dodaj()" dla przycisku "oblicz", wskazuje na błąd logiczny. Jeśli funkcja została nazwana dodaj() w kodzie JavaScript, musi być właśnie tak wywoływana. Zasady dobrego projektowania aplikacji webowych wymagają, aby atrybuty HTML odpowiadały zgodnie z ich przeznaczeniem, co zapewnia poprawne działanie i łatwość debugowania. Poprawne przypisanie zdarzeń to kluczowy aspekt w programowaniu interfejsów użytkownika, a błędne użycie atrybutów prowadzi do problemów z funkcjonalnością strony. Dlatego tak istotne jest zrozumienie i stosowanie właściwych atrybutów zdarzeń, co ułatwia rozwój i zarządzanie aplikacjami internetowymi.

Pytanie 33

Metoda i zmienna są dostępne dla metod tej klasy ORAZ klas po niej dziedziczących (potomnych). Który modyfikator?
A.
public
B.
private
C.
static
D.
protected
Twoja odpowiedź
Poprawna odpowiedź. Modyfikator protected udostępnia składowe metodom TEJ klasy ORAZ klasom po niej DZIEDZICZĄCYM (potomnym), ale nie kodowi z zewnątrz. To pośredni poziom między private a public, przydatny, gdy klasa bazowa ma coś udostępnić dziedzicom, lecz ukryć przed światem. Zapamiętaj: protected = „dla mnie i moich potomków”.

Pytanie 34

Kod przedstawiony poniżej został napisany w języku JavaScript. W zdefiniowanym obiekcie metoda to element o nazwie
 var obj1 = {
    czescUlamkowa: 10,
    czescCalkowita: 20,
    oblicz: function () { ... }
}
A. oblicz
Poprawna odpowiedź
B. obj1
Twoja odpowiedź
C. czescCalkowita
D. czescUlamkowa
Niepoprawna odpowiedź. Odpowiedzi 'czescUlamkowa', 'obj1' oraz 'czescCalkowita' są niepoprawne, ponieważ nie są metodami w kontekście obiektu 'obj1'. 'czescUlamkowa' i 'czescCalkowita' to właściwości obiektu, które przechowują dane, ale nie wykonują żadnych operacji. W JavaScript, właściwości obiektów są parametrami, które mogą przechowywać wartości, jednak nie są to funkcje. Właściwości te mogą być wykorzystywane w metodach do przechowywania i manipulowania danymi, ale same w sobie nie wykonują żadnych obliczeń ani operacji. Odpowiedź 'obj1' odnosi się do samego obiektu, a nie do jego metod. W kontekście programowania obiektowego, obiekty są instancjami klas, które grupują ze sobą zarówno dane, jak i funkcjonalność, ale tylko metody można wywoływać w celu wykonania operacji. Typowym błędem myślowym jest mylenie pojęcia obiektu z pojęciem metody. Aby rozwiązać takie nieporozumienia, warto przyjąć podejście, w którym każda metoda jest rozumiana jako funkcjonalność obiektu, podczas gdy właściwości służą do przechowywania danych. Zrozumienie tej różnicy jest kluczowe, aby efektywnie korzystać z obiektowego modelu programowania w JavaScript.

Pytanie 35

Skrypt stworzony w języku JavaScript wyznacza cenę promocyjną dla swetrów w barwach: zielonej, niebieskiej (zmienna kolor) przy wydatkach przekraczających 200 zł (zmienna zakupy). Warunek niezbędny do obliczeń powinien być zapisany z użyciem wyrażenia logicznego?
A. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
B. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
C. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
D. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
Twoja odpowiedź
Poprawna odpowiedź. Odpowiedź zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski') jest poprawna, ponieważ dokładnie spełnia warunki opisane w pytaniu. Wyrażenie logiczne składa się z dwóch głównych części: sprawdzenia, czy wartość zmiennej zakupy jest większa niż 200 oraz sprawdzenia, czy zmienna kolor jest równa 'zielony' lub 'niebieski'. Użycie operatora logicznego '&&' (AND) w połączeniu z '||' (OR) pozwala na zdefiniowanie warunków, które muszą być spełnione, aby uzyskać cenę promocyjną. Przykładowo, jeśli użytkownik kupi sweter za 250 zł w kolorze zielonym, warunek będzie prawdziwy, a cena promocyjna zostanie zastosowana. W kontekście standardów programistycznych, taka konstrukcja jest zgodna z najlepszymi praktykami pisania czytelnego i efektywnego kodu w JavaScript, gdzie zrozumiałość i logika wyrażeń warunkowych są kluczowe dla utrzymania i rozwoju aplikacji.

Pytanie 36

Które pojęcie OOP oznacza dostęp do pól i metod TYLKO z poziomu klasy, w której je zadeklarowano?
A.
public
B.
const
C.
private
Twoja odpowiedź
D.
static
Poprawna odpowiedź. Modyfikator private ogranicza dostęp do pól i metod TYLKO do wnętrza klasy, w której je zadeklarowano - z zewnątrz są niewidoczne. To realizacja hermetyzacji: chronisz wewnętrzny stan obiektu przed przypadkową zmianą. Zapamiętaj: private = „tylko dla tej klasy”.

Pytanie 37

W kodzie CSS stworzono cztery klasy stylizacji, które zostały wykorzystane do formatowania akapitów. Efekt widoczny na ilustracji uzyskano dzięki zastosowaniu klasy o nazwie
Ilustracja do pytania
A. format1
B. format4
C. format2
Twoja odpowiedź
D. format3
Poprawna odpowiedź. Odpowiedź format2 jest poprawna, ponieważ stylizacja zastosowana do tekstu na obrazie to line-through, co oznacza przekreślenie. W CSS właściwość text-decoration pozwala na dodawanie różnych dekoracji do tekstu, takich jak underline (podkreślenie), overline (nadkreślenie) czy line-through (przekreślenie). Przekreślenie jest często używane do zaznaczania usuniętego tekstu lub do pokazywania zmian w dokumentach, co jest zgodne z dobrą praktyką w edytorach tekstu i aplikacjach do śledzenia zmian. W kodzie HTML klasy CSS są zazwyczaj stosowane poprzez dodanie atrybutu class do odpowiedniego elementu. Użycie klasy format2 w kodzie HTML wyglądałoby jak <p class='format2'>. Wielu projektantów korzysta z takich dekoracji, aby poprawić czytelność i funkcjonalność stron internetowych, zapewniając użytkownikom intuicyjne oznaczenia wizualne. Ważne jest także użycie semantycznego HTML, co w połączeniu z odpowiednimi stylami CSS pozwala tworzyć dostępne dla użytkowników strony internetowe zgodne ze standardami W3C.

Pytanie 38

Fragment kodu napisany w języku HTML, zamieszczony w ramce, przedstawia listę
<ol>
<li>Pierwszy</li>
<li>Drugi</li>
<li>Trzeci</li>
</ol>
A. skrótów.
B. numerowaną.
Poprawna odpowiedź
C. wypunktowaną.
D. odnośników.
Twoja odpowiedź
Niepoprawna odpowiedź. Znaczniki HTML <ul> i <ol> są często mylone przez początkujących deweloperów co prowadzi do nieporozumień związanych z prezentacją danych. <ul> reprezentuje listę wypunktowaną używaną gdy kolejność elementów nie ma znaczenia a celem jest po prostu grupowanie powiązanych elementów. Z kolei <ol> tworzy listę numerowaną co jest istotne gdy chronologia lub priorytet poszczególnych elementów są kluczowe. Struktura <ol> jest preferowana w dokumentach gdzie ważne jest zachowanie kolejności jak na przykład w instrukcjach krok po kroku lub w raportach podsumowujących. Mylenie tych dwóch znaczników może prowadzić do zamieszania w zrozumieniu prezentacji danych. Kolejną błędną interpretacją jest uznawanie list za odnośniki co jest domeną znacznika <a> używanego do tworzenia hiperłączy między stronami. Jest to kluczowe w nawigacji strony i budowie struktury sieciowej. Z kolei skróty w HTML są reprezentowane za pomocą <abbr> co pomaga w dostarczaniu pełnych form skrótów przy zachowaniu ich kompaktowej postaci w tekście. Poprawne rozróżnianie i stosowanie tych znaczników jest fundamentem dobrych praktyk w projektowaniu stron internetowych zgodnie z zasadami semantyki i dostępności co jest kluczowe dla tworzenia przejrzystych i przyjaznych użytkownikowi interfejsów. Dodatkowo przekłada się to na lepsze wyniki SEO oraz wyższy poziom użyteczności aplikacji webowych który jest coraz częściej oczekiwany na współczesnym rynku IT. Właściwe wykorzystanie semantycznych znaczników wpływa korzystnie na przyszłą konserwację i rozbudowę kodu co jest nieocenione w długoterminowych projektach informatycznych. Poprawne zrozumienie tych różnic jest zatem kluczowe dla każdego kto aspiruje do profesjonalnego tworzenia stron internetowych i aplikacji webowych zgodnie z nowoczesnymi standardami branżowymi.

Pytanie 39

W języku C do reprezentowania liczb zmiennoprzecinkowych używa się typu:
A.
int
B.
double
Twoja odpowiedź
C.
bool
D.
char
Poprawna odpowiedź. Liczby zmiennoprzecinkowe (z częścią ułamkową) reprezentuje w języku C typ double - oferuje on podwójną precyzję, czyli więcej cyfr znaczących niż float. Oba przechowują liczby rzeczywiste, np. 3.14 czy 2.5e-3, lecz double jest dokładniejszy i częściej domyślny dla literałów z kropką. Dla porównania int trzyma liczby całkowite, więc utraciłby część ułamkową. Dlatego do liczb zmiennoprzecinkowych w C służy typ double.

Pytanie 40

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?
A. Barwienie.
Twoja odpowiedź
B. Krzywe.
C. Progowanie.
Poprawna odpowiedź
D. Inwersja.
Niepoprawna odpowiedź. Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.