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

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

W CSS, aby ustawić różne stylizacje dla pierwszej litery w akapicie, należy wykorzystać selektor

A. pseudoelementu p::first-letter
B. dziecka p + first-letter
C. klasy p.first-letter
D. atrybutu p [first-letter]

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku CSS do formatowania pierwszej litery akapitu używamy pseudoelementu '::first-letter'. Jest to specjalny selektor, który pozwala na zastosowanie stylów tylko do pierwszego znaku w danym elemencie, na przykład w akapicie <p>. Pseudoelement ten może być używany do nadawania unikalnych właściwości typograficznych, takich jak rozmiar czcionki, kolor, font-weight czy marginesy, co może znacząco wzbogacić stylizację tekstu. Przykładowo, używając stylu 'p::first-letter { font-size: 2em; color: red; }', pierwsza litera każdego akapitu stanie się większa i czerwona. To podejście jest zgodne z dobrymi praktykami w CSS, ponieważ umożliwia selektywne stylizowanie elementów bez wpływu na resztę treści. Aby uzyskać większą kontrolę nad układem i estetyką stron internetowych, warto zaznajomić się z innymi pseudoelementami, takimi jak '::first-line', które działają analogicznie. Prawidłowe używanie pseudoelementów jest kluczowe dla tworzenia bardziej zaawansowanych i atrakcyjnych wizualnie projektów.

Pytanie 2

Określ wynik działania załączonego kodu PHP, przy założeniu, że zmienna tab jest tablicą.

$tab = explode(", ", "jelenie,sarny,dziki,lisy,borsuki");
echo $tab[1]." ".$tab[2];
A. jelenie sarny
B. dziki lisy
C. sarny dziki
D. lisy borsuki

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zgadza się, Twoja odpowiedź jest właściwa. W tym kodzie PHP używamy funkcji 'explode()', żeby zamienić ciąg znaków na tablicę, używając przecinków do rozdzielenia. Potem, dwa elementy z tej tablicy, czyli drugi i trzeci, są wypisywane. Wynik tego kodu będzie różny w zależności od tego, co mamy w tablicy 'tab'. Dla tego przykładu, poprawna odpowiedź to 'sarny dziki'. Możemy przypuszczać, że po użyciu 'explode()' tablica wygląda tak: ['jakiś_element', 'sarny', 'dziki', ...]. To naprawdę przydatna funkcjonalność, zwłaszcza kiedy musimy przetwarzać dane od użytkownika lub z pliku. Funkcję 'explode()' często spotykamy w PHP, gdy bawi się z ciągami, i to dobry sposób na ich manipulację.

Pytanie 3

Jakie jest zastosowanie programu debugger?

A. tłumaczenia kodu napisanego w języku wyższego poziomu na język maszynowy
B. analizy wykonywanego programu w celu lokalizacji błędów
C. badania kodu źródłowego w celu znalezienia błędów składniowych
D. interpretacji kodu w wirtualnej maszynie Java

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Program debugger to narzędzie, które umożliwia programistom analizę wykonywanego programu w celu lokalizacji błędów, co jest kluczowym elementem procesu tworzenia oprogramowania. Debuggery pozwalają na zatrzymywanie wykonania programu w określonych momentach, co pozwala na inspekcję stanu zmiennych oraz wywołań funkcji w danym momencie. Dodatkowo, wiele debuggerów oferuje możliwość krokowego przechodzenia przez kod, co ułatwia zrozumienie logiki programu i identyfikację błędów. Przykładem może być użycie debuggera w IDE, takich jak Visual Studio czy Eclipse, gdzie można ustawić punkty przerwania i obserwować zmiany w czasie rzeczywistym. Zastosowanie debuggera jest zgodne z najlepszymi praktykami branżowymi, które zalecają regularne testowanie i debugowanie kodu w trakcie jego pisania, co znacząco zwiększa jakość oprogramowania oraz przyspiesza proces developmentu. Warto również zaznaczyć, że dobra znajomość narzędzi debugujących jest niezbędna dla każdego programisty, aby efektywnie rozwiązywać problemy i dostarczać stabilne aplikacje.

Pytanie 4

Która z poniższych instrukcji jest równoważna z poleceniem switch w języku PHP?

switch ($liczba) {
    case 10:
    case 20: $liczba++; break;
    default: $liczba = 0;
}

Instrukcja 1.
if ($liczba==10)
    $liczba++;
else
    $liczba = 0;

Instrukcja 2.
if ($liczba==10 or $liczba==20)
    $liczba++;
else
    $liczba = 0;

Instrukcja 3.
if ($liczba==10 or $liczba==20)
    $liczba++;

Instrukcja 4.
if ($liczba==10 and $liczba==20)
    $liczba++;
else
    $liczba = 0;
A. Polecenie 1
B. Polecenie 4
C. Polecenie 2
D. Polecenie 3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja switch w języku PHP pozwala na wykonywanie różnych bloków kodu w zależności od wartości wyrażenia. W przykładzie, instrukcja switch sprawdza zmienną $liczba. Jeśli $liczba wynosi 10 lub 20, zostaje zwiększona o 1, natomiast w każdym innym przypadku przypisana jest wartość 0. Instrukcja 2 jest równoważna, ponieważ używa operatora or, co oznacza, że warunek zostanie spełniony, jeśli $liczba wynosi 10 lub 20, co dokładnie odwzorowuje logikę switch. Kluczowe jest zrozumienie, że operator or jest zgodny z wymaganiami logicznymi dla tego problemu, umożliwiając zwiększenie wartości zmiennej w obu przypadkach. Takie podejście jest zgodne z dobrymi praktykami programistycznymi, pozwalając na przejrzystość i efektywność kodu. Zrozumienie różnicy między operatorami and, or oraz or pozwala na bardziej elastyczne i zrozumiałe konstrukcje logiczne w programowaniu komercyjnym. Praktyka ta jest szczególnie ważna w optymalizowaniu warunkowych bloków kodu w dużych projektach.

Pytanie 5

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

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

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 6

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

var x=5;
var y=3;
if(x=y) document.getElementById("demo").innerHTML='zmienne są równe';
else    document.getElementById("demo").innerHTML='zmienne się różnią';
A. Zmienne zostały zadeklarowane w niewłaściwy sposób
B. W klauzuli if użyto przypisania zamiast porównania
C. Brak średnika przed klauzulą else
D. Zawartość sekcji if oraz else powinna być zamieniona miejscami

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W analizowanym kodzie JavaScript występuje błąd związany z użyciem operatora przypisania zamiast operatora porównania w klauzuli if. W języku JavaScript do porównania dwóch wartości używa się operatora '===' lub '=='. Operator '=' to operator przypisania, który przypisuje wartość z prawej strony do zmiennej po lewej stronie. W kontekście warunków if, należy użyć operatora porównania, aby ocenić, czy dwie zmienne są równe. W poprawnej wersji kodu, linia if x = y powinna być zmieniona na if (x === y). Dodatkowo, warto pamiętać o umieszczeniu wartości porównawanych w nawiasach, co zwiększa czytelność i poprawność kodu. Przykład prawidłowego kodu to: var x = 5; var y = 3; if (x === y) { document.getElementById('demo').innerHTML = 'zmienne są równe'; } else { document.getElementById('demo').innerHTML = 'zmienne się różnią'; }. Taki zapis zapewnia, że program poprawnie zidentyfikuje różnicę między zmiennymi x i y i odpowiednio wyświetli komunikat.

Pytanie 7

Jaki znacznik HTML umożliwia dynamiczne generowanie grafiki na stronie bez konieczności dodawania dodatkowych plików?

A. <object>
B. <canvas>
C. <embed>
D. <img>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znacznik <canvas> jest kluczowym elementem HTML5, który umożliwia dynamiczne generowanie grafiki w przeglądarkach internetowych. Jego główną zaletą jest zdolność do renderowania 2D i 3D bez konieczności korzystania z dodatkowych plików graficznych, co znacząco zwiększa wydajność oraz elastyczność projektu. Dzięki metodom JavaScript, takim jak fillRect(), strokeRect() czy drawImage(), użytkownicy mogą na bieżąco modyfikować i animować grafikę, co sprawia, że <canvas> jest idealnym rozwiązaniem dla gier, interaktywnych wizualizacji danych oraz aplikacji edukacyjnych. Warto zauważyć, że podczas korzystania z <canvas> należy przestrzegać najlepszych praktyk, takich jak minimalizacja operacji renderujących oraz stosowanie technik buforowania, aby zapewnić płynność działania. Z perspektywy standardów W3C, <canvas> jest silnie wspierany przez nowoczesne przeglądarki, co czyni go powszechnie stosowanym narzędziem w tworzeniu nowoczesnych aplikacji webowych.

Pytanie 8

Określ właściwą hierarchię stylów CSS biorąc pod uwagę ich priorytet w stylizacji elementów strony WWW?

A. Wewnętrzny, Zewnętrzny, Rozciąganie stylu
B. Lokalny, Wewnętrzny, Zewnętrzny
C. Zewnętrzny, Wydzielone bloki, Lokalny
D. Rozciąganie stylu, Zewnętrzny, Lokalny

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "Lokalny, Wewnętrzny, Zewnętrzny" jest poprawna, ponieważ ilustruje hierarchię stylów CSS, która określa, jak różne źródła stylów wpływają na wygląd elementów na stronie internetowej. Lokalne style, czyli te umieszczone bezpośrednio w atrybucie 'style' danego elementu HTML, mają najwyższy priorytet. Oznacza to, że jeśli zastosujemy zarówno lokalny styl, jak i styl zewnętrzny, to lokalny styl będzie miał pierwszeństwo i nadpisze ustawienia zewnętrznego arkusza stylów. Następnie mamy style wewnętrzne, umieszczone w sekcji 'head' dokumentu HTML, definiujące style dla całej strony, ale mające niższy priorytet niż style lokalne. Na końcu są style zewnętrzne, które są ładowane z zewnętrznych plików CSS. Przykładem zastosowania tej zasady może być sytuacja, gdy chcemy, aby dany przycisk miał określony kolor tła; możemy go ustawić lokalnie, aby był inny w danym kontekście, mimo że w zewnętrznym arkuszu stylów jest zdefiniowany inny kolor.

Pytanie 9

Przy edytowaniu obrazu w programie graficznym rastrowym należy usunąć kolory z obrazu, aby uzyskać jego wersję w skali szarości. Jaką funkcję można zastosować, aby osiągnąć ten efekt?

A. szumu RGB
B. kadrowania
C. desaturacji
D. filtru rozmycia

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Desaturacja to technika używana w edytorach grafiki rastrowej, polegająca na usunięciu kolorów z obrazu, co prowadzi do uzyskania odcieni szarości. Proces ten jest często stosowany w celu podkreślenia formy, tekstury i kontrastu obiektów w grafice, a także w celu poprawy czytelności w przypadku zdjęć i ilustracji, gdzie kolory mogą rozpraszać uwagę. Aby zastosować desaturację, użytkownik może skorzystać z odpowiedniej opcji w menu edytora, co zazwyczaj odbywa się poprzez wybór narzędzia desaturacji lub konwersji na skalę szarości. Dobrą praktyką jest przetestowanie różnych metod desaturacji, ponieważ niektóre programy oferują różne algorytmy, które mogą dawać różne rezultaty. Na przykład, niektóre edytory pozwalają na kontrolę intensywności desaturacji, co daje większą elastyczność w edytowaniu. W kontekście standardów branżowych, desaturacja jest powszechnie używana w grafikach do druku i w mediach cyfrowych, aby poprawić jakość wizualną i komunikacyjną obrazów.

Pytanie 10

W tabeli samochody w bazie danych, pole kolor może przyjmować jedynie wartości zdefiniowane w słowniku lakier. Jaką kwerendę należy wykorzystać, aby ustanowić relację między tabelami samochody a lakier?

A. ALTER TABLE samochody ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
B. ALTER TABLE samochody ADD FOREIGN KEY kolor REFERENCES lakier;
C. ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
D. ALTER TABLE samochody ADD FOREIGN KEY barwa REFERENCES samochody.lakier;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby połączyć tabele 'samochody' i 'lakier' za pomocą klucza obcego, należy zastosować kwerendę ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);. W tym przypadku 'kolor' w tabeli 'samochody' odnosi się do identyfikatora 'lakierId' w tabeli 'lakier', co zapewnia integralność referencyjną między tymi dwoma tabelami. Klucz obcy jest mechanizmem, który pozwala na zapewnienie, że wartości w kolumnie 'kolor' w tabeli 'samochody' muszą odpowiadać wartościom w kolumnie 'lakierId' w tabeli 'lakier', co zapobiega wprowadzeniu danych, które nie mają odpowiednika w tabeli 'lakier'. Przykładowo, jeżeli próbujemy dodać samochód w kolorze, który nie istnieje w tabeli 'lakier', system nie pozwoli na to działanie. Taka struktura bazy danych jest zgodna z zasadami normalizacji, która ma na celu eliminację redundancji danych oraz zwiększenie ich spójności. Stosowanie kluczy obcych jest standardem w projektowaniu relacyjnych baz danych, ponieważ ułatwia zarządzanie danymi oraz ich integralność.

Pytanie 11

Jednym z atrybutów tabeli ksiazki jest status czyWypozyczona, który może przyjmować dwie wartości: true lub false. Jaki typ danych będzie najbardziej odpowiedni dla tego atrybutu?

A. DOUBLE
B. CHAR
C. BOOLEAN
D. VARCHAR(5)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź BOOLEAN jest optymalnym wyborem dla pola status czyWypozyczona, ponieważ reprezentuje typ danych logicznych, które mogą przyjmować jedynie dwie wartości: prawda (true) lub fałsz (false). W kontekście systemów baz danych, typ BOOLEAN jest używany do efektywnego przechowywania informacji, które mają tylko dwa możliwe stany, co pozwala na oszczędność miejsca oraz przyspieszenie operacji zapytań. Na przykład, przy tworzeniu zapytań SQL, możemy łatwo filtrować wyniki na podstawie statusu wypożyczenia, co znacząco zwiększa czytelność i wydajność kodu. Warto również zauważyć, że wiele systemów baz danych, takich jak MySQL, PostgreSQL, czy SQLite, oferują dedykowane wsparcie dla typu BOOLEAN, co czyni go zgodnym z najlepszymi praktykami w projektowaniu baz danych, w których dąży się do maksymalnej klarowności i wydajności. Dzięki temu, stosując typ BOOLEAN, nie tylko upraszczamy model danych, ale także ułatwiamy jego dalsze wykorzystanie i konserwację.

Pytanie 12

W języku JavaScript właściwie zdefiniowana zmienna to

A. #imie
B. imię%
C. imie2
D. imię2

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku JavaScript, poprawne nadawanie zmiennych jest kluczowym elementem programowania, który opiera się na zdefiniowanych zasadach dotyczących identyfikatorów. Zmienna musi zaczynać się od litery, znaku podkreślenia (_) lub znaku dolara ($), a następnie może zawierać litery, cyfry, znaki podkreślenia oraz znaki dolara. W przypadku odpowiedzi 'imie2', zaczyna się ona od litery i zawiera literę oraz cyfrę, co czyni ją poprawnym identyfikatorem. Zgodnie ze standardem ECMAScript, identyfikatory są rozróżniane na wielkie i małe litery, co oznacza, że 'Imie2' i 'imie2' będą traktowane jako różne zmienne. Praktycznym przykładem poprawnego użycia takiej zmiennej może być zapis: let imie2 = 'Jan'; console.log(imie2);. W wyniku tego, konsola wyświetli 'Jan'. Można również zauważyć, że zgodnie z zasadami, zmienne mogą być oznaczone jako let, const lub var, co dodaje elastyczności podczas deklaracji zmiennych w kodzie JavaScript.

Pytanie 13

W kodzie HTML5 znajduje się fragment, który zawiera błąd walidacji. Jakiego rodzaju jest to błąd?

<h6>tekst</h6>
<p>pierwsza <b>linia</b><br>
<p>Druga linia</p>
A. Znacznik <br> musi być zamknięty.
B. Nagłówek szóstego poziomu nie istnieje.
C. Znaczniki powinny być zapisane wielkimi literami.
D. Pierwszy znacznik <p> nie został zamknięty.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym zadaniu chodziło o rozpoznanie typowego błędu związanego z poprawnym zamykaniem znaczników HTML, a dokładniej – ze znacznikiem <p>. W przedstawionym kodzie rzeczywiście pierwszy znacznik <p> nie został zamknięty przed pojawieniem się kolejnego bloku <p>, co powoduje naruszenie struktury dokumentu. Według specyfikacji HTML5, element <p> nie powinien być zagnieżdżany ani przerwany przez inny blokowy element (w tym przypadku przez drugi <p>). Przeglądarki zwykle próbują automatycznie domykać taki znacznik, ale nie jest to dobra praktyka – takie poleganie na mechanizmach autokorekty może później prowadzić do trudnych do wykrycia błędów wizualnych albo nieprzewidywalnych efektów w stylach CSS. Z mojego doświadczenia wynika, że konsekwentne zamykanie znaczników nie tylko poprawia czytelność kodu, ale i ułatwia pracę zespołową oraz skalowanie projektu. Przykład: jeśli piszesz większy artykuł i zapomnisz zamknąć <p>, cała dalsza część tekstu może zostać potraktowana jako jeden paragraf. To potrafi solidnie namieszać, nawet w prostych stronach! Branża webowa od lat promuje zasadę – pisz zgodnie ze specyfikacją, a będziesz miał mniej problemów później. Zawsze lepiej przejrzeć strukturę dokumentu dwa razy, niż potem szukać błędów na produkcji. Przy pracy z edytorami kodu warto korzystać z funkcji podświetlania składni lub walidatorów HTML, które od razu wyłapują takie potknięcia.

Pytanie 14

Który modyfikator jest związany z opisem podanym poniżej?

Metoda oraz zmienna jest dostępna wyłącznie dla innych metod własnej klasy.
A. protected
B. static
C. private
D. public

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Modyfikator dostępu private w językach programowania takich jak Java i C# umożliwia ukrywanie szczegółów implementacji danej klasy przed jej użytkownikami. Deklarowanie zmiennych i metod jako private chroni je przed nieumyślnymi zmianami z zewnątrz, co zwiększa bezpieczeństwo i integralność danych. Daje to kontrolę nad tym, jak dane są używane i modyfikowane, co jest kluczowe w projektowaniu solidnych systemów. Prywatne elementy są dostępne jedynie w obrębie klasy, co pozwala zachować enkapsulację, jedną z podstaw programowania obiektowego. Dzięki temu, można łatwo modyfikować wewnętrzne mechanizmy klasy, bez wpływu na inne części programu, które z niej korzystają. Używanie private umożliwia również tworzenie metod pomocniczych, które są niewidoczne dla użytkowników zewnętrznych, ale wspomagają działanie publicznych interfejsów. To podejście zgodne ze standardami projektowania, takimi jak zasada najmniejszej wiedzy, która zaleca ograniczanie dostępu do niezbędnego minimum dla poprawy modularności i utrzymania kodu. Przykładem może być klasa KontoBankowe, gdzie saldo konta jest prywatne, a dostęp do jego zmiany odbywa się poprzez metody publiczne, co pozwala na weryfikację operacji finansowych.

Pytanie 15

Utworzono bazę danych zawierającą tabelę podzespoły, która składa się z pól: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowaną według ceny, zaczynając od najniższej, należy wykorzystać zapytanie:

A. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena DESC
B. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena ASC
C. SELECT model FROM podzespoly WHERE typ="RAM" OR producent="Kingston" ORDER BY cena DESC
D. SELECT model FROM producent WHERE typ="RAM" OR producent="Kingston" ORDER BY podzespoly ASC

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór tej odpowiedzi jest prawidłowy, ponieważ kwerenda wykorzystuje poprawną składnię SQL do wyboru modeli pamięci RAM od producenta Kingston. Klauzula WHERE filtruje rekordy, aby uwzględnić tylko te, które mają typ 'RAM' oraz producenta 'Kingston', co jest kluczowe dla uzyskania właściwych wyników. Użycie operatora AND w tym kontekście zapewnia, że obie te cechy muszą być spełnione, co jest zgodne z zamiarem wyświetlenia wszystkich modeli pamięci RAM tego producenta. Dodatkowo, klauzula ORDER BY cena ASC sortuje wyniki w kolejności rosnącej według ceny, co jest wymagane do poprawnego przedstawienia danych od najtańszej do najdroższej pamięci. Takie podejście jest zgodne z dobrymi praktykami SQL, gdzie precyzyjne filtrowanie danych i porządkowanie wyników są kluczowe dla efektywności i dokładności zapytań. W praktyce, takie kwerendy mogą być używane w aplikacjach do zarządzania produktami czy bazach danych e-commerce, aby pomóc użytkownikom w szybkim odnajdywaniu pożądanych produktów w oparciu o konkretne kryteria.

Pytanie 16

Funkcja mysqli_num_rows() w PHP może być używana po wcześniejszym wykonaniu zapytania

A. INSERT
B. UPDATE
C. DELETE
D. SELECT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja mysqli_num_rows() służy do zwracania liczby wierszy w rezultacie zapytania SQL, jednak może być wywołana wyłącznie po zastosowaniu kwerendy SELECT. Kwerenda ta jest używana do pobierania danych z bazy danych, co oznacza, że jej wykonanie generuje zbiór wyników. Kiedy wykonujemy zapytanie SELECT, mysqli_num_rows() umożliwia nam sprawdzenie, ile rekordów zwróciło zapytanie. Na przykład, po wykonaniu zapytania SELECT * FROM users, możemy użyć mysqli_num_rows($result), aby uzyskać liczbę użytkowników w tabeli. To podejście jest zgodne z dobrymi praktykami programistycznymi, ponieważ pozwala na efektywne zarządzanie i analizowanie danych. Warto także zauważyć, że funkcja ta nie jest stosowana w przypadku kwerend modyfikujących dane, takich jak INSERT, DELETE czy UPDATE, ponieważ te operacje nie zwracają zbioru wyników, a jedynie potwierdzają wykonanie akcji. Zrozumienie, kiedy używać mysqli_num_rows(), jest kluczowe w pracy z bazami danych w PHP i pozwala na skuteczne optymalizowanie zapytań oraz zarządzanie danymi.

Pytanie 17

W jaki sposób wykonanie podanej poniżej kwerendy SQL wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char9);
A. Zmieni typ danych kolumny plec na znakowy o stałej długości 9.
B. Doda kolumnę plec ze znakowym typem danych o zmiennej długości 9.
C. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9.
D. Doda kolumnę plec ze znakowym typem danych o stałej długości 9.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wykonanie kwerendy SQL ALTER TABLE pracownicy MODIFY plec char(9) zmienia typ danych kolumny 'plec' w tabeli 'pracownicy' na typ znakowy o stałej długości wynoszącej 9 znaków. Oznacza to, że każda wartość w tej kolumnie może zajmować do 9 znaków, a system będzie rezerwować dokładnie tę ilość miejsca w bazie danych. Typ char jest używany, gdy znana jest maksymalna długość danych, co pozwala na bardziej efektywne zarządzanie pamięcią i skrócenie czasu dostępu do danych. Przykładem zastosowania tego typu danych może być, na przykład, przechowywanie informacji o płci, gdzie 'M' oznacza mężczyznę, a 'K' kobietę. Przed wprowadzeniem tej kwerendy ważne jest, aby upewnić się, że wszystkie istniejące dane w kolumnie plec są zgodne z nowym formatem, aby uniknąć potencjalnych problemów z utratą danych lub błędami podczas konwersji. Standardy SQL, takie jak ANSI SQL, definiują typy danych i operacje na nich, co zapewnia, że kwerendy są przenośne między różnymi systemami baz danych.

Pytanie 18

Jakie kolory wchodzą w skład modelu barw CMYK?

A. cyjan, magenta, żółty i karmazyn
B. cyjan, magenta, żółty i czarny
C. czerwony, zielony, niebieski oraz kanał alfa
D. czerwony, zielony oraz niebieski

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Model barw CMYK (Cyan, Magenta, Yellow, Key/Black) jest jednym z najczęściej wykorzystywanych modeli kolorystycznych w druku. Składa się z czterech podstawowych składowych, które są używane do tworzenia szerokiej gamy kolorów poprzez ich nakładanie. Cyjan, magenta, żółty i czarny są barwami subtraktywnymi, co oznacza, że podczas mieszania ich ze sobą światło jest absorbowane, a nie emitowane, jak ma to miejsce w modelach addycyjnych, takich jak RGB. Przykładem zastosowania modelu CMYK jest druk offsetowy, gdzie kolory są nakładane na papier w formie warstw, co umożliwia uzyskanie intensywnych i nasyconych odcieni. Standardy takie jak ISO 12647 określają zasady dotyczące kolorymetrii w druku, a także wymagania dotyczące reprodukcji kolorów. W praktyce projektanci graficzni i specjaliści ds. druku korzystają z tego modelu, aby precyzyjnie odwzorować kolory na różnych materiałach, co jest kluczowe dla zachowania spójności wizualnej w materiałach drukowanych.

Pytanie 19

Jaką rolę odgrywa kwerenda krzyżowa w programie MS Access?

A. Zmienia istniejące dane w tabeli
B. Dodaje do wybranej tabeli rekordy z innej tabeli
C. Prezentuje zliczone wartości z pola i układa je w wiersze oraz kolumny
D. Usuwa rekordy z tabel według określonych kryteriów

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kwerenda krzyżowa w bazie danych MS Access pełni kluczową rolę w analizie danych, umożliwiając użytkownikom prezentację zliczonych wartości w formacie tabelarycznym, gdzie wyniki są układane w wiersze i kolumny. To narzędzie jest niezwykle przydatne w przypadku, gdy chcemy zsyntetyzować dane na podstawie dwóch lub więcej kryteriów, co pozwala na szybką analizę zależności i trendów. Na przykład, możemy stworzyć kwerendę krzyżową, która zlicza sprzedaż według miesięcy i kategorii produktów. W rezultacie otrzymujemy czytelny raport, który pozwala na natychmiastowe zrozumienie, które produkty sprzedają się najlepiej w danym okresie. Kwerendy krzyżowe są zgodne z najlepszymi praktykami w zakresie analizy danych, umożliwiając użytkownikom szybkie podejmowanie decyzji na podstawie wizualizacji wyników. Standardy projektowania baz danych zalecają korzystanie z takich kwerend tam, gdzie potrzebne są złożone analizy, a ich struktura jest zgodna z zasadami normalizacji danych, co z kolei ułatwia ich późniejsze przetwarzanie.

Pytanie 20

W języku C++ stworzono zmienną char zm1[10]; Jakim typem zmiennej jest ta zmienna?

A. liczbą
B. znakiem
C. tablicą łańcuchów
D. tablicą znaków

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienna char zm1[10] w języku C++ jest tablicą znaków, co oznacza, że jest to struktura danych przechowująca sekwencję znaków. Tablica ta ma rozmiar 10, co oznacza, że może pomieścić do 10 znaków. W praktyce, zmienne tego typu są często używane do przechowywania łańcuchów tekstowych, które są kończone znakiem null ('\0'). Używając tablicy znaków, programista ma kontrolę nad pamięcią oraz sposobem przechowywania i modyfikowania tekstów. Na przykład, aby przypisać wartość do tej tablicy, można użyć funkcji strcpy, która kopiuje łańcuch znaków do tablicy: strcpy(zm1, "Hello"). W kontekście standardów, korzystanie z tablic znaków w C++ jest zgodne z tradycyjnymi praktykami programowania w językach z rodziny C, gdzie zarządzanie pamięcią i efektywne operowanie na danych tekstowych jest kluczowe. Warto również zauważyć, że w nowszych wersjach C++ możliwe jest użycie typu std::string, który automatycznie zarządza pamięcią i rozmiarem, ale zrozumienie tablic znaków jest fundamentalne dla każdego programisty. Zatem ta odpowiedź jest poprawna, ponieważ odzwierciedla istotę zmiennej zdefiniowanej jako tablica znaków.

Pytanie 21

Prezentowany fragment dokumentu HTML z użyciem JavaScript spowoduje, że po naciśnięciu przycisku

<img src="obraz1.png">
<img src="obraz2.png" id="id1">
<button onclick="document.getElementById('id1').style.display='none'">Przycisk</button>
A. obraz1.png zostanie zniknięty
B. obraz1.png zostanie wymieniony przez obraz2.png
C. obraz2.png zostanie zniknięty
D. obraz2.png zostanie wymieniony przez obraz1.png

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest poprawna, ponieważ przycisk w kodzie JavaScript powoduje, że po jego kliknięciu element HTML o identyfikatorze 'id1', który jest obrazem 'obraz2.png', zostanie ukryty. Wartość 'style.display' zmienia się na 'none', co jest standardowym sposobem na ukrycie elementu w dokumentach HTML. W praktyce takie podejście jest szeroko stosowane w interaktywnych aplikacjach webowych, aby poprawić doświadczenia użytkowników, umożliwiając im dynamiczne ukrywanie lub wyświetlanie treści w odpowiedzi na ich działania. Ukrywanie elementów zamiast ich usuwania z DOM ma swoje zalety, ponieważ umożliwia ich późniejsze przywrócenie, co jest bardziej efektywne w kontekście wydajności. Dobrym przykładem może być rozwijane menu na stronie, gdzie po kliknięciu na dany element, jego zawartość jest ukrywana lub pokazywana bez potrzeby przeładowywania całej strony.

Pytanie 22

Jakiego typu danych w bazie MySQL należy używać, aby zapisać datę oraz czas w jednym polu?

A. YEAR
B. TIMESTAMP
C. BOOLEAN
D. DATE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ danych TIMESTAMP w MySQL jest idealnym wyborem do przechowywania zarówno daty, jak i czasu w jednym polu, co czyni go bardzo funkcjonalnym w kontekście aplikacji wymagających ścisłej kontroli nad czasem zdarzeń. TIMESTAMP przechowuje datę i czas jako liczbę sekund, które upłynęły od 1 stycznia 1970 roku, co pozwala na łatwe manipulowanie danymi związanymi z czasem, jak obliczanie różnic między datami czy sortowanie po czasie. Przykładowo, w aplikacjach takich jak systemy rezerwacji, gdzie istotne jest nie tylko kiedy coś zostało zarezerwowane, ale również czas rezerwacji, użycie TIMESTAMP umożliwia efektywne zarządzanie danymi. Dodatkowo, TIMESTAMP automatycznie aktualizuje się, gdy rekord jest zmieniany, co jest niezwykle przydatne w kontekście audytów i monitorowania historii zmian w danych. Warto również zauważyć, że TIMESTAMP w MySQL obsługuje strefy czasowe, co czyni go bardziej uniwersalnym w międzynarodowych zastosowaniach. W standardach branżowych dobre praktyki wskazują na używanie TIMESTAMP dla operacji wymagających ścisłej synchronizacji czasowej oraz tam, gdzie istotna jest informacja o czasie zdarzenia.

Pytanie 23

Technika projektowania algorytmów, która polega na dzieleniu problemu na dwa lub więcej mniejszych podproblemów, aż do momentu gdy fragmenty staną się na tyle proste, że można je rozwiązać bezpośrednio, to

A. słowa Fibonacciego
B. sito Eratostenesa
C. sortowanie przez wybór
D. dziel i zwyciężaj

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda "dziel i zwyciężaj" jest jedną z podstawowych technik projektowania algorytmów, która polega na rozwiązywaniu problemów poprzez dzielenie ich na mniejsze, bardziej zarządzalne podproblemy. Proces ten można opisać w trzech krokach: dzielenie, rozwiązywanie i łączenie wyniku. W praktyce oznacza to, że algorytm najpierw dzieli dany problem na dwa lub więcej podproblemów, następnie rozwiązuje każdy z nich osobno, a na końcu łączy zebrane rozwiązania, aby uzyskać odpowiedź na pierwotny problem. Przykładem może być algorytm sortowania szybkim (Quicksort), który wykorzystuje tę metodę poprzez wybór pivota, podział zbioru na mniejsze części i rekurencyjne sortowanie. Kolejnym przykładem jest algorytm mnożenia dużych liczb, taki jak algorytm Karatsuby. Dziel i zwyciężaj jest również stosowane w zaawansowanych technikach optymalizacji i w algorytmach wyszukiwania, co czyni tę metodę niezwykle uniwersalną i efektywną w wielu dziedzinach informatyki.

Pytanie 24

Jaką wartość zwróci funkcja zoo zdefiniowana w języku C++, wywołana z aktualnym parametrem 3.55

int zao(float x){
    return (x + 0.5);
}
A. 4
B. 3.5
C. 3
D. 4.05

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota! Wybrałeś poprawną odpowiedź, która wynosi 4. W języku C++ typy zmiennoprzecinkowe (float) są konwertowane do typów całkowitych (int) poprzez odrzucenie części ułamkowej liczby. W tym przypadku, nawet jeśli wynik działania wewnątrz funkcji wynosi 4.05, po konwersji do typu int, zostaje z tego tylko 4. Jest to dobra praktyka, aby zawsze pamiętać o tym zachowaniu podczas pracy z różnymi typami danych w językach programowania, zwłaszcza jeśli precyzja jest istotna dla twojego kodu. Odrzucenie części ułamkowej może prowadzić do nieoczekiwanych wyników, jeśli nie jest to świadome działanie. Dlatego w języku C++ zaleca się zawsze jasne i precyzyjne określenie typu danych.

Pytanie 25

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

A. require
B. include
C. import
D. open

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie 'import' w CSS służy do załączenia zewnętrznego arkusza stylów, co jest kluczowe dla organizacji i modularności kodu CSS. Użycie '@import' pozwala na ładowanie stylów z innych plików CSS na początku arkusza stylów, co ułatwia zarządzanie dużymi projektami. Na przykład, jeśli mamy plik 'style.css' i chcemy zaimportować 'reset.css', możemy użyć następującej składni: '@import 'reset.css';'. Dzięki temu możemy utrzymać rozdzielenie różnych stylów, co sprzyja lepszej organizacji kodu oraz jego ponownemu użyciu w przyszłości. Warto również zaznaczyć, że standardy CSS sugerują, aby używać '@import' z rozwagą, gdyż każde zaimportowanie pliku powoduje dodatkowe żądanie HTTP, co może wpłynąć na czas ładowania strony. Z tego powodu, dla większych projektów, często lepiej jest łączyć wszystkie style w jeden plik podczas produkcji, co można osiągnąć za pomocą narzędzi do kompresji CSS. Użycie '@import' jest zatem zgodne z dobrymi praktykami, szczególnie w fazie rozwoju, gdzie modularność i łatwość w zarządzaniu kodem są priorytetowe.

Pytanie 26

W kolumnie, która pełni funkcję klucza głównego w tabeli, powinny się znajdować

A. ciągłe numery.
B. wartości unikalne.
C. inny typ niż inne kolumny.
D. liczby.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kolumna, która pełni rolę klucza głównego w tabeli, powinna mieć unikalne wartości. To takie ważne w projektowaniu baz danych. Klucz główny to coś, co pozwala jasno zidentyfikować każdy rekord w tabeli. Czyli dla każdego wpisu w tej kolumnie musi być jedna, jedyna wartość, która nie powtarza się w innych wierszach. Na przykład w tabeli użytkowników kolumna 'ID' często jest kluczem głównym. Dzięki temu, jak chcemy znaleźć konkretnego użytkownika, to robimy to bez żadnych pomyłek, szukając go za pomocą tego jedynego identyfikatora. W praktyce używanie unikalnych wartości w kluczu głównym jest zgodne z zasadami normalizacji baz danych. To pomaga zredukować zbędne dane i zwiększa ich poprawność. No bo nie ma co ukrywać, unikalność klucza głównego to podstawa skutecznego zarządzania danymi i zapewnia porządek w aplikacjach bazodanowych. To zgodne z najlepszymi praktykami w branży.

Pytanie 27

Wykonanie następującego polecenia PHP umożliwia:

$zapytanie = mysqli_query($db, "UPDATE ...");
A. dodanie nowych danych do bazy
B. pobranie danych z bazy
C. zmianę struktury bazy
D. zmianę danych w bazie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie PHP mysqli_query z użyciem instrukcji SQL UPDATE służy do modyfikacji danych w bazie danych. Funkcja mysqli_query umożliwia wykonywanie zapytań SQL na połączeniu z bazą danych reprezentowanym przez zmienną $db. Instrukcja UPDATE jest stosowana do aktualizacji istniejących rekordów w tabeli w bazie danych. Przykładowo, jeśli chcesz zaktualizować pole nazwa w tabeli użytkownicy, możesz użyć polecenia UPDATE users SET name='NowaNazwa' WHERE id=1. To podejście umożliwia dynamiczne zarządzanie danymi, co jest kluczowe w aplikacjach internetowych wymagających bieżącej aktualizacji informacji. W praktyce należy pamiętać o dobrych praktykach, takich jak walidacja danych wejściowych i zabezpieczenie przed atakami SQL injection, np. poprzez stosowanie przygotowanych zapytań. Aktualizowanie danych w bazie to jedna z podstawowych operacji CRUD (Create Read Update Delete), które są fundamentem zarządzania danymi w większości aplikacji obsługujących bazy danych. Poprawne użycie tej funkcji wymaga zrozumienia struktury SQL i znajomości specyfiki używanego systemu zarządzania bazą danych.

Pytanie 28

Na zakończenie dnia w systemie zarządzania magazynem sklepu spożywczego generowany jest raport, który przedstawia produkty oraz ich dostawców, dla których ilość na stanie jest mniejsza niż 10 sztuk. Do stworzenia tego raportu zastosowano kwerendę

A. INSERT INTO
B. CHECK TABLE
C. UPDATE
D. SELECT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'SELECT' jest poprawna, ponieważ to polecenie służy do pobierania danych z bazy danych. Kwerenda SELECT umożliwia zdefiniowanie, jakie kolumny oraz z jakich tabel chcemy wyświetlić. W kontekście raportu dla sklepu spożywczego, który wyświetla produkty z ich dostawcami, gdzie stan magazynowy jest mniejszy niż 10 sztuk, kwerenda SELECT pozwoli na precyzyjne określenie kryteriów wyszukiwania, takich jak nazwa produktu, nazwa dostawcy oraz warunek dotyczący stanu magazynowego. Przykładowa kwerenda mogłaby wyglądać następująco: 'SELECT product_name, supplier_name FROM inventory WHERE stock < 10'. W praktyce, stosowanie kwerend SELECT w raportach umożliwia monitorowanie stanów magazynowych, co jest kluczowe dla efektywnego zarządzania zapasami oraz podejmowania decyzji o zamówieniach. Takie podejście jest zgodne z dobrymi praktykami w zarządzaniu danymi w sklepach detalicznych, gdzie ciągłe monitorowanie stanu magazynowego jest kluczowe dla utrzymania płynności sprzedaży i zadowolenia klientów.

Pytanie 29

Które wartości będą przechowywane w zmiennych po wykonaniu przedstawionej pętli języka PHP?

$i = 20;    $a = 0;
while($i) {
  $a += 2;
  $i--;
}
A. a = 40, i = 0
B. a = 0, i = 20
C. a = 40, i = 20
D. a = 20, i = 20

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest poprawna, ponieważ zrozumienie jak działa pętla w języku PHP jest kluczowe dla efektywnej pracy z tym językiem. W tym przypadku mamy do czynienia z pętlą, która zaczyna się od wartości i = 20 i w każdej iteracji zmniejsza wartość i o 1, aż dojdzie do 0, kończąc pętlę. Zmienna 'a' jest zwiększana o 2 w każdej iteracji, co daje nam finalną wartość a = 40 po 20 iteracjach. To jest kluczowe dla zrozumienia, jak zmienne są aktualizowane i przechowywane w pętli PHP. Przykład ten pokazuje, jak można wykorzystać pętle do wykonywania powtarzalnych operacji na danych, co jest podstawowym elementem programowania. Pamiętaj, że zrozumienie, jak działa pętla, jest kluczowe do tworzenia efektywnych i wydajnych programów, nie tylko w PHP, ale w każdym języku programowania.

Pytanie 30

Przedstawiony algorytm umożliwia wyliczenie

Ilustracja do pytania
A. reszty z dzielenia kolejnych liczb a przez liczbę n.
B. najmniejszego wspólnego dzielnika dla n kolejnych liczb a.
C. średniej arytmetycznej n liczb a wprowadzonych przez użytkownika.
D. średniej geometrycznej n liczb a wprowadzonych przez użytkownika.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Algorytm z diagramu realizuje dokładnie klasyczny wzór na średnią arytmetyczną. Najpierw wczytywana jest liczba n – ile wartości użytkownik poda. Potem zmienna „Wynik” jest zerowana, a zmienna sterująca pętlą i ustawiana na 0. Następnie działa pętla z warunkiem i < n: w każdej iteracji program wczytuje kolejną liczbę a, dodaje ją do zmiennej Wynik (czyli de facto sumuje wszystkie podane liczby), a licznik i zwiększa o 1. Gdy i przestaje być mniejsze od n, pętla się kończy i dopiero wtedy wykonywana jest operacja Wynik = Wynik / n. To jest dokładnie to, co robi wzór: średnia = (a1 + a2 + … + an) / n. Z praktycznego punktu widzenia taki algorytm to absolutna podstawa w programowaniu, szczególnie przy pracy z danymi wejściowymi: wynikami pomiarów, ocenami uczniów, czasami odpowiedzi serwera itp. W wielu językach programowania (C, Java, JavaScript, PHP) napisanie tego w kodzie sprowadza się do jednej pętli for lub while, sumowania zmiennej i jednego dzielenia na końcu. Dobrą praktyką jest, żeby dzielenie wykonywać dopiero po zsumowaniu wszystkich elementów, dokładnie tak jak na diagramie, a nie w każdej iteracji, bo to ogranicza błędy zaokrągleń i jest po prostu wydajniejsze obliczeniowo. W aplikacjach webowych ten schemat pojawia się np. przy liczeniu średniej oceny produktu z wielu głosów użytkowników, średniego czasu odpowiedzi API albo średniego czasu spędzonego na stronie. Moim zdaniem to jedno z kluczowych ćwiczeń na zrozumienie pętli i zmiennych pomocniczych, bo łączy matematykę z bardzo praktyczną logiką algorytmiczną.

Pytanie 31

Funkcja phpinfo() umożliwia:

A. analizowanie kodu PHP pod kątem błędów
B. inicjowanie skryptu w języku PHP
C. sprawdzanie wartości zmiennych wykorzystanych w skrypcie PHP
D. uzyskanie informacji o środowisku pracy serwera obsługującego PHP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja phpinfo() jest kluczowym narzędziem w ekosystemie PHP, które dostarcza szczegółowych informacji o konfiguracji środowiska, w którym działa PHP. Użycie tej funkcji pozwala deweloperom na uzyskanie danych takich jak wersja PHP, zainstalowane rozszerzenia, ustawienia konfiguracyjne, oraz dane o systemie operacyjnym. Przykładowo, deweloper może wykorzystać phpinfo() do szybkiego sprawdzenia, czy potrzebne rozszerzenie, takie jak GD lub cURL, jest zainstalowane na serwerze. Pozwoli to uniknąć problemów związanych z brakującymi funkcjami w kodzie. Ponadto, funkcja ta jest także pomocna w procesach rozwiązywania problemów, ponieważ umożliwia natychmiastowy wgląd w kluczowe zmienne konfiguracyjne, co jest zgodne z najlepszymi praktykami w zakresie zarządzania środowiskami aplikacji webowych. Warto jednak pamiętać, że phpinfo() powinno być używane ostrożnie i tylko w środowisku deweloperskim, aby nie ujawniać danych konfiguracyjnych w produkcji.

Pytanie 32

Komunikat błędu generowany przez walidator HTML może wskazywać na

A. niezgodną ilość znaczników <p> otwartych i zamkniętych
B. brak zamknięcia znaczników zagnieżdżonych wewnątrz znacznika <p> przed jego zakończeniem
C. brak zamknięcia znacznika <p>
D. zamknięciu znacznika <p>, mimo że wcześniej nie był on otwarty

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wygląda na to, że w Twoim kodzie użyłeś znacznika <p>, ale zapomniałeś zamknąć niektóre zagnieżdżone w nim znaczniki, jak np. <a>. W HTML każda otwarta struktura musi być zamknięta zanim zamkniesz wyższy znacznik. Jak tego nie zrobisz, przeglądarki mogą źle interpretować Twój kod, co czasem prowadzi do problemów z wyświetlaniem strony. Więc pamiętaj, aby przed końcowymi znacznikami sprawdzić, czy wszystko jest zamknięte tak, jak powinno!

Pytanie 33

Podane w ramce polecenie SQL nadaje prawo SELECT

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla użytkownika 'root' na serwerze sprzedawca.
B. do wszystkich tabel w bazie hurtownia.
C. do wszystkich pól w tabeli hurtownia.
D. dla użytkownika 'root' na serwerze localhost.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie wychwyciłeś najważniejszy element składni: zapis hurtownia.* po słowie ON oznacza całą bazę danych o nazwie hurtownia, a nie pojedynczą tabelę. W składni GRANT w MySQL i innych systemach bazodanowych mamy kilka poziomów nadawania uprawnień: można nadać uprawnienia do całej bazy (database), do konkretnej tabeli, a nawet do pojedynczych kolumn. Kluczowe jest to, co znajduje się po słowie ON. Jeżeli podamy nazwa_bazy.* – tak jak tutaj – to uprawnienie SELECT dotyczy wszystkich tabel w tej bazie danych. Gdyby chodziło o jedną tabelę, składnia wyglądałaby np. GRANT SELECT ON hurtownia.zamowienia TO 'sprzedawca'@'localhost'; i wtedy prawo dotyczyłoby wyłącznie tabeli zamowienia. W tym poleceniu dodatkowo jasno określony jest użytkownik: 'sprzedawca'@'localhost'. W MySQL użytkownik jest identyfikowany parą nazwa_użytkownika@host, więc nie jest to ani root, ani żaden inny login, tylko konkretny użytkownik o nazwie sprzedawca, który łączy się z serwera localhost. To jest typowy scenariusz np. dla aplikacji sprzedażowej instalowanej na tym samym serwerze co baza. Taki użytkownik często dostaje tylko SELECT do bazy hurtownia, żeby mógł odczytywać dane (np. listę produktów, stany magazynowe, historię zamówień), ale nie miał uprawnień do modyfikacji struktury bazy czy kasowania rekordów. Moim zdaniem jest to bardzo dobra praktyka bezpieczeństwa: tworzy się osobnych użytkowników o wąskim zakresie uprawnień zamiast wszędzie używać konta root. W realnych projektach webowych, np. w PHP czy innych językach backendowych, w pliku konfiguracyjnym aplikacji podaje się właśnie takiego technicznego użytkownika, który ma GRANT SELECT (czasem też INSERT/UPDATE) tylko na jedną, konkretną bazę. Dzięki temu nawet jeśli aplikacja zostanie zhakowana, atakujący ma dużo mniejsze pole do popisu, bo nie dysponuje pełnymi uprawnieniami administracyjnymi. Dobrze też zapamiętać, że GRANT SELECT nie daje prawa do tworzenia nowych tabel ani zmiany struktury – to są osobne uprawnienia (CREATE, ALTER, DROP). Tutaj mówimy wyłącznie o możliwości wykonywania zapytań odczytujących dane ze wszystkich tabel w bazie hurtownia, co w praktyce oznacza, że użytkownik sprzedawca może spokojnie robić SELECT * FROM jakakolwiek_tabela; pod warunkiem, że ta tabela znajduje się właśnie w tej bazie.

Pytanie 34

Warunek zapisany w języku PHP wypisze liczbę, gdy

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. jest ona dodatnia.
B. jest ona liczbą pierwszą.
C. wynik dzielenia liczby przez 2 jest równy 0.
D. jest ona parzysta.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest poprawna. Warunek w języku PHP 'if($liczba % 2 == 0)' sprawdza faktycznie, czy dana liczba jest parzysta. Jak dobrze zauważyłeś, reszta z dzielenia liczby parzystej przez 2 jest zawsze równa 0. Jest to bezpośrednie odzwierciedlenie definicji liczby parzystej, która mówi, że jest to liczba, którą można podzielić przez 2 bez reszty. Dlatego warunek ten jest powszechnie stosowany w programowaniu do sprawdzania parzystości liczby. W praktyce, może on być wykorzystany np. do filtrowania danych, gdzie chcemy wykluczyć liczby nieparzyste albo też do różnego rodzaju operacji na tablicach, gdzie operacje wykonujemy tylko dla indeksów parzystych. Pamiętaj jednak, że ten warunek nie sprawdzi, czy liczba jest dodatnia, ujemna czy pierwsza. Do tego potrzebne będą inne warunki i operacje.

Pytanie 35

Używa się zapytania z klauzulą JOIN, aby

A. otrzymać wynik tylko z jednej tabeli
B. określić klucz obcy dla tabeli
C. wykonać funkcję agregującą
D. uzyskać dane z dwóch tabel, które są ze sobą powiązane

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie z klauzulą JOIN jest kluczowym narzędziem w języku SQL, które umożliwia łączenie danych z dwóch lub więcej tabel na podstawie relacji między nimi. Używając JOIN, możemy uzyskać bardziej złożone i użyteczne zestawienia danych, które nie byłyby możliwe do uzyskania, gdybyśmy korzystali tylko z pojedynczej tabeli. Na przykład, jeśli mamy tabelę klientów oraz tabelę zamówień, możemy z łatwością połączyć je, aby uzyskać informacje o tym, jakie zamówienia złożył dany klient. Przykładowe zapytanie może wyglądać tak: "SELECT klienci.imie, zamowienia.data FROM klienci JOIN zamowienia ON klienci.id = zamowienia.klient_id;" W takim przypadku wykorzystanie JOIN pozwala na integrowanie danych z obu tabel w jedną spójną odpowiedź. Takie podejście jest szeroko stosowane w branży, ponieważ standardy relacyjnych baz danych wymagają efektywnej organizacji i analizy danych, a JOIN jest jednym z podstawowych mechanizmów umożliwiających realizację takich zadań.

Pytanie 36

Z tabel Artykuly oraz Autorzy należy wyodrębnić tylko nazwiska autorów oraz tytuły ich artykułów, które uzyskały ocenę 5. Odpowiednia kwerenda do pozyskania tych informacji ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
B. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
D. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź SELECT nazwisko tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5; jest poprawna ponieważ precyzyjnie wykorzystuje konstrukcję SQL do połączenia tabel Autorzy i Artykuly. JOIN łączy te tabele na podstawie klucza obcego autorzy_id w tabeli Artykuly który odpowiada kluczowi głównemu id w tabeli Autorzy. To pozwala na uzyskanie pełnej informacji o autorach i ich artykułach. Klauzula WHERE ocena = 5 filtruje wyniki i zwraca jedynie te które mają ocenę równą 5. Jest to standardowe podejście w SQL do pobierania danych na podstawie określonych kryteriów co jest bardzo efektywne w zarządzaniu dużymi zbiorami danych. Praktyczne zastosowanie tego typu kwerend obejmuje na przykład systemy rekomendacji artykułów gdzie tylko dobrze ocenione treści są pokazywane użytkownikom. Stosowanie takich kwerend zgodnie z najlepszymi praktykami pozwala na utrzymanie wydajności bazy danych oraz na zapewnienie integralności danych co jest kluczowe w profesjonalnym zarządzaniu bazami danych.

Pytanie 37

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Przenikanie zdjęć.
C. Zwiększenie ostrości zdjęcia.
D. Zmiana jasności zdjęć.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 38

W języku PHP chcąc wyświetlić ciąg n znaków @, należy użyć funkcji

A. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki(@, $n);

B. function znaki($i){
   for($i = 0; $i < $n; $i++)
     print("@");
}
znaki($i);

C. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki($n);

D. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki("@", $n);
A. B.
B. C.
C. D.
D. A.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właśnie wybrałeś odpowiedź D i jest to absolutnie poprawne. W języku PHP, funkcja, o której mówimy, jest standardowym sposobem wyświetlania ciągu n znaków. Działa to poprzez użycie dwóch argumentów: znaku, który ma być wyświetlony, i liczby n, która określa, ile razy ten znak powinien zostać wyświetlony. W tym przypadku, użyto znaku '@'. Następnie, w pętli for, zmienna $i jest inkrementowana od 0 do n-1, a funkcja print wyświetla znak. To jest dobrym przykładem praktycznego zastosowania pętli w PHP, które są niezwykle przydatne w wielu różnych scenariuszach, od generowania list do manipulowania danymi. Pamiętaj, że zrozumienie, jak działa ta konkretna funkcja, może pomóc Ci lepiej zrozumieć, jak działają pętle i funkcje print w PHP.

Pytanie 39

W języku C do przedstawiania liczb zmiennoprzecinkowych używa się typu

A. bool
B. double
C. int
D. char

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ `double` w języku C jest przeznaczony do reprezentacji liczb zmiennoprzecinkowych, co oznacza, że może on przechowywać zarówno liczby całkowite, jak i liczby z częścią dziesiętną. Jest on bardziej precyzyjny niż typ `float`, ponieważ zapewnia większy zakres wartości oraz dokładność, co jest kluczowe w zastosowaniach inżynieryjnych, naukowych oraz w obliczeniach finansowych. Przykładowo, w obliczeniach, które wymagają reprezentacji wartości takich jak 3.14159 (pi) lub 0.1, typ `double` pozwala na uniknięcie wielu problemów związanych z zaokrągleniami i precyzją. Standard C99 definiuje rozmiar dla typu `double` jako przynajmniej 64 bity, co oznacza, że może on przechowywać liczby o bardzo dużych lub bardzo małych wartościach, co jest istotne w kontekście obliczeń numerycznych. W praktyce programiści często używają `double` do obliczeń naukowych, a także w grafice komputerowej, gdzie precyzyjne ustalenie położenia punktów w przestrzeni jest niezbędne.

Pytanie 40

W dokumencie HTML zdefiniowano pewne elementy w klasie o nazwie "nomargin". W celu przeprowadzenia operacji na tych elementach za pomocą języka JavaScript, można wykorzystać funkcję

A. getElementsByTagName("nomargin")
B. getElementById("nomargin")
C. getElementsByClassName("nomargin")
D. getElement("nomargin")

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja getElementsByClassName("nomargin") jest poprawnym sposobem na uzyskanie dostępu do elementów HTML przypisanych do klasy o nazwie 'nomargin'. Jest to metoda dostępna w obiekcie document, która zwraca kolekcję wszystkich elementów, które mają wskazaną klasę. W przeciwieństwie do getElementById, która zwraca pojedynczy element o podanym identyfikatorze, getElementsByClassName zwraca listę, co jest szczególnie przydatne, gdy mamy do czynienia z wieloma elementami oznaczonymi tą samą klasą. Przykładowo, jeśli mamy kilka divów z klasą 'nomargin', możemy w łatwy sposób iterować przez wszystkie z nich i stosować różne operacje, takie jak zmiana stylów czy dodawanie zdarzeń. Używanie tej metody jest zgodne z najlepszymi praktykami, ponieważ pozwala na selekcję grupy elementów, co z kolei wspiera modularność i łatwość zarządzania kodem. Warto również pamiętać, że w przypadku użycia tej metody, zmiany w DOM będą miały wpływ na wszystkie elementy, co może być przydatne w złożonych interfejsach użytkownika.