Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Zadanie przedstawione w ramce polecenia SQL ma na celu

Ilustracja do pytania
A. ustawić wartość pola Uczen na 1
B. ustawić wartość kolumny id_klasy na 1 dla wszystkich wpisów w tabeli Uczen
C. powiększyć wartość pola Uczen o jeden
D. zwiększyć wartość kolumny id_klasy o jeden dla wszystkich wpisów tabeli Uczen
Analizując podane odpowiedzi możemy dostrzec kilka błędnych koncepcji które warto omówić Zrozumienie działania polecenia SQL jest kluczowe dla jego poprawnego zastosowania Pierwsza odpowiedź sugeruje że polecenie ustawia wartość na 1 dla pola Uczen co jest błędne ponieważ nie ma w nim żadnej instrukcji wskazującej na ustawienie wartości na określoną liczbę zatem nie odnosi się do pola Uczen lecz do kolumny id_klasy Druga odpowiedź zakłada że wartość pola Uczen zostanie zwiększona o jeden co również jest błędne ponieważ w poleceniu SQL nie występuje żadne odniesienie do pola Uczen lecz jedynie do id_klasy Poprawne zrozumienie struktury tabeli oraz dokładne czytanie polecenia jest tu kluczowe Trzecia odpowiedź sugeruje że wszystkie wartości id_klasy zostaną ustawione na 1 co jest mylne ponieważ polecenie wyraźnie wskazuje na operację zwiększania wartości a nie ich ustawiania na stałą liczbę Typowe błędy myślowe wynikają tu z braku dokładnej analizy składni SQL oraz niepełnego zrozumienia celu operacji UPDATE który często stosuje się do manipulacji danymi w sposób zautomatyzowany i kontrolowany Uważna analiza i testowanie poleceń SQL w środowisku testowym przed wdrożeniem w środowisku produkcyjnym jest kluczowym elementem dobrych praktyk branżowych Pozwoli to uniknąć potencjalnych błędów oraz zapewnić poprawne działanie aplikacji zarządzających danymi

Pytanie 2

Co oznacza polecenie:

UPDATE artykuly SET cena = cena * 0.7 WHERE kod = 2;
?
A. dodaje do tabeli nowe pola cena i kod
B. dodaje pole cena z atrybutem kod
C. obniża cenę o 30% dla WSZYSTKICH artykułów
D. obniża wartość pola cena dla rekordów, gdzie kod = 2
Polecenie UPDATE artykuly SET cena = cena * 0.7 WHERE kod = 2; mnoży dotychczasową cenę przez 0,7 (czyli obniża ją o 30%), ale TYLKO dla rekordów, gdzie kod = 2 - warunek WHERE ogranicza zmianę do wybranych wierszy. Dlatego obniża cenę dla rekordów z kod = 2.

Pytanie 3

W języku JavaScript należy sformułować warunek, który będzie prawdziwy, gdy zmienna a będzie jakąkolwiek liczbą naturalną dodatnią (również nie zerową) lub gdy zmienna b będzie liczbą mieszczącą się w przedziale od 10 do 100, włącznie. Wyrażenie logiczne zastosowane w tym warunku powinno mieć formę

A. (a>0) || ((b>=10) || (b<=100))
B. (a>0) && ((b>=10) || (b<=100))
C. (a>0) && ((b>=10) && (b<=100))
D. (a>0) || ((b>=10) && (b<=100))
Analizując inne odpowiedzi, widać, że zawierają one różne błędne koncepcje w interpretacji warunków logicznych. W przypadku (a>0) && ((b>=10) || (b<=100)), użycie operatora || w drugiej części powoduje, że warunek dla b zawsze będzie spełniony, niezależnie od wartości b, co jest niezgodne z założeniem, że b powinno znajdować się w przedziale od 10 do 100. Takie błędne zrozumienie operatorów logicznych prowadzi do niepoprawnych interpretacji. W odpowiedzi (a>0) || ((b>=10) || (b<=100)), ponownie użycie operatora || w drugiej części sprawia, że warunek b również nie działa zgodnie z założeniem, ponieważ b może być każdą liczbą, co nie spełnia wymogu ograniczenia do przedziału 10-100. Kolejna odpowiedź, (a>0) && ((b>=10) && (b<=100)), wprowadza błędny wniosek, że obie części muszą być spełnione jednocześnie. Takie podejście jest zrozumiałe, ale nie odpowiada na pierwotne założenie, że wystarczy, aby jeden z warunków był spełniony. Rozumienie logiki warunkowej w programowaniu jest kluczowe dla tworzenia efektywnych algorytmów i unikania problemów z bezpieczeństwem danych. Dlatego ważne jest, aby dokładnie analizować składnię i semantykę wyrażeń logicznych, co przekłada się na jakość kodu i jego łatwość w utrzymaniu.

Pytanie 4

Zdarzenie JavaScript onmousedown występuje, gdy

A. wskaźnik myszy komputerowej wyszedł poza obręb obiektu.
B. został naciśnięty dwa razy klawisz myszy komputerowej.
C. wskaźnik myszy komputerowej znalazł się w obrębie obiektu.
D. został wciśnięty dowolny klawisz myszy komputerowej na danym elemencie.
Poprawnie – zdarzenie onmousedown w JavaScript wywołuje się dokładnie w momencie, gdy użytkownik naciska dowolny klawisz myszy na danym elemencie. Nie ma znaczenia, czy to jest lewy, prawy czy środkowy przycisk, samo fizyczne wciśnięcie przycisku nad elementem powoduje uruchomienie tego eventu. Z punktu widzenia przeglądarki jest to bardzo wczesny etap interakcji myszą: najpierw pojawia się onmousedown, później ewentualnie onmouseup, a dopiero z kombinacji tych dwóch czasem wynika onclick. Moim zdaniem warto to sobie dobrze poukładać, bo w praktyce front-endowca to jedna z podstawowych rzeczy przy obsłudze interfejsu. onmousedown jest używany wszędzie tam, gdzie chcesz zareagować natychmiast po naciśnięciu przycisku, a nie dopiero po jego puszczeniu. Klasyczny przykład to przeciąganie elementów (drag and drop): w onmousedown zapamiętujesz, że użytkownik „złapał” element, podpinasz nasłuch na mousemove, a w mouseup kończysz przeciąganie. Innym typowym zastosowaniem są własne przyciski i kontrolki, gdzie chcesz np. zmienić styl od razu po wciśnięciu (wrażenie wciśniętego guzika), albo rozpocząć jakąś akcję ciągłą, np. przytrzymanie przycisku powoduje powiększanie mapy czy przewijanie listy. W nowoczesnym JavaScript raczej używa się addEventListener("mousedown", handler) zamiast atrybutu onmousedown w HTML, bo to zgodne z dobrymi praktykami separacji logiki od struktury (HTML + JS osobno). Sam event obiektu MouseEvent przekazuje też szczegóły, np. który przycisk został naciśnięty (właściwość button), pozycję kursora, stan klawiszy modyfikujących itd. Dobrze wiedzieć, że onmousedown nie jest powiązany z wyjściem kursora poza element ani z podwójnym kliknięciem – od tego są inne zdarzenia, co często myli początkujących.

Pytanie 5

Kod CSS można włączyć do dokumentu HTML, używając znacznika

A. <body>
B. <head>
C. <style>
D. <meta>
Odpowiedź <style> jest prawidłowa, ponieważ ten znacznik HTML jest dedykowany do osadzania kodu CSS wewnątrz dokumentu HTML. Znacznik <style> powinien być umieszczony w sekcji <head> dokumentu, co umożliwia przeglądarkom interpretację stylów przed renderowaniem treści strony. Dzięki temu można definiować różne reguły CSS, które modyfikują wygląd elementów HTML, co jest kluczowe w tworzeniu estetycznych i funkcjonalnych stron internetowych. Przykładowo, można użyć <style> do określenia koloru tła, rozmiaru czcionki czy marginesów. Ważne jest, aby stosować zasady dotyczące kaskadowości, ponieważ style zdefiniowane w <style> mają priorytet nad stylem zewnętrznym, jeśli są tak samo specyficzne. Dodatkowo, korzystanie z <style> jest zgodne z zasadami dobrych praktyk, takich jak unikanie nadmiarowego ładowania zewnętrznych plików CSS w przypadku prostych projekty, co przyspiesza czas ładowania strony.

Pytanie 6

Jak wykonanie zapytania SQL przedstawionego poniżej wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char(9);
A. Utworzy kolumnę plec o typie znakowym o zmiennej długości 9.
B. Zmieni typ danych kolumny plec na znakowy o stałej długości 9.
C. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9.
D. Utworzy kolumnę plec o typie znakowym o stałej długości 9.
Odpowiedź jest poprawna, ponieważ polecenie ALTER TABLE zmienia istniejącą kolumnę w tabeli pracownicy. W szczególności, polecenie MODIFY plec char(9) modyfikuje typ danych kolumny plec na znakowy o stałej długości 9. Oznacza to, że każda wartość przechowywana w tej kolumnie będzie miała dokładnie 9 znaków (wypełnionych np. spacjami, jeśli wartość będzie krótsza). W praktyce zapewnia to jednolitą długość dla przechowywanych danych, co może być korzystne w przypadku, gdy wymagane jest zachowanie spójności długości, na przykład przy przechowywaniu kodów pocztowych lub identyfikatorów. Standardy projektowania baz danych zalecają używanie odpowiednich typów danych, aby zminimalizować przestrzeń dyskową oraz przyspieszyć operacje na danych. Warto zauważyć, że w przypadku kolumny char(9) nie można wprowadzić wartości dłuższej niż 9 znaków, co zapobiega niezgodnościom danych.

Pytanie 7

Jakim sposobem można w języku PHP dokumentować blok komentarza składający się z wielu linii?

A. /* */
B. #
C. //
D. <!-- -->
Komentarze w języku PHP mogą być tworzone na kilka sposobów, jednak jedynie sposób wykorzystujący /* */ pozwala na zapis bloku komentarza rozciągającego się na wiele linii. Jest to szczególnie użyteczne w sytuacjach, gdy programista chce umieścić obszerniejsze wyjaśnienia dotyczące kodu, które nie ograniczają się do jednej linii. Przykładem zastosowania może być opis skomplikowanej funkcji lub sekcji kodu, gdzie istotne jest podanie kontekstu lub dodatkowych informacji. Na przykład:

/*
* Funkcja obliczająca sumę dwóch liczb.
* Przyjmuje dwa argumenty: a oraz b.
*/
function suma($a, $b) {
return $a + $b;
}

Stosowanie bloku komentarza zgodnie z tym stylem jest zgodne z najlepszymi praktykami programowania, gdyż poprawia czytelność kodu oraz ułatwia jego późniejsze utrzymanie. Z punktu widzenia standardów kodowania, szczególnie w większych projektach, dobrze opisane fragmenty kodu mogą zminimalizować ryzyko błędów oraz ułatwić pracę zespołową.

Pytanie 8

Aby aplikacja PHP mogła nawiązać połączenie z bazą danych, w pierwszej kolejności należy wywołać funkcję:

A.
mysqli_connect
B.
mysqli_close
C.
mysqli_select_db
D.
mysqli_create_db
Pracę z bazą danych w PHP zaczyna się od otwarcia połączenia funkcją mysqli_connect. Przyjmuje ona adres serwera, nazwę użytkownika, hasło i zwykle nazwę bazy, a zwraca uchwyt połączenia używany w dalszych zapytaniach. Dopiero gdy połączenie działa, można wybierać bazę, wykonywać zapytania, a na końcu zamknąć je funkcją mysqli_close. Dlatego pierwszym wywołaniem jest mysqli_connect.

Pytanie 9

Tabele Osoby oraz Zainteresowania są połączone relacją jeden do wielu. Jakie zapytanie SQL należy użyć, aby w oparciu o tę relację poprawnie wyświetlić imiona i odpowiadające im hobby?

Ilustracja do pytania
A. SELECT imie, hobby FROM Osoby.Zainteresowania_id = Zainteresowania.id FROM Osoby, Zainteresowania;
B. SELECT imie, hobby FROM Osoby JOIN Zainteresowania ON Osoby.Zainteresowania_id = Zainteresowania.id;
C. SELECT imie, hobby FROM Osoby, Zainteresowania WHERE Osoby.id = Zainteresowania.id;
D. SELECT imie, hobby FROM Osoby, Zainteresowania;
Odpowiedź numer 1 jest poprawna, ponieważ wykorzystuje składnię JOIN, która jest standardowym sposobem łączenia dwóch tabel w SQL. W tym przypadku tabele Osoby i Zainteresowania są połączone za pomocą klucza obcego Osoby.Zainteresowania_id, który odwołuje się do klucza głównego w tabeli Zainteresowania. Dzięki użyciu klauzuli ON możemy precyzyjnie określić warunek łączenia tych tabel. Takie podejście jest zgodne z dobrymi praktykami projektowania baz danych, ponieważ pozwala na efektywne zarządzanie relacjami między danymi. Stosowanie JOIN umożliwia również ograniczenie wyniku do konkretnych wierszy, co zwiększa wydajność zapytań. Praktyczne zastosowanie tego rodzaju zapytań obejmuje różne systemy zarządzania danymi, gdzie konieczne jest pobieranie powiązanych informacji z wielu źródeł danych. Warto również pamiętać, że JOIN-y są ustandaryzowanym elementem języka SQL, co gwarantuje ich poprawne działanie w różnych systemach bazodanowych, takich jak MySQL, PostgreSQL czy Oracle SQL. W kontekście relacyjnych baz danych stanowią one fundament w optymalizacji i organizacji danych, co jest kluczowe dla profesjonalistów z branży IT.

Pytanie 10

Funkcja colspan umożliwia łączenie komórek tabeli w układzie poziomym, natomiast rowspan w układzie pionowym. Która z poniższych tabel odpowiada fragmentowi kodu w języku HTML?

Ilustracja do pytania
A. Odpowiedź B
B. Odpowiedź A
C. Odpowiedź C
D. Odpowiedź D
Rozumienie działania atrybutów rowspan i colspan jest kluczowe dla prawidłowego tworzenia struktur tabelarycznych w HTML. Błędne odpowiedzi wynikają często z nieporozumienia dotyczącego sposobu, w jaki te atrybuty kształtują układ tabeli. Rowspan, jak sama nazwa wskazuje, łączy komórki w pionie, czyli wzdłuż kolumny, co może być źródłem zamieszania dla osób przyzwyczajonych do myślenia bardziej w kategoriach kolumn niż wierszy. Przy błędnym przypisaniu rowspan można oczekiwać komórek rozciągających się w poziomie, co jest funkcją colspan. Typowym błędem jest także założenie, że rowspan i colspan są zamienne, podczas gdy w rzeczywistości służą do różnych celów i mają różne zastosowania. Ważne jest, aby rozumieć, że rowspan zwiększa wysokość komórki poprzez zajęcie miejsca w kolejnych wierszach, co jest istotne przy projektowaniu układów tabel, które muszą być zarówno funkcjonalne, jak i estetycznie poprawne. Prawidłowe użycie rowspan i colspan zgodnie z zasadami semantyki HTML zwiększa dostępność i użyteczność stron, co jest zgodne z najlepszymi praktykami w branży.

Pytanie 11

W MySQL nadanie roli DBManager użytkownikowi pozwala na uzyskanie praw umożliwiających

A. wszystkie działania na bazach danych oraz użytkownikach serwera
B. wszelkie operacje na bazach danych serwera
C. nadzorowanie serwera
D. tworzenie kont użytkowników na serwerze oraz przypisywanie im haseł
Odpowiedź 'wszelkie operacje na bazach danych serwera' jest prawidłowa, ponieważ rola DBManager w MySQL przyznaje użytkownikowi pełne uprawnienia do zarządzania bazami danych. Obejmuje to możliwość tworzenia, modyfikowania i usuwania baz danych oraz tabel, a także wykonywania zapytań w tych bazach. Rola ta jest użyteczna w kontekście administracji bazami danych, gdzie administratorzy muszą mieć dostęp do wszystkich funkcji związanych z danymi. Przykładowo, administrator może wykorzystać tę rolę do optymalizacji wydajności baz danych poprzez indeksowanie tabel lub do tworzenia kopii zapasowych. Z perspektywy dobrych praktyk, nadawanie ról z odpowiednimi uprawnieniami powinno być przeprowadzane z rozwagą, aby zminimalizować ryzyko nieautoryzowanego dostępu i zapewnić integralność danych. Warto również pamiętać, że w MySQL można zastosować szczegółowe uprawnienia dla poszczególnych użytkowników, co pozwala na dostosowanie dostępu do konkretnych zadań w organizacji.

Pytanie 12

Aby nadać styl CSS bezpośrednio pojedynczemu elementowi HTML (styl śródliniowy), należy użyć atrybutu:

A.
css
B.
style
C.
id
D.
class
Styl śródliniowy (inline) zapisuje się w atrybucie style danego znacznika, na przykład <p style="color: red">. Reguły podane w tym atrybucie dotyczą wyłącznie tego jednego elementu i mają najwyższą specyficzność. Stosuje się go oszczędnie, do pojedynczych wyjątków, bo miesza treść ze stylem. Dlatego do ostylowania jednego elementu wprost służy atrybut style.

Pytanie 13

W języku JavaScript, w celu przekształcenia specjalnie przygotowanego tekstu w tablicę, można wykorzystać metodę

A. trim()
B. replace()
C. split()
D. slice()
Metoda split() w języku JavaScript jest niezwykle użyteczna do dzielenia łańcucha tekstowego na elementy tablicy na podstawie określonego separatora. Gdy weźmiemy pod uwagę kontekst przetwarzania tekstu, na przykład możemy mieć ciąg znaków reprezentujący listę imion oddzielonych przecinkami, taki jak "Jan,Kasia,Piotr". Używając funkcji split(',', 2), możemy uzyskać tablicę ['Jan', 'Kasia'], co pozwala nam na łatwe manipulowanie i przetwarzanie tych danych. Metoda ta jest zgodna z zasadami programowania funkcyjnego, umożliwiając praktyczne podejście do przetwarzania danych. Warto również zauważyć, że split() może być wykorzystywana w różnorodnych kontekstach, takich jak praca z danymi z formularzy, analizowanie tekstów czy rozdzielanie argumentów w funkcjach. Stosując tę metodę, programiści powinni pamiętać o dobrych praktykach, takich jak walidacja danych wejściowych oraz zarządzanie sytuacjami, gdy ciąg wejściowy jest pusty lub nie zawiera separatora, co można osiągnąć poprzez dodatkowe sprawdzenia. W kontekście nowoczesnych aplikacji webowych, efektywne zarządzanie danymi tekstowymi jest kluczowe dla optymalizacji wydajności oraz poprawy UX, co czyni metodę split() fundamentalnym narzędziem w arsenale programisty JavaScript.

Pytanie 14

Które stwierdzenie dotyczy grafiki wektorowej?

A. może być zapisana w formacie JPG lub PNG
B. to obraz w postaci siatki kolorowanych pikseli na ekranie
C. obraz jest opisany figurami geometrycznymi w układzie współrzędnych
D. służy do zapisu cyfrowych fotografii
Grafika wektorowa opisuje obraz figurami geometrycznymi (punktami, liniami, krzywymi) w układzie współrzędnych, dzięki czemu skaluje się bez utraty jakości. Dlatego dotyczy jej stwierdzenie o opisie figurami geometrycznymi.

Pytanie 15

W jakim formacie będzie wyświetlana data po uruchomieniu przedstawionego kodu?

<?php
  echo date'l, dS F Y');
?>
A. Poniedziałek, 10th lipca 17
B. 10, poniedziałek lipca 2017
C. Poniedziałek, 10 lipca 2017
D. Poniedziałek, 10th lipca 2017
Pierwsza z błędnych odpowiedzi sugeruje, że data zostanie wyświetlona jako 'Monday, 10 July 2017'. Problem polega na tym, że brak suffixu 'th' w przypadku dnia 10 jest niewłaściwy według standardowego angielskiego zapisu dat. W kontekście drugiej odpowiedzi, '10, Monday July 2017', należy zauważyć, że kolejność elementów jest nieprawidłowa. W angielskim zapisie dat i zgodnie z konwencjami formatowania, najpierw występuje nazwa dnia, następnie dzień miesiąca, a później miesiąc i rok. Co więcej, brak przecinka po dniu miesiąca także wpływa na poprawność tej formy. Trzecia odpowiedź, 'Monday, 10th July 17', jest błędna z powodu nieprawidłowego skrótu roku; w standardowym zapisie dat w formalnym kontekście powinno się używać pełnego roku, czyli '2017', a nie jego skrótu. Zatem wszystkie te odpowiedzi są niepoprawne, ponieważ nie spełniają standardowych zasad formatowania dat w języku angielskim, co jest kluczowe dla zachowania jasności i poprawności w komunikacji.

Pytanie 16

Pomiędzy jakimi znakami umieszcza się komentarz w kodzie PHP?

A.
<!--  -->
B.
/?  ?/
C.
<?  ?>
D.
/*  */
Komentarz blokowy (wieloliniowy) w PHP umieszcza się między /* a */ - wszystko w środku interpreter pomija, np. /* opis funkcji\n na kilka linii */. Dla pojedynczego wiersza są jeszcze // i #. Zapamiętaj: /* */ obejmuje dowolnie długi fragment, także wiele linii.

Pytanie 17

Tabele: Firmy oraz Zamówienia są ze sobą powiązane relacją jeden do wielu. Aby uzyskać tylko identyfikatory zamówień wraz z odpowiadającymi im nazwami firm dla przedsiębiorstw, których poziom wynosi 4, należy użyć polecenia

Ilustracja do pytania
A. SELECT Zamówienia.id, nazwa FROM Zamówienia JOIN Firmy ON Zamówienia.Firmy_id = Firmy.id WHERE poziom = 4
B. SELECT Zamówienia.id, nazwa FROM Zamówienia JOIN Firmy WHERE poziom = 4
C. SELECT id, nazwa FROM Zamówienia JOIN Firmy ON Zamówienia.Firmy_id = Firmy.id WHERE poziom = 4
D. SELECT Zamówienia.id, nazwa FROM Zamówienia JOIN Firmy ON Zamówienia.id = Firmy.id WHERE poziom = 4
Odpowiedź numer 2 jest prawidłowa, ponieważ wykorzystuje poprawne połączenie między tabelami Zamowienia i Firmy przy użyciu klucza obcego Firmy_id, co jest zgodne z praktykami projektowania relacyjnych baz danych. Klucz obcy w tabeli Zamowienia wskazuje na klucz główny w tabeli Firmy, co odzwierciedla relację jeden do wielu, gdzie jedna firma może mieć wiele zamówień. Właściwe stosowanie kluczy obcych nie tylko poprawia integralność danych, ale także ułatwia zrozumienie struktury danych. Właściwe użycie klauzuli JOIN z warunkiem ON pozwala na efektywne powiązanie rekordów z obu tabel. Warunek WHERE poziom = 4 pozwala na filtrowanie wyników, co jest kluczowe w analizie danych, umożliwiając wyodrębnienie tylko tych rekordów, które spełniają określone kryteria. Dzięki temu możemy uzyskać zestaw danych zawierający tylko te zamówienia, które pochodzą od firm o określonym poziomie, co jest częstym wymogiem w raportach biznesowych. Praktyczne użycie tego typu zapytań jest niezastąpione w aplikacjach analitycznych i systemach raportowania, gdzie precyzyjne filtrowanie i łączenie danych ma kluczowe znaczenie dla podejmowania decyzji biznesowych. Dbając o zgodność z najlepszymi praktykami, takie zapytania powinny być dobrze testowane i optymalizowane, aby zapewnić ich efektywność w dużych zbiorach danych.

Pytanie 18

W kodzie CSS użyto stylizacji dla elementu listy, a żadne inne reguły CSS nie zostały ustalone. To zastosowane formatowanie spowoduje, że

Ilustracja do pytania
A. kolor Maroon obejmie co drugi element listy
B. po najechaniu myszką na element listy, kolor tekstu zmieni się na Maroon
C. tekst wszystkich elementów, którym nadano id „hover”, będzie w kolorze Maroon
D. tekst wszystkich elementów listy będzie miał kolor Maroon
Odpowiedź jest poprawna, ponieważ selektor CSS li:hover odnosi się do elementów listy, które zmieniają swój styl po najechaniu kursorem. W tym przypadku zmiana dotyczy koloru tekstu, który stanie się maroon. Selektor :hover jest pseudoklasą w CSS, która odpowiada za zmiany stylu elementu, gdy użytkownik umieści nad nim kursor. Jest to powszechnie stosowana technika w projektowaniu interaktywnych i przyjaznych dla użytkownika stron internetowych, umożliwiająca na przykład wizualne podkreślenie linków lub elementów menu. Dzięki zastosowaniu takiego selektora, projektanci mogą tworzyć dynamiczne efekty, które reagują na działania użytkownika, co zwiększa atrakcyjność wizualną i funkcjonalność strony. Dobre praktyki zalecają używanie pseudoklas jak :hover do poprawy interakcji użytkownika z interfejsem, a także do zapewnienia spójności z innymi elementami strony, które mogą również reagować na najechanie kursorem. Warto także pamiętać o dostępności, zapewniając alternatywne sposoby na interakcję z elementami, np. dla urządzeń dotykowych.

Pytanie 19

Podczas przechowywania hasła użytkownika serwisu internetowego (np. bankowości online), aby chronić je przed ujawnieniem, zazwyczaj stosuje się funkcję

A. klucza.
B. mieszających.
C. abstrakcyjnych.
D. cyklometrycznych.
Użycie klucza do zabezpieczenia haseł użytkowników w systemach takich jak bankowość internetowa jest kluczowym elementem zapewnienia prywatności i bezpieczeństwa danych. Funkcje klucza, takie jak szyfrowanie, pozwalają na przekształcenie haseł w nieczytelne ciągi znaków, które są niemożliwe do odtworzenia bez odpowiedniego klucza. Przykładem jest zastosowanie algorytmów takich jak AES (Advanced Encryption Standard), które są szeroko uznawane i stosowane w branży. Dobre praktyki w zakresie zabezpieczania danych sugerują używanie silnych, losowych kluczy oraz regularne ich aktualizowanie. Ponadto, najnowsze standardy, takie jak NIST (National Institute of Standards and Technology), rekomendują stosowanie dodatkowych technik, takich jak solenie haseł, co zwiększa ich odporność na ataki. Dzięki temu, nawet w przypadku wycieku bazy danych, potencjalny atakujący napotyka na trudności w odzyskaniu oryginalnych haseł. Zrozumienie i wdrożenie funkcji klucza jest niezbędne dla każdej organizacji, która pragnie skutecznie chronić wrażliwe dane swoich użytkowników.

Pytanie 20

Jakiego języka można użyć do obsługi połączenia z bazą danych MySQL podczas tworzenia aplikacji internetowej?

A. CSS
B. XHTML
C. HTML
D. PHP
Do obsługi bazy danych MySQL w aplikacji internetowej używa się języka działającego po stronie serwera - najczęściej PHP. To w nim nawiązuje się połączenie (np. funkcją mysqli_connect lub przez PDO), wysyła zapytania SQL i przetwarza wyniki, zanim gotowa strona trafi do przeglądarki. HTML, XHTML i CSS odpowiadają wyłącznie za wygląd i strukturę strony. Dlatego do współpracy z MySQL służy PHP.

Pytanie 21

Czym jest w C++ zmienna zadeklarowana jako char zm1[10];?

A. tablicą łańcuchów
B. tablicą znaków
C. znakiem
D. liczbą
Deklaracja char zm1[10]; w C++ tworzy TABLICĘ dziesięciu znaków - ciąg char o indeksach 0-9. Tak w klasycznym C/C++ przechowuje się napisy (C-string zakończony \\0). Dlatego char zm1[10] to tablica znaków.

Pytanie 22

Zawarty blok ilustruje proces

Ilustracja do pytania
A. wykorzystania zdefiniowanej procedury lub funkcji
B. odczytu lub prezentacji danych
C. realizacji zadania w pętli
D. podjęcia decyzji
Romb w diagramach przepływu sterowania jest używany do reprezentacji podejmowania decyzji jest kluczowym elementem w programowaniu warunkowym Proces ten polega na ocenie wyrażenia logicznego które prowadzi do jednego z dwóch możliwych stanów prawda lub fałsz a następnie przepływu sterowania w kierunku odpowiedniego bloku kodu Praktyczne zastosowanie tego elementu można znaleźć w strukturach takich jak instrukcje if-else czy switch-case Stosowanie decyzji w kodzie jest niezbędne do tworzenia dynamicznych i interaktywnych aplikacji które reagują na różne sytuacje w czasie rzeczywistym Dodatkowo podejmowanie decyzji jest podstawą dla wdrażania algorytmów sztucznej inteligencji i uczenia maszynowego gdzie różne scenariusze są oceniane a odpowiednie decyzje podejmowane na podstawie wyników analizy danych W praktyce inżynierowie oprogramowania muszą zgodnie z dobrymi praktykami projektowymi dbać o to aby każda decyzja była dobrze zaprojektowana i zoptymalizowana nie tylko pod kątem poprawności logicznej ale także wydajności i czytelności kodu co ma kluczowe znaczenie dla utrzymania i rozwoju złożonych systemów informatycznych

Pytanie 23

Wskaż problem z walidacją w podanym fragmencie kodu HTML

<h6>CSS</h6>
<p>Kaskadowe arkusze stylów (<b>ang. <i>Cascading Style Sheets</b></i>)<br>to język służący... </p>
A. Znacznik zamykający /b niezgodny z zasadą zagnieżdżania
B. Znacznik br nie został poprawnie zamknięty
C. Nieznany znacznik h6
D. Znacznik br nie może występować wewnątrz znacznika p
Znacznik zamykający b niezgodny z zasadą zagnieżdżania czyli poprawna odpowiedź 1 odnosi się do zasady poprawnego zagnieżdżania znaczników HTML Zasada ta mówi że znaczniki muszą być zamykane w odwrotnej kolejności do ich otwarcia W naszym przykładzie mamy otwierający znacznik b a następnie i co oznacza że najpierw powinien być zamknięty znacznik i a potem b Tego typu błąd jest często spotykany w kodzie HTML i może prowadzić do nieoczekiwanych problemów z wyświetlaniem strony Warto pamiętać że poprawne zagnieżdżanie znaczników wpływa na czytelność i utrzymanie kodu co jest kluczowe w większych projektach HTML jest językiem opartym na strukturze drzewiastej i każda niezgodność w zagnieżdżaniu może wpłynąć na sposób przetwarzania dokumentu przez przeglądarki Dbałość o szczegóły w strukturze dokumentu HTML jest zgodna z dobrymi praktykami branżowymi i wspomaga zgodność z różnymi przeglądarkami i urządzeniami co w konsekwencji poprawia dostępność i użyteczność strony internetowej

Pytanie 24

Przedstawiona ikona funkcji edytora grafiki rastrowej o nazwie "kubełek" umożliwia

Ilustracja do pytania
A. pobranie wskazanej barwy i ustawienie jej, jako aktywnej.
B. wypełnienie zaznaczonego obszaru kolorem.
C. zmianę aktywnych kolorów.
D. zaznaczenie obszaru o takim samym kolorze.
Gratulacje, odpowiedź jest poprawna. Ikona 'kubełek farby' w edytorach grafiki rastrowej jest narzędziem umożliwiającym wypełnienie zaznaczonego obszaru wybranym kolorem. Działanie tego narzędzia jest podobne do rozlewania farby - kolor wypełnia ciągły obszar aż do napotkania krawędzi lub pikseli o innym kolorze. Ta funkcja pozwala na szybkie i efektywne kolorowanie większych powierzchni obrazu. W praktyce, jest to niezwykle przydatne narzędzie, szczególnie gdy potrzebujesz szybko zmienić tło obrazu lub wypełnić obszar jednolitym kolorem. Warto również zauważyć, że różne edytory mogą mieć dodatkowe opcje dla tego narzędzia, takie jak możliwość wyboru tolerancji (która decyduje, jak bardzo podobny kolor musi być, aby został wypełniony) czy wypełnianie według warstwy czy według obrazu.

Pytanie 25

Które usługi są niezbędne do udostępnienia strony pod adresem https://zawodowe.edu.pl?

A. DNS, FTP
B. DNS, serwer WWW, certyfikat SSL
C. SMTP, FTP
D. serwer WWW, SMTP, POP3
Pozostałe zestawy zawierają usługi do innych zadań. SMTP i POP3 obsługują POCZTĘ e-mail, a FTP służy do przesyłania plików na serwer. Do samego udostępnienia strony po HTTPS potrzebne są DNS, serwer WWW i certyfikat SSL.

Pytanie 26

Który sposób utworzenia tablicy w JavaScript jest składniowo NIEPOPRAWNY?

A.
var liczby = [3];
B.
var liczby = new Array[1, 2, 3];
C.
var liczby = new Array(1, 2, 3);
D.
var liczby = [1, 2, 3];
Tablicę w JavaScript tworzy się na dwa poprawne sposoby: literałem w nawiasach kwadratowych, np. var liczby = [1, 2, 3];, albo konstruktorem z nawiasami OKRĄGŁYMI, np. var liczby = new Array(1, 2, 3);. Zapis new Array[1, 2, 3] jest błędny – po słowie new Array wywołanie konstruktora wymaga nawiasów okrągłych, a kwadratowe oznaczają indeksowanie/literał i tu nie pasują. Dlatego to ten zapis jest niepoprawny.

Pytanie 27

Wskaż wynik wykonania skryptu napisanego w języku PHP

<?php
$tablica = array(10 => "Perl", 14 => "PHP", 20 => "Python", 22 => "Pike");
asort($tablica);
print("<pre>");
print_r($tablica);
print("</pre>");
?>
A
Array
(
    [14] => PHP
    [10] => Perl
    [22] => Pike
    [20] => Python
)
B
Array
(
    [0] => PHP
    [1] => Perl
    [2] => Pike
    [3] => Python
)
C
Array
(
    [0] => Python
    [1] => Pike
    [2] => Perl
    [3] => PHP
)
D
Array
(
    [10] => Perl
    [14] => PHP
    [20] => Python
    [22] => Pike
)
A. C.
B. D.
C. A.
D. B.
Widzę, że Twoja odpowiedź nie do końca trafiła w sedno. Wygląda na to, że masz jakieś nieporozumienia z tym skryptem PHP i funkcją asort(). Pamiętaj, że ten skrypt tworzy tablicę asocjacyjną z czterema elementami i potem sortuje je funkcją asort(). Ta funkcja działa na wartościach i zachowuje klucze, więc po sortowaniu powinno być: `[14] => PHP`, `[10] => Perl`, `[22] => Pike`, `[20] => Python`. Jak masz inną kolejność, to może sugerować, że coś poszło nie tak z sortowaniem. Nie zapominaj, że w PHP jest sporo funkcji sortujących, każda z nich ma swoje miejsce i zastosowanie, więc warto to poćwiczyć, żeby lepiej zrozumieć temat.

Pytanie 28

Co sprawdzić przed wykonaniem kopii zapasowej bazy, aby dało się ją potem poprawnie odtworzyć?

A. poprawność składni zapytań
B. prawa dostępu do serwera
C. spójność bazy danych
D. możliwość udostępnienia bazy
Przed wykonaniem kopii zapasowej należy sprawdzić SPÓJNOŚĆ bazy - jeśli dane są uszkodzone lub niespójne, backup utrwali ten zły stan i odtworzona baza również będzie wadliwa. Weryfikacja spójności daje pewność, że kopia nadaje się do poprawnego przywrócenia. Dlatego sprawdza się spójność bazy danych.

Pytanie 29

W CSS zdefiniowano styl dla pola edycji. Taki obszar będzie miał jasnozielone tło

input:focus { background-color: LightGreen; }
A. po kliknięciu myszą w celu wprowadzenia tekstu
B. w każdej sytuacji
C. gdy zostanie na niego najechane kursorem myszy bez kliknięcia
D. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie
W języku CSS pseudoklasa :focus jest używana do definiowania stylów dla elementów, które są w stanie aktywnego fokusu. W przypadku elementów formularza, takich jak pola tekstowe input, fokus uzyskuje się poprzez kliknięcie myszą lub użycie klawisza tab, co pozwala na wprowadzenie tekstu. Pseudoklasa :focus umożliwia stylizację elementu tylko wtedy, gdy jest aktywny, co jest kluczowe dla poprawy użyteczności interfejsu użytkownika. W przykładzie podanym w pytaniu, gdy pole edycyjne input uzyska fokus, jego tło zmieni się na jasnozielone dzięki właściwości background-color ustawionej na LightGreen. Takie zastosowanie stylów CSS jest powszechne w projektowaniu formularzy, gdzie wizualne wskazanie aktywnego elementu jest istotne dla użytkownika. Dobre praktyki projektowania interfejsów kładą nacisk na czytelność i intuicyjność, co zwiększa dostępność i wygodę użytkowania aplikacji webowych. Stylowanie z wykorzystaniem pseudoklasy :focus pozwala projektantom i deweloperom tworzyć interfejsy, które są nie tylko estetyczne, ale także funkcjonalne, wspierając użytkowników w efektywnym korzystaniu z aplikacji.

Pytanie 30

Który modyfikator dostępu sprawia, że pole klasy jest dostępne z dowolnego miejsca programu?

A.
private
B.
protected
C.
published
D.
public
Pozostałe modyfikatory ograniczają dostęp lub nie istnieją. private zamyka pole wyłącznie w obrębie własnej klasy - nie sięgną do niego nawet klasy dziedziczące. protected rozszerza dostęp na klasy potomne, ale nadal nie udostępnia pola kodowi z zewnątrz. published nie jest standardowym kwalifikatorem dostępu w typowych językach obiektowych. Dostęp do pola z dowolnego miejsca daje public, dlatego to on jest poprawny.

Pytanie 31

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Zwiększenie ostrości zdjęcia.
C. Zmniejszenie kontrastu zdjęcia.
D. Przenikanie zdjęć.
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 32

Przyjmując, że użytkownik Adam nie miał dotychczas żadnych uprawnień, polecenie SQL przyzna mu prawa jedynie do

GRANT CREATE, ALTER ON sklep.* TO adam;
A. dodawania i modyfikacji danych w tabeli sklep
B. dodawania i modyfikacji danych we wszystkich tabelach bazy sklep
C. tworzenia oraz modyfikowania struktury w tabeli sklep
D. tworzenia i zmiany struktury wszystkich tabel w bazie sklep
Ta odpowiedź nie jest właściwa, bo dotyczy wstawiania i zmieniania danych w tabeli 'sklep', a tak naprawdę polecenie SQL daje tylko uprawnienia do zmiany struktury tabel, nie do danych w środku. Do wstawiania danych potrzebne jest użycie komendy 'INSERT', której tutaj w ogóle nie ma. Jak ktoś ma tylko prawa do tworzenia i zmiany struktury tabel, to nie może dodać ani zmienić danych, a to jest kluczowe do operacji na danych. I jeszcze jedno – odpowiedzi, które mówią o ograniczeniu do jednej tabeli, też są błędne, bo 'sklep.*' dotyczy wszystkich tabel w bazie. Ważne, żeby rozróżniać te uprawnienia, bo często ludzie mylą uprawnienia do zarządzania strukturą tabel z możliwościami operacji na danych. To zrozumienie różnic jest kluczowe dla bezpiecznego zarządzania bazami danych i trzymania się zasady minimalnych uprawnień, co jest naprawdę dobrą praktyką w świecie bezpieczeństwa informatycznego.

Pytanie 33

Który typ danych w SQL jest typem znakowym o STAŁEJ długości?

A.
time
B.
bool
C.
text
D.
char
Pozostałe typy nie są znakowe o stałej długości. text przechowuje tekst o ZMIENNEJ długości, time to typ czasu (godzina), a bool to wartość logiczna. Typem znakowym o stałej długości jest char.

Pytanie 34

W HTML, aby utworzyć hiperłącze, które otworzy się w nowej karcie przeglądarki, należy użyć atrybutu

A. rel = "external"
B. target = "_new"
C. target = "_blank"
D. rel = "prev"
Użycie atrybutu target="_new" nie jest ok w HTML, bo większość przeglądarek go po prostu nie rozumie. Może czasem zadziała, ale nie masz pewności, że zawsze tak będzie, co może być mylące dla użytkownika. Ludzie spodziewają się, że linki będą otwierane tak, jak to jest na ogół ustalone, a błędne atrybuty mogą sprawić, że wszystko będzie się zachowywać w dziwny sposób. Poza tym, rel="prev" to też jest zła droga, bo ten atrybut mówi o relacji między dokumentami, a "prev" wskazuje na wcześniejszą stronę w nawigacji, co nie ma nic wspólnego z linkami. I jeszcze rel="external" - to też nie jest to, bo nie jest to standard w HTML, który decyduje o tym, jak linki mają się otwierać. Użytkownicy mogą myśleć, że te atrybuty są ok, ale w rzeczywistości to prowadzi do nieporozumień, bo nie robią tego, co powinny. Lepiej zrozumieć, jak te atrybuty działają i kiedy ich używać, bo to naprawdę poprawia doświadczenia użytkowników w sieci.

Pytanie 35

W programie Audacity, podczas edytowania dźwięku pozyskanego z płyty analogowej, konieczne jest usunięcie pojedynczych trzasków typowych dla płyt winylowych. Jakie narzędzie jest do tego celu przeznaczone?

A. Usuwanie stukotu (Click Removal)
B. Redukcja szumu (Noise Reduction)
C. Obwiednia (Envelope)
D. Normalizuj (Normalize)
Wybór narzędzi takich jak 'Obwiednia (Envelope)', 'Normalizuj (Normalize)' oraz 'Redukcja szumu (Noise Reduction)' wskazuje na nieporozumienie dotyczące funkcji tych opcji w programie Audacity. Narzędzie 'Obwiednia' służy do dynamicznej regulacji głośności dźwięku w czasie, co nie ma zastosowania w przypadku usuwania pojedynczych trzasków. Chociaż może być użyteczne w kontekście ogólnej edycji utworu, nie jest odpowiednie do eliminacji krótkotrwałych zakłóceń. Z kolei 'Normalizuj' ma na celu podniesienie poziomu głośności całego nagrania do maksymalnego poziomu bez zniekształceń, co może skutkować wzmocnieniem trzasków zamiast ich eliminacji. Używanie tego narzędzia przed usunięciem trzasków może sprawić, że będą one bardziej wyraźne, co jest przeciwnym efektem do zamierzonego. 'Redukcja szumu' jest narzędziem, które usuwa szumy tła, a nie krótkotrwałe dźwięki, takie jak trzaski. Chociaż może być użyta w procesie poprawy jakości nagrania, nie jest ona w stanie skutecznie rozwiązać problemu z trzaskami, które mają inną charakterystykę. W praktyce, nieodpowiedni wybór narzędzi prowadzi do nieefektywnej obróbki dźwięku, co może skutkować niezadowalającą jakością finalnego nagrania.

Pytanie 36

Które polecenie MySQL sprawdza tabelę pod kątem błędów i uszkodzeń (bez jej naprawiania)?

A.
UPDATE TABLE
B.
CHECK TABLE
C.
FIX TABLE
D.
CHANGE TABLE
Polecenie CHECK TABLE sprawdza, czy tabela nie jest uszkodzona, i zwraca raport o ewentualnych błędach - samo jednak niczego nie naprawia. Zwykle wykonuje się je przed właściwą naprawą poleceniem REPAIR TABLE. Dlatego do diagnozy tabeli (bez naprawy) służy CHECK TABLE.

Pytanie 37

Przedstawiony kod źródłowy ma na celu zaprezentowanie

$liczba = 1;
while ($liczba != 0)
{
    $liczba = rand(0,100);
    echo $liczba;
}
A. losowych liczb od 0 do 100 do momentu, aż nie wylosowana zostanie liczba 0
B. kolejnych liczb od 1 do 100
C. liczb wprowadzonych z klawiatury tak długo, aż nie zostanie podana wartość 0
D. wylosowanych liczb od 1 do 99
Analizując inne odpowiedzi, można zauważyć kilka nieporozumień dotyczących działania kodu. Kod nie wyświetla kolejnych liczb od 1 do 100, ponieważ nie zawiera mechanizmu inkrementacji liczby w sposób sekwencyjny. Jest to typowy błąd, który wynika z mylnego zrozumienia działania pętli i przypisywania wartości. Zamiast tego pętla generuje losowe liczby, co jest zupełnie innym procesem. Kod nie wczytuje danych z klawiatury, ponieważ nie zawiera żadnych funkcji wejścia/wyjścia, takich jak scanf czy inne odpowiedniki w języku PHP. Proces wczytywania danych z klawiatury wymaga interakcji z użytkownikiem, co w tym przypadku nie występuje. Istnieje również błędne zrozumienie, że kod wyświetla wylosowane liczby od 1 do 99. Funkcja rand(0,100) generuje liczby z zakresu od 0 do 100, a nie od 1 do 99. Zakres generowanych liczb jest kluczowym aspektem, który powinien być dokładnie rozumiany przez programistów, aby unikać niepoprawnych założeń prowadzących do błędnych wyników. Takie nieporozumienia często wynikają z niedostatecznej znajomości specyfikacji funkcji używanych w programowaniu i mogą prowadzić do błędów logicznych w kodzie, co w praktyce może skutkować nieoczekiwanym zachowaniem aplikacji. Ważne jest dokładne zrozumienie dokumentacji funkcji i ich właściwego zastosowania, co pozwala na poprawne projektowanie i implementację algorytmów w różnych sytuacjach problemowych. Zrozumienie różnic w działaniu funkcji i ich efektów jest kluczowe dla skutecznego programowania i unikania błędów związanych z niepoprawnym przetwarzaniem danych.

Pytanie 38

Rodzaj programowania, w którym sekwencja poleceń (instrukcji) dostarczanych komputerowi jest traktowana jako program, określa się mianem programowania

A. logicznogo
B. funkcyjnego
C. stanowego
D. imperatywnego
Programowanie funkcyjne, logiczne oraz stanowe to inne style kodowania, które się różnią od imperatywnego. Każdy z nich ma swoją specyfikę i zastosowania. Na przykład w programowaniu funkcyjnym tworzymy programy jako zestaw funkcji, które operują na danych, starając się zminimalizować skutki uboczne. To z kolei kłóci się z imperatywnym myśleniem, bo tam idziemy bardziej w sekwencje instrukcji. Programowanie logiczne skupia się na regułach i relacjach, a nie na tym, co się dzieje w jakiej kolejności. To sprawia, że jest lepsze do sztucznej inteligencji czy przetwarzania danych. Programowanie stanowe natomiast dotyczy stanów systemu i przejść między nimi, co jest pomocne w systemach reaktywnych. Te różnice są ważne, bo nie można uważać, że wszystkie te paradygmaty są takie same lub da się je zamieniać bez zastanowienia. Ważne jest, aby zrozumieć, kiedy i jak używać różnych narzędzi i metod, zależnie od projektu, który realizujemy.

Pytanie 39

Która funkcja PHP pozwala sprawdzić, czy ciąg jest CZĘŚCIĄ innego ciągu?

A.
strlen()
B.
strtok()
C.
strstr()
D.
trim()
Pozostałe funkcje robią co innego. trim() usuwa białe znaki z końców, strlen() zwraca długość napisu, a strtok() dzieli tekst na części wg separatora. Sprawdzenie, czy ciąg zawiera inny, realizuje strstr().

Pytanie 40

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

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