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 20:43
  • Data zakończenia: 8 czerwca 2026 21:03

Egzamin zdany!

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

Kompresja bezstratna pliku graficznego zapewnia:

A. wyższą jakość niż oryginał
B. zachowanie pierwotnej jakości grafiki
C. plik większy niż oryginał
D. mniejszą liczbę warstw
Kompresja bezstratna zmniejsza rozmiar pliku, ale w taki sposób, że po dekompresji odzyskuje się dane identyczne z oryginałem - jakość obrazu nie spada. Działa, eliminując nadmiarowość danych (np. powtarzające się ciągi), a nie odrzucając informacje. Stosują ją formaty takie jak PNG i GIF; przeciwieństwem jest kompresja stratna (JPEG), która dla mniejszego pliku odrzuca część szczegółów. Dlatego kompresja bezstratna zachowuje pierwotną jakość grafiki.

Pytanie 2

W języku PHP przypisano zmiennej $a wartość 1. Porównanie $a === $b zwraca true, gdy zmienna $b ma przypisaną wartość

A. *1
B. '1' lub "1"
C. 1 lub '1'
D. '1'
Zmienna $a, zainicjowana wartością 1, jest typu integer i porównując ją z inną zmienną $b za pomocą operatora identyczności (===), należy zwrócić szczególną uwagę na typ i wartość obu zmiennych. Wiele osób myli operator porównania identyczności z operatorem równości (==), który nie wymaga, aby typy były zgodne. Z tego powodu odpowiedzi takie jak 1 lub '1' mogą wydawać się poprawne, jednak w przypadku porównania identyczności, istotne jest, aby zmienne były tego samego typu. Odpowiedź, która sugeruje wartość 1, jest błędna, ponieważ porównuje wartość integer z potencjalnie innym typem bez uwzględnienia konwersji typów, co prowadzi do niejednoznaczności. Z kolei odpowiedź sugerująca wartość '1' nie do końca zdaje sobie sprawę, że chociaż string '1' jest zgodny w kontekście równości, nie spełnia warunków identyczności w dosłownym sensie, gdyż typy są różne. Typowe błędy myślowe prowadzące do takich nieprawidłowych wniosków często wynikają z założenia, że PHP automatycznie wykonuje konwersje typów, co nie zawsze jest pożądane. Dla programistów istotne jest zrozumienie różnic między typami oraz kiedy stosować odpowiednie operatory, aby zapewnić poprawność logiki aplikacji i uniknąć potencjalnych błędów, które mogą prowadzić do trudnych do zdiagnozowania problemów w przyszłości.

Pytanie 3

Zasłanianie niektórych pól lub metod obiektów danej klasy w sposób, który umożliwia dostęp wyłącznie wewnętrznym metodom tej klasy lub funkcjom zaprzyjaźnionym, to

A. konkatenacja
B. hermetyzacja
C. polimorfizm
D. dziedziczenie
Hermetyzacja, znana także jako enkapsulacja, to fundamentalna zasada programowania obiektowego, która polega na ukrywaniu wewnętrznych stanów obiektu oraz metod, które te stany modyfikują. Dzięki hermetyzacji, programista może zdefiniować publiczne interfejsy, przez które inne części kodu mogą komunikować się z danym obiektem, przy jednoczesnym zabezpieczeniu wewnętrznych implementacji przed nieautoryzowanym dostępem lub modyfikacją. Przykładem hermetyzacji może być klasa `BankAccount`, która przechowuje saldo konta jako prywatne pole. Umożliwia dostęp do salda tylko przez publiczne metody, takie jak `deposit` i `withdraw`, co zapobiega bezpośredniemu modyfikowaniu salda przez zewnętrzny kod. W standardach programowania, hermetyzacja jest kluczowym elementem zwiększającym bezpieczeństwo i stabilność aplikacji, ponieważ pozwala na modyfikacje wewnętrznej logiki bez wpływu na kod zależny od tego obiektu. Hermetyzacja jest także jednym z podstawowych filarów programowania obiektowego, obok dziedziczenia i polimorfizmu, co czyni ją niezbędną do zrozumienia bardziej złożonych koncepcji w programowaniu.

Pytanie 4

Aby podczas tworzenia tabeli zdefiniować klucz obcy na wielu kolumnach, należy użyć zapisu:

A.
CONSTRAINT fk_osoba_uczen FOREIGN KEY ON(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
B.
CONSTRAINT fk_osoba_uczen FOREIGN KEY(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
C.
CONSTRAINT (nazwisko, imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
D.
CONSTRAINT (nazwisko, imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
Złożony (wielokolumnowy) klucz obcy definiuje się wzorem CONSTRAINT nazwa FOREIGN KEY(kol1, kol2) REFERENCES tabela(kol1, kol2). Po FOREIGN KEY w nawiasie wymienia się kolumny tabeli bieżącej, a po REFERENCES - tabelę nadrzędną i odpowiadające jej kolumny. Dlatego poprawny jest zapis z nazwą ograniczenia, FOREIGN KEY(...) i REFERENCES tabela(...).

Pytanie 5

Jakie polecenie należy zastosować, aby cofnąć uprawnienia przyznane użytkownikowi?

A.
GRANT NO PRIVILEGES
B.
REVOKE
C.
DROP PRIVILEGES
D.
REMOVE
Pozostałe odpowiedzi tylko udają polecenia zarządzające uprawnieniami. REMOVE, DROP PRIVILEGES oraz GRANT NO PRIVILEGES brzmią wiarygodnie, ale w standardzie SQL takich komend nie ma - serwer odrzuciłby je jako błąd składni. Zarządzanie prawami opiera się na dwóch poleceniach: GRANT nadaje uprawnienia, a REVOKE je odbiera. Aby cofnąć przyznane wcześniej uprawnienia, właściwe jest więc REVOKE, a nie żadna z wymyślonych nazw.

Pytanie 6

Której metody JavaScript użyć, aby wyświetlić okno z POLEM do wpisania danych oraz przyciskami OK i Anuluj?

A.
confirm();
B.
message();
C.
alert();
D.
prompt();
Metoda prompt() wyświetla okno z POLEM do wpisania tekstu oraz przyciskami OK i Anuluj, a po zatwierdzeniu zwraca wpisaną wartość (lub null po anulowaniu), np. let imie = prompt("Podaj imię:");. Zapamiętaj: prompt = zapytaj użytkownika o DANE.

Pytanie 7

Na zaprezentowanym schemacie bazy danych biblioteka, elementy takie jak: czytelnik, wypożyczenie oraz książka stanowią

Ilustracja do pytania
A. atrybuty
B. krotki
C. pola
D. encje
Na tym schemacie bazy danych warto najpierw odróżnić kilka podstawowych pojęć: encja, atrybut, krotka i pole. To jest taki fundament, bez którego łatwo się pogubić. Prostokąty podpisane „czytelnik”, „wypożyczenie” i „książka” reprezentują ogólne typy obiektów, które występują w systemie. W języku modelowania danych nazywamy je encjami. Encja to nie pojedynczy rekord, tylko pewien rodzaj bytu, np. każdy konkretny czytelnik będzie instancją encji CZYTELNIK.
Częsty błąd polega na myleniu encji z atrybutami. Atrybut to pojedyncza cecha encji – na przykład imię, nazwisko, tytuł, rok wydania. Na diagramie są one wypisane wewnątrz prostokąta, pod nazwą encji. Gdyby „czytelnik” był atrybutem, to musiałby opisywać jakąś inną encję, co tu nie ma sensu. Podobnie jest z pojęciem pola: w praktyce pola kojarzymy z kolumnami w tabeli lub polami formularza. Pole to techniczna reprezentacja atrybutu w konkretnej tabeli, a nie osobny obiekt biznesowy.
Zdarza się też, że uczniowie zaznaczają odpowiedź „krotki”, bo widzą powiązanie z relacyjną bazą danych. Krotka (rekord, wiersz tabeli) oznacza jednak pojedyńczy wpis w tabeli, np. jednego konkretnego Kowalskiego jako czytelnika albo jedną konkretną książkę. Na diagramie nie widzimy pojedynczych rekordów, tylko definicję struktur, z których te rekordy będą się składać. Innymi słowy: encja to wzór, a krotka to jego konkretne wystąpienie.
Moim zdaniem najbezpieczniejsza metoda zapamiętania jest taka: na etapie projektowania koncepcyjnego mówimy o encjach i atrybutach, na etapie fizycznej bazy – o tabelach, kolumnach (polach) i rekordach (krotkach). W tym pytaniu mówimy właśnie o poziomie modelu koncepcyjnego, dlatego poprawnym pojęciem są encje, a nie atrybuty, krotki czy pola.

Pytanie 8

Do podzbioru DML (ang. Data Manipulation Language) języka SQL należą polecenia:

A. INSERT, UPDATE, DELETE
B. CREATE, DROP, ALTER
C. BEGIN, COMMIT, ROLLBACK
D. GRANT, REVOKE, DENY
Prawidłowo – INSERT, UPDATE i DELETE to klasyczne polecenia z podzbioru DML (Data Manipulation Language) w SQL. DML służy do manipulowania danymi już zapisanymi w tabelach, a nie do tworzenia struktury bazy. Można sobie to skojarzyć z pracą na rekordach: dodajemy nowe wiersze, zmieniamy istniejące, usuwamy niepotrzebne. INSERT wstawia nowe rekordy do tabeli, np. gdy zapisujesz nowego użytkownika w systemie logowania: INSERT INTO users(login, haslo) VALUES ('jan', 'tajne');. UPDATE modyfikuje dane, np. zmianę hasła albo adresu e‑mail: UPDATE users SET email='[email protected]' WHERE id=5;. DELETE usuwa rekordy, np. nieaktywne konta: DELETE FROM users WHERE active=0;. W praktyce webowej te trzy polecenia działają zwykle razem z transakcjami i warunkami WHERE, żeby nie „przestrzelić” i nie ruszyć zbyt wielu wierszy. Standard SQL (ANSI/ISO) właśnie te komendy zalicza typowo do DML, obok instrukcji SELECT, która też jest często traktowana jako część DML, ale w wielu materiałach omawia się ją osobno, jako zapytania wybierające dane. Dobra praktyka jest taka, żeby przy UPDATE i DELETE zawsze podawać sensowny warunek WHERE i często używać LIMIT/TRANSACTION, szczególnie w aplikacjach produkcyjnych. Moim zdaniem warto od początku myśleć o DML w kontekście logiki biznesowej aplikacji: formularz rejestracji to INSERT, edycja profilu to UPDATE, usunięcie konta to DELETE – i nagle wszystko układa się w bardzo logiczną całość.

Pytanie 9

W języku PHP funkcja trim służy do

A. redukcji tekstu o liczbę znaków określoną w parametrze
B. podawania długości tekstu
C. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
D. porównywania dwóch tekstów i wyświetlania ich wspólnej części
Wybór niewłaściwej odpowiedzi może wynikać z pomylenia funkcji <i>trim</i> z innymi funkcjami w PHP, które pełnią różne role. Na przykład, porównywanie dwóch napisów i wypisywanie części wspólnej nie jest funkcjonalnością dostępną w <i>trim</i>, lecz w funkcjach takich jak <i>similar_text</i> lub używając operatorów porównania. Dodatkowo, funkcja <i>strlen</i> jest odpowiedzialna za podawanie długości napisu, co również nie ma związku z działaniem <i>trim</i>. Zmniejszanie napisu o wskazaną liczbę znaków można zrealizować za pomocą funkcji takich jak <i>substr</i>, a nie <i>trim</i>, która koncentruje się jedynie na usuwaniu nadmiarowych znaków z końców. Te pomyłki często wynikają z niepełnego zrozumienia funkcji dostępnych w PHP oraz ich specyfiki w kontekście obróbki tekstu. Aby uniknąć takich nieporozumień, warto dokładnie zapoznać się z dokumentacją PHP oraz zwracać uwagę na kontekst i zastosowanie każdej funkcji. Zrozumienie, jakie zadania są przeznaczone dla poszczególnych funkcji, jest kluczowe dla efektywnego programowania oraz unikania błędów w kodzie.

Pytanie 10

Funkcja zapisana w języku PHP wygląda tak patrz ramka): Jej celem jest

Ilustracja do pytania
A. wypisanie liczby nieparzystej
B. wypisanie liczby parzystej
C. zwrócenie wartości 0, gdy liczba jest parzysta
D. zwrócenie wartości 1, gdy liczba jest parzysta
Funkcja w języku PHP opisana na egzaminie służy do sprawdzania czy podana liczba jest parzysta. Wybór zwracanych wartości 1 i 0 jest klasycznym przykładem użycia binarnych wartości logicznych w programowaniu. Niektóre niepoprawne odpowiedzi mogą wynikać z błędnego zrozumienia działania operatora modulo %. Operator ten oblicza resztę z dzielenia i w przypadku operacji liczb całkowitych przydaje się do określania parzystości. Jeśli liczba jest podzielna przez 2 bez reszty czyli modulo zwraca 0 funkcja zwraca 1 co oznacza że liczba jest parzysta. Niektóre odpowiedzi sugerują że funkcja zwraca lub wypisuje liczby parzyste bądź nieparzyste co jest błędnym rozumieniem działania funkcji zwracającej wartości w kontekście operacji logicznych. Kluczowe jest zrozumienie że funkcje zwracają wartości a nie wypisują ich w przypadku takich jak ten gdzie celem jest jedynie sprawdzenie a nie wyświetlenie wartości. Wybór wartości zwracanych 1 i 0 jest także zgodny z konwencjami logicznymi stosowanymi w warunkowych instrukcjach programistycznych co może być mylnie postrzegane jako konieczność wyświetlenia wyniku. Ważne jest aby pamiętać że w programowaniu logiczne zwracanie wartości jest często używane do późniejszego wykorzystania przez inne części aplikacji w celu podejmowania decyzji lub sterowania przepływem programu. Zrozumienie tych podstawowych zasad pozwala uniknąć błędnych interpretacji i wykorzystać pełnię możliwości jakie daje programowanie w językach takich jak PHP.

Pytanie 11

W kodzie CSS zapis

a[target="_blank"] {color:yellow;}
spowoduje, że kolor żółty zostanie przypisany do tekstu
A. linków, które są otwierane w tej samej karcie
B. linków, które otwierają się w nowej karcie
C. tekstów w paragrafie
D. wszystkich linków
Zrozumienie różnicy między różnymi atrybutami target jest kluczowe w kontekście stylowania odnośników. Tekst paragrafu nie jest bezpośrednio związany z selektorem CSS, dlatego stwierdzenie, że reguła ta odnosi się do tekstu paragrafu, jest błędne. CSS działa na elementach HTML, a nie na ich zawartości tekstowej, co oznacza, że stylizacja dotyczy wyłącznie określonych elementów, takich jak <a>. Stwierdzenie, że kolor żółty przyjmie każdy odnośnik, jest również mylące, ponieważ CSS w tym przypadku stosuje się wyłącznie do tych, które mają zdefiniowany atrybut target. Warto zauważyć, że nie wszystkie odnośniki muszą mieć atrybut target, a więc nie wszystkie będą miały zastosowaną regułę stylizacji. Odpowiedź sugerująca, że dotyczy to odnośników otwierających się w tej samej karcie jest szczególnie nieprecyzyjna, ponieważ to właśnie 'target="_self"' określa otwieranie w tej samej karcie, co nie jest ujęte w omawianym selektorze. Kluczowe jest więc, aby przy interpretacji reguł CSS zwracać uwagę na specyfikę selektorów i ich atrybuty, co pozwala na skuteczne i właściwe zastosowanie stylizacji w praktyce.

Pytanie 12

W tabeli podzespoly należy zaktualizować wartość pola URL na "toshiba.pl" dla wszystkich rekordów, w których pole producent jest równe TOSHIBA. Jak będzie wyglądała ta zmiana w języku SQL?

A. UPDATE podzespoly.producent='TOSHIBA' SET URL = 'toshiba.pl';
B. UPDATE producent='TOSHIBA' SET URL = 'toshiba.pl';
C. UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
D. UPDATE podzespoly SET URL = 'toshiba.pl';
Aby zaktualizować wartość pola URL w tabeli podzespoly na 'toshiba.pl' dla wszystkich rekordów, gdzie pole producent jest równe 'TOSHIBA', należy użyć instrukcji UPDATE w języku SQL. Właściwa składnia tej instrukcji to: UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';. W tej instrukcji UPDATE najpierw wskazujemy, której tabeli dotyczy modyfikacja, w tym przypadku 'podzespoly'. Następnie określamy, jakie pole chcemy zaktualizować, czyli 'URL', oraz ustawiamy nową wartość, którą w tym przypadku jest 'toshiba.pl'. Kluczowym elementem tej operacji jest klauzula WHERE, która filtruje rekordy, które mają być zaktualizowane; w tym przypadku tylko te, które mają producenta 'TOSHIBA'. Bez klauzuli WHERE wszystkie rekordy w tabeli zostałyby zmodyfikowane, co mogłoby prowadzić do utraty danych. Przykład ilustruje, jak precyzyjnie można zarządzać danymi w bazie poprzez odpowiednie warunki. Tego typu operacje są zgodne z normami SQL, co zapewnia ich efektywność i bezpieczeństwo w zarządzaniu danymi.

Pytanie 13

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 14

Który z poniższych skryptów pokazuje bieżącą datę oraz czas w formacie 2024-04-14 13:45:19?

A. <?php date("Y-m-d”) + time("G:i:s"); ?>
B. <?php date("Y-m-d G:i:s"); ?>
C. <?php echo date("Y-m-d G:i:s"); ?>
D. <?php echo date("Ymd Gis"); ?>
W pierwszej odpowiedzi użycie date oraz time jest niepoprawne, ponieważ funkcja time w PHP nie przyjmuje parametrów i zwraca znacznik czasu Unix, który nie formatuje czasu w sposób czytelny dla użytkownika. Próba dodawania tych dwóch funkcji powoduje błąd składniowy, ponieważ nie można łączyć wyników funkcji za pomocą operatora + w ten sposób. Druga odpowiedź używa funkcji echo poprawnie, ale formatowanie daty i czasu jest błędne. W tej odpowiedzi brakuje łączników pomiędzy elementami daty i czasu, co powoduje nieczytelny wynik, taki jak 20190923 105816. Ponadto, nie zastosowano dwukropków pomiędzy godziną minutami i sekundami, co jest kluczowe dla zrozumienia przez użytkownika. Trzecia odpowiedź zawiera poprawne formatowanie daty i czasu, ale nie używa funkcji echo, co oznacza, że wynik nie zostanie wyświetlony użytkownikowi. W PHP funkcja date musi być połączona z echo lub print, aby jej wynik był widoczny na stronie. Typowy błąd myślowy polega na nierozróżnieniu między formatowaniem a wyświetlaniem danych, co jest kluczowe w programowaniu webowym. Zrozumienie tych zasad jest fundamentalne dla tworzenia dynamicznych i interaktywnych aplikacji.

Pytanie 15

Narzędziem do zarządzania bazą danych, które jest zintegrowane w pakiecie XAMPP, jest

A. SQLite
B. pgAdmin
C. phpMyAdmin
D. MySQL Workbench
phpMyAdmin jest popularnym narzędziem wbudowanym w pakiet XAMPP, które służy do zarządzania bazą danych MySQL. Umożliwia użytkownikom łatwe wykonywanie operacji takich jak tworzenie, edytowanie i usuwanie baz danych oraz tabel, a także zarządzanie użytkownikami i uprawnieniami. Interfejs phpMyAdmin jest oparty na przeglądarkach internetowych, co sprawia, że jego obsługa jest intuicyjna nawet dla osób bez zaawansowanej wiedzy technicznej. Przykładowo, można szybko importować lub eksportować dane w różnych formatach, takich jak SQL, CSV czy XML, co jest niezwykle przydatne podczas migracji danych między różnymi środowiskami. Standardy dobrych praktyk przewidują korzystanie z narzędzi takich jak phpMyAdmin w celu minimalizacji ryzyka błędów manualnych, a także w celu zwiększenia efektywności pracy z bazami danych. Dzięki phpMyAdmin, użytkownicy mogą również łatwo monitorować wydajność bazy danych i optymalizować zapytania, co jest kluczowe dla utrzymania wysokiej jakości aplikacji webowych.

Pytanie 16

W zaprezentowanym fragmencie algorytmu wykorzystano

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

Pytanie 17

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

A. Trzeba dodawać komentarze w trudniejszych fragmentach kodu
B. W każdej linii kodu powinna znaleźć się tylko jedna komenda
C. Kod powinien być napisany bez wcięć i nadmiarowych enterów
D. Nazwy zmiennych muszą odzwierciedlać ich funkcję
Odpowiedź "Kod powinien być napisany bez wcięć i zbędnych enterów" jest prawidłowa, ponieważ brak wcięć i odpowiednich przerw w kodzie negatywnie wpływa na jego czytelność. Właściwe formatowanie kodu, w tym stosowanie wcięć, jest kluczowe dla zrozumienia struktury programu. Pomaga to programistom w szybkim zlokalizowaniu bloków kodu, a także wzmacnia hierarchię i powiązania między funkcjami i klasami. Na przykład w języku Python, wcięcia są integralną częścią składni, co oznacza, że brak wcięć skutkuje błędami wykonania. W praktyce, pisząc kod, warto zastosować konwencje formatowania takie jak PEP 8 dla Pythona lub Google Java Style Guide dla Javy, które promują przejrzystość i jednoznaczność. W związku z tym, aby zwiększyć czytelność i zrozumiałość kodu, należy stosować wcięcia oraz logiczne podziały. Dobrze sformatowany kod nie tylko ułatwia jego przeglądanie, ale również późniejsze utrzymanie oraz współpracę z innymi programistami.

Pytanie 18

Aby wykonać usunięcie wszystkich zapisów z tabeli, konieczne jest użycie kwerendy

A. CREATE COLUMN
B. TRUNCATE TABLE
C. ALTER COLUMN
D. INSERT INTO
Odpowiedź 'TRUNCATE TABLE' jest poprawna, ponieważ ta kwerenda służy do usuwania wszystkich rekordów z tabeli w bazach danych SQL. W przeciwieństwie do kwerendy 'DELETE', która usuwa rekordy jeden po drugim i może być stosowana z warunkiem, 'TRUNCATE TABLE' działa na poziomie strony i usuwa wszystkie wiersze za jednym razem, co czyni ją znacznie bardziej wydajną, szczególnie w przypadku dużych zbiorów danych. Gdy wykonujemy 'TRUNCATE TABLE', wszystkie dane są usuwane, a struktura tabeli pozostaje nienaruszona, co oznacza, że możemy natychmiast dodawać nowe dane do tej samej tabeli. Ponadto, użycie 'TRUNCATE TABLE' resetuje wszelkie generatory tożsamości (IDENTITY) w tabeli. W praktyce ta metoda jest często wykorzystywana w scenariuszach, gdzie potrzebne jest szybkie zresetowanie danych w tabeli, na przykład w aplikacjach testowych lub podczas czyszczenia danych w hurtowniach danych. Warto pamiętać, że 'TRUNCATE' nie można zastosować, jeśli tabela jest powiązana z innymi tabelami przez klucze obce, co jest zgodne z zasadami integralności referencyjnej w bazach danych.

Pytanie 19

W języku PHP symbol "//" oznacza

A. operator dzielenia całkowitego.
B. początek programu.
C. operator alternatywy.
D. początek komentarza jednoliniowego
Znak "//" w PHP to początek komentarza jednoliniowego. Komentarze to naprawdę ważna część kodowania, bo dzięki nim można dodawać notatki, które wyjaśniają, co się dzieje w kodzie. Ułatwia to późniejsze zrozumienie przy pracy nad projektem. Kiedy programista wpisuje "//", mówi interpreterowi PHP, żeby zignorował wszystko, co znajduje się w tej linii po tym znaku. Dzięki temu można opisywać funkcje czy klasy albo tymczasowo wyłączać część kodu, gdy testujemy różne rzeczy. To dobra praktyka, bo czytelność i dokumentacja kodu są kluczowe, szczególnie w większych projektach. Przykładowo, można zobaczyć taki komentarz:

// Funkcja oblicza sumę dwóch liczb
function suma($a, $b) {
return $a + $b;
}

Dzięki takiemu komentarzowi inny programista szybko zrozumie, co ta funkcja robi, co jest super ważne w sytuacjach, gdy w zespole jest więcej osób.

Pytanie 20

Element bazy danych, którego podstawowym celem jest generowanie lub prezentowanie zestawień informacji, to

A. formularz
B. moduł
C. makro
D. raport
Raport to taki dokument w bazie danych, który ma za zadanie pokazać dane w przejrzysty i uporządkowany sposób. To jest mega ważne, zwłaszcza kiedy chcemy analizować różne informacje. Można je wykorzystać do robienia zestawień, statystyk, a nawet wykresów, co naprawdę ułatwia podejmowanie decyzji. Zazwyczaj raporty tworzy się na podstawie danych z różnych miejsc, jak tabele czy zapytania. W programach do zarządzania bazami, jak Microsoft Access, można korzystać z kreatora raportów, który pomaga ustawić wszystko tak, jak się chce – wybieramy źródło danych, układ i format. Oczywiście, do pozyskiwania danych często wykorzystuje się SQL, no i potem już te dane można analizować i przedstawiać w raportach. Jak sobie pomyślisz o przykładzie, to taki miesięczny raport sprzedaży to super narzędzie dla menedżerów, bo mogą ocenić, jak im idzie w sprzedaży i podejmować lepsze decyzje strategiczne.

Pytanie 21

Na przedstawionym diagramie ER zapis FK1 oznacza

Ilustracja do pytania
A. relację 1:N.
B. relację 1:1.
C. klucz podstawowy.
D. klucz obcy.
Skrót FK1 na diagramie ER oznacza klucz obcy (ang. foreign key) i jest to dokładnie to, co powinno łączyć tabelę Zamówienia z tabelą Klienci. W relacyjnych bazach danych klucz obcy to atrybut lub zestaw atrybutów, który wskazuje na klucz podstawowy w innej tabeli. Dzięki temu baza danych wie, że konkretne zamówienie należy do konkretnego klienta. W twoim diagramie pole NR_klienta w tabeli Zamówienia jest oznaczone jako FK1, czyli jest kluczem obcym odwołującym się do NR_klienta będącego kluczem podstawowym (PK) w tabeli Klienci. To jest klasyczny przykład relacji 1:N – jeden klient może mieć wiele zamówień, a każde zamówienie jest powiązane z dokładnie jednym klientem. W praktyce, w SQL, taka relacja jest definiowana mniej więcej tak: `FOREIGN KEY (NR_klienta) REFERENCES Klienci(NR_klienta)`. Taka definicja pozwala silnikowi bazy danych pilnować spójności referencyjnej, czyli np. nie pozwoli wstawić zamówienia z numerem klienta, który nie istnieje w tabeli Klienci, ani usunąć klienta, do którego wciąż istnieją zamówienia (chyba że jawnie zdefiniujemy CASCADE). Z mojego doświadczenia poprawne używanie kluczy obcych bardzo upraszcza później raportowanie, łączenie tabel w zapytaniach JOIN i ogólnie utrzymanie porządku w bazie. W modelowaniu ER oznaczenie FK wraz z numerem (FK1, FK2 itd.) to po prostu sposób na jednoznaczne nazwanie konkretnych kluczy obcych, gdy w systemie jest ich więcej. W dobrze zaprojektowanych bazach danych zawsze warto jawnie definiować foreign key, zamiast tylko „ufać”, że aplikacja będzie podawała poprawne dane – to jest po prostu dobra praktyka i standard w profesjonalnych projektach.

Pytanie 22

Jak nazywa się program, który wykonuje instrukcje kodu źródłowego BEZ wcześniejszego generowania pliku wynikowego?

A. konwerter kodu
B. konwerter języka
C. interpreter
D. kompilator
Interpreter wykonuje instrukcje kodu źródłowego na bieżąco, linia po linii, BEZ wcześniejszego tworzenia osobnego pliku wynikowego (wykonywalnego). Tak działa np. PHP czy JavaScript. Dlatego tym programem jest interpreter.

Pytanie 23

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Przenikanie zdjęć.
C. Zmniejszenie kontrastu zdjęcia.
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 24

Na czym polega walidacja strony internetowej?

A. na udostępnieniu jej w Internecie
B. na działaniach zwiększających liczbę odwiedzin
C. na sprawdzeniu jej w celu wykrycia i usunięcia błędów
D. na reklamie strony
Walidacja strony internetowej to sprawdzenie jej kodu (np. HTML, CSS) pod kątem zgodności ze standardami W3C, w celu wykrycia i usunięcia błędów. Poprawny kod lepiej wyświetla się w różnych przeglądarkach. Dlatego walidacja to wykrywanie i usuwanie błędów.

Pytanie 25

Który z elementów relacyjnej bazy danych, zapisany w języku SQL, może być wykorzystany w zapytaniach modyfikujących kolumny danych udostępnione jako tabela, niezależnie od tego, czy jest stworzony programowo, czy dynamicznie?

A. Trigger
B. Funkcja zdefiniowana
C. Procedura składowa
D. Zasada
Kiedy analizujemy inne obiekty bazy danych, takie jak reguły, wyzwalacze i procedury składowe, możemy zidentyfikować, dlaczego nie są one odpowiednie w kontekście tego pytania. Reguły w SQL są używane do automatyzacji modyfikacji zapytań, ale ich zastosowanie jest ograniczone i rzadko używane w nowoczesnych bazach danych. Reguły są rzeczywiście często pomijane w nowoczesnych implementacjach ze względu na ich złożoność oraz ograniczenia w stosowaniu. Wyzwalacze natomiast są mechanizmami, które automatycznie wywołują się w odpowiedzi na określone zdarzenia w bazie danych, takie jak dodawanie, aktualizacja lub usuwanie rekordów. Choć mogą modyfikować dane, to nie są one wywoływane bezpośrednio przez zapytania, a raczej jako odpowiedź na zdarzenia, co czyni je mniej elastycznymi w kontekście bezpośrednich zapytań. Procedury składowe są kolejnym typem obiektu bazy danych, które mogą implementować złożoną logikę, jednak są one zazwyczaj wywoływane jako całość i nie mogą być używane w kontekście zapytań modyfikujących dane, jak to ma miejsce w przypadku funkcji zdefiniowanej. Zatem w kontekście elastyczności i modułowości w modyfikacjach danych, funkcje zdefiniowane pozostają najodpowiedniejszym rozwiązaniem.

Pytanie 26

bool gotowe=true;
cout<<gotowe;
Jakie będzie wyjście w wyniku wykonania podanych poleceń?

A. Tak
B. Nie
C. 1
D. 0
Po wykonaniu poleceń na ekranie zobaczysz '1'. Zmienna 'gotowe' jest ustawiona jako typ bool i ma wartość true. W C++ typ bool może mieć dwie wartości: true lub false. Kiedy zmienną bool wyświetlamy przy użyciu cout, to 'true' pokazuje się jako '1', a 'false' jako '0'. To jest zgodne z zasadami C++, które mówią, że wartości logiczne są traktowane jako liczby całkowite. Z mojego doświadczenia, zrozumienie tego, jak C++ interpretuje różne typy danych, jest naprawdę istotne w programowaniu, bo pomaga lepiej ogarnąć działanie kodu, a także poprawić algorytmy. Na przykład, jeśli programista ma świadomość, że true to 1, może wykorzystać tę wiedzę przy operacjach na liczbach lub podczas tworzenia warunków. To fajnie działa, zwłaszcza gdy zaczynamy tworzyć bardziej złożone struktury danych.

Pytanie 27

Baza danych MySQL została uszkodzona. Które z poniższych działańnie przyczyni się do jej naprawy?

A. Wykonanie replikacji bazy danych
B. Odtworzenie bazy z kopii zapasowej
C. Utworzenie nowej bazy i przeniesienie do niej tabel
D. Próba naprawy za pomocą polecenia REPAIR
Wykonanie replikacji bazy danych nie pomoże w naprawie uszkodzonej bazy MySQL, ponieważ replikacja polega na tworzeniu kopii danych z jednej bazy do drugiej w czasie rzeczywistym. Jeśli źródłowa baza danych jest uszkodzona, to zainicjowana replikacja jedynie skopiuje wszelkie błędy i uszkodzenia do nowej instancji. Replikacja jest techniką stosowaną głównie dla zwiększenia dostępności bazy danych lub zapewnienia wsparcia w przypadku awarii, a nie jako metoda naprawy uszkodzeń. Dla skutecznej naprawy bazy danych należy najpierw przywrócić jej integralność, a nie tylko jedynie skopiować uszkodzone dane. Dobrym przykładem jest użycie polecenia REPAIR TABLE, które jest dedykowane do naprawy uszkodzonych tabel, lub przywracanie bazy danych z kopii zapasowej, co zapewnia integralność i spójność danych. W sytuacji awarii bazy, kluczowe jest zrozumienie, że naprawa powinna być priorytetowym celem, a nie kopiowanie problemów.

Pytanie 28

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

K1: i = 0; wynik = 0;
K2: Dopóki i < n wykonuj K3 .. K4
  K3: wynik ← wynik + t[i]
  K4: i ← i + 2
K5: wypisz wynik
A. co drugiego elementu tablicy
B. wszystkich elementów tablicy
C. n-elementów tej tablicy
D. sumy tych elementów tablicy, które mają wartości nieparzyste
Pierwsza niepoprawna koncepcja sugeruje zsumowanie wszystkich elementów tablicy, co wymagałoby iteracji przez każdy element bez przeskakiwania indeksów. Taki algorytm miałby strukturę z pętlą stabilnie zwiększającą indeks o 1, co nie jest zgodne z przedstawionym kodem. Druga opcja zakłada sumowanie n-elementów tablicy, co jest mało precyzyjne i może sugerować błędne rozumienie, że n samo w sobie jest wartością sumowaną, a nie indeksem granicznym. Algorytm musiałby dodawać wszystkie elementy od zera do n-1, a w rzeczywistości operuje na co drugim indeksie. Ostatnia propozycja dotycząca sumowania elementów o wartościach nieparzystych wymagałaby dodatkowego warunku sprawdzającego parzystość wartości t[i], czego brak w przedstawionym kodzie. Typowym błędem jest niezrozumienie różnicy między iterowaniem po indeksach a wartościami oraz między warunkiem logicznym a przekształceniem pętli. Wszystkie te błędne odpowiedzi wynikają z nieprecyzyjnego przeanalizowania warunków i struktury pętli, co jest kluczowe w projektowaniu efektywnych algorytmów, zgodnie z zasadami inżynierii oprogramowania.

Pytanie 29

Aby przenieść pliki strony internetowej na serwer, można skorzystać z programu:

A. CloneZilla
B. Bugzilla
C. Go!Zilla
D. FileZilla
Nazwy celowo brzmią podobnie (kończą się na „-zilla”), ale tylko jedna to klient FTP. Bugzilla służy zespołom programistycznym do rejestrowania i śledzenia błędów, więc z transferem plików nie ma nic wspólnego. Go!Zilla działa odwrotnie niż potrzebujemy - to menedżer pobierania, który ściąga pliki z sieci na dysk. CloneZilla tworzy obrazy i klonuje dyski, co przydaje się przy kopiach zapasowych systemu, a nie przy publikacji strony. Do przeniesienia plików witryny na serwer służy FileZilla - klient FTP/SFTP stworzony do transferu plików.

Pytanie 30

Wskaż prawidłową definicję funkcji w języku JavaScript?

A. typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}
B. nazwa_funkcji(argumenty) {instrukcje;}
C. new nazwa_funkcji(argumenty) {instrukcje;}
D. function nazwa_funkcji(argumenty) {instrukcje;}
Definicja funkcji w języku JavaScript przy użyciu słowa kluczowego 'function' jest standardowym sposobem deklaracji funkcji. Poprawny zapis 'function nazwa_funkcji(argumenty) {instrukcje;}' jasno wskazuje, że tworzona jest nowa funkcja, której nazwa oraz argumenty są zdefiniowane. Przykładowo, można stworzyć funkcję dodającą dwie liczby: 'function dodaj(a, b) { return a + b; }'. Funkcje w JavaScript mogą być wywoływane w dowolnym miejscu w kodzie, co czyni je niezwykle elastycznymi. Dodatkowo, dzięki temu, że JavaScript obsługuje funkcje jako obiekty pierwszej klasy, można je przekazywać jako argumenty do innych funkcji, przypisywać do zmiennych oraz zwracać z innych funkcji. Warto również zauważyć, że w kontekście dobrych praktyk, używanie funkcji z jasnymi nazwami i dobrze zdefiniowanymi argumentami zwiększa czytelność oraz utrzymanie kodu, co jest istotne w pracy zespołowej oraz przy rozwijaniu większych aplikacji.

Pytanie 31

Jak nazywa się model prostej bazy, w której wszystkie dane są w JEDNEJ tabeli?

A. sieciowym
B. relacyjnym
C. jednorodnym
D. hierarchicznym
Najprostszy model bazy, w którym wszystkie dane mieszczą się w JEDNEJ tabeli (bez powiązań), nazywa się jednorodnym (płaskim). Dlatego to model jednorodny.

Pytanie 32

Którego formatu użyć do zapisu ZDJĘCIA z kompresją STRATNĄ?

A. PNG
B. GIF
C. PCX
D. JPEG
Do zapisu ZDJĘĆ z kompresją stratną najlepszy jest JPEG - mocno zmniejsza plik kosztem niewidocznych dla oka detali, co przy fotografiach jest akceptowalne. Dlatego do zdjęcia ze stratną kompresją wybiera się JPEG.

Pytanie 33

Aby przygotować układ strony z trzema kolumnami ustawionymi obok siebie, można posłużyć się stylem CSS:

A.
.kolumny {
  float: left;
  width: 40%;
}
B.
.kolumny {
  float: left;
  width: 33%;
}
C.
.kolumny {
  clear: both;
  height: 33%;
}
D.
.kolumny {
  float: right;
  height: 33%;
}
Aby ustawić trzy kolumny obok siebie metodą opływania, każdej nadaje się float: left oraz szerokość około jednej trzeciej kontenera, czyli width: 33%. Dzięki float elementy blokowe układają się w jednym rzędzie zamiast jeden pod drugim, a szerokość 33% sprawia, że trzy kolumny wypełniają całą szerokość. Dlatego poprawny jest styl z float: left i width: 33%.

Pytanie 34

Tabela sklepy ma pola: nazwa, ulica, miasto, branza. Które zapytanie wybierze nazwy sklepów spożywczych wyłącznie we Wrocławiu?

A.
SELECT sklepy FROM nazwa WHERE branza='spożywczy' BETWEEN miasto='Wrocław';
B.
SELECT nazwa FROM sklepy WHERE branza='spożywczy' AND miasto='Wrocław';
C.
SELECT nazwa FROM sklepy WHERE branza='spożywczy' OR miasto='Wrocław';
D.
SELECT sklepy FROM branza='spożywczy' WHERE miasto='Wrocław';
Sklepy spożywcze WYŁĄCZNIE we Wrocławiu to te, które spełniają oba warunki naraz - branża spożywcza ORAZ miasto Wrocław - więc łączy je AND: SELECT nazwa FROM sklepy WHERE branza='spożywczy' AND miasto='Wrocław';. Dlatego ta kwerenda jest poprawna.

Pytanie 35

Aby przekształcić tekst „ala ma psa” na „ALA MA PSA”, jaka funkcja PHP powinna być zastosowana?

A. strtolower('ala ma psa');
B. strstr ('ala ma psa');
C. ucfirst ('ala ma psa');
D. strtoupper('ala ma psa');
Funkcja strtoupper w PHP jest używana do konwersji wszystkich liter w danym ciągu znaków na wielkie litery. W kontekście modyfikacji tekstu „ala ma psa” na „ALA MA PSA”, zastosowanie funkcji strtoupper('ala ma psa') jest poprawnym podejściem. Funkcja ta jest częścią standardowej biblioteki PHP i jest szeroko stosowana w projektach, gdzie zachowanie wielkich liter jest kluczowe. Przykład użycia funkcji strtoupper jest prosty: wystarczy przekazać do niej ciąg, który ma zostać przekształcony. Przykładem może być zapis: $text = 'ala ma psa'; $uppercaseText = strtoupper($text); echo $uppercaseText; co wygeneruje wynik ALA MA PSA. Warto zauważyć, że funkcja ta nie zmienia oryginalnego ciągu, lecz zwraca nowy ciąg z przekształconymi literami. Zastosowanie funkcji strtoupper jest szczególnie przydatne w aplikacjach webowych, gdzie formatowanie tekstu może być kluczowe dla zapewnienia spójności danych wyjściowych oraz ich estetyki.

Pytanie 36

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. usunięcia tabeli lub jej danych
B. aktualizowania danych oraz przeglądania tabeli klienci
C. przeglądania tabeli klienci i dodawania do niej rekordów
D. tworzenia tabeli klienci oraz wprowadzania do niej danych
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 37

Którego słowa kluczowego w C++ użyć przed typem, aby ograniczyć zakres do liczb NIEUJEMNYCH?

A.
short
B.
const
C.
unsigned
D.
long
Pozostałe słowa nie ograniczają znaku liczby. short i long zmieniają ROZMIAR (zakres) typu, ale nadal dopuszczają wartości ujemne. const czyni zmienną stałą (niezmienną), a nie nieujemną. Liczby nieujemne wymusza unsigned.

Pytanie 38

Rekordy do raportu mogą pochodzić z

A. tabeli
B. makropolecenia
C. innego raportu
D. zapytania INSERT INTO
Tabela stanowi fundamentalne źródło danych w kontekście raportowania, ponieważ przechowuje zorganizowane informacje w formie wierszy i kolumn. W praktyce, raporty często opierają się na danych zgromadzonych w tabelach, które są częścią bazy danych. Dzięki strukturze tabeli, możliwe jest łatwe filtrowanie, sortowanie i agregowanie danych, co jest kluczowe w procesie tworzenia raportów. Na przykład, w systemach CRM, dane o klientach są przechowywane w tabeli, co pozwala na wygenerowanie raportów dotyczących sprzedaży, aktywności klientów czy trendów rynkowych. W kontekście standardów branżowych, stosowanie tabel w relacyjnych bazach danych jest nie tylko powszechne, ale również zgodne z najlepszymi praktykami, które zalecają utrzymywanie danych w znormalizowanej formie, aby minimalizować redundancję i ułatwiać zarządzanie danymi. Dodatkowo, w przypadku tworzenia raportów, można korzystać z języka SQL, aby dynamicznie wydobywać dane z tabel, co zwiększa elastyczność i precyzję raportowania.

Pytanie 39

Kwalifikatory dostępu private, protected i public definiują mechanizm:

A. polimorfizmu
B. przeładowania (overloadingu)
C. rekurencji
D. hermetyzacji (enkapsulacji)
Kwalifikatory private, protected i public sterują widocznością pól i metod klasy, czyli realizują HERMETYZACJĘ (enkapsulację) - ukrywanie wewnętrznych szczegółów i udostępnianie tylko wybranego interfejsu. Dlatego definiują mechanizm hermetyzacji.

Pytanie 40

Aby poprawnie udokumentować poniższą linię kodu, po znakach // należy dodać komentarz, że linia ta:

document.getElementById("tytul").style.color = "red"; //
A. zawiera błąd składniowy i nie zadziała
B. tworzy nowy element o id „tytuł”
C. zmienia kolor tekstu elementu o id „tytuł” na czerwony
D. zmienia treść elementu o id „tytuł” na słowo „red”
document.getElementById("tytul") odnajduje element strony o id „tytuł”, a przypisanie do jego właściwości style.color zmienia kolor tekstu tego elementu. Wartość "red" oznacza kolor czerwony. W efekcie tekst elementu „tytuł” staje się czerwony. Dlatego komentarz powinien mówić, że linia zmienia kolor tekstu elementu o id „tytuł” na czerwony.