Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 09:42
  • Data zakończenia: 8 czerwca 2026 09:52

Egzamin zdany!

Wynik: 32/40 punktów (80,0%)

Wymagane minimum: 20 punktów (50%)

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

Który z przedstawionych obrazów ma zastosowany poniższy styl CSS?

img {
    padding: 5px;
    border: 1px solid grey;
    border-radius: 10px;
}
Ilustracja do pytania
A. C.
B. D.
C. A.
D. B.
Obraz A został sformatowany za pomocą stylu CSS, który określa podstawowe cechy estetyczne elementu graficznego. Pierwszym aspektem jest zastosowanie właściwości padding wynoszącej 5px, co oznacza, że wokół obrazu znajduje się wewnętrzny margines o szerokości 5 pikseli. To zapewnia przestrzeń między obrazem a jego ramką, zwiększając czytelność i estetykę wizualną. Następnie, użyto border o grubości 1px z kolorem solid grey. Ten cienki, szary obrys dodaje subtelny akcent, który pomaga wyróżnić obraz na tle strony. Wartość border-radius wynosi 10px, co dodaje zaokrąglone rogi, nadając nowoczesny wygląd. Takie zaokrąglenie jest często stosowane w nowoczesnym designie, aby nadać strony bardziej przyjazny i estetyczny wygląd. Stylizacja obrazów w ten sposób jest zgodna z zasadami responsywności i dostępności, co jest istotne w projektowaniu interfejsów użytkownika. Stosowanie takich technik pozwala na tworzenie spójnych i estetycznych stron internetowych, które są zgodne z obecnymi standardami UX i UI.

Pytanie 2

Aby zainstalować system CMS Joomla!, potrzebne jest środowisko

A. IIS, Perl oraz MySQL
B. Apache, PHP i MySQL
C. PHP oraz MySQL
D. Apache oraz PHP
Aby uruchomić system CMS Joomla!, niezbędne jest środowisko składające się z serwera Apache, języka PHP oraz bazy danych MySQL. Apache jest jednym z najpopularniejszych serwerów WWW, który obsługuje zapytania HTTP i serwuje zawartość stron internetowych. PHP to skryptowy język programowania, który jest powszechnie używany do tworzenia dynamicznych stron internetowych i aplikacji webowych. W kontekście Joomla!, PHP jest odpowiedzialne za przetwarzanie kodu i interakcję z bazą danych. MySQL natomiast to system zarządzania relacyjnymi bazami danych, który przechowuje wszystkie dane potrzebne do działania Joomla!, takie jak informacje o użytkownikach, artykułach i ustawieniach systemowych. Współpraca tych trzech komponentów tworzy stabilne środowisko do działania Joomla!, zapewniając optymalizację wydajności oraz bezpieczeństwo. Warto również zaznaczyć, że Joomla! wymaga minimum wersji PHP 7.2 oraz MySQL 5.5, aby zapewnić pełną funkcjonalność i wsparcie dla nowoczesnych rozwiązań webowych.

Pytanie 3

Która lista jest interpretacją przedstawionego kodu?

<ol>
    <li>muzyka
        <ul>
            <li>Wpis1</li>
            <li>Wpis2</li>
        </ul>
    </li>
    <li>filmy
        <ul>
            <li>Wpis3</li>
            <li>Wpis4</li>
        </ul>
    </li>
</ol>
A. Lista nieuporządkowana zawierająca wszystkie składniki, jeden za drugim.
B. Lista uporządkowana z dwoma składnikami, z których każdy ma wewnętrzną listę nieuporządkowaną.
C. Lista uporządkowana z sześcioma następującymi elementami.
D. Lista uporządkowana z podpunktami zapisanymi w formie numeracji dziesiętnej (np. 1.1, 1.2).
Przedstawiony kod HTML jest przykładem zagnieżdżonych list uporządkowanych i nieuporządkowanych. Na poziomie głównym użyto listy uporządkowanej oznaczonej tagiem <ol> która tworzy listę numerowaną. Listy zagnieżdżone opisane są za pomocą tagu <ul> co oznacza listy nieuporządkowane punktowane. Wewnętrzna struktura kodu pokazuje jak zagnieżdżać listy aby tworzyć hierarchiczne struktury które są często stosowane na stronach internetowych do organizowania treści. Taka organizacja danych jest szczególnie przydatna w przypadku tworzenia menu rozwijanych lub katalogów. Aby zrozumieć prawidłowość tej struktury należy zapoznać się z zasadą zagnieżdżania elementów w HTML gdzie jeden element może zawierać inne w celu tworzenia bardziej złożonych układów. Popularnymi zastosowaniami są również generowanie drzew katalogów oraz nawigacji w witrynach. Standardy HTML sugerują takie podejście do strukturyzacji danych aby były one semantycznie poprawne a zarazem łatwe do odczytania przez przeglądarki internetowe co zwiększa ich dostępność i użyteczność. Praktyka ta jest zgodna z dobrymi praktykami projektowania webowego gdzie zrozumiałość kodu oraz jego struktura są kluczowe dla dalszego rozwoju czy utrzymania aplikacji.

Pytanie 4

Przedstawiony kod języka PHP

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. definiuje tablicę z sześcioma wartościami.
B. jest błędny, nieznany operator =>
C. definiuje tablicę z trzema wartościami.
D. jest błędny, indeksami tablicy mogą być tylko liczby całkowite.
Dobra robota, wybrałeś właściwą odpowiedź! Ten kod PHP, który analizujesz, rzeczywiście ustawia tablicę asocjacyjną z trzema parami klucz-wartość. Tak naprawdę tablica asocjacyjna to coś w stylu tablicy, gdzie każdemu elementowi przypisujesz unikalny klucz zamiast numeru indeksu. No i ten operator '=>' to typowy element PHP, służy do przypisywania wartości kluczom w tablicach. W twoim przykładzie widzisz, że kluczami mogą być nie tylko liczby, ale też łańcuchy tekstowe. To naprawdę przydatne, szczególnie przy przechowywaniu informacji, które łatwo zidentyfikować – na przykład numery telefonów czy adresy e-mail. Pamiętaj, że w PHP tablica to jedna z podstawowych struktur danych. Może trzymać różne typy danych, takie jak liczby, teksty, obiekty czy inne tablice, a jej rozmiar może się zmieniać w trakcie działania programu.

Pytanie 5

Jaką wartość przyjmie zmienna $a po wykonaniu poniższej sekwencji poleceń w języku PHP?

$a = 1; $a++; $a += 10; --$a;
A. 1
B. 11
C. 10
D. 12
Gratulacje, Twoja odpowiedź jest prawidłowa. Instrukcje wykonane w kodzie PHP prowadzą do osiągnięcia wartości 11 przez zmienną 'a'. Proces ten jest realizowany w czterech krokach. Najpierw zmienna 'a' jest inicjowana wartością 1. Następnie wartość ta jest zwiększana o 1, co daje nam 2. Do tej wartości dodawane jest 10, co daje nam łącznie 12. Na końcu, wartość ta jest zmniejszana o 1, co daje nam ostateczną wartość 11. Warto przypomnieć, że w języku programowania PHP, tak jak w większości języków, operacje są wykonywane od lewej do prawej. To jest ważne do zapamiętania, gdy mamy do czynienia z bardziej skomplikowanymi sekwencjami operacji.

Pytanie 6

Dostępna jest tabela programisci, która zawiera pola: id, nick, ilosc_kodu, ocena. Pole ilosc_kodu wskazuje liczbę linii kodu stworzonych przez programistę w danym miesiącu. W celu obliczenia łącznej liczby linii kodu napisanych przez wszystkich programistów, należy zastosować poniższe polecenie

A. SELECT COUNT(programisci) FROM ilosc_kodu;
B. SELECT SUM(ocena) FROM ilosc_kodu;
C. SELECT MAX(ilosc_kodu) FROM programisci;
D. SELECT SUM(ilosc_kodu) FROM programisci;
Aby obliczyć sumę linii kodu napisanych przez wszystkich programistów w tabeli 'programisci', poprawne jest użycie zapytania SQL: SELECT SUM(ilosc_kodu) FROM programisci. Zapytanie to wykorzystuje funkcję agregującą SUM(), która sumuje wartości w określonej kolumnie, w tym przypadku 'ilosc_kodu'. Kolumna ta zawiera liczbę linii kodu napisanych przez każdego programistę w danym miesiącu. Przykładem zastosowania tego zapytania może być sytuacja, w której chcemy określić całkowitą produktywność zespołu programistycznego w danym okresie czasu. Możemy rozszerzyć to zapytanie, dodając klauzulę WHERE, aby zsumować tylko linie kodu z określonego miesiąca lub roku. Warto również pamiętać o standardach SQL oraz zasadach normalizacji baz danych, które zalecają unikanie redundancji danych i umożliwiają efektywne przetwarzanie zapytań. Dzięki poprawnym praktykom można zapewnić optymalizację wydajności bazy danych oraz ułatwić późniejsze analizy danych.

Pytanie 7

W PHP zmienna $_GET stanowi zmienną

A. zwykłą, utworzoną przez autora strony
B. utworzoną przez autora strony, przeznaczoną do przesyłania danych z formularza przez adres URL
C. predefiniowaną, wykorzystywaną do zbierania danych formularza po nagłówkach żądania HTTP (informacje z formularza nie są widoczne w URL)
D. predefiniowaną, służącą do przesyłania informacji do skryptów PHP przez adres URL
Zmienna $_GET w języku PHP jest predefiniowaną superglobalną tablicą, która służy do zbierania danych przesyłanych metodą GET, co oznacza, że dane te są dołączane do adresu URL po znaku zapytania. Umożliwia to łatwe przekazywanie informacji, takich jak wartości z formularzy, parametry zapytań czy identyfikatory produktów, w sposób czytelny dla użytkowników. Przykładowo, gdy użytkownik wypełnia formularz na stronie, a następnie klika przycisk przesyłania, dane są przesyłane do skryptu PHP, co można zobaczyć w adresie URL: `example.com/index.php?name=John&age=30`. Wartości te można następnie odczytać w skrypcie za pomocą $_GET['name'] i $_GET['age']. Warto dodać, że korzystanie z metody GET ma swoje ograniczenia, takie jak maksymalna długość adresu URL oraz możliwość przesyłania tylko danych tekstowych. W standardach bezpieczeństwa warto również pamiętać o sanitizacji i walidacji danych wejściowych, aby zapobiec atakom typu injection czy cross-site scripting (XSS).

Pytanie 8

W CSS określono styl paragrafu, który nada mu następujące właściwości:

background-color: red;
color: blue;
margin: 40px;
A. tło niebieskie, kolor tekstu czerwony, marginesy wewnętrzne na poziomie 40 px
B. tło niebieskie, kolor tekstu czerwony, marginesy zewnętrzne na poziomie 40 px
C. tło czerwone, kolor tekstu niebieski, marginesy wewnętrzne na poziomie 40 px
D. tło czerwone, kolor tekstu niebieski, marginesy zewnętrzne na poziomie 40 px
Poprawna odpowiedź wskazuje na tło czerwone, kolor tekstu niebieski oraz marginesy zewnętrzne ustawione na 40 px. W deklaracji CSS, przypisanie 'background-color: red;' skutkuje czerwonym tłem dla elementu, co jest zgodne z zasadami oznaczania kolorów w CSS, które pozwalają na zastosowanie nazw kolorów, kodów hex czy rgb. 'color: blue;' ustawia kolor tekstu na niebieski, co pozwala na lepszą czytelność tekstu na czerwonym tle. Z kolei 'margin: 40px;' definiuje marginesy zewnętrzne, co oznacza, że odległość od innych elementów na stronie wynosi 40 px. Takie praktyki są zgodne z dobrymi standardami projektowania, które sugerują stosowanie kontrastujących kolorów dla poprawy dostępności oraz przestrzeni między elementami dla lepszej struktury layoutu. Warto pamiętać, że marginesy zewnętrzne różnią się od marginesów wewnętrznych (padding), co często jest źródłem nieporozumień.

Pytanie 9

W formularzu HTML użyto znacznika <input>. Pole to będzie służyło do wprowadzania maksymalnie

<input type="password" size="30" maxlength="20">
A. 20 znaków, które są widoczne w trakcie wprowadzania
B. 20 znaków, które nie są widoczne w polu tekstowym
C. 30 znaków, które są widoczne w trakcie wprowadzania
D. 30 znaków, które nie są widoczne w polu tekstowym
Poprawna odpowiedź to 20 znaków, które nie są widoczne w polu tekstowym. Znacznik <input type="password"> w HTML jest używany do tworzenia pól wprowadzania, w których hasła lub inne wrażliwe dane są maskowane, co oznacza, że wpisywane znaki są pokazywane jako symbole, zwykle kropki. W atrybucie 'maxlength' określa się maksymalną liczbę znaków, które użytkownik może wprowadzić. W tym przypadku, atrybut 'maxlength="20"' oznacza, że użytkownik może wprowadzić maksymalnie 20 znaków, ale nie będą one widoczne w polu tekstowym, co zwiększa bezpieczeństwo. Dobrym przykładem zastosowania tego typu pola jest logowanie do systemów, gdzie ochrona danych użytkownika jest kluczowa. Stosowanie pól typu 'password' jest zgodne z zasadami ochrony prywatności i dobrymi praktykami w zakresie projektowania interfejsów użytkownika, które wymagają maskowania danych w celu minimalizacji ryzyka ich ujawnienia.

Pytanie 10

Zdefiniowano funkcję w języku PHP:

function policz($Z) { 
while($Z < 5) {
$Z += 2 * $Z + 1;
}
return $Z;
}
Funkcja policz została wywołana z parametrem $Z = 1. Jaki rezultat zostanie zwrócony?
A. 7
B. 13
C. 1
D. 4
W przypadku analizy odpowiedzi 7, 4 i 1 można zauważyć, że w każdym z tych przypadków nie uwzględniono pełnych obliczeń zachodzących w pętli while. Odpowiedź 7 może sugerować, że po pierwszej iteracji pętli przyjęto, że $Z przestaje być aktualizowane w kolejnych krokach, co jest nieprawidłowe. W rzeczywistości, wartości $Z są stale aktualizowane w każdej iteracji pętli, co prowadzi do znacznie większych wyników. Z kolei odpowiedź 4 pomija fakt, że po pierwszym obliczeniu $Z wynosi 4, ale nie jest to wartość końcowa, ponieważ pętla nie kończy się, dopóki warunek jest spełniony. Ostatecznie, odpowiedź 1 ignoruje całkowicie logikę funkcji i powtarzanie obliczeń, co prowadzi do błędnych założeń. Często przy takich zadaniach błędy myślowe wynikają z niewłaściwego zrozumienia działania pętli oraz mechanizmu aktualizacji zmiennej. Kluczowe jest, aby dokładnie przeanalizować każdy krok pętli i unikać pośpiechu w obliczeniach. W programowaniu należy zwracać uwagę na każde wyrażenie oraz jego konsekwencje dla dalszego działania algorytmu, aby nie przeoczyć istotnych zmian zachodzących w danych.

Pytanie 11

Jakie znaczniki należy zastosować, aby umieścić kod w języku PHP w pliku z rozszerzeniem .php?

A.
<php ... />
B.
<php> ... </php>
C.
<?php>...<php?>
D.
<?php ... ?>
Atrybut w bazie danych to nazwana KOLUMNA tabeli, opisująca jedną określoną cechę obiektu (encji) - np. w tabeli „Uczeń” atrybutami są „imię”, „nazwisko”, „klasa”. Każda krotka (wiersz) ma dla danego atrybutu konkretną wartość. Dlatego atrybut to nazwana kolumna opisująca cechę.

Pytanie 12

W dokumencie HTML stworzono formularz. Jakie działanie kodu zostanie pokazane przez przeglądarkę, jeśli w drugie pole użytkownik wprowadzi tekst „ala ma kota”?

Ilustracja do pytania
A. Efekt 4
B. Efekt 1
C. Efekt 2
D. Efekt 3
Efekt 2 jest poprawny ponieważ kod HTML przedstawia formularz zawierający element select oraz pole input typu password. Element select pozwala na wybór jednej z trzech opcji Kraków Poznań i Szczecin co widzimy w efekcie 2. Pole input typu password zasłania wpisywane przez użytkownika znaki co jest zgodne z przedstawionym obrazem gdzie w miejscu drugiego pola widoczne są zamaskowane znaki. To zabezpieczenie jest standardem w formularzach internetowych chroniącym dane przed nieuprawnionym dostępem. Przeglądarki internetowe interpretują typ password zamieniając wprowadzone znaki na symbole najczęściej kropki lub gwiazdki. Dla programistów webowych jest to istotne przy projektowaniu interfejsów użytkownika zapewniając zarówno funkcjonalność jak i bezpieczeństwo. Ważne jest również aby pamiętać o odpowiednim zarządzaniu danymi wprowadzonymi w polach password po stronie serwera zapewniając szyfrowanie i bezpieczne przechowywanie. Stosowanie elementu select w połączeniu z input type=password jest popularne w formularzach rejestracyjnych gdzie użytkownik wybiera opcję a następnie wprowadza hasło. Dobre praktyki obejmują również walidację danych po stronie klienta i serwera aby zapewnić poprawność i bezpieczeństwo wprowadzanych informacji.

Pytanie 13

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest pokazane na dołączonym rysunku?

Ilustracja do pytania
A. Joomla!
B. WordPress
C. MediaWiki
D. Drupal
Odpowiedź Joomla! jest poprawna ponieważ logo przedstawione na rysunku jest oficjalnym znakiem identyfikacyjnym tego systemu zarządzania treścią CMS. Joomla! to jeden z najpopularniejszych systemów CMS używany do tworzenia stron internetowych oraz aplikacji. Dzięki swojej elastyczności i dużej liczbie dostępnych rozszerzeń Joomla! pozwala na tworzenie zarówno prostych stron wizytówkowych jak i zaawansowanych serwisów e-commerce. Główne zalety Joomla! to intuicyjny interfejs użytkownika który ułatwia zarządzanie treściami oraz silna społeczność użytkowników zapewniająca wsparcie techniczne i rozwój oprogramowania. Joomla! jest zgodna z wieloma standardami webowymi co czyni ją wszechstronnym narzędziem do wdrażania profesjonalnych projektów internetowych. Korzystanie z Joomla! umożliwia szybkie i efektywne tworzenie responsywnych stron które dobrze współdziałają na różnych urządzeniach mobilnych. Praktyczne zastosowanie Joomla! obejmuje tworzenie stron korporacyjnych portali społecznościowych oraz serwisów informacyjnych. Dzięki modulowej architekturze użytkownicy mogą łatwo dostosowywać funkcjonalność swoich stron do specyficznych potrzeb branżowych co jest zgodne z dobrymi praktykami projektowania zorientowanego na użytkownika. Platforma Joomla! obsługuje także wielojęzyczność i różne metody uwierzytelniania co czyni ją idealnym rozwiązaniem dla międzynarodowych projektów.

Pytanie 14

Jak brzmi nazwa metody sortowania, która polega na wielokrotnym analizowaniu kolejnych elementów tablicy oraz zamianie miejscami sąsiadujących elementów, aby utrzymać porządek według ustalonej reguły?

A. Sortowanie kubełkowe
B. Sortowanie bąbelkowe
C. Sortowanie szybkie
D. Sortowanie przez wybór
Sortowanie bąbelkowe, znane także jako Bubble Sort, to jedna z najprostszych metod sortowania, która polega na wielokrotnym przechodzeniu przez tablicę i porównywaniu par sąsiadujących elementów. Jeśli dany element jest większy od swojego sąsiada, następuje ich zamiana miejscami. Ta metoda sprawdza tablicę wielokrotnie, aż do momentu, gdy nie są już potrzebne żadne zamiany, co oznacza, że tablica jest posortowana. Przykładem zastosowania sortowania bąbelkowego mogą być sytuacje, gdy mamy do czynienia z niewielkimi zbiorami danych, na przykład w aplikacjach edukacyjnych, które mają na celu naukę podstaw algorytmiki. Warto pamiętać, że mimo swojej prostoty, sortowanie bąbelkowe ma złożoność czasową O(n²), co sprawia, że nie jest efektywne dla dużych zbiorów danych. Mimo to, jego zrozumienie stanowi dobry punkt wyjścia do nauki bardziej zaawansowanych algorytmów sortujących."

Pytanie 15

W przedstawionym kodzie JavaScript, który został ponumerowany dla przejrzystości, występuje błąd uniemożliwiający wyświetlenie jakiegokolwiek komunikatu po uruchomieniu. Jak można go naprawić?

1  if(a < b)
2      document.write(a);
3      document.write("jest mniejsze");
4  else
5      document.write(b);
6      document.write("jest mniejsze");
A. dodać znak $ przed nazwami zmiennych
B. zmienić znaki cudzysłowu na apostrof w liniach 3 i 6, np. 'jest mniejsze'
C. wprowadzić nawiasy klamrowe w sekcji if i else
D. umieścić zmienne a i b w cudzysłowie w liniach 2 i 5
Odpowiedź o wstawieniu nawiasów klamrowych do sekcji if oraz else jest prawidłowa, ponieważ w JavaScript, gdy warunek if lub else obejmuje więcej niż jedną instrukcję, należy użyć nawiasów klamrowych, aby zgrupować te instrukcje. W przeciwnym razie, język traktuje jako część bloku kodu tylko pierwszą instrukcję. W omawianym kodzie, bez nawiasów klamrowych, tylko pierwsze wywołanie document.write w każdej z sekcji jest wykonywane, co skutkuje brakiem komunikatu w przypadku, gdy warunek jest spełniony. Przykładowo, poprawny kod powinien wyglądać tak: if (a < b) { document.write(a); document.write('jest mniejsze'); } else { document.write(b); document.write('jest mniejsze'); }. Nawiasy klamrowe są standardową praktyką, która poprawia czytelność kodu oraz ułatwia jego modyfikację w przyszłości, co jest zgodne z zasadami dobrego programowania.

Pytanie 16

Jaką właściwość pola w tabeli powinno się ustawić, aby akceptowało ono wyłącznie dane liczbowe?

Ilustracja do pytania
A. Tagi inteligentne
B. Maskę wprowadzania
C. Wartość domyślną
D. Regułę sprawdzania poprawności
Maska wprowadzania to opcja pozwalająca na zdefiniowanie wzorca, według którego użytkownicy mogą wprowadzać dane do pola w bazie danych. W przypadku konieczności przyjmowania wyłącznie cyfr, maska wprowadzania może ograniczyć użytkownika do wpisywania numerów, co jest szczególnie przydatne w aplikacjach wymagających precyzyjnego formatu danych, takich jak numery telefonów, kody pocztowe czy numery identyfikacyjne. Maska zapewnia spójność danych oraz minimalizuje ryzyko błędnych wpisów. Przykładowo, maska 0000-000-000 może być użyta do wymuszenia formatu numeru telefonu, gdzie każda liczba 0 reprezentuje wymaganą cyfrę. W branży IT oraz w procesie projektowania systemów bazodanowych, takie rozwiązania przyczyniają się do podniesienia jakości danych oraz upraszczają proces ich przetwarzania. Stosowanie masek wprowadzania jest zgodne z najlepszymi praktykami w dziedzinie zarządzania danymi, które podkreślają znaczenie walidacji danych na poziomie aplikacji oraz baz danych, aby uniknąć nieprawidłowych lub niekompletnych danych w systemie.

Pytanie 17

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Progowanie.
B. Krzywe.
C. Barwienie.
D. Inwersja.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 18

W języku JavaScript zapis

x = przedmiot.nazwa();
oznacza, że
A. nazwa jest polem klasy przedmiot.
B. nazwa jest właściwością obiektu przedmiot.
C. zmienna x będzie przechowywać wynik działania metody nazwa.
D. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
Twoja odpowiedź jest poprawna. W języku JavaScript, zapis 'x = przedmiot.nazwa();' oznacza wywołanie metody 'nazwa' na obiekcie 'przedmiot' i przypisanie zwróconego przez nią wyniku do zmiennej 'x'. Metoda to funkcja zdefiniowana w kontekście obiektu. Ten zapis jest stosowany, gdy chcesz wykonać określone działanie na obiekcie i przechować wynik dla dalszego użycia. Jest to zgodne ze standardami i dobrymi praktykami JavaScript, które zalecają wykorzystywanie metod obiektów do manipulacji ich stanem. Dzięki temu, kod jest bardziej zorganizowany, czytelny i łatwiejszy do utrzymania.

Pytanie 19

W JavaScript funkcja document.getElementById(id) ma na celu

A. zwrócić referencję do pierwszego elementu HTML o wskazanym id
B. pobrać wartości z formularza i przypisać je do zmiennej id
C. umieścić tekst o treści ’id’ na stronie internetowej
D. zweryfikować poprawność formularza o identyfikatorze id
Fajnie, że zwróciłeś uwagę na metodę document.getElementById(id). To naprawdę ważne narzędzie w JavaScript, jeśli chodzi o pracę z DOM. Dzięki niej możesz łatwo znaleźć element HTML, który ma konkretny identyfikator, co jest super przydatne, gdy chcesz coś zmienić na stronie. Na przykład, żeby zmienić tekst nagłówka, używasz: document.getElementById('header').innerText = 'Nowy tekst nagłówka'. Warto pamiętać, żeby identyfikatory były unikalne, bo to potem ułatwia odnajdywanie i manipulację tymi elementami. Unikaj też zbyt ogólnych nazw, bo to może prowadzić do zamieszania. Metoda ta jest naprawdę szeroko stosowana w nowoczesnym programowaniu stron internetowych, co czyni strony bardziej interaktywnymi i dynamicznymi.

Pytanie 20

Wskaż fragment CSS, który odpowiada rozkładowi bloków 2-5, zakładając, że zostały one zbudowane na podstawie podanego kodu HTML.

Ilustracja do pytania
A. Kod 2
B. Kod 1
C. Kod 3
D. Kod 4
Niepoprawne podejścia w pozostałych kodach wynikają z niewłaściwego użycia właściwości float oraz clear. W Kodzie 1 użycie float: right; dla czwartego bloku jest poprawne, jednak clear: both; dla piątego bloku powoduje, że nie będzie on kontynuował linii z poprzednimi blokami, co nie pasuje do przedstawionego układu. Clear: both; wymusza przeniesienie bloku poniżej aktualnej linii. Kod 3 charakteryzuje się brakiem właściwości clear, co prowadzi do problemów z układem, gdyż blok 5 ułożony float: right; nie rozpocznie nowego wiersza, co jest potrzebne w tym zadaniu. W Kodzie 4 brak jest jakiegokolwiek użycia właściwości float lub clear dla bloków 3, 4 i 5 co uniemożliwia osiągnięcie założonego układu. Brak float dla trzeciego i czwartego bloku spowoduje, że będą one umieszczone pod sobą jako blokowe elementy domyślnie, co nie pasuje do układu. Prawidłowa organizacja układu bloków za pomocą właściwości float opiera się na odpowiednim przypisaniu float: left; lub right; oraz strategicznym użyciu clear, aby kontrolować przepływ elementów w wierszach. Typowym błędem jest niezrozumienie, że clear resetuje przepływ dla kolejnego bloku, co jest kluczowe w manipulacji wyglądem layoutu blokowego w starszych technikach CSS. Takie błędy mogą prowadzić do nieprzewidywalnych rezultatów, zwłaszcza gdy układ jest testowany na różnych przeglądarkach i rozdzielczościach ekranów, co podkreśla znaczenie testowania i walidacji CSS w kontekście projektów webowych. Stosowanie zasad float i clear wymaga precyzyjnego planowania, by unikać konfliktów w przepływie i zachować spójność wizualną projektu webowego.

Pytanie 21

Aby na stronie internetowej wyswietlic logo, ktorego tlo jest przezroczyste, nalezy zastosowac format:

A. CDR
B. PNG
C. BMP
D. JPG
PNG (Portable Network Graphics) to jedyny z wymienionych formatow, ktory zachowa przezroczyste tlo logo na stronie internetowej. Decyduje o tym kanal alfa - dodatkowa informacja o przezroczystosci kazdego piksela, dzieki ktorej miejsca bez grafiki pozostaja puste i przepuszczaja tlo strony. Logo wpasowuje sie wtedy w dowolne tlo bez bialego prostokata dookola. PNG stosuje przy tym kompresje bezstratna, wiec ostre krawedzie liter i jednolite barwy logo nie zostaja rozmyte. Format jest obslugiwany przez wszystkie przegladarki, co czyni go standardowym wyborem dla grafik z przezroczystoscia w sieci WWW.

Pytanie 22

W języku C, aby zdefiniować stałą, należy zastosować

A. const
B. #const
C. #INCLUDE
D. static
Wybór innych odpowiedzi wskazuje na pewne nieporozumienia dotyczące podstaw języka C. Użycie słowa kluczowego 'static' nie jest związane z deklarowaniem stałych, lecz określa zasięg oraz czas życia zmiennych. Zmienna zadeklarowana jako 'static' zachowuje swoją wartość pomiędzy wywołaniami funkcji, co jest zupełnie inną koncepcją niż ochrona wartości przed modyfikacją. Z kolei '#const' to niepoprawna składnia, ponieważ w języku C nie istnieje taki preprocesor. Preprocesory, takie jak '#define', są używane do definiowania makr, ale nie do deklarowania stałych. Przykładowo, '#define PI 3.14' tworzy makro, które jest zastępowane w kodzie, ale nie zapewnia typowania zmiennych, co może prowadzić do trudnych do zdiagnozowania błędów. Ostatnia odpowiedź, '#INCLUDE', odnosi się do preprocesora, który jest używany do włączania plików nagłówkowych, a nie do definiowania stałych. Często mylone jest podejście do użycia preprocesorów z możliwością deklarowania stałych, co może prowadzić do nieefektywnego zarządzania kodem i trudności w jego zrozumieniu. Kluczowe jest rozróżnienie tych koncepcji, aby uniknąć typowych błędów myślowych i zapewnić, że kod będzie zarówno funkcjonalny, jak i łatwy do utrzymania.

Pytanie 23

W tabeli pokazano cechy pliku graficznego. Aby rysunek ładował się szybciej na stronie WWW, należy

Wymiary: 4272 x 2848px
Rozdzielczość: 72 dpi
Format: JPG
A. zmienić proporcje szerokości do wysokości
B. zwiększyć rozdzielczość
C. zmniejszyć wymiary rysunku
D. zmienić format grafiki na CDR
Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę WWW. Mniejsze wymiary oznaczają mniejszą ilość danych do przesłania, co skraca czas ładowania strony. Praktycznym przykładem jest zmniejszenie wymiarów obrazu z 4272 x 2848 pikseli do bardziej standardowego rozmiaru, jak np. 1920 x 1080 pikseli dla grafik wyświetlanych na ekranach. Zmniejszenie wymiarów nie tylko przyspiesza ładowanie ale także zmniejsza zużycie transferu danych co jest istotne przy ograniczeniach mobilnych. Warto pamiętać że mniejsze grafiki są też mniej zasobożerne dla urządzeń użytkowników co wpływa na ogólną wydajność strony. Zastosowanie odpowiednich wymiarów jest zgodne z dobrymi praktykami optymalizacji webowej rekomendowanymi przez Google PageSpeed Insights i inne narzędzia analityczne. Optymalizacja grafiki poprzez zmniejszenie jej wymiarów jest podstawową czynnością w procesie tworzenia responsywnych i szybko działających witryn internetowych.

Pytanie 24

Aby zmienić wartość atrybutu elementu opisanego w CSS przy użyciu skryptu JavaScript, należy zastosować następujący zapis

A. document.getElementById(id).innerHTML = <nowa wartość>
B. document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>
C. document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>
D. document.getElementById(id).<nazwa właściwości> = <nowa wartość>
Odpowiedź "document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>;" jest poprawna, ponieważ umożliwia bezpośrednią modyfikację stylu CSS elementu HTML o określonym identyfikatorze. Przy użyciu metody getElementById() uzyskujemy dostęp do konkretnego elementu w DOM (Document Object Model), a następnie poprzez właściwość style, możemy zmieniać różne atrybuty CSS. Na przykład, aby zmienić kolor tła elementu, możemy napisać: document.getElementById('myElement').style.backgroundColor = 'red';. Wartością, którą przypisujemy, jest odpowiednia właściwość CSS, co czyni ten sposób zgodnym z dobrymi praktykami w programowaniu JavaScript. Dodatkowo, korzystając z tej metody, możemy dynamicznie dostosowywać styl elementów na stronie w odpowiedzi na interakcje użytkownika, co jest kluczowe w nowoczesnych aplikacjach webowych. Warto też zauważyć, że zmiany dokonane w ten sposób są natychmiast widoczne na stronie, co przyczynia się do lepszego doświadczenia użytkownika.

Pytanie 25

Przedstawione zapytanie MySQL ma za zadanie

ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL;
A. zmienić nazwę kolumny w tabeli ksiazki.
B. dodać do tabeli ksiazki kolumnę tytul.
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 26

Aby przekształcić tekst "ala ma psa" na "ALA MA PSA", konieczne jest zastosowanie funkcji w PHP

A. ucfirst('ala ma psa')
B. strtoupper('ala ma psa')
C. strstr('ala ma psa')
D. strtolower('ala ma psa')
Funkcja strtoupper() w PHP jest naprawdę przydatna do zamiany wszystkich liter w danym ciągu znaków na wielkie litery. Na przykład, kiedy mamy tekst 'ala ma psa' i użyjemy strtoupper('ala ma psa'), to dostaniemy 'ALA MA PSA'. To bardzo fajny trik, zwłaszcza gdy musimy ujednolicić format tekstu, na przykład jak ktoś wprowadza dane w różny sposób. Moim zdaniem, to jest ważne, bo różnice w wielkości liter mogą zepsuć nasze porównania. Weźmy pod uwagę sytuację, gdy użytkownik wpisuje różne rzeczy i chcemy, żeby wszystko było w jednym formacie przed dalszym przetwarzaniem, np. w bazach danych. To dobra funkcja, bo działa z różnymi zestawami znaków, więc jest świetnym narzędziem w PHP, nie tylko w aplikacjach webowych, ale też przy przetwarzaniu tekstów.

Pytanie 27

Aby obraz na stronie automatycznie dopasowywał się do rozmiaru ekranu, na którym strona jest wyświetlana, należy:

A. nie zmieniać jego wymiarów stylami CSS
B. jego szerokość ustawić w wartościach procentowych
C. oba jego wymiary ustawić w pikselach
D. jeden z wymiarów ustawić w pikselach
Responsywny obraz skaluje się razem z układem strony. Uzyskuje się to, ustawiając jego szerokość w jednostce względnej - w procentach, na przykład img { width: 100%; max-width: 100%; }. Obraz dopasowuje się wtedy do szerokości kontenera, a wysokość zwykle pozostawia się jako auto, by zachować proporcje. Dlatego szerokość obrazu ustawia się w wartościach procentowych.

Pytanie 28

Aby uzyskać przedstawiony efekt napisu w programie INKSCAPE / COREL, należy

Ilustracja do pytania
A. zastosować opcję sumy z kołem
B. skorzystać z opcji wstaw / dopasuj tekst do ścieżki
C. zastosować opcję wykluczenia z kołem
D. skorzystać z opcji gradientu
Funkcja wstaw lub dopasuj tekst do ścieżki w programach takich jak Inkscape czy CorelDRAW pozwala na kreatywne umieszczanie tekstu wzdłuż określonej linii lub krzywej co jest przydatne w projektowaniu graficznym gdzie częstym wymaganiem jest dostosowanie tekstu do nietypowych kształtów. Na przykład tworzenie logo gdzie napis musi okrążać okrąg lub być umieszczony wzdłuż linii falistej. Proces ten zaczyna się od stworzenia ścieżki którą może być zarówno linia prosta jak i bardziej złożona krzywa a następnie wybrania opcji dopasowania tekstu do tej ścieżki. Kluczowe jest by zrozumieć że taka ścieżka działa jak prowadnica dla tekstu który dostosowuje się do jej kształtu co pozwala na uzyskanie efektów trudnych do osiągnięcia tradycyjnymi metodami. Funkcja ta jest zgodna z dobrymi praktykami projektowania graficznego umożliwiając twórcom większą elastyczność i kreatywność w prezentacji tekstu. Jest to również standardowe narzędzie w pakietach do grafiki wektorowej co pozwala na łatwą edycję i skalowanie projektów bez utraty jakości co jest kluczowe w profesjonalnym designie.

Pytanie 29

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

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

Pytanie 30

Aby przekształcić obraz w formacie PNG tak, by jego tło stało się przezroczyste, wymagane jest

A. dodanie kanału alfa.
B. odpowiednie przycięcie.
C. ulepszenie nasycenia kolorów.
D. zapisanie go w formacie BMP.
Dodanie kanału alfa do obrazu w formacie PNG jest kluczowe dla uzyskania przezroczystego tła. Kanał alfa to dodatkowa warstwa informacji w obrazie, która definiuje przezroczystość każdego piksela. Dzięki niemu, obrazy PNG mogą przechowywać informacje o tym, które części obrazu są całkowicie przezroczyste, częściowo przezroczyste lub całkowicie nieprzezroczyste. To oznacza, że stosując kanał alfa, możemy tworzyć złożone efekty wizualne, takie jak cienie czy gradienty, które są nieosiągalne w formatach nieobsługujących przezroczystości, jak JPEG. W praktyce, dodanie kanału alfa można zrealizować w programach graficznych, takich jak Adobe Photoshop czy GIMP, za pomocą opcji 'Dodaj kanał alfa' w menu warstw. Umożliwia to edytowanie tła obrazu, eliminację niepożądanych elementów oraz integrację z różnymi tłem w dokumentach i stronach internetowych, co jest szczególnie istotne w projektowaniu graficznym i web designie. Zatem, znajomość obsługi kanału alfa oraz umiejętność pracy z formatem PNG są niezbędne dla profesjonalnych grafików w nowoczesnym środowisku projektowym.

Pytanie 31

Aby przy usunięciu rekordu nadrzędnego automatycznie usunęły się powiązane z nim rekordy podrzędne, w definicji klucza obcego dodaje się klauzulę:

A.
ON DELETE CASCADE
B.
ON UPDATE CASCADE
C.
ON DELETE RESTRICT
D.
ON DELETE SET NULL
ON DELETE CASCADE to opcja klucza obcego, która sprawia, że usunięcie rekordu w tabeli nadrzędnej automatycznie usuwa wszystkie powiązane z nim rekordy w tabeli podrzędnej. Zapobiega to pozostawieniu „osieroconych” wierszy wskazujących na nieistniejący rekord. Dodaje się ją w definicji klucza obcego, np. FOREIGN KEY(klient_id) REFERENCES klienci(id) ON DELETE CASCADE. Dlatego poprawna jest klauzula ON DELETE CASCADE.

Pytanie 32

Obiekt Samochod ma metodę spalanie. Jak ją WYWOŁAĆ?

A.
Samochod.spalanie()
B.
Samochod.spalanie_na100
C.
Samochod()
D.
Samochod.kolor
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 33

Na podstawie przypisania wartości do zmiennych zapisanych w języku PHP można stwierdzić, że

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. zmienna2 i zmienna3 są tego samego typu.
B. Wszystkie zmienne są tego samego typu.
C. zmienna1 i zmienna2 są tego samego typu.
D. zmienna1 i zmienna3 są tego samego typu.
Niestety, twoja odpowiedź była nieprawidłowa. Wydaje się, że mogła wynikać z niezrozumienia typów zmiennych w języku PHP. W tym pytaniu zmienna1 była typu int (liczba całkowita), zmienna2 była typu string (ciąg znaków), natomiast zmienna3 była wynikiem rzutowania zmiennej1 na typ string. Stąd wynika, że zmienna2 i zmienna3 są obie typu string. Natomiast zmienna1, pomimo że miała taką samą wartość jak zmienna2 i zmienna3 (15), nie była tego samego typu. W językach programowania typ danych jest ważny, szczególnie przy operacjach porównania czy połączenia różnych typów danych. PHP jest językiem o dynamicznych typach, co oznacza, że typ zmiennej może ulec zmianie w trakcie wykonania skryptu, ale mimo to warto zawsze świadomie operować na typach zmiennych.

Pytanie 34

Co robi funkcja napisana w języku JavaScript?

function fun1(f)
{
  if(f < 0)
    f = f * (-1);
  return f;
}
A. zwrócenie wartości bezwzględnej z f
B. zwrócenie wartości odwrotnej do f
C. wypisanie wartości bezwzględnej z f
D. wypisanie wartości odwrotnej do f
Funkcja, którą podałeś w JavaScript, ma za zadanie zwrócić wartość bezwzględną z podanego argumentu f. Sprawdza, czy f jest mniejsze od zera, a jeśli tak, to mnoży je przez -1, co w praktyce oznacza, że zmienia znak liczby na dodatni. Jeśli wartość jest już dodatnia, to nic się nie dzieje. To wszystko jest zgodne z tym, jak definiujemy wartość bezwzględną, bo ta zawsze jest równa lub większa od zera. Z mojego doświadczenia, wartości bezwzględne są przydatne w różnych dziedzinach, jak matematyka czy analiza danych, gdzie zależy nam na wartościach liczbowych bez względu na to, czy są dodatnie, czy ujemne. Warto też wspomnieć, że JavaScript ma wbudowaną funkcję Math.abs(), która robi to samo i jest to naprawdę dobry wybór, bo ułatwia zrozumienie kodu i zmniejsza ryzyko błędów. Tworzenie takiej funkcji, jak w Twoim zadaniu, to świetny sposób na lepsze poznanie działania języka i manipulowania danymi.

Pytanie 35

Aby strona WWW była przesyłana do przeglądarki w postaci zaszyfrowanej, należy zastosować protokół:

A. SFTP
B. SSH
C. HTTPS
D. HTTP
Różnica między tymi protokołami tkwi w tym, co i jak przesyłają. HTTP serwuje strony do przeglądarki, ale w postaci jawnej - każdy, kto przechwyci ruch, odczyta treść i wpisane dane, dlatego nie zapewnia poufności. SFTP faktycznie szyfruje, lecz służy do przesyłania plików między komputerem a serwerem (np. przy publikacji witryny), a nie do wyświetlania stron w przeglądarce. SSH również jest szyfrowany, ale daje zdalny dostęp do konsoli serwera - to narzędzie administracyjne, nie sposób serwowania stron. Do bezpiecznego, zaszyfrowanego przesyłania strony WWW służy HTTPS, czyli HTTP zabezpieczony warstwą TLS.

Pytanie 36

Jakie polecenie w CSS umożliwia dodanie zewnętrznego arkusza stylów?

A. import
B. include
C. open
D. require
Użycie poleceń takich jak 'require', 'include' czy 'open' w kontekście CSS jest błędne, ponieważ nie są one częścią standardowego języka CSS. 'Require' i 'include' są terminami używanymi w kontekście języków programowania, takich jak PHP, gdzie umożliwiają one włączanie plików, ale nie mają zastosowania w CSS. Przykładowo, w PHP można załączyć plik z funkcjami w ten sposób: 'include 'functions.php';', co pokazuje, jak specyficzne języki programowania mają swoje własne mechanizmy włączania plików. W przypadku CSS, celem jest stylizacja dokumentów HTML, a nie manipulacja strukturą plików. 'Open' natomiast nie jest terminem związanym z załączaniem stylów i nie ma odpowiednika w CSS. Powszechnym błędem jest mylenie koncepcji załączania plików, które są specyficzne dla danej technologii. W CSS jedyną poprawną metodą jest użycie '@import', co zapewnia, że style są ładowane w odpowiedniej kolejności i w odpowiednich kontekście, co jest kluczowe dla zachowania integralności wizualnej i funkcjonalnej strony. Dlatego ważne jest, aby zwracać uwagę na specyfikę każdego języka i stosować odpowiednie dla niego mechanizmy, unikając przenoszenia koncepcji z innych technologii, co może prowadzić do nieporozumień.

Pytanie 37

Jakie z poniższych stwierdzeń poprawnie opisuje zdefiniowaną tabelę?

CREATE TABLE dane (kolumna INTEGER(3));
A. Tabela o nazwie dane posiada jedną kolumnę liczb całkowitych.
B. Kolumny tabeli dane są nazywane: kolumna 1, kolumna2, kolumna3.
C. Tabela ma jedną kolumnę, która zawiera tablice z trzema elementami.
D. Tabela o nazwie dane zawiera trzy kolumny typu całkowitego.
Wszystkie niepoprawne odpowiedzi opierają się na błędnych założeniach dotyczących definicji tabeli i jej kolumn. Twierdzenie, że kolumny tabeli dane nazywają się kolumna1, kolumna2, kolumna3, jest błędne, ponieważ zdefiniowana tabela posiada jedynie jedną kolumnę o nazwie 'kolumna'. W SQL kolumny tworzy się na podstawie zadanej definicji, a w tym przypadku nie ma żadnych dodatkowych kolumn. Kolejne błędne stwierdzenie, że tabela posiada trzy kolumny liczb całkowitych, jest również nieprawdziwe, ponieważ w rzeczywistości mamy tylko jedną kolumnę, nie trzy. Wartości 'kolumna1', 'kolumna2' i 'kolumna3' wskazują na nieporozumienie w interpretacji struktury tabeli. Ponadto, założenie, że tabela posiada jedną kolumnę zawierającą trzyelementowe tablice, jest całkowicie błędne. Typ danych INTEGER oznacza, że kolumna przechowuje pojedyncze liczby całkowite, a nie tablice. W SQL nie definiuje się tablic w ten sposób; jeżeli konieczne byłoby przechowywanie tablic, zastosowanie wymagałoby innego podejścia, takiego jak zdefiniowanie typu danych ARRAY (w systemach, które go obsługują) lub zastosowanie relacji w inny sposób. Tego rodzaju nieporozumienia mogą prowadzić do nieefektywnego projektowania baz danych oraz problemów w aplikacjach korzystających z tych danych, co podkreśla znaczenie dokładności w definiowaniu struktur baz danych.

Pytanie 38

Jaką wiadomość należy umieścić w przedstawionym fragmencie kodu PHP zamiast znaków zapytania? $a=mysql_connect('localhost','adam','mojeHasło'); if(!$a) echo "?????????????????????????";

A. Błąd połączenia z serwerem SQL
B. Rekord został pomyślnie dodany do bazy
C. Błąd w przetwarzaniu zapytania SQL
D. Wybrana baza danych nie istnieje
W sytuacji, gdy nie udaje się nawiązać połączenia z serwerem baz danych MySQL, komunikat błędu powinien jasno wskazywać na problem związany z połączeniem. W kodzie PHP, używając funkcji mysql_connect(), jeśli połączenie się nie powiedzie, zwracany jest błąd, który powinien być odpowiednio obsłużony. W tym przypadku odpowiednia treść komunikatu powinna brzmieć 'Błąd połączenia z serwerem SQL'. Ważne jest, aby programiści dbali o poprawne komunikaty błędów, ponieważ ułatwiają one diagnozowanie problemów. Dobrą praktyką jest także stosowanie obsługi wyjątków, co zwiększa stabilność aplikacji. Przykład: zamiast używać mysql_connect(), zaleca się korzystanie z mysqli lub PDO, które oferują bardziej zaawansowane opcje zarządzania błędami oraz obsługę wyjątków. W przypadku użycia mysqli, mógłbyś to zrobić w następujący sposób: $mysqli = new mysqli('localhost', 'adam', 'mojeHasło'); if ($mysqli->connect_error) { echo 'Błąd połączenia z serwerem SQL: ' . $mysqli->connect_error; } Poprawne raportowanie błędów jest kluczowym elementem programowania, ponieważ pozwala na szybką identyfikację i naprawę potencjalnych problemów.

Pytanie 39

Jaką integralność określa przytoczona definicja?

Ilustracja do pytania
A. Statyczną
B. Semantyczną
C. Referencyjną
D. Encji
Integralność referencyjna jest fundamentalną zasadą w bazach danych, która zapewnia, że relacje między tabelami są prawidłowo zachowane. Oznacza to, że klucz obcy w jednej tabeli powinien zawsze odnosić się do istniejącego klucza głównego w innej tabeli. To podejście jest kluczowe w relacyjnych bazach danych, ponieważ zapobiega powstawaniu odniesień do nieistniejących danych co mogłoby prowadzić do niespójności w bazie danych. W praktyce integralność referencyjna jest implementowana poprzez restrykcje i ograniczenia narzucane na operacje takie jak wstawianie aktualizacja i usuwanie danych. Na przykład próba usunięcia rekordu z tabeli, do której odwołują się inne rekordy wprowadziłaby niespójność jeśli integralność referencyjna nie jest przestrzegana. Aby temu zapobiec systemy baz danych mogą blokować takie operacje lub automatycznie aktualizować albo usuwać powiązane dane. Przestrzeganie zasad integralności referencyjnej jest zgodne z dobrymi praktykami projektowania baz danych i zgodne ze standardem SQL co zapewnia spójność i integralność danych w systemach informatycznych.

Pytanie 40

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 tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
B. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E()
C. SELECT * FROM ksiazki
D. SELECT tytul FROM ksiazki
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.