Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 4 maja 2026 14:12
  • Data zakończenia: 4 maja 2026 14:32

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

Jaki wynik przyjmie zmienna a po zakończeniu pętli w podanym fragmencie kodu PHP?

$i = 10; $a = 0;
while ($i)
{
    $a = $a + 2;
    $i--;
}
A. 10
B. 2
C. 0
D. 20
W podanym fragmencie kodu PHP zmienna a przyjmuje wartość 20 po zakończeniu pętli. Dzieje się tak, ponieważ pętla while wykonuje się, dopóki zmienna i jest różna od zera. Na początku i jest równe 10, a podczas każdej iteracji pętli zmienna a jest zwiększana o 2, a zmienna i jest dekrementowana o 1. W efekcie pętla wykonuje się dokładnie 10 razy, a w każdej iteracji wartość zmiennej a zwiększa się o 2. W rezultacie po 10 iteracjach zmienna a osiąga wartość 20. Takie podejście do pętli while jest często stosowane w programowaniu, gdy chcemy wykonać określoną liczbę iteracji, dopóki warunek logiczny jest spełniony. Jest to przykład dobrej praktyki, gdy kod jest czytelny i łatwy do zrozumienia. W praktyce programowania PHP pętle tego typu są używane do różnych operacji, takich jak przetwarzanie danych, iterowanie po elementach tablic, czy wykonywanie złożonych obliczeń, co ilustruje zrozumiałe i efektywne zastosowanie tej konstrukcji w PHP.

Pytanie 2

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

A. Barwienie.
B. Krzywe.
C. Progowanie.
D. Inwersja.
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 3

Aby dostosować dźwięk do określonego poziomu głośności, należy zastosować efekt

A. normalizacji
B. wyciszenia
C. podbicia basów
D. usuwania szumów
Normalizacja to proces, który polega na dostosowywaniu poziomu głośności nagrania audio, tak aby maksymalny sygnał osiągał określony poziom, najczęściej bliski maksymalnej wartości dostępnej dla formatu audio. Normalizacja dźwięku może być zastosowana zarówno do pojedynczych ścieżek, jak i do całych projektów, co pozwala na uzyskanie spójności głośności w różnych utworach. W praktyce oznacza to, że nagrania są przetwarzane tak, aby największy dźwięk nie przekraczał ustalonego progu, co zapobiega zniekształceniom i pogorszeniu jakości dźwięku. Standardowe poziomy normalizacji obejmują wartości takie jak -1 dBFS, które zapewniają odpowiednią przestrzeń dla dynamicznych szczytów dźwięku. Przykładem zastosowania normalizacji jest przygotowywanie playlisty do transmisji radiowej, gdzie wszystkie utwory muszą być na podobnym poziomie głośności, aby zapewnić komfort słuchania. W branży muzycznej normalizacja jest kluczowym procesem, który zapewnia nie tylko odpowiednią jakość dźwięku, ale i profesjonalny odbiór nagrań przez słuchaczy.

Pytanie 4

W języku JavaScript funkcja getElementById() odnosi się do

A. elementu HTML o wskazanej nazwie klasy
B. klasy zdefiniowanej w CSS
C. elementu HTML o określonym id
D. zmiennej liczbowej
Metoda getElementById() jest jedną z najczęściej używanych funkcji w JavaScript, która pozwala na bezpośrednie odwołanie się do elementu DOM (Document Object Model) za pomocą atrybutu id. Gdy wywołujemy tę metodę, przekazujemy jej jako argument ciąg znaków odpowiadający wartości atrybutu id danego elementu HTML. Przykładowo, jeśli mamy znacznik `<div id='myDiv'></div>`, możemy uzyskać do niego dostęp za pomocą `document.getElementById('myDiv')`. Jest to bardzo efektywny sposób na manipulowanie elementami strony, umożliwiający m.in. zmianę ich zawartości, stylu czy atrybutów. Dzięki tej metodzie programiści mogą szybko i łatwo modyfikować interfejs użytkownika oraz reagować na zdarzenia, co jest zgodne z zasadami responsywnego projektowania i tworzenia dynamicznych aplikacji webowych. Warto również pamiętać, że użycie unikalnych identyfikatorów w HTML jest zgodne z dobrymi praktykami, ponieważ pozwala na łatwiejszą nawigację po strukturze dokumentu i unika konfliktów z innymi elementami.

Pytanie 5

Zapytanie: SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje zwrócenie:

A. imion, numerów PESEL oraz wieku osób w przedziale od 18 do 30 lat
B. imion, numerów PESEL oraz wieku osób, które mają więcej niż 30 lat
C. imion, numerów PESEL oraz wieku osób, których wiek wynosi 18 lub 30 lat
D. imion, nazwisk oraz numerów PESEL osób mających mniej niż 18 lat
W przypadku pierwszej opcji, wybór imion, nazwisk i numerów PESEL osób w wieku poniżej 18 lat jest błędny, ponieważ zapytanie wykorzystuje klauzulę WHERE z operatorem IN, co oznacza, że filtruje jedynie osoby, które są w wieku równym 18 lub 30 lat, a nie poniżej 18 lat. Warto zauważyć, że taka interpretacja zapytania ignoruje zasadniczą logikę działania operatora IN. Z kolei trzecia opcja, dotycząca wybrania imion, numerów PESEL i wieku osób z przedziału od 18 do 30 lat, również mija się z prawdą, gdyż operator IN nie obejmuje osób, które mają wiek pomiędzy 18 a 30 lat, a jedynie osoby, które mają 18 lub 30 lat. Ostatnia opcja, dotycząca wyboru osób powyżej 30 lat, jest całkowicie sprzeczna z zapytaniem, które w ogóle nie bierze pod uwagę takiej grupy wiekowej. Warto przy tym zauważyć, że typowe błędy myślowe, które prowadzą do takich nieprawidłowych wniosków, mogą wynikać z niepełnego zrozumienia działania operatorów w SQL oraz nieznajomości zasad filtracji danych. W praktyce, znajomość specyfiki poszczególnych operatorów oraz ich zastosowań w różnych kontekstach jest kluczowa dla poprawnego formułowania zapytań i analizy danych.

Pytanie 6

W języku PHP zmienna $_GET jest zmienną

A. zwykłą, utworzoną przez autora witryny
B. utworzoną przez autora strony, używaną do przesyłania danych z formularza przez adres URL
C. predefiniowaną, używaną do przesyłania informacji do skryptów PHP za pośrednictwem adresu URL
D. predefiniowaną, wykorzystywaną do zbierania wartości formularza po nagłówkach żądania HTTP (dane z formularza nie są widoczne w adresie)
Odpowiedź jest poprawna, ponieważ zmienna $_GET w języku PHP jest predefiniowaną tablicą asocjacyjną, która służy do pobierania danych przekazanych przez metodę GET. Gdy użytkownik wysyła formularz z wykorzystaniem metody GET, wartości pól formularza są dołączane do adresu URL jako parametry zapytania. Na przykład, w adresie 'example.com/page.php?name=John&age=30', zmienna $_GET będzie zawierać wartości ['name' => 'John', 'age' => '30']. Dzięki temu skrypty PHP mogą uzyskiwać dostęp do tych danych i je przetwarzać. Używanie $_GET jest powszechną praktyką, szczególnie w przypadku, gdy dane nie są wrażliwe, ponieważ są widoczne w adresie URL. Ważne jest, aby pamiętać o bezpieczeństwie, stosując odpowiednie mechanizmy filtrowania i walidacji, aby uniknąć ataków, takich jak SQL Injection. Zastosowanie $_GET jest istotne w kontekście SPA (Single Page Applications), gdzie dane są często przesyłane na serwer w celu pobrania lub zaktualizowania zawartości strony bez przeładowania całej aplikacji.

Pytanie 7

W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu. <h6>CSS</h6>
<p>Kaskadowe arkusze stylów <b>ang.<i>Cascading Style Sheets</b></i>)<br>to język służący...</p>

A. Znak br nie został prawidłowo zamknięty.
B. Znacznik h6 jest nieznany.
C. Znak br nie może być użyty wewnątrz znacznika p.
D. Znak zamykający /b jest niezgodny z zasadą zagnieżdżania.
Wszystkie trzy niepoprawne odpowiedzi zawierają błędne interpretacje kwestii walidacji kodu HTML w analizowanym fragmencie. Odpowiedź dotycząca nieznanego znacznika h6 jest błędna, ponieważ znacznik <h6> jest w pełni akceptowany w HTML jako znacznik nagłówka o najmniejszym znaczeniu. Zgodnie z specyfikacją HTML5, tego rodzaju znaczniki są używane do strukturyzacji treści, a ich użycie jest zalecane dla zachowania hierarchii informacji. Kolejna niepoprawna odpowiedź, dotycząca niedomkniętego znacznika <br>, jest również myląca, ponieważ znacznik <br> jest znakiem nowej linii i nie wymaga zamknięcia, co jest zgodne z zasadami HTML. Jego użycie wewnątrz znacznika <p> jest również dozwolone, chociaż nadmierne użycie <br> do łamania wierszy w paragrafach nie jest zalecane z perspektywy semantycznej i dostępności. Wreszcie, stwierdzenie, że znacznik <br> nie może występować wewnątrz znacznika <p>, jest mylne; znacznik <br> jest specjalnie zaprojektowany do użycia w kontekście tekstu i jego umiejscowienie w paragrafach jest jak najbardziej prawidłowe. W związku z tym wszystkie te odpowiedzi nie są zgodne z aktualnymi standardami HTML.

Pytanie 8

W hurtowni danych stworzono tabelę sprzedaz, która zawiera pola: id, kontrahent, grupa_cenowa, obrot. Jakie polecenie trzeba zastosować, aby znaleźć tylko kontrahentów z grupy cenowej numer dwa, których obrót przekracza 4000 zł?

A. SELECT sprzedaz FROM kontrahent WHERE obrot > 4000;
B. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 OR obrot > 4000;
C. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa = 2 AND obrot > 4000;
D. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000;
Twoja odpowiedź jest na właściwej drodze. Wykorzystałeś klauzulę SELECT w zapytaniu SQL, żeby wydobyć konkretne dane z tabeli sprzedaz. Świetnie, że zastosowałeś WHERE z warunkami 'grupa_cenowa = 2' oraz 'obrot > 4000', bo to dokładnie filtruje wyniki do tych kontrahentów, którzy są w drugiej grupie cenowej i mają obrót większy niż 4000 zł. Takie operacje są bardzo ważne w analizie danych, szczególnie w hurtowniach danych, gdzie musisz dobrze filtrować i agregować informacje, żeby wyciągnąć sensowne wnioski. W praktyce takie zapytania mogą być przydatne przy tworzeniu raportów sprzedażowych czy ocenie rentowności klientów. Warto też pamiętać, żeby tabele i kolumny były jasno nazwane, bo to zdecydowanie ułatwia tworzenie zapytań SQL.

Pytanie 9

Który z poniższych sposobów na komentarz jednoliniowy jest akceptowany w języku JavaScript?

A. #
B. //
C. !
D. <!
W JavaScript, jeśli chcesz dodać komentarz jednoliniowy, musisz użyć podwójnych ukośników, czyli '//' na początku linii. Te komentarze są naprawdę przydatne, bo pozwalają ci opisać, co robi dany kawałek kodu, albo czasami wyłączyć fragmenty podczas testowania. Co fajne, to że wszystko, co napiszesz za '//' zostanie zignorowane przez interpreter, więc nie będzie miało wpływu na działanie skryptu. Przykład: masz linijkę 'let x = 5; // Ustawia wartość x na 5', i wszystko po '//' nie będzie brane pod uwagę przez JavaScript. Komentarze są zgodne z ECMAScript, który jest takim standardem dla tego języka. Szczerze mówiąc, dobrze jest używać komentarzy do dokumentacji, bo to ułatwia czytanie kodu i pracę z innymi programistami. Pamiętaj, żeby robić je zwięzłe, ale muszą też dobrze tłumaczyć, co miał na myśli autor kodu.

Pytanie 10

W bazie danych znajdują się dwie tabele, które są ze sobą połączone relacją 1..n. Jakiej klauzuli SQL należy użyć, aby uzyskać odpowiadające sobie dane z obu tabel?

A. AND
B. JOIN
C. OUTER LINK
D. INNER LINK
Klauzula JOIN w SQL służy do łączenia tabel w bazie danych, pozwalając na pobranie powiązanych danych z różnych tabel. W przypadku relacji 1..n, przy której jedna tabela (nazwa tabeli `A`) może mieć wiele powiązanych rekordów w drugiej tabeli (nazwa tabeli `B`), klauzula JOIN jest idealna do uzyskania korespondujących wartości z obu tabel. Przykład zastosowania to: SELECT A.*, B.* FROM A JOIN B ON A.id = B.a_id; W powyższym zapytaniu `A.id` to klucz główny tabeli `A`, a `B.a_id` to klucz obcy w tabeli `B`, który odnosi się do `A`. Klauzula JOIN może przyjmować różne formy, takie jak INNER JOIN, LEFT JOIN, RIGHT JOIN, i FULL JOIN, które różnią się sposobem łączenia danych i wynikami. JOIN jest standardem SQL, co oznacza, że jest wspierany przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, Oracle, czy Microsoft SQL Server. Użycie klauzuli JOIN jest kluczowe w relacyjnych bazach danych, gdzie dane są rozdzielone w różnych tabelach, ale muszą być analizowane łącznie.

Pytanie 11

Normalizacja tabel to proces, którego celem jest

A. sprawdzenie i optymalizację bazy danych
B. dodanie danych do bazy
C. wyłącznie stworzenie tabel oraz relacji w bazie
D. wizualizacja bazy
Normalizacja tabel jest kluczowym procesem w projektowaniu baz danych, który ma na celu usprawnienie struktury danych poprzez eliminację redundancji i zapewnienie integralności danych. Proces ten składa się z kilku kroków, które prowadzą do stworzenia dobrze zorganizowanej bazy danych. Głównym celem normalizacji jest zminimalizowanie powielania danych, co w rezultacie prowadzi do optymalizacji przestrzeni dyskowej oraz zwiększenia wydajności zapytań. Przykładem zastosowania normalizacji jest podział tabeli zawierającej informacje o klientach i zamówieniach na dwie odrębne tabele. W ten sposób, każdy klient ma swoje unikalne dane w jednej tabeli, natomiast w drugiej tabeli zapisywane są tylko odniesienia do klientów zamiast ich powtórzeń. Dobre praktyki związane z normalizacją uwzględniają różne formy normalne, z których każda ma swoje zasady, np. pierwsza forma normalna (1NF) wymaga, aby każda kolumna w tabeli zawierała tylko atomowe wartości. Wysoka jakość projektowania baz danych, w tym normalizacja, znacząco wpływa na późniejsze zarządzanie danymi oraz ich analizy.

Pytanie 12

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

Rozdział 1

tekst

Podrozdział 1.1

tekst

Podrozdział 1.2

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

Pytanie 13

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. wypisanie wartości bezwzględnej z f
C. zwrócenie wartości odwrotnej do f
D. wypisanie wartości odwrotnej do f
Patrząc na błędne odpowiedzi, trzeba zauważyć, że funkcja w ogóle nie zajmuje się wypisywaniem wartości ani obliczaniem odwrotności liczby. W JavaScript do wypisywania danych używamy polecenia console.log(), a tutaj go nie ma. Ta funkcja tylko zwraca wynik, co w programowaniu jest super ważne, bo później można wykorzystać tę wartość w dalszym kodzie. Kolejna pomyłka to myślenie, że funkcja zwraca odwrotność liczby. Odwrotność to zupełnie co innego i związane z tym, że musimy znaleźć liczbę, która pomnożona przez pierwotną daje 1. W tym wypadku funkcja tylko zmienia znak liczby, gdy jest ona ujemna, co jest typowe dla obliczania wartości bezwzględnej. Zrozumienie tych różnic jest naprawdę kluczowe, jeśli chcesz uniknąć typowych błędów w programowaniu i lepiej pisać kod.

Pytanie 14

Systemem zarządzania wersjami w projekcie oprogramowania, który jest rozproszony, jest

A. TotalCommander
B. FileZilla
C. GIT
D. Eclipse
GIT jest rozproszonym systemem kontroli wersji, który umożliwia programistom śledzenie zmian w kodzie źródłowym oraz współpracę nad projektami w zespole. Rozproszona architektura GIT pozwala każdemu deweloperowi na posiadanie pełnej kopii repozytorium, co zwiększa bezpieczeństwo i elastyczność pracy. W przeciwieństwie do centralnych systemów kontroli wersji, gdzie jedna centralna kopia repozytorium jest głównym źródłem, GIT umożliwia każdemu użytkownikowi wprowadzanie zmian lokalnie, a następnie synchronizację z innymi. Przykładem zastosowania GIT-a jest platforma GitHub, która umożliwia hosting projektów oraz wspiera pracę zespołową poprzez funkcje takie jak pull requesty czy zarządzanie problemami. GIT jest zgodny z wieloma standardami, w tym z Open Source, co czyni go narzędziem dostępnym dla szerokiej społeczności deweloperów. Jego wszechstronność i bogate możliwości, takie jak branżowanie i łączenie gałęzi, sprawiają, że jest on niezbędnym narzędziem w pracy nad nowoczesnymi projektami programistycznymi.

Pytanie 15

W SQL prawo SELECT w poleceniu GRANT umożliwia użytkownikowi bazy danych na

A. pobieranie danych z tabeli
B. tworzenie nowych tabel
C. usuwanie danych z tabeli
D. zmianę danych w tabeli
Przywilej SELECT w poleceniu GRANT w języku SQL jest kluczowym elementem zarządzania dostępem do danych w bazach danych. Umożliwia on użytkownikowi wykonanie operacji odczytu na danych przechowywanych w tabelach. W praktyce oznacza to, że użytkownik, któremu przyznano ten przywilej, może wykonywać zapytania SELECT, aby przeglądać dane, analizować je i generować raporty. Przykładowo, w kontekście systemu zarządzania bazą danych (DBMS) takiego jak MySQL, po przyznaniu przywileju SELECT dla konkretnej tabeli, użytkownik może wywołać zapytanie takie jak 'SELECT * FROM nazwa_tabeli;', co pozwala mu na wyświetlenie wszystkich rekordów z tej tabeli. Praktyka ta jest zgodna z podstawowymi zasadami zarządzania dostępem do danych, które są zdefiniowane w standardzie SQL. Odczytywanie danych jest fundamentalnym zadaniem w analizie danych, a przywilej SELECT jest często pierwszym krokiem w budowaniu bardziej złożonych zapytań, które mogą obejmować agregacje, filtrowanie czy łączenie tabel. W ten sposób przywilej SELECT nie tylko umożliwia dostęp do danych, ale także stanowi podstawę dla bardziej zaawansowanych operacji na danych.

Pytanie 16

Do uruchomienia kodu napisanego w języku PHP konieczne jest posiadanie w systemie

A. serwera WWW, parsera PHP oraz bazy danych MySQL
B. przeglądarki internetowej
C. serwera WWW z interpreterem PHP
D. serwera WWW z bazą danych MySQL
Pierwsza z niepoprawnych odpowiedzi sugeruje, że wystarczy zainstalować przeglądarkę internetową do uruchamiania kodu PHP. To podejście jest błędne, ponieważ przeglądarki internetowe są narzędziami do wyświetlania zawartości HTML i nie mają zdolności do interpretowania skryptów PHP. PHP musi być przetwarzany na serwerze, a przeglądarka jedynie odbiera już przetworzone dane. Kolejna niepoprawna odpowiedź wskazuje na konieczność posiadania serwera WWW wraz z serwerem MySQL. Chociaż MySQL jest popularnym systemem zarządzania bazami danych używanym w połączeniu z PHP, nie jest on niezbędny do uruchamiania samych skryptów PHP, zwłaszcza w sytuacjach, gdy aplikacja nie korzysta z bazy danych. Ostatnia z niepoprawnych odpowiedzi odnosi się do potrzeby posiadania serwera WWW, parsera PHP oraz serwera MySQL. Choć jest to podejście bardziej kompleksowe, to znowu, do uruchomienia kodu PHP wystarczy jedynie serwer WWW z interpreterem PHP. MySQL jest opcjonalny i wykorzystywany tylko wtedy, gdy aplikacja wymaga interakcji z bazą danych. Wnioskując, aby uruchomić kod PHP, kluczowym elementem jest serwer WWW z interpreterem PHP, co czyni inne odpowiedzi niepoprawnymi w kontekście podstawowych wymagań.

Pytanie 17

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

A. odpowiednie przycięcie.
B. dodanie kanału alfa.
C. zapisanie go w formacie BMP.
D. ulepszenie nasycenia kolorów.
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 18

Który z typów formatów oferuje największą kompresję pliku dźwiękowego?

A. WAV
B. MP3
C. PCM
D. CD-Audio
Format MP3 jest algorytmem kompresji stratnej, który umożliwia znaczną redukcję rozmiaru plików dźwiękowych przy zachowaniu akceptowalnej jakości dźwięku. W przeciwieństwie do formatów takich jak WAV, PCM czy CD-Audio, które są formatami bezstratnymi, MP3 wykorzystuje techniki psychoakustyczne do eliminacji dźwięków, które są mniej słyszalne dla ludzkiego ucha. Dzięki temu, pliki MP3 mogą być nawet dziesięciokrotnie mniejsze od swoich odpowiedników bezstratnych, co czyni je idealnymi do zastosowań w streamingach, pobierania muzyki oraz na urządzenia mobilne. Użytkownicy mogą z łatwością przechowywać większe ilości muzyki na swoich urządzeniach, co wpływa na komfort korzystania z technologii audio. Warto również zaznaczyć, że standard MP3 stał się de facto normą w branży muzycznej, co potwierdzają liczne platformy dystrybucji muzyki, które preferują ten format. Dobrą praktyką jest dostosowywanie bitrate'u przy kompresji do potrzeb użytkownika, aby równoważyć rozmiar pliku z jakością audio.

Pytanie 19

Przedstawione zapytanie MySQL ma za zadanie

ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL;
A. usunąć kolumnę tytul z tabeli ksiazki.
B. zmienić typ kolumny tytul w tabeli ksiazki.
C. dodać do tabeli ksiazki kolumnę tytul.
D. zmienić nazwę kolumny w tabeli ksiazki.
Zapytanie ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL; często bywa mylone z innymi operacjami na strukturze tabeli, bo wszystkie tego typu polecenia wyglądają do siebie dość podobnie. Warto więc uporządkować, co ono dokładnie robi, a czego na pewno nie robi. W MySQL słowo kluczowe MODIFY służy do zmiany definicji istniejącej kolumny, czyli głównie jej typu danych, długości, atrybutów takich jak NOT NULL, domyślna wartość czy np. AUTO_INCREMENT. Kluczowe jest to, że nazwa kolumny pozostaje taka sama, modyfikujemy tylko jej właściwości techniczne. Częsty błąd myślowy polega na wrzucaniu do jednego worka wszystkich operacji ALTER TABLE i zakładaniu, że każde takie polecenie może np. usuwać lub dodawać kolumny. Do usuwania kolumny służy jednak zupełnie inna składnia: ALTER TABLE nazwa_tabeli DROP COLUMN nazwa_kolumny;. Tutaj nie ma słowa MODIFY, więc zapytanie z pytania na pewno nie usuwa kolumny tytul. Podobnie z dodawaniem nowej kolumny – używa się słowa kluczowego ADD, np. ALTER TABLE ksiazki ADD tytul VARCHAR(100);. W naszym przypadku kolumna tytul już musi istnieć, bo inaczej MODIFY zakończy się błędem. Pojawia się też czasem przekonanie, że MODIFY zmienia nazwę kolumny. W MySQL do zmiany nazwy wykorzystuje się ALTER TABLE ... CHANGE stara_nazwa nowa_nazwa typ;, gdzie trzeba podać zarówno starą, jak i nową nazwę oraz pełną definicję typu. W poleceniu z zadania nazwa tytul występuje tylko raz i nigdzie nie ma nowej nazwy, więc nie ma tu mowy o zmianie nazwy, a jedynie o modyfikacji typu i atrybutu NOT NULL. Dobrą praktyką w pracy z SQL jest dokładne kojarzenie słów kluczowych: ADD – dodaj, DROP – usuń, CHANGE – zmień nazwę i definicję, MODIFY – zmień definicję bez ruszania nazwy. Mylenie tych pojęć prowadzi później do niepotrzebnych błędów w migracjach bazy, a czasem nawet do utraty danych, dlatego warto mieć te różnice naprawdę dobrze poukładane w głowie.

Pytanie 20

Aby przedstawić dane w bazach danych, które spełniają określone kryteria, należy stworzyć

A. formularz
B. raport
C. makropolecenie
D. relację
Wybór relacji, formularza lub makropolecenia jako odpowiedzi na pytanie o prezentację danych spełniających określone warunki jest nieprawidłowy z kilku powodów. Relacja w bazach danych odnosi się do struktury danych, która opisuje związki między tabelami, a nie do sposobu ich prezentacji. Choć relacje są fundamentem, na którym opiera się przechowywanie i organizowanie danych, same w sobie nie oferują narzędzia do wyodrębniania czy przedstawiania informacji w przystępny sposób. Formularze z kolei są wykorzystywane głównie do wprowadzania danych do systemu, pozwalając użytkownikom na interakcję z bazą, jednak nie służą one do analizy ani prezentacji danych w formie zrozumiałej dla odbiorcy. Makropolecenia, choć mogą automatyzować pewne procesy związane z przetwarzaniem danych, również nie spełniają funkcji raportowania, ponieważ są narzędziem do wykonywania powtarzalnych operacji. Wybierając te odpowiedzi, można wpaść w pułapkę myślową, w której myli się funkcje narzędzi bazodanowych, co może prowadzić do błędnych decyzji w zakresie projektowania systemów informatycznych. Każde z tych narzędzi pełni swoją specyficzną rolę w ekosystemie baz danych, lecz tylko raporty są zaprojektowane z myślą o efektywnej prezentacji danych zgodnie z określonymi kryteriami.

Pytanie 21

Jakiej funkcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie tak, aby widoczne było jedynie to, co mieści się w ramce?

Ilustracja do pytania
A. Zmiana rozmiaru
B. Lustro
C. Perspektywa
D. Kadrowanie
Kadrowanie w edytorze grafiki rastrowej to naprawdę fajna technika, bo pozwala nam na wycięcie konkretnej części obrazu, którą chcemy pokazać. Dzięki temu skupiamy uwagę na tym, co w grafice najważniejsze, eliminując to, co jest zbędne. Przygotowując grafikę do wrzucenia na stronę www, dobrze jest pomyśleć o kadrowaniu, bo nie tylko poprawia estetykę, ale też sprawia, że strona działa szybciej. Mniejsza grafika to krótszy czas ładowania, co wszyscy lubią. Kadrowanie jest kluczowe, zwłaszcza w responsywnym web designie, gdzie musimy dostosować obrazy do różnych ekranów. Z praktyki wiem, że dobrze wykadrowany obraz to lepsza jakość przy mniejszej wadze pliku, co korzystnie wpływa na SEO i wrażenia użytkowników. W programach jak Adobe Photoshop czy GIMP kadrowanie jest dość proste i pozwala na szybkie dostosowanie obrazu do potrzeb projektu.

Pytanie 22

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

A. <p class="akapit">akapit4</p>
B. <p>akapit</p>
C. <p id="akapit">akapit2</p>
D. <p href="/akapit">akapit3</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 23

Aby zdefiniować pole w klasie, do którego dostęp mają wyłącznie metody tej klasy i które nie jest dostępne dla klas dziedziczących, należy zastosować kwalifikator dostępu

A. published
B. public
C. protected
D. private
Kwalifikator dostępu 'private' jest kluczowy w programowaniu obiektowym, ponieważ pozwala na ukrycie szczegółów implementacji klasy przed innymi klasami. Deklarując pole klasy jako 'private', zapewniamy, że dostęp do niego mają jedynie metody tej samej klasy, co zwiększa enkapsulację i bezpieczeństwo danych. Na przykład, w języku Java, pole 'private' może być używane do przechowywania stanu obiektu, który nie powinien być bezpośrednio modyfikowany przez inne klasy. Korzystanie z getterów i setterów to jedna z najlepszych praktyk, która pozwala na kontrolowanie dostępu i modyfikacji prywatnych pól. Dzięki temu można wprowadzać dodatkową logikę przy pobieraniu lub ustawianiu wartości, co jest zgodne z zasadą pojedynczej odpowiedzialności. W standardach projektowania oprogramowania, takich jak SOLID, podkreśla się znaczenie ograniczania widoczności pól, co prowadzi do bardziej elastycznej i łatwiejszej w utrzymaniu architektury oprogramowania.

Pytanie 24

Poniższy fragment kodu w PHP wyświetli

$n = '[email protected]';
$dl = strlen($n);
$i = 0;
while($i < $dl && $n[$i] != '@')
{
    echo $n[$i];
    $i++;
}
A. nazwa konta z symbolem @, czyli "adres@"
B. tylko nazwę konta, czyli "adres"
C. samą nazwę domeny, czyli "host.pl"
D. cały adres e-mail, czyli "[email protected]"
Powyższy fragment kodu w języku PHP ma za zadanie wyodrębnić i wypisać nazwę konta z adresu e-mail. Kod definiuje ciąg znaków zawierający pełny adres e-mail i używa pętli while do iteracji przez każdy znak tego ciągu aż do napotkania znaku '@'. Pętla while działa, dopóki indeks i jest mniejszy niż długość ciągu $n oraz bieżący znak $n[$i] nie jest '@'. W każdej iteracji echo wypisuje bieżący znak, a zmienna i jest inkrementowana. Dzięki temu kod wypisuje wszystkie znaki przed '@', co w tym przypadku jest nazwą konta 'adres'. Takie podejście jest powszechnie stosowane w podstawowym przetwarzaniu tekstu, gdzie potrzebna jest iteracja przez ciąg znaków. W praktyce, w aplikacjach webowych, takie operacje są często wykonywane na danych wejściowych użytkownika, aby wyodrębnić specyficzne części danych, takie jak nazwa użytkownika z e-maila. Jest to również zgodne z zasadami przetwarzania stringów w PHP, gdzie manipulacja tekstem odbywa się z wykorzystaniem indeksów i pętli.

Pytanie 25

Według zasad walidacji HTML5, jakie jest prawidłowe użycie znacznika hr?

A. &lt;/ hr /&gt;
B. &lt;/hr?&gt;
C. &lt;hr&gt;
D. &lt;/ hr&gt;
Znacznik <hr> to taki prosty element w HTML5, który robi poziomą linię na stronie. Używa się go często do oddzielania różnych sekcji w tekście, co sprawia, że wszystko wygląda bardziej przejrzyście. Co ciekawe, to znacznik samodzielny, więc nie potrzebuje zamknięcia, a dodatkowo w HTML5 nie musimy dodawać znaku '/' na końcu, co czyni go lżejszym w użyciu. Jak użyjemy <hr>, to przeglądarki wiedzą, co z tym zrobić, a to ważne, żeby strona wyglądała spójnie. Moim zdaniem, świetnie działa w artykułach, bo gdy oddziela różne części, to czytelnik łatwiej się w tym odnajduje. No i nie zapominajmy o dostępności – ludzie, którzy korzystają z technologii wspomagających, też lepiej zrozumieją, co się dzieje na stronie dzięki takim znacznikom.

Pytanie 26

W języku PHP zapis $b++ jest równoważny zapisowi

A. $b = $b + $b
B. $b == $b
C. $b == $b + $b
D. $b = $b + 1
Zapis $b++ w PHP to tak zwany operator inkrementacji w wersji postfiksowej. Oznacza on zwiększenie wartości zmiennej b dokładnie o 1. W praktyce, po wykonaniu tej instrukcji, b będzie miało wartość b + 1. Dlatego zapis ten jest równoważny instrukcji przypisania $b = $b + 1. Warto zauważyć, że jest to uproszczona, bardziej czytelna forma, bardzo często wykorzystywana w pętlach, np. for ($i = 0; $i < 10; $i++). Właśnie w takim kontekście operator ++ jest praktycznie standardem branżowym i każdy programista webowy powinien go rozumieć bez zastanawiania. Moim zdaniem używanie $b++ zamiast $b = $b + 1 poprawia czytelność kodu, szczególnie gdy mamy dużo operacji na licznikach, indeksach tablic czy licznikach iteracji. Trzeba też pamiętać o różnicy między $b++ a ++$b. W wersji postfiksowej (b++) najpierw zwracana jest stara wartość, a dopiero potem zmienna jest zwiększana. W wersji prefiksowej (++b) najpierw zwiększana jest wartość, a potem zwracany jest już nowy wynik. W prostych przypadkach, takich jak samodzielna linijka $b++; albo $b = $b + 1;, efekt końcowy w zmiennej b jest ten sam. Natomiast w wyrażeniach typu $c = $b++; różnica ma znaczenie. W codziennej pracy z PHP operatory ++ i -- są fundamentem przy pisaniu pętli, prostych algorytmów zliczania, paginacji czy obsługi indeksów w tablicach. Dobra praktyka to stosowanie tych skróconych operatorów tam, gdzie naprawdę chodzi tylko o zwiększenie lub zmniejszenie o 1, bo od razu widać intencję programisty i kod jest bardziej zwięzły, bez zbędnego „szumu”.

Pytanie 27

Kod PHP z fragmentem ```if(empty($_POST["name"])){ $nameErr = "Name is required"; }``` służy do obsługi

A. ciasteczek
B. sesji
C. bazy danych
D. formularza
Przedstawiony fragment kodu PHP sprawdza, czy w przesłanym formularzu (metodą POST) zawartość pola 'name' jest pusta. Jeśli tak, ustawia zmienną $nameErr z komunikatem "Name is required", co oznacza, że pole imienia jest wymagane. Tego typu walidacja jest kluczowym elementem przy pracy z formularzami, ponieważ pozwala na zapewnienie, że użytkownik dostarcza wszystkie niezbędne dane przed ich przetworzeniem. W praktyce, walidacja po stronie serwera jest niezbędna dla bezpieczeństwa aplikacji oraz poprawności danych, które są później przetwarzane i przechowywane w bazie danych. Standardy branżowe sugerują, aby każdy formularz miał walidację zarówno po stronie klienta (JavaScript), jak i serwera (PHP), aby minimalizować ryzyko nieprawidłowych danych i ataków, takich jak SQL Injection. Przykładowo, w formularzach rejestracyjnych i logowania, walidacja pól takich jak imię, email czy hasło jest powszechną praktyką, aby poprawić doświadczenie użytkownika oraz bezpieczeństwo aplikacji.

Pytanie 28

W PHP zmienna typu float może przyjmować wartości

A. jedynie całkowite.
B. zmiennoprzecinkowe.
C. nieliczbowe.
D. logiczne.
Odpowiedź 'zmiennoprzecinkowe' jest poprawna, ponieważ w języku PHP zmienne typu float służą do przechowywania liczb rzeczywistych, które mogą mieć część dziesiętną. W PHP typ float jest bardzo przydatny w wielu zastosowaniach, takich jak obliczenia finansowe, naukowe czy inżynieryjne, gdzie dokładność pomiarów ma kluczowe znaczenie. Przykładem może być obliczanie wartości procentowych, średnich czy skomplikowanych operacji matematycznych, w których konieczne jest uwzględnienie wartości dziesiętnych. W praktyce, aby zadeklarować zmienną typu float, wystarczy przypisać jej wartość z częścią dziesiętną, na przykład: $cena = 19.99; Warto pamiętać, że w PHP zmienne typu float mogą być nieco niedokładne na skutek sposobu przechowywania liczb w pamięci komputera, co może prowadzić do błędów zaokrągleń, dlatego w krytycznych obliczeniach zaleca się stosowanie typów precyzyjnych lub bibliotek do obliczeń matematycznych.

Pytanie 29

Aby włączyć kaskadowy arkusz stylów zapisany w zewnętrznym pliku, należy zastosować poniższy fragment kodu HTML?

A. <meta charset="styl.css" />
B. <div id="styl.css" relation="css" />
C. <link rel="stylesheet" type="text/css" href="styl.css" />
D. <optionvalue="styl.css" type="text/css" />
Odpowiedź <link rel="stylesheet" type="text/css" href="styl.css" /> jest poprawna, ponieważ jest to standardowy sposób dołączania zewnętrznych arkuszy stylów w HTML. Element <link> jest używany do powiązania dokumentu HTML z zewnętrznym źródłem CSS. Atrybut 'rel' informuje przeglądarkę, że jest to arkusz stylów, natomiast atrybut 'href' wskazuje ścieżkę do pliku CSS. Dzięki temu przeglądarka może załadować stylizacje z pliku, co pozwala na oddzielenie treści od stylu, co jest zgodne z zasadą separacji, kluczową w projektowaniu stron internetowych. Na przykład, dodając ten fragment kodu w sekcji <head> dokumentu HTML, możemy łatwo zarządzać wyglądem wielu stron, zmieniając tylko jeden plik CSS. To podejście zwiększa wydajność i ułatwia konserwację strony, co jest szczególnie ważne w większych projektach. W praktyce, aby załadować różne style dla różnych urządzeń, możemy użyć atrybutu 'media', co pozwoli na bardziej elastyczne podejście do zarządzania stylami.

Pytanie 30

W tabeli psy znajdują się kolumny: imię, rasa, telefon_właściciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby znaleźć numery telefonów właścicieli psów, które zostały zaszczepione przed 2015 rokiem?

A. SELECT psy FROM rok_szczepienia < 2015
B. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia > 2015
C. SELECT imię, rasa FROM psy WHERE rok_szczepienia > 2015
D. SELECT telefon_właściciela FROM psy WHERE rok_szczepienia < 2015
Wybrana odpowiedź jest poprawna, ponieważ precyzyjnie określa, jak za pomocą języka SQL można uzyskać telefony właścicieli psów, których szczepienia miały miejsce przed rokiem 2015. W poleceniu SQL używamy klauzuli SELECT, aby wybrać konkretne kolumny z tabeli. W tym przypadku interesuje nas kolumna 'telefon_wlasciciela'. Klauzula WHERE służy do filtrowania danych, co pozwala na zastosowanie warunku, który musi być spełniony, aby rekordy zostały zwrócone. Warunek 'rok_szczepienia < 2015' jest logiczny i zgodny z wymaganiami pytania. Taka konstrukcja zapytania jest zgodna z najlepszymi praktykami, ponieważ jasno określa, co chcemy uzyskać oraz jakie kryteria muszą zostać spełnione. Przykładowe zastosowanie tego typu zapytania może obejmować analizę danych dotyczących zdrowia psów, co jest istotne dla weterynarzy, hodowców czy właścicieli zwierząt. Umożliwia to podejmowanie świadomych decyzji dotyczących opieki zdrowotnej zwierząt.

Pytanie 31

Który z kodów PHP sprawi, że zostanie wyświetlona sformatowana data oraz czas ostatnich odwiedzin użytkownika witryny, natomiast podczas pierwszej wizyty nic się nie wyświetli?

Kod 1.   echo date('d.m.Y, H:i', $_COOKIE['c1']);
         setcookie('c1', time());

Kod 2.   if(isset($_COOKIE['c1']))
           echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 3.   echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 4.   setcookie('c1', time(), time() + 30 * 86400);
A. Kod 2.
B. Kod 3.
C. Kod 1.
D. Kod 4.
Niepoprawne kody PHP nie spełniają wymagań zadania z różnych powodów. Niektóre nie wykorzystują funkcji isset() do sprawdzenia, czy ciasteczko 'c1' istnieje, co może prowadzić do błędów, jeżeli ciasteczko nie zostało ustawione. Inne zawsze wyświetlają datę i czas ostatnich odwiedzin, nawet jeżeli jest to pierwsza wizyta użytkownika na stronie, co jest niezgodne z treścią pytania. Kolejnym błędnym podejściem jest nieaktualizowanie ciasteczka 'c1' po wyświetleniu daty i czasu ostatnich odwiedzin, co powoduje, że zawsze wyświetlana jest ta sama data i czas. Ważnym elementem pracy z ciasteczkami w PHP jest zrozumienie, jak są one zapisywane i odczytywane, a także jak można je wykorzystać do przechowywania informacji o użytkownikach. Błędy te pokazują brak zrozumienia tych kwestii.

Pytanie 32

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

A. UPDATE producent='TOSHIBA' SET URL = 'toshiba.pl';
B. UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
C. UPDATE podzespoly SET URL = 'toshiba.pl';
D. UPDATE podzespoly.producent='TOSHIBA' SET URL = 'toshiba.pl';
Wszystkie odpowiedzi, które nie zawierają poprawnej składni SQL, prowadzą do błędów w wykonywaniu aktualizacji. Przykładowo, pierwsze podejście do aktualizacji polega na usunięciu klauzuli WHERE, co skutkuje zaktualizowaniem wartości URL dla wszystkich rekordów w tabeli, a nie tylko dla tych, które dotyczą producenta 'TOSHIBA'. Taki błąd może prowadzić do masowej utraty danych, co jest niedopuszczalne w zarządzaniu bazami danych. W drugiej niepoprawnej odpowiedzi następuje zmiana w logicznym układzie zapytania, co prowadzi do błędu składniowego. Nie możemy zacząć od przypisania wartości do pola producent, a następnie ustawić URL; składnia aktualizacji wymaga innego porządku. Trzecia odpowiedź również jest niepoprawna, ponieważ sugeruje użycie kropki w odniesieniu do pola producent, co jest sprzeczne z konwencjami SQL. W SQL nie stosuje się kropki do oddzielania pól i tabeli w kontekście aktualizacji. Takie błędy składniowe mogą prowadzić do tego, że zapytanie nie zostanie wykonane, a użytkownik nie osiągnie zamierzonego efektu aktualizacji. Użycie niepoprawnej składni w SQL nie tylko ogranicza funkcjonalność, ale może również generować poważne problemy w zarządzaniu danymi.

Pytanie 33

W danym środowisku programistycznym, aby uzyskać dostęp do listy błędów składniowych po nieudanej kompilacji, należy użyć kombinacji klawiszy

Ilustracja do pytania
A. Ctrl+W, T
B. Ctrl+W, E
C. Ctrl+W, N
D. Ctrl+W, O
W środowisku Visual Studio, które jest jednym z najpopularniejszych zintegrowanych środowisk programistycznych (IDE) dla języków takich jak C# czy C++, kombinacja klawiszy Ctrl+W, E pozwala na szybkie wyświetlenie listy błędów składniowych i innych problemów związanych z kodem. Lista błędów Error List jest kluczowym narzędziem w codziennej pracy programisty, ponieważ pozwala na szybkie zidentyfikowanie i naprawienie błędów bez konieczności przeszukiwania całego kodu. Dzięki temu programista może skupić się na poprawianiu najważniejszych błędów i optymalizacji kodu. Standardy i dobre praktyki w programowaniu zalecają regularne monitorowanie listy błędów w celu utrzymania wysokiej jakości kodu i minimalizacji ryzyka wystąpienia błędów w działającej aplikacji. To narzędzie jest nieocenione podczas procesu debugowania, gdyż pozwala na szybkie zlokalizowanie i zrozumienie problemów składniowych oraz logicznych wpływających na działanie aplikacji. Używanie skrótów klawiszowych do nawigacji w IDE jest również zalecane jako dobra praktyka, która zwiększa efektywność pracy.

Pytanie 34

W firmowej tabeli znajdują się kolumny: nazwa, adres, NIP, obrót (obrót w ostatnim miesiącu), rozliczenie oraz status. Po wykonaniu kwerendy SQL

SELECT nazwa, NIP FROM firmy WHERE obrot < 4000;
na ekranie pojawią się:
A. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł
B. wszystkie informacje o firmach, które w ostatnim miesiącu miały obrót poniżej 4000 zł
C. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł
D. wszystkie informacje o firmach, które w ostatnim miesiącu uzyskały obrót co najmniej 4000 zł
W tej kwerendzie SQL chodziło o to, aby zrozumieć, że zapytanie 'SELECT nazwa, NIP FROM firmy WHERE obrót < 4000;' zwróci tylko nazwy firm i ich numery NIP. Tylko te firmy, co miały obrót poniżej 4000 zł w ostatnim miesiącu. SQL jako język zapytań daje nam możliwość wybierania konkretnych kolumn z tabeli i filtrowania wyników według różnych warunków. Tu wybraliśmy kolumny 'nazwa' i 'NIP', a filtr 'WHERE obrót < 4000' pokazuje nam tylko te firmy, które spełniają ten warunek. To bardzo ważne w praktycznym użyciu SQL, bo często musimy wyświetlać dane według określonych kryteriów. Dzięki temu zapytaniu łatwo możemy zidentyfikować firmy, które mogą potrzebować wsparcia finansowego lub jakiejś pomocy z powodu niskiego obrotu.

Pytanie 35

Po uruchomieniu zamieszczonego w ramce skryptu w języku JavaScript, w przeglądarce zostanie wyświetlona wartość:

var a = 5;
var b = a--;
a *= 3;
document.write(a + "," + b);
A. 12,4
B. 15,4
C. 12,5
D. 15,5
W tym skrypcie JavaScript mamy operator dekrementacji a--, gdzie najpierw wartość zmiennej a jest przypisana do zmiennej b, a dekrementacja następuje później. Jeśli tego nie rozumiesz, może to prowadzić do różnych nieporozumień co do wynikowych wartości. Czyli po a-- b przyjmuje pierwotną wartość a, która wynosi 5. Warto zrozumieć kolejność operacji, bo przy operatorze postfix zmiana wartości następuje po przypisaniu. Później, po dekrementacji, a staje się 4, co czasem jest źle interpretowane, bo ludzie myślą, że b też by się zmieniło. Potem jest a *= 3, gdzie 4 mnożymy przez 3 i dostajemy 12. Często ludzie popełniają błąd, zakładając, że operatory działają równocześnie w jednym wierszu kodu. Ważne jest, żeby znać te subtelności, bo pomaga to w lepszym programowaniu i kontrolowaniu, jak zmienne się zmieniają.

Pytanie 36

Dla których imion klauzula LIKE jest prawdziwa?

SELECT imie FROM mieszkancy WHERE imie LIKE 'o_%_a';
A. Oktawia, Oktawian, Olga
B. Oksana, Oktawia, Olga
C. Oda, Oksana, Oktawia
D. Oksana, Ola, Olga
Odpowiedź „Oksana, Oktawia, Olga" jest prawidłowa. Aby zrozumieć, dlaczego właśnie te imiona spełniają warunek, należy dokładnie przeanalizować wzorzec użyty w klauzuli LIKE. Wzorzec 'o_%_a' składa się z pięciu elementów: litery „o" na początku, znaku podkreślenia oznaczającego dokładnie jeden dowolny znak, symbolu procentu reprezentującego zero lub więcej dowolnych znaków, kolejnego znaku podkreślenia (znów dokładnie jeden znak) oraz litery „a" na końcu. Z tej struktury wynika, że prawidłowe imię musi spełniać trzy warunki: zaczynać się od litery „o", kończyć się na literę „a" oraz mieć co najmniej cztery znaki długości. Ta ostatnia zasada jest kluczowa - dwa znaki podkreślenia wymuszają obecność minimum dwóch znaków pomiędzy pierwszą a ostatnią literą. Dlatego imiona takie jak „Ola" czy „Oda", mimo że zaczynają się na „o" i kończą na „a", są zbyt krótkie. Z kolei „Oktawian" odpada, ponieważ kończy się na literę „n", nie „a". Pozostają więc Oksana, Oktawia i Olga - każde z nich ma odpowiednią długość i właściwe litery na początku oraz końcu.

Pytanie 37

W CSS zapis selektora

p > i { color: red;} 
wskazuje, że kolorem czerwonym będzie wyróżniony
A. tylko ten tekst znacznika <p>, który ma przypisaną klasę o nazwie i
B. wszystkie teksty w znaczniku <p> lub każdy tekst w znaczniku <i>
C. każdy tekst w znaczniku <p> z wyjątkiem tych w znaczniku <i>
D. jedynie tekst w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
Odpowiedź ta jest poprawna, ponieważ selektor CSS <pre>p &gt; i { color: red; }</pre> definiuje regułę, która odnosi się jedynie do elementów <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Operator > jest selektorem potomka bezpośredniego, co oznacza, że tylko te <i>, które są bezpośrednio dzieckiem <p>, będą miały przypisany kolor czerwony. Na przykład, jeśli w kodzie HTML mamy <p><i>Tekst</i></p>, to ten tekst będzie czerwony. Z drugiej strony, jeżeli <i> znajduje się zagnieżdżone w innym elemencie wewnątrz <p>, jak <p><span><i>Tekst</i></span></p>, to ten tekst nie będzie formatowany na czerwono. Tego typu selektory są niezwykle przydatne w praktycznym zastosowaniu, gdyż pozwalają na precyzyjne określenie stylów dla konkretnych elementów, co jest zgodne z najlepszymi praktykami projektowania stron internetowych, takimi jak utrzymanie czytelności kodu i unikanie niezamierzonych efektów formatowania.

Pytanie 38

Aby przeprowadzić walidację kontrolek formularza w momencie, gdy użytkownik wprowadza dane, można wykorzystać zdarzenie

A. onFocusOut
B. onClick
C. onKeyDown
D. onLoad
Zdarzenia 'onLoad', 'onClick' oraz 'onFocusOut' są niewłaściwymi odpowiedziami w kontekście walidacji formularzy w czasie rzeczywistym. Zdarzenie 'onLoad' jest wywoływane podczas ładowania strony, a nie podczas interakcji użytkownika z polami formularza. Oznacza to, że nie nadaje się do monitorowania zmian wprowadzanych przez użytkownika, a jego zastosowanie ogranicza się zazwyczaj do inicjalizacji komponentów lub załadowania danych. Z kolei 'onClick' jest wywoływane, gdy użytkownik klika na element, co również nie jest optymalnym momentem do walidacji danych wprowadzanych w formularzu, ponieważ nie oferuje możliwości reagowania na zmiany wprowadzane w trakcie pisania. To zdarzenie bardziej nadaje się do sytuacji, gdy chcemy wykonać akcję po zakończeniu interakcji z danym elementem. Zdarzenie 'onFocusOut', które jest wywoływane, gdy element traci fokus, również nie jest wystarczające do walidacji w czasie rzeczywistym. Może to prowadzić do opóźnienia w informowaniu użytkownika o błędach, ponieważ walidacja jest przeprowadzana dopiero po zakończeniu interakcji z polem. Dlatego poprawnym podejściem do walidacji danych użytkowników w formularzach jest korzystanie ze zdarzeń związanych z klawiaturą, które umożliwiają bieżące monitorowanie wprowadzanych danych, co zwiększa efektywność procesu walidacji oraz poprawia komfort użytkowników. Warto również podkreślić, że odpowiednie użycie zdarzeń jest kluczowe dla budowy interaktywnych i responsywnych aplikacji webowych.

Pytanie 39

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

A. <p href="/akapit">akapit3</p>
B. <p id="akapit">akapit2</p>
C. <p>akapit</p>
D. <p class="akapit">akapit4</p>
Metoda getElementsByClassName('akapit') w JavaScript jest metodą DOM, która zwraca kolekcję wszystkich elementów w dokumencie HTML, które mają przypisaną określoną klasę. W tym przypadku interesuje nas klasa 'akapit'. Poprawna odpowiedź to <p class="akapit">akapit4</p>, ponieważ ten akapit ma atrybut class ustawiony na 'akapit'. Zastosowanie klasy w HTML jest zgodne z najlepszymi praktykami programistycznymi, ponieważ pozwala na łatwe stylowanie i manipulowanie grupą elementów za pomocą CSS i JavaScript. Na przykład, jeśli chcemy zmienić kolor tekstu wszystkich akapitów z klasą 'akapit', możemy to zrobić jednym poleceniem w CSS: .akapit { color: red; }. Ponadto, metoda getElementsByClassName zwraca tzw. HTMLCollection, co oznacza, że możemy iterować po tej kolekcji i modyfikować jej elementy. Użycie klas w ten sposób wspiera zasadę separacji treści od prezentacji, co jest kluczowe w nowoczesnym podejściu do tworzenia stron internetowych.

Pytanie 40

W tabeli artykuly wykonano określone instrukcje dotyczące uprawnień użytkownika jan. Po ich realizacji użytkownik jan uzyska możliwość

GRANT ALL PRIVILEGES ON artykuly TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan
A. tworzenia tabeli oraz edytowania jej zawartości
B. tworzenia tabeli i wypełniania jej informacjami
C. edycji danych i przeglądania zawartości tabeli
D. sprawdzania zawartości tabeli
Prawidłowa odpowiedź wskazuje na to że użytkownik jan ma prawa do tworzenia tabeli i wypełniania jej danymi co wynika z początkowego nadania pełnych praw za pomocą komendy GRANT ALL PRIVILEGES i późniejszego cofnięcia konkretnych przywilejów SELECT i UPDATE. To oznacza że jan zachował uprawnienia do tworzenia tabelek i wstawiania danych do tabeli bez możliwości przeglądania czy aktualizowania danych w istniejących wierszach. W kontekście zarządzania bazami danych takie precyzyjne przyznawanie i odbieranie uprawnień jest kluczowe do utrzymania integralności i bezpieczeństwa danych. Przykładowo w środowisku produkcyjnym tworzenie i wypełnianie tabel może być ograniczone do administratorów baz danych lub zespołów deweloperskich podczas gdy inne role mogą mieć jedynie prawa do odczytu. Takie zarządzanie uprawnieniami pomaga zminimalizować ryzyko błędów i nieautoryzowanych modyfikacji danych. Standardy takie jak ISO/IEC 27001 zalecają precyzyjne zarządzanie dostępem w celu zabezpieczenia informacji co jest dobrą praktyką w branży IT.