Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Rozpoczęcie: 7 czerwca 2026 23:25
Zakończenie: 7 czerwca 2026 23:35
Egzamin zdany!
Wynik: 33/40 punktów (82,5%)
Wymagane minimum: 20 punktów (50%)
Twój wynik na tle innych
Twój wynik jest lepszy niż 77% podejść do kwalifikacji INF.03.
Porównanie z 39483 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).
Zachowaj ten wynik na koncie
Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.
Który zapis CSS wyrówna tekst akapitu do PRAWEJ strony?
A.
<pstyle="font: right">tekst</p>
B.
<pstyle="position: right">tekst</p>
C.
<pstyle="align: right">tekst</p>
D.
<pstyle="text-align: right">tekst</p>
Poziome wyrównanie tekstu ustawia właściwość text-align, więc text-align:right dosuwa treść akapitu do prawej krawędzi. Dlatego poprawny jest zapis <pstyle="text-align: right">.
Pytanie 2
W języku C++ stworzono zmienną char zm1[10]; Czym jest ta zmienna?
A. znakiem
B. tablicą łańcuchów
C. tablicą znaków
D. liczbą
Odpowiedzi sugerujące, że zmienna char zm1[10] jest liczbą, tablicą łańcuchów, czy też pojedynczym znakiem, są nieprawidłowe z punktu widzenia definicji i zastosowania zmiennych w języku C++. Zmienna char zm1[10] jest tablicą znaków, co oznacza, że jej przeznaczeniem jest przechowywanie wielu znaków, a nie tylko jednego lub zestawu łańcuchów. Liczby w C++ są definiowane jako zmienne typu int, float, double itp., które mają odmienną reprezentację w pamięci i służą do wykonywania operacji matematycznych. Tablica łańcuchów, która jest bardziej złożoną strukturą, wymagałaby bardziej rozbudowanej definicji, najczęściej jako tablica wskaźników do zmiennych typu char, a nie jako tablicy znaków. Pojedynczy znak również nie oddaje pełnej funkcjonalności zm1, ponieważ zmienna ta została stworzona do przechowywania sekwencji znaków. Typowe błędy myślowe, które mogą prowadzić do błędnych odpowiedzi, obejmują mylenie pojęć i niepełne zrozumienie struktury danych. Ważne jest, aby podczas nauki programowania zrozumieć różnice między typami zmiennych oraz ich zastosowaniem w kodzie. Praktyczna znajomość tablic znaków i ich zarządzania jest kluczowa w każdej aplikacji, która operuje na danych tekstowych.
Pytanie 3
Zaprezentowana linia kodu w języku PHP ma na celu
define("OSOBA", "Anna Kowalska");
A. zdefiniować stałą o nazwie OSOBA
B. porównać dwa ciągi znaków
C. ustalić wartość dla zmiennej $OSOBA
D. przypisać dwie wartości do tablicy
Odpowiedź "zdefiniować stałą o nazwie OSOBA" jest prawidłowa, ponieważ linia kodu define("OSOBA", "Anna Kowalska"); w języku PHP służy do tworzenia stałej. Stała to wartość, która nie zmienia się w trakcie działania programu. W tym przypadku, stała o nazwie OSOBA jest przypisywana do wartości "Anna Kowalska". Użycie stałych jest uważane za dobrą praktykę programistyczną, ponieważ pozwala na zdefiniowanie wartości, które mają być używane w różnych częściach aplikacji, co zwiększa czytelność i ułatwia zarządzanie kodem. Przykładem zastosowania stałych może być przechowywanie kluczy API, które nie powinny być zmieniane w trakcie działania aplikacji. Ponadto, korzystanie ze stałych może poprawić wydajność, gdyż PHP nie musi za każdym razem przeprowadzać operacji przypisania. Warto również zauważyć, że stałe w PHP są globalne i mogą być używane w dowolnym miejscu w kodzie, co czyni je bardzo użytecznymi w dużych projektach. Właściwe definiowanie i użycie stałych jest kluczowe dla utrzymania porządku i spójności w projekcie, co jest zgodne z ogólnie uznawanymi standardami programowania.
Pytanie 4
Jakie z wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie (6, 203)?
A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) && (zm1 <= 203)
C. (zm1 > 6) && (zm1 != 203)
D. (zm1 > 6) || (zm1 <= 203)
Wyrażenie (zm1 > 6) && (zm1 <= 203) jest poprawne, ponieważ warunek ten precyzyjnie sprawdza, czy zmienna zm1 znajduje się w przedziale otwartym (6, 203]. Oznacza to, że zm1 musi być większe od 6 i jednocześnie mniejsze lub równe 203. Taki zapis jest zgodny z typowym podejściem używanym w programowaniu, gdzie ważna jest precyzyjna kontrola wartości zmiennych. W praktyce, takie wyrażenie może być zastosowane w sytuacjach, gdzie potrzebujemy przefiltrować dane, na przykład przy walidacji danych wejściowych w formularzach lub przy definiowaniu zakresu wartości w algorytmach operujących na liczbach. Używanie operatorów logicznych w ten sposób jest zgodne z najlepszymi praktykami programowania, gdzie ważne jest nie tylko uzyskanie oczekiwanego wyniku, ale również czytelność i zrozumiałość kodu. Przykładowo, jeżeli mamy do czynienia z systemem zarządzania użytkownikami, można sprawdzać wiek użytkownika, aby upewnić się, że spełnia określone wymagania wiekowe, jednocześnie unikając sytuacji, w których użytkownicy mogą być nieuprawnieni do korzystania z systemu.
Pytanie 5
W systemach baz danych, aby przedstawić dane spełniające określone kryteria, należy stworzyć
A. makropolecenie
B. raport
C. formularz
D. relację
Raport w bazach danych jest narzędziem, które pozwala na prezentację danych w formacie dostosowanym do konkretnych potrzeb użytkownika. Jego głównym celem jest przedstawienie informacji, które spełniają określone kryteria, co jest niezwykle istotne w kontekście analizy danych. Raporty mogą być generowane na podstawie różnych źródeł danych, a ich struktura może obejmować tabele, wykresy i podsumowania. W praktyce, raporty są często używane w procesach decyzyjnych, na przykład w raportowaniu wyników finansowych, analizie sprzedaży czy monitorowaniu wydajności operacyjnej. Wiele systemów zarządzania bazami danych (DBMS) oferuje funkcje do tworzenia raportów, co jest zgodne z najlepszymi praktykami w dziedzinie analizy i wizualizacji danych. Dobrze zbudowany raport nie tylko dostarcza kluczowych informacji, ale także umożliwia efektywniejsze podejmowanie decyzji poprzez dostarczenie kontekstu i analizy danych.
Pytanie 6
Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL pozwala na
A. przyznawanie praw do tabeli
B. odebranie uprawnień danemu użytkownikowi
C. usunięcie użytkownika z bazy danych
D. przyznawanie uprawnień z użyciem ustalonego schematu
Polecenie REVOKE SELECT ON w języku SQL jest używane do odbierania uprawnień do wykonywania operacji SELECT na określonej tabeli lub widoku dla konkretnego użytkownika lub grupy użytkowników. W przypadku użycia tej komendy, administrator bazy danych lub właściciel obiektu wskazuje, że dany użytkownik nie ma już prawa do odczytu danych z określonej tabeli, co skutkuje zablokowaniem dostępu do informacji w tej tabeli. Przykładowo, jeśli mamy tabelę 'Pracownicy' i użytkownika 'JanKowalski', polecenie REVOKE SELECT ON Pracownicy FROM JanKowalski skutkuje tym, że Jan Kowalski nie będzie mógł wykonywać zapytań typu SELECT na tej tabeli. Ważne jest, aby zrozumieć, że polecenie to nie usuwa użytkownika z bazy danych ani nie zmienia struktury bazy, a jedynie modyfikuje uprawnienia dostępu. W kontekście SQL, standardy takie jak ANSI SQL definiują sposób, w jaki uprawnienia mogą być przyznawane i odbierane, co sprawia, że umiejętność zarządzania uprawnieniami jest niezbędna dla każdego administrującego bazą danych.
Pytanie 7
W języku JavaScript rezultat wykonania polecenia zmienna++; będzie identyczny jak polecenia
A. zmienna=zmienna+10;
B. zmienna --;
C. zmienna+=1;
D. zmienna===zmienna+1;
W języku JavaScript operator inkrementacji '++' zwiększa wartość zmiennej o 1. Zapis 'zmienna++' jest równoważny z 'zmienna += 1', ponieważ obydwa polecenia prowadzą do tej samej końcowej wartości zmiennej. Operator '+=' to skrót, który dodaje wartość po prawej stronie operatora do aktualnej wartości zmiennej. Warto nadmienić, że 'zmienna++' działa w trybie post-inkrementacji, co oznacza, że zwraca pierwotną wartość przed inkrementacją, podczas gdy '++zmienna' działa w trybie pre-inkrementacji, zwracając wartość po inkrementacji. Przykładowo, jeśli zmienna wynosi 5, to po zastosowaniu 'zmienna++' jej nowa wartość stanie się 6, a jej wartość zwracana to 5. Zastosowanie operatora '+=' jest zgodne z ECMAScript, standardem, na którym oparty jest JavaScript. Użycie tych operatorów jest powszechne w programowaniu, zwłaszcza w iteracjach i obliczeniach. Przykładając to do praktyki, w kodzie można zobaczyć takie zastosowanie: let x = 5; x++; console.log(x); // wypisze 6, a let y = 5; y += 1; console.log(y); // również wypisze 6.
Pytanie 8
Przedstawione zapytanie MySQL ma za zadanie
ALTER TABLEksiazkiMODIFYtytulVARCHAR(100)NOT NULL;
A. dodać do tabeli ksiazki kolumnę tytul.
B. zmienić nazwę kolumny w tabeli ksiazki.
C. zmienić typ kolumny tytul w tabeli ksiazki.
D. usunąć kolumnę tytul z tabeli ksiazki.
Twoja odpowiedź dobrze odczytuje składnię polecenia ALTER TABLE w MySQL. Instrukcja: ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL; służy do zmiany definicji już istniejącej kolumny tytul w tabeli ksiazki. Słowo kluczowe MODIFY w MySQL oznacza właśnie modyfikację typu danych i atrybutów kolumny, bez zmiany jej nazwy. W tym przykładzie kolumna tytul zostaje ustawiona jako typ VARCHAR o długości 100 znaków oraz z ograniczeniem NOT NULL, czyli pole nie może przyjmować wartości pustej. Moim zdaniem to jedno z częstszych poleceń przy rozwijaniu aplikacji, bo schemat bazy prawie nigdy nie jest idealny od początku. W praktyce takie polecenie stosuje się np. gdy początkowo założyliśmy zbyt krótki tytuł, np. VARCHAR(50), i po czasie okazuje się, że część danych się nie mieści. Zamiast tworzyć nową kolumnę, zmieniamy typ i parametry istniejącej. Dobra praktyka przy pracy z ALTER TABLE to zawsze sprawdzić, czy modyfikacja nie spowoduje utraty danych, np. przy skracaniu długości VARCHAR. W środowiskach produkcyjnych często robi się to najpierw na kopii bazy lub w środowisku testowym, bo zmiany w strukturze tabel potrafią blokować tabelę i wpływać na wydajność. Warto też wiedzieć, że w MySQL do zmiany nazwy kolumny używa się ALTER TABLE ... CHANGE stara_nazwa nowa_nazwa typ, a do dodania nowej kolumny słowa kluczowego ADD. Dzięki rozróżnieniu MODIFY/CHANGE/ADD/ DROP łatwiej czyta się skrypty migracyjne i utrzymuje spójny model danych. Dobrą praktyką jest też trzymanie wszystkich takich zmian w repozytorium razem z kodem aplikacji, żeby zawsze było wiadomo, jaka wersja schematu jest aktualna.
Pytanie 9
Które zadanie programistyczne powinno być realizowane po stronie serwera?
A. pokazywanie i ukrywanie elementów strony zależnie od kursora
B. zmiana stylu elementu HTML wywołana ruchem kursora
C. zapisanie danych z aplikacji internetowej w bazie danych
D. sprawdzanie treści pola tekstowego w czasie rzeczywistym
Po stronie SERWERA realizuje się operacje wymagające dostępu do zasobów serwera - np. zapis danych z aplikacji do bazy danych (kod PHP łączy się z bazą, niedostępną z przeglądarki). Dlatego to zadanie należy do serwera.
Pytanie 10
Który zapis tworzy w PHP tablicę ASOCJACYJNĄ (z kluczami) i przypisuje ją do zmiennej?
A.
$tab=array("a"=>1,"b"=>2,"c"=>3);
B.
$tab=array(array(1,2),array(3,4));
C.
$tab=array();$tab[]=array(1,2,3,4);
D.
$tab=array(1,2,3,4);
Tablicę asocjacyjną w PHP tworzy się, podając pary klucz => wartość: $tab=array("a"=>1,"b"=>2,"c"=>3);. Każdy element ma wtedy własny, nazwany klucz, po którym się do niego odwołujemy. Dlatego ten zapis jest poprawny.
Pytanie 11
Co umożliwia funkcja phpinfo()?
A. sprawdzenie wartości zmiennych
B. uzyskanie informacji o środowisku serwera PHP
C. rozpoczęcie wykonywania kodu PHP
D. debugowanie kodu PHP
Funkcja phpinfo() generuje stronę z pełnymi informacjami o środowisku serwera PHP: wersję PHP, system operacyjny, załadowane rozszerzenia, ustawienia php.ini i zmienne serwera. Używa się jej do szybkiej diagnostyki konfiguracji (np. czy włączone jest dane rozszerzenie). Zapamiętaj: phpinfo() = „pokaż mi, jak skonfigurowany jest ten serwer”.
Pytanie 12
W zaprezentowanym fragmencie dokumentu HTML ustalono stylowanie CSS dla selektora klasy "menu", aby kolor tła tego elementu był zielony. Które z poniższych określeń stylu CSS odpowiada temu stylowaniu?
<div class="menu"></div>
A. #menu { background-color: rgb(0,255,0); }
B. menu { background-color: rgb(0,255,0); }
C. div:menu { color: green; }
D. div.menu { background-color: green; }
Błędne odpowiedzi wynikają z niewłaściwego zastosowania selektorów w języku CSS. Selektor #menu sugeruje użycie ID, jednak w HTML identyfikator musi być unikalny, a zadanie dotyczy klasy, co implikuje użycie selektora klasy poprzedzonego kropką. Takie błędne użycie prowadzi do niezrozumienia podstawowej różnicy między klasami a identyfikatorami w CSS, co jest kluczowe w projektowaniu stron internetowych. Z kolei selektor menu { background-color: rgb(0,255,0); } jest niepoprawny, ponieważ nie odnosi się do konkretnego elementu. Chociaż specyfikacja CSS pozwala na selektory nazwane, najczęściej stosuje się je w kontekście semantycznym dla elementów HTML, a nie tych określonych przez klasy. Wreszcie, definicja div:menu { color: green; } używa błędnej składni, ponieważ pseudo-klasy w CSS są używane do stylizacji specyficznych stanów elementów, takich jak hover, active czy focus, a nie do stylizacji klas. Istotne jest zrozumienie, że użycie pseudo-klas wymaga odpowiedniego kontekstu, który w tym przypadku jest niepoprawnie użyty. Kluczem do poprawnego stosowania CSS jest zrozumienie specyfiki selektorów i ich właściwe wykorzystanie, co pozwala na efektywne zarządzanie stylem w projekcie webowym. Podstawową zasadą powinno być projektowanie stylów z myślą o ich wielokrotnym wykorzystaniu i utrzymaniu czystości kodu.
Pytanie 13
Aby w JavaScript wykonać wymienione kroki, należy w znaczniku <script> umieścić kod
1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ", następnie po zatwierdzeniu
2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się wartość pobrana z okna "Kwalifikacja: ..."
A. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
B. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A);
C. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
D. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A);
Gratulacje, wybrałeś prawidłową odpowiedź! Kiedy chcemy wykonać interakcje z użytkownikiem poprzez okno dialogowe w JavaScript, używamy funkcji 'prompt()'. Ta funkcja wyświetla okno dialogowe z komunikatem tekstowym, polem do wprowadzania danych i przyciskami OK / Anuluj. Wartość wprowadzona przez użytkownika jest następnie zwracana przez funkcję 'prompt()'. W tym przypadku, używamy funkcji 'prompt()' do pobrania kwalifikacji od użytkownika. Następnie, używamy funkcji 'document.write()' do wyświetlenia zdobytej kwalifikacji na stronie internetowej. Operator '+' jest używany do łączenia łańcuchów znaków (stringów) w JavaScript, co pozwala na połączenie wartości wprowadzonej przez użytkownika z komunikatem 'Kwalifikacja: '. Pamiętaj, że choć 'document.write()' jest łatwym sposobem na wyświetlanie wyników na stronie, jest to metoda zarezerwowana głównie do testowania i debugowania, a nie do użytku produkcyjnego, ze względu na możliwość nadpisania zawartości strony.
Pytanie 14
Którego słowa kluczowego w językach z rodziny C używa się, aby nadać istniejącemu typowi danych alternatywną nazwę?
A.
enum
B.
switch
C.
union
D.
typedef
Słowo kluczowe typedef w językach C/C++ tworzy alias (alternatywną nazwę) dla istniejącego typu danych, np. typedefunsignedintuint; pozwala potem pisać uint zamiast unsignedint. Ułatwia to czytelność kodu i upraszcza długie deklaracje (np. wskaźników czy struktur). Nie tworzy nowego typu - jedynie wygodną nazwę dla już istniejącego. Dlatego do nadania typowi alternatywnej nazwy służy typedef.
Pytanie 15
Jakie są przykłady standardowych poleceń w języku zapytań SQL, odnoszących się do operacji na danych SQL DML, takich jak wstawianie, usuwanie oraz modyfikacja danych?
A. DELETE, INSERT, UPDATE
B. DENY, GRANT, REVOKE
C. SELECT, SELECT INTO
D. ALTER, CREATE, DROP
Poprawna odpowiedź to DELETE, INSERT, UPDATE, które są podstawowymi poleceniami w języku SQL dla operacji manipulacji danymi (DML, Data Manipulation Language). Polecenie INSERT służy do dodawania nowych rekordów do tabeli, na przykład: 'INSERT INTO pracownicy (imie, nazwisko) VALUES ('Jan', 'Kowalski');'. DELETE umożliwia usunięcie istniejących danych, co można zrealizować poprzez 'DELETE FROM pracownicy WHERE nazwisko = 'Kowalski';', co kasuje rekordy spełniające określony warunek. Natomiast UPDATE pozwala na modyfikację danych w tabeli, na przykład: 'UPDATE pracownicy SET imie = 'Anna' WHERE nazwisko = 'Kowalski';'. Te instrukcje są zgodne z międzynarodowymi standardami SQL i są kluczowe w codziennym zarządzaniu bazami danych, umożliwiając efektywne manipulowanie danymi w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Microsoft SQL Server.
Pytanie 16
Funkcja fun1(a,b) { if(a % 2 != 0) a++; for(let n = a; n <= b; n+=2) document.write(n); } ma na celu
A. wypisanie liczb parzystych w zakresie od a do b
B. sprawdzenie, czy liczba a jest nieparzysta; w przypadku pozytywnej odpowiedzi, jej wypisanie
C. wypisanie wszystkich liczb w przedziale od a do b
D. zwrócenie parzystych wartości liczb od a do b
W przypadku pierwszej błędnej odpowiedzi, najważniejszy błąd to myślenie, że funkcja zwraca wartości parzyste jak zwykły wynik. W rzeczywistości funkcja wypisuje te liczby na stronie za pomocą document.write(), więc to jest kluczowy szczegół. Druga niepoprawna odpowiedź jest na dobrej drodze, ale myli się w interpretacji 'wypisania liczb parzystych z przedziału od a do b'. Funkcja nie tylko wypisuje liczby parzyste, ale też sprawdza, czy a jest nieparzyste, i wtedy zmienia tę wartość. Co do trzeciej błędnej odpowiedzi, sugeruje ona, że funkcja wypisuje wszystkie liczby między a a b, co jest zupełnie błędne, bo pętla for zwiększa n o 2, więc tylko parzyste liczby się pojawią. Rozumienie jak działa pętla for oraz operator modulo jest kluczowe, żeby dobrze zrozumieć tę funkcję. Jeśli nie ogarniasz tych podstaw, ciężko będzie analizować kod w JavaScript i pisać lepsze programy.
Pytanie 17
Poniższy fragment kodu PHP służy do zarządzania
if (empty($_POST["name"])) { $nameErr = "Name is required"; }
A. bazami danych
B. sesjami
C. formularzami
D. ciasteczkami
Fragment kodu PHP przedstawiony w pytaniu dotyczy obsługi formularza i jest to typowa konstrukcja używana do walidacji danych przesyłanych metodą POST. W PHP dane z formularza przesyłane są za pomocą superglobalnej tablicy $_POST, co pozwala na ich łatwe przetwarzanie i walidację. W tym przypadku skrypt sprawdza, czy pole 'name' zostało wypełnione przez użytkownika. Funkcja empty() jest stosowana, aby wykryć, czy dane pole jest puste, co jest kluczowe dla zabezpieczenia aplikacji przed niekompletnymi danymi. Gdy pole jest puste, zmienna $nameErr zostaje ustawiona na wartość komunikatu błędu, informującą użytkownika o brakujących danych. Praktyczne zastosowanie tego rodzaju sprawdzania obejmuje różnorodne formularze internetowe, takie jak rejestracja użytkowników czy składanie zamówień. Dobre praktyki w PHP zalecają stosowanie walidacji po stronie serwera, ponieważ poprawia to bezpieczeństwo i integralność danych, nawet jeśli wcześniej dane były walidowane po stronie klienta za pomocą JavaScriptu. Warto również pamiętać o stosowaniu filtrów i walidacji danych wejściowych, aby zapobiec potencjalnym atakom, jak np. SQL injection
Pytanie 18
Aby utworzyć tabelę w relacyjnej bazie danych, należy zastosować polecenie SQL CREATETABLE:
A.
CREATETABLE
B.
ADDTABLE
C.
NEWTABLE
D.
PLUSTABLE
Tabelę tworzy instrukcja CREATETABLE, należąca do języka definiowania danych (DDL) w SQL. Definiujesz w niej nazwę tabeli oraz listę kolumn wraz z ich typami danych, a opcjonalnie dodajesz ograniczenia, takie jak klucz główny czy NOTNULL. Najprostsza składnia to CREATETABLEnazwa(kolumnatyp);, na przykład CREATETABLEpracownicy(idINTPRIMARYKEY,nazwiskoVARCHAR(50));. Polecenie jest częścią standardu SQL, więc działa w większości systemów bazodanowych (MySQL, PostgreSQL, SQLite, SQL Server) i to właśnie ono buduje strukturę, do której później wstawiasz dane.
Pytanie 19
Wskaż zdanie, które jest nieprawdziwe w odniesieniu do poniższej definicji funkcji w języku C++? void zamien(float &x, float &y){ float tmp; tmp=x; x=y; y=tmp; }
A. Funkcja zwraca jakąś wartość
B. Funkcja korzysta z parametrów przez referencję
C. Funkcja ma dwa argumenty
D. Funkcja nie zwraca żadnej wartości
Funkcja zamien jest przykładem funkcji w języku C++, która nie zwraca wartości. Zdefiniowana jako 'void', co oznacza, że nie ma zwracanej wartości. W C++ typ zwracany przez funkcję jest kluczowym elementem definicji funkcji. W przypadku, gdy funkcja jest określona jako 'void', użytkownik nie powinien oczekiwać, że funkcja przekaże jakąkolwiek wartość po jej zakończeniu. Funkcja ta przyjmuje dwa argumenty typu 'float' przekazywane przez referencję, co pozwala na modyfikację ich wartości bezpośrednio w miejscu ich wywołania. Przykładowo, jeżeli zmienne 'x' i 'y' mają przypisane wartości 5.0 i 10.0 przed wywołaniem funkcji, po jej wykonaniu ich wartości zmienią się na odpowiednio 10.0 i 5.0. Oznacza to, że modyfikacja wartości zmiennych zewnętrznych jest możliwa dzięki użyciu referencji. W praktyce oznacza to także, że nie ma potrzeby korzystania z dodatkowych zmiennych do przechowywania wyników, co może być wydajniejsze. Funkcje 'void' są często stosowane w przypadkach, gdy operacje nie wymagają zwracania wyników, a jedynie modyfikacji przekazanych argumentów.
Pytanie 20
Z jakich elementów składa się tabela generowana przez poniższy kod?
Kod w pytaniu przedstawia strukturę HTML dla tabeli. Tabela składa się z jednej pary znaczników <tr>, co oznacza, że zawiera jeden wiersz. Wewnątrz tego wiersza znajdują się dwa znaczniki <td>, reprezentujące dwie komórki, czyli kolumny. Praktyczne zastosowanie tabel w HTML obejmuje prezentację danych w sposób strukturalny, co jest szczególnie użyteczne w przypadku raportów, cenników czy kalendarzy. Dobre praktyki w projektowaniu stron internetowych sugerują stosowanie tabel do prezentacji danych, nie zaś do układania treści na stronie, co było popularne w starszych wersjach HTML. W nowoczesnym podejściu do front-endu, używa się CSS i Flexbox lub Grid do układania elementów. Jednak zrozumienie podstaw HTML, takich jak prawidłowa struktura tabeli, jest kluczowe dla tworzenia semantycznych i dostępnych stron WWW. Tabele powinny być też wzbogacone o elementy takie jak <thead>, <tbody> i <tfoot> dla lepszej organizacji danych i wsparcia przez technologie asystujące dla osób z niepełnosprawnościami.
Pytanie 21
W języku JavaScript funkcja matematyczna Math.pow() jest wykorzystywana do obliczania
A. bezwzględnej wartości liczby
B. potęgi liczby
C. pierwiastka kwadratowego z liczby
D. przybliżonej wartości liczby
Wybór wartości przybliżonej liczby jako odpowiedzi wskazuje na nieporozumienie dotyczące funkcji Math.pow(). Należy zaznaczyć, że funkcja ta nie wykonuje operacji związanej z zaokrąglaniem ani przybliżaniem liczb. W praktyce zaokrąglanie wartości liczbowych w JavaScript można osiągnąć za pomocą funkcji takich jak Math.round(), Math.ceil() czy Math.floor(). Wartości przybliżone są często mylone z potęgami, ale to zupełnie różne koncepcje. Podobnie, odpowiedź odnosząca się do wartości bezwzględnej jest myląca, ponieważ funkcja Math.pow() nie ma nic wspólnego z obliczaniem wartości bezwzględnej, co można zrobić za pomocą Math.abs(). Z kolei pierwiastek kwadratowy liczby, który można obliczyć, korzystając z Math.sqrt(), również nie jest funkcją powiązaną z potęgowaniem. Mylenie tych koncepcji często wynika z nieprecyzyjnego rozumienia funkcji matematycznych oraz ich zastosowania w programowaniu. Kluczowe jest zrozumienie, że Math.pow() jest specjalistycznym narzędziem do obliczania potęg, co różni się fundamentalnie od operacji takich jak zaokrąglanie, wartość bezwzględna czy pierwiastkowanie. Właściwe zrozumienie funkcji matematycznych ułatwia pisanie efektywnego i poprawnego kodu, zgodnie z najlepszymi praktykami inżynierii oprogramowania.
Pytanie 22
Na tabeli muzyka, przedstawionej na rysunku, zostało wykonane następujące zapytanie SQL. Jaki wynik zwróci ta kwerenda?
SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';
ID
tytul_plyty
wykonawca
rok_nagrania
opis
1
Czas jak rzeka
Czeslaw Niemen
2005
Przyjdz W Taka Noc itd.
2
Ikona
Stan Borys
2014
3
Aerolit
Czeslaw Niemen
2017
Winylowa reedycja płyty „Aerolit”.
4
Journey
Mikolaj Czechowski
2013
A. Czeslaw, Czechowski
B. Czeslaw, Niemen
C. pusty wynik
D. Czeslaw
Dobrze, wybrałeś prawidłową odpowiedź. Zapytanie SQL, które widzimy w tym pytaniu, zostało sformułowane w taki sposób, że wyszukuje ono wszystkich wykonawców (kolumna 'wykonawca' w tabeli 'muzyka'), których nazwy zaczynają się na literę 'C' i kończą na literę 'w'. Składnia LIKE 'C%w' w warunku WHERE zapytania SQL jest używane do dopasowania wzorca, gdzie '%' oznacza dowolny ciąg znaków, a 'C' i 'w' to konkretne litery na początku i końcu nazwy. Jednak w tabeli 'muzyka' nie ma żadnego wykonawcy, który spełniałby ten warunek. Dlatego wynik zapytania jest pusty. Jest to dobra praktyka, aby zrozumieć, jak używać operatora LIKE w zapytaniach SQL, ponieważ pozwala na elastyczne wyszukiwanie danych w bazie danych.
Pytanie 23
Skrypt stworzony w języku JavaScript wyznacza cenę promocyjną dla swetrów w barwach: zielonej, niebieskiej (zmienna kolor) przy wydatkach przekraczających 200 zł (zmienna zakupy). Warunek niezbędny do obliczeń powinien być zapisany z użyciem wyrażenia logicznego?
Odpowiedź zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski') jest poprawna, ponieważ dokładnie spełnia warunki opisane w pytaniu. Wyrażenie logiczne składa się z dwóch głównych części: sprawdzenia, czy wartość zmiennej zakupy jest większa niż 200 oraz sprawdzenia, czy zmienna kolor jest równa 'zielony' lub 'niebieski'. Użycie operatora logicznego '&&' (AND) w połączeniu z '||' (OR) pozwala na zdefiniowanie warunków, które muszą być spełnione, aby uzyskać cenę promocyjną. Przykładowo, jeśli użytkownik kupi sweter za 250 zł w kolorze zielonym, warunek będzie prawdziwy, a cena promocyjna zostanie zastosowana. W kontekście standardów programistycznych, taka konstrukcja jest zgodna z najlepszymi praktykami pisania czytelnego i efektywnego kodu w JavaScript, gdzie zrozumiałość i logika wyrażeń warunkowych są kluczowe dla utrzymania i rozwoju aplikacji.
Pytanie 24
Jednym z typów testów jednostkowych jest analiza tras, która polega na
A. utworzeniu kilku zbiorów danych o zbliżonym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testu
B. określeniu punktu startowego i końcowego oraz badaniu dostępnych ścieżek pomiędzy tymi punktami
C. testowaniu obiektów pod kątem inicjalizacji oraz zwolnienia zarezerwowanej pamięci
D. testowaniu wartości granicznych zestawu danych
Rozumienie błędów w odpowiedziach może pomóc lepiej ogarnąć, o co chodzi z analizą ścieżek w testach jednostkowych. Testowanie wartości brzegowych, chociaż bardzo ważne dla jakości oprogramowania, skupia się tylko na granicach danych wejściowych i nie pokazuje pełnego obrazu możliwych ścieżek w kodzie. Z kolei sprawdzanie obiektów pod kątem pamięci to temat na inną rozmowę i niekoniecznie ma coś wspólnego z analizą ścieżek; chodzi o to, że to podejście nie dotyka, jak kontrola przepływu działa w kodzie. Robienie kilku zbiorów danych, które się powtarzają w przetwarzaniu, też nie jest tym samym, co badanie ścieżek, a raczej dotyczy testowania z użyciem takich danych. Dużym błędem jest to, że myślimy, iż analiza ścieżek to tylko spojrzenie na dane czy pamięć. W rzeczywistości trzeba patrzeć na całość programu, zarówno na dane, jak i logikę działania, co pokazuje, jak ważna jest analiza ścieżek w znajdowaniu problemów w kodzie.
Pytanie 25
Jak nazywa się proces, w trakcie którego identyfikuje się oraz eliminuje błędy w kodzie źródłowym aplikacji?
A. Debugowanie
B. standaryzacja
C. Normalizacja
D. Kompilacja
Debugowanie to proces, który polega na identyfikacji, analizie i usuwaniu błędów w kodzie źródłowym programów. Jest to kluczowy etap w cyklu życia oprogramowania, który zapewnia, że aplikacje działają zgodnie z zamierzonymi specyfikacjami. W praktyce debugowanie może obejmować różnorodne techniki, takie jak używanie narzędzi do analizy statycznej, wykonanie testów jednostkowych oraz korzystanie z debuggerów, które pozwalają na śledzenie wykonania kodu w czasie rzeczywistym. Dobre praktyki debugowania obejmują dokumentowanie napotkanych błędów, co może ułatwić ich ponowne wystąpienie oraz szybsze ich usunięcie w przyszłości. Debugowanie nie tylko poprawia jakość kodu, ale również ułatwia rozwój i utrzymanie oprogramowania, co jest zgodne z zasadami Agile i DevOps, gdzie ciągła integracja i dostarczanie są kluczowymi elementami procesu. W ten sposób debugowanie stanowi integralną część programowania, która wpływa na wydajność i stabilność tworzonych aplikacji.
Pytanie 26
W MS SQL Server predefiniowana rola o nazwie dbcreator umożliwia użytkownikowi
A. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
B. zarządzanie plikami na nośniku
C. tworzenie, aktualizowanie, usuwanie oraz przywracanie bazy danych
D. zarządzanie zabezpieczeniami systemu
Odpowiedź nr 3 jest poprawna, ponieważ rola dbcreator w MS SQL Server umożliwia użytkownikowi tworzenie, modyfikowanie, usuwanie oraz odzyskiwanie baz danych. Użytkownik z tą rolą ma prawo do pełnej kontroli nad bazami danych, co jest istotne w kontekście zarządzania i utrzymania infrastruktury danych. Przykład praktyczny to sytuacja, w której administrator bazy danych potrzebuje utworzyć nową bazę dla aplikacji. Dzięki roli dbcreator może to zrobić bez dodatkowych uprawnień. Rola ta jest zgodna z najlepszymi praktykami w zakresie zarządzania dostępem, gdzie ogranicza się uprawnienia do niezbędnego minimum, ale jednocześnie umożliwia wykonanie kluczowych zadań związanych z zarządzaniem bazą danych. Warto zaznaczyć, że nadmierne przyznawanie uprawnień może prowadzić do problemów związanych z bezpieczeństwem, dlatego istotne jest przydzielanie ról zgodnie z zasadą najmniejszych uprawnień (Least Privilege Principle). Użytkownicy z rolą dbcreator powinni być odpowiednio przeszkoleni i świadomi swoich działań, aby nie wprowadzać niezamierzonych zmian w środowisku produkcyjnym.
Pytanie 27
Jak nazywa się ikona wyświetlana przed adresem w pasku adresu lub przy tytule karty przeglądarki?
A. iConji
B. emoticon
C. webicon
D. favicon
Mała ikona wyświetlana w pasku adresu i na karcie przeglądarki obok tytułu nazywa się favicon (favorite icon). Dołącza się ją do strony np. znacznikiem <linkrel="icon">. Dlatego ta ikona to favicon.
Pytanie 28
Który zestaw pojęć opisuje interfejs użytkownika strony internetowej?
A. przyciski, menu, interakcja użytkownika z aplikacją
B. wysyłanie zapytań do bazy, skrypty PHP
C. obróbka danych, system zarządzania treścią, projektowanie informacji
D. szkic strony, diagram witryny, diagram przepływu informacji
Pozostałe zestawy dotyczą innych obszarów. Wysyłanie zapytań do bazy i skrypty PHP to warstwa serwerowa (back-end) - działa „w tle” i nie jest tym, co użytkownik klika. Szkic strony, diagram witryny i diagram przepływu informacji to artefakty etapu PROJEKTOWANIA, pomagające zaplanować serwis, lecz nie są samym interfejsem. Obróbka danych, CMS i projektowanie informacji opisują tworzenie i zarządzanie treścią, a nie warstwę, z którą styka się użytkownik. Interfejs to przyciski, menu i interakcja, dlatego ta odpowiedź jest poprawna.
Pytanie 29
Do utworzenia czego niezbędne jest zdefiniowanie klucza obcego?
A. relacji jeden-do-jednego (1..1)
B. klucza podstawowego
C. transakcji
D. relacji jeden-do-wielu (1..n)
Klucz obcy jest niezbędny do utworzenia relacji jeden-do-wielu (1..n) - to on, umieszczony po stronie „wielu”, wskazuje klucz główny tabeli po stronie „jeden”. Dlatego klucz obcy potrzebny jest do relacji 1..n.
Pytanie 30
W SQL instrukcja INSERT INTO
A. dodaje kolumny do istniejącej tabeli.
B. wprowadza nową tabelę.
C. wprowadza dane do tabeli.
D. modyfikuje rekordy przypisaną wartością.
Odpowiedź 'wprowadza dane do tabeli' jest poprawna, ponieważ polecenie INSERT INTO w języku SQL służy dokładnie do tego celu - do dodawania nowych rekordów (wierszy) do istniejącej tabeli w bazie danych. W praktyce, polecenie to pozwala na wprowadzenie danych zgodnych z określoną strukturą tabeli, co oznacza, że musimy dostarczyć wartości dla odpowiednich pól. Przykład użycia polecenia INSERT INTO: 'INSERT INTO pracownicy (imie, nazwisko, wiek) VALUES ('Jan', 'Kowalski', 30);' W tym przypadku, dodawany jest nowy rekord do tabeli 'pracownicy', wskazując konkretne wartości dla kolumn 'imie', 'nazwisko' oraz 'wiek'. Zgodnie z dobrą praktyką, przed wprowadzeniem danych do tabeli warto upewnić się, że są one zgodne z definicją kolumn, aby uniknąć błędów w czasie wykonywania polecenia. Ponadto, często zaleca się stosowanie transakcji, aby mieć możliwość wycofania wprowadzonych zmian w przypadku wystąpienia błędów. INSERT INTO jest fundamentalną częścią operacji CRUD (Create, Read, Update, Delete), które są podstawą zarządzania danymi w bazach danych, a jego właściwe zrozumienie jest kluczowe dla każdego, kto pracuje z SQL.
Pytanie 31
Zaprezentowano tabelę stworzoną za pomocą kodu HTML, bez zastosowania stylów CSS. Która część kodu HTML odnosi się do pierwszego wiersza tabeli?
A. C
B. D
C. B
D. A
Odpowiedź D jest prawidłowa, ponieważ używa znaczników <th> do zdefiniowania nagłówków kolumn w tabeli. Znaczniki <th> są używane w tabelach HTML do określania komórek nagłówkowych, które domyślnie są pogrubione i wyśrodkowane. Taki format jest zgodny z zasadami dostępności i użyteczności, ponieważ przeglądarki i czytniki ekranowe traktują <th> jako nagłówki, co poprawia zrozumienie struktury tabeli przez użytkowników. Znaczniki <b> w <th> dodatkowo stylizują tekst, co jest zgodne z przedstawionym obrazem. Używanie odpowiednich znaczników semantycznych to dobra praktyka, która zwiększa czytelność kodu i wspiera dostępność. W kontekście praktycznym, poprawne użycie <th> umożliwia lepsze formatowanie i interpretację danych w tabeli podczas renderowania w przeglądarkach, a także wspiera responsywne projektowanie, gdzie układ tabeli automatycznie dostosowuje się do różnych rozmiarów ekranów. Dlatego korzystanie z <th> do definiowania pierwszego wiersza jako nagłówka jest zgodne z najlepszymi praktykami projektowania stron internetowych.
Pytanie 32
Której wartości text-transform użyć, aby każda pierwsza litera wyrazu była wielka?
A.
capitalize
B.
underline
C.
lowercase
D.
uppercase
Wartość capitalize właściwości text-transform sprawia, że każda pierwsza litera WYRAZU staje się wielka (np. „ala ma psa” → „Ala Ma Psa”). Dlatego do tego efektu służy capitalize.
Pytanie 33
Instrukcja
REVOKE SELECT ON nazwa1 FROM nazwa2
w SQL pozwala na
A. usunięcie użytkownika z bazy danych
B. odbieranie przyznanych uprawnień użytkownikowi
C. przyznawanie uprawnień zgodnie z określonym schematem
D. przyznawanie dostępu do tabeli
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL jest używane do odbierania uprawnień użytkownikowi, co jest kluczowym aspektem zarządzania bezpieczeństwem w bazach danych. Umożliwia to administratorom kontrolowanie dostępu do danych, co jest istotne w kontekście ochrony informacji oraz zgodności z regulacjami prawnymi. Przykładowo, jeśli użytkownik 'nazwa2' miał wcześniej przyznane uprawnienia do wykonywania zapytań SELECT na tabeli 'nazwa1', użycie polecenia REVOKE pozwoli na ich cofnięcie. W praktyce, administratorzy baz danych często stosują to polecenie, aby ograniczyć dostęp do wrażliwych informacji, na przykład po zakończeniu projektu, w którym dany użytkownik nie powinien już mieć dostępu do danych. Takie działania są zgodne z najlepszymi praktykami w zakresie zabezpieczeń, które zalecają minimalizowanie uprawnień użytkowników do tylko tych niezbędnych do wykonywania ich obowiązków. Dodatkowo, warto również stosować audyty dostępu, aby na bieżąco monitorować, które uprawnienia są przyznawane i odbierane, co pozwala na lepsze zarządzanie bezpieczeństwem systemu.
Pytanie 34
W załączonym kodzie CSS, kolor został zapisany w formacie
color: #008000;
A. szesnastkowej
B. CMYK
C. dziesiętnej
D. HSL
Kolor w CSS może być definiowany na wiele sposobów jednak nie wszystkie formaty są odpowiednie w każdym kontekście. Format HSL reprezentuje kolory za pomocą trzech wartości: odcienia (Hue) nasycenia (Saturation) i jasności (Lightness). Choć jest intuicyjny i pozwala na łatwą manipulację jasnością i nasyceniem nie jest tak powszechnie stosowany jak format szesnastkowy zwłaszcza w dokumentach gdzie każdy bajt ma znaczenie. Format dziesiętny nie jest stosowany w CSS do reprezentacji kolorów ponieważ kolory w CSS nie są zapisywane jako wartości dziesiętne. Zamiast tego używa się systemu szesnastkowego lub funkcji takich jak rgb() lub rgba(). CMYK to przestrzeń barw stosowana w druku oparta na czterech kolorach: cyjanie magencie żółtym i czarnym (key). CMYK nie jest bezpośrednio używany w CSS ponieważ przeglądarki internetowe stosują przestrzeń barw RGB która jest lepiej dopasowana do wyświetlaczy ekranowych. Zrozumienie tych różnic jest kluczowe dla profesjonalnego zarządzania kolorami w projektach webowych. Wybór niewłaściwego formatu może prowadzić do błędów stylistycznych i niezamierzonych odstępstw od projektu dlatego ważne jest by zawsze dostosować sposób zapisu koloru do specyficznego kontekstu i wymagań projektu
Pytanie 35
Które typy danych w języku C++ służą do reprezentacji liczb zmiennoprzecinkowych (rzeczywistych)?
A. float,long
B. float,double
C. double,bool
D. double,short
Liczby zmiennoprzecinkowe (rzeczywiste) reprezentują w C++ typy float i double, przy czym double oferuje większą precyzję (podwójną). Dlatego to one przechowują wartości z częścią ułamkową.
Pytanie 36
Na ilustracji przedstawiono schemat rozmieszczenia elementów na stronie WWW, gdzie zazwyczaj umieszcza się stopkę strony?
A. 4
B. 5
C. 1
D. 2
Odpowiedź 5 jest poprawna ponieważ w typowym układzie strony WWW stopka umieszczana jest na samym dole strony i obejmuje całą jej szerokość. Stopka to sekcja strony internetowej która zawiera istotne informacje takie jak prawa autorskie polityka prywatności linki do mediów społecznościowych oraz dane kontaktowe. Jest to zgodne z konwencjami projektowania stron internetowych gdzie stopka pełni rolę miejsca do umieszczania informacji które są ważne lecz niekoniecznie powinny być umieszczone na samej górze strony. W praktyce projektowania stron internetowych stosuje się różne technologie takie jak HTML CSS oraz frameworki jak Bootstrap które umożliwiają łatwe tworzenie responsywnych stopek. Stopka powinna być dostępna na każdej podstronie co ułatwia nawigację użytkownikom. Takie rozmieszczenie poprawia również SEO poprzez umieszczanie linków wewnętrznych. Dbałość o szczegóły w projektowaniu stopki zgodnie z dobrymi praktykami UX/UI przyczynia się do lepszej użyteczności strony oraz zadowolenia użytkowników co jest kluczowe w nowoczesnym web designie.
Pytanie 37
Obiekt Samochod ma metodę spalanie. Jak ją WYWOŁAĆ?
A.
Samochod.spalanie_na100
B.
Samochod.spalanie()
C.
Samochod.kolor
D.
Samochod()
Metodę obiektu wywołuje się przez nazwę obiektu, kropkę, nazwę metody i NAWIASY: Samochod.spalanie(). Nawiasy oznaczają wykonanie metody (i miejsce na ewentualne argumenty). Dlatego poprawne jest Samochod.spalanie().
Pytanie 38
Jaki format CSS dla akapitu definiuje styl szarej ramki z następującymi cechami?
p { padding: 15px; border: 2px dotted gray; }
A. linia kreskowa; grubość 2 px; marginesy poza ramką 15 px
B. linia ciągła; grubość 2 px; marginesy między tekstem a ramką 15 px
C. linia ciągła; grubość 2 px; marginesy poza ramką 15 px
D. linia kropkowa; grubość 2 px; marginesy między tekstem a ramką 15 px
Odpowiedź numer jeden jest poprawna, ponieważ prawidłowo opisuje stylizację akapitu przy użyciu CSS zgodnie z przedstawionym kodem. Właściwość 'border' definiuje styl obramowania elementu. W tym przypadku użyto stylu 'dotted', który oznacza linię kropkowaną, o grubości 2 pikseli i kolorze szarym. Jest to użyteczne w sytuacjach, gdy chcemy wizualnie wyróżnić element, ale w sposób subtelny i nienachalny. Dodatkowo, właściwość 'padding' określa margines wewnętrzny, czyli odstęp między zawartością elementu a jego krawędzią. Zapewnienie marginesu wewnętrznego 15 pikseli pozwala tekstowi oddalić się od krawędzi obramowania, co zwiększa czytelność i estetykę. Praktyczne zastosowanie takich stylizacji można znaleźć w projektowaniu stron internetowych, gdzie często używa się różnych stylów obramowań do organizowania treści. Zgodność z dobrymi praktykami web designu zakłada użycie spójnych i intuicyjnych stylów, co poprawia doświadczenia użytkownika oraz ułatwia nawigację po stronie internetowej. Tego typu formatowanie jest zgodne ze standardami CSS, co czyni kod bardziej przewidywalnym i łatwiejszym w utrzymaniu
Pytanie 39
Z którego z pól klasy
Dane
można będzie uzyskać dostęp z zewnątrz, korzystając z obiektu stworzonego jako instancja tej klasy?
class Dane {
public $a;
private $b;
protected $c;
}
A. Do pola $b.
B. Do pola $c.
C. Do pola $a.
D. Do wszystkich pól.
Odpowiedź jest prawidłowa, ponieważ pole $a jest zadeklarowane jako publiczne, co oznacza, że jest dostępne z zewnątrz klasy i może być modyfikowane oraz odczytywane przez instancje tej klasy oraz inne klasy. Publiczne modyfikatory dostępu są standardową praktyką w programowaniu obiektowym, umożliwiającą swobodny dostęp do danych, co jest szczególnie przydatne w przypadku, gdy chcemy, aby dane były łatwo dostępne dla innych komponentów systemu. Na przykład, jeśli klasa Dane jest używana w aplikacji, możemy tworzyć obiekty tej klasy i bezpośrednio operować na polu $a, co sprzyja elastyczności i prostocie w zarządzaniu danymi. W dobrych praktykach programistycznych często wykorzystuje się publiczne pola w prostych strukturach danych, gdzie dostęp do danych musi być łatwy i szybki. Warto także pamiętać, że dostępność publicznych pól może być użyteczna w kontekście serializacji obiektów, gdzie prosto jest zmapować dane obiektu na format JSON lub XML.
Pytanie 40
Który efekt został zaprezentowany na filmie?
A. Przenikanie zdjęć.
B. Zwiększenie ostrości zdjęcia.
C. Zmiana jasności zdjęć.
D. Zmniejszenie kontrastu 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.