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: 8 czerwca 2026 22:05
  • Data zakończenia: 8 czerwca 2026 22:21

Egzamin zdany!

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

W poniższym kodzie CSS zdefiniowano cztery klasy formatowania, które następnie zostały użyte do formatowania paragrafów. Efekt widoczny na rysunku powstał po zastosowaniu klasy o nazwie:

.format1 {    text-decoration: overline;     }
.format2 {    text-decoration: line-through; }
.format3 {    text-decoration: underline;    }
.format4 {    text-decoration: none;         }
formatowanie
A. format1
B. format2
C. format3
D. format4
Odpowiedź z klasy format2 jest trafna, bo definiuje styl text-decoration line-through, który służy do przekreślenia tekstu. W CSS ta właściwość jest mega przydatna, bo pozwala zmieniać wygląd tekstu, dodając różne linie, takie jak podkreślenie czy nadkreślenie. Przekreślenie stosuje się często, żeby pokazać, że coś zostało usunięte lub jest już nieaktualne. Na przykład w sklepach online, gdzie można oznaczyć przecenione ceny. Według standardów CSS, warto stawiać na prostotę i czytelność definicji stylów, bo to ułatwia później zrozumienie kodu dla innych programistów. Takie podejście jest zgodne z dobrymi praktykami kodowania, które mówią, że kod powinien być łatwy do zrozumienia. A co ważne, jeśli chodzi o dostępność, to przekreślony tekst jest znany narzędziom wspierającym, jak czytniki ekranowe, co zwiększa dostępność treści dla osób z niepełnosprawnościami.

Pytanie 2

Który z czynników ma negatywny wpływ na efektywną współpracę w zespole?

A. wzajemny szacunek
B. jasny podział ról i obowiązków
C. rywalizacja między członkami zespołu
D. efektywna komunikacja
Efektywna współpraca w zespole opiera się na zaufaniu, wzajemnym szacunku, dobrej komunikacji i jasnym podziale ról. Czynnikiem, który ją osłabia, jest rywalizacja między członkami zespołu - zamiast dążyć do wspólnego celu, ludzie zaczynają konkurować, ukrywać informacje i przypisywać sobie zasługi, co rodzi konflikty. Zdrowa współpraca stawia na wspólny wynik, a nie na pokonanie kolegów. Dlatego negatywny wpływ ma rywalizacja w zespole.

Pytanie 3

Tworząc tabelę produkty, dla pola „cena” (kwota z groszami) najlepszy typ danych to:

A.
INTEGER(11)
B.
ENUM
C.
TINYTEXT
D.
DECIMAL(10, 2)
Do przechowywania kwot najlepiej nadaje się typ DECIMAL (stałoprzecinkowy), bo zapisuje liczby z dokładną, ustaloną liczbą miejsc po przecinku - nie powstają błędy zaokrągleń typowe dla FLOAT/DOUBLE. Zapis DECIMAL(10, 2) oznacza do 10 cyfr łącznie, z czego 2 po przecinku, np. 12345678.99 - idealne dla ceny z groszami. Dlatego dla pola „cena” właściwy jest DECIMAL(10, 2).

Pytanie 4

Który efekt został zaprezentowany na filmie?

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

Pytanie 5

W języku JavaScript zmienna i, która ma przechowywać wynik dzielenia równy 1, powinna być zadeklarowana jako

A. var i = 3/2
B. var i = Number(3/2)
C. var i = parseFloat(3/2)
D. var i = parseInt(3/2)
Odpowiedź "var i = parseInt(3/2);" jest prawidłowa, ponieważ funkcja parseInt konwertuje podaną wartość na liczbę całkowitą, w tym przypadku wynik dzielenia 3/2 wynosi 1.5. Funkcja ta zaokrągla wynik w dół do najbliższej liczby całkowitej, co skutkuje wartością 1, która jest następnie przypisywana do zmiennej i. W praktyce, użycie parseInt jest często spotykane w sytuacjach, gdy zachodzi potrzeba uzyskania liczby całkowitej z wartości zmiennoprzecinkowej, na przykład podczas obliczeń wymagających całkowitych jednostek, takich jak liczba produktów w koszyku. Ponadto, ważne jest również, aby rozumieć, że parseInt przyjmuje drugi argument, który określa podstawę liczbową, co jest zgodne z najlepszymi praktykami programistycznymi, aby unikać niejednoznaczności w interpretacji wartości. W związku z tym, używanie parseInt w kontekście takich operacji jest zgodne z dobrymi praktykami programistycznymi i pozwala na uniknięcie nieprzewidzianych błędów w obliczeniach.

Pytanie 6

W systemie baz danych wykonano następujące operacje dotyczące uprawnień użytkownika adam: GRANT ALL PRIVILEGES ON klienci To adam REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam. Jakie prawa będzie miał użytkownik adam po zrealizowaniu tych operacji?

A. tworzenia tabeli klienci oraz wprowadzania do niej danych
B. przeglądania tabeli klienci i dodawania do niej rekordów
C. usunięcia tabeli lub jej danych
D. aktualizowania danych oraz przeglądania tabeli klienci
Użytkownik adam po wykonaniu poleceń GRANT i REVOKE nie będzie miał wszystkich przywilejów na tabeli klienci, co wymaga szczegółowej analizy. Gdy polecenie GRANT ALL PRIVILEGES ON klienci TO adam zostało wykonane, użytkownik zyskał pełne prawa do tabeli klienci, w tym usuwania, aktualizowania, wstawiania, a także przeglądania danych. Następnie, polecenie REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam odebrało mu możliwość przeglądania (SELECT), wstawiania (INSERT) oraz aktualizowania (UPDATE) danych w tej tabeli. Jednakże, usunięcie (DELETE) nie zostało wymienione w poleceniu REVOKE, co oznacza, że użytkownik adam wciąż ma prawo do usunięcia rekordów w tabeli klienci. To zjawisko jest zgodne z zasadami zarządzania uprawnieniami w systemach baz danych SQL, gdzie uprawnienia mogą być przyznawane i odbierane niezależnie, co pozwala na precyzyjne zarządzanie dostępem do danych. W praktyce, sytuacja ta może prowadzić do niebezpieczeństw związanych z bezpieczeństwem danych, dlatego ważne jest, aby administratorzy baz danych dokładnie analizowali przyznawane i odbierane uprawnienia.

Pytanie 7

Której klauzuli należy użyć w poleceniu CREATE TABLE, aby pole nie mogło pozostać puste?

A.
NULL
B.
DEFAULT
C.
CHECK
D.
NOT NULL
Klauzula NOT NULL w definicji kolumny wymusza, że pole musi mieć wartość - baza odrzuci próbę wstawienia wiersza bez niej. Stosuje się ją do danych obowiązkowych, np. nazwisko VARCHAR(50) NOT NULL, a także automatycznie dla kolumn klucza głównego. Często łączy się ją z DEFAULT, by przy braku wartości wstawić ustaloną domyślną. Dlatego aby pole nie mogło być puste, używa się NOT NULL.

Pytanie 8

Obiektem w bazie danych, który wykorzystywany jest do podsumowywania, prezentacji oraz drukowania danych, jest

A. raport
B. zestawienie
C. zapytanie
D. formularz
Raport jest obiektem baz danych, który służy do podsumowywania, wyświetlania oraz wydruków danych. Jego główną funkcją jest agregacja i prezentacja informacji w sposób przystępny dla użytkownika. Raporty mogą być wykorzystywane do analizy danych, prezentacji wyników oraz podejmowania decyzji biznesowych. Przykładem zastosowania raportu może być generowanie miesięcznego raportu sprzedaży, który zawiera szczegółowe informacje o przychodach, kosztach oraz zyskach w danym okresie. Z perspektywy dobrych praktyk, raporty powinny być projektowane w taki sposób, aby były czytelne i zrozumiałe, a ich struktura powinna być zgodna z wymaganiami użytkowników. W kontekście standardów, raporty mogą być również generowane automatycznie przy użyciu narzędzi business intelligence, co pozwala na zwiększenie efektywności i dokładności analiz. Dobrze zdefiniowane raporty przyczyniają się do lepszego zrozumienia zbiorów danych oraz wspierają procesy decyzyjne w organizacji.

Pytanie 9

Które z wymienionych oprogramowań NIE jest systemem zarządzania treścią (CMS)?

A. Joomla
B. WordPress
C. Mambo
D. Apache
Apache (Apache HTTP Server) to serwer WWW - oprogramowanie, które odbiera żądania przeglądarek i odsyła im strony; stanowi część infrastruktury, na której działają witryny. Nie służy do zarządzania treścią. Systemy CMS (Content Management System), takie jak WordPress, Joomla! czy Mambo, pozwalają natomiast tworzyć i edytować zawartość strony bez programowania - i często działają właśnie na serwerze Apache. Dlatego to Apache nie jest CMS-em.

Pytanie 10

Zmienna o typie integer lub int jest w stanie przechowywać

A. łańcuch znaków
B. liczbę rzeczywistą
C. liczbę całkowitą
D. znak
Zmienna typu integer, znana również jako int, jest podstawowym typem danych w wielu językach programowania, takich jak C, C++, Java czy Python. Jej kluczową zaletą jest możliwość przechowywania tylko liczb całkowitych, co czyni ją idealnym wyborem do operacji arytmetycznych, które wymagają precyzyjnego zarządzania wartościami całkowitymi bez części dziesiętnych. Przykłady zastosowania to m.in. przechowywanie ilości przedmiotów w magazynie, zliczanie punktów w grze lub reprezentowanie indeksów w tablicach. W praktyce, użycie zmiennych typu integer umożliwia efektywne wykorzystanie pamięci, ponieważ zajmują one mniej miejsca niż zmienne typu zmiennoprzecinkowego, a ich operacje są wykonywane szybciej. Ponadto, stosowanie zmiennych całkowitych jest zgodne z dobrymi praktykami programowania, które zalecają dobór odpowiednich typów danych do specyficznych potrzeb aplikacji, co zwiększa ich wydajność i czytelność kodu. Warto także zrozumieć, że w kontekście programowania, typ zmiennej determinuje zakres wartości, które można przechowywać, co w przypadku typu integer zwykle wynosi od -2,147,483,648 do 2,147,483,647 w standardzie 32-bitowym, co czyni go wystarczającym dla wielu zastosowań.

Pytanie 11

Jakie polecenie pozwala na kontrolowanie oraz optymalizację bazy danych?

A. mysqlimport
B. mysqlshow
C. mysqldump
D. mysqlcheck
Odpowiedź 'mysqlcheck' jest poprawna, ponieważ jest to narzędzie służące do sprawdzania i optymalizacji baz danych MySQL. Umożliwia ono użytkownikom weryfikację integralności tabel, a także optymalizację struktury bazy danych, co jest kluczowe dla zapewnienia jej wydajności. Funkcja ta jest niezwykle przydatna w przypadku dużych baz danych, gdzie regularne sprawdzanie i optymalizacja mogą znacząco wpłynąć na szybkość wykonywania zapytań. W praktyce, mysqlcheck można uruchomić z różnymi opcjami, na przykład '-a' do automatycznej optymalizacji, co pozwala na zautomatyzowanie procesu konserwacji bazy. Ponadto, zgodnie z zaleceniami dobrych praktyk w zarządzaniu bazami danych, regularne korzystanie z mysqlcheck może pomóc w identyfikacji potencjalnych problemów przed ich eskalacją, co z kolei minimalizuje ryzyko awarii systemu i utraty danych.

Pytanie 12

Do utworzenia czego niezbędne jest zdefiniowanie klucza obcego?

A. relacji jeden-do-jednego (1..1)
B. transakcji
C. relacji jeden-do-wielu (1..n)
D. klucza podstawowego
Klucz obcy jest niezbędny do utworzenia relacji jeden-do-wielu (1..n) - to on, umieszczony po stronie „wielu”, wskazuje klucz główny tabeli po stronie „jeden”. Dlatego klucz obcy potrzebny jest do relacji 1..n.

Pytanie 13

Który z podanych kodów XHTML sformatuje tekst zgodnie z określonym schematem?

Ilustracja do pytania
A. Odpowiedź B
B. Odpowiedź D
C. Odpowiedź A
D. Odpowiedź C
Poprawna odpowiedź D zawiera poprawne znaczniki XHTML i HTML, które umożliwiają formatowanie tekstu według wzoru. W pierwszym wierszu tekst Ala ma kota używa znacznika b do pogrubienia słowa kota, co jest zgodne ze standardami, ponieważ b jest szeroko stosowanym tagiem HTML do semantycznego pogrubienia tekstu. Następnie użyty jest znacznik br do wstawienia przerwy w linii, co sprawia, że kolejna część tekstu pojawia się w nowej linii, odzwierciedlając układ zaprezentowany na obrazku. W drugim wierszu tekst a kot ma Alę, znacznik i został użyty do pochylania słowa kot, co jest zgodne z praktykami formatowania tekstu, gdzie i oznacza kursywę. Zamknięcie całego tekstu w znacznikach p paragrafu zapewnia również odpowiedni odstęp i formatowanie, co jest zgodne z semantycznym i strukturalnym organizowaniem treści w dokumencie XHTML. Podejście to odzwierciedla dobre praktyki kodowania, w tym stosowanie właściwych znaczników dla odpowiednich stylów oraz zapewnienie kompatybilności z różnymi przeglądarkami.

Pytanie 14

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

wynik = 0;
for (i = 0; i < tab.length; i++) {
  wynik += tab[i];
}
A. wyświetlić wszystkie elementy tablicy
B. dodać do każdego elementu tablicy ustaloną wartość
C. wprowadzić do każdego elementu tablicy bieżącą wartość zmiennej i
D. obliczyć sumę wszystkich elementów tablicy
Funkcja w podanym fragmencie rzeczywiście ma na celu policzenie sumy wszystkich elementów tablicy. Przy inicjalizacji zmiennej 'wynik' na 0, kod iteruje przez każdy element tablicy 'tab' przy użyciu pętli for. W każdej iteracji do 'wynik' dodawana jest wartość bieżącego elementu tablicy, co prowadzi do skumulowania wszystkich wartości. Tego typu operacje są powszechnie stosowane w programowaniu, szczególnie w analizie danych, gdzie często zachodzi potrzeba obliczenia sumy, średniej lub innych statystyk na podstawie zebranych danych. Ważne jest również, aby pamiętać o typach danych w JavaScript – elementy tablicy powinny być liczbami, aby suma była poprawna. Zastosowanie tej techniki jest standardem w wielu algorytmach i jest fundamentalne dla zrozumienia bardziej zaawansowanych koncepcji, jak np. funkcje redukujące.

Pytanie 15

Którym poleceniem wyświetlisz konfigurację serwera PHP (wersję PHP, system serwera, wartości zmiennych predefiniowanych)?

A.
phpinfo();
B.
echo phpversion();
C.
phpcredits();
D.
print_r(ini_get_all());
Aby zobaczyć konfigurację serwera PHP - wersję, system, rozszerzenia i zmienne predefiniowane - używa się phpinfo();. Funkcja sama buduje czytelną stronę z tymi danymi, więc nie trzeba ich zbierać ręcznie. Zapamiętaj: jedno wywołanie phpinfo() zastępuje dziesiątki osobnych sprawdzeń środowiska.

Pytanie 16

Co stanie się z polem, dla którego w CREATE TABLE użyto klauzuli PRIMARY KEY?

A. stanie się kluczem obcym
B. stanie się kluczem podstawowym (głównym)
C. stanie się indeksem klucza
D. stanie się indeksem unikalnym
Klauzula PRIMARY KEY w CREATE TABLE sprawia, że dane pole staje się kluczem PODSTAWOWYM (głównym) tabeli - jednoznacznie identyfikuje każdy wiersz, więc musi być unikalne i niepuste. Przy okazji baza tworzy dla niego unikalny indeks. Zapamiętaj: PRIMARY KEY = „to pole identyfikuje rekord”.

Pytanie 17

Jakie są etapy w odpowiedniej kolejności przy tworzeniu aplikacji?

A. Określenie wymagań, analiza oczekiwań klienta, programowanie, wdrożenie, testowanie
B. Programowanie, analiza oczekiwań klienta, określenie wymagań, wdrożenie, testowanie
C. Analiza oczekiwań klienta, określenie wymagań, programowanie, wdrożenie, testowanie
D. Analiza oczekiwań klienta, określenie wymagań, programowanie, testowanie, wdrożenie
Odpowiedź wskazująca na kolejność: analiza wymagań klienta, specyfikacja wymagań, tworzenie, testy, wdrażanie jest poprawna i odzwierciedla standardowy model cyklu życia oprogramowania (SDLC). Zaczynamy od analizy wymagań, co oznacza zrozumienie potrzeb klienta i zebranie informacji, które będą fundamentem dalszych prac. Następnie przechodzimy do specyfikacji wymagań, gdzie dokumentujemy te potrzeby w formie, która będzie zrozumiała dla zespołu developerskiego. Tworzenie aplikacji następuje po szczegółowym omówieniu i zaakceptowaniu wymagań, co minimalizuje ryzyko błędów. Testy są kluczowym etapem, który pozwala na weryfikację, czy stworzone rozwiązanie spełnia wymagania oraz działa zgodnie z założeniami. Ostateczne wdrożenie aplikacji do użytkowania powinno nastąpić po przeprowadzeniu wszystkich testów i uzyskaniu pozytywnych wyników. Przykład zastosowania tej metodologii można zaobserwować w projektach realizowanych w metodologii Agile, gdzie iteracje pozwalają na ciągłe dostosowywanie aplikacji do zmieniających się potrzeb klienta. Takie podejście zwiększa satysfakcję użytkowników i minimalizuje koszty związane z poprawkami.

Pytanie 18

W języku JavaScript rezultat wykonania instrukcji zmienna++; będzie równy wynikowi instrukcji

A. zmienna += 1;
B. zmienna--;
C. zmienna = zmienna + 10;
D. zmienna === zmienna + 1;
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 19

W sekcji nagłówka dokumentu HTML umieszczono

<title>Strona miłośników psów</title>
Zawarty tekst będzie widoczny
A. w treści witryny, na banerze witryny
B. w treści witryny, w pierwszym ukazanym nagłówku
C. na pasku tytułu w przeglądarce
D. w polu adresowym, za wprowadzonym adresem URL
Odpowiedź jest poprawna, ponieważ zawartość tagu <title> w kodzie HTML określa tytuł dokumentu, który jest wyświetlany na pasku tytułu przeglądarki. Tytuł ten jest kluczowym elementem SEO, ponieważ wpływa na sposób, w jaki użytkownicy postrzegają stronę w wynikach wyszukiwania. W praktyce, dobrze dobrany tytuł zwiększa szansę na kliknięcia i poprawia widoczność strony w internecie. Warto pamiętać, że tytuł powinien być krótki, zwięzły i zawierać najważniejsze słowa kluczowe, aby skutecznie komunikować, o czym jest strona. Dobre praktyki zalecają, aby długość tytułu nie przekraczała 60 znaków, aby uniknąć jego obcięcia w wynikach wyszukiwania. Dodatkowo, tytuł powinien być unikalny dla każdej podstrony, co ułatwia użytkownikom i wyszukiwarkom zrozumienie zawartości witryny.

Pytanie 20

Poprawny zapis znacznika , za pomocą którego można umieścić na stronie internetowej obraz rys.jpg przeskalowany do szerokości 120 px i wysokości 80 px z tekstem alternatywnym "krajobraz" to

A. <img href="rys.jpg" height="120px" width="80px" info="krajobraz">
B. <img image="rys.jpg" width="120px" height="80px" alt="krajobraz">
C. <img src="rys.jpg" height="120px" width="80px" info="krajobraz">
D. <img src="rys.jpg" width="120px" height="80px" alt="krajobraz">
Odpowiedź <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"> jest na pewno dobra! Używasz fajnego atrybutu 'src' do wskazania, skąd bierzesz obrazek, co jest super ważne. Atrybuty 'width' i 'height' też są dobrze ustawione, bo określają, jak duży ma być obrazek na stronie. To naprawdę przydaje się, zwłaszcza jak robimy responsywne strony. A ten 'alt', to świetny pomysł – daje tekst alternatywny, co bardzo pomaga osobom, które korzystają z czytników ekranu. Bez tego mogą nie wiedzieć, co jest na obrazku, a to jest spoko, bo dba o dostępność. Co do pikseli, używasz ich standardowo, ale pomyśl, że w CSS można też iść w procenty czy jednostki względne, żeby było jeszcze elastyczniej. W sumie, gdybyś chciał, mógłbyś bawić się CSS-em do stylizacji obrazów tła, co też sprawia, że wszystko lepiej się dopasowuje do różnych ekranów.

Pytanie 21

Narzędzie używane do organizowania i przedstawiania danych z wielu wpisów w celu ich wydruku lub dystrybucji to

A. formularz
B. raport
C. kwerenda
D. makropolecenie
Raport to taki pomocny zestaw danych, który pozwala na analizę i prezentację informacji z różnych źródeł. Jak myślisz, to naprawdę kluczowe narzędzie, jeśli chodzi o zarządzanie danymi i bazami danych. Dzięki raportom możemy fajnie zobaczyć wyniki sprzedaży czy inne dane, które z różnych miejsc się zbiera. To ułatwia podejmowanie decyzji, bo wszystko jest w jednym dokumencie. Na przykład, kiedy porównujemy wyniki z różnych okresów, to od razu widzimy, co działa, a co nie. Systemy takie jak Microsoft SQL Server Reporting Services czy IBM Cognos pomagają w tworzeniu tych raportów, a nawet pozwalają na ich ładne formatowanie. Super sprawa, bo można je dopasować do własnych potrzeb, co z kolei czyni je bardziej użytecznymi. W branży IT, raportowanie jest podstawą zarządzania usługami, a także w analizach SWOT. Przemyślane podsumowanie danych naprawdę pomaga w ocenie sytuacji firmy.

Pytanie 22

Posiadając tabelę zawierającą zwierzeta z kolumnami nazwa, gatunek, gromada, cechy, dlugosc_zycia, aby uzyskać listę nazw zwierząt, które żyją co najmniej 20 lat oraz należą do ssaków, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
Zapytanie SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak'; jest prawidłowe, ponieważ łączy dwa kluczowe warunki, które muszą być spełnione, aby uzyskać pożądane wyniki. W tym przypadku chcemy wyświetlić nazwy zwierząt, które żyją co najmniej 20 lat oraz należą do gromady ssaków. Operator AND w SQL jest stosowany do łączenia warunków, co oznacza, że tylko te rekordy, które spełniają oba warunki, zostaną zwrócone. Przykładem zastosowania takiego zapytania może być analiza danych w zoologii lub biologii, gdzie istotne jest zrozumienie, które gatunki mają długowieczność i są ssakami. Takie zapytanie można również wykorzystać w praktyce, na przykład w aplikacjach ewidencjonujących zwierzęta w ogrodach zoologicznych czy rezerwatach, pomagając w podejmowaniu decyzji o ich ochronie lub hodowli. Zastosowanie dobrych praktyk w SQL polega na precyzyjnym definiowaniu kryteriów, co pozwala na efektywne przetwarzanie i analizowanie danych.

Pytanie 23

W języku JavaScript, w celu przekształcenia specjalnie przygotowanego tekstu w tablicę, można wykorzystać metodę

A. slice()
B. split()
C. trim()
D. replace()
Użycie metod takich jak trim(), replace() czy slice() w kontekście zamiany tekstu na tablicę jest nieprawidłowe z kilku powodów. Metoda trim() służy do usuwania białych znaków (spacji, tabulatorów itp.) z początku i końca ciągu znaków. Choć jest to przydatne w wielu sytuacjach, nie ma ona żadnego wpływu na strukturę samego tekstu, a tym samym nie może być używana do przekształcania ciągu w tablicę. Z kolei replace() jest metodą, która zastępuje podciąg w łańcuchu, ale nie dzieli go na elementy. Na przykład, użycie replace() na ciągu "Jan,Kasia,Piotr" z celem uzyskania tablicy spowoduje, że nadal będziemy mieć jeden łańcuch, w którym nie będą mogły wystąpić oddzielne elementy. Natomiast metoda slice() służy do wycinania określonej części łańcucha, co również nie prowadzi do generowania tablicy. Powszechnym błędem myślowym jest założenie, że te metody mogą spełniać funkcję podziału tekstu, podczas gdy ich rzeczywiste zastosowanie jest zupełnie inne. W praktyce, stosując metody, które nie są przeznaczone do dzielenia tekstu, programiści mogą napotkać problemy z wydajnością i czytelnością kodu, co jest sprzeczne z zasadami dobrego programowania. Zrozumienie różnicy między tymi metodami oraz ich odpowiednim zastosowaniem jest kluczowe dla efektywnej pracy z danymi tekstowymi i zapewnia, że procesy przetwarzania informacji w aplikacjach są zarówno efektywne, jak i łatwe do utrzymania.

Pytanie 24

char str1[30] = 'Ala ma kota';
printf("%s", str1);
Wskaż, gdzie tkwi błąd w powyższym kodzie napisanym w języku C++?
A. Do funkcji printf przekazano za mało argumentów.
B. W funkcji printf nie można używać formatowania %s.
C. Tekst powinien być zawarty w cudzysłowie.
D. Tekst powinien mieć dokładnie 30 znaków.
Odpowiedź jest poprawna, ponieważ w języku C i C++, napisy muszą być ujęte w podwójne cudzysłowy, aby kompilator mógł je rozpoznać jako literały znakowe. W kodzie, który przedstawiono, użyto pojedynczych cudzysłowów, co jest niezgodne z regułami składniowymi tych języków. Poprawna definicja napisu powinna wyglądać następująco: char str1[30] = \"Ala ma kota\"; Ujęcie napisu w cudzysłowy pozwala na poprawne zainicjowanie tablicy typu char, co jest standardową praktyką w programowaniu w C/C++. Dzięki temu kompilator wie, że wszystkie znaki zawarte w cudzysłowie stanowią część jednego ciągu. Warto również zauważyć, że przy pracy z napisami w C, często używa się funkcji standardowych, takich jak strlen do obliczania długości napisu czy strcpy do kopiowania ciągów. Te funkcje są szeroko stosowane w praktyce i znajomość ich działania jest kluczowa dla efektywnego programowania. "

Pytanie 25

Który znacznik HTML oznacza fragment tekstu jako KOD programistyczny?

A.
<code>
B.
<blockquote>
C.
<em>
D.
<span>
Znacznik <code> oznacza fragment tekstu jako KOD programistyczny - przeglądarki domyślnie wyświetlają go czcionką o stałej szerokości (monospace). Dlatego kod oznacza <code>.

Pytanie 26

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. wszystkie operacje na tabelach bazy dane.
B. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
C. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
D. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
Prawidłowo zauważyłeś, że użytkownikowi Jan przypisano wszystkie uprawnienia (GRANT ALL PRIVILEGES) na bazie danych o nazwie 'dane.*'. Przyznanie pełnych uprawnień obejmuje możliwość tworzenia, modyfikowania, usuwania tabel, jak również manipulowania danymi w tych tabelach. W praktyce oznacza to, że Jan ma pełną kontrolę nad bazą danych. Jest to możliwe dzięki konstrukcji GRANT, która jest standardem w zarządzaniu uprawnieniami w relacyjnych bazach danych. Pozwala ona na precyzyjne definiowanie, jakie operacje może wykonywać dany użytkownik. Taka granularna kontrola jest kluczowa dla bezpieczeństwa systemów bazodanowych. Pamiętaj, że nadawanie pełnych uprawnień jest odpowiednie jedynie w sytuacjach, gdy użytkownik jest całkowicie zaufany - w innym przypadku, powinno się ograniczyć uprawnienia do tych, które są niezbędne do wykonania pewnych zadań.

Pytanie 27

Który standard wideo cechuje się rozdzielczością 1920 × 1080 pikseli?

A. Full HD
B. 4K
C. HD Ready
D. Ultra HD
Full HD (oznaczane też 1080p) to standard rozdzielczości 1920 × 1080 pikseli - powszechny w telewizorach, monitorach i nagraniach wideo. „p” oznacza skanowanie progresywne (pełne klatki). Wyższe standardy to 4K / Ultra HD (3840 × 2160), a niższy popularny to HD Ready (1280 × 720). Im więcej pikseli, tym ostrzejszy obraz. Dlatego 1920 × 1080 to rozdzielczość Full HD.

Pytanie 28

Którego atrybutu użyć, aby scalić w POZIOMIE dwie sąsiednie komórki w wierszu tabeli?

A.
rowspan
B.
cellspacing
C.
cellpadding
D.
colspan
Atrybut colspan w komórce tabeli (<td>/<th>) scala ją z sąsiednimi w POZIOMIE - np. colspan="2" rozciąga komórkę na dwie kolumny. Dlatego poziome łączenie komórek daje colspan.

Pytanie 29

W PHP, aby połączyć się z bazą danych MySQL przy użyciu biblioteki mysqli, w zapisie zamieszczonym poniżej, w miejscu litery 'c' powinno się wpisać

Ilustracja do pytania
A. nazwę użytkownika
B. hasło użytkownika
C. lokalizację serwera bazy danych
D. nazwę bazy danych
W języku PHP używając biblioteki mysqli do połączenia z bazą danych MySQL, jako drugi argument funkcji mysqli należy podać nazwę użytkownika. Konstruktor mysqli przyjmuje pięć głównych argumentów: lokalizację serwera, nazwę użytkownika, hasło użytkownika, nazwę bazy danych oraz opcjonalne port i socket. Nazwa użytkownika jest kluczowa, ponieważ określa, który użytkownik bazy danych będzie używany do połączenia. Najczęściej używanym użytkownikiem przy lokalnych połączeniach testowych jest 'root', ale w środowiskach produkcyjnych stosuje się bardziej restrykcyjne podejście, tworząc dedykowane konta z ograniczonymi uprawnieniami dostępowymi. Korzystając z odpowiednich danych uwierzytelniających, można także lepiej logować działania i zarządzać prawami dostępu. Dobra praktyka wymaga, aby hasło było przechowywane bezpiecznie, np. w plikach konfiguracyjnych poza dostępem zewnętrznym, a dane użytkownika zawsze były szyfrowane przy przesyłaniu. Znajomość poprawnej konfiguracji połączenia z bazą danych jest kluczowa dla bezpieczeństwa i wydajności aplikacji.

Pytanie 30

Selektor CSS a:link {color:red} w arkuszach stylów nazywanych kaskadowymi określa

A. identyfikator.
B. pseudoklasę.
C. pseudoelement.
D. klasę.
Wybór odpowiedzi związanej z klasą, identyfikatorem lub pseudoelementem nie uwzględnia kluczowej różnicy między tymi pojęciami a pseudoklasami. Klasa w CSS definiuje grupę elementów, które mają wspólne cechy stylistyczne, natomiast identyfikator jest unikalny dla jednego elementu na stronie i powinien być używany tylko raz. Klasy i identyfikatory są przypisywane za pomocą atrybutów 'class' i 'id' w HTML, co czyni je bardziej statycznymi, podczas gdy pseudoklasy odnoszą się do konkretnego stanu elementu, co wprowadza element dynamiki. Pseudoelementy, takie jak '::before' lub '::after', również różnią się, ponieważ pozwalają na stylizację części elementu, a nie jego całego stanu. Typowe błędy myślowe związane z myleniem tych pojęć wynikają często z braku zrozumienia, jak działa kaskadowość i dziedziczenie w CSS. Kluczowe jest zrozumienie, że pseudoklasy są narzędziem do reakcji na interakcje użytkownika, co pozwala na bardziej zaawansowane i intuicyjne projektowanie stron internetowych. Ignorowanie tych różnic prowadzi do nieefektywnego stylowania i może obniżać jakość interfejsów użytkownika.

Pytanie 31

Wskaż nieprawdziwe zdanie dotyczące normalizacji dźwięku.

A. Normalizacja polega na obniżeniu poziomu najgłośniejszej próbki w sygnale do określonej wartości, a następnie w odniesieniu do niej proporcjonalnym zwiększeniu głośności pozostałej części sygnału.
B. Funkcja normalizacja znajduje się w menu programu do edycji dźwięku.
C. Gdy najgłośniejszy fragment dźwięku ma wartość pół na skali, to wszystkie dźwięki zostaną wzmocnione dwukrotnie - w ten sposób najgłośniejszy fragment osiągnie maksymalną wartość na skali.
D. Podczas normalizacji poziom głośności całego nagrania jest wyrównywany.
Twoja odpowiedź dobrze wskazuje na to, jak działa normalizacja. Generalnie chodzi o to, żeby dostosować głośność całego nagrania tak, aby najgłośniejszy fragment nie był za cichy. Kiedy ten najgłośniejszy kawałek jest na poziomie 50%, normalizacja podnosi głośność całego nagrania, żeby ten fragment był na maksa. W praktyce to też oznacza, że inne, cichsze części nagrania też będą głośniejsze, co jest ważne, bo pozwala to utrzymać przyjemny balans w dźwięku. Normalizacja jest bardzo powszechna, zwłaszcza w produkcji muzyki, żeby różne utwory miały podobny poziom głośności, bo różnice mogą być dość irytujące podczas słuchania. Ważne, żeby zawsze sprawdzić, czy po normalizacji nie ma jakichś zniekształceń czy clippingu. Czasem warto też używać normalizacji razem z innymi technikami, jak kompresja, żeby osiągnąć jeszcze lepszy efekt końcowy.

Pytanie 32

Które z poniższych oprogramowań NIE jest systemem zarządzania treścią (CMS)?

A. Mambo
B. Apache
C. WordPress
D. Joomla
System zarządzania treścią (CMS - Content Management System) to oprogramowanie pozwalające tworzyć i redagować zawartość strony bez ręcznego pisania kodu - należą do nich Joomla, WordPress czy Mambo. Apache (Apache HTTP Server) to natomiast serwer WWW: program, który odbiera żądania przeglądarek i odsyła strony. To warstwa niżej - CMS może działać NA serwerze Apache, ale sam nim nie jest. Dlatego CMS-em nie jest Apache.

Pytanie 33

W formularzu HTML wykorzystano znacznik <input>. Wyświetlane pole będzie przeznaczone do wprowadzania maksymalnie

Ilustracja do pytania
A. 30 znaków, które są widoczne podczas wpisywania
B. 20 znaków, które nie są widoczne w polu tekstowym
C. 30 znaków, które nie są widoczne w polu tekstowym
D. 20 znaków, które są widoczne podczas wpisywania
Podany znacznik <input> definiuje element formularza HTML typu password. Gdy używasz typu password, wprowadzone znaki są maskowane, zazwyczaj używając symboli takich jak kropki lub gwiazdki, co oznacza, że nie są widoczne podczas wprowadzania. Atrybut maxlength określa maksymalną liczbę znaków, które użytkownik może wprowadzić. W tym przypadku wartość maxlength równa 20 oznacza, że użytkownik może wprowadzić do 20 znaków, nawet jeśli więcej znaków można by zobaczyć w polu dzięki atrybutowi size. Rozdzielając te dwa aspekty, atrybut size określa jedynie widoczną szerokość pola, co w przypadku tego inputu wynosi 30, ale nie wpływa na ilość możliwych do wpisania znaków. Zastosowanie pola password jest powszechne w formularzach logowania, gdzie bezpieczeństwo wprowadzanych danych jest priorytetem. Użycie maxlength pozwala kontrolować długość hasła, co może być częścią strategii zabezpieczeń, eliminując zbyt długie lub zbyt krótkie hasła, które są łatwiejsze do złamania. Takie podejście jest zgodne z najlepszymi praktykami w zakresie bezpieczeństwa aplikacji webowych.

Pytanie 34

Którego znacznika używa się do utworzenia listy definicji w kodzie HTML?

A.
<dl>
B.
<abbr>
C.
<label>
D.
<td>
Listę definicji buduje znacznik <dl> (description list). Wewnątrz umieszcza się pary: definiowany termin w <dt> oraz jego opis w <dd>, na przykład <dl><dt>HTML</dt><dd>język znaczników</dd></dl>. Taka lista nadaje się do słowniczków, par nazwa-wartość czy zestawień pojęć i ich wyjaśnień. Różni się od listy nienumerowanej <ul> i numerowanej <ol> właśnie strukturą „termin - opis”. Dlatego do listy definicji służy <dl>.

Pytanie 35

Aby grupować sekcje na poziomie bloków, które będą stilizowane za pomocą znaczników, jakiego należy użyć?

A. <span>
B. <div>
C. <p>
D. <param>
Znak <div> jest jednym z podstawowych elementów HTML, który służy do grupowania i organizowania zawartości w dokumentach HTML. Umożliwia on stosowanie stylów CSS oraz skryptów JavaScript na grupach elementów, co czyni go niezwykle użytecznym w budowie responsywnych i złożonych układów stron. W przeciwieństwie do znaku <p>, który zarezerwowany jest dla akapitów tekstu, lub <span>, który jest używany do izolowania niewielkich fragmentów tekstu w ramach większego kontekstu, <div> działa jako kontener wypełniający swoje otoczenie. Ponadto, <div> jest znacznikiem blokowym, co oznacza, że zajmuje całą szerokość dostępnego miejsca w swoim rodzicu, co jest kluczowe w projektowaniu układów. W praktyce może być używany do tworzenia sekcji strony, nagłówków, stopki czy artykułów, co pozwala na lepszą organizację kodu i stylów. W kontekście standardów, <div> jest częścią W3C HTML5, co zapewnia jego szeroką akceptację i zgodność z przeglądarkami. Użycie <div> do grupowania obszarów na poziomie bloków jest zatem najlepszą praktyką w nowoczesnym web designie.

Pytanie 36

Jakie będzie wyjście programu napisanego w języku JavaScript, umieszczonego w ramce, po podaniu wartości 5 na wejściu?

Ilustracja do pytania
A. 60
B. 625
C. 125
D. 120
Program przedstawiony w pytaniu służy do obliczenia silni liczby n wprowadzonej przez użytkownika. Zrozumienie, dlaczego wynik wynosi 120, a inne odpowiedzi są błędne, wymaga dokładnego prześledzenia, jak działa silnia i jak przebiega obliczenie w pętli for. Silnia liczby n, zapisywana jako n!, to iloczyn wszystkich liczb od 1 do n. Dla wartości 5, program oblicza 5! jako 5*4*3*2*1, co daje 120. Błędne odpowiedzi wynikają zazwyczaj z niepoprawnego zrozumienia zasady działania pętli oraz operacji matematycznych. Na przykład, wynik 60 mógłby sugerować niepełne wykonanie iteracji, na przykład jeśli pętla kończyłaby się wcześniej, ale kod jasno określa, że iteruje od n do 2. Wynik 125 mógłby być wynikiem błędnego użycia operatorów matematycznych, np. dodawania zamiast mnożenia. Odpowiedź 625 mogłaby sugerować niepoprawną interpretację, gdzie liczba 5 zostałaby błędnie pomnożona przez samą siebie pięciokrotnie, co nie dotyczy silni. Takie błędy są powszechne w kontekście programowania, gdzie operatory i zakresy iteracji muszą być prawidłowo zrozumiane i zastosowane. Rozumienie poprawnego działania pętli for oraz operatora *= jest kluczowe dla uniknięcia takich błędów i poprawnego implementowania algorytmów matematycznych w kodzie. Praktyka i analiza przykładowych problemów mogą znacznie poprawić zdolność do pisania skutecznego i bezbłędnego kodu.

Pytanie 37

Tabela gory zawiera dane o polskich wzniesieniach oraz łańcuchach górskich, w których te wzniesienia się znajdują. Aby uzyskać Koronę Gór Polskich, czyli najwyższe wzniesienie w każdym z łańcuchów górskich, należy wykonać kwerendę

A. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo
B. SELECT pasmo, szczyt FROM gory GROUP BY wysokosc
C. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory
D. SELECT pasmo, szczyt, wysokosc FROM gory
Odpowiedź SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo; jest poprawna, ponieważ wykorzystuje funkcję agregującą MAX, która pozwala na wybranie najwyższego szczytu w każdym paśmie górskim. Grupa pasm górskich jest tworzona za pomocą klauzuli GROUP BY, co jest kluczowe w tym kontekście, ponieważ chcemy uzyskać najwyższy szczyt dla każdej grupy, a nie tylko globalny najwyższy szczyt. W praktyce, takie podejście jest niezwykle użyteczne w analizach geograficznych i tworzeniu raportów, gdzie grupowanie danych według określonych kryteriów pozwala na lepsze zrozumienie struktury danych. W kontekście baz danych, stosowanie funkcji agregujących w połączeniu z klauzulą GROUP BY jest standardową praktyką, co zwiększa efektywność zapytań oraz pozwala na uzyskanie bardziej precyzyjnych wyników. Przykładowo, podobne zapytania mogą być używane w analizach sprzedażowych, gdzie chcemy zobaczyć maksymalną sprzedaż w każdym regionie, co również wymaga grupowania danych według regionów.

Pytanie 38

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL pozwala na

A. pozbawianie użytkownika uprawnień
B. usuwanie konta użytkownika z bazy danych
C. przyznawanie praw dostępu do tabeli
D. przyznawanie uprawnień za pomocą ustalonego schematu
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL służy do cofnięcia uprawnień, które wcześniej przyznaliśmy jakiejś osobie albo roli. W kontekście baz danych, uprawnienia SELECT to po prostu możliwość oglądania danych w tabeli (nazwa1). To dosyć ważna sprawa, jeśli mówimy o bezpieczeństwie bazy. Dzięki temu możesz kontrolować, kto ma dostęp do jakich danych, co jest szczególnie istotne w przypadku różnych regulacji prawnych, jak RODO. Przykładowo, jeśli użytkownik (nazwa2) miał dostęp do tej tabeli, a później uznaje się, że nie powinien go mieć, to używasz REVOKE, żeby to cofnąć. To normalne podejście w administrowaniu bazami danych, bo bezpieczeństwo danych to bardzo ważny aspekt. Warto również czasami przeglądać, kto ma jakie uprawnienia, żeby zminimalizować ryzyko, że ktoś niepowołany dostanie się do wrażliwych informacji.

Pytanie 39

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

int zmienna1 = 158; int *zmienna2 = &zmienna1;
A. przypisany adres zmiennej o nazwie zmienna1
B. przypisana zamieniona na łańcuch wartość, która jest przechowywana w zmienna1
C. przypisana ta sama wartość, która jest przechowywana w zmienna1
D. przypisana liczba w kodzie binarnym odpowiadająca wartości, która jest przechowywana w zmienna1
W odpowiedzi 1 stwierdzono, że zmiennej zmienna2 zostanie przypisany adres zmiennej zmienna1. To stwierdzenie jest poprawne, ponieważ w kodzie C/C++ operator '&' jest używany do uzyskania adresu zmiennej. W prezentowanym fragmencie kodu zmienna2 jest wskaźnikiem, który przechowuje adres zmiennej zmienna1, co oznacza, że zmienna2 wskazuje na lokalizację w pamięci, w której przechowywana jest wartość zmiennej zmienna1. Takie podejście jest kluczowe w programowaniu niskopoziomowym, gdzie manipulacja adresami pamięci jest często wykorzystywana do efektywnego zarządzania zasobami. Przykład praktyczny to dynamiczna alokacja pamięci, gdzie programista może przydzielać i zwalniać pamięć w trakcie działania programu, co jest możliwe dzięki wskaźnikom. Zrozumienie wskaźników i adresów jest fundamentalne w C/C++, a ich właściwe użycie przyczynia się do optymalizacji kodu oraz umożliwia tworzenie bardziej złożonych struktur danych, takich jak listy, stosy czy kolejki.

Pytanie 40

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba < 100 || liczba >= 200)
B. if (liczba > 100 || liczba <= 200)
C. if (liczba > 100 && liczba <= 200)
D. if (liczba < 100 && liczba <= 200)
W analizowanych odpowiedziach pojawiają się spore błędy w podejściu do warunków. Na przykład, w pierwszej odpowiedzi masz 'liczba < 100 && liczba <= 200', co nie ma sensu, bo nie może być liczba, która jest mniejsza od 100, a jednocześnie mniejsza lub równa 200. Trochę się to kłóci, prawda? W drugiej odpowiedzi mamy '||', a to też jest mylące, bo mówi, że liczba może być większa od 100 LUB mniejsza lub równa 200. To oznacza, że liczby powyżej 200 też będą spełniać ten warunek, a to nie jest to, co chcemy. Ta kolejna odpowiedź mówi, że 'liczba < 100 || liczba >= 200' sprawdzi, czy liczba jest poniżej 100 LUB na 200 lub wyżej, co kompletnie pomija to, czego szukamy. Takie błędy często wynikają z tego, że nie do końca rozumiesz, jak działają te operatory. Kluczowe jest, żeby dobrze definiować warunki i wiedzieć, jak logika operatorów wpływa na wynik, bo to pozwala tworzyć lepsze aplikacje bez błędów.