Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 25 maja 2025 20:14
  • Data zakończenia: 25 maja 2025 21:12

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Funkcją w PHP, która służy do tworzenia ciasteczek, jest

A. setcookie()
B. createcookie()
C. echocokie()
D. addcokie()
Funkcja setcookie() w języku PHP jest kluczowym narzędziem do zarządzania ciasteczkami (cookies) na poziomie serwera. Umożliwia ona tworzenie i konfigurowanie ciasteczek, które następnie są przesyłane do przeglądarki użytkownika. Ciasteczka są używane do przechowywania informacji o sesji, preferencjach użytkownika oraz danych śledzących. Funkcja setcookie() przyjmuje kilka argumentów, w tym nazwę ciasteczka, jego wartość, czas wygaśnięcia (w postaci znacznika czasowego), ścieżkę, domenę oraz flagi bezpieczeństwa. Przykładowe użycie funkcji może wyglądać następująco: setcookie('user', 'John Doe', time() + 86400, '/'); co tworzy ciasteczko o nazwie 'user', z wartością 'John Doe', które wygasa po jednym dniu. Ważne jest, aby zwrócić uwagę, że funkcja ta musi być wywoływana przed jakimkolwiek wysyłaniem nagłówków HTTP, co oznacza, że należy ją umieścić na początku skryptu PHP. Również, aby znacząco poprawić bezpieczeństwo, warto korzystać z flagi HttpOnly, aby zminimalizować ryzyko ataków XSS. Zastosowanie setcookie() w odpowiedni sposób przyczynia się do poprawy doświadczeń użytkowników oraz zwiększa funkcjonalność aplikacji internetowych.

Pytanie 2

Jaką wartość zwróci funkcja w języku C++, jeśli parametry wynoszą a = 4 oraz b = 3?

long int fun1(int a, int b)
{
long int wynik = 1;
for (int i = 0; i < b; i++)
wynik *= a;
return wynik;
}

A. 12
B. 64
C. 1
D. 16
Rozpatrując niepoprawne odpowiedzi należy zauważyć że błędne zrozumienie działania pętli for oraz operacji w niej zawartych może prowadzić do niepoprawnych wyników. Niektórzy mogą błędnie zakładać że funkcja wykonuje dodawanie a nie mnożenie co prowadzi do odpowiedzi takich jak 12 lub 16. W rzeczywistości pętla for w tej funkcji przemnaża wartość zmiennej wynik przez a dla każdej iteracji co oznacza że wynik końcowy jest a podniesione do potęgi b. Błąd polegający na uznaniu że wynik to 12 może wynikać z pomyłki i traktowania operacji jak klasycznego dodawania zamiast przemnożenia a z kolei wynik 16 mógłby wynikać z błędnego wnioskowania że pętla wykonuje inną liczbę iteracji niż w rzeczywistości. Kolejnym częstym błędem jest nieprawidłowe przypisanie wartości początkowej do wyniku albo niezrozumienie że pętla zaczyna od 0 i iteruje do b-1. Takie błędne założenia mogą wynikać z niezrozumienia podstawowej składni i logicznych kroków algorytmu. Zrozumienie tego jak działa pętla for oraz jak operacje na zmiennych zmieniają ich wartości w trakcie iteracji jest kluczowe aby poprawnie przewidzieć wynik działania funkcji. Kluczem do poprawnego rozwiązania jest metodyczne sprawdzenie każdego kroku algorytmu co pozwoli uniknąć podobnych błędów w przyszłości. Zasady te są fundamentalne dla każdego programisty a ich zrozumienie ma zastosowanie w szerokim zakresie zagadnień programistycznych i algorytmicznych zapewniając nie tylko poprawność ale również efektywność pisanych programów. Poprawne zrozumienie tych podstaw umożliwia tworzenie bardziej złożonych i wydajnych algorytmów co jest kluczowe w środowisku zawodowym.

Pytanie 3

Na ilustracji przedstawiono parametry pliku graficznego. Aby usprawnić czas ładowania obrazu na stronie internetowej, należy

A. dostosować proporcje szerokości do wysokości
B. zmniejszyć rozmiary obrazu
C. zwiększyć rozdzielczość
D. zmienić format grafiki na CDR
Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę internetową. Wymiary rysunku 4272x2848px są znaczące, co oznacza, że obraz ma dużą ilość pikseli, co przekłada się na większy rozmiar pliku. Przy standardowej rozdzielczości 72 dpi, która jest odpowiednia do wyświetlania na ekranach, mniejsze wymiary skutkują zmniejszeniem liczby pikseli, co automatycznie obniża wagę pliku. Przykładem może być przeskalowanie obrazu do wymiarów 800x600px, co może znacznie przyspieszyć czas ładowania strony. W praktyce, witryny internetowe powinny dążyć do używania obrazów o wymiarach dostosowanych do wyświetlacza, a optymalne wymiary to te, które są zgodne z responsywnym designem. Ponadto, standardy dotyczące wydajności stron, takie jak Web Page Test czy Google PageSpeed Insights, zalecają minimalizację rozmiaru plików graficznych jako kluczowy element poprawy szybkości ładowania. Zmniejszenie wymiarów rysunku jest zatem jednym z najprostszych i najbardziej efektywnych rozwiązań, które mogą przynieść znaczące korzyści w zakresie wydajności stron internetowych.

Pytanie 4

Grafika powinna być zapisana w formacie GIF, jeśli

A. istnieje potrzeba zapisu obrazu w formie bez kompresji
B. jest to grafika wektorowa
C. konieczne jest zapisanie obrazu lub animacji
D. jest to obraz w technologii stereoskopowej
Format GIF (Graphics Interchange Format) jest powszechnie wykorzystywany do przechowywania obrazów oraz animacji. Dzięki obsłudze przezroczystości oraz możliwości tworzenia prostych animacji, GIF stał się standardem w przypadku grafiki na stronach internetowych. Jego ograniczenie do 256 kolorów sprawia, że idealnie nadaje się do prostych grafik, takich jak logo czy ikony, gdzie nie jest wymagana pełna gama kolorów, co ma miejsce w formatach takich jak JPEG czy PNG. W przypadku animacji, GIF umożliwia zapis wielu klatek w jednym pliku, co pozwala na odtwarzanie sekwencji obrazu bez potrzeby korzystania z dodatkowego oprogramowania. Praktyczne zastosowanie GIF-a można zaobserwować w mediach społecznościowych, gdzie animowane obrazki są często wykorzystywane do wyrażania emocji, a także na stronach internetowych do przedstawiania logo w ruchu. Używanie formatu GIF w kontekście animacji jest zgodne z dobrą praktyką w branży, ponieważ pozwala na efektywne zarządzanie zasobami wizualnymi oraz zwiększa atrakcyjność treści wizualnych.

Pytanie 5

W systemie baz danych sklepu znajdują się dwie tabele powiązane ze sobą relacją: produkty oraz oceny. Tabela oceny zawiera dowolną liczbę ocen wystawionych przez klientów dla konkretnego produktu, które są zdefiniowane przez pola: id, ocena (pole numeryczne), produktID (klucz obcy). Aby uzyskać maksymalną ocenę dla produktu o ID równym 10, należy użyć zapytania

A. COUNT MAX SELECT ocena FROM oceny WHERE produktID = 10;
B. SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;
C. SELECT MAX(ocena) FROM oceny WHERE produktID = 10;
D. MAX SELECT ocena FROM oceny WHERE produktID = 10;
Odpowiedź "SELECT MAX(ocena) FROM oceny WHERE produktID = 10;" jest prawidłowa, ponieważ wykorzystuje odpowiednią składnię SQL do uzyskania maksymalnej wartości z kolumny "ocena" dla produktu o określonym ID. Funkcja agregująca MAX() umożliwia znalezienie najwyższej oceny w zbiorze danych spełniających określone kryteria. W tym przypadku, zapytanie przeszukuje tabelę "oceny" i filtruje wyniki na podstawie "produktID" równym 10. Takie podejście jest zgodne z najlepszymi praktykami w obszarze SQL, ponieważ zapewnia prostotę i efektywność. W praktycznym zastosowaniu, w momencie gdy mamy do czynienia z dużymi zbiorami danych, takie zapytanie pozwala na szybkie uzyskanie potrzebnych informacji, co jest kluczowe dla analizy wydajności produktów w sklepie. Używanie funkcji agregujących, takich jak MAX(), jest standardem w relacyjnych bazach danych, co czyni to podejście odpowiednim w kontekście zarządzania danymi.

Pytanie 6

Aby tworzyć strony internetowe w sposób graficzny, należy skorzystać z

A. przeglądarki internetowej
B. programu typu WYSIWYG
C. programu MS Office Picture Manager
D. edytora CSS
Programy typu WYSIWYG (What You See Is What You Get) są narzędziami umożliwiającymi tworzenie stron internetowych w sposób wizualny, co znacznie ułatwia proces projektowania. Użytkownik może edytować strony bez konieczności znajomości języków programowania, takich jak HTML czy CSS, ponieważ te programy generują kod automatycznie na podstawie działań użytkownika. Przykładami takich aplikacji są Adobe Dreamweaver, Wix czy WordPress, które pozwalają na łatwe dodawanie treści, stylów i multimediów. Dzięki zastosowaniu programów WYSIWYG, projektanci mogą skupić się na estetyce i funkcjonalności stron, co jest zgodne z dobrymi praktykami branżowymi, które promują użyteczność i dostępność. Warto również zauważyć, że wiele z tych narzędzi oferuje szereg szablonów i komponentów, które przyspieszają proces tworzenia i zapewniają zgodność z aktualnymi standardami webowymi (np. W3C).

Pytanie 7

Została stworzona baza danych z tabelą podzespoły, która zawiera pola: model, producent, typ, cena. W celu wyświetlenia wszystkich modeli pamięci RAM od firmy Kingston w porządku rosnącym według ceny, należy skorzystać z następującej kwerendy:

A. SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC
B. SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC
C. SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC
D. SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC
Aby skutecznie wyświetlić wszystkie modele pamięci RAM firmy Kingston w kolejności od najtańszej do najdroższej, konieczne jest zrozumienie składni zapytań SQL oraz zasad filtrowania danych w bazie danych. Kwerenda SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC; jest poprawna, ponieważ precyzyjnie określa, że chcemy wybrać pole 'model' z tabeli 'podzespoly', gdzie warunki są spełnione dla typu 'RAM' oraz producenta 'Kingston'. Kluczowym aspektem jest użycie operatora AND, który zapewnia, że oba warunki muszą być spełnione, co pozwala na uzyskanie dokładnych wyników. Następnie, zastosowanie klauzuli ORDER BY cena ASC pozwala na posortowanie wyników w kolejności rosnącej według ceny, co jest istotne dla użytkowników poszukujących najtańszych opcji. Przykładem zastosowania tej kwerendy w praktyce może być analiza konkurencyjności cenowej produktów na rynku pamięci RAM, co jest istotne dla sprzedawców i konsumentów. W kontekście standardów SQL, konstrukcja ta przestrzega zasad definiowanych przez ANSI SQL, co czyni ją zgodną z większością systemów zarządzania bazami danych.

Pytanie 8

Zestaw narzędzi oraz funkcji umożliwiający tworzenie aplikacji, który dodatkowo narzuca ramy wizualne aplikacji, jej strukturę oraz czasami wzór, według którego ma być stworzona aplikacja, to

A. framework
B. komponent
C. biblioteka
D. middleware
Framework to zestaw skomponowanych narzędzi oraz komponentów, które wspierają programistów w procesie tworzenia aplikacji poprzez dostarczenie struktury i organizacji kodu. Charakteryzuje się on tym, że określa pewne zasady, standardy oraz architekturę, co pozwala na łatwiejsze zarządzanie projektem i jego przyszłym rozwojem. Przykłady popularnych frameworków to Angular, React dla aplikacji webowych oraz Django, Ruby on Rails w przypadku aplikacji serwerowych. Frameworki często implementują wzorce projektowe, takie jak Model-View-Controller (MVC), które segregują logikę aplikacji na różne warstwy, co pozwala na lepszą organizację kodu. Dzięki zastosowaniu frameworków, programiści mogą skupić się na pisaniu logiki biznesowej, zamiast tracić czas na implementację podstawowych funkcji, ponieważ wiele z nich jest już dostarczanych przez framework. Umożliwia to również łatwiejsze wprowadzanie zmian oraz współpracę w zespołach programistycznych. Frameworki są zgodne z różnymi standardami, co zapewnia ich wszechstronność i szeroką akceptację w branży.

Pytanie 9

Jaki jest cel funkcji napisanej w PHP?

$zapytanie = mysql_query("SELECT * FROM napisy");

A. uzyskanie danych z bazy danych
B. zmianę hasła do bazy danych
C. ochronę bazy danych
D. nawiązanie połączenia z bazą danych
Podana funkcja w języku PHP demonstruje zastosowanie polecenia SQL SELECT które jest używane do pobierania danych z bazy danych MySQL. Funkcja mysql_query jest używana do wykonywania zapytań SQL w kontekście bazy danych MySQL. W tym przypadku zapytanie SQL SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. W praktyce wybór danych przy użyciu komendy SELECT jest kluczowy w aplikacjach PHP które działają z bazami danych ponieważ pozwala na dynamiczne generowanie zawartości strony internetowej w oparciu o informacje przechowywane w bazie. Ważne jest przestrzeganie najlepszych praktyk takich jak użycie funkcji mysqli_query czy PDO w nowych aplikacjach PHP w celu zapewnienia bezpieczeństwa i wydajności ponieważ mysql_query jest przestarzałe. Dodatkowo należy stosować techniki zabezpieczające przed SQL injection takie jak przygotowane zapytania co zwiększa bezpieczeństwo aplikacji

Pytanie 10

W tabeli mieszkancy, która zawiera pola id, imie, nazwisko, ulica, numer oraz czynsz (kwota całkowita), należy uzyskać informacje o osobach zamieszkujących ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz nie przekracza 1000 zł. Klauzula WHERE w zapytaniu powinna wyglądać następująco

A. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
C. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
Kiedy piszemy zapytanie SQL, klauzula WHERE powinna wyglądać tak: 'WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000'. Dlaczego to działa? Bo ta klauzula jasno określa, że interesują nas tylko mieszkańcy z ulicy Mickiewicza, mający numery 71, 72 lub 80, i którzy płacą czynsz mniejszy niż 1000 zł. Użycie AND sprawia, że wszystkie te warunki muszą być spełnione naraz, co jest naprawdę ważne. Możemy to sobie wyobrazić w kontekście zarządzania nieruchomościami, gdzie chcemy pokazać tylko wybraną grupę mieszkańców, na przykład do analizy ich sytuacji finansowej. I tak na marginesie – w SQL lepiej unikać OR, gdy chcemy dostąpić do jasno określonych danych, ponieważ może to dać nam za dużo wyników lub takie, których nie chcemy.

Pytanie 11

Jak można zmodyfikować nałożone na siebie fragmenty obrazu, nie zmieniając innych elementów?

A. Warstwy
B. Wykres histogramu
C. Kanał przezroczystości
D. Przycinanie
Warstwy są kluczowym elementem w edycji grafiki komputerowej, umożliwiając precyzyjne zarządzanie różnymi elementami obrazu. Dzięki zastosowaniu warstw, użytkownik może na przykład oddzielić tło od obiektów na pierwszym planie, co pozwala na edytowanie jednego z tych elementów bez wpływu na resztę kompozycji. Zastosowanie warstw jest szczególnie przydatne w programach graficznych, takich jak Adobe Photoshop, GIMP czy CorelDRAW, gdzie umożliwia łatwą manipulację oraz efektywną organizację projektu. Dzięki warstwom można również stosować różne efekty i style, takie jak cienie, przezroczystości czy gradienty, co pozwala na stworzenie bardziej złożonych i interesujących grafik. Warto również zauważyć, że korzystanie z warstw jest zgodne z najlepszymi praktykami w branży, jako że sprzyja to lepszej organizacji pracy oraz ułatwia wprowadzanie zmian w projekcie. Uczy to również umiejętności przydatnych w pracy zespołowej, gdzie różne osoby mogą pracować nad różnymi warstwami równocześnie, co zwiększa efektywność i kreatywność procesu twórczego.

Pytanie 12

Witryna internetowa zawiera poziome menu w formie listy punktowanej. Aby elementy tej listy mogły być wyświetlane w jednej linii, należy przypisać selektorowi li właściwość

A. text-align
B. outline
C. position
D. display
Ustawienie właściwości 'display' dla selektora 'li' jest kluczowe, aby elementy listy mogły być wyświetlane w jednej linii. Właściwość ta określa, w jaki sposób dany element powinien być renderowany w kontekście modelu box. Aby uzyskać efekt poziomego menu, warto zastosować 'display: inline;' lub 'display: inline-block;'. Użycie 'inline' sprawia, że elementy nie zajmują całej szerokości dostępnej wiersza, a 'inline-block' umożliwia również ustawienie szerokości i wysokości. W kontekście dobrych praktyk projektowania stron internetowych, zastosowanie takiego podejścia pozwala na osiągnięcie większej elastyczności w układzie, ułatwiając jednocześnie stylizację elementów, co jest zgodne z zasadami responsywnego web designu. Warto również pamiętać o użyciu marginesów i paddingów, aby zapewnić odpowiednią przestrzeń między elementami menu, co przyczyni się do lepszej czytelności i estetyki strony.

Pytanie 13

Aby uzyskać dane z tabeli pracownicy wyłącznie dla osób, które osiągnęły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy AND wiek > '25'
B. SELECT * FROM wiek WHERE pracownicy > '25'
C. SELECT * FROM pracownicy OR wiek > '25'
D. SELECT * FROM pracownicy WHERE wiek > '25'
Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > '25';'. To zapytanie jest zgodne z zasadami SQL i pozwala na wyświetlenie wszystkich rekordów z tabeli 'pracownicy', które spełniają określony warunek dotyczący wieku. Używając klauzuli WHERE, precyzyjnie filtrujemy wyniki i zwracamy tylko tych pracowników, którzy mają więcej niż 25 lat. Warto pamiętać, że w SQL operator '>' jest wykorzystywany do porównywania wartości, a w tym przypadku pozwala nam na wybranie pracowników, którzy ukończyli 26 lat. Przy projektowaniu zapytań SQL, kluczowe jest stosowanie odpowiednich warunków filtrujących, aby ograniczyć zwracane dane do tych istotnych dla analiz. Przykładowo, analiza wieku pracowników w kontekście przyznawania dodatków lub przeprowadzania szkoleń może opierać się na takich zapytaniach. W praktyce, ważne jest także wykorzystanie indeksów w bazach danych, aby zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 14

Model fizyczny replikacji bazy danych pokazany na ilustracji jest modelem

Ilustracja do pytania
A. rozproszonym
B. centralnego subskrybenta
C. równorzędnym
D. centralnego wydawcy
Model centralnego wydawcy jest popularnym rozwiązaniem w replikacji baz danych gdzie jeden centralny serwer działa jako główny wydawca danych do wielu subskrybentów. Kluczowa cecha tego modelu polega na tym że wszystkie zmiany są inicjowane na głównym serwerze co pozwala na scentralizowane zarządzanie danymi. Centralny wydawca zapewnia że dane są spójne i aktualizowane we wszystkich subskrybentach zmniejszając ryzyko konfliktów danych. Taka architektura jest często stosowana w organizacjach z rozproszonymi jednostkami gdzie centralny serwer w centrali obsługuje oddziały terenowe. Przykładami zastosowań są systemy ERP i CRM które wymagają jednoczesnej replikacji danych do wielu lokalizacji. Dobre praktyki w tej architekturze obejmują regularne monitorowanie wydajności serwerów oraz optymalizację przepustowości sieci by minimalizować opóźnienia. Modele centralnego wydawcy wykorzystują technologie takie jak SQL Server Replication czy Oracle Streams które są dobrze udokumentowane i szeroko stosowane w branży zapewniając niezawodność i skalowalność.

Pytanie 15

Filtracja sygnału wejściowego w czasie, która uwzględnia zasadę superpozycji, dotyczy filtru

A. liniowego
B. o skończonej odpowiedzi impulsowej
C. przyczynowym
D. niezmiennym w czasie
Odpowiedź 'liniowym' jest poprawna, ponieważ proces filtracji sygnału w dziedzinie czasu, który opiera się na zasadzie superpozycji, jest charakterystyczny dla filtrów liniowych. Filtry liniowe działają na zasadzie kombinacji sygnałów wejściowych, co oznacza, że sygnał wyjściowy jest liniową kombinacją sygnałów wejściowych. Przykładem zastosowania filtracji liniowej jest użycie filtrów w systemach audio, gdzie ma na celu poprawę jakości dźwięku poprzez eliminację niepożądanych częstotliwości. W inżynierii sygnałów, filtry liniowe są powszechnie stosowane w systemach komunikacyjnych czy w przetwarzaniu obrazów. Dobre praktyki w tej dziedzinie obejmują projektowanie filtrów w oparciu o różne metody, takie jak metoda okna czy projektowanie filtrów cyfrowych przy użyciu transformacji Z. Filtry liniowe są niezwykle ważne w kontekście analizy sygnałów, ponieważ ich właściwości pozwalają na przewidywalność i kontrolę nad przetwarzanym sygnałem, co jest kluczowe w wielu zastosowaniach inżynieryjnych.

Pytanie 16

W jakim przypadku w JavaScript warunek jest spełniony, jeśli zmienna x przyjmuje wartość

if ((!isNaN(x)) && (x > 0))

A. wszelką całkowitą wartość liczbową
B. pusty ciąg znaków
C. nie-liczbową wartość
D. wszelką dodatnią wartość liczbową
W przypadku gdy zmienna x przechowuje pusty napis warunek w JavaScript if (!isNaN(x) && x>0) nie będzie prawdziwy ponieważ pusty napis nie zostanie zinterpretowany jako liczba isNaN('') zwraca false ale dodatkowy warunek x>0 nie zostanie spełniony ponieważ pusty napis nie jest większy od zera Z kolei wartość nie liczbowa spowoduje że isNaN(x) zwróci true co oznacza że !isNaN(x) będzie false W ten sposób wartość nie liczbowa również nie spełni warunku Ponadto jeśli zmienna x przechowuje dowolną całkowitą wartość liczbową nie ma gwarancji że będzie ona dodatnia Może być zerem lub ujemna co nie spełni drugiego warunku x>0 Dlatego kluczowe jest zrozumienie że warunek ten weryfikuje zarówno numeryczność jak i dodatniość wartości co jest częstym przypadkiem w aplikacjach wymagających precyzyjnej walidacji danych użytkownika Zamieszanie może wynikać z błędnego rozumienia jak JavaScript traktuje różne typy danych i wartości w kontekście operacji logicznych oraz jak ma miejsce konwersja typów podczas porównań logicznych Dlatego ważne jest aby programiści mieli silne podstawy w zrozumieniu tych mechanizmów aby unikać błędów logicznych które mogą prowadzić do nieprzewidywalnego działania aplikacji Zrozumienie tych aspektów pozwala na pisanie bardziej odpornych i bezpiecznych aplikacji co jest istotne w profesjonalnej praktyce programistycznej

Pytanie 17

Istnieje tabela programisci z polami:id, nick, ilosc_kodu, ocena. Wartość w polu ilosc_kodu przedstawia liczbę linii kodu, które dany programista stworzył w określonym miesiącu. Aby obliczyć całkowitą liczbę linii kodu napisanych przez wszystkich programistów, należy zastosować następujące polecenie

A. SELECT SUM(ocena) FROM ilosc_kodu;
B. SELECT SUM(ilosc_kodu) FROM programisci;
C. SELECT COUNT(programisci) FROM ilosc_kodu;
D. SELECT MAX(ilosc_kodu) FROM programisci;
Poprawna odpowiedź to "SELECT SUM(ilosc_kodu) FROM programisci;" ponieważ to zapytanie dokładnie ilustruje, jak można obliczyć sumę wszystkich linii kodu napisanych przez programistów. Funkcja agregująca SUM() służy do sumowania wartości w podanym polu, które w tym przypadku jest polem "ilosc_kodu". W kontekście relacyjnych baz danych, stosowanie funkcji agregujących jest kluczowe do analizy danych w sposób statystyczny. W praktyce, takie zapytanie może być przydatne w raportach dotyczących wydajności zespołu programistycznego, gdzie analiza sumy napisanych linii kodu pozwala na ocenę produktywności oraz identyfikację programistów, którzy mogą potrzebować wsparcia w realizacji zadań. Ponadto, zgodnie z najlepszymi praktykami SQL, warto być świadomym kontekstu zapytań, a dobór odpowiednich funkcji agregujących, takich jak SUM(), COUNT(), AVG() itp., jest niezbędny do efektywnego przetwarzania danych.

Pytanie 18

Funkcja phpinfo() umożliwia

A. analizowanie kodu PHP w celu wykrycia błędów
B. rozpoczęcie wykonywania kodu w języku PHP
C. uzyskanie danych o środowisku serwera, na którym działa PHP
D. sprawdzenie wartości zmiennych zastosowanych w kodzie PHP
Funkcja phpinfo() jest niezwykle użytecznym narzędziem w PHP, które pozwala deweloperom na uzyskanie szczegółowych informacji o środowisku pracy serwera. Dzięki temu, można dowiedzieć się o zainstalowanych rozszerzeniach PHP, wersji PHP, ustawieniach konfiguracyjnych, a także o systemie operacyjnym, na którym działa serwer. Przykładowo, wywołanie phpinfo(); w skrypcie PHP zwraca stronę zawierającą różnorodne informacje, takie jak wartości zmiennych konfiguracyjnych (np. memory_limit, upload_max_filesize), co jest nieocenione podczas optymalizacji aplikacji oraz rozwiązywania problemów. Ponadto, korzystanie z phpinfo() jest zgodne z dobrymi praktykami w programowaniu, ponieważ pomaga zrozumieć, w jakim środowisku działa aplikacja, co jest kluczowe przy jej rozwijaniu i testowaniu. Deweloperzy często używają tej funkcji w fazie debugowania, aby upewnić się, że wszystkie wymagane rozszerzenia są aktywne i poprawnie skonfigurowane, co może zapobiec wielu problemom podczas wdrożenia aplikacji na produkcję.

Pytanie 19

Funkcja agregująca MIN w SQL ma na celu obliczenie

A. długości tekstu w rekordach zwróconych przez kwerendę
B. liczby wierszy, które zostały zwrócone przez kwerendę
C. wartości najmniejszej w kolumnie wynikowej kwerendy
D. średniej wartości różnych pól w rekordzie zwróconym przez zapytanie
Funkcja agregująca MIN w języku SQL służy do obliczania wartości minimalnej w kolumnie zwróconej przez kwerendę. Działa ona na zbiorze rekordów i zwraca najmniejszą wartość spośród wartości znalezionych w specyfikowanej kolumnie. Przykładowo, jeśli w naszej bazie danych mamy tabelę 'Pracownicy' z kolumną 'Wynagrodzenie', zapytanie SQL 'SELECT MIN(Wynagrodzenie) FROM Pracownicy;' zwróci najniższe wynagrodzenie wśród wszystkich pracowników. Funkcja ta jest niezwykle przydatna w analizie danych, gdzie często chcemy zidentyfikować najniższe wartości, na przykład w raportach finansowych czy w analizach jakości danych. Dobrze jest też pamiętać, że MIN może być używana w połączeniu z klauzulą GROUP BY, co pozwala na uzyskanie minimalnych wartości w podgrupach danych, co jest standardem w analityce danych w SQL.

Pytanie 20

W przedstawionej definicji typu wyliczeniowego w języku C++ enumerator CZWARTEK będzie miał wartość równą

A. napisowi "CZWARTEK"
B. liczbie 1
C. liczbie 4
D. napisowi 'CZWARTEK'
Odpowiedzi wskazujące na napisy, zarówno w pojedynczych cudzysłowach, jak i podwójnych, są niepoprawne, ponieważ w kontekście definicji typów wyliczeniowych w C++ wartością enumeratora nie jest tekst, lecz liczba całkowita. Typy wyliczeniowe zostały zaprojektowane, aby reprezentować zestaw stałych, które mają konkretne wartości numeryczne, co czyni je bardziej efektywnymi w użyciu w porównaniu do zwykłych zmiennych. Próbując utożsamiać CZWARTEK z napisem, można dojść do mylnego wniosku, że nazwy enumeratorów są tego samego rodzaju co stringi, co prowadzi do nieprawidłowego zrozumienia ich roli w programowaniu. Warto również zauważyć, że w C++ używanie typów wyliczeniowych przyczynia się do zwiększenia bezpieczeństwa typów, ponieważ pozwala na ograniczenie wartości, które zmienna może przyjąć. Typowe błędy myślowe, które mogą prowadzić do nieprawidłowych odpowiedzi, obejmują mylenie reprezentacji tekstowej zmiennych z ich wartościami numerycznymi lub nieuważne czytanie definicji enum, co może prowadzić do błędnych wniosków na temat tego, jak działają enumeratory. W systemach, które operują na złożonych danych, takich jak dni tygodnia, wykorzystanie enumów jest kluczowe dla poprawnego działania logiki programu, dlatego istotne jest zrozumienie ich właściwego użycia i przypisania wartości.

Pytanie 21

W arkuszu stylów CSS zdefiniowano cztery klasy do formatowania, które później zastosowano do stylizacji paragrafów. Wizualny efekt, jaki można zobaczyć na rysunku, uzyskano dzięki użyciu klasy o nazwie

A. format2
B. format1
C. format4
D. format3
Wybór klasy formatowania mógł być nietrafiony, bo nie do końca zrozumiałeś, jak działa właściwość text-decoration w CSS. Klasa format1 używa stylu overline, który dodaje linię nad tekstem, co może być przydatne w niektórych sytuacjach, jak zaznaczanie ważnych fragmentów. Ale w naszym przypadku efekt nadkreślenia jest całkiem inny niż przekreślenie. Klasa format3 stosuje underline, co dodaje linię pod tekstem, głównie do podkreślania linków. To jest bardzo popularny sposób, ale w tym wypadku nie ma sensu, bo nie osiągniesz efektu przekreślenia. Klasa format4 oznacza, że nie ma żadnej dekoracji, czyli żadna linia nie jest dodawana. Często wykorzystuje się to, żeby usunąć domyślne podkreślenie w linkach i dostosować je do własnych potrzeb. Każda z tych właściwości ma swój cel i ich stosowanie zależy od kontekstu oraz efektów, które chcesz uzyskać. Kluczowe jest zrozumienie, jak różne style wpływają na wygląd treści. Wiedza o różnicy między linią nad, pod a przez tekst jest naprawdę ważna w projektowaniu stron i dokumentów.

Pytanie 22

Program FileZilla może być użyty do

A. zmiany domyślnych ustawień hostingu dla strony internetowej
B. publikacji strony internetowej na serwerze
C. zarządzania bazami danych strony internetowej
D. walidacji strony internetowej
Program FileZilla jest popularnym klientem FTP, który umożliwia przesyłanie plików na serwery internetowe, co jest kluczowe przy publikacji stron internetowych. Użytkownicy mogą korzystać z FileZilla do łatwego zarządzania plikami na serwerze, co pozwala na przesyłanie wszystkich niezbędnych plików HTML, CSS, JavaScript oraz multimediów do katalogu głównego serwera. Przykładowo, po zakończeniu prac nad stroną lokalnie, użytkownik może użyć FileZilla do przesłania plików na serwer, co sprawia, że strona staje się dostępna dla internautów. Program wspiera różne protokoły transferu plików, takie jak FTP, FTPS czy SFTP, co zwiększa bezpieczeństwo przesyłania danych, zgodnie z dzisiejszymi standardami. Używając FileZilla, użytkownicy mogą również zarządzać strukturą katalogów na serwerze, co jest zgodne z dobrymi praktykami w zakresie organizacji plików. Poznanie tego narzędzia i jego funkcji jest niezwykle istotne dla każdego, kto planuje publikować treści w internecie.

Pytanie 23

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

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

Pytanie 24

W przedstawionym kodzie PHP przeprowadzono operację na bazie danych. Jaką funkcję należy wywołać, aby uzyskać liczbę wierszy, które zostały zmienione w tabeli? ```$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10"; mysqli_query($db, $zapytanie);```

A. mysqli_use_result()
B. mysqli_affected_rows()
C. mysqli_num_rows()
D. mysqli_field_count()
Wybór innych funkcji zamiast mysqli_affected_rows() prowadzi do nieporozumień dotyczących ich przeznaczenia i zastosowania. Przykładowo, funkcja mysqli_num_rows() jest używana w kontekście kwerend SELECT, gdzie zwraca liczbę wierszy w zestawie wyników. Nie może być zastosowana po operacjach modyfikujących bazę danych, takich jak UPDATE, ponieważ nie dostarcza informacji o efektach tych operacji. Z kolei mysqli_use_result() jest przeznaczona do przetwarzania zestawów wyników z zapytań, co znowu nie odnosi się do sytuacji, w której chcemy znać liczbę zmienionych wierszy. Funkcja mysqli_field_count() zwraca liczbę kolumn w ostatnim zapytaniu, które zwróciło rezultat, co również nie ma zastosowania w kontekście zapytań modyfikujących. Typowym błędem myślowym jest mieszanie funkcji związanych z różnymi rodzajami zapytań. Ważne jest, aby rozumieć, jak różne funkcje w PHP dotyczące MySQL są ze sobą powiązane i jakie mają specyficzne zastosowania. Nieprawidłowe użycie tych funkcji może prowadzić do błędnych wniosków o stanie bazy danych i utrudniać debugowanie aplikacji. W związku z tym kluczowym elementem efektywnego zarządzania bazami danych jest znajomość odpowiednich funkcji oraz ich funkcji i ograniczeń.

Pytanie 25

Jakie polecenie SQL zmieni w tabeli tab wartość w kolumnie kol z Ania na Zosia?

A. ALTER TABLE tab CHANGE kol = 'Zosia' kol = 'Ania'
B. ALTER TABLE tab CHANGE kol = 'Ania' kol = 'Zosia'
C. UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania'
D. UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia'
Polecenie SQL UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania' jest poprawne, ponieważ używa ono właściwej składni do aktualizacji wartości w istniejącej tabeli. W tym przypadku komenda ta zmienia wszystkie wystąpienia wartości 'Ania' w kolumnie 'kol' na 'Zosia'. Jest to klasyczna operacja aktualizacji, która jest szeroko stosowana w zarządzaniu bazami danych. Przykładowo, jeśli w tabeli 'tab' znajdują się rekordy przedstawiające użytkowników, a potrzebujemy zmienić imię 'Ania' na 'Zosia', to powyższa komenda wykona tę operację poprawnie. Zgodnie z zasadami dobrych praktyk, warto również przed dokonaniem aktualizacji wykonać zapytanie SELECT, aby upewnić się, jakie rekordy zostaną zmienione. Dodatkowo, do zminimalizowania ryzyka wystąpienia niezamierzonych zmian, warto przeprowadzić tę operację w kontekście transakcji, aby móc cofnąć zmiany w razie potrzeby, co jest szczególnie istotne w przypadku krytycznych danych.

Pytanie 26

W języku JavaScript zapisano fragment kodu. Po wykonaniu skryptu zmienna x

<script>
var x = 10;
x++;
console.log(x);
</script>

A. będzie równa 11 i zostanie wypisana w oknie popup.
B. będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
C. będzie równa 10 i zostanie wypisana w dokumencie HTML.
D. będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej.
Twoja odpowiedź nie była poprawna, ale nie martw się, omówimy teraz dlaczego. Po pierwsze, zmienna x nie będzie równa 10 - jest to błąd wynikający z braku zrozumienia, jak działa inkrementacja. W JavaScript, operator ++ stosowany jest do zwiększenia wartości zmiennej o 1. W naszym przypadku, zmienna x jest zainicjalizowana wartością 10, a następnie jest inkrementowana, co oznacza, że jej wartość wynosi 11, a nie 10. Jeśli chodzi o miejsce wypisywania wartości zmiennej, to nie będzie to dokument HTML, okno popup, ani główne okno przeglądarki. W JavaScript, standardowym miejscem do wypisywania wartości zmiennych do celów debugowania jest konsola przeglądarki, co odbywa się za pomocą metody console.log(). Pamiętaj, że zrozumienie, jak działa konsola i jak z niej korzystać, jest ważnym elementem pracy z JavaScript. Podsumowując, zrozumienie operacji na zmiennych, takich jak inkrementacja, oraz właściwe wykorzystanie konsoli przeglądarki, są podstawowymi umiejętnościami niezbędnymi do efektywnego programowania w JavaScript.

Pytanie 27

Klucz obcy w bazie danych jest tworzony w celu

A. określenia relacji 1..n łączącej go z kluczem głównym innej tabeli
B. stworzenia formularza do wprowadzania danych do tabeli
C. łączenia go z innymi kluczami obcymi w tabeli
D. umożliwienia jednoznacznej identyfikacji rekordu w bazie danych
Klucz obcy w tabeli jest fundamentalnym elementem w relacyjnych bazach danych, który umożliwia tworzenie relacji pomiędzy tabelami. W szczególności, definiuje relację 1..n, co oznacza, że jeden rekord w tabeli, w której znajduje się klucz główny, może być powiązany z wieloma rekordami w tabeli, która posiada klucz obcy. Taki mechanizm pozwala na strukturalne powiązanie danych, co jest kluczowe dla zapewnienia integralności referencyjnej. Na przykład, w bazie danych zarządzającej informacjami o klientach i ich zamówieniach, klucz obcy w tabeli zamówień może wskazywać na klucz główny w tabeli klientów, co pozwala na łatwe śledzenie, które zamówienia są przypisane do konkretnego klienta. Zastosowanie kluczy obcych wspiera również dobre praktyki projektowania baz danych, takie jak normalizacja, co minimalizuje redundancję danych i poprawia ich spójność. Zgodność z tymi zasadami jest zgodna z wytycznymi organizacji takich jak ISO/IEC 9075 oraz ANSI SQL, które promują efektywne zarządzanie danymi.

Pytanie 28

Zakładając, że tablica $tab zawiera liczby naturalne, co program wyświetli?

$liczba = $tab[0];
foreach ($tab as $element)
{
  if ($element > $liczba)
    $liczba = $element;
}
echo $liczba;

A. największy element tablicy
B. elementy, które przewyższają zmienną $liczba
C. najmniejszy element tablicy
D. element tablicy o wartości $tab[0]
Niepoprawne odpowiedzi wynikają z nieporozumień dotyczących działania pętli iteracyjnej oraz logiki porównywania i aktualizowania wartości. Propozycja wyboru najmniejszego elementu tablicy jest błędna, ponieważ w programie brakuje mechanizmu do aktualizacji zmiennej $liczba na mniejszą wartość, co jest kluczowym wymogiem w tym kontekście. Pętla foreach z warunkiem if sprawia, że zmienna $liczba zwiększa swoją wartość tylko wtedy, gdy znajdzie się element większy od aktualnie przechowywanej wartości, eliminując tym samym możliwość identyfikacji najmniejszego elementu. Z kolei opcja dotycząca wypisania elementów większych od zmiennej $liczba również jest nietrafiona, ponieważ program nie zawiera żadnej instrukcji wypisującej takie elementy na ekran, a jedynie aktualizuje zmienną w celu znalezienia największej wartości. Taka funkcjonalność wymagałaby dodatkowej logiki, która przechowywałaby i obsługiwała wiele większych elementów, co nie jest realizowane w obecnym kodzie. Wreszcie, pomysł, że program wypisuje element równy $tab[0], również nie jest poprawny. Chociaż zmienna $liczba jest inicjalizowana wartością $tab[0], to jednak ulega ona zmianom w trakcie iteracji przez tablicę, jeśli znajdzie się większy element, a więc w większości przypadków nie kończy z wartością początkową. Zrozumienie tych mechanizmów jest kluczowe w projektowaniu efektywnego kodu i unikaniu nieporozumień w implementacji algorytmów operujących na zbiorach danych.

Pytanie 29

bool gotowe=true;cout<

A. Nie
B. Tak
C. 0
D. 1
Kiedy wybrałeś, że wynik to '0' lub inną wartość logiczną, mogłeś się pomylić co do działania zmiennych typu bool w C++. Myśląc, że wynik to '0', można sądzić, że zmienna gotowe (z wartością true) nie jest prawidłowo wyświetlana jako liczba. To jest w sumie sprzeczne z tym, co mówi definicja typu bool, bo true i false są pokazywane jako 1 i 0. Myślenie, że 'Tak' lub 'Nie' to dobre odpowiedzi, może wynikać z błędnego założenia, że bool można bardziej skomplikowanie interpretować. W rzeczywistości w C++ nie ma prostego przełożenia bool na tekst; korzystamy z liczbowych odpowiedników. Takie nieporozumienia mogą prowadzić do różnych błędów, zwłaszcza gdy programista nie rozumie podstawowych zasad konwersji typów danych. Ważne jest, żeby programiści wiedzieli, jak różne typy są reprezentowane i konwertowane w języku, bo to ma wpływ na działanie ich programów oraz na interakcje z użytkownikami. Ta wiedza jest kluczowa do tworzenia sprawnych aplikacji i unikania typowych błędów w kodowaniu.

Pytanie 30

W hurtowni utworzono tabelę sprzedaż, która zawiera pola: id, kontrahent, grupa_cenowa oraz obrot. Jakie polecenie należy wykorzystać, aby znaleźć tylko kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł?

A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000
B. SELECT sprzedaz FROM kontrahent WHERE obrot>4000
C. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 OR obrot>4000
D. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa=2 AND obrot>4000
W analizowanych odpowiedziach znajdują się elementy, które nie spełniają wymogów stawianych przez zapytanie o kontrahentów z drugiej grupy cenowej i obrotem powyżej 4000 zł. W pierwszym przypadku, zapytanie używa niewłaściwej konstrukcji, ponieważ polecenie 'SELECT sprzedaz FROM kontrahent WHERE obrot>4000;' odnosi się do błędnych tabel i kolumn, wprowadzając zamieszanie. Użycie 'FROM kontrahent' zamiast 'FROM sprzedaz' wskazuje na nieprawidłowe zrozumienie struktury bazy danych. Kolejny błąd polega na zastosowaniu operatora OR w jednym z zapytań, co prowadzi do zwrócenia wszystkich kontrahentów, którzy mają obrót większy niż 4000 zł, niezależnie od grupy cenowej. W kontekście wymagań pytania, taki zabieg nie jest wystarczający, ponieważ nie segreguje wyników według grupy cenowej, co może skutkować uzyskaniem niepożądanych danych. W ostatniej niepoprawnej odpowiedzi także występuje mylna konstrukcja, ponieważ 'SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa=2 AND obrot>4000;' błędnie wskazuje na tabele i kolumny, co jest niezgodne z zasadami normalizacji baz danych. Zastosowanie niewłaściwych aliasów i odniesień do tabel uniemożliwia skuteczne wykonanie zapytania i analizę danych.

Pytanie 31

Tablica tab[10] zawiera różne liczby całkowite. Jaką wartość uzyska zmienna zm2 po wykonaniu podanego fragmentu kodu?

A. Suma liczb od 1 do 10.
B. Średnia arytmetyczna elementów tablicy.
C. Średnia geometryczna liczb od 0 do 9.
D. Suma elementów tablicy.
Wynik zmiennej zm2 w przedstawionym kodzie to średnia arytmetyczna wartości znajdujących się w tablicy tab. Proces obliczania średniej arytmetycznej polega na zsumowaniu wszystkich elementów tablicy i podzieleniu tej sumy przez liczbę elementów. W tym przypadku zmienna zm1 akumuluje sumę wszystkich wartości tablicy tab, a następnie zmienna zm2 jest obliczana jako zm1 podzielone przez 10, co odpowiada liczbie elementów w tablicy. To podejście jest zgodne z dobrą praktyką programistyczną, ponieważ umożliwia efektywne obliczenie średniej, co jest powszechnie stosowane w analizie danych. W praktycznych zastosowaniach, takich jak przetwarzanie danych finansowych czy naukowych, umiejętność obliczania średnich jest kluczowa, umożliwiając podejmowanie świadomych decyzji na podstawie statystyk. Dodatkowo, warto zauważyć, że dla tablicy różnych typów danych, takich jak float czy double, technika obliczania średniej pozostaje taka sama, aczkolwiek wymaga uwzględnienia precyzji obliczeń.

Pytanie 32

W kodzie HTML przypisano pewne znaczniki do klasy o nazwie "nomargin". Jak można przeprowadzić operacje na tych znacznikach w języku JavaScript, korzystając z odpowiedniej funkcji?

A. getElement("nomargin")
B. getElementsByClassName("nomargin")
C. getElementById("nomargin")
D. getElementsByTagName("nomargin")
Odpowiedzi, takie jak 'getElement("nomargin")', 'getElementById("nomargin")' oraz 'getElementsByTagName("nomargin")', są niewłaściwe z różnych powodów, które warto szczegółowo przeanalizować. Pierwsza opcja, 'getElement("nomargin")', nie istnieje w standardzie JavaScript, co może prowadzić do błędów w kodzie. Właściwe metody umożliwiające selekcję elementów to bardziej specyficzne funkcje, jak getElementById, która z kolei wymaga unikalnego identyfikatora, a nie klasy. Przykład 'getElementById("nomargin")' działałby tylko wtedy, gdy 'nomargin' byłby przypisany jako identyfikator (id) jednego, unikalnego elementu. Jednak w HTML nie zaleca się stosowania tej metody do selekcji klas, co stwarza kolejne problemy. Ostatnia odpowiedź, 'getElementsByTagName("nomargin")', jest również błędna, ponieważ ta metoda służy do selekcji elementów na podstawie ich tagów HTML, a nie klas. Ponadto, brak zrozumienia różnic między tymi metodami może prowadzić do istotnych błędów w kodzie, które będą skutkować błędnym działaniem aplikacji webowych. Kluczowe jest, aby przy pracy z DOM stosować odpowiednie metody zgodnie z ich przeznaczeniem, co podnosi jakość kodu oraz jego czytelność.

Pytanie 33

Integralność referencyjna w relacyjnych bazach danych wskazuje, że

A. każdemu kluczowi głównemu przyporządkowany jest dokładnie jeden klucz obcy w danej tabeli lub powiązanych tabelach
B. wartość klucza obcego w konkretnej tabeli musi być równa wartości klucza głównego w powiązanej tabeli lub mieć wartość NULL
C. wartość klucza głównego oraz klucza obcego nie może być pusta
D. klucz główny lub klucz obcy nie zawierają żadnych wartości NULL
Integralność referencyjna to kluczowy koncept w modelu relacyjnych baz danych, który zapewnia spójność oraz integralność danych pomiędzy różnymi tabelami. Oznacza to, że każda wartość klucza obcego w danej tabeli musi być zgodna z wartością klucza głównego w powiązanej tabeli, lub może być wartością NULL, co oznacza brak powiązania. Dzięki temu zyskujemy pewność, że wszelkie relacje między danymi są logiczne i zgodne z założeniami projektowymi bazy danych. Przykładem może być tabela 'Zamówienia', w której klucz obcy 'ID_Klienta' odnosi się do klucza głównego 'ID_Klienta' w tabeli 'Klienci'. Jeśli wartość 'ID_Klienta' w tabeli 'Zamówienia' nie pasuje do żadnej wartości 'ID_Klienta' w tabeli 'Klienci', narusza to integralność referencyjną. Standardy takie jak SQL (Structured Query Language) oraz zasady ACID (Atomicity, Consistency, Isolation, Durability) podkreślają znaczenie integralności danych, co jest kluczowe dla poprawnego funkcjonowania systemów bazodanowych i zapewnienia ich niezawodności oraz efektywności. Utrzymanie integralności referencyjnej jest istotne dla analizy danych, raportowania oraz utrzymywania relacji między różnymi obiektami w bazie.

Pytanie 34

W bazie danych MySQL znajduje się tabela z programami komputerowymi, posiadająca kolumny: nazwa, producent, rokWydania. Jaką kwerendę SELECT należy zastosować, aby uzyskać listę wszystkich producentów, unikając powtórzeń?

A. SELECT DISTINCT producent FROM programy
B. SELECT producent FROM programy WHERE UNIQUE
C. SELECT UNIQUE producent FROM programy
D. SELECT producent FROM programy WHERE producent NOT DUPLICATE
Aby uzyskać unikalne wartości z kolumny w bazie danych MySQL, należy użyć słowa kluczowego DISTINCT. W przypadku zapytania SELECT DISTINCT producent FROM programy; zapytanie to zwraca wszystkie unikalne nazwy producentów z tabeli programy. Słowo kluczowe DISTINCT działa na poziomie wierszy, co oznacza, że przeszukuje kolumnę producent, eliminując z wyników wszelkie powtarzające się wartości. Jest to szczególnie przydatne w analizie danych, gdzie istotne jest uzyskanie przeglądu unikalnych elementów. Na przykład, jeżeli tabela zawiera kilka wierszy z tym samym producentem, zapytanie to zwróci jedynie jeden wiersz dla każdego producenta. Przykład zastosowania: w przypadku tabeli zawierającej wartości jak 'Microsoft', 'Apple', 'Microsoft', wynik zapytania DISTINCT będzie obejmował 'Microsoft' i 'Apple'. W MySQL użycie DISTINCT jest zgodne ze standardem SQL i jest wspierane w większości systemów baz danych, co czyni je bardzo uniwersalnym narzędziem w pracy z danymi.

Pytanie 35

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 IN "M%"
B. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%"
C. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = "M%"
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN "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 36

Znacznik

 
służy do prezentacji

A. treści czcionką o stałej szerokości
B. znaku wielokropka
C. treści polską czcionką
D. znaku przekreślenia
Wybór znaków przekreślenia, znaków wielokropka czy treści polską czcionką jest niepoprawny, ponieważ żaden z tych elementów nie jest związany z funkcją znacznika
. Po pierwsze, znaki przekreślenia są używane w HTML do zaznaczania tekstu, który ma być przedstawiony jako przekreślony, co nie ma nic wspólnego z preformatowaniem tekstu. Element  lub  jest odpowiedzialny za takie formatowanie, a nie 
. Kolejną pomyłką jest zrozumienie roli wielokropka. W HTML nie istnieje znacznik, który odpowiada za wyświetlanie wielokropka w specyficzny sposób poza standardowym tekstem. W rzeczywistości wielokropek jest jedynie trzema kropkami i nie ma potrzeby go formatować w kontekście preformatowanego tekstu. Ostatnia z wymienionych odpowiedzi, sugerująca, że 
 służy do wyświetlania treści polską czcionką, jest również błędna. HTML nie definiuje czcionek narodowych; zamiast tego, czcionki są kontrolowane przez CSS, a nie przez znaczniki HTML. Z tego powodu znaczniki 
 nie mają żadnego wpływu na wybrany styl czcionki, a ich główną funkcją jest zachowanie formatowania tekstu, co czyni je idealnym narzędziem do wyświetlania kodu źródłowego, a nie do stylizacji typograficznej.
                                    
                                

Pytanie 37

Jak określa się podzbiór strukturalnego języka zapytań, który dotyczy formułowania zapytań do bazy danych przy użyciu polecenia SELECT?

A. SQL DDL (ang. Data Definition Language)
B. SQL DQL (ang. Data Query Language)
C. SQL DCL (ang. Data Control Language)
D. SQL DML (ang. Data Manipulation Language)
SQL DQL, czyli Data Query Language, to podzbiór języka SQL, który służy do formułowania zapytań do baz danych. Jego główną funkcją jest umożliwienie użytkownikom pobierania danych z tabel w bazie danych przy użyciu polecenia SELECT. Dzięki DQL możliwe jest nie tylko wybieranie konkretnych danych, ale również ich filtrowanie, sortowanie oraz agregowanie. Przykładowo, zapytanie SELECT * FROM pracownicy WHERE dział='IT' zwraca wszystkie dane pracowników z działu IT. DQL jest kluczowym elementem w pracy z bazami danych, ponieważ pozwala na wykorzystanie danych w aplikacjach i systemach informatycznych. Wiedza o DQL jest niezbędna dla każdego, kto zajmuje się analizą danych oraz ich przetwarzaniem. Dobrze skonstruowane zapytania DQL mogą znacznie poprawić wydajność systemów bazodanowych, dlatego warto stosować najlepsze praktyki, takie jak optymalizacja zapytań oraz używanie indeksów, aby zminimalizować czas odpowiedzi i obciążenie serwera.

Pytanie 38

Przedstawiony fragment kodu ilustruje działanie

Ilustracja do pytania
A. prezentacji danych
B. pozyskiwania danych
C. wykorzystania zdefiniowanej procedury lub funkcji
D. podjęcia decyzji
Blok przedstawiony na rysunku to romb, który w diagramach przepływu danych reprezentuje punkt decyzyjny. W kontekście programowania i modelowania procesów biznesowych, zastosowanie takich punktów jest kluczowe dla podejmowania decyzji na podstawie warunków logicznych. Na przykład, w algorytmach komputerowych romb służy do określenia, którą ścieżką proces powinien się dalej przemieszczać, zależnie od spełnienia określonych warunków. W praktyce, może to być na przykład wybór między dwiema różnymi akcjami, jak wysłanie e-maila lub zapis do bazy danych w zależności od wartości wprowadzonej przez użytkownika. Zastosowanie rombu zgodnie z zasadami BPMN (Business Process Model and Notation) oraz UML (Unified Modeling Language) pozwala na precyzyjne i czytelne modelowanie złożonych procesów, co jest kluczowe w projektowaniu systemów informatycznych i optymalizacji procesów biznesowych.

Pytanie 39

Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?

class Owoc {
  public $nazwa;
  private $kolor;
  function set_nazwa($nazwa) {
    $this->nazwa = $nazwa;
  }
}

A. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
B. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
C. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
D. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
Klasa Owoc w języku PHP jest zdefiniowana z dwoma polami: publicznym $nazwa i prywatnym $kolor. Odpowiedź wskazująca, że pole kolor ma ograniczony dostęp tylko do metod klasy, jest prawidłowa, ponieważ zastosowanie modyfikatora private oznacza, że pole to jest dostępne wyłącznie wewnątrz klasy. Jest to dobra praktyka projektowania, gdzie prywatne pola chronią integralność danych, umożliwiając dostęp i modyfikację tylko za pośrednictwem metod klasy. W tym przypadku, metoda set_nazwa pozwala na ustawienie wartości dla pola $nazwa, ale nie ma bezpośredniej metody dla $kolor, co jest celową strategią, aby zapewnić kontrolę nad dostępem do tego pola. W praktyce, pole $kolor mogłoby być wykorzystywane do przechowywania informacji, które nie powinny być zmieniane zewnętrznie, a jedynie konfigurowane wewnątrz klasy lub podczas jej inicjalizacji. Taki układ sprzyja enkapsulacji, jednym z filarów programowania obiektowego, promując bezpieczeństwo danych i modularność kodu. W projektach komercyjnych zaleca się również dodanie metod get i set dla prywatnych zmiennych, aby zachować elastyczność i kontrolę nad danymi.

Pytanie 40

W HTML-u znacznik tekst będzie prezentowany przez przeglądarkę w sposób identyczny do znacznika

A. tekst
B. tekst
C.tekst
D.

tekst

Znacznik w HTML jest używany do oznaczania tekstu, który ma być wyróżniony jako ważny. Jego domyślne stylizowanie w przeglądarkach polega na pogrubieniu tekstu, co jest również funkcją znacznika . Oba znaczniki mają podobne zastosowanie, ale niesie dodatkowe znaczenie semantyczne, co oznacza, że informuje przeglądarki i maszyny o tym, że dany tekst jest istotny. Przykładem może być użycie w nagłówkach lub w miejscach, gdzie chcemy zwrócić uwagę na kluczowe informacje, jak np. 'Zamówienie pilne musi być dostarczone do jutra.' W kontekście dobrych praktyk zaleca się używanie znaku zamiast , gdyż wspiera to dostępność i SEO - wyszukiwarki lepiej interpretują semantykę treści, co może wpłynąć na pozycjonowanie strony. Warto również pamiętać, że zgodnie z W3C, semantyka HTML ma kluczowe znaczenie dla strukturyzacji dokumentów oraz ich dostępności.