Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 28 kwietnia 2026 13:32
  • Data zakończenia: 28 kwietnia 2026 13:57

Egzamin zdany!

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

Jaką wartość uzyska zmienna x po wykonaniu poniższego kodu PHP?

mysqli_query($db, "DELETE FROM produkty WHERE status < 0");
$x = mysqli_affected_rows($db);
A. Liczbę wierszy przetworzonych przez zapytanie DELETE FROM.
B. Liczbę wierszy w tabeli produkty, dla których pole status przekracza zero.
C. Liczbę wierszy, które znajdują się w bazie danych.
D. Liczbę wierszy, które zostały dodane do tabeli produkty.
Poprawna odpowiedź dotyczy liczby wierszy przetworzonych przez zapytanie DELETE FROM w bazie danych. Funkcja mysqli_affected_rows($db) zwraca liczbę wierszy, które zostały zmodyfikowane przez ostatnie wykonane zapytanie na danym połączeniu z bazą danych. W przypadku zapytania DELETE, zwróci ona liczbę wierszy, które zostały usunięte w wyniku działania tego zapytania. W kontekście dobrych praktyk, zawsze warto sprawdzać, jakie operacje zostały wykonane na bazie danych, aby zrozumieć wpływ zapytań na dane. Na przykład, w aplikacjach e-commerce, przed usunięciem produktów, można wykorzystać tę informację do potwierdzenia, że usunięcie danych nie wpływa negatywnie na inne elementy systemu. Użycie tej funkcji pozwala na efektywne zarządzanie danymi oraz na utrzymanie spójności w bazie danych, co jest kluczowe w kontekście bezpieczeństwa i integralności danych.

Pytanie 2

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Przenikanie zdjęć.
C. Zwiększenie ostrości zdjęcia.
D. Zmiana jasności zdjęć.
W tym zadaniu łatwo pomylić kilka różnych rodzajów operacji na obrazie, bo wszystkie jakoś „zmieniają wygląd zdjęcia”, ale działają zupełnie inaczej. Efekt pokazany na filmie to przenikanie dwóch zdjęć w czasie, czyli animowane przejście między jednym obrazem a drugim. Kluczowa cecha: widzimy jednocześnie dwa zdjęcia, jedno stopniowo zanika, a drugie stopniowo się pojawia. To nie jest typowa operacja edycyjna na pojedynczym pliku graficznym, tylko efekt animacyjny, często wykorzystywany w pokazach slajdów, sliderach na stronach WWW i w montażu wideo. Zmiana jasności zdjęć to zupełnie inny rodzaj przetwarzania. Jasność modyfikuje poziom luminancji całego obrazu lub jego fragmentów – obraz staje się ciemniejszy albo jaśniejszy, ale dalej jest to to samo zdjęcie. Nie pojawia się nowe, drugie zdjęcie, nie ma nakładania dwóch kadrów. W programach do grafiki mamy to jako „Brightness”, „Exposure” czy „Levels”. Jeśli na filmie widać, że jeden obraz przechodzi płynnie w inny, to nie jest korekta jasności, tylko przejście między dwiema warstwami. Podobnie z ostrością – zwiększenie ostrości polega na podbiciu kontrastu na krawędziach, żeby szczegóły wyglądały wyraźniej. W praktyce używa się filtrów typu Unsharp Mask, Smart Sharpen albo algorytmów wyostrzania w czasie rzeczywistym. Obraz przed i po wyostrzeniu to ciągle ta sama klatka, tylko z innym przetworzeniem detali, nie ma efektu zanikania jednego zdjęcia i pojawiania się drugiego. Zmniejszenie kontrastu to kolejna korekta globalna, która spłaszcza różnice między jasnymi a ciemnymi partiami obrazu. Zdjęcie robi się bardziej „szare”, mniej dynamiczne. Znowu – cały czas pracujemy na jednym ujęciu, bez miksowania dwóch fotografii. Typowym błędem myślowym przy takich pytaniach jest to, że skoro coś się „zmienia w czasie”, to musi chodzić o jakąś regulację parametrów typu jasność czy kontrast. Tymczasem w efektach multimedialnych bardzo często operujemy na wielu warstwach – dwa obrazy, dwie klatki wideo – i animujemy ich wzajemną przezroczystość. Właśnie to jest esencją przenikania zdjęć i odróżnia je od zwykłych korekt obrazu.

Pytanie 3

Zadanie "drzewo kontekstowe" w edytorze WYSIWYG Adobe Dreamweaver jest przeznaczone do

A. tworzenia szablonu strony internetowej
B. pokazania interaktywnego drzewa struktury HTML dla treści statycznych i dynamicznych
C. określenia kaskadowych arkuszy stylów powiązanych z witryną
D. formatowania treści za pomocą dostępnych znaczników
Funkcja 'drzewo kontekstowe' w edytorze WYSIWYG Adobe Dreamweaver jest kluczowym narzędziem, które umożliwia wizualizację struktury dokumentu HTML w formie interaktywnego drzewa. Dzięki temu użytkownicy mogą łatwo zobaczyć hierarchię elementów, co znacząco ułatwia nawigację oraz edycję zawartości zarówno statycznej, jak i dynamicznej. Przykład praktycznego zastosowania tej funkcji to sytuacja, w której programista pracuje nad złożonym projektem, zawierającym wiele sekcji i podsekcji. Dzięki drzewu kontekstowemu może szybko zlokalizować i edytować konkretne elementy, co przyspiesza proces tworzenia stron. Ponadto, funkcja ta wspiera dobre praktyki, takie jak utrzymanie czystości kodu oraz jego struktury, co jest zgodne z wytycznymi W3C dotyczącymi pisania HTML. Umożliwia to także lepsze zrozumienie i zarządzanie kodem, co jest nieocenione w większych projektach z zespołami developerskimi.

Pytanie 4

Zdefiniowano funkcję w języku PHP:

function policz($Z) { 
while($Z < 5) {
$Z += 2 * $Z + 1;
}
return $Z;
}
Funkcja policz została wywołana z parametrem $Z = 1. Jaki rezultat zostanie zwrócony?
A. 1
B. 7
C. 13
D. 4
Funkcja policz w języku PHP działa na zmiennej $Z, która jest inicjowana wartością 1. W pętli while sprawdzany jest warunek, czy $Z jest mniejsze niż 5. W przypadku, gdy $Z wynosi 1, warunek jest spełniony, a funkcja przechodzi do ciała pętli. Wewnątrz pętli $Z jest aktualizowane poprzez wyrażenie $Z += 2 * $Z + 1. Oznacza to, że do $Z dodawana jest wartość 2 * $Z + 1, co dla $Z = 1 daje 2 * 1 + 1 = 3. Po pierwszym kroku $Z osiąga wartość 4. Pętla while sprawdza ponownie warunek: 4 < 5, co również jest prawdą. W drugim kroku $Z = 4, więc $Z zostaje zaktualizowane do 4 + 2 * 4 + 1, co daje 4 + 8 + 1 = 13. Po tym kroku $Z staje się 13 i pętla while zakończy działanie, ponieważ 13 nie jest już mniejsze niż 5. Funkcja zwraca wartość 13, co czyni tę odpowiedź poprawną. Tego typu operacje są typowe w sytuacjach, gdzie potrzeba wielokrotnego aktualizowania wartości na podstawie obliczeń matematycznych, a ich zrozumienie jest kluczowe w programowaniu.

Pytanie 5

Wskaż prawdziwe stwierdzenie dotyczące polecenia:

CREATE TABLE IF NOT EXISTS adres (ulica VARCHAR(70) CHARACTER SET utf8);
A. IF NOT EXISTS stosuje się opcjonalnie, aby upewnić się, że w bazie danych nie istnieje już taka tabela.
B. Klauzula CHARACTER SET utf8 jest obowiązkowa.
C. Rekordem tabeli nie może być '3 MAJA'.
D. Do tabeli nie można wprowadzać nazw ulic zawierających polskie znaki.
Dobrze, że wybrałeś właściwą odpowiedź! Polecenie CREATE TABLE IF NOT EXISTS jest rzeczywiście używane w SQL, aby stworzyć tabelę tylko wtedy, gdy nie istnieje ona już w bazie danych. To jest bardzo praktyczne narzędzie, które pozwala uniknąć błędów, gdy próbujemy stworzyć tabelę, która już istnieje. Jest to zgodne z dobrymi praktykami zarządzania danymi i jest oparte na standardach SQL. Dodatkowo, warto pamiętać, że klauzula CHARACTER SET utf8, chociaż nie jest obowiązkowa, pozwala na przechowywanie znaków specjalnych, w tym polskich. Jest to ważne, gdy pracujemy z danymi, które zawierają różne zestawy znaków. Dlatego, nawet jeśli nie jest to wymagane, często jest to dobra praktyka. Podobnie, warto pamiętać, że typ danych VARCHAR(70) pozwala na przechowywanie dowolnych ciągów znaków, w tym dat i nazw, więc nie ma żadnych ograniczeń co do tego, jakie informacje mogą być przechowywane w tabeli.

Pytanie 6

SELECT ocena FROM oceny WHERE ocena>2 ORDER BY ocena;
Dana jest tabela oceny o polach id, nazwisko, imie, ocena. Przedstawione zapytanie jest przykładem:
A. projekcji
B. selekcji
C. łączenia
D. sumowania
Wydaje mi się, że wybór odpowiedzi na temat sumy, łączenia czy projekcji może wynikać z niepełnego zrozumienia podstawowych operacji w SQL. Operacja sumy to kwestia agregowania wartości w kolumnie i liczenia ich zbiorczej wartości, co w tym zapytaniu nie ma miejsca. Tutaj nie robimy żadnej agregacji, więc nie ma mowy o sumowaniu. Co do łączenia (JOIN), to działa ono na zasadzie łączenia danych z dwóch lub więcej tabel na podstawie wspólnych kolumn, a w tym zapytaniu mamy do czynienia tylko z jedną tabelą. Jeśli chodzi o projekcję, to jest to wybieranie konkretnych kolumn z tabeli, co może wprowadzać w błąd. W tym zapytaniu kluczowa jest jednak klauzula WHERE. Często zdarza się, że ludzie mylą pojęcia selekcji, które skupia się na ograniczaniu wyników według kryteriów, z projekcją, która dotyczy wyboru kolumn do wyświetlenia. Ważne jest, żeby na każdym etapie pracy z bazami danych zrozumieć te różnice; to pomoże ci skuteczniej wykorzystać SQL i unikać pomyłek w analizach.

Pytanie 7

Jaką funkcją agregującą można uzyskać ilość rekordów?

A. SUM
B. NUMBER
C. COUNT
D. AVG
Funkcja COUNT jest naprawdę ważna w SQL, bo pozwala nam zliczać rekordy w naszych zbiorach danych. Używa się jej w różnych sytuacjach, na przykład przy robieniu raportów czy analizie danych. Możesz na przykład napisać zapytanie: SELECT COUNT(*) FROM klienci WHERE kraj = 'Polska'. Dzięki temu dowiesz się, ilu klientów jest z Polski. To bardzo przydaje się do analizy demograficznej czy oceniania rynku. Co też warto wiedzieć, COUNT działa na wszystkich rekordach, bez względu na to, co jest w kolumnach. Takie wszechstronne narzędzie z pewnością ułatwia pracę z danymi. A jeśli dodasz klauzulę GROUP BY do COUNT, to możesz zliczać rekordy w różnych kategoriach, co jest mega pomocne przy skomplikowanych raportach. Ogólnie rzecz biorąc, używanie funkcji agregujących jak COUNT to dobra praktyka w SQL, bo sprawia, że kod jest bardziej efektywny i czytelny.

Pytanie 8

Przedstawiona w języku C++ definicja typu wyliczeniowego sprawi, że enumerator CZWARTEK będzie równy

enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};
A. napisowi "CZWARTEK"
B. napisowi 'CZWARTEK'
C. liczbie 4
D. liczbie 1
Definicja typu wyliczeniowego (enum) w języku C++ jest używana do tworzenia zestawu nazwanych stałych, co zwiększa czytelność i organizację kodu. W przypadku podanej definicji enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};, każdy element enumeracji automatycznie przyjmuje wartość całkowitą, zaczynając od podanej wartości dla pierwszego elementu, czyli PONIEDZIALEK = 1. Kolejne elementy, WTOREK, SRODA i CZWARTEK, przyjmują wartości 2, 3 i 4 odpowiednio. Tak więc CZWARTEK, będący czwartym elementem listy, ma przypisaną wartość 4. W praktyce, takie zdefiniowanie dni tygodnia jako enum pozwala na łatwe i zrozumiałe odwoływanie się do dni w kodzie, co ułatwia jego konserwację oraz eliminację błędów. Przy implementacji programów, w których operuje się na dniach tygodnia, korzystanie z typów wyliczeniowych jest powszechną praktyką i jest zgodne ze standardami kodowania, które promują użycie czytelnych i zrozumiałych nazw dla wartości.

Pytanie 9

Algorytm pokazany na ilustracji można zapisać w języku JavaScript przy użyciu instrukcji

Ilustracja do pytania
A. for(i = 0; i > 10; i++)
B. var i = 0; do i++; while(i > 10)
C. var i = 0; while(i <= 10) i += 2
D. var i = 0; do i = i + 2; while(i < 10)
Odpowiedź var i = 0 while(i <= 10) i += 2; jest poprawna, ponieważ reprezentuje poprawną implementację pętli while w języku JavaScript, która odzwierciedla logikę przedstawioną na rysunku. Kluczowym elementem jest inicjalizacja zmiennej i, ustawiając ją na 0. Następnie pętla while jest używana do sprawdzenia warunku i <= 10, co oznacza, że dopóki ten warunek jest spełniony, blok pętli będzie wykonywany. W każdym cyklu wartość i jest zwiększana o 2 za pomocą wyrażenia i += 2. Jest to typowy sposób iteracji w JavaScript, który pozwala na kontrolowaną manipulację zmienną kontrolującą pętlę. Takie podejście jest zgodne z najlepszymi praktykami, ponieważ zapewnia przejrzystość kodu i łatwość jego późniejszej modyfikacji. W praktycznych zastosowaniach, takie struktury są często używane w sytuacjach, gdy potrzebujemy przetworzyć dane w określonym zakresie, np. iterując przez elementy tablicy co drugi element. Zastosowanie pętli while z odpowiednim warunkiem umożliwia precyzyjną kontrolę nad przebiegiem iteracji, co jest kluczowe w programowaniu aplikacji i skryptów.

Pytanie 10

Jak powinna wyglądać odpowiednia sekwencja procesów przetwarzania dźwięku z analogowego na cyfrowy?

A. kwantyzacja, kodowanie, próbkowanie
B. kwantyzacja, próbkowanie, kodowanie
C. próbkowanie, kodowanie, kwantyzacja
D. próbkowanie, kwantyzacja, kodowanie
Wiesz, przetwarzanie dźwięku w analogowo-cyfrowy sposób jest dość ciekawe. To cała procedura, która składa się z trzech głównych kroków: próbkujemy, kwantyzujemy i kodujemy. Próbkowanie to jakby robienie zdjęć sygnału analogowego w regularnych odstępach. Tak tworzymy zestaw wartości, które potem możemy jakoś ogarnąć. Potem przychodzi kwantyzacja, gdzie te wartości zamieniamy na konkretne poziomy – to trochę jak zaokrąglanie do najbliższej liczby. I na końcu kodowanie, które zamienia to wszystko na format cyfrowy, co sprawia, że możemy to zapisać i przetwarzać na różnych urządzeniach. Zwykle używamy standardów, jak PCM, które gwarantują dobrą jakość dźwięku, bo dobrze ustawione próbki i kwantyzacja to klucz do sukcesu. Na przykład, kiedy przerabiasz dźwięk z winyla na MP3, każdy etap jest super ważny, żeby zachować tę fajną jakość dźwięku.

Pytanie 11

Po zrealizowaniu polecenia użytkownik Jacek będzie miał możliwość

GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';
A. modyfikować strukturę tabeli oraz dodawać nowe dane
B. usuwać tabelę i zakładać nową
C. przeglądać dane w tabeli i wstawiać nowe dane
D. usuwać rekordy z tabeli i przeglądać informacje
Polecenie GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost'; przyznaje użytkownikowi Jacek uprawnienia do przeglądania danych (SELECT) oraz wstawiania nowych danych (INSERT) do tabeli mojaTabela w bazie danych baza1. To oznacza, że Jacek nie ma możliwości usuwania tabeli ani zmiany jej struktury, co jest zarezerwowane dla uprawnień takich jak ALTER czy DROP. Zastosowanie tych uprawnień jest kluczowe w kontekście bezpieczeństwa i zarządzania danymi, ponieważ pozwala na kontrolowanie, kto może wykonywać określone operacje w bazie danych. Przykładem praktycznego zastosowania może być sytuacja, w której zespół programistów musi umożliwić pracownikom działu sprzedaży dostęp do danych klientów w tabeli, ale jednocześnie chce zapobiec przypadkowemu usunięciu lub modyfikacji struktury tabeli. W ten sposób, przyznając tylko uprawnienia SELECT i INSERT, administracja bazy danych może zapewnić odpowiedni poziom kontroli nad danymi, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi i zabezpieczeń.

Pytanie 12

W języku C do przedstawiania liczb zmiennoprzecinkowych używa się typu

A. bool
B. double
C. char
D. int
Typ `double` w języku C jest przeznaczony do reprezentacji liczb zmiennoprzecinkowych, co oznacza, że może on przechowywać zarówno liczby całkowite, jak i liczby z częścią dziesiętną. Jest on bardziej precyzyjny niż typ `float`, ponieważ zapewnia większy zakres wartości oraz dokładność, co jest kluczowe w zastosowaniach inżynieryjnych, naukowych oraz w obliczeniach finansowych. Przykładowo, w obliczeniach, które wymagają reprezentacji wartości takich jak 3.14159 (pi) lub 0.1, typ `double` pozwala na uniknięcie wielu problemów związanych z zaokrągleniami i precyzją. Standard C99 definiuje rozmiar dla typu `double` jako przynajmniej 64 bity, co oznacza, że może on przechowywać liczby o bardzo dużych lub bardzo małych wartościach, co jest istotne w kontekście obliczeń numerycznych. W praktyce programiści często używają `double` do obliczeń naukowych, a także w grafice komputerowej, gdzie precyzyjne ustalenie położenia punktów w przestrzeni jest niezbędne.

Pytanie 13

Jakie słowo kluczowe w językach z grupy C powinno być wykorzystane do nadania alternatywnej nazwy już istniejącemu typowi danych?

A. enum
B. typedef
C. union
D. switch
Słowo kluczowe 'typedef' w języku C służy do tworzenia aliasów dla istniejących typów danych, co znacząco zwiększa czytelność kodu. Daje możliwość nadania bardziej znaczącej i zrozumiałej nazwy dla złożonych typów, takich jak struktury czy wskaźniki. Przykładowo, zamiast używać trudnych do zrozumienia definicji, możemy zdefiniować typ 'typedef struct { int x; int y; } Point;' i używać 'Point' w kodzie, co zwiększa jego przejrzystość. Dobre praktyki w programowaniu C zalecają stosowanie typedef w celu uproszczenia kodu oraz ułatwienia jego konserwacji. Dodatkowo, typedef wspomaga przenośność kodu, ponieważ zmiana definicji typu w jednym miejscu nie ma wpływu na cały projekt, jeśli używamy aliasów. W kontekście programowania systemowego oraz aplikacji wymagających wysokiej wydajności, umiejętność efektywnego użycia typedef jest kluczowa dla tworzenia zrozumiałych i wydajnych programów.

Pytanie 14

W HTML umieszczono formularz. Jakie skutki działania tego kodu zostaną pokazane przez przeglądarkę, jeśli użytkownik w drugim polu wprowadzi wartość "ala ma kota"?

Ilustracja do pytania
A. Efekt 1
B. Efekt 2
C. Efekt 4
D. Efekt 3
Efekt 2 jest prawidłowy, ponieważ kod HTML używa elementu select do stworzenia listy rozwijanej z trzema opcjami: Kraków, Poznań i Szczecin. Użytkownik może wybrać jedną z tych opcji, co jest standardowym zastosowaniem elementu select w formularzach HTML. Drugim elementem jest pole input typu password które maskuje wpisywany tekst. W formularzach HTML pole typu password jest używane do ukrywania wprowadzanego tekstu co jest szczególnie ważne przy wprowadzaniu danych wrażliwych takich jak hasła. Gdy użytkownik wpisuje hasło widoczne są tylko znaki maskujące często kropki lub gwiazdki co zapewnia prywatność danych. Stosowanie takich elementów jest zgodne z dobrymi praktykami projektowania interfejsów użytkownika w sieci co zwiększa bezpieczeństwo i wygodę użytkowania formularzy. Właściwe korzystanie z elementów HTML jak select i input type=password jest kluczowe w tworzeniu efektywnych i bezpiecznych stron internetowych co jest szczególnie istotne w kontekście e-commerce i aplikacji bankowych.

Pytanie 15

Rodzaj programowania, w którym zestaw poleceń (sekwencja instrukcji) przekazywanych komputerowi postrzega się jako program, określa się mianem programowania

A. imperatywnego
B. stanowego
C. funkcyjnego
D. logicznego
Programowanie imperatywne to paradygmat, w którym programista definiuje sekwencję instrukcji, które komputer ma wykonać, aby osiągnąć określony cel. Jest to najpopularniejszy i najczęściej stosowany sposób programowania, który koncentruje się na tym, jak osiągnąć pożądany rezultat, a nie tylko na tym, co ma być osiągnięte. W programowaniu imperatywnym zazwyczaj używa się zmiennych, struktur kontrolnych takich jak pętle i instrukcje warunkowe, co pozwala na kontrolę przepływu wykonania programu. Przykłady języków programowania, które implementują ten paradygmat, to C, C++, Java oraz Python. Zastosowanie programowania imperatywnego w praktyce jest szerokie: od tworzenia aplikacji desktopowych, przez gry, aż po systemy operacyjne. Standardy takie jak ISO C określają wytyczne dla programowania w języku C, co dodatkowo podkreśla znaczenie tego paradygmatu w branży programistycznej. Zrozumienie programowania imperatywnego stanowi fundament dla dalszej nauki bardziej zaawansowanych technik i paradygmatów programowania.

Pytanie 16

Zastosowanie klauzuli PRIMARY KEY w poleceniu CREATE TABLE sprawi, że dane pole stanie się

A. kluczem podstawowym
B. kluczem obcym
C. indeksem klucza
D. indeksem unikalnym
Klauzula PRIMARY KEY w instrukcji CREATE TABLE definiuje unikalny identyfikator dla każdej rekord w tabeli, co oznacza, że pole oznaczone jako klucz podstawowy musi mieć unikalne wartości i nie może zawierać wartości NULL. Klucz podstawowy jest fundamentalnym elementem w relacyjnych bazach danych, ponieważ umożliwia tworzenie relacji między tabelami oraz zapewnia integralność danych. Na przykład, jeśli mamy tabelę 'Użytkownicy' z kolumną 'ID', która jest kluczem podstawowym, to każda wartość w tej kolumnie będzie unikalna, co pozwala na jednoznaczne identyfikowanie użytkowników. Zgodnie z normami SQL, klucz podstawowy może składać się z jednej lub wielu kolumn, a w przypadku złożonego klucza podstawowego, wszystkie kolumny muszą spełniać warunki unikalności oraz nie mogą mieć wartości NULL. W praktyce, użycie klucza podstawowego jest kluczowe dla organizacji danych i optymalizacji zapytań, ponieważ bazy danych mogą tworzyć indeksy na tych polach, co przyspiesza operacje wyszukiwania i sortowania.

Pytanie 17

Które z poniższych wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w przedziale (6, 203>?

A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) || (zm1 <= 203)
C. (zm1 > 6) && (zm1 <= 203)
D. (zm1 > 6) && (zm1 != 203)
Odpowiedź (zm1 > 6) && (zm1 <= 203) jest poprawna, ponieważ w pełni odzwierciedla definicję przedziału otwartego dla dolnej granicy (6) i domkniętej dla górnej granicy (203). Operator && (AND) zapewnia, że oba warunki muszą być spełnione jednocześnie: zmienna zm1 musi być większa niż 6 oraz jednocześnie musi być mniejsza lub równa 203. Taki zapis jest zgodny z powszechnie przyjętymi praktykami programowania, gdzie jasne określenie warunków dla zakresu wartości jest kluczowe do unikania błędów logicznych. Przykładem zastosowania tej logiki może być weryfikacja danych wejściowych w formularzu, gdzie akceptowane są jedynie wartości mieszczące się w określonym przedziale. Użycie odpowiednich operatorów logicznych, takich jak && i ||, jest niezbędne do precyzyjnego definiowania warunków w aplikacjach, co prowadzi do bardziej niezawodnych i czytelnych kodów. Zrozumienie tych koncepcji jest fundamentalne dla każdego programisty, który dąży do tworzenia efektywnych i bezbłędnych aplikacji.

Pytanie 18

W formularzu wartość z pola input o typie number została przypisana do zmiennej a, a następnie przetworzona w skrypcie JavaScript w sposób poniższy

var x = parseInt(a);

Jakiego typu jest zmienna x?

A. napisowego.
B. zmiennoprzecinkowego.
C. liczbowe, całkowite.
D. NaN
Odpowiedź "liczbowego, całkowitego" jest poprawna, ponieważ funkcja <span>parseInt()</span> w JavaScript konwertuje argument na liczbę całkowitą. Kiedy zmienna <span>a</span> zawiera wartość z pola <span>input</span> o typie <span>number</span>, to ta wartość jest już reprezentacją liczby, co oznacza, że <span>parseInt()</span> przyjmuje ją jako argument i zwraca wartość liczbową całkowitą. Przykładowo, jeżeli użytkownik wprowadzi 42, to <span>parseInt(42)</span> zwróci 42 jako liczbę całkowitą. Dobrą praktyką jest używanie <span>parseInt()</span> z drugim argumentem, który określa system liczbowy (np. <span>parseInt(a, 10)</span>), co zapobiega niejednoznaczności w interpretacji liczby. Warto również pamiętać, że w przypadku, gdy wartość wprowadzona do <span>a</span> nie jest liczbą całkowitą, <span>parseInt()</span> nadal zwróci liczbę całkowitą, obcinając część dziesiętną (np. <span>parseInt(4.9)</span> zwróci 4). Dlatego w kontekście powyższego pytania, zmienna <span>x</span> przyjmuje typ liczbowy, całkowity.

Pytanie 19

Jakie polecenie HTML powinno być zastosowane, aby sformatować akapit tekstu?

Tekst może być zaznaczony albo istotny dla autora
A. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
B. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
C. <p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
D. <p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
Odpowiedź druga jest prawidłowa, ponieważ stosuje poprawną składnię HTML do oznaczenia fragmentów tekstu z różnym formatowaniem. Element <p> służy do definiowania paragrafu, w którym tekst jest umieszczony. Element <mark> używany jest do oznaczania tekstu, który powinien być zwrócony uwagę czytelnika, poprzez podkreślenie go kolorem tła. Z kolei <em> jest przeznaczony do oznaczenia tekstu, który ma zostać wyróżniony jako istotny, zazwyczaj poprzez użycie kursywy. Użycie tych elementów w połączeniu z zamykającymi tagami, jak w odpowiedzi drugiej, jest zgodne z zaleceniami standardów HTML5, które kładą nacisk na semantyczne znaczenie znaczników. To podejście wspiera dostępność oraz SEO, ponieważ pomaga czytnikom ekranowym i wyszukiwarkom lepiej zrozumieć strukturę i znaczenie treści. Praktyczne zastosowanie tych znaczników można zobaczyć na stronach internetowych, gdzie kluczowe informacje muszą być odpowiednio wyróżnione, aby poprawić doświadczenie użytkownika i przekazać istotne dane w czytelny sposób.

Pytanie 20

O obiekcie zdefiniowanym w języku JavaScript można stwierdzić, że zawiera

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: functon() { … }
}
A. dwie metody oraz jedną właściwość
B. dwie właściwości oraz jedną metodę
C. trzy metody
D. trzy właściwości
Odpowiedź, że obiekt w JavaScript ma dwie właściwości i jedną metodę, jest poprawna. Przykład obiektu `obiekt1` zawiera dwie właściwości: `x` i `y`, które są liczbowymi wartościami. Dodatkowo, metoda `wsp` jest poprawnie zdefiniowana jako funkcja, co czyni ją metodą obiektu. W praktyce obiekty w JavaScript służą do grupowania danych i funkcji, co jest przydatne w programowaniu obiektowym. Wprowadzenie do obiektów i ich właściwości oraz metod jest kluczowym elementem zrozumienia, jak JavaScript operuje na danych. Standardowe praktyki zalecają, aby metody były używane do definiowania zachowań obiektów, co jest zgodne z zasadami programowania zorientowanego obiektowo, gdzie obiekt jest zbiorem właściwości i metod, które operują na tych właściwościach. W kontekście dbałości o czystość kodu, warto zwrócić uwagę na stosowanie dobrej nazewnictwa dla metod i właściwości, co zwiększa czytelność i zrozumienie kodu. Przykładowo, jeśli `wsp` miała by reprezentować funkcję obliczającą współrzędne, dobrze by było, aby jej nazwa była bardziej opisowa, na przykład `obliczWspolrzedne`.

Pytanie 21

Który fragment definicji dwukolumnowej tabeli odpowiada efektowi scalenia komórki 1 i 3, przedstawionemu na ilustracji?

Ilustracja do pytania
A. <td rowspan="2">komórka1+3</td>
B. <td colspan="3">komórka1+3</td>
C. <td colspan="2">komórka1+3</td>
D. <td rowspan="3">komórka1+3</td>
Poprawnie wskazałeś fragment z atrybutem rowspan, czyli: <td rowspan="2">komórka1+3</td>. W HTML atrybut rowspan służy do scalania komórek tabeli w pionie, czyli wzdłuż wierszy. W tym przykładzie tabela ma dwie kolumny, a komórka „komórka1+3” zajmuje miejsce pierwszej komórki w pierwszym wierszu oraz pierwszej komórki w drugim wierszu. Dlatego właśnie wartość rowspan musi być równa 2 – ta jedna komórka rozciąga się na dwa wiersze. Gdy przeglądarka widzi taki zapis, rezerwuje dla tej komórki obszar dwóch komórek pod sobą, a w kodzie HTML w kolejnym wierszu pomijamy już odpowiednią liczbę komórek w tej kolumnie. Z mojego doświadczenia wynika, że przy projektowaniu tabel dobrze jest sobie najpierw „narysować” układ na kartce: ile wierszy, ile kolumn, które komórki się łączą. Potem łatwo dobrać czy potrzebujemy colspan (łączenie w poziomie – kolumny), czy rowspan (łączenie w pionie – wiersze). W specyfikacji HTML Living Standard dokładnie tak to jest opisane: rowspan określa, na ile wierszy rozciąga się dana komórka. W praktyce scalanie komórek przydaje się np. przy tworzeniu nagłówków tabel z opisami grup kolumn, przy harmonogramach, planach lekcji, cennikach, gdzie jedna pozycja obowiązuje przez kilka wierszy. Warto też pamiętać o semantyce: tam gdzie to możliwe, dla nagłówków stosujemy <th> z rowspan lub colspan, a dla zwykłych danych <td>. Taki porządek w kodzie ułatwia późniejsze stylowanie CSS i poprawia dostępność, bo czytniki ekranu lepiej rozumieją strukturę tabeli.

Pytanie 22

W języku JavaScript funkcja document.getElementById(id) służy do

A. pobierania danych z pola formularza i przypisania ich do zmiennej id
B. umieszczenia tekstu 'id' na stronie WWW
C. sprawdzania poprawności formularza z identyfikatorem id
D. uzyskania odniesienia do pierwszego elementu HTML o wskazanym id
Metoda document.getElementById(id) jest kluczowym elementem API DOM (Document Object Model) w JavaScript, służącym do manipulacji elementami HTML na stronie internetowej. Jej głównym zadaniem jest zwrócenie odniesienia do pierwszego elementu, który ma określony identyfikator (id). Identyfikatory w HTML muszą być unikalne w obrębie dokumentu, co pozwala na efektywne i bezbłędne znajdowanie konkretnego elementu. Na przykład, jeśli mamy element o id 'header', możemy go uzyskać za pomocą document.getElementById('header'). To odniesienie pozwala nam na dalsze manipulacje tym elementem, takie jak zmiana jego zawartości, stylów CSS czy atrybutów. Przykładowe zastosowanie polega na tym, iż możemy zmienić tekst nagłówka na 'Witaj w moim serwisie' poprzez: document.getElementById('header').innerText = 'Witaj w moim serwisie'. Tego typu operacje są fundamentem interaktywnych aplikacji webowych i są zgodne z dobrymi praktykami w zakresie programowania JavaScript, które promują jasny i zrozumiały dostęp do struktury dokumentu.

Pytanie 23

Deklaracja typu dokumentu HTML: <!DOCTYPE HTML> wskazuje, że kod został stworzony w wersji

A. 5
B. 7
C. 4
D. 6
Gdy widzisz deklarację <!DOCTYPE HTML>, to znaczy, że mówimy o wersji HTML5. To obecny standard, który wprowadza naprawdę sporo nowych funkcji w porównaniu do wcześniejszych wersji. Na przykład, HTML5 pozwala na osadzanie audio i wideo bez potrzeby dodatkowych wtyczek, co jest super wygodne. Mamy też fajne semantyczne elementy jak <article>, <section> czy <nav>, które sprawiają, że łatwiej zorganizować treści na stronie. Ważne jest, żeby zawsze na początku dokumentu umieszczać tę deklarację, bo to pozwala przeglądarkom na prawidłowe wyświetlanie strony. Dzięki temu unikamy problemów z interpretacją kodu, co z doświadczenia mówię, jest naprawdę istotne.

Pytanie 24

Mamy tabelę firm, która zawiera takie kolumny jak: nazwa, adres, NIP, obrot (obrót w ostatnim miesiącu), rozliczenie, status. Wykonanie zapytania SQL SELECT spowoduje wyświetlenie

SELECT nazwa, NIP FROM firmy WHERE obrot < 4000;
A. wszystkie dane o firmach, które w ostatnim miesiącu miały obrót na poziomie co najmniej 4000 zł
B. wszystkie informacje o firmach, które w minionym miesiącu osiągnęły obrót poniżej 4000 zł
C. tylko nazwę i numer NIP przedsiębiorstw, które w poprzednim miesiącu miały obrót wynoszący przynajmniej 4000 zł
D. tylko nazwę i numer NIP przedsiębiorstw, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł
Prawidłowa odpowiedź odwołuje się do kwerendy SQL SELECT która wybiera jedynie kolumny nazwa oraz NIP z tabeli firmy pod warunkiem że kolumna obrot jest mniejsza niż 4000 Kwerenda ta jest przykład zastosowania filtracji danych w celu wyodrębnienia specyficznych informacji z bazy danych co jest kluczowe w analizie biznesowej Dzięki tej operacji można uzyskać listę firm które w ostatnim miesiącu osiągnęły niski obrót co może być istotne dla działów finansowych i marketingowych w celu identyfikacji klientów wymagających dodatkowego wsparcia Tego rodzaju selektywne przetwarzanie danych jest częścią codziennej pracy analityków danych oraz specjalistów od zarządzania relacjami z klientami W praktyce w infrastrukturze bazodanowej tego typu zapytania mogą być stosowane do generowania raportów okresowych lub alertów biznesowych Przy projektowaniu kwerend SQL ważne jest aby precyzyjnie określać które kolumny i wiersze danych są interesujące co nie tylko zwiększa efektywność zapytań ale także pozwala na lepsze zarządzanie zasobami serwera Dobra praktyka polega na optymalizacji zapytań w celu minimalizacji czasów odpowiedzi oraz obciążenia systemów bazodanowych co jest kluczowe dla utrzymania wydajności i niezawodności w dużych systemach informatycznych

Pytanie 25

Jak można zweryfikować spójność danych w bazie MySQL?

A. CHECK TABLE
B. mysql
C. REPAIR TABLE
D. mysqldump
Wybór polecenia mysql jako odpowiedzi na pytanie o sprawdzanie spójności danych w bazie MySQL jest niewłaściwy, ponieważ mysql to polecenie do interakcji z bazą danych poprzez konsolę, a nie narzędzie do diagnozowania stanu tabel. Umożliwia ono jedynie uruchamianie zapytań i zarządzanie bazą danych, ale nie oferuje mechanizmów do analizy integralności danych. Mysqldump również nie jest właściwym wyborem, ponieważ jego głównym celem jest tworzenie kopii zapasowych danych, a nie ich diagnostyka. Choć mysqldump może pomóc w zabezpieczeniu danych przed utratą, nie dostarcza informacji na temat ich spójności. REPAIR TABLE, choć związane z naprawą uszkodzonej tabeli, nie służy do weryfikacji stanu danych. Może być zastosowane dopiero po wykryciu problemu, a nie jako narzędzie proaktywne do monitorowania integralności. Typowe błędy w myśleniu mogą wynikać z nieznajomości funkcji i możliwości poszczególnych poleceń w MySQL. Właściwe podejście do zarządzania bazą danych wymaga zrozumienia, że różne narzędzia mają różne zastosowania i nie każde polecenie jest odpowiednie do każdej sytuacji. Dlatego kluczowe jest przyswojenie sobie funkcji oferowanych przez bazę danych, co pozwala na efektywne i prawidłowe zarządzanie danymi.

Pytanie 26

Jakie pojęcia są wykorzystywane do opisu interfejsu użytkownika serwisu internetowego?

A. Przyciski, menu, interakcja użytkownika z aplikacją
B. Szkic strony, mapa witryny, diagram przepływu informacji
C. Wysyłanie zapytań do bazy, skrypty PHP
D. Przetwarzanie danych, system zarządzania treścią, projektowanie informacji
Odpowiedź "Przyciski, menu, interakcja użytkownika z aplikacją" jest prawidłowa, ponieważ odnosi się bezpośrednio do kluczowych elementów interfejsu użytkownika (UI) na stronach internetowych. Interfejs użytkownika to zespół wszystkich punktów kontaktowych między użytkownikiem a systemem, a przyciski i menu są podstawowymi składnikami, które umożliwiają interakcję z aplikacją. Dobre praktyki projektowania UI opierają się na zapewnieniu intuicyjności i dostępności tych elementów, co jest podstawą pozytywnego doświadczenia użytkownika (UX). Na przykład, przyciski powinny być jasno oznaczone i łatwo rozpoznawalne, a menu powinno być zorganizowane w sposób logiczny, aby użytkownicy mogli szybko znaleźć potrzebne informacje. W kontekście standardów, warto zwrócić uwagę na wytyczne WCAG, które dotyczą dostępności treści internetowych, oraz zasady heurystyki Jakobsona, które pomagają w ocenie interfejsu użytkownika. Dobry design UI powinien również uwzględniać responsywność, co oznacza, że interfejs powinien być użyteczny na różnych urządzeniach i rozmiarach ekranów.

Pytanie 27

Jaki wynik przyjmie zmienna a po zakończeniu pętli w podanym fragmencie kodu PHP?

$i = 10; $a = 0;
while ($i)
{
    $a = $a + 2;
    $i--;
}
A. 10
B. 20
C. 2
D. 0
W podanym fragmencie kodu PHP zmienna a przyjmuje wartość 20 po zakończeniu pętli. Dzieje się tak, ponieważ pętla while wykonuje się, dopóki zmienna i jest różna od zera. Na początku i jest równe 10, a podczas każdej iteracji pętli zmienna a jest zwiększana o 2, a zmienna i jest dekrementowana o 1. W efekcie pętla wykonuje się dokładnie 10 razy, a w każdej iteracji wartość zmiennej a zwiększa się o 2. W rezultacie po 10 iteracjach zmienna a osiąga wartość 20. Takie podejście do pętli while jest często stosowane w programowaniu, gdy chcemy wykonać określoną liczbę iteracji, dopóki warunek logiczny jest spełniony. Jest to przykład dobrej praktyki, gdy kod jest czytelny i łatwy do zrozumienia. W praktyce programowania PHP pętle tego typu są używane do różnych operacji, takich jak przetwarzanie danych, iterowanie po elementach tablic, czy wykonywanie złożonych obliczeń, co ilustruje zrozumiałe i efektywne zastosowanie tej konstrukcji w PHP.

Pytanie 28

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

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

Pytanie 29

Który program komputerowy zamienia kod źródłowy, stworzony w danym języku programowania, na język zrozumiały dla komputera?

A. Debugger
B. Kompilator
C. Edytor kodu źródłowego
D. Środowisko programistyczne
Kompilator to program komputerowy, który przekształca kod źródłowy, napisany w konkretnym języku programowania, na język maszynowy, czyli zrozumiały dla procesora komputera. Proces ten polega na analizie kodu źródłowego, optymalizacji go oraz generowaniu odpowiedniego kodu maszynowego, który może być bezpośrednio wykonany przez komputer. Kompilatory są kluczowymi narzędziami w tworzeniu oprogramowania, ponieważ umożliwiają programistom pisanie kodu w bardziej zrozumiałych i wysokopoziomowych językach, takich jak C++, Java czy Python, które zostają następnie przekształcone w wydajny kod maszynowy. Przykłady popularnych kompilatorów to GCC dla języka C/C++, javac dla Javy oraz Clang, który jest nowoczesnym kompilatorem dla C, C++ i Objective-C. Warto również wspomnieć o standardach, takich jak ANSI C, które definiują zasady pisania kodu w języku C, a kompilatory implementują te zasady, aby zapewnić zgodność i przenośność kodu między różnymi systemami operacyjnymi i platformami sprzętowymi. Kompilatory mogą również oferować dodatkowe funkcje, takie jak analiza statyczna kodu czy generowanie dokumentacji, co czyni je nieocenionym narzędziem w każdym nowoczesnym środowisku programistycznym.

Pytanie 30

Jakim poleceniem SQL można zlikwidować z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?

A. DELETE FROM artykuly WHERE tresc = "%sto%"
B. DELETE * FROM artykuly WHERE tresc LIKE "%sto%"
C. DELETE FROM artykuly WHERE tresc LIKE "%sto%"
D. DELETE * FROM artykuly WHERE tresc = "%sto%"
Odpowiedź "DELETE FROM artykuly WHERE tresc LIKE '%sto%';" jest okej, bo używasz operatora LIKE. To pozwala na szukanie wzorców w tekście. W SQL to polecenie usunie wszystkie wiersze z tabeli 'artykuly', które mają słowo 'sto' w polu 'tresc', niezależnie od tego, gdzie się ono znajduje. Te znaki procentu (%) przed i po 'sto' to takie wildcardy, które mogą oznaczać dowolny tekst przed lub po. To zgodne z dobrymi praktykami programowania w SQL, gdzie można używać LIKE, gdy nie mamy ściśle określonego formatu. Na przykład, takie zapytanie może się przydać, żeby usunąć artykuły z niepożądanym zwrotem, co ma znaczenie przy moderowaniu treści na stronach internetowych.

Pytanie 31

W stylach CSS, aby ustalić styl linii obramowania jako linię kreskową, należy zastosować wartość

A. groove
B. dashed
C. dotted
D. solid
W stylach CSS, właściwość 'border-style' pozwala na określenie stylu obramowania elementu. Aby ustawić obramowanie jako linię kreskową, stosuje się wartość 'dashed'. Linia kreskowa jest jedną z opcji, które pozwalają na wizualne odróżnienie elementów na stronie internetowej. Wartość 'dashed' generuje obramowanie składające się z przerywanych linii, co czyni go idealnym do wyróżniania elementów, które wymagają uwagi lub są w pewien sposób odrębne. Przykład zastosowania: 'border: 2px dashed black;' tworzy obramowanie o grubości 2 pikseli, w kolorze czarnym, składające się z przerywanej linii. Wartości 'solid', 'dotted', oraz 'groove' oferują inne style obramowania, ale nie generują efektu linii kreskowej. 'Solid' tworzy jednolitą linię, 'dotted' składa się z kropek, a 'groove' daje efekt trójwymiarowego wgłębienia. Standardy CSS, w tym CSS3, precyzują te style, umożliwiając projektantom elastyczność w dostosowywaniu wyglądu stron internetowych, co jest kluczowe dla UX i UI designu.

Pytanie 32

Przedstawiony w ramce fragment kwerendy SQL ma za zadanie wybrać

SELECT COUNT(wartosc) FROM ...
A. sumę w kolumnie wartosc.
B. liczbę wierszy.
C. liczbę kolumn.
D. średnią w kolumnie wartosc.
Poprawnie: wyrażenie SELECT COUNT(wartosc) ma za zadanie zwrócić liczbę wierszy, w których kolumna wartosc nie jest pusta (czyli nie ma wartości NULL). Funkcja agregująca COUNT() w SQL właśnie do tego służy – zlicza rekordy. W wersji COUNT(nazwa_kolumny) zliczane są tylko te wiersze, gdzie w tej kolumnie znajduje się jakaś konkretna wartość. To jest ważne rozróżnienie: COUNT(*) liczy wszystkie wiersze w tabeli lub wyniku kwerendy, natomiast COUNT(wartosc) pomija rekordy z NULL w tej kolumnie. Moim zdaniem to jedna z podstawowych rzeczy, które trzeba mieć „w ręku”, pracując z bazami danych. W praktyce używa się tego np. do sprawdzenia, ilu klientów podało numer telefonu, ilu pracowników ma przypisaną premię, ile zamówień ma ustawioną datę realizacji itd. Zamiast ręcznie przeglądać dane, odpalasz prostą kwerendę: SELECT COUNT(telefon) FROM klienci; i od razu wiesz, ile jest uzupełnionych pól. Dobre praktyki mówią też, żeby świadomie wybierać pomiędzy COUNT(*) a COUNT(kolumna), bo dają one różne wyniki przy brakach danych. W raportowaniu biznesowym to ma ogromne znaczenie, bo łatwo wyciągnąć złe wnioski, jeśli ktoś nie rozumie, co dokładnie liczy dana funkcja. W projektach komercyjnych COUNT() jest jedną z najczęściej używanych funkcji agregujących obok SUM(), AVG(), MIN() i MAX(), więc warto od razu nauczyć się jej poprawnej interpretacji i stosowania w połączeniu z klauzulą WHERE oraz GROUP BY, żeby liczyć wiersze spełniające konkretne warunki, np. ilu użytkowników aktywowało konto w danym miesiącu.

Pytanie 33

Skrypt w JavaScript, który obsługuje wynagrodzenia pracowników, powinien stworzyć raport dla tych, którzy są zatrudnieni na umowę o pracę oraz otrzymują wynagrodzenie w przedziale domkniętym od 4000 do
4500 zł. Jaki warunek należy zastosować do wygenerowania raportu?

A. umowa == 'praca' && (pensja >= 4000 || pensja <= 4500)
B. umowa == 'praca' || (pensja >= 4000 && pensja <= 4500)
C. umowa == 'praca' || (pensja >= 4000 || pensja <= 4500)
D. umowa == 'praca' && (pensja >= 4000 && pensja <= 4500)
Analizując inne odpowiedzi, można zauważyć kilka kluczowych błędów w koncepcjach wykorzystanych w tych formułach. W pierwszej odpowiedzi występuje nieprawidłowe użycie operatora logicznego '||', który w tym kontekście nie jest odpowiedni. Wykorzystanie '||' oznacza, że pensja może być mniejsza lub równa 4000 zł, co prowadzi do sytuacji, w której zostaną uwzględnieni pracownicy, którzy nie spełniają wymogu minimalnej pensji, co jest sprzeczne z założeniem raportu. W drugiej odpowiedzi zastosowanie operatora '||' również powoduje, że warunek dotyczący umowy jest nieistotny, co sprawia, że program może generować raporty dla osób zatrudnionych na innych rodzajach umów. Trzecia odpowiedź wydaje się być bliska, jednak użycie '&&' w odniesieniu do pensji nie jest wystarczające, ponieważ nie definiuje warunku zatrudnienia. Właściwa logika programistyczna wymaga precyzyjnego określenia zarówno rodzaju umowy, jak i zakresu płacy. W praktyce, niepoprawne zrozumienie operatorów logicznych oraz ich zastosowania w warunkach może prowadzić do poważnych błędów w kodzie, co w konsekwencji wpływa na jakość danych raportowych. Warto pamiętać, że przy tworzeniu warunków w oprogramowaniu, kluczowe jest stosowanie odpowiednich operatorów, aby uniknąć błędów w logice oraz zapewnić poprawność wyników.

Pytanie 34

Emblemat systemu CMS o nazwie Joomla! to

Ilustracja do pytania
A. B.
B. D.
C. C.
D. A.
Logo systemu CMS Joomla! różni się od logotypów innych znanych systemów jak Drupal czy WordPress, co jest dość oczywiste. Zrozumienie ich to klucz do ogarnięcia tych platform, bo każda z nich ma swoje zastosowania i funkcje. Drupala przedstawia niebieska kropla, a to narzędzie jest naprawdę potężne do budowy złożonych systemów webowych, ale potrzeba sporej wiedzy programistycznej, więc początkujący mogą mieć z nim trudności. Z kolei WordPress z literą W w czarnym kółku to najpopularniejszy CMS, zwłaszcza wśród blogerów i małych firm, bo jest łatwy w obsłudze. Ale ten logo z pomarańczową gwiazdką nie jest związane z żadnym z tych CMS-ów, więc można się w tym pogubić. Trzeba zrozumieć różnice i jak się te systemy wizualnie identyfikuje, żeby mądrze wybierać platformy do swoich projektów. Kluczowe jest nie tylko widzieć logotypy, ale jeszcze ogarnąć, co każdy z tych systemów potrafi, żeby skutecznie je wykorzystać w pracy.

Pytanie 35

Grafika, która ma być umieszczona na stronie, powinna mieć przezroczyste tło. Jakim formatem graficznym powinien być zapisany taki plik?

A. JPEG
B. PNG
C. CDR
D. BMP
Wybór formatu graficznego może istotnie wpływać na jakość oraz funkcjonalność obrazów w różnych zastosowaniach. CDR, czyli format plików CorelDRAW, jest używany głównie w projektowaniu wektorowym i nie jest powszechnie stosowany w kontekście wyświetlania obrazów w internecie. Pliki CDR mogą zawierać różnorodne elementy graficzne, ale nie są optymalizowane pod kątem przezroczystości tła w kontekście sieci. Z kolei BMP to format bitmapowy, który charakteryzuje się dużymi rozmiarami plików oraz brakiem kompresji, co sprawia, że nie jest efektywny w zastosowaniach internetowych, gdzie szybkość ładowania i optymalizacja są kluczowe. Format JPEG, mimo że jest powszechnie stosowany do fotografii ze względu na efektywną kompresję, nie obsługuje przezroczystości i wprowadza niepożądane artefakty, co czyni go niewłaściwym wyborem dla obrazów z transparentnym tłem. Wybierając format graficzny, warto kierować się nie tylko estetyką, ale również technicznymi wymaganiami, jakie stawia konkretne zastosowanie. Zrozumienie różnic między formatami i ich zastosowaniem jest kluczowe, aby uniknąć problemów związanych z jakością i funkcjonalnością wyświetlanych obrazów.

Pytanie 36

W języku PHP zmienna globalna $_POST, służąca do odbierania danych z formularza przesłanych metodą POST, jest: 

A. zmienną tekstową.
B. tablicą asocjacyjną.
C. obiektem klasy stdClass.
D. ciągiem znaków zakodowanym w JSON.
W PHP zmienna superglobalna $_POST nie jest ani ciągiem znaków, ani zwykłą zmienną tekstową, ani obiektem. To jedno z częstszych nieporozumień u osób, które dopiero zaczynają z programowaniem webowym. Mechanizm przesyłania danych metodą POST w HTTP faktycznie polega na wysłaniu zakodowanego ciągu danych w treści żądania, ale interpreter PHP po odebraniu takiego requestu automatycznie parsuje ten strumień i mapuje go na tablicę asocjacyjną. Programista nie pracuje już z surowym tekstem, tylko z gotową strukturą danych – z tablicą. Może się wydawać, że skoro dane „lecą” przez sieć jako tekst, to $_POST powinna być po prostu stringiem. Jednak PHP, zgodnie z filozofią ułatwiania pracy, od razu rozbija ten tekst na pary klucz–wartość na podstawie nazwy pól formularza. Dzięki temu nie trzeba ręcznie parsować treści żądania ani rozdzielać jej po znakach & i =. Dlatego koncepcja, że $_POST jest zmienną tekstową albo jednym dużym ciągiem (np. w JSON) jest myląca. JSON to osobny format serializacji danych; PHP nie koduje automatycznie $_POST do JSON, chyba że sam to zrobisz, np. json_encode($_POST). Inny błąd myślowy to traktowanie $_POST jako obiektu, bo w wielu nowoczesnych frameworkach mamy różne klasy Request, które udostępniają metody typu $request->getPost(). W czystym PHP taka abstrakcja nie jest domyślnie obecna – $_POST to zwykła tablica asocjacyjna, a nie instancja stdClass ani żadnej innej klasy. Jeżeli ktoś oczekuje zachowania obiektowego, to musi je samemu zbudować albo skorzystać z frameworka. Podsumowując, poprawne rozumienie $_POST jako tablicy asocjacyjnej jest kluczowe, bo wpływa na to, jak później bezpiecznie walidujemy, filtrujemy i przetwarzamy dane z formularzy. Założenie, że to string, JSON lub obiekt prowadzi do błędnych założeń przy implementacji logiki aplikacji i często do niepotrzebnych komplikacji w kodzie.

Pytanie 37

Jaką rozdzielczość przyjmuje standard HDTV?

A. 720x480 px
B. 704x576 px
C. 1920x1080 px
D. 1280x1024 px
Rozdzielczości 704x576 px oraz 720x480 px są standardami stosowanymi w systemie SD (Standard Definition), który oferuje znacznie niższą jakość obrazu w porównaniu do HDTV. Rozdzielczość 704x576 px, znana z systemu PAL, charakteryzuje się niskim poziomem detali, co ogranicza jakość wizualną obrazów, zwłaszcza na większych ekranach. Z kolei 720x480 px, stosowane głównie w systemie NTSC, również nie osiąga standardów jakości HDTV. Te rozdzielczości są odpowiednie dla starszych technologii telewizyjnych, ale w erze rozwoju technologii HD i 4K, ich zastosowanie staje się coraz bardziej ograniczone i nie jest zgodne z oczekiwaniami użytkowników nowoczesnych urządzeń. Dodatkowo, rozdzielczość 1280x1024 px, która jest typowa dla monitorów komputerowych o proporcjach 5:4, również nie spełnia standardów HDTV. Mimo że ta rozdzielczość zapewnia poprawną jakość obrazu na komputerach, nie jest uznawana za standard telewizyjny, przez co nie jest zgodna z obowiązującymi normami dla obrazu HD. W związku z tym, zarówno 704x576 px, 720x480 px, jak i 1280x1024 px nie są odpowiednie dla standardu HDTV.

Pytanie 38

Jaką informację przekazuje przeglądarce internetowej zapis <!DOCTYPE html> ?

A. W dokumencie wszystkie tagi są zapisane wielkimi literami
B. Dokument został zapisany w wersji HTML 4
C. Dokument został zapisany w wersji HTML 5
D. W dokumencie wymagane jest zamknięcie każdego taga, nawet samozamykającego
Odpowiedź, że dokument został zapisany w języku HTML 5, jest prawidłowa, ponieważ zapis <DOCTYPE html> jest standardowym nagłówkiem deklarującym, że dokument jest napisany w najnowszej wersji HTML, czyli HTML 5. Taki zapis informuje przeglądarkę, że ma interpretować zawartość dokumentu zgodnie z zasadami i funkcjami określonymi w HTML 5. Wprowadzenie HTML 5 przyniosło wiele ulepszeń, takich jak nowe elementy semantyczne (np. <header>, <footer>, <article>), które ułatwiają tworzenie strukturalnie poprawnych i bardziej dostępnych stron internetowych. Dodatkowo, HTML 5 wprowadza wsparcie dla multimediów (np. <video>, <audio>) oraz API, które umożliwiają bardziej interaktywne podejście do tworzenia aplikacji webowych. Warto pamiętać, że stosowanie aktualnych standardów jest kluczowe dla zapewnienia kompatybilności z nowymi przeglądarkami oraz urządzeniami mobilnymi, a także dla zwiększenia wydajności i bezpieczeństwa aplikacji webowych.

Pytanie 39

Z tabeli mieszkańcy należy uzyskać unikalne nazwy miejscowości, do czego konieczne jest użycie wyrażenia SQL z klauzulą

A. UNIQUE
B. DISTINCT
C. HAVING
D. CHECK
Wybór odpowiedzi CHECK, HAVING lub UNIQUE wskazuje na pewne nieporozumienia dotyczące zastosowania i znaczenia tych klauzul w SQL. Klauzula CHECK jest używana w kontekście definicji tabeli, aby zapewnić, że dane w danym atrybucie spełniają określone warunki, na przykład 'CHECK (wiek >= 0)', co oznacza, że wiek nie może być ujemny. Nie ma jednak zastosowania w kontekście eliminacji duplikatów z wyników zapytania. Klauzula HAVING jest z kolei używana do filtrowania grup z wyniku agregacji, na przykład w zapytaniu z użyciem GROUP BY. Użycie HAVING do eliminacji duplikatów z wyników bez wcześniejszego grupowania danych nie ma sensu. Z kolei UNIQUE to ograniczenie, które można ustawić na kolumnę w tabeli, aby zapewnić, że nie będą w niej występowały powtarzające się wartości. Chociaż jest związane z unikalnością, nie jest klauzulą, którą można wykorzystać w zapytaniach do eliminacji duplikatów z zestawów wyników. Typowym błędem jest mylenie tych koncepcji, co prowadzi do wyboru nieodpowiednich narzędzi w SQL do rozwiązania konkretnego problemu. Warto zatem dobrze zrozumieć różnice między tymi klauzulami, aby umiejętnie stosować je w praktyce i skutecznie zarządzać danymi.

Pytanie 40

Nazywa się inaczej nasycenie koloru

A. nasycenie koloru
B. jasność koloru
C. dopełnienie koloru
D. przezroczystość koloru
Zrozumienie koncepcji nasycenia koloru jest kluczowe w kontekście analizy odpowiedzi na to pytanie. Wiele osób myli saturację z innymi właściwościami kolorów, takimi jak przezroczystość, dopełnienie czy jasność. Przezroczystość koloru odnosi się do tego, jak wiele światła przechodzi przez dany kolor, a nie do jego intensywności. Kolory przezroczyste są często stosowane w warstwach grafiki komputerowej, ale nie mają one bezpośredniego związku z nasyceniem. Dopełnienie koloru dotyczy relacji między kolorami, które znajdują się naprzeciwko siebie na kole kolorów, a nie miary intensywności. Niekiedy twórcy kolorów popełniają błąd, uważając dopełnienie za nasycenie, co prowadzi do nieodpowiednich kombinacji i kompozycji w projektach. Jasność koloru, z kolei, odnosi się do jego jasności lub ciemności, co również nie jest równoznaczne z nasyceniem. Osoby zajmujące się projektowaniem powinny być świadome, że jasne kolory mogą być nasycone lub stonowane, w zależności od ich czystości. Ogólnie rzecz biorąc, mylenie tych terminów może prowadzić do frustracji w pracy kreatywnej i negatywnie wpływać na jakość końcowego produktu. Zrozumienie różnicy między tymi właściwościami jest kluczowe, aby uniknąć takich pułapek i osiągnąć zharmonizowane i profesjonalne rezultaty w projektach graficznych.