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: 27 kwietnia 2026 08:17
  • Data zakończenia: 27 kwietnia 2026 08:41

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

W relacyjnym modelu baz danych, termin krotka odnosi się do

A. liczby rekordów w danej tabeli
B. wszystkich wierszy tabeli łącznie z wierszem nagłówkowym
C. wierszy tabeli, z wyjątkiem wiersza nagłówkowego, w którym znajdują się nazwy kolumn
D. wszystkich kolumn tabeli, które zawierają atrybuty danego obiektu
W relacyjnym modelu baz danych, krotka odnosi się do jednego wiersza tabeli, który przechowuje zestaw atrybutów (kolumn) dla danego obiektu. Każda krotka jest zbiorem wartości, które są powiązane z określonymi kolumnami. Krotki stanowią fundamentalny element relacyjnych baz danych, w których dane są zorganizowane w formie tabel, co ułatwia ich przechowywanie, przetwarzanie oraz zapytania. Na przykład, w tabeli przechowującej informacje o klientach, każda krotka mogłaby zawierać dane takie jak imię, nazwisko, adres e-mail i numer telefonu. Wartości te są ze sobą powiązane i tworzą kompletny zestaw informacji dotyczący jednego klienta. Zgodnie z normami SQL, krotki są często przetwarzane za pomocą instrukcji SELECT, które umożliwiają pobieranie, modyfikację i zarządzanie danymi na poziomie pojedynczych wierszy. Krotki są nie tylko podstawą struktury danych, ale również fundamentem, na którym opierają się operacje na bazach danych, co czyni je kluczowym pojęciem w projektowaniu oraz zarządzaniu relacyjnymi bazami danych.

Pytanie 2

Zaprezentowano poniżej obsługę

if (!isset($_COOKIE[$nazwa]))
  echo "nie ustawiono!";
else
  echo "ustawiono: " . $_COOKIE[$nazwa];
A. bazy danych
B. sesji
C. zmiennych tekstowych
D. ciasteczek
Obsługa ciasteczek jest kluczowym elementem w zarządzaniu stanem w aplikacjach webowych. Ciasteczka, czyli małe pliki tekstowe przechowywane w przeglądarce użytkownika, pozwalają na śledzenie aktywności użytkownika między stronami i sesjami. W kodzie powyżej widzimy użycie globalnej tablicy PHP $_COOKIE do sprawdzania, czy ciasteczko o określonej nazwie zostało ustawione. Funkcja isset() sprawdza, czy zmienna jest zdefiniowana i nie jest null. Jeśli ciasteczko istnieje, jego wartość jest wyświetlana. Ciasteczka są powszechnie używane do zarządzania sesjami, personalizacji treści czy śledzenia zachowań użytkowników. W praktyce, zabezpieczenia są ważnym aspektem zarządzania ciasteczkami. Powinny być szyfrowane i oznaczone jako HttpOnly oraz Secure, aby zminimalizować ryzyko kradzieży informacji przez ataki XSS. Programiści powinni także stosować polityki prywatności zgodnie z regulacjami RODO, informując użytkowników o użyciu ciasteczek. Zrozumienie tych mechanizmów jest fundamentalne dla budowy bezpiecznych i funkcjonalnych aplikacji webowych.

Pytanie 3

Który z wymienionych systemów nie należy do systemów CMS?

A. WordPress
B. Joomla!
C. Drupal
D. Adobe Flash
Drupal, Joomla! oraz WordPress to systemy zarządzania treścią, które różnią się pod względem funkcji, architektury oraz grupy docelowej. Drupal jest zaawansowanym CMS-em, który dedykowany jest zarówno dla profesjonalnych twórców stron, jak i dużych organizacji, oferując niezwykle elastyczne możliwości konfiguracji oraz bogaty ekosystem modułów. Dzięki temu, użytkownicy mogą tworzyć skomplikowane strony internetowe i aplikacje webowe, zarządzając jednocześnie złożonymi strukturami treści. Joomla! to kolejny CMS o szerokim zastosowaniu, który łączy w sobie łatwość użycia z potężnymi funkcjami, co czyni go idealnym rozwiązaniem dla małych i średnich przedsiębiorstw. Oferuje szereg komponentów, które umożliwiają dodawanie różnych funkcji, takich jak galerie zdjęć, forum czy e-commerce. WordPress, z kolei, to najpopularniejszy CMS na świecie, znany z prostoty obsługi oraz bogatej biblioteki wtyczek i motywów. Jest idealny dla blogerów oraz osób chcących szybko stworzyć stronę internetową. Każdy z tych systemów ułatwia użytkownikom zarządzanie treścią, archiwizację, a także publikację bez potrzeby znajomości programowania, co czyni je niezastąpionymi narzędziami w tworzeniu nowoczesnych stron internetowych.

Pytanie 4

Aby stworzyć poprawną kopię zapasową bazy danych, która będzie mogła zostać później przywrócona, należy najpierw sprawdzić

A. spójność bazy
B. możliwość udostępnienia bazy danych
C. uprawnienia dostępu do serwera bazy danych
D. poprawność składni zapytań
Sprawdzanie możliwości udostępniania bazy danych jest ważne, ale nie ma bezpośredniego wpływu na jakość i integralność samej kopii bezpieczeństwa. Może to dotyczyć kwestii użytkowników i ról, jednak nawet przy poprawnym udostępnieniu, jeżeli dane są niespójne, kopia może być bezużyteczna. Prawa dostępu do serwera bazy danych, choć istotne z punktu widzenia bezpieczeństwa, również nie wpływają na jakość danych. Użytkownik mógłby mieć pełne prawa dostępu, ale to nie gwarantuje, że baza danych jest poprawna i gotowa do stworzenia kopii zapasowej. Poprawność składni zapytań to kolejny aspekt ważny dla efektywnego działania bazy danych, jednak w kontekście wykonywania kopii zapasowej, nie odnosi się bezpośrednio do spójności danych. Nawet poprawnie sformułowane zapytania mogą prowadzić do błędnych wyników, jeśli dane w bazie są w złym stanie. Dlatego też, żadne z wymienionych zagadnień nie zastąpi konieczności sprawdzenia spójności bazy jako kluczowego elementu przed wykonaniem kopii bezpieczeństwa.

Pytanie 5

Działaniem przedstawionego kodu PHP będzie wypełnienie tablicy. Działaniem przedstawionego kodu PHP będzie wypełnienie tablicy.

$tab = array();
for($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}
foreach ($tab as $x){
    if ($x < 0) echo "$x ";
}
A. kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych.
B. kolejnymi liczbami od 0 do 9 i wypisanie ich.
C. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich.
D. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych.
Niektóre odpowiedzi na to pytanie zawierają błędne koncepcje dotyczące sposobu, w jaki działa kod PHP. Na przykład, jedna z odpowiedzi sugeruje, że kod wypełni tablicę kolejnymi liczbami od -100 do 100, co jest błędne, ponieważ kod generuje losowe wartości, a nie sekwencyjne. Kolejna błędna odpowiedź sugeruje, że kod wypełnia tablicę liczbami od 0 do 9, co jest niezgodne z prezentowanym kodem, w którym liczby są generowane losowo i mogą mieć wartość ujemną. Wreszcie, jedna z odpowiedzi mówi, że kod wypisze tylko wartości dodatnie, co jest nieprawidłowe, ponieważ kod wypisuje tylko wartości ujemne. Zrozumienie, jak działa ten konkretny fragment kodu, jest ważne, ale równie ważne jest zrozumienie, dlaczego inne odpowiedzi są nieprawidłowe. Pomaga to zrozumieć, jakie są typowe pułapki i błędne podejścia w programowaniu PHP i jak ich unikać w przyszłości.

Pytanie 6

Jakiego języka należy użyć, aby stworzyć skrypt realizowany po stronie klienta w przeglądarki internetowej?

A. JavaScript
B. PHP
C. Python
D. Perl
JavaScript to język skryptowy, który super nadaje się do interakcji z użytkownikami w przeglądarkach. Właściwie to jedyny język z tej całej paczki, który działa po stronie klienta. To znaczy, że skrypty w JavaScript są interpretowane przez przeglądarkę, a nie przez serwer. Można go używać na przykład do zmieniania treści stron w locie, walidacji formularzy, animacji i różnych interaktywnych elementów. Jest też ważnym elementem w technologiach internetowych, obok frameworków jak React, Angular czy Vue.js, które pomagają tworzyć nowoczesne aplikacje webowe. Uważam, że każdy programista webowy powinien znać JavaScript przynajmniej na poziomie średnim, żeby wdrażać dobre praktyki dotyczące wydajności i UX. Standardy takie jak ECMAScript mówią, jak ten język ma działać, a jego wszechstronność sprawia, że obecnie jest jednym z najpopularniejszych języków programowania na świecie. Ostatnio dużo mówi się też o używaniu go po stronie serwera z Node.js.

Pytanie 7

Proces przetwarzania sygnału wejściowego w czasie, wykorzystujący zasadę superpozycji, jest związany z filtrem

A. o skończonej odpowiedzi impulsowej
B. niezmiennym w czasie
C. przyczynowym
D. liniowym
Filtr liniowy to taki, który w procesie przetwarzania sygnału spełnia zasadę superpozycji. Oznacza to, że wynik działania filtru na sumie sygnałów wejściowych jest równy sumie wyników działania filtru na poszczególne sygnały. W praktyce, filtry liniowe są powszechnie stosowane w różnych zastosowaniach, takich jak audio, telekomunikacja czy przetwarzanie obrazu, co wynika z ich zdolności do efektywnej analizy sygnałów. Przykładowo, w systemach audio, filtry liniowe mogą być używane do eliminacji szumów czy wzmacniania określonych częstotliwości, co pozwala na uzyskanie lepszej jakości dźwięku. Zgodnie z dobrą praktyką inżynieryjną, projektowanie filtrów liniowych opiera się na zrozumieniu ich charakterystyki częstotliwościowej oraz odpowiedzi impulsowej, co jest kluczowe dla osiągnięcia zamierzonych efektów w przetwarzaniu sygnałów.

Pytanie 8

Wartość kolumny w tabeli, która działa jako klucz podstawowy

A. jest zawsze w formacie numerycznym
B. jest wykorzystywana do szyfrowania treści tabeli
C. może mieć wartość pustą (NULL)
D. musi być unikalna
Istnieje wiele nieporozumień związanych z koncepcją klucza podstawowego w bazach danych. Po pierwsze, stwierdzenie, że klucz podstawowy zawsze musi być numeryczny, jest błędne. Klucze podstawowe mogą być zdefiniowane na podstawie różnych typów danych, takich jak tekst, daty czy inne formaty, pod warunkiem, że wartości te są unikalne. W rzeczywistości, wiele systemów zarządzania bazami danych (DBMS) wspiera klucze podstawowe oparte na typach tekstowych, na przykład numery identyfikacyjne użytkowników mogą być reprezentowane jako ciągi znaków. Kolejnym błędnym założeniem jest, że klucz podstawowy może przyjmować wartość pustą (NULL). W kontekście relacyjnych baz danych, klucz podstawowy nie może mieć wartości NULL, ponieważ jego podstawową funkcją jest jednoznaczna identyfikacja rekordów, a wartość pusta uniemożliwia taką identyfikację. Szyfrowanie zawartości tabeli przez klucz podstawowy również jest mylącym podejściem; klucz podstawowy nie służy do zabezpieczania danych, lecz do ich identyfikacji. W praktyce, aby zapewnić bezpieczeństwo danych, stosuje się inne metody, takie jak szyfrowanie danych w polach tabeli, a nie na poziomie klucza podstawowego. Takie nieporozumienia mogą prowadzić do poważnych błędów w projektowaniu baz danych oraz w ich późniejszym użytkowaniu, dlatego kluczowe jest zrozumienie podstawowych zasad funkcjonowania kluczy w kontekście relacyjnych baz danych.

Pytanie 9

Która z reguł dotyczących sekcji w HTML jest właściwa?

A. W sekcji <head> znajduje się sekcja <body>
B. W sekcji <head> mogą znajdować się znaczniki <meta>, <title>, <link>
C. W sekcji <head> można definiować szablon strony przy użyciu znaczników <div>
D. W sekcji <head> nie można umieszczać kodu CSS, tylko odwołanie do pliku CSS
Poprawnie wskazana zasada dotyczy tego, co zgodnie ze specyfikacją HTML powinno znajdować się w sekcji <head>. Ta część dokumentu przechowuje tzw. metadane, czyli informacje o stronie, a nie samą treść widoczną dla użytkownika. Właśnie dlatego typowe i jak najbardziej prawidłowe elementy w <head> to <meta>, <title> oraz <link>. Znacznik <title> ustawia tytuł strony wyświetlany na karcie przeglądarki i używany np. przez wyszukiwarki. Znaczniki <meta> służą m.in. do określenia kodowania znaków (np. <meta charset="UTF-8">), opisu strony, słów kluczowych, informacji dla robotów indeksujących czy ustawienia viewportu na urządzeniach mobilnych. Z kolei <link> pozwala podpiąć zewnętrzne zasoby, najczęściej arkusze stylów CSS (rel="stylesheet"), ale też np. ikony favicon. W praktyce w dobrze napisanym dokumencie HTML w <head> znajdziesz zwykle: deklarację <meta charset>, <meta name="viewport">, tytuł strony w <title>, link do pliku CSS przez <link rel="stylesheet" href="style.css"> oraz czasem dodatkowe meta tagi dla SEO czy integracji z social media (Open Graph, Twitter Cards). Z mojego doświadczenia warto pilnować porządku w <head>, bo przejrzysta i poprawna struktura ułatwia późniejsze utrzymanie projektu, poprawia dostępność, pozycjonowanie i ogólnie jest zgodna z dobrymi praktykami rekomendowanymi przez W3C i społeczność front‑endową. Moim zdaniem dobrze opanowana sekcja <head> to taki fundament profesjonalnej strony WWW, nawet jeśli użytkownik jej bezpośrednio nie widzi.

Pytanie 10

W ramce przedstawiono kod JavaScript z błędem logicznym. Program powinien wypisywać informację, czy liczby są sobie równe czy nie, lecz nie wykonuje tego. Wskaż odpowiedź, która dotyczy błędu.

var x = 5;
var y = 3;
if (x = y)     document.getElementById("demo").innerHTML = 'zmienne są równe';
else         document.getElementById("demo").innerHTML = 'zmienne się różnią';
A. W klauzuli if występuje przypisanie zamiast porównania.
B. Instrukcje wewnątrz sekcji if oraz else powinny być zamienione miejscami.
C. Przed klauzulą else nie powinno być średnika.
D. Nieprawidłowo zadeklarowano zmienne.
Gratulacje! Poprawnie zauważyłeś, że w klauzuli if występuje przypisanie zamiast porównania. W JavaScript, operatorem przypisania jest pojedynczy znak równości (=), natomiast operatorem porównania jest podwójny (==) lub potrójny znak równości (===). W przypadku prezentowanego kodu, zamiast porównać wartości zmiennych x i y, wartość zmiennej y jest przypisywana do zmiennej x, co prowadzi do błędu logicznego. Jest to typowy błąd, który często występuje, szczególnie u początkujących programistów. W praktyce, aby nie pomylić operatorów, warto zawsze umieszczać wartość stałą po lewej stronie operatora porównania - wtedy próba przypisania wartości stałej zwróci błąd kompilacji. Dodatkowo, niektóre narzędzia do analizy statycznej kodu, takie jak ESLint, mogą pomóc w wykrywaniu tego typu błędów.

Pytanie 11

W języku skryptowym JavaScript operatory: || oraz && należą do grupy operatorów

A. przypisania.
B. logicznych.
C. bitowych.
D. arytmetycznych.
Operatory || oraz && w JavaScript to klasyczne operatory logiczne. Działają na wartościach, które można zinterpretować jako prawdę lub fałsz (tzw. wartości truthy i falsy) i zwracają wynik wyrażenia logicznego. && oznacza „i” logiczne – całe wyrażenie jest prawdziwe tylko wtedy, gdy oba operandy są traktowane jako prawdziwe. || oznacza „lub” logiczne – wystarczy, że jeden z operandów jest prawdziwy, żeby całe wyrażenie było uznane za prawdę. W praktyce bardzo często wykorzystuje się je w instrukcjach warunkowych, np.: if (isLoggedIn && isAdmin) { … } albo if (isMobile || isTablet) { … }. W JavaScript te operatory mają jeszcze jedną, moim zdaniem bardzo przydatną cechę: nie zwracają po prostu true/false, tylko konkretną wartość jednego z operandów. Na przykład: const name = userName || "Gość"; – jeśli userName jest wartością „falsy” (np. pusty string, null, undefined), to do name trafi "Gość". To jest tzw. krótkie spięcie (short-circuit evaluation): przy operatorze &&, jeśli pierwszy operand jest falsy, drugi nie jest już w ogóle obliczany; przy ||, jeśli pierwszy jest truthy, drugi też nie jest sprawdzany. W dobrych praktykach front-endu wykorzystuje się to do prostego ustawiania wartości domyślnych, zabezpieczania wywołań funkcji (np. callback && callback()) oraz budowania bardziej czytelnych warunków. Warto też pamiętać o różnicy między operatorami logicznymi (&&, ||, !) a porównania (===, !==), bo to są różne grupy operatorów, chociaż często używa się ich razem w tych samych warunkach. Z mojego doświadczenia, świadome używanie tych operatorów logicznych bardzo upraszcza kod i zmniejsza liczbę if-ów rozrzuconych po skryptach.

Pytanie 12

Które z poniższych formatowań nie jest zapisane w języku CSS?

A. Fragment pliku strona.html: <body bgcolor="yellow">
B. Fragment pliku strona.html: <body style="background-color:yellow;">
C. Fragment pliku strona.html: <style> body {background-color: yellow;} </style>
D. Fragment pliku formatowanie.css: body {background-color: yellow;}
Fragment <body bgcolor="yellow"> nie jest wyrażony w języku CSS, lecz w przestarzałym atrybucie HTML, który został uznany za niezalecany w nowoczesnych praktykach webowych. CSS (Cascading Style Sheets) to język służący do stylizacji dokumentów HTML i definiuje wizualne aspekty strony internetowej niezależnie od jej struktury. Atrybut 'bgcolor' był popularny w starszych wersjach HTML, jednak obecnie powinno się go unikać z uwagi na separację treści od prezentacji. Zastosowanie CSS w stylach wewnętrznych lub zewnętrznych, takich jak body {background-color: yellow;} pozwala na bardziej elastyczne i wydajne zarządzanie stylami strony. Warto również zauważyć, że zgodnie z aktualnymi standardami W3C, zaleca się używanie CSS do stylizacji, co pozwala na lepszą responsywność i łatwiejsze utrzymanie kodu. Przykłady zastosowania CSS w praktyce pokazują, jak można w prosty sposób zmieniać wygląd elementów na stronie, co jest kluczowe w nowoczesnym web designie, zwłaszcza w kontekście tworzenia stron mobilnych.

Pytanie 13

Jakie skutki przynosi wielokrotne uruchomienie poniższego kodu PHP?

if (!isset($_COOKIE["ciastko"]) 
 $zm = 1; 
 else 
 $zm = intval($_COOKIE["ciastko"]) + 1; 
setcookie("ciastko", $zm);
A. Przechowywanie informacji w ciasteczku tylko przy pierwszym otwarciu strony.
B. Pokazanie ciasteczka z wartością zmiennej.
C. Liczenie liczby wejść na stronę.
D. Zapisywanie wartości 1 w ciasteczku przy każdym odświeżeniu strony.
Błędne odpowiedzi wskazują na zrozumienie podstawowych operacji związanych z ciasteczkami, ale nie uchwycają ich rzeczywistego zastosowania w kontekście analizy odwiedzin. Pierwsza z niepoprawnych opcji, dotycząca wyświetlenia ciasteczka z zapisaną zmienną, myli pojęcie z jego funkcją. Kod nie posiada żadnych instrukcji wyświetlania, a jedynie operuje na danych, które są zapisywane w ciasteczkach. Takie nieporozumienie jest powszechne wśród początkujących programistów, którzy mogą sądzić, że operacje na ciasteczkach automatycznie wiążą się z ich prezentacją użytkownikowi. Druga z opcji sugeruje, że ciasteczko jest ustawiane na wartość 1 przy każdym odświeżeniu strony, co jest nieprawidłowe. W rzeczywistości, wartość ciasteczka jest zwiększana z każdym odwiedzeniem, co oznacza, że wartość 1 jest przypisywana tylko przy pierwszym wejściu. To błędne zrozumienie działania ciasteczek prowadzi do mylnych konkluzji na temat ich zastosowania. Ostatnia propozycja sugeruje, że dane są zapisywane jedynie przy pierwszym uruchomieniu strony, co jest fałszywe, ponieważ aktualizacja ciasteczka zachodzi przy każdym nowym odczycie, a nie tylko przy pierwszym dostępie. Zrozumienie, jak działa mechanizm ciasteczek, jest kluczowe dla prawidłowego ich wykorzystania i analizy interakcji użytkownika z witryną.

Pytanie 14

W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w przedziale (0, 100), a wartość zmiennej b jest większa od zera. Jak można poprawnie zapisać taki warunek?

A. if ((a > 0 && a < 100) 11 b < 0)
B. if ((a > 0 11 a < 100) && b > 0)
C. if (a > 0 || a < 100 11 b < 0)
D. if (a > 0 && a < 100 && b > 0)
Odpowiedź if (a > 0 && a < 100 && b > 0) jest prawidłowa, ponieważ dokładnie odzwierciedla wymogi przedstawione w pytaniu. W tym przypadku, warunek sprawdza, czy zmienna 'a' jest większa od zera oraz mniejsza od 100, co oznacza, że mieści się w przedziale (0, 100). Dodatkowo, warunek b > 0 zapewnia, że zmienna 'b' ma wartość większą od zera. Użycie operatora logicznego && jest kluczowe, ponieważ pozwala na połączenie wszystkich trzech warunków, co oznacza, że wszystkie muszą być spełnione, aby blok kodu w instrukcji if został wykonany. W praktyce, ten typ instrukcji jest niezwykle użyteczny w różnorodnych aplikacjach, na przykład w systemach walidacji danych wejściowych, gdzie istotne jest sprawdzenie, czy wartości są w określonych zakresach przed przetwarzaniem. Dobrą praktyką jest zawsze stosowanie wyraźnych i zrozumiałych warunków logicznych w celu zwiększenia czytelności i utrzymania kodu, co jest zgodne z zasadami czystego kodowania.

Pytanie 15

Który z poniższych fragmentów kodu JavaScript zwróci true?

A. "def" > "abc"
B. "abc" > "def"
C. "ab" > "c"
D. "a" > "b"
Porównania 'a' > 'b', 'ab' > 'c' oraz 'abc' > 'def' nie zwracają wartości true z powodu zasad leksykalnego porównania ciągów tekstowych w JavaScript. W pierwszym przypadku, porównując 'a' do 'b', 'a' ma wartość Unicode 97, a 'b' wartość 98. Ponieważ 97 jest mniejsze niż 98, porównanie zwraca false. W drugim przypadku, 'ab' i 'c' są analizowane w ten sposób, że 'a' (97) jest mniejsze niż 'c' (99), co również skutkuje wynikiem false, ponieważ porównanie zaczyna się od pierwszych znaków. Ostatnie porównanie 'abc' > 'def' także zwraca false, ponieważ pierwszy znak 'd' (100) jest większy niż 'a' (97), co sprawia, że całe porównanie jest fałszywe. Warto zauważyć, że w przypadku porównań ciągów tekstowych, wielkość liter ma wpływ na wynik, dlatego 'A' będzie mniejsze od 'a', co może prowadzić do nieporozumień, szczególnie przy pracy z danymi użytkowników lub przy sortowaniu. Zrozumienie tych zasad jest kluczowe dla programistów, aby unikać błędów logicznych w kodzie.

Pytanie 16

Podczas przygotowywania grafiki na stronę internetową konieczne jest wycięcie jedynie określonego fragmentu. Jak nazywa się ta operacja?

A. zmiana rozmiaru.
B. kadrowanie.
C. lustrzane odbicie obrazu.
D. łączenie warstw.
Kadrowanie to proces polegający na wycinaniu fragmentu obrazu w celu skupienia uwagi na określonym elemencie lub poprawienia kompozycji. W kontekście grafiki internetowej, kadrowanie jest kluczowe, aby dostosować zdjęcia do wymagań wizualnych strony, zachowując jednocześnie wysoką jakość obrazu. Przykładowo, jeśli tworzymy stronę dla restauracji, możemy wyciąć fragment zdjęcia dania, aby lepiej zaprezentować jego szczegóły. Dobre praktyki w kadrowaniu obejmują stosowanie zasady trzech, która polega na umiejscowieniu kluczowych elementów obrazu w punktach przecięcia linii podziału. Warto również pamiętać o rozdzielczości i proporcjach, aby uniknąć rozmycia lub zniekształcenia obrazu. Kadrowanie jest często używane w różnych formatach wizualnych, takich jak posty w mediach społecznościowych, banery reklamowe czy galerie zdjęć. W ten sposób, odpowiednie kadrowanie przyczynia się do lepszej prezentacji treści oraz poprawia estetykę i przejrzystość strony internetowej.

Pytanie 17

W języku PHP pętla umieści liczby w tablicy

$x=0;
for($i=0; $i<10; $i++)
{
    $tab[$i]=$x;
    $x=$x+10;
}
A. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
B. 0, 10, 20, 30, 40, 50, 60, 70, 80, 90
C. 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
D. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Rozważmy, dlaczego inne odpowiedzi są niepoprawne. Pierwsza z nich sugeruje, że pętla wstawi do tablicy sekwencję od 0 do 10, co implikuje iterację, która zwiększa zmienną o 1. Jednak w analizowanym kodzie zmienna $x jest zwiększana o 10. Natomiast druga odpowiedź zakłada, że wartości w tablicy będą rosnąć od 0 do 9 co również wskazuje na niepełne zrozumienie mechanizmu działania pętli i inkrementacji zmiennej $x. Z kolei ostatnia odpowiedź sugeruje że do tablicy zostaną wstawione liczby kończące się na 100. To wskazuje na błędne przetworzenie pętli, w której zakres wartości $x nigdy nie dochodzi do 100 w żadnym z kroków iteracji. Typowym błędem myślowym w tych przypadkach jest niezrozumienie jak wartość zmiennej $x jest zmieniana w każdym kroku pętli oraz jak indeksy tablicy są przypisywane. Kluczowym elementem prawidłowego zrozumienia działania tego kodu jest dostrzeżenie, że pętla for kontroluje liczbę iteracji, a zmienna $x jest modyfikowana zgodnie z wyrażeniem $x=$x+10 przy każdym obrocie, co prowadzi do systematycznego zwiększania wartości dodawanej do tablicy.

Pytanie 18

W CSS określono styl dla pola do edycji, które będzie miało tło w kolorze jasnozielonym po aktywacji.

input:focus { background-color: LightGreen; }
A. gdy jest to pierwsze użycie tego elementu w dokumencie
B. w każdej sytuacji
C. jeśli zostanie na nie najechane kursorem bez kliknięcia
D. po kliknięciu myszką w celu wprowadzenia tekstu
Odpowiedź "po kliknięciu myszą w celu zapisania w nim tekstu" jest poprawna, ponieważ reguła CSS `input:focus { background-color: LightGreen; }` definiuje styl, który ma zastosowanie, gdy pole edycyjne (input) jest w stanie "focus". Stan ten jest aktywowany, gdy użytkownik klika na pole, co pozwala na wpisywanie tekstu. To podejście jest zgodne z zasadami dostępności i użyteczności interfejsów, ułatwiając użytkownikom interakcję z formularzami. Przykładowo, w formularzach online, takie wizualne wskazanie na aktywne pole poprawia doświadczenie użytkownika, zwiększa czytelność oraz umożliwia łatwiejsze wprowadzanie danych. Warto również pamiętać, że dobrym standardem jest stosowanie kolorów tła, które są kontrastowe w stosunku do kolorów tekstu, aby zapewnić ich czytelność. Ponadto, w praktyce developerskiej, często wykorzystuje się dodatkowe efekty, takie jak animacje, które mogą poprawić interaktywność i wyrazistość reakcji na działania użytkownika. Właściwe stosowanie stylów CSS w kontekście stanu focus jest więc kluczowe dla tworzenia przyjaznych dla użytkownika interfejsów.

Pytanie 19

Podany kod źródłowy ma na celu pokazanie

$liczba = 1;
while ($liczba != 0)
{
  $liczba = rand(0, 100);
  echo $liczba;
}
A. losowe liczby od 0 do 100 aż do momentu, gdy wylosowana zostanie wartość 0
B. liczby wprowadzane z klawiatury do momentu, gdy wczytana zostanie wartość 0
C. kolejne liczby od 1 do 100
D. wylosowane liczby od 1 do 99
Odpowiedź "losowe liczby od 0 do 100 tak długo, aż nie zostanie wylosowana wartość 0" jest poprawna, ponieważ kod źródłowy wykorzystuje funkcję rand(), która generuje losowe liczby z zadanego zakresu, w tym przypadku od 0 do 100. Pętla while działa w taki sposób, że kontynuuje swoje działanie, dopóki zmienna $liczba nie przyjmie wartości 0. Oznacza to, że wszystkie wylosowane liczby, niezależnie od tego, czy są to liczby parzyste, nieparzyste, czy wartości graniczne, będą wyświetlane na ekranie do momentu, aż wylosowana zostanie wartość 0, która przerwie działanie pętli. Przykładem zastosowania tego typu kodu może być generowanie próbki danych w celu testowania algorytmów lub symulacji. Praktyka ta jest zgodna z dobrymi standardami programowania, gdzie często wykorzystuje się losowe dane do różnych celów, takich jak testowanie, analizy statystyczne lub gry. Ponadto, rozumienie jak działa generowanie liczb losowych i kontrola pętli jest podstawową umiejętnością w programowaniu, która pomaga w rozwoju bardziej zaawansowanych aplikacji.

Pytanie 20

Jakie jest zadanie funkcji agregującej AVG w zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. określić najwyższą wartość spośród cen usług
B. obliczyć średnią arytmetyczną wartości wszystkich usług
C. sprawdzić, ile usług znajduje się w tabeli
D. zliczyć całkowity koszt wszystkich usług
Funkcja AVG w SQL jest jednym z podstawowych narzędzi do analizy danych w bazach danych. Jej głównym celem jest obliczenie średniej arytmetycznej wartości w kolumnie, co jest kluczowe w raportowaniu i analizie danych. W zapytaniu SQL SELECT AVG(cena) FROM uslugi; funkcja AVG jest użyta, aby uzyskać średnią cenę wszystkich usług zapisanych w tabeli uslugi. Taka średnia jest przydatna w wielu kontekstach biznesowych na przykład przy tworzeniu raportów finansowych czy analizie kosztów w celu optymalizacji oferty. Średnia arytmetyczna pozwala zrozumieć przeciętną wartość danego zestawu danych co jest istotne w podejmowaniu decyzji. Standardy branżowe zalecają użycie funkcji AVG wszędzie tam gdzie potrzebna jest szybka i efektywna analiza danych liczbowych. Zrozumienie działania funkcji AVG jest kluczowe w pracy z bazami danych SQL gdyż pozwala na bardziej złożone analizy jak np. porównanie średnich z różnych okresów czasu lub segmentów rynku.

Pytanie 21

W JavaScript utworzono obiekt. Jak zmienić wartość właściwości x tego obiektu w dalszej części kodu?

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. wsp.x = …
B. obiekt1.x = …
C. obiekt1::x = …
D. x = …
JavaScript to fajny język, który pozwala na pracę z obiektami, a właściwie to obiekty są jego podstawą. Chodzi o to, że można w nich przechowywać różne dane w formie par klucz-wartość. Gdy chcesz zmienić jakąś właściwość obiektu, używasz notacji kropkowej. To z pozoru proste, ale bardzo praktyczne. Po prostu wpisujesz nazwę obiektu, kropkę i nazwę właściwości, którą chcesz edytować. Na przykład mamy obiekt o nazwie obiekt1 i właściwość x. Żeby zmienić wartość x, piszesz obiekt1.x, a potem przypisujesz nową wartość. To wszystko jest zgodne z zasadami ECMAScript, które mówią, jak powinno się pracować z obiektami w JavaScript. Takie podejście jest nie tylko jasne, ale również umożliwia szybkie wskazanie, co dokładnie zmieniasz. W praktyce fajnie jest pokazać to na przykładzie, jak np. chcesz zaktualizować imię użytkownika w obiekcie, to robisz coś takiego: user.name = 'Jan'.

Pytanie 22

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. definiuje tablicę z trzema wartościami
B. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
C. określa tablicę zawierającą sześć wartości
D. jest niepoprawny, nieznany operator =>
Ten kod w PHP pokazuje, jak zdefiniować tablicę asocjacyjną z trzema elementami. To fajna sprawa, bo tablice asocjacyjne pozwalają na użycie kluczy, które nie muszą być tylko liczbami, a mogą być także opisowe, jak w tym przypadku. Klucze to 'imie', 'nazwisko' oraz 'wiek', a ich wartości to odpowiednio 'Anna', 'Nowak' i 21. Operator '=>' służy do przypisywania wartości do klucza - to dość typowa konstrukcja, bo ułatwia organizację danych. Podoba mi się, że tablice asocjacyjne w PHP są przydatne w różnych sytuacjach, na przykład do przechowywania danych użytkowników czy różnych ustawień. W sumie, ważne, żeby dbać o typy danych przypisywanych do kluczy, bo dzięki temu później łatwiej będzie się z nimi pracować. PHP ma dużo funkcji do pracy z tablicami, jak sortowanie czy iteracja, więc na pewno warto to znać.

Pytanie 23

Jak nazywa się platforma wspierająca rozwój oprogramowania w technologii .NET?

A. db2
B. framework
C. eclipse
D. middleware
Framework to kluczowy element w ekosystemie programowania w technologii .NET, który dostarcza zestaw narzędzi, bibliotek i standardów do tworzenia aplikacji. .NET Framework, opracowany przez firmę Microsoft, umożliwia deweloperom tworzenie różnorodnych aplikacji, od aplikacji webowych po aplikacje desktopowe i mobilne. Framework ten wspiera szeroki zakres języków programowania, w tym C#, Visual Basic i F#. Działa na zasadzie dostarczania środowiska uruchomieniowego oraz zestawu klas, które ułatwiają proces programowania, przyspieszając rozwój dzięki gotowym komponentom i wspólnym funkcjonalnościom. Przykładowo, ASP.NET, część .NET Framework, jest używany do budowy aplikacji webowych, co pozwala na łatwe implementowanie funkcji takich jak autoryzacja użytkowników, zarządzanie sesjami i integracja z bazami danych. Dzięki swojej architekturze, .NET Framework przestrzega standardów, takich jak Common Language Specification (CLS), co zapewnia interoperacyjność między różnymi językami programowania. Jest to fundament, na którym opiera się wiele nowoczesnych rozwiązań w świecie IT, co czyni go niezastąpionym narzędziem dla każdego programisty w technologii .NET.

Pytanie 24

W bazie danych istnieje tabela ksiazki, która posiada pola: tytul, id_autora, data_wypoz, id_czytelnika. Codziennie tworzony jest raport dotyczący książek wypożyczonych w danym dniu, który wyświetla jedynie tytuły książek. Która kwerenda SQL jest odpowiednia do generowania tego raportu?

A. SELECT * FROM ksiazki
B. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
C. SELECT tytul FROM ksiazki
D. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E()
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje funkcję CURRENT_DATE(), która zwraca bieżącą datę systemową. Zapytanie SQL SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE(); umożliwia wybranie jedynie tych książek, które zostały wypożyczone w dniu, w którym raport jest generowany. To podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi, ponieważ pozwala na efektywne filtrowanie danych bez zbędnych informacji. W kontekście bazy danych, operacje takie jak filtrowanie danych według daty są kluczowe dla tworzenia raportów, które są użyteczne i zrozumiałe dla użytkowników. Dzięki temu możemy na przykład generować codzienne zestawienia wypożyczeń książek, co jest szczególnie przydatne w bibliotekach oraz innych instytucjach zajmujących się wynajmem materiałów. Użycie odpowiednich funkcji w SQL jest nie tylko korzystne, ale również zwiększa efektywność procesów analitycznych oraz zarządzania danymi.

Pytanie 25

Która z poniższych zasad NIE WPŁYNIE pozytywnie na poprawę czytelności kodu?

A. Każda linia kodu powinna zawierać tylko jedną komendę
B. Warto dodawać komentarze w bardziej skomplikowanych fragmentach kodu
C. Kod powinien być tworzony bez wcięć oraz zbędnych enterów
D. Nazwy zmiennych powinny odzwierciedlać ich funkcję
Odpowiedź, że kod powinien być napisany bez wcięć i zbędnych enterów, jest poprawna, ponieważ w rzeczywistości brak wcięć i odpowiedniego formatowania znacząco obniża czytelność kodu. Wcięcia są kluczowe w wielu językach programowania, takich jak Python, gdzie definiują one blok kodu. Dobrze sformatowany kod, który wykorzystuje wcięcia i puste linie, ułatwia zrozumienie struktury programu i jego logiki. Przykładowo, w kodzie Pythona, brak wcięć skutkuje błędami składniowymi. Standardy kodowania, takie jak PEP 8 dla Pythona, jasno wskazują, że stosowanie wcięć jest nie tylko zalecane, ale wręcz wymagane dla utrzymania przejrzystości. Dobrze sformatowany kod zwiększa również jego utrzymywalność, co jest kluczowe w pracy zespołowej, gdzie wiele osób może pracować nad tym samym projektem. W praktyce, programiści często korzystają z narzędzi automatyzujących formatowanie kodu, co dodatkowo podnosi jego jakość i czytelność.

Pytanie 26

Który z linków ma prawidłową budowę?

A. <a href='http://adres'> tekst </a>
B. <a href="mailto:adres"> tekst </a>
C. <a href="http://adres"> tekst <a>
D. <a href='mailto:adres'> tekst </a>
Odpowiedzi, które nie spełniają standardów HTML, prowadzą do niepoprawnych wyników. Na przykład, użycie pojedynczych cudzysłowów w atrybucie href, jak w konstrukcji <a href='mailto:adres'> tekst </a>, choć działa w wielu przeglądarkach, nie jest zgodne z zaleceniami HTML5, które preferują podwójne cudzysłowy. Ten błąd może prowadzić do problemów z interpretacją przez parsery HTML, a w ekstremalnych przypadkach może uniemożliwić poprawne wyświetlanie odsyłaczy. Dodatkowo, ostatnia odpowiedź <a href="http://adres"> tekst <a> jest błędna, ponieważ nie zamyka znacznika <a>, co skutkuje usunięciem semantycznego znaczenia linku i może prowadzić do problemów z dostępnością oraz indeksowaniem przez wyszukiwarki. Tego typu błędy są często wynikiem niedbałości lub braku zrozumienia podstaw HTML. Poprawna konstrukcja odsyłaczy jest kluczowa w budowaniu dostępnych stron internetowych, które są łatwe do nawigacji i interpretacji przez różne urządzenia i technologie asystujące. Przykłady błędów w HTML mogą również prowadzić do frustracji użytkowników, którzy mogą mieć problemy z interakcją z witryną, co w efekcie wpływa na ich postrzeganie jakości i profesjonalizmu danej strony.

Pytanie 27

Po wykonaniu przedstawionego poniżej polecenia SQL użytkownik Ela będzie mógł

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. jedynie tworzenia i zmiany struktury tabel
B. jedynie dodawania i edytowania danych
C. wykonywania wszelkich działań na danych
D. wykonywania wszystkich operacji na strukturze danych
Przy analizie pytania o uprawnienia SQL istotne jest zrozumienie znaczenia poszczególnych komend w kontekście zarządzania bazą danych. Komenda GRANT w SQL służy do przyznawania określonych uprawnień użytkownikom względem danych w bazie. Odpowiedź sugerująca że użytkownik Ela może jedynie tworzyć i modyfikować strukturę tabel jest nieprawidłowa ponieważ polecenie nie zawiera DDL (Data Definition Language) które byłoby odpowiedzialne za tworzenie i modyfikację struktur takich jak CREATE czy ALTER. Uprawnienia INSERT i UPDATE dotyczą manipulacji danymi a nie strukturami. Z kolei sugerowanie że użytkownik może jedynie dodawać i modyfikować dane także jest błędne ponieważ DELETE i SELECT są kluczowymi operacjami w kontekście pełnego dostępu do danych pozwalając odpowiednio na usuwanie danych i ich odczyt. Ponadto stwierdzenie że użytkownik może wykonywać wszystkie operacje na strukturze danych także jest błędne ponieważ operacje DML (Data Manipulation Language) takie jak INSERT UPDATE DELETE SELECT nie odnoszą się do samej struktury a do zawartości tabeli. Typowe błędy myślowe w tym kontekście wynikają z mylenia operacji na danych z operacjami na strukturze co jest częstym problemem wśród początkujących administratorów baz danych. Zrozumienie różnicy pomiędzy DDL i DML jest kluczowe dla efektywnego zarządzania uprawnieniami i bezpieczeństwem baz danych co jest fundamentem pracy administratora. Prawidłowa interpretacja uprawnień i ich konsekwencji w kontekście bezpieczeństwa i zarządzania danymi jest nieodzownym elementem pracy z bazami danych.

Pytanie 28

Sprawdzanie poprawności wypełnienia formularza, które ma przebiegać po stronie klienta, powinno być wykonane w języku

A. JavaScript
B. Ruby on Rails
C. PHP
D. CSS
Zastosowanie CSS do weryfikacji formularzy jest nieodpowiednie, ponieważ CSS jest językiem stylizacji, a nie programowania. Jego głównym zadaniem jest określenie wyglądu i układu elementów na stronie, a nie logika operacji lub przetwarzanie danych. CSS nie ma możliwości interakcji z danymi użytkownika ani przeprowadzania jakichkolwiek obliczeń, co czyni go całkowicie nieadekwatnym narzędziem do walidacji formularzy. Z kolei PHP jest językiem skryptowym działającym po stronie serwera, co oznacza, że wszelkie operacje związane z weryfikacją danych musiałyby odbywać się po przesłaniu formularza, co prowadzi do złego doświadczenia użytkownika. Użytkownik musiałby czekać na odpowiedź serwera, co często wiąże się z opóźnieniami i frustracją. Ruby on Rails, jako framework do rozwijania aplikacji webowych, również nie jest odpowiednim rozwiązaniem do realizacji walidacji po stronie klienta. Jego zastosowanie koncentruje się głównie na logice po stronie serwera i tworzeniu aplikacji, a nie na interakcji użytkownika z interfejsem. Tym samym zarówno PHP, jak i Ruby on Rails nie są w stanie efektywnie zrealizować wymogu weryfikacji formularzy przed ich przesłaniem.

Pytanie 29

Strona internetowa została zaprezentowana w taki sposób:

Rozdział 1

tekst

Podrozdział 1.1

tekst

Podrozdział 1.2

Jakie są poprawne znaczniki do tego formatu?
A. <h1>Rozdział 1<p>tekst <h2>Podrozdział 1.1<p>tekst <h2>Podrozdział 1.2
B. <h1>Rozdział 1</h1> <p>tekst</p> <h2>Podrozdział 1.1</h2> <p>tekst</p> <h2>Podrozdział 1.2</h2>
C. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
D. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
Odpowiedź zawierająca znaczniki <h1>, <p> oraz <h2> jest poprawna, ponieważ odzwierciedla właściwą strukturę dokumentu HTML. Znaczniki nagłówków <h1> i <h2> są kluczowe dla hierarchii treści na stronie, co ma istotne znaczenie z punktu widzenia SEO oraz dostępności. Właściwe stosowanie tych znaczników wpływa na to, jak wyszukiwarki indeksują zawartość strony, a także ułatwia nawigację osobom korzystającym z urządzeń asystujących. Na przykład, znacznik <h1> powinien być używany raz na stronę, aby wskazać główny temat, podczas gdy <h2> może być stosowany do podziału treści na sekcje. Dodatkowo, znaczniki <p> są przeznaczone do wyświetlania akapitów tekstu, co jest standardową praktyką w tworzeniu treści webowych. Warto również pamiętać o zachowaniu odpowiednich zasad semantyki HTML, co bezpośrednio przekłada się na poprawę doświadczeń użytkowników oraz wydajność strony.

Pytanie 30

Dla przedstawionego fragmentu kodu

<img src="kwiat.jpg alt="kwiat">
walidator HTML zwróci błąd, ponieważ
A. użyto niewłaściwego znacznika do wyświetlenia grafiki
B. nie zamknięto cudzysłowu
C. nie odnaleziono pliku kwiat.jpg
D. użyto nieznanego atrybutu alt
W kodzie HTML zauważyłem mały błąd - brakuje ci domknięcia cudzysłowu dla atrybutu src. Powinno to wyglądać tak: <img src="kwiat.jpg" alt="kwiat">. No, cudzysłów jest ważny, bo bez niego przeglądarka może mieć problem z odczytaniem, gdzie kończy się wartość atrybutu. To może prowadzić do różnych, nieprzewidzianych efektów przy wyświetlaniu strony. Zasady W3C mówią, że każdy atrybut powinien być poprawnie sformatowany, żeby działało to na różnych przeglądarkach i urządzeniach. Pamiętaj też o atrybucie alt - jest kluczowy dla dostępności. Właściwe użycie cudzysłowów i dbałość o format kodu też wpływają na jego czytelność, a my przecież chcemy pisać jak najlepiej.

Pytanie 31

Jaką operację trzeba wykonać podczas edytowania zdjęcia w programie graficznym, aby zamienić białe tło na przezroczystość?

A. Zmienić saturację obrazu
B. Skadrować obraz
C. Dodać kanał alfa
D. Maksymalnie zmniejszyć jasność
Wybór odpowiedzi, która nie dotyczy dodania kanału alfa, prowadzi do fundamentalnych nieporozumień w zakresie obróbki obrazów w edytorach graficznych. Skadrowanie obrazu może pomóc w wyeliminowaniu niepożądanych elementów, jednak nie rozwiązuje problemu białego tła. Skadrowanie polega na przycinaniu obrazu do określonego obszaru, co oznacza, że wciąż zostanie zachowane białe tło, które nie jest usuwane, a jedynie ograniczane w widoczności. Zmiana saturacji obrazu odnosi się do intensywności kolorów, co również nie ma wpływu na przezroczystość tła - biały kolor pozostanie obecny, ale może stać się mniej intensywny. Modyfikacja jasności obrazu, w tym maksymalne jej zmniejszenie, skutkuje jedynie przyciemnieniem całego obrazu, a biały kolor zmienia się w szarość lub czernie, ale nie prowadzi do uzyskania przezroczystości. W praktyce, zrozumienie, że przezroczystość wymaga specyficznej manipulacji kanałem alfa, jest kluczowe dla skutecznej edycji grafiki. Często występuje błąd myślowy polegający na myleniu różnych operacji edycyjnych z efektem końcowym, dlatego ważne jest zdobycie wiedzy na temat podstawowych pojęć związanych z formatowaniem obrazów oraz ich właściwościami w kontekście obróbki graficznej.

Pytanie 32

Która z pętli w PHP umożliwia przeprowadzenie operacji na wszystkich elementach tablicy z automatycznym nadawaniem indeksów jej elementom?

A. do...while
B. while
C. for
D. foreach
Prawidłowa odpowiedź to 'foreach', ponieważ jest to specjalna pętla w języku PHP, która została stworzona z myślą o iteracji po elementach tablicy. Umożliwia ona wykonanie operacji na każdym elemencie tablicy bez potrzeby manualnego zarządzania indeksami, co jest szczególnie przydatne w sytuacjach, gdy nie znamy z góry liczby elementów w tablicy. Dzięki 'foreach' iteracja wygląda czytelnie i zwięźle, co znacząco poprawia czytelność kodu. Przykład zastosowania: jeśli mamy tablicę z nazwiskami, możemy użyć pętli 'foreach', aby wypisać każde nazwisko na ekranie. Dodatkowo, 'foreach' jest zgodne z najlepszymi praktykami programistycznymi, ponieważ ogranicza ryzyko wystąpienia błędów związanych z błędnymi indeksami i ułatwia utrzymanie kodu. Warto również zauważyć, że 'foreach' działa zarówno na tablicach numerycznych, jak i asocjacyjnych, co czyni ją elastycznym narzędziem dla programistów.

Pytanie 33

Aby przyznać użytkownikowi prawa do tabel w bazie danych, powinno się użyć polecenia

A. SELECT
B. CREATE
C. REVOKE
D. GRANT
Polecenie GRANT jest kluczowym elementem zarządzania uprawnieniami w systemach baz danych, takich jak MySQL, PostgreSQL czy Oracle. Umożliwia ono administratorom nadawanie określonych uprawnień użytkownikom lub rolom, co jest niezbędne do zapewnienia bezpieczeństwa danych oraz kontroli dostępu. Przykładowo, aby umożliwić użytkownikowi o nazwie 'Jan' dostęp do tabeli 'Klienci', można użyć polecenia: GRANT SELECT ON Klienci TO Jan; co przyznaje użytkownikowi prawo do odczytu danych z tej tabeli. Z perspektywy dobrych praktyk, zaleca się stosowanie minimalnych uprawnień, co oznacza, że użytkownik powinien mieć przyznane tylko te uprawnienia, które są mu niezbędne do wykonywania swoich zadań. Dzięki temu można zredukować ryzyko nieautoryzowanego dostępu do wrażliwych informacji. Dodatkowo, operacja GRANT może być stosowana w połączeniu z innymi poleceniami, takimi jak REVOKE, które służy do odbierania wcześniej nadanych uprawnień, co stanowi integralną część zarządzania bezpieczeństwem w bazach danych.

Pytanie 34

W języku JavaScript wartość typu boolean może być przedstawiana przez

A. 45.3
B. –20
C. true
D. null
Typ boolean w języku JavaScript jest jednym z podstawowych typów danych, reprezentującym jedynie dwie możliwe wartości: true (prawda) oraz false (fałsz). Typ ten jest kluczowy w programowaniu, umożliwiając tworzenie warunków oraz podejmowanie decyzji w kodzie. W praktyce, boolean jest wykorzystywany w instrukcjach warunkowych, takich jak if, gdzie wyrażenia zwracające wartość logiczną decydują o dalszym przebiegu programu. Na przykład, wyrażenie 'if (x > 10)' zwraca true, jeśli x jest większe od 10, i false w przeciwnym razie. JavaScript, zgodnie ze specyfikacją ECMA-262, nie tylko definiuje typ boolean, ale również określa sposób konwersji innych typów danych na boolean. Funkcje takie jak Boolean() oraz operatory logiczne (&&, ||, !) są używane do uzyskania wartości boolean z innych typów. Warto również zauważyć, że JavaScript stosuje tzw. "truthy" i "falsy" wartości, co oznacza, że niemal każdy typ danych może być interpretowany jako boolean w kontekście warunków, jednak tylko true i false są typowymi wartościami tego typu. Zrozumienie działania typu boolean jest fundamentalne dla programistów, umożliwiając skuteczne kontrolowanie przepływu programu oraz implementację logiki decyzyjnej."

Pytanie 35

W kodzie HTML zamieszczono link do strony internetowej:

<a href="http://google.com">strona Google</a>
Jakie dodatkowe zmiany należy wprowadzić, aby link otwierał się w nowym oknie lub zakładce przeglądarki, dodając do definicji linku odpowiedni atrybut?
A. rel = "next"
B. rel = "external"
C. target = "_blank"
D. target = "_parent"
Atrybut target w HTML ma na celu określenie, w jaki sposób ma być otwierany odnośnik. Wartość _blank wskazuje przeglądarkę, że nowa strona powinna zostać otwarta w nowym oknie lub zakładce. Jest to istotne dla poprawy użyteczności strony internetowej, gdyż użytkownicy mogą łatwo wrócić do oryginalnej strony po otwarciu nowego linku. W kontekście dobrych praktyk w projektowaniu stron internetowych, otwieranie odnośników w nowym oknie jest zalecane w przypadku linków zewnętrznych, aby użytkownik nie opuścił aktualnej witryny. Przykładem zastosowania jest link do dokumentacji czy zasobów zewnętrznych, gdzie ma to na celu zachowanie kontekstu przeglądania. Stosując ten atrybut, warto jednak pamiętać o tym, aby nie nadużywać go, ponieważ może to być irytujące dla użytkowników, którzy wolą kontrolować, kiedy nowe okno jest otwierane. Warto również pamiętać, że w nowoczesnych standardach HTML5 atrybut target jest często stosowany w połączeniu z atrybutem rel, aby określić, czy link jest zaufany czy nie. Umożliwia to jeszcze lepsze zarządzanie bezpieczeństwem użytkowników.

Pytanie 36

Która z metod wyświetlenia tekstu nie jest określona w języku JavaScript?

A. Metoda document.write()
B. Funkcja MessageBox()
C. Właściwość innerHTML
D. Funkcja window.alert()
Każda z podanych odpowiedzi, oprócz Funkcji MessageBox(), jest technicznie poprawna w kontekście języka JavaScript. Własność innerHTML pozwala na manipulację zawartością HTML elementów na stronie, co jest powszechnie stosowane w aplikacjach webowych do dynamicznego aktualizowania treści. Przykład użycia innerHTML: document.getElementById('elementId').innerHTML = '<p>Nowy tekst!</p>'; co zmienia zawartość elementu o określonym identyfikatorze na nowy tekst. Metoda window.alert() jest również powszechnie używana do informowania użytkowników o ważnych informacjach w prosty sposób, chociaż może być uważana za nieco przestarzałą w kontekście nowoczesnego UX. Dobrą praktyką jest unikanie nadmiernego korzystania z alertów, które mogą irytować użytkowników. Metoda document.write() z kolei, choć używana do dodawania treści do strony, jest zalecana do stosowania wyłącznie w kontekście ładowania strony, ponieważ użycie tej metody po załadowaniu strony może prowadzić do nadpisania całego dokumentu, co może być mylące i problematyczne. Dlatego ważne jest, aby zrozumieć kontekst użycia różnych metod JavaScript, aby uniknąć typowych pułapek i poprawić jakość interakcji użytkownika z aplikacjami webowymi.

Pytanie 37

Wykonano następującą kwerendę na tabeli Pracownicy:

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;

Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?

idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Monika, Ewelina, Maria.
B. Anna, Maria, Ewa.
C. Tylko Anna.
D. Tylko Maria.
Gratulacje, udzielona odpowiedź jest prawidłowa! Wykonana kwerenda SQL 'SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;' zwraca imiona pracowników, którzy albo mają nazwisko 'Kowal', albo zajmują stanowisko o numerze większym niż 2. W kontekście przedstawionej tabeli pracowników, taka kwerenda zwróci nam poprawną odpowiedź 'Anna, Maria, Ewa'. To dlatego, że Anna pracuje na stanowisku 3, co jest większe niż 2, Maria ma nazwisko 'Kowal', a Ewa pracuje na stanowisku 4, które jest również większe niż 2. SQL jako język zapytań pozwala na efektywne zarządzanie danymi, niezależnie od skomplikowania zapytania. W praktyce, gdy mamy do czynienia z dużym zbiorem danych, takie zapytania pomagają w szybkim filtrowaniu i dostępie do potrzebnych informacji. Dobrym standardem jest wymyślanie i testowanie zapytań SQL w celu zrozumienia, jakie dane zostaną zwrócone, zanim zapytanie zostanie użyte w prawdziwej aplikacji lub systemie.

Pytanie 38

Program napisany w PHP ma na celu obliczenie średniej pozytywnych ocen ucznia w zakresie od 2 do 6.
Warunek selekcji ocen w pętli liczącej średnią powinien zawierać wyrażenie logiczne

A. $ocena >= 2 and $ocena <= 6
B. $ocena >= 2 or $ocena <= 6
C. $ocena > 2 and $ocena < 6
D. $ocena > 2 or $ocena < 6
Wybór odpowiedzi $ocena >= 2 and $ocena <= 6 jest poprawny, ponieważ precyzyjnie określa zakres, w jakim dopuszczalne są oceny ucznia. Operator logiczny 'and' zapewnia, że obie części warunku muszą być spełnione jednocześnie: ocena musi być większa lub równa 2 oraz mniejsza lub równa 6. Taki sposób definiowania zakresu jest zgodny z dobrymi praktykami programowania, gdzie ważne jest, aby warunki logiki były jednoznaczne i precyzyjne. Dla przykładu, w kontekście obliczania średniej, wykorzystanie tego warunku pozwala na uwzględnienie wszystkich ocen, które są zgodne z regulaminem szkoły, co jest kluczowe dla uzyskania dokładnego wyniku. W praktyce, przy implementacji tego typu logiki w PHP, możemy spotkać się z używaniem podobnych zapytań w kontekście przetwarzania danych uczniów, co podkreśla znaczenie poprawnego definiowania warunków w programach. Dodatkowo, stosowanie takich wyrażeń pozwala na łatwe rozbudowywanie kodu, gdyż łatwo można dodawać nowe warunki lub modyfikować istniejące, co wpisuje się w założenia elastyczności i czytelności kodu.

Pytanie 39

W CSS zastosowano regułę: float:left; dla bloku. Jakie będzie jej zastosowanie?

A. wyrównanie tekstu do lewej strony
B. ustawienie bloku na lewo względem innych
C. umieszczanie bloków jeden pod drugim
D. dopasowanie elementów tabeli do lewej krawędzi
Wybór odpowiedzi dotyczący wyrównania elementów tabeli do lewej strony jest błędny, ponieważ reguła 'float: left;' nie dotyczy bezpośrednio tabel ani ich elementów. Tabele mają swoje własne mechanizmy układowe, które są inne niż te, które kontroluje reguła float. W przypadku wyrównania tekstu do lewej strony, stosuje się regułę 'text-align: left;', która jest odpowiednia dla elementów blokowych, ale nie jest związana z 'float'. Ustawienie bloków jeden pod drugim również nie jest zgodne z działaniem float, ponieważ ta reguła nie prowadzi do takiego układu, lecz wręcz przeciwnie – float powoduje, że elementy są ustawiane obok siebie. Warto zauważyć, że float działa głównie w kontekście obszaru, w którym się znajduje, a jego zastosowanie wymaga ostrożności, by nie wprowadzać problemów z układami, co wielu początkujących web developerów nie dostrzega. Typowym błędem jest mylenie float z flexboxem, który jest bardziej intuicyjny i zapewnia lepszą kontrolę nad układem. Dlatego kluczowe jest zrozumienie, kiedy i w jaki sposób stosować float w kontekście układów CSS, aby unikać nieporozumień i problemów w realizacji projektów.

Pytanie 40

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. grupowania.
B. części wspólnej.
C. wykluczenia.
D. sumy.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.