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 12:04
  • Data zakończenia: 8 czerwca 2026 12:25

Egzamin niezdany

Wynik: 10/40 punktów (25,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

Linia kodu przedstawiona w PHP ma na celu

Ilustracja do pytania
A. zdefiniować stałą o nazwie OSOBA
B. porównać dwa ciągi znaków
C. ustalić wartość dla zmiennej $OSOBA
D. przypisać wartości do tablicy
W języku PHP funkcja define() służy do definiowania stałych które są wartościami niezmiennymi po zdefiniowaniu. W przykładzie define(OSOBA Anna Kowalska) definiujemy stałą o nazwie OSOBA z przypisaną wartością Anna Kowalska. Stałe są używane gdy potrzebujemy zagwarantować że dana wartość pozostanie niezmienna przez cały czas działania programu co jest kluczowe w zapewnieniu spójności i integralności danych. PHP odróżnia stałe wielkością liter więc zgodnie z konwencją stałe zapisuje się wielkimi literami dla lepszej czytelności. Funkcja ta jest często używana do definiowania wartości konfiguracyjnych takich jak ścieżki do plików czy dane dostępowe które nie powinny być zmieniane podczas wykonywania skryptu. Dzięki funkcji define() unikamy przypadkowego nadpisania istotnych wartości co jest jedną z dobrych praktyk programistycznych. Warto zaznaczyć że od PHP 7 istnieje możliwość definiowania stałych tablicowych co ułatwia organizację bardziej złożonych danych.

Pytanie 2

Podczas definiowania tabeli produkty należy stworzyć pole cena, które będzie reprezentować wartość produktu. Odpowiedni typ danych dla tego pola to

A. INTEGER(11)
B. DECIMAL(10, 2)
C. ENUM
D. TINYTEXT
Wybór typów danych dla pola przechowującego cenę produktu ma kluczowe znaczenie dla poprawności funkcjonowania bazy danych. INTEGER(11) jest typem, który przechowuje liczby całkowite, co oznacza, że nie może być zastosowany do reprezentacji wartości z miejscami dziesiętnymi, co jest niezbędne w przypadku cen. Użycie INTEGER może prowadzić do poważnych problemów, jak zaokrąglanie cen, co w branży handlowej może skutkować błędnymi transakcjami. TINYTEXT to typ danych przeznaczony do przechowywania tekstu, co czyni go całkowicie nieodpowiednim do reprezentacji wartości liczbowych, a tym bardziej cen. W przypadku zastosowania TINYTEXT w tym kontekście, nie tylko utracimy możliwość przeprowadzania obliczeń na cenach, ale również stworzymy dodatkowe problemy z wydajnością bazy danych, ponieważ operacje na tekstach są znacznie wolniejsze niż na liczbach. Z kolei ENUM, który jest używany do określenia zestawu dozwolonych wartości, nie ma zastosowania w kontekście cen, które mogą się zmieniać i nie są ograniczone do stałego zestawu opcji. Użycie ENUM do reprezentacji cen prowadziłoby do nieefektywności, ponieważ każda zmiana ceny wymagałaby modyfikacji definicji pola. Typowe błędy myślowe prowadzące do takich niepoprawnych wniosków to brak zrozumienia znaczenia precyzyjnego przechowywania danych finansowych oraz nieznajomość dostępnych typów danych i ich zastosowań w kontekście konkretnej aplikacji.

Pytanie 3

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. zmianę intensywności kolorów
B. gradient okrągły
C. gradient liniowy
D. kanał alpha
Zmiana nasycenia odnosi się do modyfikacji intensywności barwy co wpływa na żywość kolorów w obrazie ale nie tworzy efektu płynnego przejścia jak gradient. Jest użyteczna w poprawianiu wyglądu zdjęć gdzie chce się podkreślić lub stonować barwy lecz nie daje efektu gradientowego. Kanał alpha z kolei to komponent definiujący przezroczystość pikseli w obrazie. Manipulacja kanałem alpha jest kluczowa w tworzeniu efektów przeźroczystości i maskowania ale nie jest związana z tworzeniem przejść kolorystycznych. Gradient kołowy natomiast to efekt przejścia kolorów od środka na zewnątrz w formie okręgu co zupełnie różni się od gradientu liniowego który działa w linii prostej. Gradienty kołowe są stosowane w sytuacjach gdy wymagane jest centralne skupienie uwagi jak w przypadku projektowania ikon lub tła gdzie ważna jest symetria. Typowym błędem jest mylenie podstawowych funkcji narzędzi graficznych dlatego zrozumienie ich specyfiki i zastosowania w praktyce jest kluczowe dla profesjonalnego projektowania wizualnego. Właściwe wykorzystanie narzędzi graficznych oparte jest na znajomości ich możliwości oraz ograniczeń co prowadzi do efektywnego tworzenia wysokiej jakości projektów graficznych zgodnych ze standardami branżowymi.

Pytanie 4

Jakie są odpowiednie kroki w odpowiedniej kolejności, które należy podjąć, aby nawiązać współpracę pomiędzy aplikacją internetową po stronie serwera a bazą danych SQL?

A. wybór bazy danych, nawiązanie połączenia z serwerem baz danych, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
B. wybór bazy, zapytanie do bazy, nawiązanie połączenia z serwerem baz danych, wyświetlenie na stronie WWW, zamknięcie połączenia
C. zapytanie do bazy, wybór bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
D. nawiązanie połączenia z serwerem baz danych, wybór bazy, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
Analizując niepoprawne odpowiedzi, można zauważyć, że każda z nich zawiera fundamentalne błędy w kolejności operacji. W przypadku pierwszej odpowiedzi, zaczynanie od zapytania do bazy danych bez wcześniejszego nawiązania połączenia z serwerem jest nie tylko niepraktyczne, ale wręcz niemożliwe. System nie jest w stanie wykonać jakiegokolwiek zapytania, jeśli nie istnieje aktywne połączenie, co prowadzi do błędów wykonania. W drugiej odpowiedzi również występuje błąd, polegający na wysyłaniu zapytania przed wybraniem bazy danych. W rzeczywistości, aby system mógł poprawnie zrealizować zapytanie, musi najpierw wiedzieć, z jaką bazą ma do czynienia. Ostatnia z niepoprawnych odpowiedzi, która sugeruje wybór bazy danych przed nawiązaniem połączenia, również jest błędna, ponieważ nie można wybrać bazy bez aktywnego połączenia z serwerem. W praktyce, każda z tych odpowiedzi nie uwzględnia kluczowych zasad dotyczących zarządzania połączeniami z bazami danych, takich jak zasady dotyczące transakcji oraz efektywnego zarządzania zasobami, co jest niezbędne w kontekście wydajnych aplikacji internetowych.

Pytanie 5

W PHP, aby usunąć białe znaki z początku i końca ciągu tekstowego, można skorzystać z funkcji

A. strlen()
B. time()
C. trim()
D. sort()
Funkcja trim() w języku PHP jest niezwykle przydatna do usuwania zbędnych spacji oraz innych białych znaków z początku i końca ciągu znaków. Jest to funkcjonalność, która jest często wykorzystywana w różnych aplikacjach, szczególnie w kontekście przetwarzania danych wejściowych od użytkowników, gdzie niechciane spacje mogą prowadzić do błędów podczas walidacji lub przechowywania danych w bazie danych. Przykład użycia funkcji trim() jest prosty: jeśli mamy zmienną $text = ' Przykladowy tekst '; używając trim($text), otrzymamy 'Przykladowy tekst'. Funkcja ta przyjmuje również drugi argument, który pozwala na określenie dodatkowych znaków do usunięcia. Na przykład trim($text, "a ") usunie zarówno spacje, jak i litery 'a' z końców ciągu. Zgodnie z dokumentacją PHP, trim() jest częścią standardowej biblioteki funkcji stringowych, co czyni ją niezawodnym narzędziem w każdej aplikacji PHP."

Pytanie 6

Zamieszczone poniżej zapytanie SQL przyznaje uprawnienie SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla konta root na serwerze localhost
B. dla konta root na serwerze sprzedawca
C. do wszystkich tabel w bazie danych hurtownia
D. do wszystkich kolumn w tabeli hurtownia
Wybór opcji, która sugeruje, że polecenie nadaje dostęp do wszystkich pól w tabeli hurtownia, jest mylny, ponieważ w SQL uprawnienia są przyznawane na poziomie tabeli, a nie pól. W SQL nie możemy przyznać uprawnień do pojedynczych kolumn w taki sposób, jak sugeruje ta odpowiedź; wyjątkiem są bardziej szczegółowe polecenia, w których można określić kolumny, ale nie w kontekście polecenia GRANT z użyciem znaku <code>*</code>. Innym błędnym wnioskiem jest stwierdzenie, że polecenie dotyczy użytkownika root. Polecenie wskazuje, że uprawnienia są przyznawane użytkownikowi 'sprzedawca' na localhost, a nie użytkownikowi root, który jest administratorem systemu baz danych. Takie nieporozumienia mogą wynikać z nieznajomości struktury użytkowników w MySQL oraz sposobu, w jaki działają uprawnienia. Ważne jest zrozumienie, że w kontekście bezpieczeństwa bazy danych, przyznawanie uprawnień powinno być przemyślane, aby unikać nieautoryzowanego dostępu oraz ograniczać dostęp do danych tylko do tych użytkowników, którzy rzeczywiście go potrzebują. Dbanie o bezpieczeństwo danych w bazie danych jest kluczowe, a niewłaściwe przyznawanie uprawnień może prowadzić do poważnych naruszeń bezpieczeństwa.

Pytanie 7

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

Ogólne
Rozmiar pola255
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. Maskę wprowadzania
B. Wartość domyślną
C. Tagi inteligentne
D. Regułę sprawdzania poprawności
Maska wprowadzania to coś, co bardzo ułatwia życie, zwłaszcza w systemach baz danych i aplikacjach. Dzięki niej możemy dokładnie określić, jakie znaki mogą być wpisywane w dane pole, co jest szczególnie przydatne, gdy potrzebujemy tylko cyfr. Wyobraź sobie, że musisz wpisać numer telefonu – to właśnie wtedy maska pokazuje, że możesz wpisać tylko cyfry i może nawet dodać myślniki dla lepszej estetyki. To dobry sposób na ograniczenie błędów, bo nikt nie będzie miał okna do wpisania literek, których nie powinno być. W praktyce, jeżeli projektujesz coś jak formularze online, to maseczki wprowadzania są bardzo fajne, bo zabezpieczają dane przed wprowadzeniem czegokolwiek, co nie pasuje. Możesz je łatwo zaimplementować w językach programowania jak C# czy JavaScript przy pomocy wyrażeń regularnych albo gotowych komponentów UI. Dobrze zaprojektowane maski wprowadzania pomagają też utrzymać porządek w bazach danych i zgodność z wymaganiami, które mamy na myśli.

Pytanie 8

W języku JavaScript zdefiniowano funkcję potega. Funkcja ta

function potega(a, b = 2) { ... return wynik; }
A. wymaga podania dwóch argumentów przy wywołaniu
B. nie przyjmuje żadnych argumentów
C. nie zwraca wartości
D. może być wywołana z jedną wartością
Odpowiedź 3 jest poprawna, ponieważ funkcja potega w JavaScript została zdefiniowana z jednym parametrem obowiązkowym (a) oraz jednym parametrem opcjonalnym (b) z domyślną wartością wynoszącą 2. Oznacza to, że można ją wywołać z jednym argumentem, a wtedy drugi argument przyjmie wartość domyślną. Taka konstrukcja jest użyteczna w przypadku, gdy chcemy zapewnić elastyczność wywołania funkcji bez konieczności podawania wszystkich argumentów. W praktyce, użycie wartości domyślnych pozwala na tworzenie bardziej zwięzłego kodu i łatwiejsze utrzymywanie funkcji. Standard ECMAScript 2015 (ES6) wprowadził możliwość definiowania wartości domyślnych dla parametrów funkcji, co jest obecnie powszechną praktyką w JavaScript. Dzięki temu programiści mogą lepiej zarządzać przypadkami, w których nie wszystkie dane wejściowe są dostępne, co pozwala na unikanie błędów związanych z nieokreślonymi wartościami i zwiększa efektywność kodu.

Pytanie 9

Które z poniższych twierdzeń o zasadach programowania w PHP jest poprawne?

A. Jest to język o słabej kontroli typów
B. Deklaracja zmiennych odbywa się po słowie kluczowym var
C. Nazwy zmiennych zaczynają się od znaku !
D. W nazwach zmiennych nie rozróżnia się wielkości liter
PHP jest językiem o słabej kontroli typów, co oznacza, że nie wymaga określenia typu zmiennej podczas jej deklaracji. W praktyce, PHP automatycznie konwertuje typy danych w zależności od kontekstu, w którym są używane. Przykładowo, jeśli przypiszesz do zmiennej wartość liczbową, a następnie użyjesz jej w kontekście tekstowym, PHP przekształci tę liczbę na łańcuch znaków automatycznie. Dzięki temu programiści mogą skupić się na logice aplikacji, a nie na zarządzaniu typami danych. Ważne jest jednak, aby pamiętać, że ta elastyczność może prowadzić do błędów, jeśli nie będziemy ostrożni. Dlatego dobrym podejściem jest stosowanie jawnych konwersji typów, gdy jest to możliwe, co zwiększa czytelność kodu i ułatwia jego późniejsze utrzymanie. Używanie funkcji takich jak (int), (float) czy (string) w celu wymuszenia określonych typów danych przed operacjami arytmetycznymi lub logicznymi, to praktyka, która może zapobiec wielu problemom z nieoczekiwanym zachowaniem skryptów. Znalezienie równowagi między wygodą a bezpieczeństwem typów jest kluczowym elementem programowania w PHP.

Pytanie 10

Funkcja
fun1(a,b) {
  if(a % 2 != 0) a++;
  for(let n = a; n <= b; n+=2) document.write(n);
}
ma na celu

A. wypisanie wszystkich liczb w przedziale od a do b
B. sprawdzenie, czy liczba a jest nieparzysta; w przypadku pozytywnej odpowiedzi, jej wypisanie
C. zwrócenie parzystych wartości liczb od a do b
D. wypisanie liczb parzystych w zakresie od a do b
W przypadku pierwszej błędnej odpowiedzi, najważniejszy błąd to myślenie, że funkcja zwraca wartości parzyste jak zwykły wynik. W rzeczywistości funkcja wypisuje te liczby na stronie za pomocą document.write(), więc to jest kluczowy szczegół. Druga niepoprawna odpowiedź jest na dobrej drodze, ale myli się w interpretacji 'wypisania liczb parzystych z przedziału od a do b'. Funkcja nie tylko wypisuje liczby parzyste, ale też sprawdza, czy a jest nieparzyste, i wtedy zmienia tę wartość. Co do trzeciej błędnej odpowiedzi, sugeruje ona, że funkcja wypisuje wszystkie liczby między a a b, co jest zupełnie błędne, bo pętla for zwiększa n o 2, więc tylko parzyste liczby się pojawią. Rozumienie jak działa pętla for oraz operator modulo jest kluczowe, żeby dobrze zrozumieć tę funkcję. Jeśli nie ogarniasz tych podstaw, ciężko będzie analizować kod w JavaScript i pisać lepsze programy.

Pytanie 11

Aby w jezyku CSS ustawic czerwony kolor dla tekstu, mozna uzyc stylu:

A.
text-color: rgb(#FF0000);
B.
text-color: rgb(255,0,0);
C.
color: rgb(#FF0000);
D.
color: rgb(255,0,0);
Kolor tekstu w CSS ustawia wlasciwosc color, a nie zadna inna nazwa - to ona odpowiada za barwe znakow elementu. Wartosc mozna podac na kilka sposobow, a jednym z nich jest funkcja rgb(), ktora przyjmuje trzy skladowe: czerwona, zielona i niebieska, kazda w zakresie od 0 do 255. Zapis rgb(255,0,0) oznacza pelne nasycenie czerwieni przy zerowej zieleni i zerowym blekicie, czyli czysty czerwony. Dlatego deklaracja color: rgb(255,0,0); jest jedyna poprawna sposrod podanych - laczy wlasciwa wlasciwosc z prawidlowo zapisana funkcja rgb().

Pytanie 12

<?php
function silnia($liczba)
{
    if($liczba < 2)
        return 1;
    else
        return $liczba * silnia($liczba - 1);
}
?>
Funkcja silnia jest funkcją
A. nie zwracającą wyniku.
B. abstrakcyjną.
C. bezparametrową.
D. rekurencyjną.
Funkcja „silnia” w tym przykładzie jest klasycznym przykładem funkcji rekurencyjnej w PHP. Rekurencja polega na tym, że funkcja w swoim wnętrzu wywołuje samą siebie z innym argumentem. Tutaj dokładnie to widzimy w instrukcji `return $liczba * silnia($liczba - 1);`. Każde kolejne wywołanie zmniejsza wartość parametru `$liczba` o 1, aż dojdziemy do warunku zakończenia, czyli tzw. warunku brzegowego: `if($liczba < 2) return 1;`. Ten warunek jest kluczowy, bo bez niego rekurencja nigdy by się nie zatrzymała i skończyłaby się błędem przepełnienia stosu (stack overflow). Z punktu widzenia algorytmiki, silnia jest jednym z pierwszych przykładów, na których uczy się rekurencji, bo definicja matematyczna jest też rekurencyjna: n! = n * (n-1)!, przy 0! = 1 oraz 1! = 1. W kodzie odwzorowujemy to praktycznie 1:1. W profesjonalnym programowaniu webowym rekurencję stosuje się nie tylko do silni, ale np. do przetwarzania drzew kategorii, menu wielopoziomowych, parsowania struktur XML/JSON, czy przechodzenia po drzewach uprawnień. Moim zdaniem ważne jest, żeby przy rekurencji zawsze pilnować dwóch rzeczy: dobrze zdefiniowanego warunku zakończenia i tego, żeby w każdym kroku argument „zbliżał się” do tego warunku. W PHP można też porównać to z wersją iteracyjną (z pętlą), ale w wielu przypadkach rekurencyjna wersja jest czytelniejsza, szczególnie przy strukturach drzewiastych. W praktyce produkcyjnej warto jednak pamiętać o ograniczeniach głębokości stosu i przy bardzo dużych danych czasem lepiej przepisać rekurencję na iterację, ale sam wzorzec, który tu widzisz, jest jak najbardziej zgodny z dobrymi praktykami i podręcznikową definicją funkcji rekurencyjnej.

Pytanie 13

Podaj polecenie SQL, które pozwoli na dodanie kolumny miesiacSiewu do tabeli rośliny znajdującej się w bazie danych

A. INSERT INTO rośliny VALUES (miesiacSiewu int);
B. CREATE TABLE rośliny {miesiacSiewu int};
C. UPDATE rośliny ADD miesiacSiewu int;
D. ALTER TABLE rośliny ADD miesiacSiewu int;
Inne odpowiedzi nie są poprawne z paru powodów. Na przykład, 'CREATE TABLE rośliny {miesiacSiewu int};' jest błędne, bo komenda 'CREATE TABLE' służy do tworzenia nowych tabel, nie do zmieniania istniejących. To może wprowadzać w błąd co do podstaw SQL, bo 'CREATE' nie działa w kontekście dodawania kolumn do już istniejącej tabeli. Z kolei 'INSERT INTO rośliny VALUES (miesiacSiewu int);' dotyczy dodawania danych, a nie zmiany struktury. To częsty błąd, gdy ktoś myli dodawanie nowych danych z dodawaniem kolumn, co pokazuje, że nie do końca rozumie różnicę między DDL (Data Definition Language) a DML (Data Manipulation Language). A 'UPDATE rośliny ADD miesiacSiewu int;' też nie ma sensu, bo komenda UPDATE jest do aktualizacji danych, a nie do zmiany struktury tabeli. Takie pomyłki mogą wkurzać i sprawiać problemy z bazami danych, dlatego warto mieć dobrą wiedzę o poleceniach SQL i ich zastosowaniach.

Pytanie 14

Które wyrażenie w C++ sprawdza, czy liczba jest TRZYCYFROWĄ wartością PARZYSTĄ?

A.
liczba % 2 == 0 || liczba > 99 || liczba < 999
B.
liczba % 2 == 0 && (liczba > 99 || liczba < 999)
C.
liczba % 2 == 0 && liczba > 99 && liczba < 999
D.
liczba % 2 == 0 || (liczba > 99 && liczba < 999)
Liczba trzycyfrowa to wartość z przedziału od 100 do 999, czyli liczba > 99 && liczba < 999 (lub równoważnie >= 100 && <= 999), a parzysta to liczba % 2 == 0. Wszystkie warunki muszą zachodzić naraz, więc łączy je &&. Dlatego poprawne jest liczba % 2 == 0 && liczba > 99 && liczba < 999.

Pytanie 15

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

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

Pytanie 16

Dane są liczby całkowite różne od zera w tablicy nazwanej tab. Podany poniżej kod w języku PHP ma na celu

Ilustracja do pytania
A. obliczenie wartości bezwzględnej poszczególnych elementów tablicy
B. wyliczenie iloczynu wszystkich wartości w tablicy
C. zmienić wartości tablicy na te zapisane w zmiennej liczba
D. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
Pierwsza odpowiedź sugeruje że kod oblicza iloczyn wszystkich liczb w tablicy co jest błędnym podejściem. Kod pokazany na obrazku nie zawiera żadnej zmiennej akumulującej wynik iloczynu ani pętli która wykonałaby mnożenie wszystkich elementów tablicy. Zamiast tego każda liczba jest po prostu mnożona przez -1 co zmienia jej znak ale nie prowadzi do akumulacji kolejnych wyników. Druga odpowiedź błędnie zakłada że kod oblicza wartość bezwzględną elementów co wymagałoby użycia funkcji abs() w PHP. Kod nie zmienia elementów na ich wartości bezwzględne tylko zmienia ich znaki na przeciwne. Taka transformacja nie jest równoznaczna z obliczeniem wartości bezwzględnej. Czwarta odpowiedź myli działanie kodu z zamianą elementów na stałą wartość przechowywaną w zmiennej liczba. Kod nie przypisuje żadnej stałej wartości do elementów tablicy ale modyfikuje ich istniejące wartości zmieniając tylko ich znaki. Tego rodzaju błędy wynikają z niezrozumienia działania operatora referencji w PHP oraz mechanizmu iteracji i modyfikacji tablicy. Poprawne rozumienie tych koncepcji jest kluczowe w programowaniu aby unikać nieoczekiwanych rezultatów i błędów logicznych w kodzie. Właściwe stosowanie foreach oraz operacji matematycznych w PHP pozwala na skuteczne i wydajne przetwarzanie danych co jest istotnym elementem w codziennej pracy programisty. Praktyka i doświadczenie w stosowaniu tych technik są niezbędne do osiągnięcia biegłości w programowaniu.

Pytanie 17

W systemie baz danych hurtowni utworzono tabelę sprzedaz z polami: id, kontrahent, grupa_cenowa, obrot. Jakie polecenie należy zastosować, aby znaleźć jedynie kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000zł?

A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000
B. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa = 2 AND obrot > 4000
C. SELECT sprzedaz FROM kontrahent WHERE obrot > 4000
D. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 OR obrot > 4000
Poprawna odpowiedź to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000;'. To polecenie SQL precyzyjnie spełnia wymagania postawione w pytaniu, ponieważ korzysta z operatora AND do jednoczesnego filtrowania kontrahentów w drugiej grupie cenowej oraz tych, których obrót przekracza 4000 zł. W praktyce, takie zapytanie jest niezwykle użyteczne w analizie danych w hurtowniach, umożliwiając wyodrębnienie tylko tych kontrahentów, którzy spełniają oba warunki, co jest kluczowe w procesach selekcji kontrahentów do dalszych działań marketingowych czy analizy rentowności. Warto zauważyć, że dobrym nawykiem jest dokładne określenie, które pola chcemy wyświetlić, a w tym przypadku 'kontrahent' wskazuje na konkretne dane, które są istotne dla analizy. Dodatkowo, stosowanie odpowiednich warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami w zakresie optymalizacji wydajności bazy danych, ponieważ pozwala na minimalizację ilości przetwarzanych danych oraz zwiększa przejrzystość wyników.

Pytanie 18

Które reguły CSS poprawnie ustawiają dla akapitu czcionkę Arial, rozmiar 16 pt i pochylenie (kursywę)?

A.
p { font-style: Arial; font-size: 16pt; font-variant: normal; }
B.
p { font-family: Arial; font-size: 16px; font-variant: normal; }
C.
p { font-style: Arial; size: 16px; font-weight: normal; }
D.
p { font-family: Arial; font-size: 16pt; font-style: italic; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wygląd czcionki opisują w CSS trzy osobne właściwości: <code><span class="code-variable">font-family</span></code> ustala krój (np. <code><span class="code-variable">Arial</span></code>), <code><span class="code-variable">font-size</span></code> - rozmiar (tu <code><span class="code-number">16</span><span class="code-variable">pt</span></code>, bo zadano punkty, a nie piksele), a <code><span class="code-keyword">font-style</span><span class="code-text">:</span> <span class="code-variable">italic</span></code> włącza pochylenie. Razem daje to <code><span class="code-variable">p</span> <span class="code-text">{</span> <span class="code-keyword">font-family</span><span class="code-text">:</span> <span class="code-variable">Arial</span><span class="code-text">;</span> <span class="code-keyword">font-size</span><span class="code-text">:</span> <span class="code-number">16</span><span class="code-variable">pt</span><span class="code-text">;</span> <span class="code-keyword">font-style</span><span class="code-text">:</span> <span class="code-variable">italic</span><span class="code-text">;</span> <span class="code-text">}</span></code>. Warto pamiętać, że <code><span class="code-variable">font-style</span></code> odpowiada za kursywę, a <code><span class="code-variable">font-weight</span></code> za grubość - to częste źródło pomyłek. Dlatego poprawny jest ten zestaw reguł.

Pytanie 19

W CSS określono styl dla stopki. Jak można zastosować to formatowanie do bloku oznaczonego znacznikiem div?

#stopka { ... }
A. <div id = "stopka"> …
B. <div title = "stopka"> …
C. <div "stopka"> …
D. <div class = "stopka"> …

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie – zapis #stopka w CSS oznacza selektor identyfikatora (ID), więc w HTML musimy użyć atrybutu id="stopka" dokładnie z tą samą nazwą. W CSS znak # wskazuje, że styl jest przypisany do elementu o konkretnym identyfikatorze, a nie do klasy czy czegokolwiek innego. Dlatego jedynym prawidłowym sposobem podpięcia tego stylu do bloku div jest konstrukcja: <div id="stopka">…</div>. W praktyce wygląda to tak: CSS: #stopka { background-color: #333; color: white; padding: 20px; } HTML: <div id="stopka">To jest stopka strony</div> Przeglądarka łączy selektor #stopka z elementem, który ma id="stopka" i nakłada na niego zdefiniowane właściwości. Identyfikator powinien być unikalny w obrębie całego dokumentu HTML, co jest zgodne z zaleceniami W3C i ogólnie przyjętą dobrą praktyką. Do jednego ID odwołujemy się w CSS przez #, a w JavaScript przez document.getElementById("stopka"). Moim zdaniem warto zapamiętać prostą zasadę: # w CSS = id w HTML, kropka (.) w CSS = class w HTML. Gdy projektujesz layout strony, zwykle elementy typu nagłówek, stopka, główna nawigacja mają unikalne ID, bo występują raz na stronie. Natomiast powtarzalne elementy (np. kafelki z produktami) dostają klasy. Dzięki temu kod jest czytelniejszy, łatwiej się go utrzymuje i unikamy dziwnych konfliktów stylów. Dobrą praktyką jest też używanie opisowych nazw, np. id="stopka" zamiast skrótów typu id="s1", bo po miesiącu nikt nie pamięta, co to znaczyło.

Pytanie 20

Aby przygotować układ strony z trzema kolumnami ustawionymi obok siebie, można posłużyć się stylem CSS:

A.
.kolumny {
  float: left;
  width: 40%;
}
B.
.kolumny {
  clear: both;
  height: 33%;
}
C.
.kolumny {
  float: right;
  height: 33%;
}
D.
.kolumny {
  float: left;
  width: 33%;
}

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby ustawić trzy kolumny obok siebie metodą opływania, każdej nadaje się <code><span class="code-keyword">float</span><span class="code-text">:</span> <span class="code-variable">left</span></code> oraz szerokość około jednej trzeciej kontenera, czyli <code><span class="code-keyword">width</span><span class="code-text">:</span> <span class="code-number">33</span><span class="code-text">%</span></code>. Dzięki float elementy blokowe układają się w jednym rzędzie zamiast jeden pod drugim, a szerokość 33% sprawia, że trzy kolumny wypełniają całą szerokość. Dlatego poprawny jest styl z <code><span class="code-keyword">float</span><span class="code-text">:</span> <span class="code-variable">left</span></code> i <code><span class="code-keyword">width</span><span class="code-text">:</span> <span class="code-number">33</span><span class="code-text">%</span></code>.

Pytanie 21

Fragment kodu w języku HTML zawarty w ramce ilustruje zestawienie

Ilustracja do pytania
A. numerowaną.
B. wypunktowaną.
C. odnośników.
D. skrótów.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod HTML zawierający znaczniki <ol> oraz <li> tworzy listę numerowaną ponieważ <ol> oznacza ordered list czyli listę uporządkowaną co skutkuje automatycznym numerowaniem każdego elementu w przeglądarkach internetowych. Znaczniki <li> reprezentują pojedyncze elementy listy zapewniając organizację danych w czytelnej formie. Taki sposób przedstawiania informacji jest powszechnie stosowany w tworzeniu dokumentów HTML i stron internetowych gdzie hierarchia i kolejność elementów ma kluczowe znaczenie. Za pomocą CSS można dodatkowo dostosować styl numerowania oraz wizualne aspekty listy co pozwala na większą elastyczność w projektowaniu interfejsu użytkownika. Standardy internetowe takie jak te rekomendowane przez W3C zachęcają do stosowania semantycznych znaczników co poprawia dostępność i SEO strony. Ponadto listy numerowane są użyteczne w sytuacjach gdy wymagana jest jasna kolejność wykonywania zadań lub prezentacja kroków w procesie co czyni je idealnym narzędziem zarówno w dokumentacji technicznej jak i w interaktywnych przewodnikach online.

Pytanie 22

Jaką funkcję pełni funkcja CONCAT() w SQL?

A. łącznienie tekstu wyświetlanego
B. wyodrębnianie podłańcucha znaków z tekstu wejściowego
C. przycinanie tekstu wyświetlanego
D. usuwanie określonego tekstu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja CONCAT() w SQL to naprawdę super opcja, bo pozwala na łączenie różnych ciągów tekstowych. To jest mega przydatne, zwłaszcza przy pracy z bazami danych, kiedy potrzebujemy stworzyć np. pełne imię i nazwisko z osobnych pól. Jak mamy tabelę z imionami i nazwiskami, to możemy użyć CONCAT(), żeby to wszystko połączyć w jedną całość: CONCAT(imie, ' ', nazwisko). Takie operacje są dość popularne w raportach i przy tworzeniu dynamicznych zapytań, gdzie często łączymy różne dane. Fajnie też pamiętać, żeby uważać na wartości NULL, bo mogą nam namieszać w wynikach. Poza tym, w różnych systemach bazodanowych są też inne metody łączenia tekstów, jak operator || w PostgreSQL, co może być przydatne, jeśli przenosisz zapytania między systemami.

Pytanie 23

Nazywa się inaczej nasycenie koloru

A. dopełnienie koloru
B. nasycenie koloru
C. jasność koloru
D. przezroczystość koloru

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Saturacja koloru, znana również jako nasycenie, odnosi się do intensywności koloru, określając, jak czysty lub żywy jest dany kolor w porównaniu do szarości o tej samej jasności. W praktyce, wysoka saturacja oznacza, że kolor jest bardziej intensywny i wyrazisty, podczas gdy niska saturacja sprawia, że kolor staje się bardziej stonowany i bliski szarości. Na przykład, jaskrawoczerwony odcień czerwieni ma wysoką saturację, podczas gdy różowy odcień tej samej barwy będzie charakteryzował się niższą saturacją, ponieważ zawiera więcej bieli. W kontekście projektowania graficznego i fotografii, zrozumienie nasycenia jest kluczowe. Pomaga to w tworzeniu harmonijnych kompozycji, które przyciągają uwagę i wywołują określone emocje u odbiorców. Profesjonaliści często korzystają z narzędzi do edycji zdjęć, takich jak Adobe Photoshop, aby manipulować nasyceniem kolorów, co może znacząco wpłynąć na ostateczny odbiór wizualny. Satysfakcjonująca paleta kolorów w projektach graficznych opiera się na właściwym balansowaniu nasycenia, co jest zgodne z zasadami teorii kolorów.

Pytanie 24

Jak ustawić w CSS, by link NIEodwiedzony był żółty, a odwiedzony - zielony?

A.
a:hover { color: green; } a.link { color: yellow; }
B.
a:visited { color: yellow; } a:link { color: green; }
C.
a:link { color: yellow; } a:visited { color: green; }
D.
a:hover { color: yellow; } a:visited { color: green; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Stan odnośnika opisują pseudoklasy: <code><span class="code-keyword">a</span><span class="code-text">:</span><span class="code-variable">link</span></code> dotyczy linku jeszcze NIEodwiedzonego, a <code><span class="code-keyword">a</span><span class="code-text">:</span><span class="code-variable">visited</span></code> już odwiedzonego. Aby pierwszy był żółty, a drugi zielony, przypisuje się oba kolory osobno: <code><span class="code-keyword">a</span><span class="code-text">:</span><span class="code-variable">link</span> <span class="code-text">{</span> <span class="code-keyword">color</span><span class="code-text">:</span> <span class="code-variable">yellow</span><span class="code-text">;</span> <span class="code-text">}</span> <span class="code-keyword">a</span><span class="code-text">:</span><span class="code-variable">visited</span> <span class="code-text">{</span> <span class="code-keyword">color</span><span class="code-text">:</span> <span class="code-variable">green</span><span class="code-text">;</span> <span class="code-text">}</span></code>. Warto trzymać kolejność LVHA (link, visited, hover, active), bo przy nakładających się regułach decyduje ona o pierwszeństwie. Dlatego poprawny jest ten zestaw.

Pytanie 25

Zdarzenie JavaScript onmousedown występuje, gdy

A. został wciśnięty dowolny klawisz myszy komputerowej na danym elemencie.
B. został naciśnięty dwa razy klawisz myszy komputerowej.
C. wskaźnik myszy komputerowej znalazł się w obrębie obiektu.
D. wskaźnik myszy komputerowej wyszedł poza obręb obiektu.

Brak odpowiedzi na to pytanie.

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

W języku skryptowym JavaScript operatory: || oraz && należą do grupy operatorów

A. logicznych.
B. arytmetycznych.
C. bitowych.
D. przypisania.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Operatory || oraz && w JavaScript to klasyczne operatory logiczne. Działają na wartościach, które można zinterpretować jako prawdę lub fałsz (tzw. wartości truthy i falsy) i zwracają wynik wyrażenia logicznego. && oznacza „i” logiczne – całe wyrażenie jest prawdziwe tylko wtedy, gdy oba operandy są traktowane jako prawdziwe. || oznacza „lub” logiczne – wystarczy, że jeden z operandów jest prawdziwy, żeby całe wyrażenie było uznane za prawdę. W praktyce bardzo często wykorzystuje się je w instrukcjach warunkowych, np.: if (isLoggedIn && isAdmin) { … } albo if (isMobile || isTablet) { … }. W JavaScript te operatory mają jeszcze jedną, moim zdaniem bardzo przydatną cechę: nie zwracają po prostu true/false, tylko konkretną wartość jednego z operandów. Na przykład: const name = userName || "Gość"; – jeśli userName jest wartością „falsy” (np. pusty string, null, undefined), to do name trafi "Gość". To jest tzw. krótkie spięcie (short-circuit evaluation): przy operatorze &&, jeśli pierwszy operand jest falsy, drugi nie jest już w ogóle obliczany; przy ||, jeśli pierwszy jest truthy, drugi też nie jest sprawdzany. W dobrych praktykach front-endu wykorzystuje się to do prostego ustawiania wartości domyślnych, zabezpieczania wywołań funkcji (np. callback && callback()) oraz budowania bardziej czytelnych warunków. Warto też pamiętać o różnicy między operatorami logicznymi (&&, ||, !) a porównania (===, !==), bo to są różne grupy operatorów, chociaż często używa się ich razem w tych samych warunkach. Z mojego doświadczenia, świadome używanie tych operatorów logicznych bardzo upraszcza kod i zmniejsza liczbę if-ów rozrzuconych po skryptach.

Pytanie 27

Rekord w bazie danych jest jednoznacznie identyfikowany przez pole:

A. klucza obcego
B. klucza podstawowego
C. relacji
D. numeryczne

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Rekord w bazie jednoznacznie identyfikuje pole klucza PODSTAWOWEGO (głównego) - jego wartości są unikalne i niepuste. Dlatego identyfikuje go klucz podstawowy.

Pytanie 28

Który rastrowy format graficzny jest obsługiwany przez przeglądarki internetowe?

A. PCX
B. FLIF
C. PNG
D. TGA

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Spośród wymienionych to PNG jest rastrowym formatem obsługiwanym natywnie przez przeglądarki internetowe - obok JPG i GIF tworzy zestaw bezpiecznych formatów webowych. Wyświetli się bez wtyczek i konwersji. Zapamiętaj webowe rastry: JPG (zdjęcia), PNG (jakość + przezroczystość), GIF (proste animacje).

Pytanie 29

Jaka wartość zostanie wypisana na standardowym wyjściu dla zamieszczonego w ramce fragmentu programu napisanego w języku C++ ?

int obliczenia( int x ){
    x %= 3;
    x++;
    return x;
}

int main( ){
    std::cout << obliczenia(32);
}
A. 32
B. 2
C. 0
D. 3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota! Wybrałeś opcję 3, co oznacza, że zrozumiałeś, jak działają operatorzy w C++. W tym przykładzie mamy funkcję 'obliczenia', która przyjmuje argument 'x' równy 32. W środku tej funkcji wykonuje się operacja modulo (x %= 3), co w praktyce oznacza, że dzielimy 32 przez 3 i zostaje nam reszta, czyli 2. Później dodajemy 1 do 'x' (x++), co daje nam w sumie 3. I to właśnie ta liczba jest zwracana przez funkcję i wypisywana na ekranie przez 'std::cout'. Fajnie jest pamiętać, że '%=' skraca zapis do x = x % 3, a 'x++' to z kolei x = x + 1. Te skróty to codzienność w programowaniu, dlatego warto je znać. No i pamiętaj, że w C++ każda funkcja zwraca wartość przy użyciu 'return', a ta wartość jest potem używana tam, gdzie funkcję wywołujesz.

Pytanie 30

Który efekt został zaprezentowany na filmie?

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

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 31

Aby zmienić strukturę tabeli w bazie danych MySQL, należy użyć komendy

A. UPDATE
B. ALTER TABLE
C. GRANT
D. INSERT INTO

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'ALTER TABLE' jest poprawna, gdyż to polecenie w MySQL służy do modyfikacji struktury istniejącej tabeli. Dzięki niemu możemy dodawać nowe kolumny, zmieniać typy danych kolumn, usuwać kolumny, a także zmieniać właściwości tabeli, takie jak klucze główne czy unikalne. Przykład zastosowania polecenia ALTER TABLE to dodanie kolumny do tabeli: 'ALTER TABLE pracownicy ADD COLUMN wiek INT;' co skutkuje dodaniem kolumny 'wiek' o typie INT do tabeli 'pracownicy'. Zgodnie z najlepszymi praktykami, przed wykonaniem takich operacji warto wykonać kopię zapasową bazy danych, aby uniknąć utraty danych w przypadku nieprawidłowego wykonania polecenia. Używanie ALTER TABLE jest kluczowe podczas rozwoju aplikacji, gdyż często zachodzi potrzeba dostosowania struktury bazy danych do zmieniających się wymagań biznesowych.

Pytanie 32

W języku HTML stworzono odnośnik z symbolem #. Co się wydarzy po kliknięciu na podany link?

<a href="#dane">

A. Strona przewinie się do elementu z id o nazwie dane
B. Uruchomi się skrypt o nazwie dane
C. Zostanie użyty względny adres URL o nazwie dane
D. Otworzy się nowa karta przeglądarki zatytułowana dane

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Hiperłącze z użyciem znaku # w języku HTML odnosi się do identyfikatora (id) na tej samej stronie. Gdy użytkownik kliknie ten odsyłacz, przeglądarka przewinie stronę do elementu, który ma przypisany identyfikator 'dane'. To podejście jest powszechnie stosowane w celu ułatwienia nawigacji na długich stronach, gdzie użytkownicy mogą szybko przeskakiwać do interesujących ich sekcji. Przykład praktyczny może obejmować stronę z informacjami o produkcie, gdzie poszczególne sekcje, takie jak 'Specyfikacje', 'Opinie' czy 'FAQ', mają przypisane unikalne identyfikatory. Używając hiperłączy z #, użytkownicy mogą z łatwością dotrzeć do tych sekcji bez przewijania strony manualnie. Tego typu implementacja jest zgodna z zasadami dostępności i ułatwia nawigację, co jest szczególnie ważne w projektowaniu stron przyjaznych dla użytkownika. Ważne jest również, aby identyfikatory były unikalne w obrębie strony, co zapobiega potencjalnym konfliktom i pozwala na prawidłowe przewijanie.

Pytanie 33

Przedstawiony kod źródłowy, zapisany w języku C++, ma za zadanie dla wprowadzanych dowolnych całkowitych liczb różnych od zera wypisać:

int main()
{
    int liczba;
    cin >> liczba;
    while (liczba != 0)
    {
        if ((liczba % 2) == 0)
            cout << liczba << endl;
        cin >> liczba;
    }
    return 0;
}
A. liczby pierwsze
B. jedynie liczby parzyste
C. wszystkie liczby
D. wyłącznie liczby nieparzyste

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ten kod w C++ jest zaprojektowany tak, żeby wypisywał tylko liczby parzyste, które podaje użytkownik. Zaczyna od wczytania liczby całkowitej i potem wchodzi w pętlę, która działa, dopóki użytkownik nie wkroczy z zerem. W pętli sprawdza, czy liczba jest parzysta, co robi poprzez operację modulo. Jeśli reszta z dzielenia przez 2 jest 0, to znaczy, że liczba jest parzysta i wtedy jest wyświetlana na ekranie. To przykład podstawowych rzeczy w programowaniu, jak pętle i warunki, i to są naprawdę ważne umiejętności. Takie konstrukcje są przydatne w wielu programach, na przykład finansowych lub graficznych, gdzie często trzeba sprawdzić i przefiltrować dane według określonych zasad.

Pytanie 34

W CSS zapis w postaci

h1::first-letter{color:red;}
spowoduje, że kolor czerwony będzie dotyczył
A. pierwszej litery nagłówka drugiego poziomu
B. pierwszej linii akapitu
C. tekstów nagłówka pierwszego poziomu
D. pierwszej litery nagłówka pierwszego poziomu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapis CSS h1::first-letter {color: red;} odnosi się do selektora pseudo-elementu first-letter, który jest używany do stylizacji pierwszej litery bloku tekstowego w nagłówkach. W tym wypadku, gdy selektor jest zastosowany do elementu h1, oznacza to, że kolor pierwszej litery nagłówka pierwszego stopnia (h1) zostanie zmieniony na czerwony. Pseudo-element first-letter działa tylko dla elementów blokowych, takich jak nagłówki, akapity czy listy. W praktyce, jeśli w dokumencie HTML mamy element <h1> z tekstem, np. 'Witaj świecie', to wyłącznie litera 'W' zostanie wyświetlona w kolorze czerwonym. To podejście jest zgodne ze standardami CSS, które definiują pseudo-elementy jako specyficzne fragmenty dokumentu, które można stylizować niezależnie od reszty zawartości. Warto również zauważyć, że stosowanie takich selektorów pozwala na uzyskanie bardziej złożonych efektów wizualnych bez konieczności modyfikacji struktury HTML. Umożliwia to projektantom stron internetowych większą elastyczność i kontrolę nad estetyką treści.

Pytanie 35

Jakie zadanie ma funkcja PHP o nazwie mysql_select_db()?

A. wyznaczyć tabelę, z której będą pozyskiwane dane
B. wyznaczyć bazę, z której będą pozyskiwane dane
C. nawiązać połączenie między bazą danych a serwerem SQL
D. uzyskać dane z bazy danych na podstawie zapytania

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja <span>mysql_select_db()</span> w PHP jest naprawdę ważna, bo pozwala nam wybrać konkretną bazę danych, z której chcemy czerpać informacje. Gdy już nawiążemy połączenie z serwerem MySQL przez <span>mysql_connect()</span>, to pierwsze co powinniśmy zrobić, to wybrać bazę danych, na której będziemy działać. To ważny krok, bo w każdej bazie może być sporo tabel, a nasze zapytania muszą iść do odpowiedniej. Na przykład, jeśli mamy bazę danych 'sklep' i potrzebujemy tabeli 'produkty', to musimy wywołać <span>mysql_select_db('sklep')</span>. Dzięki temu MySQL wie, gdzie szukać naszych tabel i informacji. Z mojego doświadczenia, dobrze jest upewnić się, że wybraliśmy odpowiednią bazę danych przed wykonaniem jakichkolwiek zapytań, bo wtedy unikamy różnych problemów z kontekstem danych.

Pytanie 36

Aby wykonać usunięcie wszystkich zapisów z tabeli, konieczne jest użycie kwerendy

A. CREATE COLUMN
B. TRUNCATE TABLE
C. ALTER COLUMN
D. INSERT INTO

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'TRUNCATE TABLE' jest poprawna, ponieważ ta kwerenda służy do usuwania wszystkich rekordów z tabeli w bazach danych SQL. W przeciwieństwie do kwerendy 'DELETE', która usuwa rekordy jeden po drugim i może być stosowana z warunkiem, 'TRUNCATE TABLE' działa na poziomie strony i usuwa wszystkie wiersze za jednym razem, co czyni ją znacznie bardziej wydajną, szczególnie w przypadku dużych zbiorów danych. Gdy wykonujemy 'TRUNCATE TABLE', wszystkie dane są usuwane, a struktura tabeli pozostaje nienaruszona, co oznacza, że możemy natychmiast dodawać nowe dane do tej samej tabeli. Ponadto, użycie 'TRUNCATE TABLE' resetuje wszelkie generatory tożsamości (IDENTITY) w tabeli. W praktyce ta metoda jest często wykorzystywana w scenariuszach, gdzie potrzebne jest szybkie zresetowanie danych w tabeli, na przykład w aplikacjach testowych lub podczas czyszczenia danych w hurtowniach danych. Warto pamiętać, że 'TRUNCATE' nie można zastosować, jeśli tabela jest powiązana z innymi tabelami przez klucze obce, co jest zgodne z zasadami integralności referencyjnej w bazach danych.

Pytanie 37

Dostępna jest tabela programisci, która zawiera pola: id, nick, ilosc_kodu, ocena. Pole ilosc_kodu wskazuje liczbę linii kodu stworzonych przez programistę w danym miesiącu. W celu obliczenia łącznej liczby linii kodu napisanych przez wszystkich programistów, należy zastosować poniższe polecenie

A. SELECT COUNT(programisci) FROM ilosc_kodu;
B. SELECT SUM(ilosc_kodu) FROM programisci;
C. SELECT SUM(ocena) FROM ilosc_kodu;
D. SELECT MAX(ilosc_kodu) FROM programisci;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby obliczyć sumę linii kodu napisanych przez wszystkich programistów w tabeli 'programisci', poprawne jest użycie zapytania SQL: SELECT SUM(ilosc_kodu) FROM programisci. Zapytanie to wykorzystuje funkcję agregującą SUM(), która sumuje wartości w określonej kolumnie, w tym przypadku 'ilosc_kodu'. Kolumna ta zawiera liczbę linii kodu napisanych przez każdego programistę w danym miesiącu. Przykładem zastosowania tego zapytania może być sytuacja, w której chcemy określić całkowitą produktywność zespołu programistycznego w danym okresie czasu. Możemy rozszerzyć to zapytanie, dodając klauzulę WHERE, aby zsumować tylko linie kodu z określonego miesiąca lub roku. Warto również pamiętać o standardach SQL oraz zasadach normalizacji baz danych, które zalecają unikanie redundancji danych i umożliwiają efektywne przetwarzanie zapytań. Dzięki poprawnym praktykom można zapewnić optymalizację wydajności bazy danych oraz ułatwić późniejsze analizy danych.

Pytanie 38

Jakie pojęcia są wykorzystywane do opisu interfejsu użytkownika serwisu internetowego?

A. Przyciski, menu, interakcja użytkownika z aplikacją
B. Szkic strony, mapa witryny, diagram przepływu informacji
C. Wysyłanie zapytań do bazy, skrypty PHP
D. Przetwarzanie danych, system zarządzania treścią, projektowanie informacji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "Przyciski, menu, interakcja użytkownika z aplikacją" jest prawidłowa, ponieważ odnosi się bezpośrednio do kluczowych elementów interfejsu użytkownika (UI) na stronach internetowych. Interfejs użytkownika to zespół wszystkich punktów kontaktowych między użytkownikiem a systemem, a przyciski i menu są podstawowymi składnikami, które umożliwiają interakcję z aplikacją. Dobre praktyki projektowania UI opierają się na zapewnieniu intuicyjności i dostępności tych elementów, co jest podstawą pozytywnego doświadczenia użytkownika (UX). Na przykład, przyciski powinny być jasno oznaczone i łatwo rozpoznawalne, a menu powinno być zorganizowane w sposób logiczny, aby użytkownicy mogli szybko znaleźć potrzebne informacje. W kontekście standardów, warto zwrócić uwagę na wytyczne WCAG, które dotyczą dostępności treści internetowych, oraz zasady heurystyki Jakobsona, które pomagają w ocenie interfejsu użytkownika. Dobry design UI powinien również uwzględniać responsywność, co oznacza, że interfejs powinien być użyteczny na różnych urządzeniach i rozmiarach ekranów.

Pytanie 39

W języku PHP funkcja trim służy do

A. podawania długości tekstu
B. redukcji tekstu o liczbę znaków określoną w parametrze
C. porównywania dwóch tekstów i wyświetlania ich wspólnej części
D. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja <i>trim</i> w języku PHP ma na celu usuwanie białych znaków oraz innych znaków, które są określone w jej parametrach, z obu końców napisu. To niezwykle przydatne narzędzie w programowaniu, szczególnie podczas przetwarzania danych wejściowych, gdzie użytkownicy mogą nieświadomie dodawać zbędne spacje, tabulatory lub nowe linie. Na przykład, gdy przetwarzamy dane formularzy, może się zdarzyć, że użytkownik wprowadzi swoje imię z dodatkowymi spacjami na początku lub końcu. Użycie <i>trim</i> pozwala na zapewnienie, że dane będą miały odpowiednią formę przed dalszym przetwarzaniem, co jest kluczowe w kontekście walidacji i normalizacji danych. Dodatkowo, funkcja ta wspiera podawanie własnych znaków do usunięcia, co czyni ją bardzo elastycznym narzędziem w codziennym programowaniu. Używanie <i>trim</i> jako standardowej praktyki przy obróbce danych tekstowych jest rekomendowane przez wielu ekspertów, ponieważ zwiększa to jakość i spójność przetwarzanych informacji.

Pytanie 40

W którym znaczniku HTML5 stosuje się atrybut action?

A.
<code>
B.
<form>
C.
<head>
D.
<body>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut <code><span class="code-variable">action</span></code> określa adres (URL), pod który trafią dane po zatwierdzeniu formularza, dlatego należy do znacznika <code><span class="code-text">&lt;</span><span class="code-keyword">form</span><span class="code-text">&gt;</span></code>. Razem z atrybutem <code><span class="code-variable">method</span></code> (GET lub POST) definiuje, dokąd i jak wysłać dane. Dlatego <code><span class="code-variable">action</span></code> stosuje się w <code><span class="code-text">&lt;</span><span class="code-keyword">form</span><span class="code-text">&gt;</span></code>.