Wyniki egzaminu

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

Egzamin zdany!

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

Wskaż, na czym polega błąd w kodzie napisanym w języku C++.

char str1[30] = 'Ala ma kota'; printf("%s", str1);
A. Do funkcji printf przekazano zbyt mało argumentów.
B. Napis powinien mieć dokładnie 30 znaków.
C. W funkcji printf nie można używać formatowania %s.
D. Napis powinien być umieszczony w cudzysłowach.
Podawanie błędnych informacji na temat inicjalizacji łańcucha znaków w C++ może prowadzić do poważnych nieporozumień. Wskazanie, że napis powinien mieć dokładnie 30 znaków, nie jest zasadniczo poprawne, ponieważ tablice w C++ mogą mieć zmienną długość. Ważne jest, aby łańcuch znaków był odpowiednio długi, jednak nie istnieje wymóg, aby dokładnie wypełniał całą tablicę. Mówiąc o długości, istotniejsze jest, aby nie przekraczać rozmiaru tablicy, aby uniknąć błędów pamięci. Poza tym, stwierdzenie, że do funkcji printf przekazano zbyt mało argumentów, jest mylące; w tym przypadku argumenty są poprawne, ponieważ przekazujemy jedynie jeden wskaźnik do łańcucha, co jest zgodne z formatem funkcji printf. Dodatkowo, twierdzenie, że w printf nie można stosować formatowania %s, jest całkowicie błędne. Format %s jest standardowym sposobem na wyświetlanie łańcuchów znaków w C++, co jest zgodne z dokumentacją i najlepszymi praktykami w programowaniu. Stosowanie tego formatu jest kluczowe w przypadku pracy z tekstem, a zrozumienie tej zasady jest fundamentem w nauce języka C++. Warto zatem pamiętać o właściwej inicjalizacji łańcuchów oraz o tym, jak korzystać z funkcji wejścia/wyjścia, aby unikać typowych błędów w kodzie.

Pytanie 2

W języku PHP, aby otworzyć już istniejący plik lektury.txt w trybie dodawania treści, tak aby wskaźnik pliku został umieszczony na końcu tego pliku należy zastosować instrukcję

A. fopen("lektury.txt", "a")
B. fopen("lektury.txt", "x")
C. fopen("lektury.txt", "r")
D. fopen("lektury.txt", "w")
W tym zadaniu kluczowe są dwa elementy: tryb otwarcia pliku oraz pozycja wskaźnika pliku. W PHP funkcja fopen() przyjmuje drugi parametr właśnie po to, żeby określić, co chcemy zrobić z plikiem: tylko czytać, tylko pisać, nadpisywać, dopisywać, tworzyć nowy itd. Pomyłki biorą się najczęściej z tego, że ktoś zna ogólne działanie funkcji, ale nie pamięta dokładnie znaczenia poszczególnych liter. Tryb "r" oznacza otwarcie pliku tylko do odczytu. Wskaźnik pliku ustawiany jest na początku, a nie na końcu. W tym trybie nie wolno pisać do pliku – próba użycia fwrite() skończy się ostrzeżeniem lub błędem. To dobry wybór, gdy chcemy np. wczytać konfigurację lub treść pliku, ale zupełnie nie nadaje się do dopisywania nowych danych. Typowym błędem myślowym jest założenie, że skoro fopen otwiera plik, to zawsze można do niego pisać. Niestety, nie – tryb ma tutaj kluczowe znaczenie. Tryb "w" otwiera plik do zapisu, ale przy tym kasuje jego dotychczasową zawartość (truncation). W praktyce oznacza to, że gdy użyjemy fopen("lektury.txt", "w"), cały wcześniejszy tekst zostanie usunięty, a wskaźnik pliku znajdzie się na początku pustego pliku. To jest bardzo ważne: "w" jest dobre, gdy chcemy stworzyć nową wersję pliku od zera, np. generowany raport, ale całkowicie sprzeczne z wymaganiem zadania, które mówi o „dodawaniu treści” do istniejącego pliku bez utraty danych. Tryb "x" z kolei służy do tworzenia nowego pliku i zakończy się błędem, jeśli plik już istnieje. To mechanizm ochronny, używany często tam, gdzie nie chcemy przypadkiem nadpisać istniejącego pliku (np. przy generowaniu unikalnych plików). W kontekście pytania jest to odwrotność tego, co trzeba: my właśnie chcemy pracować z już istniejącym plikiem, a nie wymuszać jego nowość. Moim zdaniem najczęstsza pułapka polega na myleniu „w” i „a”. Oba tryby umożliwiają zapis, ale tylko "a" gwarantuje, że wskaźnik ustawi się na końcu, a dane będą dopisywane, a nie nadpisywane. Dlatego, gdy w zadaniu pojawia się fraza „tryb dodawania treści” i „wskaźnik na końcu pliku”, praktycznie zawsze chodzi o tryb append, czyli właśnie "a".

Pytanie 3

Tablica tab[] jest wypełniona dowolnymi liczbami całkowitymi. Jaka wartość znajdzie się w zmiennej zm2 po wykonaniu prezentowanego fragmentu kodu?

int tab[10];
int zm1 = 0;
double zm2 = 0;

for (int i=0; i < 10; i++)
{
  zm1 = zm1 + tab[i];
}
zm2 = zm1 / 10;
A. Średnia geometryczna liczb od 0 do 9.
B. Suma elementów tablicy.
C. Suma liczb od 1 do 10.
D. Średnia arytmetyczna elementów tablicy.
Rozważanie sumy liczb z tablicy jako wyniku zmiennej zm2 jest błędne, ponieważ zmienna ta nie przechowuje sumy, lecz średnią arytmetyczną. Suma liczb z tablicy jest przechowywana w zmiennej zm1, co jest zupełnie inną wartością. Średnia arytmetyczna jest definicją statystyczną, która odnosi się do podziału całkowitej wartości (sumy) przez liczbę elementów, co w tym przypadku jest realizowane przez zmienną zm2. Wybierając odpowiedź, która twierdzi, że zm2 to suma liczb od 1 do 10, wprowadza w błąd, ponieważ nie ma to związku z danymi w tablicy tab, która zawiera dowolne liczby całkowite. Inna błędna koncepcja to średnia geometryczna, która jest zupełnie innym typem średniej, obliczaną na podstawie iloczynu wartości, a nie ich sumy. Zrozumienie różnicy między tymi pojęciami jest kluczowe w analizie danych i programowaniu, a także w zastosowaniach matematycznych. Błędy w myśleniu, takie jak pomylenie średniej arytmetycznej z geometryczną, mogą prowadzić do poważnych konsekwencji w analizach danych i wnioskach wyciąganych z nich. Niezrozumienie kontekstu tablicy oraz algorytmu prowadzi do nieprawidłowego interpretowania wyników.

Pytanie 4

Baza danych 6-letniej szkoły podstawowej zawiera tabelę uczniowie z kolumnami: imie, nazwisko, klasa. Wszyscy uczniowie w klasach 1 - 5 zaliczyli do następnej klasy. Aby zwiększyć wartość w kolumnie klasa o 1, należy wykorzystać następujące polecenie

A. SELECT uczniowie FROM klasa=klasa+1 WHERE klasa>=1 AND klasa<=5;
B. UPDATE uczniowie SET klasa=klasa+1 WHERE klasa>=1 AND klasa<=5;
C. SELECT nazwisko, imie FROM klasa=klasa+1 WHERE klasa>1 OR klasa<5;
D. UPDATE nazwisko, imie SET klasa=klasa+1 WHERE klasa>1 OR klasa<5;
Poprawna odpowiedź to 'UPDATE szkola SET klasa=klasa+1 WHERE klasa>=1 AND klasa<=5;'. To polecenie SQL jest zgodne z praktykami stosowanymi do aktualizacji danych w bazach danych. Funkcja UPDATE służy do modyfikacji istniejących rekordów w tabeli. W tym przypadku chcemy zwiększyć wartość w kolumnie 'klasa' dla wszystkich uczniów, którzy są obecnie w klasach od 1 do 5. Warunek 'WHERE klasa>=1 AND klasa<=5' zapewnia, że tylko uczniowie z tych klas zostaną zaktualizowani, co jest zgodne z logiką biznesową wskazującą, że wszyscy uczniowie klas 1-5 zdali do następnej klasy. Dzięki temu mamy pewność, że operacja jest przeprowadzana w bezpieczny sposób, minimalizując ryzyko błędów w danych. W praktyce, takie operacje są często stosowane, np. na koniec roku szkolnego, gdy uczniowie przechodzą do wyższej klasy. Ponadto, w kontekście najlepszych praktyk, ważne jest, aby przed wykonaniem operacji UPDATE przeprowadzić odpowiednie zabezpieczenia, takie jak tworzenie kopii zapasowych danych, aby uniknąć utraty informacji.

Pytanie 5

W języku CSS zdefiniowano style dla znacznika h1 zgodnie z podanym wzorem. Przy założeniu, że żadne inne style nie są zastosowane do znacznika h1, wskaż właściwy sposób stylizacji tego elementu

Ilustracja do pytania
A. C
B. B
C. A
D. D
Błędne odpowiedzi wynikają z nieprawidłowego zrozumienia zastosowania specyficznych stylów CSS. Font-style: oblique; jest często mylony z kursywą, czyli font-style: italic;. Oblique to bardziej subtelna forma pochylenia tekstu, która w projektach graficznych może nadawać bardziej nowoczesny wygląd. Dlatego inne opcje, które mogłyby sugerować użycie zwykłej kursywy, są nieprawidłowe. Font-variant: small-caps; często jest mylony z całkowitymi kapitalikami, co może prowadzić do nieporozumienia w formacie tekstu. Small-caps zachowuje proporcje tekstu, przekształcając tylko małe litery, co może być użyteczne w projektach, gdzie estetyka i elegancja są kluczowe. Niewłaściwe zrozumienie tego stylu może prowadzić do błędnych założeń o wyglądzie tekstu. Text-align: right; jest często zapominane, ponieważ większość tekstów w Internecie jest wyrównywana do lewej. Dlatego projekty, które wymagają wyrównania do prawej mogą być błędnie postrzegane jako niestandardowe lub nieoczekiwane. Poprawne użycie text-align: right; może jednak być kluczowe w układzie stron, gdzie asymetria i nowoczesny design są pożądane. Te błędne koncepcje pokazują, jak ważne jest zrozumienie i prawidłowe stosowanie specyficznych stylów CSS, ponieważ mogą one znacząco wpłynąć na wygląd i użyteczność projektu. Właściwe rozróżnienie tych stylów jest kluczowe dla profesjonalnego projektowania stron internetowych, gdzie detale wizualne i funkcjonalne mają istotne znaczenie dla końcowego użytkownika.

Pytanie 6

Jaką funkcję pełni instrukcja DROP w języku SQL?

A. usunąć już istniejący obiekt
B. aktualizować dane obiektu
C. wprowadzić nowy obiekt
D. zmienić właściwości obiektu
Instrukcja DROP w języku SQL jest kluczowym narzędziem do zarządzania bazami danych, używaną do usuwania istniejących obiektów, takich jak tabele, widoki czy procedury składowane. Kiedy używamy polecenia DROP, nie tylko usuwamy obiekt z bazy danych, ale również wszystkie dane z nim związane, co sprawia, że operacja ta jest nieodwracalna. Przykładowo, jeśli chcemy usunąć tabelę o nazwie 'Użytkownicy', musimy użyć polecenia DROP TABLE Użytkownicy. Ważne jest, aby przed wykonaniem takiej operacji upewnić się, że dane są już zarchiwizowane lub nie są już potrzebne, ponieważ ta instrukcja nie da nam możliwości ich odzyskania po wykonaniu. W praktyce, DROP powinno być stosowane z rozwagą — zaleca się przed wykonaniem operacji wykorzystanie polecenia SELECT, aby sprawdzić, jakie dane są w danym obiekcie. Zgodnie z najlepszymi praktykami, organizacje powinny wprowadzać polityki dotyczące usuwania danych, aby zminimalizować ryzyko przypadkowej utraty ważnych informacji.

Pytanie 7

Z bazy danych trzeba uzyskać zapytaniem SQL nazwiska pracowników, którzy sprawują funkcję kierownika, a ich wynagrodzenie mieści się w jednostronnie domkniętym przedziale (3000, 4000>. Która klauzula weryfikuje ten warunek?

A. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
B. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
C. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
D. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
Poprawna odpowiedź to 'WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000;'. Ta klauzula w SQL jest zgodna z wymaganiami, ponieważ precyzyjnie określa, że zwracane będą tylko te rekordy, gdzie pracownik jest kierownikiem oraz jego pensja jest większa niż 3000 i jednocześnie mniejsza lub równa 4000. Zastosowanie operatorów logicznych AND w tym kontekście jest kluczowe, ponieważ pozwala na jednoczesne spełnienie obu warunków. W praktyce, aby uzyskać wyniki zgodne z tymi kryteriami, ważne jest, aby zrozumieć różnicę między operatorami porównawczymi, a także ich zastosowanie w kontekście warunków. Przykładowo, jeśli dla dużej bazy danych chcemy filtrować pracowników w oparciu o ich pozycje oraz wynagrodzenie, stosowanie precyzyjnych klauzul WHERE pozwala na optymalizację zapytań i lepsze zarządzanie danymi. Dobre praktyki w SQL podkreślają znaczenie klarowności i dokładności w definiowaniu warunków, co bezpośrednio przekłada się na efektywność operacji na bazach danych.

Pytanie 8

Dana jest tabela uczniowie, do której wpisano rekordy jak na rysunku. Co będzie wynikiem działania przedstawionego zapytania SQL?

SELECT AVG(ocena) FROM uczniowie;

NazwiskoImieocena
KowalskiSebastian4
KaczmarekMarta3
BaryłaZenon4
GotaAnna3
A. Suma ocen równa 14
B. Dane 4, 3, 4, 3
C. Wartość 3.5
D. Liczba wierszy równa 4
Widzę, że popełniłeś parę błędów w odpowiedziach. Stwierdzenie 'Suma ocen równa 14' pokazuje, że mogłeś nie do końca zrozumieć, jak działa AVG, bo ta funkcja nie sumuje wartości, ale liczy średnią. Z kolei odpowiedzi 'Dane 4, 3, 4, 3' i 'Liczba wierszy równa 4' też sugerują, że coś nie tak z interpretacją wyników. Pierwsza sugeruje, że zapytanie wyciąga konkretne liczby, a to nieprawda, bo AVG zwraca tylko jedną wartość – średnią. A druga odpowiedź wprowadza w błąd, mówiąc o liczbie wierszy, podczas gdy AVG operuje na wartościach, a nie ich ilości. Tego typu pomyłki mogą wynikać z nieznajomości funkcji agregujących w SQL. Ważne jest, żeby zrozumieć, co każda funkcja robi i jakie zwraca wyniki.

Pytanie 9

Jakie są właściwe etapy tworzenia bazy danych?

A. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
B. Zdefiniowanie celu, normalizacja, stworzenie tabel, utworzenie relacji
C. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
D. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
W procesie tworzenia bazy danych kluczowym pierwszym krokiem jest określenie celu, który pozwala zrozumieć, jakie dane będą gromadzone oraz jakie operacje będą na nich wykonywane. Następnie przystępuje się do stworzenia tabel, które stanowią fundamentalne elementy bazy danych. Każda tabela powinna odpowiadać określonym kategoriom danych, a ich struktura powinna być dobrze przemyślana, aby umożliwić efektywne przechowywanie, zarządzanie oraz odczytywanie informacji. Po utworzeniu tabel ważne jest, aby zdefiniować relacje między nimi, co umożliwia integrację danych oraz ich logiczne powiązanie. Na końcu procesu następuje normalizacja, która ma na celu eliminację redundancji danych oraz zwiększenie integralności bazy, co przekłada się na jej wydajność. Przykładem może być stworzenie bazy danych dla systemu zarządzania uczelnią, gdzie tabele odpowiadają za studentów, kursy i wykładowców. Właściwe zdefiniowanie relacji pomoże w zrozumieniu, którzy studenci uczą się na jakich kursach, a normalizacja zabezpieczy przed powielaniem danych.

Pytanie 10

Kolumna, która pełni funkcję klucza głównego w tabeli, powinna

A. zawierać wartości liczbowe
B. zawierać unikalne wartości
C. być innego rodzaju niż inne kolumny
D. posiadać ciągłą numerację
Klucz główny w tabeli bazy danych to naprawdę ważny element. To taki unikalny identyfikator, który pozwala na jednoznaczne rozróżnianie rekordów. Dzięki temu unikamy dublowania danych, co jest istotne, żeby wszystko było jasne i klarowne, bo jak byśmy mieli dwa takie same rekordy, to mogłoby być sporo zamieszania. Na przykład w tabeli 'Klienci' klucz główny to np. numery PESEL czy jakieś unikalne identyfikatory klientów. W praktyce stosuje się też różne standardy, jak SQL, które pomagają ustawić te klucze jako ograniczenia. To sprawia, że nasze dane są bezpieczniejsze i bardziej poprawne. No i tak z doświadczenia, najlepiej jest, jak klucz główny jest prosty, może jako liczba całkowita, bo wtedy wszystko działa szybciej. Podsumowując, unikalność klucza głównego to podstawa, żeby mieć pewność, że nasze dane są spójne i wiarygodne. To kluczowe w każdym systemie bazodanowym.

Pytanie 11

Do uruchomienia systemu CMS Joomla!, dla domyślnej konfiguracji, wymagane jest środowisko

A. IIS, PERL i MySQL
B. C++ i MySQL
C. Apache, PHP i MySQL
D. Python i MySQL
Poprawnie – Joomla! w swojej domyślnej, typowej instalacji działa w klasycznym stosie LAMP/WAMP, czyli serwer HTTP Apache, interpreter PHP oraz baza danych MySQL (obecnie często MariaDB, ale w praktyce nadal mówi się „MySQL”). Joomla! to system CMS napisany w PHP, więc potrzebuje środowiska, które potrafi wykonywać kod PHP po stronie serwera. Apache jest jednym z najpopularniejszych serwerów WWW, świetnie współpracuje z PHP poprzez moduł mod_php albo PHP-FPM i jest standardowo wspierany w dokumentacji Joomla!. Baza MySQL służy do przechowywania wszystkich treści: artykułów, użytkowników, menu, modułów, konfiguracji. Podczas instalacji Joomla! tworzy tabele w MySQL, zapisuje tam dane konfiguracyjne i później przy każdym wyświetleniu strony pobiera je zapytaniami SQL. W praktyce, jeśli stawiasz Joomla! na hostingu współdzielonym, dostajesz właśnie taki zestaw: Apache + PHP + MySQL, często z panelem typu cPanel lub DirectAdmin. To jest zgodne z dobrymi praktykami w branży webowej – prosty, sprawdzony stos, łatwy w administracji i dobrze udokumentowany. Moim zdaniem to też wygodne na etapie nauki: możesz lokalnie postawić XAMPP, WAMP lub Laragon i bez kombinowania odpalić Joomla! na swoim komputerze. W świecie produkcyjnym coraz częściej używa się też Nginx zamiast Apache, ale w treści pytania jest mowa o domyślnej, typowej konfiguracji, a tutaj dalej króluje Apache z PHP i MySQL jako standardowe, rekomendowane środowisko.

Pytanie 12

Aby zdefiniować selektor klasy w kaskadowych arkuszach stylów, należy użyć symbolu

A. . (kropka)
B. *
C. : (dwukropek)
D. #
Selektory klas w CSS są super ważne! Używamy kropki (.) na początku, żeby zdefiniować klasę. To naprawdę ułatwia sprawę, bo można przypisać jeden styl do wielu elementów. Na przykład, jeśli zdefiniujesz klasę .przycisk, to wszystkie elementy, które ją mają, mogą wyglądać tak samo – możesz zmieniać kolory, rozmiary czy inne rzeczy. To świetne, bo dzięki temu kod jest czytelniejszy i łatwiej go ogarnąć. Klasy są bardziej elastyczne niż identyfikatory (#), które są unikalne i można je używać tylko raz w dokumencie. Dlatego, kiedy potrzebujesz, aby kilka elementów miało te same style, lepiej postawić na klasy. A tak w ogóle, użycie kropki dla klas to taki standard w CSS, który pozwala łatwiej ogarniać całą hierarchię stylów na stronie. Po prostu to się sprawdza!

Pytanie 13

Która z podanych funkcji napisanych w PHP oblicza sumę połowy a oraz połowy b?

A. function licz($a, $b) { return $a/2 + $b; }
B. function licz($a, $b) { return $a/2 + $b/2; }
C. function licz($a, $b) { return 2/$a + 2/$b; }
D. function licz($a, $b) { return ($a/2 + $b)/2; }
Funkcja 'function licz($a, $b) { return $a/2 + $b/2; }' jest naprawdę w porządku. Dokładnie wykonuje to, co pytanie wymaga: sumuje połowy zmiennych a i b. W PHP dzielenie robimy przez operator '/', a tu obie liczby są dzielone przez 2, więc dostajemy ich połówki. Potem te połówki dodajemy, co się zgadza z tym, o co chodzi w zadaniu. Na przykład, jak a = 6 i b = 4, to funkcja zwraca (6/2) + (4/2) = 3 + 2 = 5. Takie podejście jest super, bo kod jest czytelny i prosty. W ekipach programistycznych, gdzie różni ludzie mogą pracować nad tym samym kodem, to ma duże znaczenie. Nazwa 'licz' też jest całkiem zrozumiała i dobrze pasuje do tego, co ta funkcja robi, więc później można łatwo z niej korzystać czy zmieniać ją, jak będzie potrzeba.

Pytanie 14

Wskaż blok, który jest sformatowany zgodnie z podanym stylem CSS.

background: linear-gradient(to right, LightBlue, DarkBlue);
Ilustracja do pytania
A. Blok 1
B. Blok 4
C. Blok 3
D. Blok 2
Blok 2 jest poprawną odpowiedzią ponieważ wykorzystuje styl CSS background linear-gradient(to right LightBlue DarkBlue) co oznacza że gradient kolorów rozciąga się od lewej do prawej strony elementu CSS linear-gradient pozwala na tworzenie gładkich przejść między kolorami co jest popularną techniką w projektowaniu stron internetowych Styl ten dodaje wizualnej atrakcyjności i może być użyty w różnych częściach witryny takich jak przyciski nagłówki czy tła sekcji Właściwość gradientu pozwala na zastosowanie wielu kolorów i kontrolowanie ich punktów początkowych i końcowych co zwiększa elastyczność projektowania Ponadto gradienty są wspierane przez wszystkie nowoczesne przeglądarki co czyni je doskonałym wyborem dla responsywnych stron internetowych Wykorzystanie gradientów zamiast obrazów tła pomaga także w optymalizacji strony zmniejszając czas ładowania co jest zgodne z najlepszymi praktykami branżowymi i wpływa pozytywnie na doświadczenie użytkownika CSS oferuje również inne typy gradientów takie jak radial-gradient i conic-gradient które mogą być używane w zależności od potrzeb projektowych

Pytanie 15

Podana linia kodu została napisana w języku?

document.getElementById("paragraf1").innerHTML = wynik;
A. Python
B. PHP
C. C#
D. JavaScript
Odpowiedź JavaScript jest prawidłowa, ponieważ linia kodu, którą przedstawiono, wykorzystuje standardową metodę DOM (Document Object Model) do dynamicznej manipulacji zawartością HTML. W kodzie 'document.getElementById("paragraf1").innerHTML = wynik;' funkcja 'getElementById' służy do odnajdywania elementu HTML o identyfikatorze 'paragraf1'. Następnie, przypisanie wartości zmiennej 'wynik' do 'innerHTML' tego elementu zmienia jego zawartość tekstową. JavaScript jest głównym językiem do tworzenia interaktywnych stron internetowych i umożliwia programistom tworzenie dynamicznych funkcjonalności. Przykład praktycznego użycia to sytuacja, gdy na stronie internetowej chcemy wyświetlić obliczone wyniki w czasie rzeczywistym, np. w aplikacjach kalkulatorów online. W kontekście standardów branżowych, używanie DOM do manipulacji elementami HTML w JavaScript jest uważane za dobrą praktykę, a jego znajomość jest niezbędna dla każdego web developera.

Pytanie 16

Kiedy należy wykorzystać kwerendę SELECT DISTINCT, aby wyodrębnić rekordy?

A. pogrupowane.
B. tak, aby w podanej kolumnie nie powtarzały się wartości.
C. posortowane malejąco lub rosnąco.
D. występujące w bazie tylko raz.
Kwerenda SELECT DISTINCT jest używana do zwracania unikalnych wartości w określonej kolumnie z tabeli w bazie danych. Gdy mamy do czynienia z dużymi zbiorami danych, często zdarza się, że te same wartości pojawiają się wielokrotnie. W takich sytuacjach, aby uzyskać tylko jedną wystąpienie każdej wartości, stosujemy klauzulę DISTINCT. Na przykład, jeśli chcemy uzyskać listę unikalnych miast z tabeli klientów, używamy zapytania: SELECT DISTINCT city FROM customers. To zwraca wszystkie różne wartości miast, które znajdują się w tej tabeli. Użycie DISTINCT może również pomóc w optymalizacji wyników serwisu, redukując ilość danych, które muszą być przetwarzane w dalszych analizach. W praktyce, stosowanie DISTINCT w kontekście tworzenia raportów lub analizy danych jest kluczowe, gdyż pozwala na skupienie się na istotnych informacjach bez zbędnych duplikatów, co jest zgodne z dobrymi praktykami w zarządzaniu danymi.

Pytanie 17

Jakie znaczniki należy zastosować, aby w pliku z rozszerzeniem php umieścić kod napisany w języku PHP?

A. <php>  .......................  </php>
B. <?php ................................ ?>
C. <?php> .......................... <php?>
D. <php ..................................... />
Żeby umieścić kod PHP w pliku o rozszerzeniu .php, trzeba użyć znaczników <?php i ?>. Te znaczniki mówią serwerowi, że wszystko, co jest między nimi, należy traktować jako kod PHP. To jest standardowa praktyka w PHP, ważne jest, aby kod był właściwie przetwarzany przez interpreter. Na przykład, jeżeli chcemy pokazać napis na stronie, możemy użyć: <?php echo 'Witaj świecie!'; ?>. Dzięki temu można w łatwy sposób wpleść kod PHP w plik HTML i robić różne rzeczy, jak np. pracować z bazami danych czy obsługiwać formularze. Zrozumienie tych znaczników jest mega ważne dla każdego programisty, bo wpływa to na wydajność i bezpieczeństwo aplikacji. Jeszcze jedno, PHP to język dynamicznie typowany, więc jego interpretacja może się różnić w zależności od kontekstu. Dlatego tak istotne jest, żeby dobrze formatować kod.

Pytanie 18

Który atrybut należy dodać do znacznika <video>, aby wyciszyć dźwięk odtwarzanego w przeglądarce filmu?

<video>
    <source src="film.mp4" type="video/mp4">
</video>
A. controls
B. muted
C. autoplay
D. loop
Twoja odpowiedź jest poprawna. Atrybut 'muted' jest używany w znaczniku <video>, aby wyłączyć dźwięk dla filmu wyświetlanego w przeglądarce. Jest to sposób na sterowanie dźwiękiem bez konieczności korzystania z dodatkowych elementów kontrolujących odtwarzanie filmu. Jest to bardzo przydatne, gdy chcemy, aby film był odtwarzany w tle bez zakłócania użytkownika dźwiękiem, co jest często stosowane na stronach internetowych. Ważne jest to, że to atrybut 'muted' jest odpowiedzialny za początkowy stan dźwięku filmu, a nie za to, czy użytkownik będzie mógł go później włączyć. Dodatkowo, dobrą praktyką jest pozostawienie użytkownikowi możliwości sterowania dźwiękiem, nawet jeśli jest on domyślnie wyłączony, co można osiągnąć dodając atrybut 'controls'.

Pytanie 19

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. klawiatury będzie zwolniony
B. myszki będzie wciśnięty
C. myszki będzie zwolniony
D. klawiatury będzie wciśnięty
Wybór odpowiedzi związanej z myszą, jak naciśnięcie lub zwolnienie przycisku myszki, jest nieprawidłowy, ponieważ zdarzenie onKeydown nie ma związku z interakcjami myszy. Zdarzenia związane z myszą, takie jak onclick, onmousedown czy onmouseup, są odpowiedzialne za reakcje na działania użytkownika z użyciem myszy, a nie klawiatury. W kontekście zastosowań webowych, mylenie tych dwóch rodzajów interakcji może prowadzić do nieprawidłowego zrozumienia, jak działa system zdarzeń w JavaScript. Zdarzenie onKeydown jest specyficzne dla klawiatury i jest wywoływane tylko, gdy użytkownik naciśnie klawisz na klawiaturze, co jest istotne dla operacji wymagających danych tekstowych lub komend klawiszowych. Ignorowanie tej zasady prowadzi do typowych błędów w programowaniu, takich jak niewłaściwa obsługa zdarzeń, co z kolei może skutkować nieefektywnym działaniem aplikacji i frustracją użytkowników. Ważne jest, aby przy projektowaniu systemów interakcji, wyraźnie rozróżniać rodzaje zdarzeń oraz zrozumieć ich zastosowanie w praktyce, co jest fundamentem efektywnego programowania w JavaScript.

Pytanie 20

Aby zoptymalizować operacje na bazie danych, należy stworzyć indeksy dla pól, które są często wyszukiwane lub sortowane?

A. dodać klucz obcy.
B. dodać więzy integralności.
C. utworzyć indeks.
D. stworzyć osobną tabelę przechowującą tylko te pola.
Dodawanie kluczy obcych ma na celu utrzymanie integralności danych oraz relacji między tabelami, co jest niezwykle ważne w przypadku baz danych złożonych z wielu tabel. Klucz obcy wskazuje na rekord w innej tabeli, co umożliwia zachowanie spójności danych, ale nie przyspiesza operacji wyszukiwania ani sortowania w obrębie pojedynczej tabeli. Bezpośrednio nie wpływa to na wydajność zapytań do tabeli, w której te klucze są zdefiniowane, ponieważ wciąż może być konieczne przeszukiwanie całej tabeli w celu znalezienia odpowiednich rekordów. Więzy integralności, takie jak unikalność czy niepustość kolumn, również służą do utrzymania spójności danych, ale nie przyspieszają operacji wyszukiwania. Są one narzędziem do zapewnienia, że dane są zgodne z określonymi regułami, co jest istotne, ale nie wpływa na wydajność zapytań. Stworzenie osobnej tabeli przechowującej tylko te pola mogłoby w pewnych okolicznościach pomóc w organizacji danych, jednak w praktyce wprowadziłoby to dodatkową złożoność w zarządzaniu relacjami oraz zapytaniami. Takie podejście może prowadzić do większej liczby operacji JOIN, co w dłuższym okresie może spowolnić operacje, zamiast je przyspieszyć. W rezultacie, wszystkie te metody mają swoje miejsce w architekturze baz danych, ale nie są odpowiednie w kontekście optymalizacji operacji wyszukiwania i sortowania na danych.

Pytanie 21

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

A. TINYTEXT
B. INTEGER(11)
C. DECIMAL(10, 2)
D. ENUM
Typ DECIMAL(10, 2) jest optymalnym wyborem dla pola reprezentującego cenę produktu w bazie danych. Pozwala on na przechowywanie liczb dziesiętnych z określoną precyzją, co jest kluczowe w kontekście finansowym, gdzie dokładność kwot ma fundamentalne znaczenie. Wartość '10' oznacza maksymalną liczbę cyfr, które mogą zostać zapisane, a '2' definiuje liczbę cyfr po przecinku. Oznacza to, że możemy przechowywać wartości od -99999999.99 do 99999999.99, co jest wystarczające dla większości zastosowań komercyjnych. Użycie tego typu danych zapewnia, że operacje matematyczne, takie jak dodawanie, odejmowanie czy mnożenie cen, będą wykonywane z zachowaniem dokładności. Jest to zgodne z najlepszymi praktykami w projektowaniu baz danych, gdzie unika się typów danych, które mogą prowadzić do utraty precyzji, jak np. FLOAT czy DOUBLE. Przykładowo, w aplikacji e-commerce, gdzie ceny produktów są często wyświetlane z dwoma miejscami po przecinku, typ DECIMAL jest idealnym rozwiązaniem, aby uniknąć błędów w obliczeniach i zapewnić pełną przejrzystość cenową dla użytkowników.

Pytanie 22

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

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

Pytanie 23

Jaki jest cel zapisu w języku JavaScript?

var napis1 = new napisy();
A. wykonanie metody obiektu napisy
B. stworzenie obiektu napis1 z klasy napisy
C. zainicjowanie zmiennej napis1 oraz wywołanie funkcji, której argumentem jest napis1
D. założenie nowej klasy napis1
Prawidłowa odpowiedź dotyczy utworzenia obiektu napis1 klasy napisy. W języku JavaScript, aby stworzyć nowy obiekt na podstawie istniejącej klasy lub funkcji konstruktora, używamy słowa kluczowego new. Wyrażenie var napis1 = new napisy() inicjalizuje nowy obiekt napis1, który jest instancją klasy napisy. Taki zapis jest kluczowy w programowaniu obiektowym, które pozwala na tworzenie wielu instancji obiektów z podobnymi właściwościami i metodami. Praktyczne zastosowanie tego podejścia jest szerokie od modelowania danych po tworzenie modularnych i łatwych do zarządzania aplikacji. Dobra praktyka nakazuje, aby klasy były dobrze zdefiniowane z jasno określonymi właściwościami i metodami, co ułatwia ich ponowne wykorzystanie i rozszerzanie. W programowaniu funkcjonalnym JavaScript często wykorzystuje się prototypowe dziedziczenie, które pozwala na zmniejszenie liczby powtarzalnych kodów oraz efektywne zarządzanie pamięcią. Warto także pamiętać, że w nowoczesnych wersjach JavaScript stosowane są klasy ES6, które wprowadzają bardziej zrozumiałą składnię dla tworzenia klas i obiektów co poprawia czytelność i strukturę kodu.

Pytanie 24

O obiekcie zdefiniowanym w języku JavaScript można stwierdzić, że zawiera

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. dwie metody oraz jedną właściwość
B. dwie właściwości oraz jedną metodę
C. trzy właściwości
D. trzy metody
Odpowiedź, że obiekt w JavaScript ma dwie właściwości i jedną metodę, jest poprawna. Przykład obiektu `obiekt1` zawiera dwie właściwości: `x` i `y`, które są liczbowymi wartościami. Dodatkowo, metoda `wsp` jest poprawnie zdefiniowana jako funkcja, co czyni ją metodą obiektu. W praktyce obiekty w JavaScript służą do grupowania danych i funkcji, co jest przydatne w programowaniu obiektowym. Wprowadzenie do obiektów i ich właściwości oraz metod jest kluczowym elementem zrozumienia, jak JavaScript operuje na danych. Standardowe praktyki zalecają, aby metody były używane do definiowania zachowań obiektów, co jest zgodne z zasadami programowania zorientowanego obiektowo, gdzie obiekt jest zbiorem właściwości i metod, które operują na tych właściwościach. W kontekście dbałości o czystość kodu, warto zwrócić uwagę na stosowanie dobrej nazewnictwa dla metod i właściwości, co zwiększa czytelność i zrozumienie kodu. Przykładowo, jeśli `wsp` miała by reprezentować funkcję obliczającą współrzędne, dobrze by było, aby jej nazwa była bardziej opisowa, na przykład `obliczWspolrzedne`.

Pytanie 25

Funkcja agregująca MIN w języku SQL ma na celu określenie

A. średniej wartości kolumny obserwowanej w wyniku zapytania
B. wartości minimalnej z kolumny zwróconej przez kwerendę
C. liczby znaków w rekordach zwróconych przez kwerendę
D. liczby wierszy zwróconych przez kwerendę
Funkcja agregująca MIN w języku SQL służy do wyznaczania wartości minimalnej w zadanej kolumnie, co jest kluczowym aspektem analizy danych w bazach danych. Przykładowo, gdy korzystasz z zapytania SELECT MIN(wiek) FROM pracownicy, otrzymasz najniższy wiek pracownika w tabeli. To narzędzie jest niezwykle przydatne w raportowaniu oraz przy podejmowaniu decyzji opartych na danych, gdyż pozwala na szybkie określenie najniższych wartości w zestawieniach, takich jak najstarszy pracownik w firmie, najniższa cena produktu, czy najkrótszy czas realizacji zamówienia. W praktyce, używanie funkcji MIN pomaga organizacjom w identyfikacji problemów oraz w optymalizacji procesów. Stosowanie funkcji agregujących, takich jak MIN, jest zgodne z najlepszymi praktykami w zakresie analizy danych, ponieważ umożliwia efektywne przetwarzanie dużych zbiorów informacji i wyciąganie z nich wartościowych wniosków, co jest kluczowe w zarządzaniu danymi i tworzeniu raportów analitycznych.

Pytanie 26

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

A. readonly
B. value
C. pattern
D. step
W tym pytaniu chodzi o konkretny mechanizm walidacji wbudowany w HTML5, a nie o ogólne właściwości pól formularza. Walidacja za pomocą wyrażeń regularnych jest w standardzie przypisana do jednego, ściśle określonego atrybutu – właśnie pattern. Inne atrybuty z listy pełnią zupełnie inne role i ich mylenie to dość typowy błąd przy nauce formularzy. Atrybut step jest używany do określania „kroku” dla wartości liczbowych lub dat, np. w input type="number" czy type="date". Pozwala zdefiniować, o ile ma się zwiększać lub zmniejszać wartość przy użyciu strzałek lub walidować, czy liczba jest wielokrotnością danego kroku. Przykład: step="0.5" przy liczbie zmiennoprzecinkowej. Nie ma on żadnego związku z wyrażeniami regularnymi ani ze zwykłym tekstem w type="text". value z kolei to po prostu wartość pola – początkowa (domyślna) lub aktualna, odczytywana i modyfikowana przez JavaScript lub wysyłana w formularzu. Ustawienie value nie waliduje danych, tylko je definiuje. Można wprawdzie ręcznie sprawdzać value w JS i dopasowywać je do regexa, ale to już logika skryptu, a nie działanie samego atrybutu w HTML. To pewnie częsty skrót myślowy: „wartość pola” vs. „sprawdzenie wartości pola”, ale przeglądarka sama z siebie nie waliduje na podstawie samego value. readonly natomiast blokuje możliwość edycji pola przez użytkownika, ale nadal wysyła jego wartość z formularzem. To przydatne, gdy chcemy coś pokazać, ale nie pozwolić na zmianę, np. wygenerowany identyfikator. Nie ma tu żadnej analizy treści, żadnego dopasowywania do wzorca – po prostu pole jest nieedytowalne. Czasem ktoś myśli: „skoro nie można tego zmienić, to jakby jest bezpieczne i zwalidowane”, ale to już bardziej kwestia logiki aplikacji, a nie mechanizmu walidacji. Mechanizm HTML5 do regexów jest jeden: pattern. Warto go łączyć z innymi atrybutami walidacyjnymi, jak required, minlength, maxlength, type, ale to właśnie pattern odpowiada za dopasowanie tekstu do określonego wzorca. Wszystko inne z tej listy pełni pomocnicze lub zupełnie inne funkcje i nie zastępuje typowej walidacji opartej o wyrażenia regularne.

Pytanie 27

Jaką funkcję pełni CONCAT w języku SQL?

A. określenie podłańcucha znaków z tekstu wejściowego
B. usuniecie określonego tekstu
C. przycinanie wyświetlanego tekstu
D. łączenie tekstu do wyświetlenia
Funkcja CONCAT w języku SQL jest używana do łączenia dwóch lub więcej ciągów tekstowych w jeden. Jest to bardzo przydatne narzędzie w zarządzaniu danymi, gdyż pozwala na tworzenie bardziej złożonych i informacyjnych komunikatów tekstowych z pojedynczych elementów. Funkcja ta przyjmuje jako argumenty dowolną liczbę ciągów znakowych, a jej wynik to jeden skonsolidowany ciąg. Na przykład, jeżeli mamy dwie kolumny, 'imię' i 'nazwisko', używając CONCAT możemy stworzyć pełne imię i nazwisko: SELECT CONCAT(imię, ' ', nazwisko) AS pełne_imie FROM użytkownicy; W wyniku tego zapytania otrzymamy pełne imiona i nazwiska użytkowników. Funkcja ta jest zgodna z normami ANSI SQL i jest wspierana przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, czy Microsoft SQL Server, co sprawia, że jest bardzo uniwersalnym narzędziem w świecie baz danych.

Pytanie 28

Który z akapitów został sformatowany według podanego stylu, przy założeniu, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Efekt 2
B. Efekt 4
C. Efekt 3
D. Efekt 1
Wybór błędnej odpowiedzi może wynikać z niepełnego zrozumienia działania właściwości CSS które kontrolują wygląd elementów HTML W przypadku efektu 1 tekst jest pogrubiony ale kolor tła jest ciemny co nie odpowiada żadnej z właściwości podanych w stylu CSS Styl CSS zakłada jasne tło z niebieskim obramowaniem co nie jest odzwierciedlone w tym przykładzie Również tekst nie jest odpowiednio ułożony w środkowej przestrzeni jak to zakłada padding 20px Efekt 2 mimo że zawiera niebieski kolor tekstu i obramowanie ma bardzo cienką czcionkę bez odpowiedniego pogrubienia co jest wymagane przez font-weight 900 Ta niezgodność wskazuje na nieprawidłowe zastosowanie właściwości CSS Sytuacja z efektem 4 wygląda podobnie mimo że tekst jest pogrubiony obramowanie jest zbyt grube a tekst nie ma wystarczającej przestrzeni wokół niego co wskazuje na brak ustawienia padding na 20px Zrozumienie tych różnic pomaga w poprawnym stosowaniu stylów CSS w praktyce co jest kluczowe dla tworzenia spójnych i atrakcyjnych wizualnie projektów internetowych Kluczowe jest również testowanie i przeglądanie kodu aby upewnić się że wszystkie właściwości są odpowiednio zdefiniowane i zastosowane we właściwych kontekstach przy projektowaniu interfejsów użytkownika

Pytanie 29

Na podstawie jakiego parametru oraz z ilu tabel zostaną zwrócone wiersze w wyniku przedstawionego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis
WHERE producent.nr_id = hurtownia.nr_id
AND producent.wyrob_id = serwis.wyrob_id
AND hurtownia.nr_id = sklep.nr_id
AND sklep.nr_id = serwis.nr_id
AND producent.nr_id = 1;
A. Na podstawie parametru wyrob_id wyłącznie z trzech tabel
B. Na podstawie parametru nr_id wyłącznie z trzech tabel
C. Na podstawie parametru nr_id ze wszystkich tabel
D. Na podstawie parametru wyrob_id ze wszystkich tabel
Zapytanie SQL używa parametru nr_id jako kluczowego elementu łączącego cztery tabele producent hurtownia sklep oraz serwis Dzięki temu zapytanie zwraca wiersze dla wszystkich tych tabel gdzie istnieje wspólna wartość nr_id W praktyce klucz taki jak nr_id jest używany do tworzenia relacji pomiędzy różnymi tabelami co jest podstawą w relacyjnych bazach danych Użycie tego samego klucza w zapytaniu umożliwia efektywne łączenie danych i jest zgodne z zasadami normalizacji danych która zmniejsza redundancję i poprawia integralność danych Praktycznym przykładem może być analiza danych sprzedażowych gdzie nr_id reprezentuje unikalny identyfikator zamówienia łączący dane producenta dystrybutora sklepu i serwisu W ten sposób można uzyskać pełny widok na procesy biznesowe we wszystkich etapach cyklu życia produktu Zachowanie tej struktury relacyjnej pozwala na szybkie i dokładne analizy co jest kluczowe w podejmowaniu decyzji biznesowych

Pytanie 30

Projektant stworzył logo dla witryny internetowej. Jest to czarny symbol na przezroczystym tle. Aby zachować wszystkie cechy obrazu i umieścić go na stronie, projektant powinien zapisać plik w formacie

A. JPG
B. CDR
C. BMP
D. PNG
Format PNG to super wybór do przechowywania obrazów z przezroczystością, zwłaszcza jeśli chodzi o logo na stronach www. Wiesz, co jest fajne? To, że PNG obsługuje kanał alfa – dzięki temu można zapisać obrazki z przezroczystym tłem. To jest mega ważne, bo logo często muszą się dobrze prezentować na różnych kolorach, prawda? A jeśli chodzi o jakość, to PNG kompresuje obrazy bezstratnie, co znaczy, że nie tracimy detali i jakość pozostaje na wysokim poziomie, a plik nie jest za duży. Graficy często sięgają po PNG, gdy robią ikony czy różne grafiki internetowe, które muszą wyglądać dobrze. W branży web designu to naprawdę standard, żeby korzystać z PNG, bo jest elastyczny na różnych platformach i urządzeniach, więc nie ma co się dziwić, że fachowcy go lubią.

Pytanie 31

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

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

Pytanie 32

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 zwraca wartości
C. nie przyjmuje żadnych argumentów
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 33

Jak można opisać przedstawiony obiekt w JavaScript?

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { ... }
}
A. dwiema właściwościami i jedną metodą
B. trzema metodami
C. trzema właściwościami
D. dwiema metodami i jedną właściwością
Obiekt w języku JavaScript to struktura danych, która przechowuje zbiór właściwości, gdzie każda właściwość jest parą klucz-wartość. W podanym przykładzie mamy obiekt o nazwie 'obiekt1' zdefiniowany za pomocą literału obiektowego. Składa się on z dwóch właściwości 'x' i 'y', które mają przypisane wartości liczby całkowitej zero oraz jednej metody 'wsp', która jest funkcją. Właściwości 'x' i 'y' są prostymi wartościami liczbowymi, a metoda 'wsp' jest zdefiniowana jako funkcja, co oznacza, że można ją wywoływać, aby wykonywać pewne operacje. Tego typu struktury są często używane w JavaScript do tworzenia obiektów reprezentujących dane, jak współrzędne punktów na płaszczyźnie. Dzięki możliwości definiowania metod, obiekty mogą wykonywać operacje na swoich danych, co jest zgodne z zasadami programowania obiektowego. Dzięki zrozumieniu tej struktury, programista może efektywnie zarządzać danymi i logiką aplikacji, stosując dobre praktyki takie jak enkapsulacja i modularność kodu.

Pytanie 34

Zdefiniowany styl CSS spowoduje, że nagłówki pierwszego poziomu będą

Ilustracja do pytania
A. wyśrodkowane, pisane małymi literami, a odstępy między liniami ustalone na 10 px
B. wyśrodkowane, pisane wielkimi literami, a odstępy między literami ustalone na 10 px
C. wyjustowane, pisane wielkimi literami, a odstępy między liniami ustalone na 10 px
D. wyjustowane, pisane małymi literami, a odstępy między literami ustalone na 10 px
Odpowiedź jest prawidłowa, ponieważ reguły CSS wyrażone w stylu są poprawnie zinterpretowane w kontekście podanej definicji. Wartość text-align: center oznacza, że tekst wewnątrz elementu h1 będzie wyśrodkowany. Centrum tekstu jest powszechnie stosowane w projektowaniu stron internetowych w celu zwiększenia czytelności i estetyki nagłówków co jest korzystne w wizualnym uporządkowaniu treści. Wartość text-transform: uppercase przekształca wszystkie litery w sekcji na wielkie litery co jest pomocne w przypadku nagłówków gdzie wyróżnienie jest kluczowe i potęguje efekt wizualny. Stosowanie wielkich liter w nagłówkach jest klasycznym podejściem w projektowaniu ponieważ przyciąga uwagę użytkownika. Dodatkowo letter-spacing: 10px zwiększa odstępy między literami co poprawia ich czytelność zwłaszcza w dużych formatach tekstu. Zastosowanie takich właściwości jest zgodne z dobrymi praktykami projektowymi które dążą do optymalizacji wizualnej i funkcjonalnej stron internetowych co jest kluczowe dla pozytywnego doświadczenia użytkownika

Pytanie 35

Stronę internetową zapisano w języku XHTML. Który z kodów stanowi implementację przedstawionego fragmentu strony, jeżeli żadne style CSS nie zostały zdefiniowane?

Początki HTML

W 1980 fizyk Tim Berners-Lee, pracownik CERN,
stworzył prototyp hipertekstowego systemu informacyjnego – ENQUIRE


A.
<b>Początki HTML</b>
<p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył
<b>prototyp hipertekstowego systemu informacyjnego – <i>ENQUIRE</i></b></p>
B.
<h1>Początki HTML</h1>
<p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył
<b>prototyp hipertekstowego systemu informacyjnego – <i>ENQUIRE</i></b></p>
C.
<b>Początki HTML</b>
<p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<hr /> stworzył
<b>prototyp hipertekstowego systemu informacyjnego – <i>ENQUIRE</i></b></p>
D.
<h1>Początki HTML</h1>
<p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył
<i>prototyp hipertekstowego systemu informacyjnego – <b>ENQUIRE</b></i></p>
A. B.
B. C.
C. D.
D. A.
Niestety, twoja odpowiedź nie była poprawna. Wybrany przez ciebie fragment kodu nie odpowiadał strukturze i hierarchii tagów HTML widocznej na obrazku. HTML jest językiem znaczników, który wykorzystuje różne tagi do definiowania struktury i formatowania treści na stronie internetowej. Możliwe, że niepoprawne rozumienie tagów HTML mogło skłonić cię do wybrania nieprawidłowej odpowiedzi. Na przykład, jeśli wybrałeś opcję zawierającą tagi <h2> zamiast <h1> dla nagłówka, to mogło to wynikać z niewłaściwego zrozumienia hierarchii nagłówków w HTML. Podobnie, jeśli wybrałeś opcję, która nie zawierała tagu <br />, mogło to wynikać z niewłaściwego zrozumienia funkcji tego tagu w tworzeniu przerw wiersza. Ważne jest zrozumienie, jak różne tagi HTML wpływają na prezentację i strukturę strony internetowej, aby uniknąć błędów podczas tworzenia stron.

Pytanie 36

Zamieszczone poniżej zapytanie SQL przyznaje uprawnienie SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla konta root na serwerze localhost
B. do wszystkich tabel w bazie danych hurtownia
C. do wszystkich kolumn w tabeli hurtownia
D. dla konta root na serwerze sprzedawca
Podane polecenie SQL <code>GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';</code> jest poprawne, ponieważ przyznaje uprawnienia do wykonywania zapytań SELECT na wszystkich tabelach w bazie danych hurtownia. Operator <code>.*</code> w kontekście bazy danych oznacza, że dotyczy to wszystkich tabel znajdujących się w tej bazie. Przyznawanie uprawnień w taki sposób jest zgodne z najlepszymi praktykami zarządzania dostępem w systemach baz danych, ponieważ umożliwia kontrolowanie, którzy użytkownicy mogą uzyskiwać dostęp do danych. W praktyce, jeśli 'sprzedawca' potrzebuje przeglądać dane ze wszystkich tabel w hurtowni, to takie przyznanie uprawnień jest najbardziej efektywne. Takie podejście ułatwia zarządzanie uprawnieniami, pozwalając administratorom na nadawanie ogólnych uprawnień w ramach bazy danych, zamiast przypisywania ich dla każdej tabeli z osobna. Dobrą praktyką jest również regularne przeglądanie i aktualizowanie przydzielonych uprawnień, aby zapewnić bezpieczeństwo i zgodność z zasadami ochrony danych.

Pytanie 37

Jakie dane zostaną wybrane po wykonaniu poniższej kwerendy na pokazanych rekordach?

SELECT id FROM samochody WHERE rocznik LIKE "2%4";

idmarkamodelrocznik
1FiatPunto2016
2FiatPunto2002
3FiatPunto2007
4OpelCorsa2016
5OpelAstra2003
6ToyotaCorolla2016
7ToyotaCorolla2014
8ToyotaYaris2004
A. Wszystkie id
B. Tylko id równe 8
C. Brak danych
D. Pole id równe 7 oraz 8
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL SELECT id FROM samochody WHERE rocznik LIKE '2_4'; filtruje rekordy, które mają w kolumnie rocznik wartość z drugą cyfrą równą '2' i czwartą cyfrą równą '4'. W złożonym zapytaniu SQL zastosowano operator LIKE z użyciem symbolu podkreślenia (_) jako symbolu zastępczego dla pojedynczego znaku. To oznacza, że szukamy dowolnego roku, który zaczyna się od cyfry '2', ma dowolną cyfrę na drugiej pozycji i cyfrę '4' na ostatniej pozycji. Praktycznie oznacza to, że wybierane są identyfikatory pojazdów, które mają rocznik odpowiadający temu wzorcowi. W dostarczonym zbiorze danych tylko rekordy o id 7 i 8 spełniają ten warunek, ponieważ rocznik to 2014 i 2004. Tego rodzaju konstrukcja SQL jest użyteczna w sytuacjach, gdy potrzebujemy selektywnie uzyskać dane na podstawie wzorców. Operator LIKE jest bardzo efektywny w analizie danych tekstowych w bazach danych np. w raportach analitycznych gdzie kluczowe jest wyszukiwanie na podstawie wzorców. Warto zaznaczyć, że takie podejście jest zgodne ze standardami SQL, ułatwiającymi zarządzanie i filtrowanie danych w złożonych systemach bazodanowych.

Pytanie 38

Która komenda algorytmu odpowiada graficznej wizualizacji bloku przedstawionego na ilustracji?

Ilustracja do pytania
A. Wypisz n
B. n <- n + 5
C. Wykonaj podprogram sortowania tablicy t
D. n > 20
Analizując dostępne opcje należy zrozumieć że poprawna identyfikacja elementów algorytmu zależy od znajomości symboli używanych w schematach blokowych. Wybór n>20 jako poprawnej odpowiedzi wynika z rozpoznania rombu jako symbolu decyzji. Opcja Wypisz n sugeruje operację wyjściową która w schematach blokowych zwykle reprezentowana jest przez prostokąt z zakrzywionymi narożnikami co oznacza wyświetlanie wartości zmiennej. Instrukcja n <- n + 5 jest przykładem operacji przypisania lub inkrementacji która zazwyczaj oznacza modyfikację wartości zmiennej i byłaby przedstawiona jako prostokąt oznaczający proces. Natomiast Wykonaj podprogram sortowania tablicy t to wywołanie funkcji które także mieści się w zakresie standardowego bloku procesowego. Wybór tych opcji wskazuje na brak poprawnego zrozumienia jakie typy operacji reprezentują różne kształty w schematach blokowych co może prowadzić do błędów w projektowaniu algorytmów. Zrozumienie znaczenia każdego bloku jest kluczowe w procesie tworzenia dokładnych i funkcjonalnych modeli algorytmicznych które są podstawą efektywnego rozwiązywania problemów w informatyce i inżynierii oprogramowania. Warto zwrócić uwagę na standardy takie jak UML czy BPMN które także definiują podobne symbole i konwencje co ułatwia komunikację i dokumentację w zespołach projektowych.

Pytanie 39

Podczas tworzenia tabeli w SQL określono pole, w którym wartości muszą być unikalne. Którego atrybutu należy użyć w jego definicji?

A. UNIQUE
B. DEFAULT
C. IDENTITY
D. NOT NULL
Atrybut UNIQUE w SQL służy do zapewnienia, że wartości w danym polu są unikalne w całej tabeli. Jest to kluczowy mechanizm dla zachowania integralności danych, szczególnie w przypadkach, gdy konkretne pole powinno pełnić rolę identyfikatora lub klucza obcego. Przykładem zastosowania atrybutu UNIQUE może być tabela zawierająca dane o użytkownikach, w której adres e-mail musi być wyjątkowy dla każdego użytkownika. Definiując pole e-mail jako UNIQUE, baza danych zablokuje możliwość dodania dwóch rekordów z tym samym adresem, co chroni przed duplikacją danych. Warto pamiętać, że atrybut UNIQUE może być stosowany na wielu polach jednocześnie, co pozwala na tworzenie złożonych reguł unikalności. Przykładowo, można zdefiniować UNIQUE na kombinacji imienia i nazwiska w tabeli klientów, co zapewni, że nie pojawią się dwa identyczne wpisy dla tej samej osoby. Praktyka ta jest zgodna z zasadami normalizacji danych, które dążą do minimalizacji redundancji oraz zapewnienia spójności danych w bazie.

Pytanie 40

Który z poniższych fragmentów kodu JavaScript zwróci true?

A. "def" > "abc"
B. "a" > "b"
C. "abc" > "def"
D. "ab" > "c"
Porównania 'a' > 'b', 'ab' > 'c' oraz 'abc' > 'def' nie zwracają wartości true z powodu zasad leksykalnego porównania ciągów tekstowych w JavaScript. W pierwszym przypadku, porównując 'a' do 'b', 'a' ma wartość Unicode 97, a 'b' wartość 98. Ponieważ 97 jest mniejsze niż 98, porównanie zwraca false. W drugim przypadku, 'ab' i 'c' są analizowane w ten sposób, że 'a' (97) jest mniejsze niż 'c' (99), co również skutkuje wynikiem false, ponieważ porównanie zaczyna się od pierwszych znaków. Ostatnie porównanie 'abc' > 'def' także zwraca false, ponieważ pierwszy znak 'd' (100) jest większy niż 'a' (97), co sprawia, że całe porównanie jest fałszywe. Warto zauważyć, że w przypadku porównań ciągów tekstowych, wielkość liter ma wpływ na wynik, dlatego 'A' będzie mniejsze od 'a', co może prowadzić do nieporozumień, szczególnie przy pracy z danymi użytkowników lub przy sortowaniu. Zrozumienie tych zasad jest kluczowe dla programistów, aby unikać błędów logicznych w kodzie.