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: 5 sierpnia 2026 10:32
  • Data zakończenia: 5 sierpnia 2026 11:08

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

Wymagane minimum: 20 punktów (50%)

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

W skrypcie JavaScript użyto metody DOM getElementsByClassName('akapit'). Ta metoda odniesie się do akapitu

A. <p href="/akapit">akapit3</p>
B. <p class="akapit">akapit4</p>
C. <p id="akapit">akapit2</p>
D. <p>akapit</p>
Metoda DOM getElementsByClassName jest jedną z najważniejszych funkcji w JavaScript, która pozwala na selekcję elementów na stronie internetowej na podstawie ich klas CSS. W tym przypadku, odpowiedź <p class="akapit">akapit4</p> jest poprawna, ponieważ element ten ma przypisaną klasę "akapit", co czyni go bezpośrednim kandydatem do selekcji przez metodę getElementsByClassName('akapit'). Metoda ta zwraca kolekcję elementów (HTMLCollection), które mają podaną klasę, a następnie można z nimi pracować w kodzie JavaScript. Na przykład, możemy zmieniać ich style, zawartość lub dodawać zdarzenia. Dobrą praktyką jest stosowanie klas do stylizacji oraz manipulacji DOM, co pozwala na lepszą organizację kodu i zwiększa jego czytelność. Pamiętaj, że klasy są bardziej uniwersalne i elastyczne niż identyfikatory (ID), które powinny być unikalne na stronie. W przypadku konieczności stosowania metod do manipulacji elementami DOM, warto znać również inne metody, takie jak querySelector i querySelectorAll, które oferują bardziej zaawansowane opcje selekcji, umożliwiające wykorzystanie kombinacji klas, identyfikatorów i innych atrybutów.

Pytanie 2

Według którego parametru oraz dla ilu tabel zostaną zwrócone wiersze na liście w wyniku przedstawionego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis WHERE
  producent.nr_id = hurtownia.nr_id AND
  producent.wyrob_id = serwis.wyrob_id AND
  hurtownia.nr_id = sklep.nr_id AND
  sklep.nr_id = serwis.nr_id AND
  producent.nr_id = 1;
A. Według parametru wyrób id dla wszystkich tabel.
B. Według parametru nr id wyłącznie dla trzech tabel.
C. Według parametru wyrób Jd wyłącznie dla trzech tabel.
D. Według parametru nr id dla wszystkich tabel.
Brawo! Wybrałeś poprawną odpowiedź, zgodnie z którą parametrem nr id zwraca wiersze dla wszystkich tabel. To zapytanie SQL odnosi się do czterech tabel: producent, hurtownia, sklep i serwis. Zwraca ono wiersze, gdzie wartość kolumny nr_id jest taka sama we wszystkich tych tabelach i równa 1. Dodatkowo, jakość danych jest wspierana przez fakt, że zapytanie sprawdza zgodność wartości kolumny wyrob_id między tabelami producent i serwis. Zrozumienie tego, jak działa to zapytanie i dlaczego to jest ważne, jest kluczowe w praktyce programistycznej. Zapewnia to, że możemy skutecznie i efektywnie manipulować danymi, a także zrozumieć, jak nasze zapytania wpływają na wyniki, które otrzymujemy. Dobra praktyka jest zawsze zrozumienie, jakie dane są zwracane przez nasze zapytanie, zanim zaczniemy z nich korzystać w naszym kodzie. Ostatecznie, zrozumienie, jak korzystać z zapytań SQL do manipulacji i odzyskiwania danych, jest kluczowym elementem dowolnej roli programistycznej.

Pytanie 3

W którym z przedstawionych bloków powinien być umieszczony warunek pętli?

Ilustracja do pytania
A. Rys. A
B. Rys. B
C. Rys. D
D. Rys. C
Rysunek C przedstawia romb który w diagramach przepływu jest standardowo używany do reprezentowania decyzji lub warunków warunku pętli. Pętle w programowaniu są często oparte na warunkach które decydują o ich kontynuacji lub zakończeniu. Umiejscowienie warunku w rombie pozwala na wyrażenie warunku logicznego który może być testowany jako prawda lub fałsz co jest kluczowe dla działania pętli takich jak while czy for. Przykładem może być pętla while która kontynuuje swoje działanie tak długo jak warunek w rombie jest spełniony. W ten sposób romb ułatwia wizualne i logiczne śledzenie decyzji w algorytmie co jest zgodne z dobrymi praktykami programowania takimi jak przejrzystość i czytelność kodu. Użycie rombu zgodnie z konwencją diagramów przepływu poprawia także zrozumienie algorytmu przez innych programistów co zwiększa efektywność współpracy w zespołach deweloperskich. Stosowanie tego symbolu jest również wspierane przez standardy takie jak UML co czyni go uniwersalnym narzędziem w modelowaniu procesów.

Pytanie 4

W algorytmie jeden z bloków zawiera akcję „Wypisz liczbę”. Jaki kształt może mieć ta akcja?

Ilustracja do pytania
A. Kształt 2
B. Kształt 4
C. Kształt 3
D. Kształt 1
W algorytmach i schematach blokowych każdy kształt ma swoje specyficzne zastosowanie i znaczenie, co jest kluczowe dla zrozumienia i projektowania schematów przepływu. Użycie nieodpowiedniego kształtu może prowadzić do nieporozumień i błędnej interpretacji działania algorytmu. Prostokąt, często wybierany przez początkujących, jest symbolem operacji obliczeniowej, a nie wypisywania danych. Użycie go zamiast równoległoboku może sugerować, że w danym miejscu algorytm wykonuje przetwarzanie danych, co wprowadza w błąd. Romb, z kolei, jest używany do reprezentowania decyzji, czyli punktu, w którym algorytm wybiera jedną z kilku możliwych ścieżek na podstawie określonego warunku. Użycie rombu do opisania operacji wypisywania mogłoby sugerować, że wybieramy między różnymi możliwościami wyjścia danych, co byłoby błędne. Zastosowanie specjalnych kształtów, takich jak trapez, też jest nietypowe i nie znalazło umocowania w standardach. Właściwe użycie symboli to część dobrych praktyk w projektowaniu schematów, co ułatwia współpracę i zrozumienie pomiędzy programistami oraz ułatwia rozpoznanie błędów we wczesnym etapie projektowania. Zrozumienie tego aspektu pozwala na poprawę jakości tworzonych algorytmów i ich zgodności z ogólnymi standardami branżowymi ISO/IEC 19515:2017.

Pytanie 5

Który z poniższych kodów stanowi alternatywę dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. <?php
for($x=1;$x<=55;$x++){echo $x." ";}
?>
B. <?php
for($x=2;$x<=56;$x+=2){echo $x." ";}
?>
C. <?php
for($x=2;$x<=54;$x+=2){echo $x." ";}
?>
D. <?php
for($x=1;$x<=55;$x+=1){echo $x." ";}
?>
W odpowiedzi zaprezentowałeś kod, który generuje liczby parzyste od 2 do 54, co jest zgodne z tym, co było w zadaniu. W ramce masz pętlę for, która zaczyna się od x=1, ale trzeba wiedzieć, że w takiej konfiguracji będziesz też generować liczby nieparzyste. W Twoim kodzie lepiej było zacząć od x=2 i zwiększać x o 2, bo wtedy automatycznie pomijasz liczby, które nie są parzyste. To sprawia, że kod działa sprawniej, bo nie trzeba co chwilę sprawdzać, czy liczba jest parzysta, tylko po prostu się ją generuje. Jak dla mnie, jak chcesz tylko parzyste, to taki styl jest o niebo lepszy – klarowny i łatwy do ogarnięcia. W programowaniu istotne jest, żeby pisać kod, który nie tylko działa, ale też jest prosty do zrozumienia dla innych. Dzięki temu unikniesz problemów w przyszłości, gdy trzeba będzie coś poprawiać w kodzie.

Pytanie 6

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. Nieokreślonego (undefined)
B. String (ciąg znaków)
C. Logicznego
D. Liczbowego
Odpowiedzi wskazujące na inne typy danych, takie jak typ logiczny czy liczbowy, zawierają istotne nieporozumienia dotyczące sposobu, w jaki JavaScript zarządza danymi. Typ logiczny w tym kontekście oznaczałby, że zmienna mogłaby przyjmować tylko wartości 'true' lub 'false', co jest mylnym założeniem, ponieważ 'true' jest tutaj częścią tekstu, a nie wartością logiczną. Z kolei typ liczbowy byłby właściwy dla zmiennych takich jak 1, 2 czy 3, które reprezentują liczby całkowite lub zmiennoprzecinkowe. W przypadku zadeklarowanej zmiennej 'var x="true";', wartość, która jest przypisywana, jest w rzeczywistości ciągiem tekstowym, mimo że zawiera słowo kluczowe 'true'. Typ danych 'undefined' z kolei oznacza, że zmienna została zadeklarowana, ale nie przypisano jej żadnej wartości, co również nie odpowiada sytuacji przedstawionej w pytaniu. Zrozumienie typów danych w JavaScript jest kluczowe dla unikania błędów typowych, zwłaszcza w kontekście zmiennych, które mogą być używane w różnych operacjach. W praktyce, to zrozumienie typów pozwala programistom lepiej zarządzać danymi i pisać bardziej niezawodny kod. Warto również pamiętać, że JavaScript automatycznie konwertuje typy w wielu sytuacjach, co może prowadzić do niezamierzonych rezultatów, dlatego proszę zwracać szczególną uwagę na przypisania i operacje wykonywane na zmiennych.

Pytanie 7

W poleceniu CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu kolumny tabeli spowoduje, że ta kolumna stanie się

A. indeksem unikalnym
B. kluczem podstawowym
C. kluczem obcym
D. indeksem klucza
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE pozwala na zdefiniowanie unikalnego identyfikatora dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa wiersze nie mogą mieć tej samej wartości w kolumnie, co jest kluczowe dla zachowania integralności danych. Przykładem praktycznym może być stworzenie tabeli użytkowników, gdzie 'id_użytkownika' jest kluczem podstawowym. Taki klucz może być typu INTEGER z automatycznym inkrementowaniem, co oznacza, że dla każdego nowego użytkownika wartość 'id_użytkownika' wzrasta automatycznie. Standardy branżowe zalecają definiowanie klucza podstawowego dla każdej tabeli, aby upewnić się, że rekordy można w sposób jednoznaczny zidentyfikować, co jest niezbędne dla relacyjnych baz danych. Dodatkowo, klucz podstawowy automatycznie tworzy indeks na tej kolumnie, co przyspiesza operacje wyszukiwania. Ważne jest, aby klucz podstawowy był dobrze przemyślany, ponieważ jego zmiana w przyszłości może wiązać się z dużymi komplikacjami w bazie danych.

Pytanie 8

Symbol, który pojawia się przed adresem w pasku adresowym przeglądarki internetowej lub przy tytule otwartej karty, określany jest mianem

A. emoticon
B. favicon
C. webicon
D. iConji
Favicon, czyli ikona ulubionej strony, to mały obrazek wyświetlany w przeglądarkach internetowych obok adresu URL, w zakładkach oraz na kartach przeglądarki. Favicon jest istotnym elementem identyfikacji wizualnej witryny, ponieważ pozwala użytkownikom na szybkie rozpoznawanie stron, które odwiedzają. Tworzenie faviconu wiąże się z określonymi standardami, ponieważ rozmiar pliku powinien wynosić 16x16 lub 32x32 pikseli. Można go zapisać w formacie .ico, .png, .gif, co zapewnia szeroką kompatybilność z różnymi przeglądarkami. Wdrożenie faviconu poprawia UX, zwiększa profesjonalizm strony i wpływa na jej rozpoznawalność. Dobrym przykładem zastosowania faviconu jest umieszczanie go na stronie głównej, co ułatwia zapamiętywanie marki oraz zwiększa szanse na powrót użytkowników do witryny. Właściwe przygotowanie faviconu oraz jego umiejscowienie w kodzie HTML (z wykorzystaniem tagu <link rel="icon" href="ścieżka_do_faviconu">) to dobrych praktyk, które warto stosować w każdej nowoczesnej aplikacji webowej.

Pytanie 9

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: right; } section { float: right; }
C. nav { float: right; }
D. nav { float: left; } aside { float: left; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie.

W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie.

Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 10

W pliku CSS znajdują się poniższe style. Kiedy klikniemy na hiperłącze i wrócimy na stronę, jego kolor zmieni się na

a { color: Brown; }
a:link { color: Green; }
a:visited { color: Red; }
a:hover { color: Yellow; }
A. brązowy
B. czerwony
C. żółty
D. zielony
W stylach CSS dla hiperłączy istnieją różne pseudoklasy które określają ich wygląd w zależności od stanu. W tym przypadku kolor czerwony przypisany jest do pseudoklasy a:visited co oznacza że po odwiedzeniu i późniejszym powrocie na stronę hiperłącze przyjmie kolor czerwony. Pseudoklasa a:visited jest używana aby oznaczyć linki które użytkownik już odwiedził co jest przydatne w nawigacji i pozwala użytkownikom zidentyfikować które strony już odwiedzili. Dobre praktyki w projektowaniu stron internetowych zalecają użycie wyraźnych i kontrastujących kolorów aby użytkownicy mogli łatwo rozpoznać odwiedzone linki co poprawia doświadczenie użytkownika. Warto pamiętać że przeglądarki mają różne poziomy wsparcia dla pseudoklasy a:visited w kontekście stylizacji innych właściwości niż kolor co wynika z wymogów prywatności. Dlatego w standardowych przypadkach kolorowe oznaczenie linków przynosi pożądany efekt zapewniając zgodność z wytycznymi WCAG dotyczącymi dostępności stron internetowych. Bardzo ważne jest aby projektując strony internetowe dbać o klarowność i intuicyjność nawigacji co zwiększa satysfakcję z użytkowania serwisu.

Pytanie 11

Instrukcja w języku SQL

GRANT ALL PRIVILEGES ON klienci TO pracownik
A. Przenosi uprawnienia z grupy klienci na użytkownika pracownik
B. Przyznaje uprawnienia grupie klienci do tabeli pracownik
C. Odbiera wszystkie uprawnienia pracownikowi do tabeli klienci
D. Przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
Odpowiedź jest poprawna, ponieważ polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik w języku SQL rzeczywiście nadaje wszystkie dostępne uprawnienia do tabeli klienci użytkownikowi pracownik. To oznacza, że pracownik zyskuje możliwość wykonywania wszelkich operacji na tej tabeli, w tym SELECT, INSERT, UPDATE oraz DELETE. Przykład zastosowania tego polecenia jest istotny w kontekście zarządzania bazami danych, gdzie administratorzy muszą przyznawać różnorodne uprawnienia użytkownikom w zależności od ich roli. Przykładowo, jeśli pracownik jest odpowiedzialny za wprowadzanie i aktualizację danych klientów, to nadanie mu wszystkich uprawnień jest uzasadnione. Ważne jest, aby przyznawać uprawnienia zgodnie z zasadą najmniejszych uprawnień, co oznacza, że użytkownik powinien mieć tylko te uprawnienia, które są niezbędne do realizacji jego zadań. W praktyce, administrator baz danych powinien monitorować przyznane uprawnienia i regularnie je przeglądać, aby zapewnić bezpieczeństwo systemu. Koszty błędów w przyznawaniu uprawnień mogą być znaczne, w tym ryzyko nieautoryzowanego dostępu do danych, dlatego kluczowe jest stosowanie dobrych praktyk w zarządzaniu uprawnieniami.

Pytanie 12

Aby przywrócić bazę danych o nazwie Sklep z pliku towary.sql, należy w miejsce gwiazdek wpisać nazwę użytkownika. Polecenie wygląda następująco:

mysql -u ******* -p Sklep < towary.sql
A. nazwę odzyskiwanej tabeli.
B. adres IP bazy danych.
C. liczbę importowanych obiektów bazy.
D. nazwę użytkownika.
W tym poleceniu kluczowy jest fragment „-u *******”. Przełącznik -u w kliencie mysql zawsze oznacza nazwę użytkownika bazy danych, pod której kontem chcemy się połączyć z serwerem MySQL/MariaDB. Dlatego w miejsce gwiazdek wpisujemy konkretną nazwę użytkownika, np. root, admin, albo konto utworzone specjalnie do obsługi danej aplikacji, np. sklep_user. To jest standardowa składnia narzędzia wiersza poleceń mysql: mysql -u NAZWA_UŻYTKOWNIKA -p NAZWA_BAZY < plik.sql. Opcja -p mówi, że program ma poprosić o hasło dla tego użytkownika (nie podajemy hasła wprost w poleceniu, ze względów bezpieczeństwa). Nazwa bazy danych, do której importujemy dane, pojawia się dalej, w tym przykładzie jest to Sklep. Z kolei po znaku < podajemy plik z kopią bazy, czyli skryptem SQL zawierającym instrukcje CREATE TABLE, INSERT i inne potrzebne do odtworzenia struktury i danych. W praktyce przy przywracaniu baz danych zawsze łączymy się jako użytkownik, który ma odpowiednie uprawnienia: przynajmniej do tworzenia tabel i wstawiania danych w tej bazie (INSERT, CREATE, ALTER, czasem DROP). W środowiskach produkcyjnych dobrą praktyką jest nie używać konta root, tylko dedykowanego użytkownika z ograniczonymi uprawnieniami. Moim zdaniem warto też pamiętać, że adres IP serwera bazy (opcjonalnie podawany przez -h) i port (-P) to zupełnie inne parametry niż -u. One określają, z jakim serwerem się łączymy, a -u i -p – kim się logujemy. To rozróżnienie jest bardzo ważne przy codziennej administracji i automatyzacji backupów oraz importów.

Pytanie 13

W relacyjnym modelu danych, krotki definiuje się jako

A. wszystkie kolumny tabeli, które reprezentują atrybuty obiektu
B. wiersze tabeli wyłączając wiersz nagłówkowy, w którym znajdują się nazwy kolumn
C. liczbę rekordów w tabeli
D. wszystkie wiersze w tabeli łącznie z wierszem nagłówkowym
W relacyjnych bazach danych ważne jest, żeby wiedzieć, czym różnią się wiersze od kolumn. Jak ktoś twierdzi, że krotkami są wszystkie wiersze tabeli razem z nagłówkiem, to nie do końca tak jest. Wiersz nagłówkowy ma znaczenie, bo pokazuje strukturę danych, ale nie wchodzi w skład krotek. Z kolei określanie krotek jako liczby rekordów w tabeli jest mało precyzyjne, bo to nie oddaje tego, co naprawdę oznaczają krotki. Kolejna błędna odpowiedź, która mówi, że krotkami są wszystkie kolumny, może wprowadzać w błąd, bo kolumny definiują atrybuty, ale same w sobie nie przechowują danych. W kontekście baz danych, krotki są kluczowe dla zrozumienia, jak te dane są poukładane, a ich dobre zdefiniowanie sprawia, że zarządzanie informacjami staje się łatwiejsze. Żeby unikać błędów przy projektowaniu baz danych, trzeba pamiętać, że krotki to zestawy wartości atrybutów, które można porównywać i obrabiać w SQL. Takie podejście jest ważne, żeby poprawnie tworzyć zapytania i zarządzać danymi w różnych systemach baz danych.

Pytanie 14

Jakie wartości zostaną wypisane po wykonaniu poniższego skryptu?

var x = 1;
var y;
/*0*/ ++y;
/*1*/ document.write(++x);
/*2*/ document.write(" ");
/*3*/ document.write(x--);
/*4*/ document.write(" ");
/*5*/ document.write(x);
A. 2 2 1
B. 2 1 1
C. 1 2 1
D. 1 2 2
Wynik działania skryptu JavaScript wypisuje wartości według kolejności operacji na zmiennej x. Na początku wartość x wynosi 1. Pierwsza operacja preinkrementacji ++x zwiększa wartość x o 1 przed jej użyciem, więc teraz x wynosi 2. Kolejna instrukcja wypisuje tę wartość. Następnie w kodzie jest spacja, która oddziela kolejne wartości. Kolejna operacja to postdekrementacja x--, która wypisuje aktualną wartość x, a dopiero potem zmniejsza ją o 1. W efekcie wypisywane jest 2, a następnie x zmienia wartość na 1. Ostatecznie dokument.write wypisuje spację i końcową wartość x, która wynosi 1. W praktycznych zastosowaniach preinkrementacja i postdekrementacja są często używane w pętlach lub operacjach, gdzie istotna jest kolejność modyfikacji wartości. Użycie odpowiednich operatorów wpływa na logikę programu, co jest kluczowe przy pisaniu i analizowaniu kodu. Ważne jest również zrozumienie różnic między pre- a post-operatorami inkrementacji i dekrementacji, co jest podstawą w programowaniu JavaScript.

Pytanie 15

Który z poniższych formatów plików graficznych wspiera przejrzystość?

A. PNG
B. BMP
C. NEF
D. JPG
Format BMP (Bitmap) jest jednym z najstarszych formatów plików graficznych, jednak nie obsługuje przezroczystości. BMP przechowuje dane o obrazie w bardzo podstawowy sposób, co sprawia, że pliki są duże i nieefektywne pod względem kompresji. Osoby korzystające z BMP nie mogą uzyskać efektów przezroczystości, co ogranicza jego zastosowanie w nowoczesnej grafice komputerowej. Format JPG (Joint Photographic Experts Group) również nie obsługuje przezroczystości, ponieważ jest formatem stratnym, który kompresuje dane obrazu, co prowadzi do utraty jakości. JPG jest idealny do zdjęć, ale jego ograniczenia w zakresie przezroczystości znacznie ograniczają jego funkcjonalność w projektach wymagających przezroczystych tła. Z kolei NEF (Nikon Electronic Format) to format plików z aparatów Nikon, który przechowuje dane RAW z matrycy aparatu i może zawierać informacje o przezroczystości, ale nie jest powszechnie używany do obróbki graficznej w kontekście standardowych prac graficznych. Format ten jest bardziej specjalistyczny i przeznaczony do profesjonalnej fotografii, gdzie obróbka surowych danych jest kluczowa.

Pytanie 16

Jakie z wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie (6, 203)?

A. (zm1 > 6) || (zm1 <= 203)
B. (zm1 > 6) && (zm1 <= 203)
C. (zm1 > 6) || (zm1 != 203)
D. (zm1 > 6) && (zm1 != 203)
Wyrażenie (zm1 > 6) && (zm1 <= 203) jest poprawne, ponieważ warunek ten precyzyjnie sprawdza, czy zmienna zm1 znajduje się w przedziale otwartym (6, 203]. Oznacza to, że zm1 musi być większe od 6 i jednocześnie mniejsze lub równe 203. Taki zapis jest zgodny z typowym podejściem używanym w programowaniu, gdzie ważna jest precyzyjna kontrola wartości zmiennych. W praktyce, takie wyrażenie może być zastosowane w sytuacjach, gdzie potrzebujemy przefiltrować dane, na przykład przy walidacji danych wejściowych w formularzach lub przy definiowaniu zakresu wartości w algorytmach operujących na liczbach. Używanie operatorów logicznych w ten sposób jest zgodne z najlepszymi praktykami programowania, gdzie ważne jest nie tylko uzyskanie oczekiwanego wyniku, ale również czytelność i zrozumiałość kodu. Przykładowo, jeżeli mamy do czynienia z systemem zarządzania użytkownikami, można sprawdzać wiek użytkownika, aby upewnić się, że spełnia określone wymagania wiekowe, jednocześnie unikając sytuacji, w których użytkownicy mogą być nieuprawnieni do korzystania z systemu.

Pytanie 17

W zamieszczonym przykładzie pseudoklasa hover sprawi, że styl pogrubiony będzie przypisany

a:hover { font-weight: bold; }
A. odnośnikowi, w momencie kiedy najechał na niego kursor myszy.
B. wszystkim odnośnikom nieodwiedzonym.
C. każdemu odnośnikowi niezależnie od aktualnego stanu.
D. wszystkim odnośnikom odwiedzonym.
Twoja odpowiedź jest prawidłowa. Pseudoklasa :hover w CSS jest używana do stylizacji elementów, na które najechał kursor myszy. Na przykład, jeżeli użyjemy stylu 'font-weight: bold;' z pseudoklasą :hover, tekst odnośnika stanie się pogrubiony tylko wtedy, kiedy na niego najedziemy kursorem. Jest to bardzo przydatne w interaktywnym designie strony internetowej, gdzie możemy w prosty sposób zasygnalizować użytkownikowi, że dany element jest aktywny lub interaktywny. Pamiętaj, że pseudoklasy w CSS są potężnym narzędziem, które pozwala nam na tworzenie zaawansowanych efektów bez konieczności użycia JavaScriptu. Znajomość i umiejętność wykorzystania pseudoklas jest zatem kluczową umiejętnością każdego front-end developera.

Pytanie 18

Który sposób zapisu stylu CSS ma najwyższy priorytet (jest stosowany w pierwszej kolejności)?

A. styl lokalny (śródliniowy, w atrybucie style)
B. styl importowany do wewnętrznego arkusza
C. wewnętrzny arkusz stylów
D. zewnętrzny arkusz stylów
Najwyższy priorytet w CSS ma styl LOKALNY (śródliniowy) - zapisany wprost w atrybucie style elementu, np. <p style="color:red">. Jest „najbliżej” elementu, więc nadpisuje reguły z arkuszy wewnętrznego i zewnętrznego. Zapamiętaj zasadę bliskości: im bliżej elementu zdefiniowany styl, tym silniejszy.

Pytanie 19

Którą wartość atrybutu name znacznika <meta> wykorzystuje się do kontrolowania obszaru widzialnego na różnych urządzeniach, na których jest wyświetlana strona internetowa?

A. generator
B. description
C. keywords
D. viewport
Poprawnie wskazana została wartość „viewport”. W praktyce właśnie meta name="viewport" służy do kontrolowania tzw. obszaru widzialnego (ang. viewport) na urządzeniach mobilnych i desktopowych. Przeglądarka mobilna domyślnie zakłada szeroką stronę i sztucznie ją pomniejsza, żeby „zmieściła się” na ekranie telefonu. Dopiero meta viewport mówi jej: potraktuj szerokość ekranu urządzenia jako bazową szerokość strony.
Najczęściej spotykana, zgodna z dobrymi praktykami konstrukcja to: <meta name="viewport" content="width=device-width, initial-scale=1.0">. Parametr width=device-width ustawia szerokość obszaru widzialnego na szerokość ekranu urządzenia, a initial-scale=1.0 definiuje początkowe powiększenie. Dzięki temu layout responsywny oparty na media queries w CSS działa poprawnie, bez dziwnych przeskalowań i zbyt małej czcionki.
W nowoczesnym front-endzie przyjmuje się, że każda strona, która ma być używalna na telefonach, tabletach i laptopach, powinna mieć prawidłowo ustawiony meta viewport. Moim zdaniem to jest absolutna podstawa RWD, zaraz obok poprawnego użycia jednostek względnych (np. %, vw, em) i zaprojektowania siatki w CSS. Warto też pamiętać, żeby nie przesadzać z blokowaniem powiększania (np. user-scalable=no), bo to pogarsza dostępność strony dla osób słabiej widzących i jest uznawane za złą praktykę. Podsumowując: jeśli chcesz mieć stronę, która naprawdę „żyje” na różnych ekranach, meta name="viewport" to obowiązkowy element w sekcji <head>.

Pytanie 20

Ile razy zostanie wykonana poniższa pętla w PHP?

for($i = 0; $i < 25; $i += 5) { ... }
A. 5
B. 26
C. 25
D. 0
Pętla for w PHP jest jednym z fundamentalnych narzędzi kontrolnych używanych do wykonywania powtarzających się zadań. W przedstawionym przykładzie pętli mamy następującą składnię: for($i = 0; $i < 25; $i += 5). Pętla rozpoczyna się od wartości początkowej zmiennej $i równej 0, a warunek kontynuacji pętli określa, że $i musi być mniejsze niż 25. W każdym przebiegu pętli zmienna $i zwiększa się o 5. Dzięki tej konstrukcji pętla wykona się dla wartości $i wynoszących kolejno 0, 5, 10, 15 i 20, co oznacza, że pętla zostanie wykonana dokładnie 5 razy. Takie konstrukcje są powszechnie stosowane w programowaniu do iteracyjnego przetwarzania danych, takich jak iterowanie przez tablice lub generowanie ciągów. Warto zwrócić uwagę na dobre praktyki programistyczne, które nakazują klarowność i czytelność kodu, dzięki czemu inni programiści mogą go łatwo zrozumieć i utrzymywać. Projektowanie pętli z precyzyjnie zdefiniowanymi warunkami początkowymi i końcowymi jest kluczowe dla unikania błędów logicznych, takich jak nieskończone pętle lub błędne iteracje. Użycie odpowiednich inkrementacji, jak w tym przypadku $i += 5, pozwala na kontrolowanie tempa i liczby iteracji zgodnie z zamierzonymi celami algorytmu.

Pytanie 21

Które stwierdzenie dotyczy SKALOWANIA obrazu?

A. wycina fragment obrazu (kadrowanie)
B. zmienia rozmiar obrazu bez utraty istotnej zawartości
C. łączy lub odejmuje kształty
D. zmienia format zapisu, by zmienić kompresję
Skalowanie obrazu to zmiana jego ROZMIARU (powiększenie lub pomniejszenie) z zachowaniem istotnej zawartości wizualnej - całość zostaje, zmieniają się wymiary. Stosuje się je np. przy dopasowaniu zdjęcia do układu strony. Dlatego skalowanie to zmiana rozmiaru obrazu bez utraty istotnej zawartości.

Pytanie 22

Na przedstawionej tabeli samochodów wykonano zapytanie SQL:

SELECT model FROM samochody
WHERE rocznik=2016;

Jakie wartości zostaną zwrócone w wyniku tego zapytania?
idmarkamodelrocznikkolorstan
1FiatPunto2016czerwonybardzo dobry
2FiatPunto2002czerwonydobry
3FiatPunto2007niebieskibardzo dobry
4OpelCorsa2016grafitowybardzo dobry
5OpelAstra2003niebieskiporysowany lakier
6ToyotaCorolla2016czerwonybardzo dobry
7ToyotaCorolla2014szarydobry
8ToyotaYaris2004granatowydobry
A. Fiat, Opel, Toyota
B. Punto, Corsa, Astra, Corolla, Yaris
C. Czerwony, grafitowy
D. Punto, Corsa, Corolla
W przypadku błędnych odpowiedzi należy zrozumieć dlaczego nie są one poprawne w kontekście zapytania SQL. Zapytanie SELECT model FROM samochody WHERE rocznik=2016; ma na celu zwrócenie tylko tych modeli samochodów które mają rocznik równy 2016. Jakiekolwiek inne odpowiedzi które zawierają wartości nie spełniające tego warunku są niepoprawne. Na przykład odpowiedzi które zawierają kolory samochodów takich jak czerwony czy grafitowy są błędne ponieważ zapytanie nie dotyczy kolumny kolor. W bazach danych struktura zapytania musi precyzyjnie odpowiadać danym które chcemy uzyskać co oznacza że nie można uwzględniać danych z innych kolumn jeśli nie są one częścią zapytania. Kolejnym błędem jest sugerowanie że zapytanie zwraca marki samochodów takie jak Fiat Opel czy Toyota. Ponownie zapytanie specjalnie wybiera kolumnę model a nie marka dlatego takie odpowiedzi nie są zgodne z zapytaniem. Zrozumienie struktury zapytań SQL i precyzyjne określenie jakie dane są potrzebne jest kluczowe w pracy z bazami danych. Typowe błędy przy konstruowaniu zapytań to niepoprawne określenie kolumny lub warunku co prowadzi do nieoczekiwanych wyników. W związku z tym znajomość zasad konstrukcji zapytań oraz umiejętność przewidywania wyników są niezbędne w codziennej pracy z bazami danych aby uniknąć błędów i zapewnić dokładność przetwarzania danych. SQL jako język do zarządzania danymi wymaga precyzyjnego podejścia i znajomości źródła danych co jest kluczowe dla efektywnego zarządzania informacją. Poprawne sformułowanie zapytania zapewnia że wyniki będą zgodne z oczekiwaniami i będą spełniać założenia analizy danych. Warto także stosować narzędzia walidacji zapytań aby upewnić się że są one optymalne i poprawne co jest dobrym standardem w branży.

Pytanie 23

W celu uzyskania efektu widocznego na rysunku, w kodzie HTML, należy umieścić znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. name
B. title
C. alt
D. dfn
Wybrałeś niepoprawną odpowiedź. Przeanalizujmy inne opcje. 'alt' to atrybut używany w znacznikach obrazów (&lt;img&gt;) w HTML, służy do dostarczania tekstu alternatywnego, który jest wyświetlany, gdy obraz nie może być załadowany. 'dfn' to znacznik HTML używany do zdefiniowania terminu, ale nie ma on żadnej roli w określaniu skrótów. 'name' to atrybut używany w różnych znacznikach HTML, takich jak &lt;input&gt;, &lt;form&gt;, &lt;map&gt;, &lt;meta&gt;, &lt;param&gt; oraz &lt;button&gt;, ale nie jest związany ze znacznikami skrótów. W HTML, atrybutem używanym wraz ze znacznikiem skrótu &lt;abbr&gt; jest 'title', który dostarcza pełną formę skrótu. Proszę pamiętać o tej informacji na przyszłość.

Pytanie 24

Która cecha wyróżnia format PNG?

A. reprezentacja grafiki wektorowej
B. brak obsługi kanału alfa
C. kompresja bezstratna
D. obsługa animacji
Pozostałe stwierdzenia są nieprawdziwe. PNG to format rastrowy (nie wektorowy) i co do zasady nie obsługuje animacji (od tego jest GIF lub APNG). Kanał alfa, czyli przezroczystość, PNG właśnie OBSŁUGUJE, więc „brak obsługi alfa” jest błędem. Wyróżnia go kompresja bezstratna.

Pytanie 25

Który z elementów w sekcji head dokumentu HTML 5 jest obowiązkowy według walidatora HTML, a jego niedobór skutkuje błędem (error)?

A. title
B. style
C. link
D. meta
Znak „title” jest fundamentalnym elementem sekcji head dokumentu HTML, który ma kluczowe znaczenie dla jego poprawnego działania oraz dla doświadczeń użytkowników. Jego obecność jest niezbędna, ponieważ zapewnia tytuł strony, który jest wyświetlany na pasku tytułowym przeglądarki oraz w wynikach wyszukiwania. Tytuł powinien być krótki, ale jednocześnie informacyjny, co pozwala na łatwe zidentyfikowanie zawartości strony. Przykładowo, w przypadku bloga dotyczącego zdrowia, tytuł mógłby brzmieć „Porady zdrowotne – Jak dbać o zdrowie”. Ponadto, zgodnie z wytycznymi W3C, brak tego znacznika jest traktowany jako błąd, co oznacza, że strona nie będzie spełniać standardów HTML5. W praktyce, obecność tytułu wpływa również na SEO (optymalizację pod kątem wyszukiwarek), ponieważ wyszukiwarki często wykorzystują ten element do zrozumienia tematyki strony oraz jej rankingu. Dlatego dobór odpowiednich słów do tytułu jest równie ważny.

Pytanie 26

Jakiego typu mechanizm zabezpieczeń aplikacji jest zawarty w środowisku uruchomieniowym platformy .NET Framework?

A. Mechanizm uruchamiania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
B. Mechanizm uruchamiania aplikacji dla bibliotek klas
C. Mechanizm uruchamiania aplikacji zrealizowany przez frameworki aplikacji webowych (ASP.NET)
D. Mechanizm uruchamiania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
Mechanizm wykonywania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) oraz na rolach (RBS - Role-Based Security) jest kluczowym elementem platformy .NET Framework, który zapewnia odpowiedni poziom bezpieczeństwa dla aplikacji. CAS umożliwia definiowanie poziomów uprawnień dla różnych komponentów kodu, co pozwala na kontrolę, jakie operacje mogą być wykonywane przez dany kod w zależności od jego pochodzenia oraz kontekstu. Na przykład, aplikacja uruchomiona z lokalnego dysku może mieć inne uprawnienia niż ta sama aplikacja uruchomiona z internetu. RBS z kolei umożliwia przypisywanie ról użytkownikom, co pozwala na dalsze graniczenie dostępu do funkcji aplikacji w oparciu o przypisane role. Takie podejście nie tylko zabezpiecza aplikacje przed nieautoryzowanym dostępem, ale także wspiera środowiska wieloużytkownikowe, gdzie różne osoby mogą potrzebować różnych poziomów dostępu. Przykładowo, w aplikacji webowej mogą istnieć role administratora, edytora i widza, gdzie każdy z użytkowników ma różne możliwości interakcji z systemem. Zastosowanie CAS i RBS jest zgodne z najlepszymi praktykami w zakresie zabezpieczeń kodu, co jest istotne w kontekście rosnących zagrożeń w dzisiejszym świecie cyfrowym.

Pytanie 27

Przedstawione polecenie SQL nadaje użytkownikowi adam@localhost prawa:

GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO adam@localhost
A. zarządzania strukturą tabeli klienci.
B. manipulowania danymi bazy danych klienci.
C. zarządzania strukturą bazy danych klienci.
D. manipulowania danymi w tabeli klienci.
Prawidłowa odpowiedź wskazuje, że polecenie SQL 'GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO adam@localhost' nadaje użytkownikowi o nazwie 'adam' z hosta 'localhost' prawa do manipulowania danymi w tabeli 'klienci'. Te konkretne operacje, takie jak SELECT (wybieranie danych), INSERT (wstawianie nowych danych), UPDATE (aktualizowanie istniejących danych), DELETE (usuwanie danych) pozwalają użytkownikowi na pełne zarządzanie danymi, ale nie strukturą tabeli czy bazy danych. Jest to zgodne z zasadą minimalnych uprawnień, która nakazuje nadawać użytkownikom tylko te uprawnienia, które są im bezwzględnie potrzebne do wykonywania ich zadań. Należy pamiętać, że nadanie większych uprawnień, takich jak zarządzanie strukturą bazy danych, mogłoby stworzyć potencjalne zagrożenie dla bezpieczeństwa systemu.

Pytanie 28

W aplikacjach webowych tablice asocjacyjne to takie tablice, w jakich

A. elementy tablicy są zawsze indeksowane od 0
B. w każdej komórce tablicy znajduje się inna tablica
C. indeks jest ciągiem znaków
D. istnieją przynajmniej dwa wymiary
Indeksowanie elementów tablicy od zera jest charakterystyczne dla tradycyjnych tablic, w których liczby naturalne służą jako indeksy do dostępu do poszczególnych elementów. Koncepcja ta jest powszechnie stosowana w wielu językach programowania, jednak nie odnosi się do tablic asocjacyjnych. W przypadku tablic asocjacyjnych klucze mogą być dowolnymi łańcuchami znaków, co oznacza, że nie ograniczają się do prostego indeksowania numerycznego. Wartość, jaka znajduje się w każdej komórce takiej tablicy, nie musi być inną tablicą, ponieważ tablice asocjacyjne mogą przechowywać różne typy danych, od prostych wartości po złożone obiekty. W dodatku, tablice asocjacyjne nie wymagają istnienia przynajmniej dwóch wymiarów; mogą być jednowymiarowe, co oznacza, że nie wszystkie tablice muszą być wielowymiarowe, aby działały prawidłowo. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, obejmują nieporozumienie dotyczące definicji i właściwości różnych struktur danych oraz ich zastosowania w programowaniu. Ważne jest, aby zrozumieć, że różne typy tablic mają różne zastosowania i właściwości, co wpływa na sposób, w jaki mogą być używane w praktycznych scenariuszach programowania.

Pytanie 29

Jaką cechę pola w tabeli należy ustalić, aby pole mogło przyjmować wyłącznie dane składające się z cyfr?

Ogólne
Rozmiar pola255
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. Maskę wprowadzania
B. Tagi inteligentne
C. Wartość domyślną
D. Regułę sprawdzania poprawności
Tagi inteligentne to narzędzie, które można znaleźć w dokumentach czy w systemach do zarządzania danymi. Służą do automatycznego rozpoznawania danych, na przykład dat czy adresów, ale nie mają możliwości ograniczania wprowadzanych danych pod kątem ich formatu, jak na przykład cyfry. Reguły sprawdzania poprawności dane na poziomie tabeli, co oznacza, że można sprawdzać, czy spełniają pewne kryteria przy zapisywaniu. To działa, ale jest bardziej ogólne i nie zastąpi maski wprowadzania, bo te działają w czasie rzeczywistym. Z kolei wartość domyślna to coś, co automatycznie wprowadza dane w polu, jeśli użytkownik nic nie poda. To może być przydatne, gdy jakieś pole zawsze powinno mieć określoną wartość, chyba że użytkownik zadecyduje inaczej. Tylko że wartość domyślna nie reguluje, jakie dane mogą być wpisywane, co jest właśnie wymagane w pytaniu o ograniczenie danych do cyfr. Często myślimy, że wartość domyślna lub reguły mogą kontrolować format danych na bieżąco, ale to jest rola maski wprowadzania, która działa w momencie, gdy piszemy, więc chroni integralność już na etapie wprowadzania danych.

Pytanie 30

Jakie prawa będzie miał użytkownik jan po wykonaniu poniższych poleceń na bazie danych?

GRANT ALL PRIVILEGES ON klienci TO jan;
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
A. Będzie mógł zmieniać strukturę tabeli klienci
B. Będzie mógł przeszukiwać dane w tabeli klienci
C. Będzie mógł dodawać rekordy do tabeli klienci
D. Będzie mógł usuwać rekordy z tabeli klienci
Polecenie GRANT ALL PRIVILEGES ON klienci TO jan pozwala użytkownikowi jan na wykonywanie wszystkich operacji na tabeli klienci. Obejmuje to działania takie jak SELECT INSERT UPDATE DELETE oraz inne operacje strukturalne jak ALTER czy DROP. Następnie polecenie REVOKE SELECT INSERT UPDATE DELETE ON klienci FROM jan usuwa część tych uprawnień. Po wykonaniu tych poleceń jan zachowuje uprawnienia do zmiany struktury tabeli klienci czyli może wykonywać operacje takie jak ALTER. ALTER TABLE jest kluczowe w zarządzaniu bazą danych pozwalając na dodawanie lub usuwanie kolumn oraz modyfikację typów danych. W praktyce oznacza to że jan może np. dostosować strukturę danych do nowych wymagań biznesowych co jest ważnym aspektem elastycznego zarządzania bazą danych. Umiejętność zarządzania strukturą tabel jest ważną częścią administracji baz danych i powinna być wykonywana zgodnie z najlepszymi praktykami aby zapewnić integralność danych i wydajność systemu. Użytkownik powinien regularnie przeglądać i aktualizować dokumentację techniczną aby śledzić wszelkie zmiany w strukturze bazy danych

Pytanie 31

Która kwerenda wybierze z tabeli Uczniowie tylko osoby o imieniu „Aleksandra” urodzone PO 1998 roku?

A.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia < "1998";
B.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia > "1998";
C.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" OR rok_urodzenia > "1998";
D.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" OR rok_urodzenia < "1998";
Zadanie stawia dwa warunki, które muszą być spełnione JEDNOCZEŚNIE: imię „Aleksandra” oraz urodzenie po 1998 - takie połączenie zapewnia operator AND, a „po roku” to rok_urodzenia > "1998". Daje to SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia > "1998";. Dlatego ta kwerenda jest poprawna.

Pytanie 32

Instrukcją równoważną funkcjonalnie do przedstawionej instrukcji JavaScript jest

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
Kod 1.
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}
Kod 2.
while (i < 100)
  document.write(i + ' ');
Kod 3.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}
Kod 4.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}
A. Kod 4.
B. Kod 2.
C. Kod 3.
D. Kod 1.
Gratulacje! Wybrałeś poprawną odpowiedź, która jest Kodem 3. Pętla for prezentowana na obrazku inicjuje zmienną i na 0, a następnie sprawdza warunek i < 100, wykonuje instrukcje w pętli for i zwiększa i o 10 za każdą iteracją. To jest standardowe zachowanie dla pętli for w języku programowania JavaScript. Kod 3 jest równoważny funkcjonalnie z pętlą for, ponieważ również inicjuje zmienną i na 0, a następnie w pętli while sprawdza warunek (i < 100), wykonuje instrukcje w pętli i zwiększa i o 10 w każdej iteracji. Zrozumienie różnych rodzajów pętli i ich równoważności jest kluczowe dla skutecznego programowania, ponieważ pozwala na optymalizację kodu i poprawę jego czytelności. Dobrą praktyką jest zrozumienie, kiedy używać różnych typów pętli w zależności od specyficznych wymagań danego problemu programistycznego.

Pytanie 33

Do której właściwości można przypisać wartości: static, relative, fixed, absolute oraz sticky?

A. list-style-type
B. position
C. display
D. text-transform
Odpowiedź 'position' to strzał w dziesiątkę! To właściwość w CSS, która mówi nam, jak elementy mają być ustawione na stronie. Masz różne opcje, jak 'static', 'relative', 'fixed', 'absolute' i 'sticky', które każda z nich ma swoje przeznaczenie. Na przykład 'static' to standard, który nic nie zmienia w układzie, a 'relative' umożliwia przesunięcie elementu w stosunku do jego pierwotnej pozycji. Z kolei 'absolute' pozwala umieścić element w odniesieniu do najbliższego przodka, który nie jest ustawiony na 'static', co świetnie się sprawdza, gdy chcesz, żeby coś się ładnie ułożyło na stronie. 'fixed' trzyma element w tym samym miejscu na ekranie, nawet jak przewijasz stronę – idealne dla nagłówków. 'Sticky' łączy w sobie cechy 'relative' i 'fixed', co daje lepszą kontrolę nad pozycjonowaniem przy przewijaniu. Używanie tych wartości jest naprawdę ważne, jeżeli projektujesz responsywne interfejsy, więc dobrze, że to wiesz!

Pytanie 34

Jakie oznaczenie wykorzystuje się do jednoliniowego komentarza w skryptowym języku PHP?

A. /*
B. $
C. #
D. --
Stosowanie znaków '/*', '$' oraz '--' jako sposobów na oznaczanie jednoliniowych komentarzy w PHP jest niepoprawne i może prowadzić do nieporozumień. Znaki '/*' oraz '*/' są stosowane do tworzenia komentarzy wieloliniowych, co oznacza, że jeśli kod zawierający takie oznaczenie pojawi się w kontekście jednoliniowym, to system nie rozpozna, gdzie komentarz się zaczyna, a gdzie kończy. Może to prowadzić do błędów składniowych, które uniemożliwiają poprawne działanie programu. Znak '$' w PHP jest używany do definiowania zmiennych, co czyni go całkowicie nieodpowiednim w kontekście komentarzy. Użycie '$' jako prefiksu dla zmiennych jest kluczowym elementem języka, ale nie ma nic wspólnego z oznaczaniem komentarzy. Przykładowo, $variable = 'value'; jest poprawnym użyciem, natomiast '$ This is a comment' nie będzie zrozumiane jako komentarz. Znak '--' jest często stosowany w SQL do komentowania linii, jednak w przypadku PHP jego użycie nie jest prawidłowe. Przyjęcie niepoprawnych metod dla komentarzy może prowadzić do nieczytelności kodu, a także do trudności w jego utrzymaniu i rozwoju przez innych programistów, co jest sprzeczne z najlepszymi praktykami w branży technicznej.

Pytanie 35

Której właściwości CSS należy użyć, aby ustawić marginesy wewnętrzne elementu?

A.
padding
B.
width
C.
hight
D.
margin
Marginesy WEWNĘTRZNE - odstęp między treścią elementu a jego obramowaniem - ustawia w CSS padding, np. padding: 10px; daje 10 px wolnego miejsca dookoła treści wewnątrz ramki. To część modelu pudełkowego (box model). Zapamiętaj różnicę: padding jest WEWNĄTRZ ramki, a margin na ZEWNĄTRZ.

Pytanie 36

Na podstawie przydzielenia wartości do zmiennych w języku PHP można zauważyć, że

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. wszystkie zmienne mają ten sam typ.
B. zmienna2 i zmienna3 mają ten sam typ.
C. zmienna1 i zmienna2 mają ten sam typ.
D. zmienna1 i zmienna3 mają ten sam typ.
Dobrze widzisz, że $zmienna2 i $zmienna3 mają ten sam typ. Obie przechowują wartości jako stringi, co jest spoko. $zmienna2 to łańcuch z "15", a $zmienna3 to wynik rzutowania $zmienna1 (która jest liczbą całkowitą) na string. W PHP takie rzutowanie to normalna sprawa i nie zmienia wartości, tylko jej format. W praktyce, jeżeli dobrze rozumiesz typy danych, to ułatwia Ci to życie w programowaniu. Różne typy mogą wpływać na to, jak działają operacje i jak dane są przechowywane. Warto więc pamiętać, żeby w kodzie jasno definiować typy zmiennych i używać rzutowania tam, gdzie trzeba, bo to pomaga unikać błędów. Jak się w to wczujesz, to łatwiej będzie Ci ogarniać pamięć i optymalizować kod, zwłaszcza w większych projektach.

Pytanie 37

W języku PHP, przy pracy z bazą MySQL, aby zakończyć sesję z bazą, należy wywołać

A. mysqli_rollback()
B. mysqli_exit()
C. mysqli_commit()
D. mysqli_close()
Odpowiedź mysqli_close() jest prawidłowa, ponieważ ta funkcja jest używana do zamknięcia połączenia z bazą danych MySQL w języku PHP. Po zakończeniu wszystkich operacji na bazie danych, zaleca się wywołanie tej funkcji, aby zwolnić zasoby systemowe oraz zamknąć połączenie, co jest zgodne z dobrymi praktykami programistycznymi. Użycie mysqli_close() jest istotne, ponieważ niezamknięte połączenia mogą prowadzić do wycieków pamięci i wyczerpania dostępnych zasobów, co z kolei może wpłynąć na wydajność aplikacji. W praktyce, jeśli mamy otwarte połączenie z bazą danych, po zakończeniu operacji, takich jak pobieranie lub wstawianie danych, używamy mysqli_close($connection), gdzie $connection to nasza zmienna reprezentująca połączenie. Oprócz tego, pamiętajmy, że dbanie o odpowiednie zarządzanie połączeniami ma kluczowe znaczenie dla bezpieczeństwa i stabilności naszych aplikacji.

Pytanie 38

Jakie znaczniki <header>, <article>, <section>, <footer> są typowe dla języka?

A. HTML5
B. HTML 4.01 Transitional
C. HTML 4.01 Strict
D. XHTML 1.1
Znaczniki <header>, <article>, <section> oraz <footer> są częścią standardu HTML5, który wprowadza nowe semantyczne elementy, mające na celu poprawę struktury dokumentów HTML. Element <header> używany jest do definiowania nagłówków sekcji lub całej strony, co ułatwia nawigację i zrozumienie układu treści. <article> natomiast służy do oznaczania samodzielnych jednostek treści, które mogą być niezależnie dystrybuowane lub zrozumiane. <section> dzieli dokument na tematyczne sekcje, a <footer> zazwyczaj zawiera informacje o autorze, prawach autorskich czy linki do powiązanych materiałów. Stosowanie tych elementów zgodnie z ich przeznaczeniem sprzyja lepszej dostępności oraz optymalizacji SEO, ponieważ wyszukiwarki mogą lepiej interpretować strukturę strony. Przykładem zastosowania może być blog, w którym każdy post jest oznaczony jako <article>, co pozwala systemom wyszukiwania na łatwiejsze indeksowanie poszczególnych wpisów. Warto pamiętać, że HTML5 wspiera także inne aspekty nowoczesnego web designu, takie jak media, formularze i API, co czyni go standardem przyszłości.

Pytanie 39

Jakie rozwiązanie powinno być wdrożone w organizacji danych, aby przyspieszyć wykonanie zapytań w bazie danych?

A. Klucze podstawowe
B. Reguły
C. Wartości domyślne
D. Indeksy
Indeksy w bazach danych są kluczowym narzędziem przyspieszającym wykonywanie zapytań, ponieważ pozwalają na szybsze odnajdywanie danych. Indeks działa jak spis treści w książce, umożliwiając systemowi zarządzania bazą danych (DBMS) szybkie zlokalizowanie konkretnych wierszy w tabelach. W praktyce, dodanie indeksu do kolumny, po której często są przeprowadzane wyszukiwania, może znacząco poprawić wydajność zapytań SELECT. Na przykład, jeśli mamy dużą tabelę z danymi o klientach i często wyszukujemy klientów według nazwiska, stworzenie indeksu na kolumnie 'nazwisko' pozwoli na zredukowanie czasu potrzebnego na wyszukiwanie z kilku sekund do milisekund. Warto również wspomnieć o dobrych praktykach związanych z używaniem indeksów, takich jak unikanie nadmiernego indeksowania, które może prowadzić do obniżenia wydajności operacji INSERT, UPDATE czy DELETE, ponieważ każdy z tych procesów musi również aktualizować odpowiednie indeksy. Dlatego kluczowe jest staranne planowanie i zastosowanie indeksów tam, gdzie przynoszą największe korzyści.

Pytanie 40

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

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