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: 30 kwietnia 2026 21:55
  • Data zakończenia: 30 kwietnia 2026 21:55

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Na ilustracji przedstawiono schemat rozmieszczenia elementów na stronie WWW. W której z jej sekcji zazwyczaj znajduje się stopka strony?

Ilustracja do pytania
A. 2
B. 4
C. 1
D. 5

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 5 jest poprawna ponieważ w standardach projektowania stron internetowych stopka strony zazwyczaj znajduje się na dole każdej podstrony. Stopka to miejsce gdzie umieszczane są informacje takie jak prawa autorskie prywatność i linki do kontaktu. Dobrze zaprojektowana stopka może także zawierać skróty nawigacyjne które pomagają użytkownikowi szybko przemieszczać się po stronie. W praktyce projektanci stron WWW stosują podejście oparte na responsywnym designie co oznacza że stopka powinna być łatwo dostępna i czytelna na różnych urządzeniach. Wykorzystanie CSS Grid lub Flexbox pozwala na elastyczne zarządzanie układem strony co jest szczególnie przydatne przy projektowaniu stopki. Ponadto stopki są elementami które odpowiadają za spójność wizualną całej strony internetowej zapewniając użytkownikowi intuicyjne doświadczenie. Umieszczanie stopki w dolnej części strony jest zgodne z oczekiwaniami użytkowników co zwiększa użyteczność serwisu i pozytywnie wpływa na jego odbiór. Praktyczne zastosowanie tego podejścia można zauważyć na wielu profesjonalnych stronach gdzie stopka jest wyraźnie oddzielona i przejrzysta co ułatwia użytkownikowi odnalezienie potrzebnych informacji.

Pytanie 2

W bazie danych znajduje się tabela o nazwie faktury, która posiada pola: numer, data, id_klienta, wartosc, status. Każdego dnia tworzony jest raport dotyczący faktur z danego dnia. W raporcie prezentowane są jedynie numery oraz wartości faktur. Która z poniższych kwerend SQL jest odpowiednia do wygenerowania tego raportu?

A. SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();
B. SELECT * FROM faktury;
C. SELECT * FROM faktury WHERE data = CURRENT_DATE();
D. SELECT numer, wartosc FROM faktury;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybrana kwerenda SQL, SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();, jest poprawna, ponieważ precyzyjnie spełnia wymagania dotyczące generowania raportu faktur dla bieżącego dnia. Kwerenda ta nie tylko wybiera odpowiednie kolumny, czyli 'numer' i 'wartosc', ale także filtruje wyniki, wykorzystując warunek WHERE, który ogranicza dane do tych, które mają datę równą aktualnej dacie. Użycie funkcji CURRENT_DATE() jest standardowym podejściem w SQL do uzyskiwania bieżącej daty, co pozwala na automatyzację raportowania. Praktycznie rzecz biorąc, takie kwerendy są kluczowe w aplikacjach biznesowych, gdzie codzienna analiza danych jest niezbędna, aby podejmować informowane decyzje. Przy tworzeniu raportów warto również zwrócić uwagę na indeksowanie kolumn używanych w filtrach, co może znacznie przyspieszyć czas odpowiedzi zapytania w dużych zbiorach danych. Dobrą praktyką jest również testowanie kwerend na mniejszych zestawach danych przed ich wdrożeniem na żywo, aby upewnić się, że zwracają oczekiwane wyniki.

Pytanie 3

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr:active { background-color: Pink; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 4

Który z protokołów umożliwia publikację strony internetowej na serwerze?

A. NNTP
B. ICMP
C. SMTP
D. FTP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
FTP, czyli File Transfer Protocol, to taki standard, który pozwala na przesyłanie plików między komputerami w sieci. Jest to dość ważne, bo bez FTP nie moglibyśmy publikować stron w internecie. Dzięki temu protokołowi można wysyłać różne pliki, jak HTML, CSS, JavaScript czy nawet grafiki i filmy, na serwery WWW. Z perspektywy praktycznej, to przy publikacji nowej strony wchodzi w grę użycie klienta FTP, na przykład FileZilla. Łączysz się z serwerem, logujesz się swoimi danymi i przesyłasz pliki do odpowiednich folderów. No i nie zapomnij o portach - standardowy port dla FTP to 21. A jeśli zależy Ci na bezpieczeństwie, warto pomyśleć o SFTP albo FTPS, bo to też istotne w kontekście ochrony danych. Jak dla mnie, dobrze jest znać te praktyki, żeby nie martwić się o swoje pliki podczas przesyłania.

Pytanie 5

W języku PHPnie ma możliwości

A. tworzenie dynamicznej zawartości strony internetowej
B. zmienianie dynamiczne treści strony HTML w przeglądarce
C. obróbka informacji przechowywanych w bazie danych
D. przetwarzanie danych z formularzy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź dotycząca zmieniania dynamicznej zawartości strony HTML w przeglądarce jest poprawna, ponieważ PHP jest językiem skryptowym działającym po stronie serwera. Oznacza to, że PHP nie jest w stanie bezpośrednio modyfikować zawartości strony HTML po jej załadowaniu w przeglądarce użytkownika. Zamiast tego, PHP generuje HTML, który następnie jest przesyłany do przeglądarki. Dynamiczna zawartość strony może być generowana na podstawie danych z bazy danych lub formularzy, ale wszelkie zmiany w HTML po stronie klienta wymagają użycia języków, które działają po stronie przeglądarki, takich jak JavaScript. Przykładem może być sytuacja, w której użytkownik wypełnia formularz, a dane są przetwarzane przez PHP, które zwraca zaktualizowaną stronę. W przypadku potrzeby dynamicznych zmian, JavaScript może być użyty do manipulacji DOM po załadowaniu strony. Warto również zauważyć, że zgodnie z dobrymi praktykami, powinno się oddzielać logikę serwerową (PHP) od logiki klienckiej (JavaScript), co przyczynia się do lepszej struktury kodu i ułatwia jego utrzymanie.

Pytanie 6

Wykres słupkowy należy zapisać w formacie rastrowym tak, aby jakość jego krawędzi była jak najlepsza, również dla dużego powiększenia, unikając efektu aliasingu. Do tego celu można zastosować format

A. JPEG
B. CDR
C. SVG
D. PNG

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybierając PNG do zapisu wykresu słupkowego w formacie rastrowym, podjąłeś technicznie uzasadnioną decyzję. PNG to format grafiki rastrowej, który umożliwia zapis obrazów bezstratnie, co jest kluczowe, kiedy zależy nam na zachowaniu ostrych krawędzi – szczególnie przy wykresach, gdzie szczegółowość i czytelność mają pierwszorzędne znaczenie. W odróżnieniu od JPEG, PNG nie stosuje kompresji stratnej, przez co nie pojawiają się charakterystyczne rozmycia czy artefakty wokół linii i tekstów. Z mojego doświadczenia, jeśli chcesz potem wykres powiększać, PNG sprawdza się znakomicie – szczególnie przy plikach przygotowanych w wysokiej rozdzielczości (np. 300 dpi lub więcej). Co ważne, PNG obsługuje przezroczystość i bez problemu radzi sobie z płaskimi kolorami oraz prostymi gradientami, więc wyniki są bardzo przewidywalne. Warto wiedzieć, że format ten jest od lat szeroko akceptowany zarówno w druku, jak i na stronach internetowych. W branży najczęściej poleca się PNG do materiałów edukacyjnych, raportów czy prezentacji, gdy liczy się precyzja i wyrazistość. To taki standardowy wybór dla wszelkich diagramów, infografik czy schematów. Oczywiście, jeśli wykres byłby w pełni wektorowy, najlepszym wyjściem byłby SVG, ale jeśli ma być rastrowy – PNG jest bez dwóch zdań najlepszy. Nawet przy dużym powiększeniu krawędzie pozostają ostre, a efekt aliasingu praktycznie nie występuje, jeśli odpowiednio dobierzesz rozdzielczość wyjściową.

Pytanie 7

W C++ stworzono zmienną: char zm1;. Jak można przypisać do niej wartość, zgodnie ze składnią tego języka?

A. zm1[2] = 32
B. zm1 = 'w'
C. zm1 == 0x35
D. zm1 = "wiadro"

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'zm1 = 'w';' jest prawidłowa, ponieważ w języku C++ zmienna typu char służy do przechowywania pojedynczego znaku. Przypisując wartość 'w', używamy pojedynczych apostrofów, co jest zgodne z syntaktyką C++. Przykładowo, możemy wykorzystać tę zmienną w programie do przechowywania litery, która następnie będzie mogła być użyta w różnych operacjach, takich jak wyświetlenie na ekranie czy do porównań. W dobrych praktykach programowania ważne jest, aby zmienne były odpowiednio zdefiniowane i przypisywane zgodnie z ich typami. Użycie char jest zalecane w sytuacjach, gdy potrzebujemy efektywnego przechowywania znaków, co jest kluczowe w optymalizacji pamięci. Innym przykładem może być tworzenie prostych gier tekstowych, w których każdy znak ma swoje znaczenie i wpływa na logikę gry. Oprócz tego, warto wspomnieć, że w C++ istnieją różne typy danych do przechowywania tekstów, jak string, ale dla pojedynczych znaków char jest najodpowiedniejszym typem.

Pytanie 8

W formularzu dane z pola input o typie number zostały przypisane do zmiennej a, a następnie przetwarzane w skrypcie JavaScript w następujący sposób:

var x = parseFloat(a);
Jaki typ będzie miała zmienna x?
A. NaN
B. liczbowego, całkowitego
C. zmiennoprzecinkowego
D. napisowego

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienna x będzie typu zmiennoprzecinkowego, ponieważ funkcja parseFloat() konwertuje wartość przekazaną jej jako argument na liczbę zmiennoprzecinkową. W przypadku, gdy zmienna a zawiera poprawną reprezentację liczby, np. '10.5' lub '3.14', parseFloat() zwróci odpowiednią wartość zmiennoprzecinkową. Dobrą praktyką jest zapewnienie, że wartość w a jest odpowiednio walidowana przed konwersją, aby uniknąć błędów i niepożądanych wyników. Zmiennoprzecinkowe dane mogą być szczególnie użyteczne w aplikacjach finansowych, graficznych czy inżynieryjnych, gdzie precyzyjne obliczenia są kluczowe. Ponadto, JavaScript automatycznie przekształca liczby całkowite do postaci zmiennoprzecinkowej, więc nawet jeśli a zawiera liczbę całkowitą, wynik w zmiennej x również będzie typem zmiennoprzecinkowym. Znajomość tego zachowania jest istotna dla programistów, aby skutecznie obsługiwać różnorodne operacje numeryczne.

Pytanie 9

Kod w języku PHP przedstawia się następująco (patrz ramka): Zakładając, że zmienne a, b, c mają wartości numeryczne, wynik warunku będzie skutkował wypisaniem liczby:

if ($a > $b && $a > $c)
    echo $a;
else if ($b > $c)
    echo $b;
else
    echo $c;
A. najmniejszej.
B. największej.
C. parzystej.
D. nieparzystej.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod PHP używa instrukcji warunkowych if aby porównać wartości trzech zmiennych a b i c. Pierwsza instrukcja if sprawdza czy a jest większe od b i c. Jeśli tak to echo a wyświetla wartość a jako największą. Jeśli ten warunek nie jest spełniony sprawdzamy czy b jest większe od c za pomocą else if. Jeśli b jest rzeczywiście większe to echo b wyświetla wartość b. W przeciwnym razie instrukcja else zakłada że c jest największe i wyświetla echo c. To podejście jest powszechnie stosowane w programowaniu i opiera się na dobrej praktyce stopniowego eliminowania przypadków poprzez logiczne porównania. Znajomość takich konstrukcji jest kluczowa w codziennej pracy programisty umożliwiając tworzenie efektywnego i czytelnego kodu. Tego rodzaju struktura logiczna należy do podstawowych elementów algorytmiki w programowaniu proceduralnym i obiektowym. Rozumienie jak struktury kontrolne wpływają na przepływ programu jest podstawą efektywnego kodowania oraz rozwiązywania problemów poprzez algorytmy.

Pytanie 10

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

$x=0;
for($i=0; $i<10; $i++)
{
    $tab[$i]=$x;
    $x=$x+10;
}
A. 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
B. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
C. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
D. 0, 10, 20, 30, 40, 50, 60, 70, 80, 90

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pętla w języku PHP przedstawiona w kodzie używa zmiennej $x, która początkowo jest ustawiona na 0. Pętla for inicjalizuje zmienną $i na 0 i wykonuje się dopóki $i jest mniejsze od 10, inkrementując $i o 1 przy każdym obiegu. Wewnątrz pętli, do tablicy $tab dla indeksu $i przypisywana jest obecna wartość $x, która następnie jest zwiększana o 10. Dzięki temu w wyniku działania pętli wartości przypisywane do tablicy to 0, 10, 20, 30, 40, 50, 60, 70, 80, 90. To podejście jest zgodne z dobrą praktyką iteracyjnego budowania tablicy w oparciu o logiczną sekwencję wartości. Takie rozwiązanie jest przydatne w sytuacjach, gdzie potrzebujemy stworzyć serię danych np. przy generowaniu serii zdarzeń czasowych czy też w programach finansowych do obliczeń w stałych odstępach. Wykorzystywanie pętli do wypełniania tablicy wartościami sekwencyjnymi w oparciu o ustalony krok jest powszechne w wielu zastosowaniach programistycznych i jest przykładem efektywnego zarządzania danymi w pamięci.

Pytanie 11

W jaki sposób funkcjonuje instrukcja do łączenia wyników zapytań INTERSECT w SQL?

A. Zwraca te wiersze, które wystąpiły w wyniku pierwszego zapytania, jednak nie były obecne w wyniku drugiego zapytania
B. Zwraca zbiór wyników z pierwszego zapytania oraz zbiór wyników z drugiego zapytania, automatycznie eliminując powtarzające się wiersze
C. Zwraca te wiersze, które wystąpiły w wyniku drugiego zapytania, natomiast nie było ich w wyniku pierwszego zapytania
D. Zwraca część wspólną wyników dwóch zapytań

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja INTERSECT w języku SQL jest używana do zwracania wspólnych wyników dwóch lub więcej zapytań SELECT. W praktyce INTERSECT identyfikuje i zwraca jedynie te wiersze, które występują zarówno w pierwszym, jak i w drugim zbiorze wyników. Warto zauważyć, że podczas używania tej instrukcji, domyślnie usuwane są duplikaty, co oznacza, że każde unikalne wystąpienie wspólnych wierszy zostanie zwrócone tylko raz. Na przykład, jeżeli mamy dwa zapytania: pierwsze zwracające klientów z miasta A, a drugie klientów z miasta B, zastosowanie INTERSECT pozwoli nam uzyskać listę klientów, którzy znajdują się w obu zbiorach, co może być istotne w kontekście analizy danych lub segmentacji rynku. W kontekście standardów SQL, INTERSECT jest jednym z operatorów zbiorowych, obok UNION i EXCEPT, co czyni go fundamentalnym narzędziem w pracy z relacyjnymi bazami danych. Użycie INTERSECT może być korzystne w sytuacjach, gdy chcemy uzyskać analizę porównawczą lub zidentyfikować wspólne elementy pomiędzy różnymi zestawami danych, co jest kluczowe w wielu zastosowaniach analitycznych i raportowych.

Pytanie 12

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

A. FileZilla
B. Eclipse
C. GIT
D. TotalCommander

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 13

Jaką instrukcję algorytmu ilustruje graficzna prezentacja bloku na zamieszczonym rysunku?

Ilustracja do pytania
A. Wypisz n
B. n ← n + 5
C. Wykonaj podprogram sortowania tablicy t
D. n > 20

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Blok decyzyjny w diagramach przepływu jest kluczowym elementem algorytmów, ponieważ umożliwia podejmowanie decyzji na podstawie warunków logicznych. Reprezentowany jest przez romb i oznacza miejsce w algorytmie, gdzie następuje sprawdzenie warunku. W tym przypadku warunek to n > 20. Jeśli warunek zostanie spełniony, algorytm podąża jedną ścieżką, w przeciwnym razie inną. Jest to zgodne z praktykami programistycznymi, gdzie instrukcje warunkowe, takie jak if lub switch, kontrolują przepływ programu. Przykładowo, w systemach kontroli dostępu możemy użyć warunku n > 20 do sprawdzenia, czy użytkownik ma wystarczające uprawnienia, co jest zgodne z zasadami bezpieczeństwa IT. W systemach czasu rzeczywistego, takich jak kontrola jakości w produkcji, warunki te zapewniają, że błędy są wykrywane i obsługiwane odpowiednio, co jest kluczowe dla utrzymania standardów jakości. Wiedza o blokach decyzyjnych jest podstawą dla efektywnego projektowania algorytmów, co ma zastosowanie w szerokim zakresie technologii informatycznych, od baz danych po aplikacje mobilne.

Pytanie 14

W bazie danych znajduje się tabela artykuły z kolumnami: nazwa, typ, producent, cena. Jakie polecenie należy użyć, aby wyświetlić wszystkie nazwy artykułów tylko o typie pralka, których cena mieści się w przedziale od 1000 PLN do 1500 PLN?

A. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena FROM 1000 TO 1500
B. SELECT nazwa FROM artykuły WHERE typ='pralka' OR cena BETWEEN 1000 OR 1500
C. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena BETWEEN 1000 AND 1500
D. SELECT nazwa FROM artykuły WHERE typ='pralka' OR cena BETWEEN 1000 AND 1500

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Jak chcesz wyciągnąć nazwy artykułów tylko dla pralek, które kosztują między 1000 a 1500 PLN, to musisz użyć polecenia SELECT z dobrymi warunkami. W SQL klauzula WHERE jest właśnie do tego, żeby określić, jakie dane chcesz wyciągnąć z tabeli. Ważne, żeby użyć operatora AND, bo musisz połączyć dwa warunki: typ musi być 'pralka', a cena musi mieścić się w tym przedziale. W tym wypadku operator BETWEEN będzie najlepszy, bo pozwala łatwo ustawić zakres wartości bez zawirowań z innymi operatorami. Takie zapytanie: SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena BETWEEN 1000 AND 1500, zwróci wszystkie nazwy, które spełniają te kryteria. Dzięki BETWEEN masz pewność, że dolna i górna granica też są uwzględniane, co jest zgodne z zasadami SQL, a to z kolei sprawia, że przeszukiwanie danych jest efektywne. Dzięki temu zapytaniu dostajesz dokładne wyniki, co w zarządzaniu bazą danych jest mega ważne.

Pytanie 15

Plik konfiguracyjny, który umożliwia ustalenie parametrów PHP dla całego serwera, to

A. php.ini
B. httpd.conf
C. my.ini
D. config.inc.php

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Plik konfiguracyjny php.ini jest kluczowym elementem w konfiguracji środowiska PHP na serwerze. Umożliwia on zdefiniowanie różnorodnych ustawień, które mają wpływ na działanie aplikacji PHP. W pliku tym można ustawić m.in. poziom raportowania błędów, limit czasu wykonywania skryptów, wielkość pamięci, dostępne rozszerzenia oraz wiele innych parametrów. Dla przykładu, można zdefiniować dyrektywę 'memory_limit', która określa maksymalną ilość pamięci, jaką może używać jeden skrypt PHP. Dzięki temu administratorzy serwera mają pełną kontrolę nad środowiskiem uruchomieniowym, co jest niezwykle istotne w kontekście bezpieczeństwa i wydajności aplikacji. Plik php.ini jest zgodny ze standardami PHP i jest dokumentowany w oficjalnej dokumentacji, co ułatwia jego poprawne skonfigurowanie. Bez odpowiedniego dostosowania ustawień w php.ini, aplikacje mogą napotykać na problemy, takie jak przekroczenie limitu pamięci czy niewłaściwe raportowanie błędów, co może prowadzić do trudności w diagnozowaniu problemów.

Pytanie 16

Jak można wyświetlić bieżącą datę oraz czas na stronie internetowej przy użyciu JavaScript?

A. innerHTML = Date()
B. document.write(Date())
C. echo Date()
D. echo Date() + Time()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'document.write(Date());' jest prawidłowa, ponieważ wykorzystuje metodę 'document.write()', która pozwala na wstawienie tekstu bezpośrednio do dokumentu HTML w momencie jego ładowania. Funkcja 'Date()' zwraca aktualną datę i czas w formie tekstu, co czyni ją odpowiednią do użycia w metodzie 'document.write()'. Warto zauważyć, że zastosowanie 'document.write()' może być ograniczone do momentu pierwszego ładowania strony, dlatego istotne jest, aby używać tej metody z rozwagą. Dobrym praktycznym przykładem jest skrypt, który po załadowaniu strony wyświetla datę i czas w nagłówku lub w innym elemencie strony. Przykładowo, można użyć: <script>document.write('Aktualna data i czas: ' + Date());</script>. Dodatkowo, warto zaznaczyć, że w nowoczesnym podejściu do programowania w JavaScript preferuje się użycie metod manipulacji DOM, takich jak 'innerHTML', ale 'document.write()' nadal ma swoje miejsce w prostych przykładach edukacyjnych.

Pytanie 17

Kolor zapisany w systemie RGB, o wartościach rgb(255,128,16), jaki będzie miał odpowiednik w kodzie szesnastkowym?

A. #ff0f10
B. #ff8010
C. #ff8011
D. #008010

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod RGB (Red, Green, Blue) to model barw wykorzystywany w grafice komputerowej oraz w technologii wyświetlania. Wartości RGB są określane na podstawie trzech składowych: czerwonej, zielonej i niebieskiej. Każda z tych składowych może przyjmować wartości w zakresie od 0 do 255. W przypadku koloru zapisanym jako rgb(255,128,16), wartość 255 oznacza pełne nasycenie koloru czerwonego, 128 to średnie nasycenie koloru zielonego, a 16 to stosunkowo niskie nasycenie koloru niebieskiego. Aby przekonwertować wartości RGB na format szesnastkowy, należy przekształcić każdą z trzech składowych na system szesnastkowy, co w przypadku podanego koloru daje nam: 255 w systemie dziesiętnym to FF w szesnastkowym, 128 to 80, a 16 to 10. Łącząc te wartości, otrzymujemy #ff8010, co dokładnie odpowiada wartości RGB podanej w pytaniu. Taki zapis jest powszechnie stosowany w CSS i innych formatach związanych z web designem, a jego znajomość jest kluczowa dla każdego projektanta lub developera webowego.

Pytanie 18

Jaki będzie efekt wykonania poniższego kodu JavaScript?

var akapit = document.createElement("p");
document.body.appendChild(akapit);
A. Skasowanie akapitu ze strony
B. Dodanie akapitu na końcu strony
C. Pokazanie okna dialogowego z napisem akapit
D. Wstawienie akapitu na szczycie strony

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod JavaScript przedstawiony w pytaniu tworzy nowy element paragrafu HTML za pomocą metody document.createElement("p") i dodaje go na koniec elementu body strony za pomocą metody appendChild(). Dlatego poprawna odpowiedź to dodanie akapitu na koniec strony. Tworzenie elementów dynamicznie w JavaScript to kluczowa funkcja umożliwiająca manipulację modelem DOM (Document Object Model) co jest podstawą dynamicznego interfejsu użytkownika. Przykłady zastosowań obejmują dodawanie nowych elementów do listy rozwijanej formularza aktualizację zawartości strony bez konieczności jej przeładowywania czy dodawanie interaktywnych komponentów. Zgodnie z dobrymi praktykami warto pamiętać o konieczności optymalizacji operacji na DOM ponieważ mogą być kosztowne obliczeniowo. Efektywne zarządzanie drzewem DOM wymaga także znajomości innych metod takich jak insertBefore czy replaceChild które pozwalają na bardziej zaawansowane manipulacje struktury dokumentu. Przy projektowaniu dynamicznych aplikacji webowych należy zawsze pamiętać o zachowaniu dostępności i semantyki HTML co jest istotne z punktu widzenia SEO i użyteczności strony.

Pytanie 19

Wskaż zapytanie, w którym dane zostały uporządkowane.

A. SELECT nazwisko FROM firma WHERE pensja > 2000 LIMIT 10;
B. SELECT AVG(ocena) FROM uczniowie WHERE klasa = 2;
C. SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;
D. SELECT DISTINCT produkt, cena FROM artykuly;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek jest poprawna, ponieważ zawiera klauzulę ORDER BY, która jest używana do sortowania wyników zapytania w SQL. W tym przypadku, dane są sortowane według wieku mieszkańców, co pozwala na łatwe zrozumienie rozkładu wiekowego w tej grupie. Klauzula ORDER BY jest standardowym elementem SQL, który może sortować wyniki w porządku rosnącym (ASC) lub malejącym (DESC). Przykładowe zastosowanie to raporty, w których użytkownik chce zobaczyć dane uporządkowane według konkretnego kryterium, np. wiek, cena, data. Dobre praktyki sugerują, aby zawsze jasno definiować, które kolumny mają być używane do sortowania, a także zrozumieć, że sortowanie wpływa na wydajność zapytań, zwłaszcza przy dużych zbiorach danych. W przypadku bardziej złożonych zapytań można także łączyć klauzulę ORDER BY z innymi klauzulami, takimi jak GROUP BY, co zwiększa elastyczność w analizie danych.

Pytanie 20

Aby zwiększyć wydajność operacji na bazie danych, należy dla pól, które są często wyszukiwane lub sortowane

A. stworzyć osobną tabelę przechowującą tylko te pola
B. dodać więzy integralności
C. utworzyć indeks
D. dodać klucz obcy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tworzenie indeksu na polach, które często przeszukujesz lub sortujesz, to naprawdę ważna rzecz, jeśli chodzi o wydajność baz danych. Indeksy działają trochę jak spis treści w książkach – pozwalają systemowi szybko znaleźć te dane, których potrzebujesz, bez przeszukiwania całego folderu. Dzięki nim zapytania SELECT mogą iść jak burza, co ma ogromne znaczenie w aplikacjach, gdzie liczy się czas. Przykład? Jeśli zrobisz indeks na kolumnie 'email' w tabeli 'Users', to znacznie szybciej odnajdziesz użytkowników po adresie email. W praktyce warto też regularnie monitorować, jak działają te indeksy i je optymalizować, na przykład usuwając te, które są zbędne, żeby nie przeciążać bazy danych. Dobrze jest pamiętać, że przy dodawaniu lub aktualizowaniu danych, indeksy mogą trochę spowolnić działanie, więc lepiej używać ich z głową.

Pytanie 21

Najłatwiejszym i najmniej czasochłonnym sposobem na przetestowanie działania strony internetowej w różnych przeglądarkach i ich wersjach jest

A. użycie emulatora przeglądarek internetowych, np. Browser Sandbox
B. zainstalowanie różnych przeglądarek na kilku komputerach i testowanie strony
C. wykorzystanie walidatora kodu HTML
D. sprawdzenie działania strony w programie Internet Explorer, zakładając, że inne przeglądarki będą kompatybilne

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Emulatory przeglądarek internetowych, takie jak Browser Sandbox, stanowią najefektywniejsze narzędzie do testowania witryn w różnych środowiskach. Dzięki nim można symulować działanie witryny w wielu przeglądarkach oraz ich wersjach bez potrzeby fizycznej instalacji. To podejście jest zgodne z najlepszymi praktykami w zakresie testowania oprogramowania, ponieważ pozwala na oszczędność czasu i zasobów. W przypadku użycia emulatora, programiści mogą szybko przetestować i porównać, jak strona zachowuje się w różnych przeglądarkach, co jest kluczowe dla zapewnienia spójności działania i doświadczeń użytkownika. Przykładem zastosowania emulatorów jest możliwość weryfikacji responsywności witryny na różnych rozmiarach ekranów oraz dostosowanie stylów CSS dla różnych przeglądarek. To pozwala na identyfikację problemów z kompatybilnością, które mogą występować w starszych wersjach przeglądarek, a także w zapewnieniu, że nowoczesne standardy webowe są poprawnie interpretowane. Praktyczne wykorzystanie emulatorów w codziennym procesie tworzenia oprogramowania powinno być integralną częścią każdej strategii testowania, aby zapewnić optymalne działanie witryny na wszystkich platformach.

Pytanie 22

Technologia, w której komunikacja użytkownika z serwerem odbywa się bez konieczności przeładowywania całego dokumentu HTML, to

A. PHP
B. AJAX
C. Ruby
D. Django

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to AJAX, bo właśnie ta technologia pozwala na komunikację z serwerem bez przeładowywania całej strony HTML. W praktyce chodzi o to, że skrypt JavaScript w przeglądarce wysyła żądanie HTTP (np. GET lub POST) do serwera w tle, pobiera dane (często w formacie JSON) i na ich podstawie aktualizuje tylko wybrane fragmenty dokumentu, modyfikując DOM. Użytkownik widzi wtedy płynne odświeżanie zawartości, bez irytującego migania strony. Moim zdaniem to jest jeden z kluczowych fundamentów nowoczesnych aplikacji webowych typu SPA i ogólnie tzw. „rich internet applications”. AJAX nie jest jednym konkretnym językiem, tylko podejściem/technicznym zestawem: HTML + CSS + JavaScript + obiekt XMLHttpRequest lub fetch() + protokół HTTP + najczęściej JSON lub czasem XML. Standardy W3C i WHATWG opisują m.in. API do wykonywania żądań asynchronicznych oraz manipulacji DOM, a dobre praktyki mówią, żeby logikę AJAX trzymać w oddzielnych modułach JS, stosować obsługę błędów, time-outy, a także unikać przeładowywania serwera zbyt częstymi zapytaniami. Przykład z życia: wyszukiwarka podpowiedzi w polu tekstowym (autocomplete w Google), dynamiczne ładowanie komentarzy pod artykułem, paginacja „dociągająca” kolejne rekordy po przewinięciu strony czy formularz, który po wysłaniu zwraca komunikat „zapisano” bez zmiany adresu URL. Z mojego doświadczenia dobrze napisany kod AJAX poprawia UX i zmniejsza transfer, bo zamiast całej strony przesyłamy tylko dane. W połączeniu z frameworkami typu React, Vue czy Angular AJAX jest podstawą komunikacji klient–serwer w aplikacjach webowych klasy enterprise.

Pytanie 23

W każdej iteracji pętli wartość aktualnego elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy przesuwa się o jeden, aż do osiągnięcia ostatniego elementu tablicy. To stwierdzenie jest prawdziwe w kontekście instrukcji

A. foreach
B. if
C. next
D. switch

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja foreach w językach programowania takich jak PHP, Java, C# czy Java jest dedykowana do iteracji po elementach kolekcji, takich jak tablice, listy czy inne struktury danych. Umożliwia ona programiście wygodne przetwarzanie każdego elementu kolekcji bez konieczności ręcznego zarządzania wskaźnikiem lub indeksem. W przypadku foreach, podczas każdej iteracji wartość bieżącego elementu tablicy jest automatycznie przypisywana do zmiennej, co zwiększa czytelność kodu oraz redukuje ryzyko błędów związanych z indeksowaniem. Przykładowo, w języku PHP, zamiast używania tradycyjnej pętli for, możemy użyć: foreach ($array as $value) { // operacje na $value }. Dzięki temu kod jest bardziej zrozumiały i elegancki. Warto zaznaczyć, że foreach nie pozwala na modyfikację samej tablicy w trakcie jej iteracji, co jest istotne dla zachowania integralności danych. Standardy definicji tych instrukcji można znaleźć w dokumentacji każdego z wymienionych języków, co podkreśla ich powszechne zastosowanie oraz zalety w programowaniu.

Pytanie 24

Który z typów plików dźwiękowych oferuje największą kompresję rozmiaru?

A. MP3
B. WAV
C. PCM
D. CD-Audio

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Format MP3 (MPEG Audio Layer III) jest standardem kompresji stratnej, który znacząco zmniejsza rozmiar pliku dźwiękowego, zachowując przy tym akceptowalną jakość dźwięku. Technologia ta wykorzystuje algorytmy psychoakustyczne, które eliminują dźwięki, które są mniej słyszalne dla ludzkiego ucha. Dzięki temu możliwe jest osiągnięcie redukcji rozmiaru pliku o 70-90% w porównaniu z jakością oryginalnego nagrania. Praktyczne zastosowanie formatu MP3 jest szerokie: od przesyłania muzyki przez internet po użycie w odtwarzaczach multimedialnych oraz smartfonach. Możliwość dostosowania bitrate'u (od 32 kbps do 320 kbps) pozwala użytkownikom na balansowanie pomiędzy jakością a rozmiarem pliku. MP3 stał się de facto standardem w dystrybucji muzyki cyfrowej, a jego wsparcie w praktycznie każdym odtwarzaczu audio czyni go niezwykle uniwersalnym. Warto również dodać, że MP3 jest zgodny z wieloma standardami, takimi jak ID3, które umożliwiają dołączanie metadanych do plików audio, co dodatkowo podnosi jego funkcjonalność.

Pytanie 25

Przedstawiony blok reprezentuje czynność

Ilustracja do pytania
A. podjęcia decyzji.
B. wyświetlenia danych.
C. wczytania danych.
D. zastosowania gotowej procedury lub funkcji.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ten blok w kształcie rombu to klasyczny symbol decyzji w schemacie blokowym algorytmu. Zgodnie z przyjętymi standardami notacji (np. ANSI/ISO dla diagramów przepływu), romb oznacza miejsce, w którym program musi coś sprawdzić i na podstawie wyniku tej kontroli wybrać jedną z gałęzi dalszego działania. Innymi słowy: następuje podjęcie decyzji na podstawie warunku logicznego, który zwykle daje odpowiedź typu TAK/NIE (TRUE/FALSE). W praktyce, w kodzie programistycznym taki romb odpowiada instrukcjom warunkowym, takim jak if, if...else, switch, operator trójargumentowy itp. Przykład: „jeśli użytkownik jest zalogowany, pokaż panel administracyjny, w przeciwnym razie przekieruj do logowania”. W schemacie blokowym byłby to właśnie romb z pytaniem „Użytkownik zalogowany?”. Z rombu wychodziłyby dwie strzałki: jedna podpisana „tak”, druga „nie”, prowadzące do różnych bloków akcji. Moim zdaniem warto wyrobić sobie nawyk automatycznego kojarzenia: romb = warunek = rozgałęzienie przepływu. Dzięki temu łatwiej później projektować algorytmy, niezależnie od języka programowania. W praktyce webowej też ma to duże znaczenie: np. sprawdzenie, czy dane z formularza są poprawne, czy użytkownik ma odpowiednie uprawnienia, czy plik istnieje na serwerze. Za każdym razem, gdy w głowie pojawia Ci się „jeśli… to… w przeciwnym razie…”, w schemacie blokowym powinien pojawić się właśnie taki romb, czyli blok podjęcia decyzji. To jest fundament logicznej struktury programu i jedna z podstawowych konstrukcji algorytmicznych.

Pytanie 26

Aby uzyskać dane dotyczące środowiska, w którym działa serwer obsługujący PHP, należy użyć funkcji

A. phpinformation()
B. phpgetinfo()
C. phpinfo()
D. php()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja phpinfo() jest kluczowym narzędziem dla programistów i administratorów systemów, pozwalającym na uzyskanie szczegółowych informacji o środowisku PHP zainstalowanym na serwerze. Po jej wywołaniu otrzymujemy kompletny zestaw danych, który obejmuje wersję PHP, zainstalowane rozszerzenia, konfiguracje oraz informacje o serwerze, takie jak wersja serwera HTTP. Przykładowe użycie polega na umieszczeniu w skrypcie PHP linii <?php phpinfo(); ?>, co spowoduje wygenerowanie strony z informacjami, które mogą być przydatne w diagnostyce problemów lub podczas optymalizacji aplikacji. Funkcja ta jest zgodna ze standardami PHP i jest powszechnie stosowana w celu monitorowania środowiska pracy. Ważne jest, aby pamiętać, że udostępnianie wyników phpinfo() publicznie może stanowić zagrożenie dla bezpieczeństwa, dlatego zaleca się ograniczenie dostępu do tej informacji tylko do zaufanych użytkowników i środowisk deweloperskich. W kontekście rozwoju aplikacji, phpinfo() jest również pomocne przy identyfikacji dostępnych ustawień konfiguracyjnych oraz ich wartości, co jest nieocenione podczas procesu rozwoju i testowania.

Pytanie 27

Wskaż styl CSS za pomocą którego został uzyskany przedstawiony efekt.

  • psy
  • koty
  • chomiki
  • świnki morskie
  • rybki
A. ul li:nth-child(even) { background-color: DodgerBlue; }
B. ul li:nth-child(odd) { background-color: DodgerBlue; }
C. ul li:hover { background-color: DodgerBlue; }
D. ul li:active { background-color: DodgerBlue; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dokładnie tak, poprawna odpowiedź to 'ul li:nth-child(even) { background-color: DodgerBlue; }'. Użycie selektora :nth-child(even) pozwala na zastosowanie stylu CSS do każdego parzystego elementu listy, co można zaobserwować na załączonym obrazku - każdy drugi (parzysty) element ma niebieskie tło. Jest to praktyczne rozwiązanie stosowane m.in. w celu poprawy czytelności długich list danych, gdzie koloryzmowanie na przemian pozwala na łatwiejsze zlokalizowanie poszczególnych elementów. Pamiętaj, że CSS oferuje wiele innych pseudoklas pozwalających na zastosowanie różnych efektów w zależności od stanu lub położenia elementu na stronie. Przy wykorzystaniu pseudoklas CSS warto odwoływać się do standardów i dobrych praktyk branżowych, takich jak unikanie nadmiernego zagnieżdżania selektorów, co może utrudniać czytelność i utrzymanie kodu.

Pytanie 28

W języku JavaScript zapis w ramce oznacza, że x=przedmiot.nazwa);

A. nazwa jest cechą obiektu przedmiot
B. nazwa jest atrybutem klasy przedmiot
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot
D. zmienna x będzie zawierać wynik działania metody nazwa

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku JavaScript zapis 'x = przedmiot.nazwa;' oznacza, że zmienna 'x' będzie przechowywać wartość, która jest wynikiem działania metody lub właściwości 'nazwa' obiektu 'przedmiot'. W JavaScript obiekty mogą mieć zdefiniowane metody oraz właściwości. Jeśli 'nazwa' jest funkcją (metodą) zdefiniowaną w obiekcie 'przedmiot', to jej wywołanie spowoduje, że wynik tego działania zostanie przypisany do zmiennej 'x'. Ważne jest, aby w kontekście obiektów JavaScript rozumieć różnicę między metodą a właściwością. Metody to funkcje, które są dołączone do obiektu, podczas gdy właściwości to wartości skojarzone z obiektem. Przykład zastosowania może wyglądać tak: wyobraźmy sobie obiekt 'przedmiot' reprezentujący książkę, który ma metodę 'nazwa', zwracającą tytuł książki. Jeśli wywołamy 'x = przedmiot.nazwa();', to 'x' przechowa tytuł książki. To podejście pozwala na dynamiczne operowanie danymi w obiektach, co jest kluczowe w programowaniu obiektowym. Zdefiniowanie metody 'nazwa' w obiekcie jest zgodne z zasadami programowania obiektowego w JavaScript, a także spełnia standardy ECMAScript.

Pytanie 29

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba > 100 && liczba <= 200)
B. if (liczba > 100 || liczba <= 200)
C. if (liczba < 100 && liczba <= 200)
D. if (liczba < 100 || liczba >= 200)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zaznaczyłeś odpowiedź 'if (liczba > 100 && liczba <= 200)', i to jest całkiem trafne! Warunek ten sprawdza, czy liczba jest w przedziale od 100 do 200, co jest mega ważne. Wiesz, '>' oznacza, że liczba musi być większa niż 100, a '<=' pozwala na 200, ale nic większego. To coś, co często wykorzystujemy w programach, żeby kontrolować dane od użytkowników. Jak na przykład przy rejestracji – chcemy mieć pewność, że wszystko jest w normie. Umiejętność walidacji danych to kluczowa sprawa w programowaniu, bo dzięki temu możemy unikać różnych błędów. Fajnie, że zauważasz, jak operatory logiczne, takie jak '&&', mogą pomóc w budowaniu bardziej złożonych warunków – to czyni nasze aplikacje lepszymi. Ważne, żebyś rozumiał, jak to działa, bo to na pewno przyda się w przyszłości!

Pytanie 30

Przy użyciu polecenia ALTER TABLE można

A. zmieniać strukturę tabeli
B. zmieniać wartości zapisane w rekordach tabeli
C. tworzyć nową tabelę
D. usuwać tabelę

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie ALTER TABLE jest kluczowym narzędziem w zarządzaniu bazami danych, pozwalającym na modyfikację struktury istniejących tabel. Umożliwia m.in. dodawanie, usuwanie lub modyfikowanie kolumn, a także zmianę ich typów danych. Na przykład, aby dodać nową kolumnę do tabeli, można użyć polecenia: ALTER TABLE nazwa_tabeli ADD nowa_kolumna typ_danych. W praktyce, ALTER TABLE jest niezbędne w przypadku zmiany wymagań aplikacji, które mogą wymagać dostosowania struktury bazy danych. Zmiany strukturalne powinny być przeprowadzane zgodnie z zasadami normalizacji, co zapewnia optymalizację bazy danych oraz zapobiega redundancji danych. Kluczowe jest również testowanie wprowadzonych zmian w środowisku testowym przed ich wdrożeniem w produkcji, co jest zgodne z najlepszymi praktykami w inżynierii oprogramowania. Warto również pamiętać, że podczas modyfikacji struktury tabeli, odpowiednie zrozumienie relacji między tabelami jest istotne dla zachowania integralności danych.

Pytanie 31

Programista stworzył pętlę w języku C++, która miała za zadanie obliczyć wynik 5! (5! = 1 * 2 * 3 * 4 * 5). Niestety, popełnił błąd logiczny, gdyż ```int a = 1; for (int i=1; i < 5; i++) { a = a * i; } cout << a;```

Ilustracja do pytania
A. zmienna i pętli powinna być zmniejszana, a nie zwiększana
B. w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5
C. zmienna i w pętli powinna być rozpoczynana od 0, a nie od 1
D. zmienna a powinna być początkowo ustawiona na 0 zamiast 1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ pętla powinna przebiegać przez wszystkie liczby od 1 do 5, aby obliczyć wartość 5! czyli 120. W kodzie pętla for zaczyna się od wartości i=1 i kontynuuje, dopóki i jest mniejsze niż 5, co oznacza, że nie uwzględnia liczby 5. Zmiana warunku na i<6 powoduje, że pętla wykona się pięć razy dla wartości i=1, 2, 3, 4, 5. To zgodne z matematyczną definicją silni, gdzie należy przemnożyć wszystkie liczby całkowite od 1 do n. Wpisując warunek i<6, kod stanie się bardziej zgodny z dobrymi praktykami programowania, które zalecają jasne i jednoznaczne warunki zakończenia pętli. Prawidłowe obliczenie silni jest częstym zadaniem w programowaniu i stanowi fundament dla bardziej zaawansowanych algorytmów liczbowych takich jak algorytmy rekurencyjne. Zrozumienie iteracyjnego i rekurencyjnego podejścia do tego problemu rozwija umiejętności logicznego myślenia i projektowania algorytmów. Takie zrozumienie jest kluczowe zwłaszcza w dziedzinie analizy algorytmów i optymalizacji kodu.

Pytanie 32

Której kwerendy SQL należy użyć, aby utworzyć tabelę samochod z atrybutami marka, model, cena, gdzie marka i model są typu tekstowego, natomiast cena jest liczbą rzeczywistą typu stałoprzecinkowego?

A. CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));
B. CREATE TABLE samochod (marka INT(30), model INT(30), cena DECIMAL(2,15));
C. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena FLOAT);
D. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena DOUBLE);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna kwerenda używa składni CREATE TABLE z listą kolumn i ich typów danych: CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));. To dokładnie odpowiada treści zadania. Atrybuty marka i model są typu tekstowego, więc zastosowano CHAR(30) – stałej długości łańcuch znaków. W praktyce w wielu projektach częściej używa się VARCHAR zamiast CHAR (bo oszczędza miejsce przy krótszych napisach), ale użycie CHAR(30) jest jak najbardziej poprawne i zgodne ze składnią SQL. Kluczowy jest tu typ ceny. W zadaniu jest mowa o liczbie rzeczywistej typu stałoprzecinkowego, czyli takiej, która przechowuje część ułamkową, ale w sposób dokładny, a nie przybliżony. Do tego właśnie służy DECIMAL(p,s) (lub NUMERIC), gdzie p to precyzja (łączna liczba cyfr), a s to skala (liczba cyfr po przecinku). DECIMAL(15,2) oznacza liczbę z maksymalnie 15 cyframi, z czego 2 po przecinku, czyli świetnie nadaje się np. do przechowywania cen w złotówkach i groszach: 1234567890123,45 mieści się w takim typie. To jest standardowa, dobra praktyka w systemach finansowych, sklepach internetowych, systemach magazynowych itp., bo unikamy błędów zaokrągleń charakterystycznych dla typów zmiennoprzecinkowych jak FLOAT czy DOUBLE. W realnych bazach danych (MySQL, PostgreSQL, SQL Server) kolumny z cenami, stawkami VAT, rabatami procentowymi prawie zawsze definiuje się właśnie jako DECIMAL z odpowiednią skalą, a nie jako typy binarne zmiennoprzecinkowe. Warto też zauważyć, że prawidłowa składnia CREATE TABLE nie używa słowa VALUES przy definiowaniu struktury tabeli – po nazwie tabeli od razu podajemy listę kolumn z typami, tak jak w wybranej odpowiedzi. Taka konstrukcja jest zgodna z SQL-92 i wspierana przez wszystkie popularne systemy bazodanowe.

Pytanie 33

Jaki znacznik powinien być zastosowany, aby wprowadzić nową linię tekstu bez tworzenia akapitu w dokumencie internetowym?

A. </b>
B. <br>
C. <p>
D. </br>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znak <br> jest używany w HTML do wstawiania przełamania linii w tekstach, co pozwala na kontynuację pisania w tym samym akapicie bez jego formalnego kończenia. Jest to element blokowy, który nie tworzy nowego akapitu, co jest istotne w kontekście układu strony i czytelności tekstu. Przykładem zastosowania może być sytuacja, gdy chcemy umieścić kilka zdań w jednej sekcji, ale z pewnymi odstępami między nimi, na przykład: 'To jest pierwsze zdanie.<br>To jest drugie zdanie, które zaczyna się w nowej linii, ale nie jest nowym akapitem.' Zastosowanie znacznika <br> jest zgodne z zasadami semantyki HTML i sprzyja tworzeniu czytelnych i dobrze zorganizowanych treści. Praktyki branżowe zalecają stosowanie tego znacznika głównie w kontekście formatowania tekstu, w którym istotne jest zachowanie ciągłości akapitu oraz uniknięcie zbędnych przerw w treści.

Pytanie 34

W kodzie HTML 5, w celu walidacji wartości pola <input type="text"> za pomocą wyrażenia regularnego, należy użyć atrybutu

A. value
B. step
C. readonly
D. pattern

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to „pattern”, bo właśnie ten atrybut w HTML5 służy do walidacji zawartości pola tekstowego za pomocą wyrażeń regularnych po stronie przeglądarki. Atrybut pattern przyjmuje jako wartość wyrażenie regularne w składni zbliżonej do tej znanej z JavaScript (ECMAScript). Przeglądarka sprawdza, czy wpisany tekst pasuje do wzorca i jeśli nie, to nie pozwoli wysłać formularza, o ile pole ma ustawiony atrybut required lub użytkownik wywoła standardową walidację formularza. Przykład praktyczny: jeśli chcemy wymusić, żeby użytkownik wpisał dokładnie 3 cyfry, możemy napisać: <input type="text" name="kod" pattern="\d{3}" required> Wtedy poprawne będą wartości typu „123”, a „12a” czy „1234” zostaną odrzucone. Dla adresu e‑mail (prostej wersji) można użyć np.: <input type="text" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}"> W praktyce i tak często łączy się walidację HTML5 (pattern) z walidacją po stronie serwera, bo walidacja w przeglądarce jest tylko pierwszą linią obrony i użytkownik może ją wyłączyć. Z mojego doświadczenia warto pamiętać, że pattern działa tylko na tekst (input type="text", „search”, „tel”, „email”, „url” itd.) i jest walidowany dopiero w momencie wysyłki formularza lub wywołania metody checkValidity() w JavaScript. Dobrą praktyką jest też dodanie atrybutu title z opisem formatu danych, np. title="Wpisz 3 cyfry", żeby użytkownik zrozumiał, czemu formularz go nie przepuszcza. W projektach komercyjnych pattern bardzo pomaga szybko ogarnąć proste reguły, jak kody pocztowe, numery indeksów, proste loginy itp., bez konieczności pisania dodatkowego skryptu JS.

Pytanie 35

W języku SQL, jaki będzie efekt wykonania poniższego zapytania?

ALTER TABLE osoba DROP COLUMN grupa;
A. Usunięta zostanie kolumna grupa.
B. Dodana zostanie kolumna grupa.
C. Zmieniona zostanie nazwa tabeli na grupa.
D. Zmieniona zostanie nazwa kolumny na grupa.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, wybrałeś poprawną odpowiedź. W zaprezentowanym pytaniu skupiliśmy się na instrukcji 'ALTER TABLE' w języku SQL, a dokładniej na jej konkretnej odmianie, tj. 'DROP COLUMN'. Ta instrukcja służy do usunięcia kolumny z istniejącej tabeli. W tym konkretnym przypadku, użyto jej do usunięcia kolumny o nazwie 'grupa' z tabeli 'osoba'. Jest to przydatne narzędzie w przypadku, gdy chcemy usunąć dane z bazy bez usuwania całej tabeli. Pamiętaj jednak o skutkach utraty wszystkich danych z tej kolumny. Zawsze warto zrobić backup bazy danych przed taką operacją. Dobrą praktyką jest także sprawdzenie, jakie inne elementy bazy są zależne od usuwanej kolumny, aby uniknąć niespodziewanych problemów.

Pytanie 36

Które z poniższych twierdzeń na temat klucza głównego jest prawdziwe?

A. Może mieć tylko wartości liczbowe
B. Zawiera jedynie jedno pole
C. Jest unikalny w ramach tabeli
D. W przypadku tabeli z danymi osobowymi może to być pole nazwisko

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klucz podstawowy jest fundamentalnym elementem w projektowaniu baz danych. Jego główną funkcją jest zapewnienie unikalności każdego rekordu w tabeli, co oznacza, że nie mogą istnieć dwa identyczne wiersze z tym samym kluczem podstawowym. To jest kluczowe dla zachowania integralności danych i umożliwia efektywne zarządzanie informacjami. Na przykład, w tabeli z danymi klientów klucz podstawowy może stanowić unikalny identyfikator klienta (np. numer ID), który pozwala na szybkie i jednoznaczne zlokalizowanie rekordu. Dobrą praktyką jest używanie kluczy podstawowych, które są długoterminowo stabilne, co oznacza, że nie zmieniają się w czasie. Warto również stosować technologię baz danych, która wspiera mechanizmy zapewniające unikalność kluczy, takie jak indeksy unikalne. Ponadto, klucz podstawowy nie musi być wyłącznie pojedynczym polem; może składać się z kilku pól, co jest powszechnie stosowane w przypadku złożonych relacji między tabelami.

Pytanie 37

Wskaż zapytanie, w którym dane są uporządkowane.

A. SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;
B. SELECT AVG(ocena) FROM uczniowie WHERE klasa = 2;
C. SELECT nazwisko FROM firma WHERE pensja > 2000 LIMIT 10;
D. SELECT DISTINCT produkt, cena FROM artykuly;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź wskazująca na zapytanie "SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;" jest prawidłowa, ponieważ zawiera klauzulę ORDER BY, która służy do sortowania rekordów w wynikach zapytania. W tym przypadku dane są sortowane według kolumny 'wiek', co pozwala na uzyskanie uporządkowanej listy mieszkańców, którzy mają więcej niż 18 lat. Sortowanie danych jest kluczowym aspektem w zarządzaniu bazami danych, umożliwiającym łatwiejsze wyszukiwanie oraz analizę informacji. Przykładem zastosowania może być generowanie raportów, gdzie istotne jest uporządkowanie danych, na przykład według wieku, aby zobaczyć, jak rozkłada się wiek mieszkańców w danej grupie. Dodatkowo, stosowanie sortowania zgodnie z przyjętymi standardami SQL zwiększa czytelność oraz efektywność zapytań, a także ułatwia rozwiązywanie problemów związanych z przetwarzaniem danych.

Pytanie 38

Na stronie WWW umieszczono obrazek, a następnie akapit. Aby obrazek był wyświetlany przez przeglądarkę w tej samej linii co akapit, po lewej stronie tekstu akapitu, w stylu CSS dla obrazka należy ustawić formatowanie

A. float: left;
B. align: left;
C. style: left;
D. alt: left;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "float: left;" jest poprawna, ponieważ właściwość CSS "float" służy do określenia, w jaki sposób elementy są rozmieszczane na stronie. Ustawienie "float: left;" dla rysunku sprawia, że zostaje on umieszczony po lewej stronie swojego kontenera, a pozostałe elementy, takie jak akapit, mogą układać się obok niego. Jest to powszechnie stosowana technika w układach stron internetowych, pozwalająca na osiągnięcie płynnych i responsywnych rozkładów treści. Na przykład, w przypadku gdy mamy obrazek i akapit, stosując float, obrazek zostanie wypchnięty w lewo, a tekst akapitu automatycznie dostosuje się, zajmując dostępną przestrzeń obok rysunku. Warto również dodać, że po zastosowaniu float, należy zadbać o usunięcie efektu 'zatrzymywania się' rysunków, co można osiągnąć poprzez stosowanie właściwości "clear" w odpowiednich miejscach, aby nie zakłócać układu sąsiednich elementów. Tego typu techniki są fundamentem projektowania stron, zgodnie z zasadami dobrych praktyk UX/UI oraz standardami W3C. W przypadku bardziej złożonych układów warto również rozważyć zastosowanie Flexbox lub Grid Layout, które oferują większą elastyczność i kontrolę nad położeniem elementów w nowoczesnych projektach.

Pytanie 39

Jakie jest zadanie funkcji agregującej AVG w zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. sprawdzić, ile usług znajduje się w tabeli
B. obliczyć średnią arytmetyczną wartości wszystkich usług
C. zliczyć całkowity koszt wszystkich usług
D. określić najwyższą wartość spośród cen usług

Brak odpowiedzi na to pytanie.

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

Pytanie 40

W języku JavaScript, element został uzyskany przy pomocy metody getElementById. Jaką właściwość należy zastosować, aby zmienić zawartość tego elementu?

A. innerHTML
B. HTML
C. innerBody
D. Body

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwość innerHTML jest kluczowym elementem w manipulacji DOM (Document Object Model) w JavaScript. Umożliwia ona programistom modyfikację zawartości HTML danego elementu. Po pobraniu elementu za pomocą metody getElementById, można zmienić jego wewnętrzną zawartość, przypisując nowy tekst lub kod HTML do innerHTML. Na przykład, jeśli mamy element o id 'example', jego zawartość można zmienić w ten sposób: document.getElementById('example').innerHTML = '<p>Nowa zawartość</p>'; To podejście jest powszechnie stosowane w dynamicznej aktualizacji treści stron internetowych, co jest szczególnie przydatne w aplikacjach jednostronicowych (SPA) oraz przy tworzeniu interaktywnych komponentów użytkownika. Warto również zauważyć, że używanie innerHTML wiąże się z pewnymi zagrożeniami, takimi jak wstrzykiwanie kodu (XSS), dlatego zawsze powinno się dbać o walidację i sanitację wprowadzanych danych. W praktyce, aby zwiększyć bezpieczeństwo aplikacji, można korzystać z innych metod manipulacji DOM, takich jak textContent lub createElement, które nie interpretują kodu HTML.