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: 5 maja 2026 15:35
  • Data zakończenia: 5 maja 2026 15:49

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

Wbudowanym w pakiet XAMPP narzędziem służącym do zarządzania bazą danych jest

A. SQLite
B. pgAdmin
C. MySQL Workbench
D. phpMyAdmin
Poprawną odpowiedzią jest phpMyAdmin, bo to właśnie to narzędzie jest domyślnie zintegrowane z pakietem XAMPP jako panel do zarządzania bazą danych MySQL/MariaDB przez przeglądarkę. Po instalacji XAMPP masz zazwyczaj skrót „phpMyAdmin” w panelu kontrolnym, a samo narzędzie jest dostępne pod adresem typu http://localhost/phpmyadmin. Nie trzeba nic dodatkowo instalować ani konfigurować, poza uruchomieniem modułu Apache i MySQL/MariaDB w XAMPP. Z mojego doświadczenia to jest pierwsze miejsce, gdzie większość osób zaczyna przygodę z bazami danych w środowisku lokalnym. phpMyAdmin to aplikacja webowa napisana w PHP, która pozwala wykonywać większość typowych operacji administracyjnych na bazie: tworzenie i usuwanie baz danych, tworzenie tabel, modyfikacja struktury (typy pól, klucze główne, indeksy), wstawianie i edycja rekordów, eksport i import danych (np. pliki .sql), nadawanie uprawnień użytkownikom. Dla początkujących to ogromne ułatwienie, bo nie trzeba od razu pisać ręcznie długich zapytań SQL – wiele rzeczy da się „wyklikać”, a phpMyAdmin dodatkowo pokazuje, jakie zapytania SQL wygenerował. To jest fajny sposób, żeby stopniowo oswajać się ze składnią SQL. W dobrych praktykach pracy z XAMPP przyjmuje się, że w środowisku developerskim phpMyAdmin jest jak najbardziej ok. Można szybko tworzyć bazy testowe dla projektów PHP, WordPressa czy innych CMS-ów, robić eksport bazy z localhosta i import na serwer produkcyjny. Przy większych, profesjonalnych wdrożeniach często używa się bardziej zaawansowanych narzędzi lub linii komend, ale nawet wtedy phpMyAdmin zostaje jako wygodne narzędzie pomocnicze. Ważne jest tylko, żeby w środowisku produkcyjnym odpowiednio zabezpieczyć dostęp do phpMyAdmin (hasła, ograniczenia IP, dodatkowe uwierzytelnianie), bo domyślnie nie jest to narzędzie projektowane z myślą o wystawianiu „na świat” bez żadnych zabezpieczeń. W kontekście nauki programowania webowego i baz danych warto świadomie korzystać z phpMyAdmin: podglądać generowane zapytania SQL, ćwiczyć tworzenie relacji, kluczy obcych, backupów. To narzędzie jest na tyle popularne, że praktycznie w każdym hostingu współdzielonym znajdziesz bardzo podobny panel, więc umiejętność pracy z phpMyAdmin przydaje się później w realnych projektach komercyjnych.

Pytanie 2

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Jak powinno wyglądać to w aktualizacji bazy danych?

A. UPDATE pensja SET +100;
B. UPDATE pracownicy SET pensja = pensja + 100;
C. UPDATE pensja SET 100;
D. UPDATE pracownicy SET pensja = 100;
Odpowiedź 'UPDATE pracownicy SET pensja = pensja + 100;' jest prawidłowa, ponieważ wprowadza właściwą składnię SQL, która aktualizuje pole 'pensja' w tabeli 'pracownicy'. To polecenie wykorzystuje operator przypisania '=', aby zaktualizować wartość 'pensja', dodając do niej 100 zł. W praktyce jest to typowy sposób na modyfikację danych w bazach danych relacyjnych, przy użyciu SQL. Kluczowym aspektem jest zrozumienie, że 'pensja' w tym kontekście odnosi się do istniejącej wartości w danym rekordzie, a nie do jakiejś stałej. Operator '+' w tym przypadku informuje system, że chcemy zwiększyć aktualną wartość o 100. Użycie tego typu składni jest zgodne z najlepszymi praktykami w programowaniu baz danych, co sprzyja przejrzystości i zrozumiałości kodu. Tego rodzaju aktualizacje są kluczowe w zarządzaniu danymi pracowników, zwłaszcza w kontekście systemów wynagrodzeń, gdzie regularne zmiany pensji są normą.

Pytanie 3

Aby określić styl czcionki w CSS, należy zastosować właściwość

A. text-family
B. font-style
C. font-family
D. text-style
Stosowanie właściwości 'text-style' jest niepoprawne, ponieważ nie istnieje taka właściwość w standardzie CSS. Zamiast tego, do modyfikacji stylu tekstu służą inne właściwości, takie jak 'font-style' czy 'text-decoration', które pozwalają na zastosowanie kursywy lub podkreślenia, lecz nie definiują kroju czcionki. Z kolei 'font-style' odnosi się do stylizacji czcionki, a nie do jej wyboru. Pozwala on na ustawienie, czy czcionka ma być normalna, pochylona czy pogrubiona, ale nie określa, jakiego kroju czcionki używamy. To prowadzi do powszechnego błędu, kiedy użytkownicy myślą, że 'font-style' określa również krój, co jest nieprawdziwe. Z drugiej strony, 'text-family' nie jest uznawanym terminem w kontekście CSS, co może wprowadzać w błąd początkujących programistów. Ważne jest, aby zrozumieć, że właściwości CSS są ściśle zdefiniowane i korzystanie z nieprawidłowych terminów prowadzi do błędów w kodzie. Aby uniknąć takich nieporozumień, warto zapoznać się z dokumentacją CSS oraz standardami W3C, które dostarczają klarownych informacji na temat dostępnych właściwości i ich zastosowań.

Pytanie 4

Aby ułatwić dodawanie oraz modyfikowanie danych w tabeli, konieczne jest zdefiniowanie

A. formularza.
B. zapytania SELECT.
C. filtru.
D. sprawozdania.
Kwerenda SELECT jest narzędziem służącym do pobierania danych z bazy danych. Chociaż może być wykorzystywana do wyświetlania informacji, nie jest ona odpowiednia do wprowadzania lub edytowania danych. Kwerenda SELECT jedynie odzwierciedla stan bazy danych w momencie jej wykonania, nie oferując możliwości edycji czy wprowadzania nowych informacji. Podobnie, raport jest narzędziem, które syntetyzuje dane i przedstawia je w zrozumiały sposób, jednak jego funkcjonalność ogranicza się do prezentacji wyników, a nie do interakcji z danymi. Raporty są przydatne do analizowania danych, ale nie umożliwiają użytkownikom zmiany ich zawartości. Z kolei filtr to mechanizm, który pozwala na ograniczenie wyświetlanych danych na podstawie określonych kryteriów. Filtry są użyteczne w kontekście przeszukiwania danych, ale ich rola nie obejmuje edytowania ani wprowadzania nowych informacji. Filtry pomagają w selekcji danych, ale nie zmieniają ich stanu, co czyni je niewłaściwym wyborem dla zadania edycji danych. W skrócie, wszystkie wymienione opcje mają swoje zastosowania, lecz nie są w stanie zastąpić funkcji formularza w kontekście jednostkowego wprowadzania i edytowania danych.

Pytanie 5

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. grupowania.
C. wykluczenia.
D. części wspólnej.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 6

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. myszki został zwolniony
B. klawiatury został naciśnięty
C. myszki został naciśnięty
D. klawiatury został zwolniony
Zdarzenie onKeydown w JavaScript jest wywoływane, gdy użytkownik naciśnie klawisz na klawiaturze. To fundamentalne zdarzenie jest często wykorzystywane w aplikacjach webowych do obsługi interakcji użytkowników, takich jak wprowadzanie danych czy nawigacja po formularzach. W momencie naciśnięcia klawisza, przeglądarka emituje to zdarzenie, co pozwala programistom na reagowanie na konkretne akcje. Na przykład, jeśli chcemy stworzyć prostą grę opartą na ruchu postaci, możemy wykorzystać onKeydown do wykrywania klawiszy strzałek i poruszania postacią w odpowiednich kierunkach. Warto również zauważyć, że onKeydown różni się od onKeyup, które jest wywoływane, gdy klawisz jest zwolniony, co ma znaczenie w przypadku obsługi sekwencji klawiszy oraz klawiszy modyfikujących, takich jak Shift czy Ctrl. Zrozumienie tych różnic jest kluczowe dla tworzenia responsywnych i interaktywnych aplikacji webowych, zgodnych z najlepszymi praktykami programowania.

Pytanie 7

W programie Microsoft Access metodą zabezpieczającą dostęp do danych związanych z tabelą oraz kwerendą jest

A. nałożenie limitów przestrzeni dyskowej
B. użycie makr
C. przydzielenie uprawnień
D. ustalanie przestrzeni tabel
Przypisanie uprawnień w programie Microsoft Access jest kluczowym mechanizmem zabezpieczającym dostęp do danych w tabelach i kwerendach. Uprawnienia definiują, kto ma dostęp do jakich zasobów oraz jakie operacje mogą być na nich wykonywane, co jest istotne w kontekście ochrony danych przed nieautoryzowanym dostępem. W Microsoft Access uprawnienia można przydzielać na poziomie użytkownika lub grupy użytkowników, co umożliwia granularne zarządzanie dostępem. Przykładem może być sytuacja, w której administrator przydziela uprawnienia do odczytu, edycji lub usuwania danych tylko wybranym użytkownikom, co jest niezbędne w środowiskach, gdzie dane są wrażliwe i wymagają ochrony. Przypisanie uprawnień opiera się na standardzie modelu kontroli dostępu, który definiuje zasady dotyczące uprawnień oraz poziomów dostępu. W praktyce, proces ten obejmuje tworzenie ról użytkowników oraz przypisywanie im odpowiednich uprawnień, co wspiera zgodność z regulacjami prawnymi dotyczącymi ochrony danych osobowych, takimi jak RODO.

Pytanie 8

W SQL, aby w tabeli Towar dodać kolumnę rozmiar typu znakowego z maksymalną długością 20 znaków, jakie polecenie należy wykonać?

A. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
B. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar ADD rozmiar varchar(20)
D. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
Odpowiedź 'ALTER TABLE Towar ADD rozmiar varchar(20);' jest poprawna, ponieważ polecenie ALTER TABLE jest używane do modyfikacji struktury istniejącej tabeli. W tym przypadku chcemy dodać nową kolumnę o nazwie 'rozmiar', a typ 'varchar(20)' oznacza, że kolumna ta będzie przechowywać dane tekstowe o maksymalnej długości 20 znaków. Jest to standardowa praktyka w języku SQL, która pozwala na elastyczne zarządzanie danymi w bazach danych. Przykładem zastosowania może być sytuacja, w której w tabeli 'Towar' chcemy przechowywać informacje o rozmiarze odzieży, co pomaga w lepszym zarządzaniu stanem magazynowym. Prawidłowe zweryfikowanie typów kolumn i ich ograniczeń jest kluczowe dla zapewnienia integralności danych. Warto także pamiętać o tym, że operacje na strukturze bazy danych powinny być przeprowadzane z zachowaniem odpowiednich zasad, takich jak wykonywanie kopii zapasowych przed wprowadzeniem zmian oraz testowanie zmian w środowisku deweloperskim przed wdrożeniem ich w środowisku produkcyjnym.

Pytanie 9

Po wykonaniu poniższego kodu JavaScript, co będzie przechowywać zmienna str2?

var str1 = "JavaScript";
var str2 = str1.substring(2,6);
A. nvaScr
B. vaSc
C. avaS
D. vaScri
W przypadku analizy kodu JavaScript kluczowym aspektem jest zrozumienie działania metody substring która służy do wyodrębniania fragmentów łańcuchów znaków. Metoda przyjmuje dwa parametry: indeks początkowy oraz opcjonalny indeks końcowy. W kontekście pytania błędnym podejściem jest niedokładna interpretacja tych indeksów. Pierwsza niepoprawna odpowiedź avaS zakłada że wyodrębniane są znaki od 0 do 3 co jest niezgodne z podanymi indeksami 2 i 6. Druga odpowiedź vaScri zakłada że metoda substring obejmuje znaki aż do indeksu 6 włącznie co jest błędnym zrozumieniem zakresu działania tej metody. Metoda substring kończy wybieranie na znaku poprzedzającym indeks końcowy dlatego indeks 6 nie jest uwzględniany przy wyborze znaków. Kolejna niepoprawna odpowiedź nvaScr próbuje wybrać znaki rozpoczynając od indeksu 1 co jest błędnym startowym punktem dla zakresu 2 do 6. W kontekście dobrych praktyk programistycznych istotnym jest zrozumienie że indeksowanie od zera ma wpływ na rezultaty metod operujących na łańcuchach znaków. Częstym błędem początkujących programistów jest nieuwzględnienie tego faktu co prowadzi do niepoprawnych wyników i błędów logicznych w aplikacjach. Znajomość tych zasad pozwala efektywnie wykorzystywać możliwości języka JavaScript w codziennej pracy programistycznej.

Pytanie 10

Atrybut value w formularzu XHTML

A. określa wartość domyślną
B. ogranicza maksymalną długość pola
C. określa nazwę pola
D. ustawia pole jako tylko do odczytu
Atrybut 'value' w polu formularza XHTML pełni kluczową rolę w określeniu wartości początkowej, która jest wyświetlana w danym polu tekstowym. W przypadku elementu <input type='text'>, wartość atrybutu 'value' jest predefiniowaną odpowiedzią, która pojawia się w polu, gdy formularz jest załadowany. To pozwala programistom na wprowadzenie domyślnych danych, co jest szczególnie przydatne w kontekście ułatwienia wprowadzania informacji przez użytkowników. Na przykład, jeśli mamy formularz, w którym użytkownik ma podać swoje imię, możemy ustawić 'value' na 'Jan', co sprawi, że pole wypełni się automatycznie tą wartością, dając użytkownikowi wskazówkę. Wartość ta może być również używana do ułatwienia wprowadzania danych w przypadku, gdy formularz jest ponownie wyświetlany po błędzie. Zgodnie z dokumentacją W3C dotyczącą XHTML, atrybut 'value' jest standardowo stosowany w formularzach, co czyni go niezbędnym narzędziem w projektowaniu interfejsów użytkownika. Odpowiednie wykorzystanie tego atrybutu przyczynia się do lepszej użyteczności aplikacji internetowych oraz zwiększa komfort użytkowników.

Pytanie 11

Z tabeli mieszkańcy należy uzyskać unikalne nazwy miejscowości, do czego konieczne jest użycie wyrażenia SQL z klauzulą

A. DISTINCT
B. UNIQUE
C. HAVING
D. CHECK
Wybór odpowiedzi CHECK, HAVING lub UNIQUE wskazuje na pewne nieporozumienia dotyczące zastosowania i znaczenia tych klauzul w SQL. Klauzula CHECK jest używana w kontekście definicji tabeli, aby zapewnić, że dane w danym atrybucie spełniają określone warunki, na przykład 'CHECK (wiek >= 0)', co oznacza, że wiek nie może być ujemny. Nie ma jednak zastosowania w kontekście eliminacji duplikatów z wyników zapytania. Klauzula HAVING jest z kolei używana do filtrowania grup z wyniku agregacji, na przykład w zapytaniu z użyciem GROUP BY. Użycie HAVING do eliminacji duplikatów z wyników bez wcześniejszego grupowania danych nie ma sensu. Z kolei UNIQUE to ograniczenie, które można ustawić na kolumnę w tabeli, aby zapewnić, że nie będą w niej występowały powtarzające się wartości. Chociaż jest związane z unikalnością, nie jest klauzulą, którą można wykorzystać w zapytaniach do eliminacji duplikatów z zestawów wyników. Typowym błędem jest mylenie tych koncepcji, co prowadzi do wyboru nieodpowiednich narzędzi w SQL do rozwiązania konkretnego problemu. Warto zatem dobrze zrozumieć różnice między tymi klauzulami, aby umiejętnie stosować je w praktyce i skutecznie zarządzać danymi.

Pytanie 12

Zawartość kodu w języku HTML umieszczona w ramce ilustruje zestaw

<ol>
<li>Pierwszy</li>
<li>Drugi</li>
<li>Trzeci</li>
</ol>
A. numerowanej
B. wypunktowanej
C. linków
D. skróconych
Fragment kodu HTML używa tagu <ol> co oznacza listę numerowaną. Tag <ol> jest skrótem od ordered list i jest używany do tworzenia listy elementów, które są automatycznie numerowane przez przeglądarkę. Wewnątrz tego tagu znajdują się tagi <li>, które oznaczają poszczególne elementy listy. Każdy z tych elementów będzie wyświetlany z kolejnym numerem w przeglądarce internetowej. Na przykład w przypadku zamieszczonego kodu HTML przeglądarka wyświetli listę z numerami 1 2 3 przed elementami Pierwszy Drugi Trzeci. Listy numerowane są użyteczne w sytuacjach gdy ważna jest kolejność elementów na przykład w instrukcjach krok po kroku lub rankingach. Tworzenie list numerowanych z użyciem <ol> jest zgodne ze standardami HTML i jest dobrym rozwiązaniem gdyż pozwala na łatwe zarządzanie kolejnością elementów bez konieczności ręcznego numerowania co redukuje ryzyko błędów i automatycznie aktualizuje numerację w przypadku dodania bądź usunięcia elementów z listy.

Pytanie 13

W bazie danych dotyczącej pojazdów pole kolor w tabeli samochody może mieć wartości jedynie z definicji lakier. Aby nawiązać relację między tabelami samochody a lakier, należy użyć kwerendy

A. ALTER TABLE samochody ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
B. ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
C. ALTER TABLE lakier ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
D. ALTER TABLE samochody ADD FOREIGN KEY kolor REFERENCES lakier;
Odpowiedzi, które nie pasują do zapytania, często wynikają z nieporozumienia dotyczącego koncepcji kluczy obcych oraz ich zastosowania w relacyjnych bazach danych. Na przykład, zmiana struktury tabeli lakier przez dodanie klucza obcego do tabeli samochody nie jest zasadne, ponieważ relacja powinna zostać zdefiniowana w tabeli, która zawiera odwołanie do innej tabeli. Klucz obcy powinien znajdować się w tabeli, której dane są uzależnione od innej tabeli, co nie jest spełnione w tej sytuacji. Innym typowym błędem jest niepoprawne odwołanie się do kolumny w kontekście klucza obcego. Użycie "barwa" lub "kolor", jako klucza obcego w niewłaściwy sposób, prowadzi do sytuacji, gdzie nie można skutecznie zapewnić integralności danych. Należy pamiętać, że klucz obcy odnosi się do kolumny, która pełni rolę klucza głównego w innej tabeli, a w przypadku lakier, kluczem głównym jest lakierId. Stosowanie kluczy obcych nie tylko wspomaga zarządzanie danymi, ale również poprawia ich spójność oraz wiarygodność. Praktyki te są fundamentalnym aspektem projektowania baz danych, które powinny być przestrzegane, aby uniknąć nieporozumień w przyszłości.

Pytanie 14

Jak można w języku CSS ustawić kolor czerwony dla tekstu?

A. color: rgb(255,0,0);
B. text-color: rgb(255,0,0);
C. text-color: rgb(#FF0000);
D. color: rgb(#FF0000);
W odpowiedziach, które nie są poprawne, występują błędy związane z używaniem niewłaściwej właściwości oraz niepoprawnym formatowaniem wartości kolorów. W przypadku użycia 'text-color: rgb(255,0,0);' oraz 'text-color: rgb(#FF0000);' kluczowym problemem jest to, że 'text-color' nie jest uznawane przez standardy CSS jako właściwość odpowiedzialna za kolor tekstu. Właściwa nazwa to 'color', co jest zgodnie z dokumentacją CSS. Przy próbie użycia niewłaściwej właściwości przeglądarka po prostu zignoruje tę deklarację, co oznacza, że kolor tekstu nie zostanie zmieniony. Jeśli chodzi o zapis koloru w formacie RGB, to w drugiej wersji odpowiedzi wykorzystano niepoprawne formatowanie '#FF0000', które jest typowe dla zapisu kolorów w systemie HEX. Funkcja rgb() wymaga jedynie wartości liczbowych bez znaków '#' i nie może być używana w połączeniu z takim formatem. Zrozumienie różnic między różnymi sposobami definiowania kolorów w CSS jest kluczowe, by unikać typowych pułapek dla początkujących programistów. Często mylnie zakłada się, że wszystkie formaty kolorów mogą być stosowane zamiennie, co prowadzi do niepoprawnych stylów oraz frustracji w pracy nad projektem. Utrzymanie zgodności z dokumentacją i najlepszymi praktykami jest kluczowe, aby poprawnie stosować style CSS.

Pytanie 15

Jakie z poniższych warunków logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie 6, 203>?

A. (zm1 > 6) || (zm1 <= 203)
B. (zm1 > 6) && (zm1 != 203)
C. (zm1 > 6) || (zm1 != 203)
D. (zm1 > 6) && (zm1 <= 203)
Odpowiedź (zm1 > 6) && (zm1 <= 203) jest poprawna, ponieważ używa operatora logicznego AND (&&), co oznacza, że oba warunki muszą być spełnione, aby wyrażenie zwróciło wartość prawda (true). Zmienna zm1 musi być większa od 6 oraz jednocześnie mniejsza lub równa 203, co dokładnie definiuje przedział wartości. Takie podejście jest zgodne z najlepszymi praktykami programistycznymi, gdzie ważne jest precyzyjne określenie zakresu wartości. W zastosowaniach praktycznych, na przykład w walidacji danych użytkowników, możemy użyć tego wyrażenia do sprawdzenia, czy wiek wprowadzony przez użytkownika mieści się w dozwolonym zakresie. Warto zrozumieć, że korzystając z operatora AND, eliminujemy przypadki, w których zmienna zm1 byłaby na przykład równa 6 lub 203, co może być istotne w kontekście określonych ograniczeń biznesowych. W programowaniu ważne jest, aby warunki były jasno definiowane, co sprzyja lepszej czytelności kodu oraz minimalizuje ryzyko błędów.

Pytanie 16

Aby umieścić plik wideo na stronie internetowej z widocznymi przyciskami sterującymi oraz zapętlonym odtwarzaniem, należy w znaczniku <video> użyć atrybutów

A. loop i muted
B. autoplay i preload
C. controls i loop
D. controls i autoplay
Odpowiedź "controls i loop" jest całkiem dobra, bo te dwa atrybuty są naprawdę istotne, żeby wideo działało jak należy na stronie. Atrybut "controls" dodaje do odtwarzacza przyciski, które pozwalają na zatrzymywanie, odtwarzanie i regulowanie głośności, co jest bardzo wygodne dla ludzi. Z kolei "loop" sprawia, że filmik odtwarza się w kółko, co może być super użyteczne, szczególnie w prezentacjach albo reklamach, które chcemy pokazać kilka razy. Przykładowo, <video src='video.mp4' controls loop> wstawia wideo z przyciskami, które można łatwo obsługiwać, no i od razu się zapętla. W ogóle, korzystanie z tych atrybutów to dobra praktyka, bo sprawia, że strony są bardziej przyjazne dla użytkowników oraz poprawia ich doświadczenia.

Pytanie 17

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. Regułę sprawdzania poprawności
B. Tagi inteligentne
C. Wartość domyślną
D. Maskę wprowadzania
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 18

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)/2; }
B. function licz($a, $b) { return $a/2 + $b; }
C. function licz($a, $b) { return $a/2 + $b/2; }
D. function licz($a, $b) { return 2/$a + 2/$b; }
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 19

Baza danych zawiera tabelę uczniowie z kolumnami: imie, nazwisko, klasa. Jakie polecenie SQL powinno być użyte, aby wyświetlić imiona i nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%"
B. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN "M%"
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN "M%"
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = "M%"
Wybór opcji SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%" jest poprawny, ponieważ używa klauzuli WHERE do filtrowania rekordów na podstawie warunków. Operator LIKE pozwala na wyszukiwanie wzorców w danych tekstowych, a symbol % jest używany jako wildcard, co oznacza, że zastępuje dowolny ciąg znaków. Dzięki temu zapytanie zwraca wszystkich uczniów, których nazwiska zaczynają się na literę M. Takie podejście jest zgodne z najlepszymi praktykami w SQL, gdzie klauzula WHERE jest fundamentalnym elementem selekcji danych. W praktyce, gdy chcemy wyszukiwać dane w bazach danych, użycie LIKE w połączeniu z symbolami wieloznacznymi (takimi jak %) jest powszechną techniką, stosowaną w aplikacjach webowych i systemach zarządzania danymi. Przykładowo, w systemie szkolnym, takie zapytanie może być używane do generowania listy uczniów w celu wysyłania powiadomień lub gromadzenia informacji o postępach w nauce.

Pytanie 20

Które z pól edycyjnych zostało wystylizowane według poniższego wzoru, zakładając, że pozostałe atrybuty pola mają wartości domyślne, a użytkownik wpisał imię Krzysztof w przeglądarce?

input {
    padding: 10px;
    background-color: Teal;
    color: white;
    border: none;
    border-radius: 7px;
}
Ilustracja do pytania
A. Pole 1
B. Pole 3
C. Pole 4
D. Pole 2
Pole 2 zostało sformatowane zgodnie z podanym stylem CSS Ponieważ właściwość padding została ustawiona na 10px pole tekstowe ma wewnętrzny odstęp wokół zawartości co sprawia że tekst nie dotyka bezpośrednio krawędzi pola Kolor tła ustawiony na Teal odróżnia to pole od innych które mogą mieć domyślne kolory tła Biały kolor tekstu zapewniony przez właściwość color sprawia że tekst jest czytelny na ciemnym tle Brak obramowania dzięki border none powoduje że pole nie ma widocznej linii wokół siebie co nadaje mu czysty wygląd Zaokrąglenie krawędzi ustawione na 7px border-radius daje bardziej nowoczesny wygląd a także ułatwia integrację z różnymi projektami interfejsu użytkownika Takie podejście do stylizacji elementów formularzy jest zgodne z nowoczesnymi trendami projektowania stron internetowych gdzie używane są łagodne zaokrąglenia oraz odpowiednio dobrane kontrasty kolorystyczne W praktyce takie style są nie tylko estetyczne ale także poprawiają użyteczność interfejsu poprzez zwiększenie czytelności i intuicyjności obsługi formularzy Warto również zauważyć że zastosowanie CSS do formatowania elementów pozwala na zachowanie spójności wyglądu na różnych stronach oraz łatwą modyfikację w przyszłości

Pytanie 21

Zapis w CSS `h2 {background-color: green;}` spowoduje, że kolor zielony będzie dotyczył

A. tła tekstu nagłówka drugiego poziomu
B. czcionki nagłówków drugiego poziomu
C. czcionki wszystkich nagłówków na stronie
D. tła całej witryny
Zapis CSS 'h2 {background-color: green;}' ustawia styl dla nagłówków drugiego stopnia. Dzięki właściwości 'background-color' tło nagłówka zrobi się zielone, co oznacza, że obszar za tekstem tego nagłówka będzie miał kolor zielony. Ważne, żeby pamiętać, że to działa tylko na tło samego nagłówka, a nie na całą stronę. Na przykład, jeśli w elemencie h2 jest tekst 'Witamy na naszej stronie', to tło tego nagłówka dostaje zielony kolor. To podejście jest zgodne z CSS, które pozwala na precyzyjne stylizowanie różnych elementów w dokumencie. Można też używać różnych trybów kolorów jak RGB, HEX czy HSL, co daje jeszcze większe możliwości w projektowaniu.

Pytanie 22

Jakie imiona spełniają warunki klauzuli LIKE w zapytaniu?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Gerald, Jarosław, Marek, Tamara
B. Arleta, Krzysztof, Krystyna, Tristan
C. Rafał, Rebeka, Renata, Roksana
D. Krzysztof, Krystyna, Romuald
Zapytanie SQL wykorzystuje klauzulę LIKE, która pozwala na wyszukiwanie wzorców w danych tekstowych. W tym przypadku wzór '_r%' oznacza, że szukamy imion, które mają na drugiej pozycji literę 'r' i mogą mieć dowolne znaki po tej literze. W analizowanych imionach, Arleta, Krzysztof, Krystyna oraz Tristan spełniają ten warunek, ponieważ: Arleta ma 'r' na drugiej pozycji, Krzysztof również, Krystyna także, a Tristan ma 'r' na drugiej pozycji. Przykład użycia klauzuli LIKE jest szczególnie przydatny w systemach, gdzie często zachodzi potrzeba filtrowania danych tekstowych na podstawie określonych wzorców. W praktyce, stosowanie klauzuli LIKE w zapytaniach SQL powinno być zgodne z najlepszymi praktykami, takimi jak optymalizacja indeksów i unikanie nadmiernego używania znaków wieloznacznych, które mogą prowadzić do spadku wydajności. Warto również pamiętać, że w wielu systemach baz danych klauzula LIKE jest czuła na wielkość liter, co może wpływać na wyniki zapytań.

Pytanie 23

Jakie dane zostaną wyświetlone po wykonaniu podanych poleceń?

bool gotowe = true;
cout << gotowe;
A. 1
B. tak
C. nie
D. 0
W języku C++ zmienne typu bool mogą przyjmować jedynie dwie wartości: true i false. Gdy zmienna typu bool zostanie wypisana przy użyciu standardowego strumienia wyjściowego cout, to domyślnie wartości true i false są konwertowane na liczby całkowite 1 i 0 odpowiednio. Dlatego w zaprezentowanym fragmencie kodu zmiennej gotowe przypisano wartość true, a następnie jej zawartość została wypisana przy użyciu cout. Wynikiem tego działania będzie wyświetlenie liczby 1 na ekranie. Jest to zgodne z domyślnym zachowaniem cout w przypadku zmiennych typu bool w C++. Aby modyfikować to zachowanie i bezpośrednio wypisywać słowa true lub false, można użyć specjalnej flagi boolalpha, która sprawia, że wartości logiczne są reprezentowane jako tekst. Jednak w podanym przykładzie nie użyto tej flagi, co prowadzi do wypisania wartości liczbowej. Takie podejście jest powszechne w wielu aplikacjach, gdzie wartości logiczne muszą być szybko zamieniane na wartości liczbowe, na przykład w obliczeniach binarnych czy przy operacjach bitowych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla programistów tworzących efektywne i czytelne aplikacje w C++.

Pytanie 24

Klucz obcy w tabeli jest używany w celu

A. zdefiniowania relacji 1..n łączącej go z kluczem głównym innej tabeli
B. połączenia go z innymi kluczami obcymi w tabeli
C. umożliwienia jednoznacznej identyfikacji rekordu w danej tabeli
D. opracowania formularza do wprowadzania danych do tabeli
Klucz obcy w tabeli pełni kluczową rolę w definiowaniu relacji między tabelami w bazach danych. Dzięki zastosowaniu klucza obcego możliwe jest określenie relacji 1..n, co oznacza, że jeden rekord w tabeli głównej może być powiązany z wieloma rekordami w tabeli podrzędnej. Przykładem może być tabela 'Klienci' i tabela 'Zamówienia', gdzie klucz obcy w tabeli 'Zamówienia' wskazuje na klucz główny w tabeli 'Klienci'. To pozwala na gromadzenie wielu zamówień dla jednego klienta, co jest niezbędne w systemach e-commerce. Praktyczne wdrożenie kluczy obcych wspiera integralność danych oraz zapobiega ich duplikacji. Właściwe projektowanie relacji w bazach danych zgodnie z zasadami normalizacji wprowadza przejrzystość i efektywność w zarządzaniu danymi, a także ułatwia ich późniejszą analizę i raportowanie. W branży IT standardem jest stosowanie kluczy obcych w celu zapewnienia spójności i relacyjności danych, co jest istotne dla każdej aplikacji opierającej się na bazach danych.

Pytanie 25

W systemie MySQL należy użyć polecenia REVOKE, aby odebrać użytkownikowi anna możliwość wprowadzania zmian tylko w definicji struktury bazy danych. Odpowiednie polecenie do zrealizowania tej operacji ma formę

A. REVOKE ALL ON tabela1 FROM 'anna'@'localhost'
B. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
Poprawna odpowiedź to 'REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost''. To polecenie skutecznie odbiera użytkownikowi 'anna' prawo do wykonywania zmian w strukturze bazy danych, w tym do tworzenia nowych tabel, modyfikowania istniejących oraz usuwania tabel. W kontekście MySQL, polecenie REVOKE jest kluczowym narzędziem w zarządzaniu uprawnieniami użytkowników. W praktyce, gdy administrator bazy danych chce ograniczyć możliwości danej osoby, aby nie mogła na przykład zmieniać struktury bazy, musi precyzyjnie określić, które uprawnienia chce cofnąć. Dobrym przykładem byłoby zastosowanie tego polecenia w sytuacji, gdy użytkownik nie przestrzega zasad bezpieczeństwa lub nieautoryzowanie modyfikuje dane. Warto również zauważyć, że użycie 'ALTER' w poleceniu wskazuje na prawo do zmiany definicji tabeli, co jest kluczowe w kontekście bezpieczeństwa danych. Użycie polecenia REVOKE jest zgodne z najlepszymi praktykami w zakresie zarządzania dostępem, które zalecają minimalizację uprawnień przyznawanych użytkownikom, aby zredukować ryzyko przypadkowych lub złośliwych działań.

Pytanie 26

W relacyjnych bazach danych dane zapisywane są w

A. kolejkach.
B. tabelach.
C. wektorach.
D. listach.
W relacyjnych bazach danych dane są przechowywane w tabelach, bo cały model relacyjny opiera się właśnie na pojęciu tabeli (relacji). Tabela to po prostu uporządkowany zbiór wierszy i kolumn: kolumny opisują strukturę danych (np. id, imię, nazwisko, email), a wiersze przechowują konkretne rekordy, czyli pojedyncze wpisy. Każda kolumna ma określony typ danych, np. INTEGER, VARCHAR, DATE, co pozwala silnikowi bazy danych kontrolować poprawność zapisów i optymalizować zapytania. Tak to działa w typowych systemach jak MySQL, PostgreSQL, SQL Server czy Oracle – wszędzie podstawową jednostką przechowywania danych użytkownika jest tabela. W praktyce, kiedy projektujesz bazę dla sklepu internetowego, tworzysz tabele takie jak users, products, orders, order_items. Potem za pomocą języka SQL wykonujesz na tych tabelach operacje SELECT, INSERT, UPDATE, DELETE. Klucze główne i obce też odnoszą się do tabel – klucz główny jednoznacznie identyfikuje wiersz w tabeli, a klucz obcy wskazuje na wiersz w innej tabeli, tworząc relację między nimi. To właśnie dzięki tabelom i relacjom możesz łączyć dane z wielu miejsc, np. pobrać zamówienia wraz z danymi klienta jednym zapytaniem. Moim zdaniem warto od początku myśleć o tabeli jak o odpowiedniku arkusza w Excelu, tylko z dużo bardziej rygorystycznymi zasadami i możliwością zaawansowanych zapytań. Standard SQL zakłada, że operujemy na relacjach, a w implementacjach relacja = tabela. Dlatego odpowiedź „tabelach” jest zgodna zarówno z teorią modelu relacyjnego, jak i z praktyką codziennej pracy z bazami danych.

Pytanie 27

W programie do edytowania grafiki rastrowej zmieniono krzywe kolorów w sposób zaznaczony ramką na pokazanym obrazie. Jakie jest to działanie?

Ilustracja do pytania
A. modyfikację najjaśniejszych i najciemniejszych kolorów obrazu
B. rozjaśnienie całego obrazu
C. wygładzenie krawędzi na obrazie
D. przyciemnienie całego obrazu
Rozjaśnienie całego obrazu za pomocą krzywych kolorów polegałoby na proporcjonalnym przesunięciu całej krzywej w górę, co nie jest widoczne na załączonym obrazie. W rzeczywistości, rozjaśnianie zmienia globalnie wartości tonów, co może prowadzić do utraty szczegółów w jasnych partiach, jeśli nie zostanie wykonane z należytą uwagą. Z kolei przyciemnienie obrazu wymagałoby przesunięcia krzywej w dół, co również nie jest widoczne w przypadku opisanym na obrazku. Przyciemnianie może skutkować zanikaniem szczegółów w cieniach, co jest niepożądane w profesjonalnej obróbce obrazu. Wygładzenie krawędzi na obrazie odnosi się do operacji takich jak rozmycie czy redukcja szumów, które nie są realizowane poprzez modyfikację krzywych kolorów. Wygładzanie to operacja stosowana w celu zmniejszenia szumów czy zmiękczenia szczegółów, często realizowana przy użyciu filtrów i narzędzi takich jak maski wyostrzające. Krzywe kolorów służą do manipulacji tonalnych i kolorystycznych, co jest zupełnie inną operacją. Typowym błędem jest mylenie narzędzi służących do ogólnej edycji obrazu z bardziej precyzyjnymi narzędziami tonalnymi. Wiedza o tym, jak każde narzędzie wpływa na obraz, jest kluczowa w profesjonalnej edycji graficznej, a niepoprawne zrozumienie ich funkcji może prowadzić do niepożądanych efektów wizualnych oraz strat w jakości obrazu.

Pytanie 28

Która komenda pozwala na przesłanie tekstu do przeglądarki?

A. exit
B. echo
C. break
D. type
Odpowiedź 'echo' jest poprawna, ponieważ ta instrukcja służy do generowania tekstu, który jest przesyłany do przeglądarki w kontekście skryptów PHP. Echo jest jedną z najprostszych i najczęściej używanych funkcji do wyświetlania danych na stronie internetowej, co jest kluczowym elementem w budowaniu dynamicznych aplikacji webowych. Przykład zastosowania: w prostym skrypcie PHP możemy użyć echo do wyświetlenia powitania użytkownika: <?php echo 'Witaj, użytkowniku!'; ?>. Dzięki temu, użytkownicy mogą interaktywnie odbierać informacje, co jest istotne dla doświadczenia użytkownika. W praktyce, zastosowanie echo ma również znaczenie w kontekście bezpieczeństwa aplikacji, ponieważ prawidłowe zarządzanie danymi wyjściowymi ochroni przed atakami typu XSS, gdyż pozwala na odpowiednie filtrowanie i kodowanie danych, które są wyświetlane przeglądarki. W branży zaleca się stosowanie echo w połączeniu z odpowiednimi standardami zabezpieczeń, aby zapewnić najwyższą jakość i bezpieczeństwo aplikacji webowych.

Pytanie 29

Integralność encji w systemie baz danych będzie zapewniona, jeśli między innymi

A. każda kolumna otrzyma zdefiniowany typ danych
B. dla każdej tabeli zostanie ustanowiony klucz główny
C. każdy klucz główny będzie miał odpowiadający mu klucz obcy w innej tabeli
D. klucz główny zawsze będzie liczbą całkowitą
Odpowiedź, że dla każdej tabeli zostanie utworzony klucz główny, jest prawidłowa, ponieważ klucz główny odgrywa kluczową rolę w zapewnieniu integralności encji w bazach danych. Klucz główny to unikalny identyfikator dla każdego rekordu w tabeli, co oznacza, że nie może zawierać wartości NULL i musi być unikalny w obrębie danej tabeli. Przykładowo, w tabeli 'Klienci', kolumna 'ID_klienta' może być kluczem głównym, który jednoznacznie identyfikuje każdego klienta. Umożliwia to nie tylko prawidłową organizację danych, ale także przyspiesza operacje wyszukiwania i modyfikacji. Dodatkowo, zgodnie z normami ACID, klucz główny jest niezbędny do zapewnienia spójności i integralności danych. Dobrze zdefiniowane klucze główne są również podstawą do tworzenia kluczy obcych, co pozwala na tworzenie relacji między tabelami i wspiera strukturyzację danych w relacyjnych bazach danych.

Pytanie 30

Który z elementów jest opcjonalny w kodzie HTML5 i jego pominięcie nie spowoduje wygenerowania błędu lub ostrzeżenia walidatora HTML?

A. <html lang="pl">
B. <meta name="keywords" content="">
C. <!DOCTYPE html>
D. <title>Tytuł strony</title>
Poprawnie – właśnie znacznik meta z atrybutem name="keywords" jest w HTML5 całkowicie opcjonalny i jego brak nie powoduje żadnych błędów walidacji. Ten element był kiedyś używany głównie do pozycjonowania stron w wyszukiwarkach, ale w aktualnych wytycznych SEO praktycznie wszystkie większe wyszukiwarki (Google, Bing itd.) ignorują meta keywords. Z punktu widzenia specyfikacji HTML5 jest to zwykły, opcjonalny metatag: możesz go użyć, ale w żaden sposób nie jest wymagany do poprawnej struktury dokumentu. Validator W3C nie zgłasza ostrzeżeń, jeśli go nie ma, bo nie jest to element strukturalny, tylko dodatkowa informacja opisowa. W praktyce, w nowoczesnych projektach webowych, meta name="keywords" często się po prostu pomija. Dużo ważniejsze są inne meta tagi, np. meta charset, meta name="viewport" dla responsywności czy meta name="description", która jest używana w wynikach wyszukiwania. Możesz mieć całkowicie poprawny, walidujący się dokument HTML5 zaczynający się od <!DOCTYPE html>, z elementem html z atrybutem lang, poprawnie zdefiniowaną sekcją head z tytułem strony i bez ani jednego meta keywords – i to jest jak najbardziej zgodne ze standardem. Moim zdaniem dobrze jest znać historię tego znacznika: kiedyś nauczyciele i różne stare kursy mocno go promowały, dlatego wciąż pojawia się w kodzie. Ale w aktualnych projektach lepiej skupić się na semantycznym HTML, dostępności (ARIA, poprawne nagłówki), porządnych opisach w meta description i na poprawnej strukturze dokumentu. Meta keywords możesz traktować jako ciekawostkę z dawnych czasów, a nie obowiązkowy element kodu.

Pytanie 31

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

$tab = explode(",", "jelenie,sarny,dziki,lisy,borsuki"); 
echo $tab[1]." ".$tab[2];
A. sarny dziki
B. dziki lisy
C. jelenie sarny
D. lisy borsuki
Wynik wykonania kodu PHP przedstawionego w pytaniu to 'sarny dziki', co odpowiada trzeciej opcji. Analizując kod, najpierw wykorzystujemy funkcję explode, która dzieli ciąg znaków na elementy tablicy, używając przecinka jako separatora. W rezultacie zmienna $tab stanie się tablicą składającą się z pięciu elementów: 'jelenie', 'sarny', 'dziki', 'lisy', 'borsuki'. Następnie w instrukcji echo odwołujemy się do drugiego i trzeciego elementu tablicy, co odpowiada indeksom 1 i 2, ponieważ indeksowanie w PHP zaczyna się od zera. Zatem $tab[1] to 'sarny', a $tab[2] to 'dziki'. W kontekście praktycznym, znajomość pracy z tablicami oraz funkcji do ich manipulacji jest kluczowa w programowaniu w PHP, zwłaszcza przy pracy z danymi w formacie CSV lub innymi formatami wymagającymi podziału ciągów. Opanowanie takich technik jest istotne dla programistów zajmujących się tworzeniem aplikacji webowych, gdzie przetwarzanie danych wejściowych jest na porządku dziennym.

Pytanie 32

Język HTML posiada nagłówki, które służą do tworzenia hierarchii treści. Nagłówki te występują tylko w zakresie

A. h1 – h4
B. h1 – h6
C. h1 – h10
D. h1 – h8
Odpowiedź h1 – h6 jest poprawna, ponieważ język HTML udostępnia sześć poziomów nagłówków, od h1 do h6, które służą do tworzenia hierarchii treści na stronie internetowej. Nagłówek h1 jest najważniejszy i powinien być używany do oznaczenia głównego tytułu strony, podczas gdy h2, h3, h4, h5 i h6 wskazują na kolejne poziomy nagłówków, które pomagają w organizacji treści. Przykładowo, nagłówek h2 może być używany do sekcji, natomiast h3 może oznaczać podsekcje w ramach danej sekcji. Używanie nagłówków w ten sposób nie tylko poprawia czytelność i zrozumienie treści przez użytkowników, ale także pozytywnie wpływa na SEO (optymalizację dla wyszukiwarek). Warto pamiętać, że zgodnie z najlepszymi praktykami, powinno się unikać pomijania poziomów nagłówków, co zapewnia logiczną strukturę treści i ułatwia indeksację przez roboty wyszukiwarek.

Pytanie 33

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

A. SELECT model FROM podzespoly WHERE typ="RAM" OR producent="Kingston" ORDER BY cena DESC
B. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena DESC
C. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena ASC
D. SELECT model FROM producent WHERE typ="RAM" OR producent="Kingston" ORDER BY podzespoly ASC
Niepoprawne odpowiedzi bazują na zrozumieniu logiki zapytań SQL, ale zawierają istotne błędy w składni i koncepcji dzielenia danych. W pierwszej opcji, użycie operatora OR w klauzuli WHERE prowadzi do wyników, które mogą obejmować modele innych typów pamięci, ponieważ filtruje dane na podstawie jednego z dwóch warunków, co jest sprzeczne z zamiarem uzyskania precyzyjnych wyników tylko dla pamięci RAM od producenta Kingston. Taki błąd w myśleniu może wynikać z mylnego przekonania, że użycie operatora OR zawsze jest lepsze dla zwiększenia ilości danych, co w rzeczywistości prowadzi do zafałszowania wyników. W drugiej odpowiedzi, mimo że użycie operatora AND jest poprawne, sortowanie wyników w kolejności malejącej (ORDER BY cena DESC) nie odpowiada wymaganiu wyświetlenia najtańszej pamięci jako pierwszej, co też czyni tę odpowiedź niewłaściwą. Ostatnia opcja błędnie odnosi się do tabeli 'producent', co jest oczywistym naruszeniem zasad normalizacji bazy danych, ponieważ zapytanie powinno odnosić się do tabeli 'podzespoly', gdzie znajdują się odpowiednie dane. Tego rodzaju błędy mogą prowadzić do nieefektywnego wykorzystania zapytań SQL, co w praktyce będzie skutkować nieprawidłowymi wynikami w aplikacjach opartych na bazach danych, co obniża jakość i wydajność aplikacji. Zrozumienie tych koncepcji jest kluczowe dla prawidłowego stosowania SQL w codziennych zastosowaniach związanych z zarządzaniem danymi.

Pytanie 34

Jakiego zdarzenia należy użyć, aby funkcja JavaScript była uruchamiana za każdym razem, gdy użytkownik wprowadzi jakikolwiek znak w polu edycji?

A. onmouseout
B. onload
C. onclick
D. onkeydown
Odpowiedź 'onkeydown' jest poprawna, ponieważ to zdarzenie jest wywoływane za każdym razem, gdy użytkownik naciśnie klawisz na klawiaturze, a zatem idealnie nadaje się do sytuacji, gdy chcemy reagować na wprowadzanie tekstu w polu edycji. W praktyce oznacza to, że nasza funkcja może być użyta do natychmiastowego przetwarzania danych wprowadzanych przez użytkownika, co jest szczególnie istotne w przypadku dynamicznych interfejsów użytkownika. Na przykład, możemy wykorzystać 'onkeydown' do implementacji funkcji autouzupełniania, gdzie na bieżąco prezentujemy możliwe opcje na podstawie wprowadzanego tekstu. Dobrą praktyką jest również umieszczanie dodatkowych warunków, aby nasza funkcja nie była wywoływana dla klawiszy, które nie mają znaczenia dla wprowadzania tekstu, takich jak klawisze funkcyjne czy kombinacje klawiszy. Warto również zrozumieć, że istnieją inne zdarzenia, takie jak 'input', które mogą być użyte w podobnym kontekście, ale 'onkeydown' daje bardziej bezpośrednią kontrolę nad interakcją użytkownika.

Pytanie 35

Aby zobaczyć rezultaty działania skryptu napisanego w PHP, który jest częścią strony internetowej, musi on być

A. skomputeryzowany po stronie serwera
B. skomputeryzowany po stronie użytkownika
C. zinterpretowany po stronie serwera
D. interpretowany po stronie użytkownika
Odpowiedź "zinterpretowany po stronie serwera" jest poprawna, ponieważ skrypty PHP są przetwarzane na serwerze, a wynik ich działania jest następnie przesyłany do przeglądarki klienta. PHP jest językiem skryptowym, który działa w kontekście serwera, co oznacza, że kod PHP jest wykonywany, a jego wynik (np. HTML, JSON, XML) jest generowany zanim trafi do klienta. W praktyce, gdy użytkownik odwiedza stronę napisanej w PHP, serwer uruchamia skrypt, przetwarza dane, korzysta z baz danych, a następnie zwraca gotowy dokument do przeglądarki. Jest to zgodne z zasadą architektury klient-serwer, w której serwer odpowiada za logikę aplikacji, natomiast klient koncentruje się na prezentacji danych. Przykładowe zastosowanie PHP obejmuje tworzenie dynamicznych stron internetowych, systemów zarządzania treścią (CMS), a także aplikacji webowych, które wymagają interakcji z bazą danych. W branży web developmentu standardem jest używanie PHP w połączeniu z bazami danych MySQL lub PostgreSQL, co czyni go popularnym wyborem dla programistów.

Pytanie 36

W języku JavaScript należy uzyskać dostęp do elementu w pierwszym akapicie podanego kodu HTML. Jak można to zrobić za pomocą funkcji

<p>pierwszy paragraf</p>
<p>drugi paragraf</p>
<p>trzeci paragraf</p>
...
A. getElementById('p1');
B. getElementByTagName('p')[0];
C. getElementByClassName('p.1')[0];
D. getElement('p');
Wariant getElement('p') jest niepoprawny, ponieważ nie istnieje w JavaScript żadna funkcja o takiej nazwie. Odwoływanie się do elementów DOM w JavaScript wymaga stosowania precyzyjnych i zgodnych z dokumentacją metod, takich jak getElementById, getElementsByTagName czy querySelector. Kolejna opcja, getElementById('p1'), jest błędna w kontekście tego pytania, ponieważ getElementById wymaga podania unikalnego identyfikatora ID, który w tym przypadku nie został określony w kodzie HTML. Użycie tej metody odnosiłoby się do elementu posiadającego atrybut id równy 'p1', co nie pasuje do przedstawionego kodu. Z kolei getElementByClassName('p.1') jest niepoprawne z kilku powodów. Po pierwsze, funkcja ta szuka elementów na podstawie klasy, a w kodzie HTML nie ma klasy o nazwie 'p.1'. Po drugie, format 'p.1' sugeruje błędne użycie znaków, ponieważ kropka jest separatorem w nazwach klas, a nie ich częścią. Poprawne odwołanie do elementu pierwszego paragrafu wymaga zastosowania jednej z metod iterujących po elementach, jak getElementsByTagName, która zwraca listę elementów o danym tagu, a następnie użycia indeksowania, aby precyzyjnie wskazać pierwszy element tej listy. Zrozumienie tych różnic i odpowiednie stosowanie metod JavaScript jest kluczowe dla efektywnego zarządzania elementami DOM i tworzenia dynamicznych stron WWW. Zwracanie uwagi na poprawne identyfikatory, klasy i struktury metod to fundament przy pracy z JavaScript i DOM, który pozwala na uniknięcie wielu powszechnie popełnianych błędów.

Pytanie 37

W języku SQL, aby wstawić wiersz danych do tabeli w bazie danych, należy zastosować polecenie

A. INSERT INTO
B. CREATE ROW
C. SELECT ROW
D. CREATE INTO
Poprawną składnią do wstawiania nowych wierszy w SQL jest polecenie INSERT INTO i to jest taki absolutny fundament pracy z bazą danych. Standard SQL (ANSI/ISO) definiuje właśnie tę komendę jako podstawowy mechanizm dodawania rekordów do tabeli. Typowy zapis wygląda na przykład tak: INSERT INTO klienci (imie, nazwisko, email) VALUES ('Jan', 'Kowalski', '[email protected]');. Najpierw podajemy nazwę tabeli, potem listę kolumn, a następnie wartości w dokładnie tej samej kolejności. W praktyce, w aplikacjach webowych, to właśnie INSERT INTO stoi za dodawaniem nowych użytkowników, zamówień, wpisów na blogu czy logów systemowych. Moim zdaniem warto od razu wyrabiać sobie dobre nawyki: zawsze jawnie wypisuj nazwy kolumn, zamiast polegać na kolejności kolumn w tabeli. Dzięki temu, jeśli ktoś kiedyś doda nową kolumnę albo zmieni ich układ, Twoje zapytania dalej będą działały poprawnie. Jest też drugi, często używany wariant: INSERT INTO tabela VALUES (...), ale on jest bezpieczny tylko wtedy, gdy dokładnie kontrolujesz strukturę tabeli. INSERT INTO może też współpracować z SELECT, np. do masowego kopiowania danych: INSERT INTO archiwum_zamowien SELECT * FROM zamowienia WHERE data < '2023-01-01';. W systemach produkcyjnych łączy się tę komendę z transakcjami (BEGIN, COMMIT, ROLLBACK), żeby zapewnić spójność danych. Warto pamiętać, że różne silniki (MySQL, PostgreSQL, SQL Server) mają swoje rozszerzenia, ale sama idea INSERT INTO jest wspólna i zgodna ze standardem. To takie must-have dla każdego, kto poważnie myśli o pracy z bazami danych.

Pytanie 38

Aby przywrócić uszkodzoną tabelę w MySQL, jakie polecenie należy wykonać?

A. FIX TABLE
B. REPAIR TABLE
C. CHECK TABLE
D. RESOLVE TABLE
Wybór innych odpowiedzi jest niepoprawny z kilku powodów technicznych. FIX TABLE nie jest poleceniem uznawanym w MySQL, co oznacza, że nie ma takiej komendy w dokumentacji tej bazy danych. Użytkownik może być zdezorientowany, myśląc, że polecenie 'FIX' jest odpowiednikiem naprawy, jednak w praktyce nie istnieje. CHECK TABLE jest używane do sprawdzania integralności tabeli oraz wykrywania wszelkich problemów, ale nie podejmuje się żadnych działań naprawczych. To narzędzie może być przydatne w diagnostyce, ale nie rozwiązuje problemów, dlatego samo w sobie nie wystarcza do przywrócenia funkcjonalności uszkodzonej tabeli. RESOLVE TABLE to nieistniejąca komenda w MySQL, co czyni ją niewłaściwą odpowiedzią. Warto zaznaczyć, że w MySQL nie znajdziemy polecenia z takim zapisem, co podkreśla znaczenie znajomości dokumentacji systemu zarządzania bazą danych. Dlatego ważne jest, aby administrowanie bazami danych opierać na sprawdzonych komendach, aby zapewnić ich prawidłowe działanie oraz ochronę przed utratą danych.

Pytanie 39

Zestaw atrybutów relacji, który w minimalny sposób identyfikuje każdy rekord tej relacji, posiadając wartości unikalne oraz niepuste, określamy mianem klucza

A. obcego
B. złożonego
C. kandydującego
D. głównego
Klucz główny to zestaw atrybutów w relacyjnej bazie danych, który jednoznacznie identyfikuje każdy rekord w danej tabeli. Klucz ten nie tylko musi być unikalny, co oznacza, że jego wartości nie mogą się powtarzać, ale również nie może zawierać wartości pustych. Dzięki tym właściwościom klucz główny jest kluczowym elementem umożliwiającym efektywne zarządzanie danymi oraz zapewniającym integralność bazy danych. Na przykład, w tabeli użytkowników klucz główny może być reprezentowany przez unikalny identyfikator użytkownika (np. ID), co pozwala na łatwe odnalezienie, aktualizację lub usunięcie konkretnego rekordu. W praktyce organizacje stosują klucze główne zgodnie z zasadami normalizacji danych, co pomaga w redukcji redundancji i podnosi jakość danych. Dobrą praktyką jest również stosowanie automatycznego przydzielania wartości klucza za pomocą mechanizmów bazodanowych, takich jak sekcje w SQL, co dodatkowo minimalizuje ryzyko błędów ludzkich. Klucz główny odgrywa także ważną rolę w relacjach między tabelami, ponieważ inne tabele mogą używać tego klucza jako odniesienia w swoich kluczach obcych, co pozwala na tworzenie spójnych i logicznych powiązań między danymi.

Pytanie 40

Organizacja społeczna, która skupia pracowników i ma na celu nadzorowanie warunków pracy oraz ochronę ich praw i interesów zawodowych, to

A. związek zawodowy
B. kierownik zakładu
C. komisja BHP
D. Straż Pożarna
Kierownik zakładu, będący osobą odpowiedzialną za zarządzanie danym miejscem pracy, pełni zupełnie inną rolę niż związek zawodowy. Jego głównym zadaniem jest organizowanie pracy, zarządzanie zespołem oraz zapewnienie, że operacje zakładu są prowadzone zgodnie z przyjętymi standardami i procedurami. Pracownicy mogą mieć do niego dostęp w sprawach dotyczących organizacji pracy i rozwoju zawodowego, ale nie ma on formalnego mandatu do obrony praw pracowników ani do monitorowania ich warunków pracy. W przypadku problemów związanych z przestrzeganiem przepisów prawa pracy, to związek zawodowy, a nie kierownik zakładu, powinien być pierwszym punktem kontaktu dla pracowników. Z kolei Straż Pożarna to instytucja zajmująca się ochroną przeciwpożarową oraz ratownictwem, co również nie ma związku z obroną praw pracowników. Jej zadania koncentrują się na zapobieganiu pożarom i ratowaniu osób w sytuacjach zagrożenia, a nie na ochronie warunków pracy. Komisja BHP, choć istotna w aspekcie bezpieczeństwa i higieny pracy, także nie pełni funkcji obronnej w kontekście praw pracowniczych. Jej głównym celem jest ocena i nadzorowanie przestrzegania przepisów bhp w miejscu pracy, co jest istotne, ale nie obejmuje szerokiego zakresu ochrony interesów pracowników. Błędem jest zatem mylenie tych ról i przypisywanie zadań związków zawodowych innym instytucjom. Zrozumienie tych różnic jest kluczowe dla prawidłowego funkcjonowania rynku pracy oraz dla efektywnej ochrony praw pracowników.